为每个仓库创建跨会话持久存在的 git 工作树
30.7/100
综合分
6
GitHub 星标
68
npm 周下载
—/5
用户评分
数据截至 2026/9/17 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-worktreenpm 源 · dsh-worktree 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · dev
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 81 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-worktree @ 0.1.0
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/12 15:06:56
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-commands@deepseek-ai/dsh-subprocess@deepseek-ai/dsh-tools@deepseek-ai/schemastery给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 创建持久git工作树
Codex 风格的永久 git worktree,给 DeepSeek Harness 用:worktree_create/list/remove 智能体工具、/worktree 聊天命令,以及按仓库持久保存的清单。
README
由 DeepSeek 最新模型翻译生成dsh-worktree
| English
License: MIT
为 DeepSeek Harness 打造的 Codex 同款永久 git 工作树 插件——让 DSH profile 获得与 codex worktree create --permanent 一样的持久工作树工作流。
永久工作树是一个真实的 git worktree add --detach 检出目录,跨会话、跨重启永久存在。你(或 agent)创建一次,之后任何会话都可以在它里面继续之前的工作——完全不碰你的主工作树。
功能一览
| Codex CLI | dsh-worktree 对应能力 |
| codex worktree create --permanent [] | agent 工具 worktree_create,或 /worktree create [] |
| codex worktree list | agent 工具 worktree_list,或 /worktree / /worktree list |
| codex worktree open | /worktree open (注册为 DSH 工作区;在那里开新会话即可) |
展开完整文档(README 剩余 1 节)
dsh-worktree
| English
License: MIT
为 DeepSeek Harness 打造的 Codex 同款永久 git 工作树 插件——让 DSH profile 获得与 codex worktree create --permanent 一样的持久工作树工作流。
永久工作树是一个真实的 git worktree add --detach 检出目录,跨会话、跨重启永久存在。你(或 agent)创建一次,之后任何会话都可以在它里面继续之前的工作——完全不碰你的主工作树。
功能一览
| Codex CLI | dsh-worktree 对应能力 |
| codex worktree create --permanent [] | agent 工具 worktree_create,或 /worktree create [] |
| codex worktree list | agent 工具 worktree_list,或 /worktree / /worktree list |
| codex worktree open | /worktree open (注册为 DSH 工作区;在那里开新会话即可) |
| codex worktree close/delete | agent 工具 worktree_remove,或 /worktree remove |
| 会话中展示工作树信息 | 会话运行在已注册工作树内时,agent 收到一次上下文提示 |
除了 CLI 对齐,模型本身也能使用这些工具:任务进行中就可以自己派生一个永久工作空间——在指定 commit 上创建工作树、用常规文件工具在里面干活、用完清理。
工作原理
- 工作树位于 /.dsh-worktrees/——与 Codex 的 .codex/worktrees/ 相同的隐藏目录模式——因此始终在仓库内部(当会话工作区就是仓库根时,也在会话的 workspace-write 沙箱内)。
- 每个工作树都会写入按仓库持久化的 manifest:/.dsh-worktrees/manifest.json(名称、路径、基线 commit、创建时间、创建者会话)。manifest 就是"永久"的载体:DSH 重启后依然存在,可被工具/命令列出,新会话在其中打开时也能被识别。
- 创建工作树的同时会注册到 ctx.workspaceRegistry,出现在 DSH 工作区列表里——这就是之后"打开"它的原生方式。
- 移除工作树会执行 git worktree remove(可选 --force)、删除 manifest 条目并注销工作区;拒绝删除当前会话正在运行其中的工作树。
环境要求
- git ≥ 2.31(使用 git rev-parse --path-format=absolute --git-common-dir)。
- 带 tools、commands、subprocess 服务的 DSH profile(web profile 通过 dsh-base 三者齐全)。
安装
1. 让 profile 可用该插件(从 npm 安装)
dsh plugin --profile web add dsh-worktree
2. 在 profile 的 patch 层激活在 ~/.dsh/profiles/web/cordis.patch.yml 中加入: #
- insert:
- id: worktree
name: 'dsh-worktree'
3. 重启 profile(例如重启 dsh web 进程)
从源码安装(开发调试,或用于匹配不同版本的 Harness):
git clone https://github.com/FlashingChen/dsh-worktree.git
cd dsh-worktree
npm install # 自带依赖,与 Harness 版本对齐
dsh plugin --profile web add "$PWD"
... 然后同上加激活行并重启
插件依赖锁定在构建时对应的 Harness 版本(@deepseek-ai/* 0.1.0-rc.6)。如果你的 DSH 安装版本不同,请从源码安装,并在插件目录执行 npm install (或修改 package.json),确保插件能对你的 Harness 正常加载。
配置(全部可选):
- insert:
- id: worktree
name: 'dsh-worktree'
config:
dirName: .dsh-worktrees # 每个仓库根内的工作树目录名(默认值)
使用方法
Agent 工具
- worktree_create {name, baseCommit?} —— 在当前会话所在仓库创建永久分离工作树(默认基线:当前 HEAD)。返回工作树路径、仓库根和基线 commit。
- worktree_list —— 列出已注册工作树及其实时 git 状态(是否存在、HEAD、分支)。
- worktree_remove {name, force?} —— 移除已注册工作树(--force 会连同未提交改动一起丢弃)。拒绝删除当前会话所在的工作树。
聊天命令
/worktree # 列出(同 /worktree list) /worktree list /worktree create [] /worktree open # 打印路径/状态 + 注册为工作区 /worktree remove # (close/delete 也接受)
会话上下文
当会话的工作区位于已注册的永久工作树内时,agent 会收到一次提示:在哪个工作树、属于哪个仓库、基线 commit 是什么,以及管理命令。
沙箱说明
git 操作走 DSH 自己的 ctx.subprocess 通道(而非 agent 的 bash 工具),与其他 Harness 托管的进程一致。默认 workspace-write 权限模式下,只要工作树位于会话工作区根之下(会话在仓库根启动即是如此,属常规场景),agent 即可写入工作树文件。如果会话从仓库子目录启动,.dsh-worktrees 会落在该会话工作区之外;把工作树作为工作区开一个新会话即可在其中工作。
开发
- node test/smoke.js —— 针对临时仓库的 git 逻辑端到端冒烟测试(无需启动 DSH)。
- 激活检查:用 profile 的 node_modules 最小化启动 cordis 树(system-prompt、tools、commands、subprocess、dsh-worktree),断言注册成功并完成一次真实的 create/list/remove 往返。
目录结构
lib/manager.js WorktreeManager:仓库发现、git 工作树生命周期、按仓库持久化的 manifest(基于 ctx.subprocess 的纯逻辑) lib/index.js Cordis 插件:Config、工具、/worktree 命令、一次性会话上下文提示、ctx.worktree 服务 test/smoke.js 独立冒烟测试
许可证
MIT —— 见 LICENSE。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
FlashingChen/dsh-worktree
为每个仓库创建跨会话持久存在的 git 工作树
相关插件 · 开发 / 工程
隐私简历生成器reactive-resume/reactive-resume
Reactive Resume 已迁至 GitHub 上的…
★ 45,210已汉化MCP
71.7
AI 架构文档生成器sopaco/deepwiki-rs
🚀 Litho 已进化为 Terrain —— 给你的 AI 智能体一张会呼吸的代码库地图。
★ 3,157已汉化DSH
70.8
长时任务执行闭环AMAP-ML/LongHorizon-Harness
面向 Computer-Use Agent 的 Loop Engineering
★ 1,764已汉化DSH
70.5
多代理编排运行时Enderfga/claw-orchestrator
面向编程智能体的运行时。把 Claude Code、Codex、Antigravity、Grok…
★ 586已汉化MCP
69.4
记忆进化插件csyangwen/dsh-memory-evolve
dsh-memory-evolve 使用场景指南
★ 461已汉化DSH
67.9
原生编程智能体paean-ai/deeptide
由 DeepSeek 打造,为 DeepSeek 而生。
★ 1,107已汉化DSH
67.7