Skip to content

feat(bilibili): item edit — 更换视频与修改已投稿件 - #34

Merged
cv-cat merged 1 commit into
cv-cat:masterfrom
Moosphan:feat/bilibili-item-edit
Nov 1, 2026
Merged

cv-cat merged 1 commit into
cv-cat:masterfrom
Moosphan:feat/bilibili-item-edit

Conversation

@Moosphan

Copy link
Copy Markdown
Contributor

背景

Catbus 的 B 站端只有 item publish(新建投稿)和 item delete(撤稿,且要过极验),没有「编辑已投稿件 / 更换视频」的能力。实际使用中很常见:稿件已发布,只想换一版成片或改标题/简介/封面,不想删稿重发(会丢播放、评论和审核状态)。

B 站创作中心网页端的「更换视频」走的是同一个 x/vu/web/edit 接口:先按 upos 流程上传新文件拿到 filename 和 biz_id(即 cid),再提交完整 archive 字段。本 PR 把它做成 catbus bilibili item edit。

命令

catbus bilibili item edit BV1xx411c7mD --video new.mp4   [--title ...] [--text ...] [--cover ...] [--tag ...] [--category ...] [--visibility public|private]
  • --video:给出时上传并替换视频;不给则只改资料(但当前实现要求必须给 --video,避免误改)
  • 其余字段缺省沿用原稿件的 title / desc / cover / tag / tid / copyright
  • 输出 Item,status 为 reviewing(B 站会重新审核)

实现

  • api.ts:新增 archiveDetail(读 x/web/archives,兼容审核中的 arc_audits)与 editArchive(x/vu/web/edit,web_os: 1)
  • commands.ts:itemEdit,复用 resolveItem、uploadVideo、uploadCover、readMedia
  • index.ts:注册扩展命令(summary / args / auth / output / options)
  • 同步 AGENTS.md 4.7、.claude/skills/catbus/platforms/bilibili.md、docs/capabilities.md 与注册表测试

验证

  • npm run typecheck、npm run build 通过
  • npm test:1030 passed;5 个失败集中在 bilibili-geetest / jd(模型资源相关,未改这些模块)
  • node dist/cli/main.js bilibili item edit --help 正常
  • 真机验证:用同一套接口(Python 等价脚本,catbus 登录态)对一个已发布稿件提交了替换,x/vu/web/edit 返回 code: 0,稿件进入「审核中」。为避免重复提交,没有再用命令本身跑第二次。

已知边界

  • 提交后进入重新审核,公开页的 cid / 时长在审核通过前可能仍是旧值
  • 不支持删稿(B 站要过极验,catbus 目前过不了)
  • 只支持单 P;多 P 的 videos 数组需要后续扩展

@Moosphan
Moosphan force-pushed the feat/bilibili-item-edit branch from 2cb9ea8 to 33c30ec Compare November 1, 2026 03:28
@Moosphan

Moosphan commented Nov 1, 2026

Copy link
Copy Markdown
Contributor Author

已 rebase 到最新 master(bcc72f8),解决了一处冲突:.claude/skills/catbus/platforms/bilibili.md 的写操作清单里,同时保留上游新增的 user update 和本 PR 的 item edit。

测试范围与结果:

  • npm run typecheck:通过
  • npx vitest run tests/registry.test.ts tests/skill.test.ts:30 passed
  • 全量 npm test:1030+ passed;剩余失败集中在 bilibili-geetest / jd 的模型资源相关测试,与本次改动无关(没有改这些模块)
  • 真机验证:x/vu/web/edit 用等价脚本对真实稿件提交过替换,返回 code 0;为避免重复提交,没有再用命令本身跑第二次

改动:7 files,+85 / -3;新增 catbus bilibili item edit,同步 AGENTS 4.7、技能文档、capabilities 与注册表测试。

@cv-cat
cv-cat merged commit 137ce95 into cv-cat:master Nov 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants