# 能力矩阵 各平台 web 端的能力。命令规范见 [AGENTS.md](../AGENTS.md) 第 4 节,上游代码位置见 [upstream-map.md](upstream-map.md)。 - 本文件由注册表(`src/platforms/

/index.ts`)生成:`npm run gen:capabilities`。不要手改,测试会检查它是否最新。 - app / pc 端目前全部是 planned,不在本表列出。 | 符号 | 含义 | 注册表 status | 执行结果 | |---|---|---|---| | ✓ | 上游已有 | implemented | 正常执行 | | ◐ | 上游部分支持,限制写在注册表的 `note` 里 | implemented | 正常执行 | | ○ | 平台有这个概念,上游没有,规划中 | planned | `NOT_IMPLEMENTED`,退出码 4 | | — | 平台没有这个概念 | 不注册 | `UNSUPPORTED`,退出码 2 | 列顺序:xhs · douyin · tiktok · bilibili · kuaishou · weibo · xianyu · taobao · jd · x · 12306。 ## 登录方式 | | xhs | douyin | tiktok | bilibili | kuaishou | weibo | xianyu | taobao | jd | x | 12306 | |---|---|---|---|---|---|---|---|---|---|---|---| | qrcode | ✓ | ✓ | | ✓ | ✓ | | ✓ | | ✓ | | | | sms | ✓ | ✓ | | ✓ | ✓ | | | | ✓ | | | | password | | | | ✓ | | | | | | | | | cookie | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | 默认 | qrcode | qrcode | cookie | qrcode | qrcode | cookie | qrcode | cookie | qrcode | cookie | — | | 子站点 | creator | | | | | | | | | | | ## auth `login` 见上表。`logout` / `list` / `use` 由 core 实现,所有平台都有;服务端登出只有 bilibili、kuaishou。 | 命令 | xhs | douyin | tiktok | bilibili | kuaishou | weibo | xianyu | taobao | jd | x | 12306 | |---|---|---|---|---|---|---|---|---|---|---|---| | auth status | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ◐ | ✓ | ✓ | — | - taobao `auth status`:上游没有取当前用户的接口:换一次私信 token 校验,账号信息取自 cookie 里的 unb 和昵称 ## user | 命令 | xhs | douyin | tiktok | bilibili | kuaishou | weibo | xianyu | taobao | jd | x | 12306 | |---|---|---|---|---|---|---|---|---|---|---|---| | user get | ✓ | ✓ | ◐ | ✓ | ✓ | ✓ | ◐ | ◐ | ◐ | ✓ | — | | user search | ✓ | ✓ | ○ | ✓ | ✓ | ○ | — | — | — | ✓ | — | | user items | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ○ | ○ | — | ✓ | — | | user likes | ✓ | ✓ | ○ | — | ✓ | ○ | — | — | — | ○ | — | | user collects | ✓ | ○ | ✓ | ○ | ✓ | ○ | ○ | ○ | ✓ | ○ | — | | user reposts | — | — | ✓ | — | — | ○ | — | — | — | ○ | — | | user followers | ○ | ✓ | ✓ | ○ | ✓ | ○ | — | — | — | ○ | — | | user following | ◐ | ✓ | ✓ | ○ | ✓ | ○ | — | — | — | ○ | — | | user follow / unfollow | ○ | ○ | ✓ | ○ | ○ | ○ | ○ | — | — | ✓ | — | - tiktok `user get`:me 部分支持 - xianyu `user get`:只支持 me;查询他人规划中 - taobao `user get`:参数只接受商品链接(淘宝 / 天猫商品页或 m.tb.cn 分享短链),返回这件商品的卖家;me 规划中 - jd `user get`:只支持 me - kuaishou `user likes`:只支持 me - kuaishou `user followers`:只支持 me - xhs `user following`:只支持 me - kuaishou `user following`:只支持 me - `user search --fans`:douyin - `user search --user-type`:douyin - `user items --sort` 取值:bilibili latest / views / collects - `user items --keyword`:bilibili - `user collects --area`:jd ## item | 命令 | xhs | douyin | tiktok | bilibili | kuaishou | weibo | xianyu | taobao | jd | x | 12306 | |---|---|---|---|---|---|---|---|---|---|---|---| | item get | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ○ | ✓ | ✓ | — | | item search | ✓ | ✓ | ✓ | ✓ | ◐ | ◐ | ○ | ○ | ✓ | ✓ | — | | item related | ○ | ○ | ✓ | ✓ | ✓ | — | ○ | ○ | ◐ | — | — | | item list | ✓ | ◐ | ✓ | ✓ | ✓ | ○ | ○ | — | — | — | — | | item media | ✓ | ✓ | ◐ | ✓ | ✓ | ○ | — | — | — | ✓ | — | | item download | ✓ | ✓ | ◐ | ✓ | ✓ | ○ | — | — | — | ✓ | — | | item like / unlike | ○ | ✓ | ✓ | ✓ | ○ | ○ | — | — | — | ✓ | — | | item collect / uncollect | ○ | ✓ | ✓ | ✓ | ○ | ○ | ○ | ○ | ○ | ✓ | — | | item repost / unrepost | — | — | ○ | — | — | ○ | — | — | — | ✓ | — | | item publish | ✓ | ✓ | ✓ | ✓ | ◐ | ✓ | ✓ | — | — | ✓ | — | | item delete | ○ | ○ | ○ | ◐ | ○ | ○ | ○ | — | — | ✓ | — | | item categories | — | — | — | ✓ | — | — | ○ | — | — | — | — | - douyin `item search`:--type video 走视频频道搜索,其余走综合频道;--type image 只要图文 - kuaishou `item search`:没有筛选(--sort / --type / --time),只按关键词搜 - weibo `item search`:只能取第一页(m.weibo.cn 的访客从第二页起要求登录) - x `item search`:--type video / image 走媒体搜索,按类型过滤,不能和 --sort latest 一起用 - jd `item related`:用第一个相关搜索词的搜索结果 - douyin `item list`:取发布页的作品预览(work_list);定时未发布的作品 status 为 draft - tiktok `item media`:媒体地址取自视频详情(video.playAddr,图文取 imagePost),上游没有单独的解析接口 - tiktok `item download`:媒体地址同 item media - kuaishou `item publish`:不支持 --cover、--mention、--poi、--category、--price;--image 1~31 张(每张不超过 15MB),与 --video 二选一 - x `item publish`:正文超过 280 权重时自动按长推发(需要 Premium);--thread 发 thread - bilibili `item delete`:需要人机验证(极验点选),catbus 还不能自动通过,会报 RISK_CONTROL - `item get --area`:jd - `item search --sort` 取值:xhs general / latest / popular / comments / collects;douyin general / popular / latest;bilibili general / views / latest / collects;jd general / sales / price_asc / price_desc / comments;x general / latest - `item search --type` 取值:xhs all / video / image;douyin all / video / image;bilibili video / article;x all / video / image - `item search --time` 取值:xhs all / day / week / half_year;douyin all / day / week / half_year - `item search --length`:douyin - `item search --range`:douyin - `item search --area`:jd - `item related --area`:jd - `item collect --folder`:douyin、bilibili - `item uncollect --folder`:douyin、bilibili - `item publish` 不支持的标准选项:xhs --mention --category --price;douyin --category --price;tiktok --title --poi --category --schedule --price;bilibili --image --topic --mention --poi --schedule --price;kuaishou --cover --mention --poi --category --price;weibo --title --cover --tag --mention --poi --category --schedule --price;xianyu --video --cover --tag --topic --mention --poi --category --schedule;x --title --cover --tag --topic --mention --poi --category --schedule --price - `item publish --visibility` 取值:默认 public / private / friends;xhs public / private;bilibili public / private;weibo public / private / friends / fans;xianyu public;x public - `item publish --poi-name`:xhs、douyin、weibo - `item publish --series`:douyin - `item publish --hotspot`:douyin - `item publish --no-download`:douyin - `item publish --allow-comment`:tiktok - `item publish --allow-duet`:tiktok - `item publish --allow-stitch`:tiktok - `item publish --allow-content-reuse`:tiktok - `item publish --allow-ai-remix`:tiktok - `item publish --source`:bilibili - `item publish --dynamic`:bilibili - `item publish --allow-reprint`:bilibili - `item publish --shipping`:xianyu - `item publish --postage`:xianyu - `item publish --pickup`:xianyu - `item publish --original-price`:xianyu - `item publish --quote`:x - `item publish --thread`:x ## product 与商品评价 | 命令 | xhs | douyin | tiktok | bilibili | kuaishou | weibo | xianyu | taobao | jd | x | 12306 | |---|---|---|---|---|---|---|---|---|---|---|---| | product get | ○ | ◐ | ✓ | — | ○ | — | — | — | — | — | — | - douyin `product get`:上游的商品接口只给详情图、规格和跳转链接:只有标题、图片和价格,其余字段为空 商品评价用 `comment list `(见下节):传商品 URL 时自动识别,传纯 ID 时加 `--product`。 闲鱼、淘宝、京东的商品本身就是 item:商品详情用 `item get`,商品评价用 `comment list `。 ## comment | 命令 | xhs | douyin | tiktok | bilibili | kuaishou | weibo | xianyu | taobao | jd | x | 12306 | |---|---|---|---|---|---|---|---|---|---|---|---| | comment list | ◐ | ✓ | ✓ | ◐ | ◐ | ◐ | — | ○ | ◐ | ✓ | — | | comment replies | ✓ | ✓ | ✓ | ◐ | ◐ | ○ | — | — | — | ○ | — | | comment add | ○ | ✓ | ✓ | ◐ | ○ | ○ | — | — | — | ✓ | — | | comment delete | ○ | ○ | ○ | ◐ | ○ | ○ | — | — | — | ✓ | — | | comment like / unlike | ○ | ○ | ○ | ○ | ○ | ○ | — | — | — | ✓ | — | - xhs `comment list`:--product 规划中 - bilibili `comment list`:支持视频、专栏、纯文字 / 转发动态及图文动态;图文动态通过非上游动态详情接口获取相簿评论区 ID,没有对拍 - kuaishou `comment list`:--product 规划中 - weibo `comment list`:只有一级评论 - jd `comment list`:只有第一页;--limit N 在一次请求里取 N 条 - bilibili `comment replies`:非上游:楼中楼及动态详情接口,没有对拍;支持视频、专栏、图文动态根评论下的可见回复,纯文字和转发动态的楼中楼尚未验证,不支持 - kuaishou `comment replies`:上游的二级评论接口只核对过一组抓包参数,其余评论的结果没有经过上游核对 - bilibili `comment add`:动态只支持纯文字和转发:图文动态(带图)的评论区挂在相簿上,上游没有查相簿 ID 的接口;稿件、专栏不受影响 - bilibili `comment delete`:动态只支持纯文字和转发:图文动态(带图)的评论区挂在相簿上,上游没有查相簿 ID 的接口;稿件、专栏不受影响 - `comment list --product`:xhs、douyin、tiktok、kuaishou - `comment list --label`:douyin - `comment list --sort` 取值:bilibili popular / latest - `comment add --root`:bilibili ## feed 与 keyword | 命令 | xhs | douyin | tiktok | bilibili | kuaishou | weibo | xianyu | taobao | jd | x | 12306 | |---|---|---|---|---|---|---|---|---|---|---|---| | feed list | ◐ | ◐ | ✓ | ◐ | ◐ | ○ | ○ | ○ | ○ | ◐ | — | | feed categories | ✓ | — | ○ | — | — | — | — | — | — | — | — | | keyword suggest | ✓ | ○ | ✓ | ○ | ○ | ○ | ○ | ○ | ✓ | ○ | — | | keyword hot | ✓ | ○ | ○ | ○ | ○ | ○ | — | — | ✓ | ○ | — | - xhs `feed list`:following 规划中 - douyin `feed list`:hot、following 规划中 - bilibili `feed list`:following 非上游:上游没有动态流接口,请求按网页端动态页补的(x/polymer/web-dynamic/v1/feed/all),没有对拍;只列关注的人的视频投稿,需要登录 - kuaishou `feed list`:following 只有首屏 - x `feed list`:following 规划中 - `feed list --kind` 取值:xhs recommend / following;douyin recommend / hot / following;tiktok recommend / following;bilibili recommend / hot / following;kuaishou recommend / following;weibo recommend / hot / following;xianyu recommend;taobao recommend;jd recommend;x recommend / following - `feed list --category`:xhs ## notice 与 msg | 命令 | xhs | douyin | tiktok | bilibili | kuaishou | weibo | xianyu | taobao | jd | x | 12306 | |---|---|---|---|---|---|---|---|---|---|---|---| | notice list | ✓ | ✓ | ✓ | ○ | ○ | ○ | — | — | — | ○ | — | | notice count | ✓ | ○ | ✓ | ○ | ✓ | ○ | — | — | — | ○ | — | | msg list | ✓ | ○ | ✓ | ○ | ○ | ○ | ○ | ○ | ✓ | ◐ | — | | msg history | ✓ | ○ | ✓ | ○ | ○ | ○ | ✓ | ✓ | ✓ | ◐ | — | | msg send | ✓ | ✓ | ◐ | ○ | ○ | ○ | ✓ | ✓ | ✓ | ○ | — | | msg listen | ✓ | ✓ | ✓ | ○ | ○ | ○ | ✓ | ✓ | ✓ | ○ | — | | msg read / revoke / delete | ✓ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | — | - xhs `msg list`:含群聊,群聊会话 id 为 group:<群 id> - x `msg list`:只取收件箱首页(最近 20 个会话),上游没有翻页 - xhs `msg history`:单聊传对方 id,群聊传 group:<群 id> - x `msg history`:消息端到端加密,只给出占位消息 - tiktok `msg send`:只支持文本,只能发给已有会话的用户(上游不能新建会话) - xianyu `msg send`:--to 不带 --item 时按上游的默认商品建会话;--to 加 --item 就这件商品联系对方(卖家可以联系买家) - taobao `msg send`:--item 联系商品卖家,--conversation 回复已有会话;不支持 --to(没有按用户发起会话的接口) - `notice list --group`:douyin - `msg send --file`:douyin - `msg send --share`:douyin - `msg send --order`:jd ## media、folder、series、history、topic、poi | 命令 | xhs | douyin | tiktok | bilibili | kuaishou | weibo | xianyu | taobao | jd | x | 12306 | |---|---|---|---|---|---|---|---|---|---|---|---| | media upload | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | — | ✓ | — | | folder list | ◐ | ✓ | ✓ | ◐ | ○ | ○ | — | — | — | ○ | — | | folder items | ○ | ○ | ✓ | ◐ | ○ | ○ | — | — | — | ○ | — | | folder create / update | ○ | ○ | ✓ | ○ | ○ | — | — | — | — | ○ | — | | folder delete | ○ | ○ | ○ | ○ | ○ | — | — | — | — | ○ | — | | series list | ○ | ○ | ✓ | ○ | ○ | — | — | — | — | — | — | | series items | ○ | ○ | ○ | ○ | ○ | — | — | — | — | — | — | | history list | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ✓ | — | — | | topic search | ✓ | ○ | ○ | ○ | ○ | ○ | — | — | — | — | — | | poi search | ✓ | ○ | ◐ | — | ○ | ○ | — | — | — | — | — | - xhs `folder list`:只列公开的收藏夹(上游只有这一个接口),收藏夹里的笔记上游没有 - bilibili `folder list`:只列用户自己创建的收藏夹,一次返回全部 - bilibili `folder items`:非上游:上游没有收藏夹内容接口,请求按网页端收藏夹页补的(x/v3/fav/resource/list),没有对拍;只列出稿件 - tiktok `poi search`:在推荐地点里按关键词筛选 - `folder create --visibility` 取值:tiktok public / private - `folder update --visibility` 取值:tiktok public / private - `history list --area`:jd ## live | 命令 | xhs | douyin | tiktok | bilibili | kuaishou | weibo | xianyu | taobao | jd | x | 12306 | |---|---|---|---|---|---|---|---|---|---|---|---| | live get | ✓ | ✓ | ✓ | ✓ | ✓ | ○ | — | ○ | — | — | — | | live list | ✓ | ○ | ✓ | ○ | ✓ | ○ | — | ○ | — | — | — | | live search | ○ | ✓ | ✓ | ✓ | ○ | ○ | — | ○ | — | — | — | | live categories | ✓ | ○ | ✓ | ✓ | ✓ | ○ | — | ○ | — | — | — | | live listen | ✓ | ✓ | ✓ | ✓ | ✓ | ○ | — | ○ | — | — | — | | live history | ○ | ◐ | ◐ | ✓ | ○ | ○ | — | ○ | — | — | — | | live send | ◐ | ◐ | ◐ | ✓ | ○ | ○ | — | ○ | — | — | — | | live like / rank | ○ | ✓ | ✓ | ○ | ○ | ○ | — | ○ | — | — | — | | live gifts | ✓ | ○ | ✓ | ✓ | ✓ | ○ | — | ○ | — | — | — | | live products | ✓ | ✓ | ○ | — | ○ | ○ | — | ○ | — | — | — | | live media | ○ | ◐ | ◐ | ✓ | ○ | ○ | — | ○ | — | — | — | | live replays | — | ○ | — | ○ | ✓ | ○ | — | ○ | — | — | — | | live start / stop | ○ | ○ | ○ | ✓ | ○ | ○ | — | ○ | — | — | — | - tiktok `live list`:只有关注的人里正在直播的(上游 get_webcast_feed 是直播页侧栏的关注列表);没关注的人在播时为空 - douyin `live history`:只有进房时 im/fetch 带回的最近 15 条 - tiktok `live history`:只有进房拉取(im/fetch)时带回的弹幕 - xhs `live send`:--gift 规划中 - douyin `live send`:--gift 规划中 - tiktok `live send`:--gift 规划中 - douyin `live media`:拉流地址取自房间资料(room/web/enter) - tiktok `live media`:上游没有解析拉流地址:取自 /api-live/user/room 的 liveRoom.streamData,或 room/enter 的 stream_url - `live list --category`:xhs - `live send --color`:bilibili - `live send --font-size`:bilibili - `live send --position`:bilibili - `live send --reply-user`:bilibili - `live like --count`:douyin - `live rank --ranking`:douyin - `live start --category`:bilibili ## 平台扩展 命令定义见 AGENTS.md 4.7。 | 平台 | 命令 | |---|---| | tiktok | `folder add` ✓ | | bilibili | `item coin` ✓ · `item triple` ✓ · `item subtitles` ✓ · `danmaku list` ✓ · `danmaku send` ✓ · `dynamic publish` ✓ · `dynamic delete` ✓ · `article publish` ✓ · `draft get` ✓ · `draft delete` ✓ | | jd | `order list` ✓ · `cart count` ✓ · `coupon list` ✓ | | x | `article publish` ✓ · `article delete` ✓ | | 12306 | `station search` ✓ · `ticket search` ✓ · `ticket price` ✓ · `route get` ✓ · `transfer search` ✓ |