🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

工作树分支切换 Qcsj777/dsh-worktree-branch

DeepSeek Harness
Qcsj77710 天前有提交已提供中文文档扫描:未发现敏感能力

在新建会话页直接切换 Git 工作树与分支

29.2/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/11/2 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Qcsj777/dsh-worktree-branch
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
dsh 原生插件 · dev
暂无时间戳·判据 →
装得上吗[实装验证]—
本站尚未做安装检查
暂无时间戳·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 10 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

发起外部网络请求
查看扫描证据(共 2 处,展示前 2 条)
  • 发起网络请求
    client.js:205
    const response = await fetch(`${ROUTE}/state?${search.toString()}`, { headers: { accept: 'application/json' } })
  • 发起网络请求
    client.js:238
    const response = await fetch(`${ROUTE}/action`, {
扫描于 2026/11/4(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DSH 新建会话界面的 Codex 风格工作树与分支切换器。Git 操作在插件宿主端执行。

README

由 DeepSeek 最新模型翻译生成
dsh-worktree-branch 在 DeepSeek Harness 的「新建会话」页,给 git 工作区加一块 Codex 风格的「工作位置 / 分支」切换器。 在 DSH「新建会话」页给 git 工作区加一块 Codex 风格的「工作位置 / 分支」chip:直接切 worktree、切分支、新建分支。git 事实与副作用全部由 Host 半执行(写操作走该会话的沙箱策略)。 功能 - 检测会话的工作目录是否在 git 仓库内;不在就什么都不渲染。 - 显示当前分支(HEAD 分离时显示短哈希)、所有本地分支、所有关联 worktree。 - 操作:新建 worktree、切到另一个 worktree、切分支、新建并切换分支。 - 名称校验两道:本地白名单快速过一遍,再用 git check-ref-format 校验。 - 每次调用 git 都剥掉继承来的 GIT_* 选择器(GIT_DIR、GIT_WORK_TREE、 GIT_INDEX_FILE 等),防止用户 shell 把命令重定向到别的仓库;写操作(switch、switch -c、worktree add)包在会话的沙箱策略里执行。
展开完整文档(README 剩余 1 节)
dsh-worktree-branch

在 DeepSeek Harness 的「新建会话」页,给 git 工作区加一块 Codex 风格的「工作位置 / 分支」切换器。

在 DSH「新建会话」页给 git 工作区加一块 Codex 风格的「工作位置 / 分支」chip:直接切 worktree、切分支、新建分支。git 事实与副作用全部由 Host 半执行(写操作走该会话的沙箱策略)。

功能

- 检测会话的工作目录是否在 git 仓库内;不在就什么都不渲染。
- 显示当前分支(HEAD 分离时显示短哈希)、所有本地分支、所有关联 worktree。
- 操作:新建 worktree、切到另一个 worktree、切分支、新建并切换分支。
- 名称校验两道:本地白名单快速过一遍,再用 git check-ref-format 校验。
- 每次调用 git 都剥掉继承来的 GIT_* 选择器(GIT_DIR、GIT_WORK_TREE、 GIT_INDEX_FILE 等),防止用户 shell 把命令重定向到别的仓库;写操作(switch、switch -c、worktree add)包在会话的沙箱策略里执行。

安装

从 GitHub 安装:

dsh plugin --profile desktop add github:Qcsj777/dsh-worktree-branch

开发时用本地链接:

// ~/.dsh/profiles/<profile>/package.json
"dependencies": {
"dsh-worktree-branch": "link:D:/path/to/worktree-branch"
}

包自带 Cordis 补丁(cordis.patch.yml),插入 id 为 worktree-branch 的 host 半。git 必须在 PATH 上。

工作原理

第三方 bundle 加不了 Remote 命名空间,已安装 bundle 的 client 半也没法通过 host.call 调自己的 host 半,所以两半走同源 HTTP 通信:

GET /worktree-branch/state?session=<id>&cwd=<path>
POST /worktree-branch/action { sessionId, cwd, action, name?, path? }

action 取 create-worktree、use-worktree、switch-branch、 create-branch 之一。state 载荷为 { repo, cwd, repoRoot, currentBranch, head, branches[], worktrees[], mainPath, atMain }。

- client 半(client.js):在 conversation.hero.options 上注册 chip,只在「新建会话」页出现。
- host 半(index.js):注入 webServer、subprocess、sandbox、 sandboxPolicy、worktrees、sessionController、sessions、 workingDirectory;上面这些路由由它负责。

非目标

- 不做网络操作(不 fetch/pull/push),不删除,不 merge/rebase。
- 切到另一个 worktree 会改掉该会话的工作目录——这就是功能本身,不是副作用。
切换动作本身不移动任何文件。

开发

node check.mjs # self-check for git-parse.mjs

许可证

MIT
预览分享卡片长什么样 ↓Qcsj777/dsh-worktree-branch
分享 · DeepSeek Harness Hub
Qcsj777/dsh-worktree-branch

在新建会话页直接切换 Git 工作树与分支

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部