10 个平台的 web 端全部用 TypeScript 移植自 cv-cat 的开源项目,请求与上游逐字节对拍。 统一的命令语法与 JSON 输出、按 平台 × 端 × 账号 隔离的登录态、给 AI Agent 用的技能与 llms.txt。
16 KiB
16 KiB
能力矩阵
各平台 web 端的能力。命令规范见 AGENTS.md 第 4 节,上游代码位置见 upstream-map.md。
- 本文件由注册表(
src/platforms/<p>/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。
登录方式
| xhs | douyin | tiktok | bilibili | kuaishou | xianyu | taobao | jd | x | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 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 | xianyu | taobao | jd | x | |
|---|---|---|---|---|---|---|---|---|---|---|
| auth status | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ◐ | ✓ | ✓ |
- taobao
auth status:上游没有取当前用户的接口:换一次私信 token 校验,账号信息取自 cookie 里的 unb 和昵称
user
| 命令 | xhs | douyin | tiktok | bilibili | kuaishou | xianyu | taobao | jd | x | |
|---|---|---|---|---|---|---|---|---|---|---|
| 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:douyinuser search --user-type:douyinuser items --sort取值:bilibili latest / views / collectsuser items --keyword:bilibiliuser collects --area:jd
item
| 命令 | xhs | douyin | tiktok | bilibili | kuaishou | xianyu | taobao | jd | x | |
|---|---|---|---|---|---|---|---|---|---|---|
| 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:jditem 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 / latestitem search --type取值:xhs all / video / image;douyin all / video / image;bilibili video / article;x all / video / imageitem search --time取值:xhs all / day / week / half_year;douyin all / day / week / half_yearitem search --length:douyinitem search --range:douyinitem search --area:jditem related --area:jditem collect --folder:douyin、bilibiliitem uncollect --folder:douyin、bilibiliitem 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 --priceitem publish --visibility取值:默认 public / private / friends;xhs public / private;bilibili public / private;weibo public / private / friends / fans;xianyu public;x publicitem publish --poi-name:xhs、douyin、weiboitem publish --series:douyinitem publish --hotspot:douyinitem publish --no-download:douyinitem publish --allow-comment:tiktokitem publish --allow-duet:tiktokitem publish --allow-stitch:tiktokitem publish --allow-content-reuse:tiktokitem publish --allow-ai-remix:tiktokitem publish --source:bilibiliitem publish --dynamic:bilibiliitem publish --allow-reprint:bilibiliitem publish --shipping:xianyuitem publish --postage:xianyuitem publish --pickup:xianyuitem publish --original-price:xianyuitem publish --quote:xitem publish --thread:x
product 与商品评价
| 命令 | xhs | douyin | tiktok | bilibili | kuaishou | xianyu | taobao | jd | x | |
|---|---|---|---|---|---|---|---|---|---|---|
| product get | ○ | ◐ | ✓ | — | ○ | — | — | — | — | — |
- douyin
product get:上游的商品接口只给详情图、规格和跳转链接:只有标题、图片和价格,其余字段为空
商品评价用 comment list <product>(见下节):传商品 URL 时自动识别,传纯 ID 时加 --product。
闲鱼、淘宝、京东的商品本身就是 item:商品详情用 item get,商品评价用 comment list <item>。
comment
| 命令 | xhs | douyin | tiktok | bilibili | kuaishou | xianyu | taobao | jd | x | |
|---|---|---|---|---|---|---|---|---|---|---|
| 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 条 - kuaishou
comment replies:上游的二级评论接口只核对过一组抓包参数,其余评论的结果没有经过上游核对 - bilibili
comment add:动态只支持纯文字和转发:图文动态(带图)的评论区挂在相簿上,上游没有查相簿 ID 的接口;稿件、专栏不受影响 - bilibili
comment delete:动态只支持纯文字和转发:图文动态(带图)的评论区挂在相簿上,上游没有查相簿 ID 的接口;稿件、专栏不受影响 comment list --product:xhs、douyin、tiktok、kuaishoucomment list --label:douyincomment list --sort取值:bilibili popular / latestcomment add --root:bilibili
feed 与 keyword
| 命令 | xhs | douyin | tiktok | bilibili | kuaishou | xianyu | taobao | jd | x | |
|---|---|---|---|---|---|---|---|---|---|---|
| feed list | ◐ | ◐ | ✓ | ◐ | ◐ | ○ | ○ | ○ | ○ | ◐ |
| feed categories | ✓ | — | ○ | — | — | — | — | — | — | — |
| keyword suggest | ✓ | ○ | ✓ | ○ | ○ | ○ | ○ | ○ | ✓ | ○ |
| keyword hot | ✓ | ○ | ○ | ○ | ○ | ○ | — | — | ✓ | ○ |
- xhs
feed list:following 规划中 - douyin
feed list:hot、following 规划中 - bilibili
feed list:following 规划中 - 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 / followingfeed list --category:xhs
notice 与 msg
| 命令 | xhs | douyin | tiktok | bilibili | kuaishou | xianyu | taobao | jd | x | |
|---|---|---|---|---|---|---|---|---|---|---|
| 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:douyinmsg send --file:douyinmsg send --share:douyinmsg send --order:jd
media、folder、series、history、topic、poi
| 命令 | xhs | douyin | tiktok | bilibili | kuaishou | xianyu | taobao | jd | x | |
|---|---|---|---|---|---|---|---|---|---|---|
| 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 / privatefolder update --visibility取值:tiktok public / privatehistory list --area:jd
live
| 命令 | xhs | douyin | tiktok | bilibili | kuaishou | xianyu | taobao | jd | x | |
|---|---|---|---|---|---|---|---|---|---|---|
| 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:xhslive send --color:bilibililive send --font-size:bilibililive send --position:bilibililive send --reply-user:bilibililive like --count:douyinlive rank --ranking:douyinlive 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 ✓ |