Skip to main content

Unified CLI and agent skills for XHS, Weibo, and DouYin APIs.

Project description

All-IN-ONE

All-IN-ONE turns the APIs from Spider_XHS, WeiboApis, and DouYin_Spider into one local CLI and one unified agent skill.

The CLI command is aione.

Current Status

Implemented:

  • aione console command (installable via pip)
  • python -m aione / python main.py alternative entry points
  • cookie save/status/clear with multi-profile support
  • scoped upstream API discovery from upstreams/
  • dynamic CLI help, dry-run mapping, and --verbose debug output
  • clean MODULE_DOMAINS command namespacing (no collision suffixes)
  • per-platform mapping.py for command-to-upstream traceability
  • unified skills/all-in-one agent skill with platform references
  • integration smoke tests (cookie-gated)

Install

Recommended: use the spider conda environment.

conda activate spider

Step 1: Install CLI

pip install -e .

This registers aione as a global command. After this step, aione --help works anywhere.

Optional extras:

pip install -e ".[creator]"      # XHS creator image/video support (opencv, numpy)
pip install -e ".[weibo-server]" # Weibo FastAPI server (fastapi, uvicorn, pandas)
pip install -e ".[dev]"          # pytest

Step 2: Setup upstream repos

aione setup

This command will:

  1. Clone three upstream repos into upstreams/ (if not already present)
  2. Run npm install in repos that have package.json (XHS and DouYin need Node.js modules for request signing)

Prerequisites: git and npm (Node.js) must be available in PATH.

If you already have the upstream repos, just place them under upstreams/:

upstreams/
  Spider_XHS/      <- git clone https://github.com/cv-cat/Spider_XHS.git
  WeiboApis/       <- git clone https://github.com/cv-cat/WeiboApis.git
  DouYin_Spider/   <- git clone https://github.com/cv-cat/DouYin_Spider.git

Then run aione setup to install their npm dependencies.

To update upstream repos in the future, simply git pull in each directory or delete and re-clone.

Step 3: Verify

aione --help
aione xhs --help
aione douyin work info --dry-run --url "https://www.douyin.com/video/example"

Local Upstreams

The three source repositories are kept locally under upstreams/, managed via aione setup:

  • Spider_XHS — XHS (小红书) PC/Creator/PuGongYing/QianFan APIs
  • WeiboApis — Weibo (微博) Web/Creator/Mobile APIs
  • DouYin_Spider — DouYin (抖音) APIs

upstreams/ is gitignored. These are development-only checkouts for API discovery and runtime invocation. To update, git pull in each directory or delete and re-run aione setup.

Run The CLI

Any of these work after installation:

aione --help
python -m aione --help
python main.py --help

Example dry-run:

aione douyin work info --dry-run --url "https://www.douyin.com/video/example"

Verbose mode shows debug context to stderr without leaking cookie values:

aione douyin work info --verbose --cookies "<cookie>" --url "https://www.douyin.com/video/example"

Auth

Cookie priority:

  1. --cookies
  2. environment variable
  3. saved local cookie

Environment variables:

AIONE_XHS_COOKIES="<cookie>"
AIONE_WEIBO_COOKIES="<cookie>"
AIONE_DOUYIN_COOKIES="<cookie>"

Profile-specific:

AIONE_XHS_CREATOR_COOKIES="<cookie>"
AIONE_DOUYIN_LIVE_COOKIES="<cookie>"

Saved cookie commands:

aione auth xhs set-cookie --cookie "<cookie>"
aione auth xhs set-cookie --profile creator --cookie "<cookie>"
aione auth xhs status
aione auth xhs clear-cookie

One-off cookie:

aione xhs note search --query "coffee" --cookies "<cookie>"

真实接口测试

I can run real CLI tests as soon as you provide valid cookies. Needed inputs:

  • XHS cookie from logged-in web session
  • Weibo cookie from logged-in web session
  • DouYin cookie from logged-in www.douyin.com
  • DouYin live cookie from live.douyin.com later, when live APIs are tested

Run integration tests:

AIONE_XHS_COOKIES="<cookie>" AIONE_WEIBO_COOKIES="<cookie>" AIONE_DOUYIN_COOKIES="<cookie>" python -m pytest tests/ -m integration -v

Recommended first smoke tests:

aione xhs user self-info --cookies "<xhs_cookie>" --output json
aione weibo info self --cookies "<weibo_cookie>" --output json
aione douyin work info --url "<douyin_video_url>" --cookies "<douyin_cookie>" --output json

Do not paste cookies into public logs. Prefer setting them via aione auth <platform> set-cookie --cookie "<cookie>" in this local workspace.

Agent Skill

The project exposes one all-in-one skill:

skills/
  all-in-one/
    SKILL.md
    references/
      auth.md
      xhs.md
      weibo.md
      douyin.md
      workflows.md

The skill uses references/ to choose platform-specific commands while keeping one shared All-IN-ONE entry point.

Dependencies

Core runtime dependencies are defined in pyproject.toml and mirrored in requirements.txt. The upstream repositories require:

  • requests, aiohttp (HTTP)
  • loguru (logging)
  • PyExecJS (JS execution for XHS/DouYin signing)
  • beautifulsoup4 (HTML parsing)
  • protobuf, protobuf3-to-dict (DouYin live data)
  • qrcode (XHS login)
  • And more — see requirements.txt for the full list

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

all_in_one_aione-0.1.0.tar.gz (24.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

all_in_one_aione-0.1.0-py3-none-any.whl (20.4 kB view details)

Uploaded Python 3

File details

Details for the file all_in_one_aione-0.1.0.tar.gz.

File metadata

  • Download URL: all_in_one_aione-0.1.0.tar.gz
  • Upload date:
  • Size: 24.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.18

File hashes

Hashes for all_in_one_aione-0.1.0.tar.gz
Algorithm Hash digest
SHA256 c7cb39b39eed7ca75f3f4ae2bbd7074a1270eff5b60ca17333ae6c64daabc15c
MD5 2614938ea50bff14d2398ce0a01a75c1
BLAKE2b-256 f278db1d3d96fe554d1424b15230df27ac2a7900f90b7a5db6a28c7aedc419c6

See more details on using hashes here.

File details

Details for the file all_in_one_aione-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for all_in_one_aione-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2d8913cb243f4f1df97d53715358a07934d701cfc41d26fa8c2e10a53fab6b51
MD5 d7dd5b5e4f195bb38b3fe10ee70c8c25
BLAKE2b-256 d7b5fd08a7d56beb2a625abfd116d636b55fec770d351673b76e19514b6626e3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page