dsh-handoff-review:把实现会话的改动交给只读审查会话,按轮次交接

前言

在 DeepSeek Harness(DSH)里用智能体改代码时,常见做法是:实现会话继续写,再开另一个会话做审查。难点在于如何把「改了什么、要审什么、上一轮结论」稳定地传给审查方,并把多轮往返记在一条可追溯的链路上,而不是靠复制粘贴或临时说明。

dsh-handoff-review 由社区维护者 j7708git 发布,属于工作流类插件。它借鉴 OpenChamber 式的 handoff review:在同一工作区内,把当前实现会话的变更交给一个关联的只读审查会话,按轮次往返;实现侧仍可继续工作,审查在独立上下文中进行。插件只注册命令、路由、投影、监听与 UI 插槽,不写入 DSH 内核,卸载 bundle 即移除其注册内容。另提供「交接續作」:用 composer 里的「交接」按钮,把当前会话变成确定性的交接提示,在同工作区启动新的可写普通会话,以延续长任务。

这是什么

一句话:实现会话与只读审查会话通过 durable link 关联,支持报告回传、修订再送审、轮次历史;并可选择把当前会话交接为新的普通可写会话继续干活。

核心功能

Handoff review(审查交接)

下面介绍审查主流程的能力,均来自 README 说明。

  1. 一条命令启动:/handoff-review focus on retry logic,或使用 composer dock 上的 Handoff review 按钮。会创建或复用 link,打开审查会话,并投递 handoff brief(目标、审查重点、变更文件、统一 diff、验证项与开放问题)。
  2. 只读审查方:三层约束——持久的 sandbox/mode: read-only 会话事件;审查方作用域内移除/拒绝写工具;approval: never 策略。
  3. 轮次循环:审查报告可送回实现会话;修复后可用 Send revision(或 /handoff-review revision)只发送自上次 handoff watermark 之后的变更,轮次 +1。maxRounds、每轮去重与投递速率限制用于约束循环;超过 maxRounds 时可 Send revision (force) 或命令加 --force。
  4. 侧栏面板与历史:右侧栏展示 link 状态、双方会话(可跳转)、可展开的轮次历史、handoff/报告预览、变更文件 diff 抽屉,dock 支持多 link 选择。
  5. 可选自动续跑:审查启动后,可在每轮结束时自动投递报告/修订,直到满足停止条件(README 指向设置中的说明)。
  6. 可配置审查路由:审查方的 provider、model、thinking effort、agent preset 可从已安装目录中选择。

交接續作(handoff continuation)

composer 中的「交接」按钮打开轻量弹窗:预览将用于新会话的提示(只读);可为新会话选择 provider / model / thinking-effort(默认沿用源路由);可填补充说明。确认后在同工作区创建标题为 Continuation: <source title> 的普通可写会话,并将提示作为首条用户消息投递。原有审查流程不变,该能力为纯增量(新路由、插槽与 locale)。

界面与依赖环境

  • UI 文案支持英文与繁体中文,明暗主题跟随 theme token。
  • 运行要求:DSH Desktop 0.2.x,或匹配的 dsh CLI 通过 dsh web(0.2.x)提供 Web GUI;profile 需为 base-backed 且提供 ctx.storageDomain(随附的 desktop / web profile 满足)。Node.js >= 20 仅用于开发与测试;已构建的 checkout 无需再 build。

安装与启用

安装发生在侧栏 Plugins(中文 UI:「插件」)页面,而非仅只读的 Settings → Built-in plugins(设置 →「内置插件」)。

先做 GUI 安装(DSH Desktop 与 dsh web 步骤相同):

  1. 添加插件 → 安装第三方插件。
  2. 填入本目录的绝对路径,例如 /path/to/dsh-handoff-review;也可用 pnpm pack 打好的 tarball 或 Git URL(不能用 npm registry 名,包为 private)。本地 checkout 需在目录内先执行 pnpm install 或 npm install。
  3. 对话框会先检查包;若提示 not-a-bundle,说明路径不对或缺少 dsh.bundle.patch。通过后点 Install,再 立即启用;若已关闭对话框,在 已安装插件 中打开 bundle。
  4. 无 HMR 的 profile 需完整重启(退出并重开 DSH Desktop,或停止并重启 dsh web);仅刷新浏览器不会重载 Host 半部。
  5. 验证:已安装插件 列出 dsh-handoff-review;活跃会话中 composer dock 出现 交接 / Handoff,且可用 /handoff-review。

dsh web profile 也可用 CLI(README 原文):

dsh plugin --profile web add /absolute/path/to/dsh-handoff-review
# then restart the dsh web process

desktop profile 由桌面应用管理,应通过 Desktop GUI(或桌面自带的 dsh)操作;npm 安装的 CLI 会拒绝管理 desktop profile 的插件请求。

bundle 通过 cordis.patch.yml 注入默认配置(安装后可在 Settings → Handoff Review 调整审查路由与 handoff 限制):

- insert:
    - id: handoff-review
      name: dsh-handoff-review
      config:
        maxRounds: 3
        maxHandoffChars: 30000
        diffPerFileChars: 6000

注意:一个 profile 对应一次安装;若同时使用 Desktop 与 dsh web,需在各自 profile 各装一份。卸载在 Plugins → Installed plugins 完成并重启。

典型用法

下面按 README 的 Use 节整理可复现步骤。

  1. 在实现会话中工作,直到产生 edit/write 类变更。
  2. 执行 /handoff-review focus on retry logic,或点击 composer dock 的 Handoff review。同工作区出现审查会话,标题形如 Review: <impl title> (round N)。
  3. 打开审查会话,让审查方完成工作。
  4. 审查结束后 link 变为 feedback_ready。在实现会话点 Send feedback(或在审查会话执行 /handoff-review feedback)。
  5. 实现侧修复后点 Send revision(或 /handoff-review revision)——仅发送 watermark 之后的变更,进入下一轮。
  6. 重复上述往返,结束时点 Close(或 /handoff-review close)。会话不会被删除;审查会话保留只读约束。

若需要在新上下文中延续实现(而非审查),使用 composer 的 交接 按钮,确认预览与模型选择后启动 Continuation: … 会话即可。

适用场景与注意

适合谁:需要在 DSH 里把「实现 + 独立审查」做成固定工作流、并保留多轮历史的团队或个人;也适合长任务用交接續作换会话、避免单会话上下文过长。

生态说明:DSH 强调「一切皆插件」;SkillHub 等社区目录独立于 DeepSeek / 幻方,并非官方应用商店。

安全与权限:第三方插件以当前 DSH 进程权限运行。安装前请阅读仓库源码与 MIT 许可证,确认来源为 j7708git/dsh-handoff-review。审查侧虽有多层只读限制,实现会话与续作会话仍为可写,交接内容会进入新会话的首条消息,注意敏感信息。

其他:Plugins 页不可用时,通常表示当前 Host 无 managed profile,应改用 DSH Desktop 或 dsh web。安装后无 UI 时,检查已安装插件中是否启用、是否重启 Host,并查看卡片上的兼容性标签。

结尾

dsh-handoff-review 把 OpenChamber 风格的轮次审查接到 DSH 插件模型上:一条命令或 dock 按钮拉起只读审查会话,面板里看 link、轮次与 diff;可选自动续跑与可配置审查模型;「交接」则在同工作区用确定性提示开新的可写会话。需要试用或查看截图时,可打开社区目录页 https://www.skillhub.cn/plugins/j7708git/dsh-handoff-review 与 GitHub 仓库 https://github.com/j7708git/dsh-handoff-review。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye