前言¶
DeepSeek Harness(DSH)的核心理念是“一切皆插件”。在智能体开发或代码编写流程中,经常需要将代码修改隔离在独立的环境中,并在最终交付前进行验证。dsh-worktree-studio 插件解决了人工管理多个 Git 工作树与 DSH 会话的痛点,它将 Git 分支、工作树与 DSH 的 Workspace 和 Session 建立了一一对应的映射关系。
插件定位¶
- 名称:
palaiologos1453/dsh-worktree-studio - 定位: 专为 DeepSeek Harness 设计的人工操作 Git 工作树任务看板
- 维护者: Palaiologos1453
- 许可证: MIT
核心功能¶
本插件主要提供以下能力:
- 隔离分支与工作树: 创建独立的分支并关联对应的工作树。
- 原生会话集成: 将工作树检出为原生的 DSH Workspace 和 Session。
- 状态验证: 记录验证结果时,基于确切的 Git 内容状态生成令牌(SHA-256),确保验证结果与当前代码一致。
- 合并预览: 使用
git merge-tree预览合并可行性,不改变目标检出目录。 - 交付守门: 在合并前重新检查所有交付条件。
- 非侵入式设计: 不会注册模型工具、修改系统提示词或添加工具模式。看板和命令位于模型上下文之外,不会增加提示词 Token 消耗。
安装与启用¶
安装前请确保满足环境要求(见下方“注意事项”)。
- 安装预构建的 npm 包:
dsh plugin --profile web add dsh-worktree-studio
dsh web
- 安装后,Worktree tasks 按钮会出现在 Web 侧边栏的底部。
典型用法¶
插件通过 Web 看板和本地命令共同管理任务流程。
命令列表¶
所有命令由本地处理,不会发送给模型:
/worktree-studio list
/worktree-studio create <title>
/worktree-studio inspect <id>
/worktree-studio validate <id> <command...>
/worktree-studio preview <id>
/worktree-studio deliver <id>
/worktree-studio archive <id>
/worktree-studio recover
基本工作流¶
- 创建任务: 在 Web 看板中注册仓库并创建任务。
- 开发: 插件创建
dsh/<task>-<id>目录,注册为 Workspace 并开启 Session。在此 Session 中提交代码。 - 验证: 在看板中运行“Validate”,执行指定的命令(如
pnpm test)。 - 预览: 使用“Review”查看变更,使用“Merge check”测试当前提交与目标分支的合并情况。
- 交付: 执行“Deliver”,系统会再次检查内容令牌、验证结果和合并可行性,确认无误后才执行非快进合并。
- 归档: 归档会移除干净的工作树但保留记录;丢弃需要确认任务 ID。
注意事项¶
环境要求¶
- DeepSeek Harness: 0.1.0-rc.7 或兼容的 0.1.x 版本。
- Node.js: 22.19.0 或更高版本。
- Git: 2.38 或更高版本(需支持
merge-tree --write-tree)。 - 本地仓库: 插件仅管理本地仓库,不涉及推送到远程或创建 Pull Request。
功能限制¶
- 交付机制: 交付仅合并已提交的更改,不会将未提交的工作树内容复制到目标检出目录。
- 数据清理: 归档和丢弃的记录仍保留在
tasks.json中,插件目前不提供自动清理功能。 - 安全性: 插件通过回环连接和同源标记提供 Host 路由,但执行边界不等于认证,本地同权限进程仍可调用。
总结¶
dsh-worktree-studio 为 DeepSeek Harness 提供了一个以人工决策为核心的代码交付流程。它通过 Git Worktree 和状态令牌机制,在不增加模型上下文负担的前提下,实现了对代码修改的隔离验证与安全合并。