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

Git 工作树管理 lwklbb/dsh-worktrees

DeepSeek Harness
lwklbb78 天前有提交已提供中文文档扫描:含敏感能力

扫描仓库并创建、移除与整理 Git worktree

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

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

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

状态速览

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

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

验证判据与等级说明 →

可信度证据

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

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 5 处,展示前 5 条)
  • 发起网络请求
    lib/client.js:106
    const response = await fetch(`/worktrees/api/${method}`, {
  • 执行外部命令固定命令
    lib/git.js:24
    const child = spawn("git", args, {
  • 读取本地文件
    lib/git.js:76
    await access(path);
  • 读取本地文件
    lib/git.js:86
    return await realpath(absolute);
  • 读取本地文件
    lib/git.js:107
    const s = await stat(cwd);
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-host-webserver
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 扫描工作区仓库
  • 清理失效记录

在 DSH 里管理 Git worktree:扫描工作区仓库、创建 worktree、把它们加为 DSH 工作区、打开文件夹、删除 worktree、清理失效记录。

README

由 DeepSeek 最新模型翻译生成
DSH Worktrees 一个给 DSH 用的 Git worktree 管理插件。入口在设置面板里的 Worktrees,会从当前 DSH 工作区扫描 Git 仓库,然后集中查看和管理这些仓库下面的 worktree。 我做这个主要是为了方便在 DSH 里同时处理同一个项目的多个分支:比如主线留在 main,另外开一个 feature/order-export 的 worktree 做功能开发,再开一个 fix/login-redirect 的 worktree 修线上问题。这样不用来回 stash,也不用频繁切分支。 Worktrees showcase 功能 设置入口 安装后会在 DSH 设置面板里多一个 Worktrees 选项。页面会读取当前 DSH 的 Workspaces,然后只显示其中能识别为 Git 仓库的项目。普通文件夹会直接跳过,不会显示红色报错。 仓库扫描 插件会对当前 DSH Workspaces 做一次扫描: - 识别每个 workspace 是否属于 Git 仓库; - 同一个仓库如果被多个 workspace 命中,只保留一份; - 展示仓库根目录、已有 worktree 数量、分支数量; - 非 Git 目录静默忽略; - Git 没装或不在 PATH 中时,会给出提示。
展开完整文档(README 剩余 1 节)
DSH Worktrees

一个给 DSH 用的 Git worktree 管理插件。入口在设置面板里的 Worktrees,会从当前 DSH 工作区扫描 Git 仓库,然后集中查看和管理这些仓库下面的 worktree。

我做这个主要是为了方便在 DSH 里同时处理同一个项目的多个分支:比如主线留在 main,另外开一个 feature/order-export 的 worktree 做功能开发,再开一个 fix/login-redirect 的 worktree 修线上问题。这样不用来回 stash,也不用频繁切分支。

Worktrees showcase

功能

设置入口

安装后会在 DSH 设置面板里多一个 Worktrees 选项。页面会读取当前 DSH 的 Workspaces,然后只显示其中能识别为 Git 仓库的项目。普通文件夹会直接跳过,不会显示红色报错。

仓库扫描

插件会对当前 DSH Workspaces 做一次扫描:

- 识别每个 workspace 是否属于 Git 仓库;
- 同一个仓库如果被多个 workspace 命中,只保留一份;
- 展示仓库根目录、已有 worktree 数量、分支数量;
- 非 Git 目录静默忽略;
- Git 没装或不在 PATH 中时,会给出提示。

Worktree 列表

选中一个仓库后,可以看到该仓库下的 worktree:

- worktree 目录名;
- 完整路径;
- 当前分支;
- detached 状态;
- 是否是主 worktree;
- clean / changed 状态;
- ahead / behind 信息;
- 是否已经加入 DSH 工作区。

创建 worktree

创建区支持三种模式。

新分支

适合从当前主线开一个新功能分支:

目录名:feature-order-export 模式:新分支分支名 / 引用:feature/order-export 起点:HEAD 或 origin/main

实际执行类似:

git worktree add -b feature/order-export ..\feature-order-export origin/main

如果不填分支名,会用目录名作为分支名。

已有分支 / 引用

适合把已经存在的分支 checkout 到单独目录:

目录名:fix-login-redirect 模式:已有分支 / 引用分支名 / 引用:fix/login-redirect

实际执行类似:

git worktree add ..\fix-login-redirect fix/login-redirect

Detach

适合临时查看某个 commit、tag 或远端引用,不想创建本地分支:

目录名:review-v1.2.0 模式:Detach 起点:v1.2.0

实际执行类似:

git worktree add --detach ..\review-v1.2.0 v1.2.0

创建后加入 DSH 工作区

默认勾选 创建后加入 DSH 工作区。创建成功后,插件会调用 DSH 的 workspace 接口,把新 worktree 目录加入 DSH,这样左侧工作区里可以直接打开。

如果只想创建 Git worktree,不想加入 DSH,可以取消勾选。

打开目录

每个 worktree 都有 打开 按钮,会通过 DSH 的 openPath 打开对应目录。

删除 worktree

非主 worktree 可以删除。插件使用 Git 自带命令:

git worktree remove

默认不强制删除,所以如果 worktree 里有未提交改动,Git 会拒绝。确实要删时,可以勾选 强制删除,这时会执行:

git worktree remove --force

主 worktree 不允许删除。

Prune

页面里的 Prune 会执行:

git worktree prune

用于清理已经不存在的 worktree 记录。

安装

在插件目录里执行:

dsh plugin --profile web add .

或者:

dsh -- plugin --profile web add D:\desktop\plugins-test\dsh-worktrees

安装后重启或刷新 DSH,打开设置面板,可以看到 Worktrees。

使用前确认

这个插件依赖本机 Git 命令行:

git --version

如果 DSH 运行环境找不到 Git,页面会提示 Git 不可用。确认 Git 已安装,并且 git 在 PATH 中即可。

安全边界

这个插件不会自己递归删除目录。删除 worktree 时走的是 Git 官方命令,让 Git 判断是否允许删除。

另外,扫描时只会读取 DSH 当前 Workspaces 的路径,不会主动扫描整块磁盘。

项目结构

dsh-worktrees/
├─ cordis.patch.yml
├─ lib/
│ ├─ index.js # host API,注册 /worktrees/api/* │ ├─ git.js # Git 命令调用、worktree 解析和安全校验 │ └─ client.js # Settings 页面 UI ├─ test/ │ └─ git.test.mjs ├─ docs/ │ └─ worktrees-showcase.png ├─ package.json ├─ LICENSE └─ README.md

DSH 接入方式

lib/index.js 是 host 侧入口,注册了 /worktrees/api/*:

- list:扫描 DSH workspace 路径里的 Git 仓库和 worktree;
- branches:列出仓库分支;
- create:创建 worktree;
- remove:删除 worktree;
- prune:清理失效 worktree 记录。
lib/client.js 通过 settings.section slot 增加 Settings 页面,id 是 worktrees。

lib/git.js 里是纯 Node 逻辑,主要处理:

- git worktree list --porcelain 解析;
- 非 Git 目录过滤;
- worktree 目录名和分支名的简单安全校验;
- git status --porcelain=v1 -b 状态摘要;
- 创建 / 删除 / prune 命令封装。

License

MIT © 2026 lwklbb
预览分享卡片长什么样 ↓lwklbb/dsh-worktrees
分享 · DeepSeek Harness Hub
lwklbb/dsh-worktrees

扫描仓库并创建、移除与整理 Git worktree

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