dsh-worktree-workspaces 设计与验证记录
August 18, 2026 · View on GitHub
- 状态:已完成 rc.6 实现与隔离 profile 验证;
dsh-worktree-workspaces@0.1.0于 2026-08-15 首发,当前@suqingsq/dsh-worktree-workspaces@0.2.0已发布并在日常 rc.7 Web profile 中激活 - 目标包:
dsh-worktree-workspaces - 验证基线:
@deepseek-ai/dsh@0.1.0-rc.6 - 记录日期:2026-08-15
目标
为 DeepSeek Harness 提供一套单包、可卸载的 Git linked worktree 能力:
/worktreehost 斜杠命令;worktree_create模型工具;dsh-worktree独立 CLI;- Web
popupSelect工作树选择器与 Workspace 切换。
插件以 git worktree list --porcelain -z 为工作树事实源。DSH Workspace 只负责 Web 与会话入口,不建立第二套工作树台账。
交付边界
- 新建模式支持新分支、已有本地分支和 detached HEAD。
- 源 checkout 的未提交改动不会复制到新 worktree。
- 插件不会 fetch、merge、删除分支、自动 prune 或配置定时任务。
- host 不直接创建 DSH session;Web 选择成功后由 DSH client-runtime 创建或复用目标 Workspace 的空白 session。
- 归档使用
git worktree move,只处理插件托管根目录下符合两层布局的 linked worktree。 - locked、非 linked、越界路径和布局不匹配的候选失败关闭,不降级成普通文件移动。
自动验证入口
仓库测试覆盖:
- Git 仓库与 worktree 状态解析;
- 新分支、已有分支和 detached worktree 创建;
- session header cwd 与默认分支命名契约;
/worktreehost 命令和worktree_create工具协议;- 归档候选、路径围栏、preview/apply 与 manifest;
- bundle 静态契约和 Web client bundle 入口。
对应入口位于 packages/dsh-worktree-workspaces/tests/。
rc.6 profile 验证记录
在隔离的 DSH 0.1.0-rc.6 profile 中已验证:
- 本地包可以安装为 profile bundle,组合配置包含
dsh-worktree-workspaces行; /worktree status返回真实仓库、分支和 worktree 状态;/worktree new与worktree_create创建真实 linked worktree,并返回新会话可使用的绝对 cwd;- Web 裸
/worktree打开选择器,能够选择本地 checkout 或新建工作树,并切换到对应 Workspace; - 新 Workspace 会话在 linked worktree 中工作,源 checkout 的未提交状态不被复制或改写;
- 归档 preview、apply 和
git worktree move恢复路径在真实 linked worktree 上可用。
Web 选择器的当前界面证据见 picker.png。自动验证、构建或配置 dump 不能单独替代上述真实 profile 验证。
兼容与发布边界
- 当前只声明兼容
@deepseek-ai/dsh@0.1.0-rc.6。 - DSH developer preview 升级后,必须重新核对命令、工具、Workspace 与 client-runtime 契约,并重做真实 profile 验证。
- 2026-08-15 已完成 npm tarball 内容、registry 安装和 registry 版本回读;GitHub Release 以同一
v0.1.0tag 记录首发结果。 - 2026-08-18 已完成 scoped 包迁移、registry tar 内容回读与日常 rc.7 Web profile 加载回读;旧 unscoped 包已弃用并指向
@suqingsq/dsh-worktree-workspaces@0.2.0。