一次 2883 字符交接的落地复盘,目标会话收到了什么
把「跑通了」当成「可靠」,是跨配置档迁移最容易踩的认知坑。Bridge 的 README 里有一组带边界的证据:alpha.4 候选跑用 27 秒 worker 产出 2,883 字符的编辑后交接,目标会话在一回合内开工、零目标工具调用。这组数字很漂亮,但它能证明什么、不能证明什么,值得单独拆一次。先放一份同类插件的中文清单便于横向对照:DeepSeek Harness Hub 插件清单。
时间线:一次候选跑实际发生了什么
第一步是装。alpha.4 那次用的是官方 npm Host,装的是本地构建的 0.4.6 包,不是 registry 上的某个历史版本。这一步很重要,因为后面所有结论都挂在一个坐标上:哪个包,装在哪个宿主上。
第二步是摘要。worker 跑了 27 秒,把会话折叠成固定五段:Goal、Current state、Key decisions and conventions、Key files、Next step。27 秒这个数字只描述这一次输入,不描述这套机制本身。
第三步是审阅与编辑。卡片在 375 / 768 / 1280 px 三个宽度下控件都可点到,开关切换后样式保留。这一步是整个流程里唯一由人承担判断的环节,也是后面要反复强调的地方。
第四步是确认。目标会话的 goal 在 kickoff 之前先被暂停,然后注入交接、restate。最终落进目标会话的编辑后载荷是 2,883 字符,一回合,零目标工具调用。换句话说,目标会话没有先去摸一遍旧工具,它是读完交接直接开工的。
第五步是重启。有界重启持久化通过,说明交接不是只活在内存里的一个瞬时态。
第六步是卸载。就是这一步把整次候选跑从 PASS 上拉了下来:同图自然复现两次,指向 pnpm 11.22.0 的 late-worker 关闭缺陷,上游单补丁对照与未改动的 11.26.0 都能正常完成移除。README 写得很直白,历史操作不算 PASS。
把这些数字排在一起看
同一份 README 里还有三组可比的数字:
- alpha.3 候选跑:worker 37 秒,目录 A 预览、目录 B 确认,2,669 字符的交接只送一次;
- alpha.5 受限验收:一次 preview worker,1,856 字符经 UI 审阅的载荷进 PTC,目标 goal 暂停,一回合、零目标工具调用;
- 更早三次原生卡样本:worker 时间 7.4–12.8 秒。
把 7.4 秒和 37 秒并排,很容易得出「越来越慢」的结论。这个结论不成立。几组跑在不同宿主、不同历史长度、不同模型层级上,输入本身就不是同一个东西。worker 时间依赖宿主与模型,previewTimeoutMs才是那条硬边界。字符数同理:1,856、2,669、2,883 描述的是这次对话被折叠成多长的可审阅文本,不是质量分。字符多不等于交接好,字符少也不等于丢了信息。
判断一:能外推的是形态,不是耗时
这次验收真正立得住的,是几个和输入规模无关的形态断言:目标会话拿到的是编辑后的五段,不是旧工具装配的调用轨迹;目标 goal 在执行前一定处于暂停态;开工发生在第一回合;目标侧没有发生工具调用。这些是机制层面的事实,换一个输入长度大概率仍然成立。
耗时、字符数、单个宿主上的通过记录,都不能外推。它们在这次跑里成立,只因为这次跑的输入恰好如此。
判断二:token 百分比不是因果开销
README 里有一个很容易被引错的数字:摘要 worker 占干净验收组件的 20.74%,标注是 nominal。它是构成占比,意思是在这次验收的总量里 worker 占了这么多,不是「装了 Bridge 比不装多花 20.74%」的因果对比。原文明确写了 token 百分比随 preset、回复长度、缓存状态大幅波动。
所以任何「Bridge 会增加两成开销」的说法都是误读。真正稳定、可复现的代价只有一条:默认确认模式多一次请求。
判断三:唯一敢写进承诺的,是多一次确认
README 把这一点写成了产品主张:确认模式相对--continue的额外开销,配对名义中位数 +8.1%,形态是「到首次有效工作」需要 2 次目标请求对 1 次。这是一个可以解释、可以复算、不依赖缓存状态的差异。除此之外的百分比,都更适合当成观察值而不是承诺值。
顺带说清楚权限面:站点把它标为 🔵 含敏感能力,能读写与删除本地文件、写入剪贴板,尚无人工评估,站点也未做风险分级。这不影响上面的验收结论,但必须和结论一起出现。
教训一:验收要按「用户能感知的形态」写断言
「跑完了」不是一个可验收的断言。可验收的断言长这样:goal 暂停了、载荷是我编辑过的那一版、目标会话第一回合就开工、目标侧没有工具调用、三个宽度下确认按钮点得到。这些断言即使换一次输入,也仍然可以被检验。
反过来,把「27 秒」写进验收标准,下次输入变长就会误判成回归。
教训二:卸载和重装必须算进验收
这次候选跑最有价值的部分,恰恰是它没通过的那一步。安装、预览、编辑、确认、开工全绿,卸载撞上包管理器的 late-worker 缺陷,整次跑就不算 PASS。如果验收只做到「目标会话收到交接」为止,这个缺陷会被原样带到下一个版本里。
对使用者的推论也很直接:换版本或卸载之前,先把待确认的交接处理完,预览编辑只在内存里,重启就没了,确认状态也一起作废。原会话不动,重新生成预览再改一遍即可。
教训三:把支持声明和验收记录分开读
engines.dsh是安装准入区间,不是「这些版本都验过」的清单。README 专门用一节讲这件事:准入不等于验收,--doctor只查方法可用性,不查端到端。读别人的验收记录时,先看它写的是哪个包、哪个宿主、哪一步通过,再看结论。
教训四:小样本就是小样本
30/30、60/60、90/90 这些数字很好看,但 README 自己标注了是回归结果,不是总体保证。原生卡的重复门也只有三次固定跑。它们的作用是防止已知问题复发,不是预测你的机器上会发生什么。
总结
一次 2,883 字符的交接能证明的是形态:目标会话在第一回合、零目标工具调用的前提下接住了人审过的五段;它不能证明耗时、开销或跨宿主兼容,唯一稳定可主张的代价是多一次确认请求;想对照同类插件的中文清单见 DeepSeek Harness Hub 插件清单。
适合与不适合
适合:需要在任务中途换工具装配又不想污染原会话的团队;要把交接内容当审批物逐字过一遍的评审流程;想在升级宿主前后做一次小样本回归验证的维护者。
不适合:期待装上就有生产级性能承诺的团队;历史里有大量未解析图片、目标又是纯文本模型的任务;把卸载洁净度当硬指标的环境。
标签:dsh-plugin-bridge、DeepSeek Harness、会话迁移复盘
本文由 DeepSeek Harness Hub 自动整理,数据来源于插件详情页。