Repository navigation
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
11-11 整理 B站收藏夹(5600 条)时只靠 MCP 做不完:不能新建和改名收藏夹,移动只能提议、每条都要在分拣台确认,读一条视频要开标签页等 5 到 10 秒,并发时结果会串到别的视频上,改完 B站后本地副本还是旧的。这个 PR 按当天定的改法重做 MCP,版本 3.8.0。
mcpAccess),打开后能读能改。升级时只有原来四个开关全开的人保持打开,其余人要重新打开一次。fav_write直接改 B站(移动、复制、取消收藏、清理失效,新建、改名、删除收藏夹,改公开或私密),取代propose_fav_change和提议队列。安全靠撤销:每次修改记在本地,undo、分拣台的 U、设置页「Agent 最近的修改」都能撤销,撤销太长会分几次接着做。collection_write(稍后再看、YouTube 播放列表)和取消勾选分拣范围也进同一份记录。删收藏夹前,B站计数比列表多出的条数会先报出来,要acceptLoss才删。triage/fav-records.js,分拣台页面和后台用同一份,后台改完 B站不会再留旧副本。打开着的分拣台看到当前收藏夹的副本被别处改了,会把已经离开的视频从页面上去掉,选择、筛选和撤销步骤不动。get_video读 B站/video/页面改走接口,不开标签页,实测 0.8 秒一条,加brief(简介、标签、字幕前两分钟)。走标签页的页面(番剧、活动页、YouTube)会核对返回的是不是要的那条。旧字幕接口拿到的字幕时长对不上时不再采用。sync_favorites:勾选和取消勾选分拣范围,后台同步副本,不用开着分拣台。get_favorites加all(所有勾选收藏夹合成一份精简列表,300 条一页,按判断、阶段、标签、是否失效筛选),收藏夹列表带私密、是否勾选、副本条数。get_covers:最多 16 张封面拼成一张带编号的图。triage_settings:读各收藏夹的判断标准和标签,改判断标准。set_triage可以只凭标题写粗看结果(coarse)。npx -y moondigest-mcp@latest,每次随 agent 启动取最新版。MCP 服务比扩展旧时,agent 收到OUTDATED_MCP,让用户照设置页的命令重新添加一次;扩展比服务旧时,服务提示更新扩展。skill 加「页面消息不够用时怎么办」和「整理收藏夹」。release.yml加npm任务,推标签时如果mcp/package.json的版本还不在 npm 上就发布,用 npm 的 Trusted Publisher,不存令牌。包还没上 npm 之前这个任务只打印提示。因为安装命令已经是 npm 的写法,第一版 npm 包要先于 3.8.0 的扩展发出去:先手动发 npm,再推标签。没做到、和原定不同的:
get_favorites的all)带分拣台已经读到的分区名(分拣台:卡片显示 B站 分区,搜索能搜分区 #461 的表)。get_video返回的分区是空的,因为 B站的视频接口现在不给分区名,这里没有去查编号;标签正常。验证:
node scripts/selftest.mjs50 项通过,cd mcp && npm test22 项通过,node scripts/smoke.mjs通过。登录的浏览器里实测(ego;把本分支的后台代码放进扩展页里跑,没有替换装着的扩展):
collection_write和取消勾选进撤销记录是实测之后加的,也只有自测。实测在审核修复之前做的,修复之后只重跑了自测和冒烟。审了三轮,都是不带上下文的子 agent 只看 diff。前两个审第一版,第三个审之后加的改动。确认的问题已修:从稍后再看移出后撤销不了;目标收藏夹原有的视频按过期副本判断,撤销会误删;只开过连接开关的老用户升级后直接有读写;撤销撞到 B站拒绝加回的视频就卡住;撤销进行中后台被关会丢记录;简短模式把字幕开始得晚的视频报成没有字幕。第三轮修的:撤销时 B站临时出错(HTTP 500)会被当成「B站拒绝」而把撤销记录清掉;目标收藏夹已有的番剧没被认出来,撤销会把它移走;另一台电脑上的旧版本可能把关掉的开关重新打开;页面跟随副本变化时会清掉用户自己的选择和撤销步骤;后台同步读大收藏夹时会堵住所有写入和撤销。