完整的任务级 git worktree:per-repo manifest 永久保存、分支名即路径(支持斜杠如 refactor/logging)、带回主目录或直接提交两种收尾、可携带主工作区未提交改动。
Complete task-scoped git worktrees for DSH: per-repo manifest for durable state, branch-and-path names (slashes allowed, e.g. refactor/logging), bring-back to main or direct commit, optional carry-over of uncommitted main changes.
安装
dsh plugin --profile web add github:Letter2025/dsh-task-worktreeGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
为 DeepSeek Harness 提供完整的 Git worktree 能力。
English | 中文
一个社区插件:给 DSH 带来 Qoder / Codex / Claude Code 同款的任务级 worktree 工作流。每个任务拥有一个独立的 git worktree checkout(独立分支),记录在 per-repo manifest 中,跨会话、跨重启永久保存。主工作区保持干净;使用 worktree 的对话会在会话头部显示分支徽标(不再注册工作区、不打乱侧边栏),干完后带回到主目录(Move to local)或直接提交在 worktree 分支上——一切收尾都由你(人)显式决定。
设计参考:Qoder 的 Worktree 执行环境、Codex 的 codex worktree create --permanent、Claude Code 的 --worktree 会话,并适配 DSH 的会话/工作区模型。
设计对照
| 本插件概念 | Qoder | Codex | Claude Code |
|---|---|---|---|
| 任务级隔离 checkout | Worktree 执行环境 | codex worktree create --permanent |
claude --worktree <名称> |
worktree 位于 <仓库>/.dsh-worktrees/ |
后台 worktree checkout | .codex/worktrees/ |
.claude/worktrees/ |
| 注册表跨重启持久 | 按会话 | 全局索引 | 会话绑定 |
| 每任务独立分支 | 分支选择器 | — | worktree-<名称> |
| 从 GUI 打开(注册为 DSH 工作区) | 面板选择器 | codex worktree open |
直接进入 worktree |
| 会话头部徽标标识对话所用 worktree | 会话标识 | — | — |
| 把改动带回主目录 | Move to local | — | 退出/清理询问 |
| 直接在 worktree 分支提交 | Review & commit 面板 | worktree 会话内提交 | worktree 内提交 |
| 携带主目录未提交改动 | Include uncommitted changes | — | .worktreeinclude |
| 自动忽略 worktree 目录 | — | — | .gitignore 建议 |
工作流
空白对话:发送前在下拉框选「Worktree模式」(分支名可选,自动加 worktree/ 前缀)
│ 发送第一条消息 → 宿主注入一条「上下文注入」instructions 块
▼ 模型在同一轮调用 worktree_create
│ git worktree add -b worktree/<名称> <仓库>/.dsh-worktrees/worktree/worktree/<名称>
│ 不注册工作区、不切换对话;会话头部徽标标记该对话使用的 worktree
▼ 对话原地继续,模型在 checkout 路径(绝对路径)内干活;完成后模型提醒收尾
│
├─ /worktree bring-back worktree/<名称> → 合并分支回主分支(要求主目录干净)
├─ /worktree finish worktree/<名称> <消息> → 提交到 worktree 分支并保留
└─ /worktree remove worktree/<名称> --force → 删除 worktree 与分支
(--force 连未提交改动一起删)
- 以 Worktree 模式开始:空白对话、发送前,dock 选择器显示「分支名:」——选「Worktree模式」即武装会话;分支名可选(输入的会自动加
worktree/前缀,留空由模型拟定)。对话开始后选择器自动隐藏,由会话头部徽标接管指示。 - 发送第一条消息 → 宿主在你消息前注入一条
instructions上下文块(界面显示为「上下文注入」):创建worktree/前缀分支、在 checkout 路径内干活、任务结束时给出可复制的收尾命令(bring-back或remove --force)。 - 或跳过模式,直接让 agent 隔离任务:"用 worktree 隔离干活,任务叫 xxx" —— 模型调用
worktree_create,name 同时作分支名与路径(支持斜杠)。 - 不注册任何工作区,侧边栏保持干净;worktree 模式下会话头部显示分支徽标。
- 干完后收尾:
bring-back/finish/remove(均仅人工可触发);/worktree list/status/prune查看与清理(prune顺带清理已消失 checkout 的工作区注册)。
安装
dsh plugin --profile web add dsh-task-worktree
要求:DeepSeek Harness 0.1.0-rc.7 包线、Git 2.31+、Node 20+。
模型工具
| 工具 | 作用 |
|---|---|
worktree_create {name, baseCommit?, includeUncommitted?} |
创建任务 worktree(name=分支名与相对路径,支持斜杠分层);可选把主工作区未提交改动带进去 |
worktree_list |
列出当前仓库所有受管理 worktree(状态 / dirty / 分支) |
worktree_status {name?} |
查看单个 worktree 或当前会话所在 worktree 的状态 |
收尾与清理动作(finish / bring-back / remove)只有人工可触发,模型永远够不到。
人工命令
/worktree mode-on [<名称>] 武装 worktree 模式(下条消息随之注入指引)
/worktree mode-off 关闭 worktree 模式
/worktree create <名称> [<base>] [--carry]
/worktree list
/worktree status [<名称>]
/worktree finish <名称> <消息>
/worktree bring-back <名称> [<消息>]
/worktree remove <名称> [--force]
/worktree prune
安全模型
@deepseek-ai/*只作为 peerDependencies——由宿主提供;插件绝不向 profile 安装基础设施副本(双实例会破坏TOOL_RUNTIME_SCHEDULER的 unique symbol,导致工具全部失效)。bring-back要求主工作区干净(MAIN_DIRTY),且拒绝在 worktree 内执行。remove拒绝删除当前会话所在的 worktree(IN_USE)。- 所有 git 操作经
ctx.subprocess(harness-managed);测试路径用 child_process runner。 - Manifest 原子写入(tmp + rename);
prune清理 checkout 已不存在的记录。
本地开发
npm test # 冒烟测试:临时仓库全生命周期
npm pack --dry-run # 发布前检查包内容
License
MIT — see LICENSE
原始 README: https://github.com/Letter2025/dsh-task-worktree/blob/main/README.zh.md ↗
同类插件
查看全部 →
k8e
k8e.sh — 开源 Agentic AI 沙箱矩阵

hol-guard
开源AI代理防病毒:运行时拦截风险工具、秘密访问、提示注入、恶意软件包、MCP服务器、插件和技能。

anolisa
ANOLISA(Agentic Nexus Operating Layer & Interface System Architecture):具备运行时、安全性、可观测性和 Tokenless 响应压缩能力的 Agentic OS,可降低 Token 使用量与成本。

mobius
首个自我演进的开源 Agent OS:连接你的团队、AI agent、设备与算力

deepseek-harness-desktop
DeepSeek Harness Tauri 桌面版 | Only 5mb installer, zero environment setup. Windows / macOS / Linux.

open-managed-agents
开源Claude管理代理API实现和自托管Claude标签式代理运行时。即插即用;在Cloudflare Workers/Durable Objects或Node.js上运行。Apache 2.0。