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

代码与 Git 工作台 DazzzleKK/dsh-code-git-workbench

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

在侧边栏编辑工作区文件并管理 Git 分支与提交

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

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

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

状态速览

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

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

验证判据与等级说明 →

可信度证据

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

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

读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 11 处,展示前 9 条)
  • 读取本地文件
    index.mjs:498
    entries = await readdir(absolute, { withFileTypes: true });
  • 读取本地文件
    index.mjs:513
    size = (await stat(resolve(absolute, entry.name))).size;
  • 写入本地文件
    index.mjs:556
    await writeFile(absolute, body.text, "utf8");
  • 读取本地文件
    index.mjs:557
    const info = await stat(absolute);
  • 读取本地文件
    index.mjs:563
    const info = await stat(absolute);
  • 读取本地文件
    index.mjs:572
    buffer = await readFile(absolute);
  • 读取本地文件
    index.mjs:695
    const info = await stat(absolute);
  • 发起网络请求
    web/git/bridge.js:45
    const response = await fetch(url, options);
  • 写入剪贴板
    web/git/bridge.js:668
    await navigator.clipboard.writeText(String(text));
扫描于 2026/11/4(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

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

为 DeepSeek Harness Web UI 提供代码编辑器和 PyCharm 风格的 Git 工作台。

README

由 DeepSeek 最新模型翻译生成
dsh-code-git-workbench DeepSeek Harness Web UI 的 Code 和 Git 工作台。它在右侧边栏加两个页面: - Code —— 面向 Harness 工作区的懒加载文件树、文件标签页、CodeMirror 编辑器、语法高亮、搜索、重新加载和保存。 - Git —— PyCharm 风格的日志:本地/远程分支、提交图、提交详情、文件差异、checkout、merge、rebase、cherry-pick、reset、revert、标签,以及 fetch/pull/push。 它还会在顶部栏的子代理目录弹窗里,把运行中的子代理排在空闲的子代理前面。 这个插件是 DeepSeek Harness 的宿主端 + 客户端代码。没有构建步骤,也不依赖 VS Code。PyCharm 风格的 Git UI 以源码形式与配套的 VS Code 扩展 pycharm-git-log 共享;两个仓库在运行时各自独立。 环境要求 - DeepSeek Harness,带内置的插件命令行(已在 0.2.1-rc.2 / DSH 44.x 桌面版上测试)。 - Git 页面需要一个本地 Git 仓库。 - 安装和运行插件都不需要 Node.js。 安装 把仓库克隆到一个固定位置,然后在 desktop 配置档里把这个文件夹注册为本地插件。
展开完整文档(README 剩余 1 节)
dsh-code-git-workbench

DeepSeek Harness Web UI 的 Code 和 Git 工作台。它在右侧边栏加两个页面:

- Code —— 面向 Harness 工作区的懒加载文件树、文件标签页、CodeMirror 编辑器、语法高亮、搜索、重新加载和保存。
- Git —— PyCharm 风格的日志:本地/远程分支、提交图、提交详情、文件差异、checkout、merge、rebase、cherry-pick、reset、revert、标签,以及 fetch/pull/push。

它还会在顶部栏的子代理目录弹窗里,把运行中的子代理排在空闲的子代理前面。

这个插件是 DeepSeek Harness 的宿主端 + 客户端代码。没有构建步骤,也不依赖 VS Code。PyCharm 风格的 Git UI 以源码形式与配套的 VS Code 扩展 pycharm-git-log 共享;两个仓库在运行时各自独立。

环境要求

- DeepSeek Harness,带内置的插件命令行(已在 0.2.1-rc.2 / DSH 44.x 桌面版上测试)。
- Git 页面需要一个本地 Git 仓库。
- 安装和运行插件都不需要 Node.js。

安装

把仓库克隆到一个固定位置,然后在 desktop 配置档里把这个文件夹注册为本地插件。

Windows

$repo = "C:\path\to\dsh-code-git-workbench"
$cli = "$env:LOCALAPPDATA\Programs\DeepSeek Harness\resources\runtime\cli\bin\dsh.cmd"
& $cli plugin --profile desktop add "link:$repo"

macOS / Linux

用应用自带的 dsh 命令行。具体路径取决于安装布局;如果命令行已经在 PATH 里:

dsh plugin --profile desktop add link:/absolute/path/to/dsh-code-git-workbench

完全退出 DeepSeek Harness 再重新打开。只重载窗口不够:宿主端那一半在进程启动时加载。

如果想改用浏览器配置档:

dsh --profile web

并用 --profile web 安装。

更新

git pull

然后重启 DeepSeek Harness。没有需要编译的东西。

卸载

& $cli plugin --profile desktop remove dsh-code-git-workbench

之后重启应用。

使用

1. 打开一个会话。两个页面都从会话的工作区起步;Code 可以切换到任意 Harness 工作区,Git 可以切换到任意本身是 Git 仓库的工作区。
2. 打开右侧边栏(桌面版按 Ctrl+Alt+B,或点边栏按钮)。
3. 点 + → Code 或 Git。引导页也会列出这两个页面。
4. 想要更大空间,用面板的全屏控件。

Code

- 懒加载目录树;.git 隐藏。
- 树头部的工区选择器列出所有 Harness 工作区。会话目录不是仓库时,Code 从第一个是仓库的工作区起步。选择按会话记住。
- 标签页各自保留文档、光标、滚动位置和未保存状态。
- 自动保存默认开启,参照 PyCharm:
- 最后一次编辑后空闲 2 秒 —— 所有未保存的标签页都写入;
- 切换到其他应用 / 隐藏 DSH 窗口时;
- 关闭文件标签页(标签页会保存,不会丢弃);
- 切换工作区(先保存所有未保存的标签页);
- 退出页面(pagehide,keepalive 请求);
- 点击另一个 DSH 标签页(例如 Git)会让编辑器失焦并触发保存,这就覆盖了「VCS 操作之前」的场景。
在文件标签页之间切换不会强制保存;空闲、失焦、关闭这几个触发点会保存,和 PyCharm 一样。Ctrl+S 仍然可以手动保存;写入成功后状态栏显示 Auto-saved。
- Ctrl+R 重新加载当前文件。工具栏有 Save 和 Reload 两个操作。
- CodeMirror 提供行号、括号匹配、自动闭合、增量搜索(Ctrl+F),以及 JS/TS、Python、JSON、Markdown、HTML/CSS、YAML、SQL、shell、PowerShell 和类 C 语言的模式。
- 文件按 UTF-8 读写。超过 2 MB 的文件和二进制文件会被拒绝显示。

Git

- 每个工作区只要是 Git 仓库,就有仓库选择器。
- 分支树分本地/远程两组,支持过滤、当前分支、ahead/behind、checkout、checkout + rebase、merge、rebase、compare、push、重命名、删除和打标签操作。
- 用斜杠分隔的分支名会变成可展开的文件夹:feat/123-login 显示为 feat → 123-login。树在 Local 和 Remote 内部各自独立构建。只有一个远程时,远程名当作上下文,从文件夹路径里去掉;有多个远程时,远程名成为第一层文件夹。文件夹的展开状态按仓库记住。
- 可以在行上或右键菜单里给分支加星标。收藏的分支浮到自己文件夹(以及 Local/Remote 根)的顶部;选择按 Git 仓库存在浏览器配置档里,标签页/页面重载后仍然保留。
- 所选分支(或所有分支)的提交日志,带彩色图谱、ref 徽标、作者和日期;支持过滤和「加载更多」。
- 提交详情显示完整提交信息、父提交、文件和 +/-,并提供 checkout、branch、cherry-pick、merge、rebase、reset(soft/mixed/hard)、revert 和打标签。
- 文件行会打开内置的 diff 浮层。「Compare with working tree」在文件右键菜单里。
- Fetch all、pull 和 push。分支没有上游时,push 回退到 --set-upstream origin。
- 分支右键菜单可以把指定分支拉进当前分支:远程分支,或带上游的本地分支,显示为 Pull '<branch>' into Current。
- 工具栏的 diff 按钮打开 Working tree changes:已暂存、未暂存和未跟踪的文件及数量。点击文件打开它的 diff([staged] = 索引 vs HEAD,[unstaged] = 工作区 vs 索引)。
- 远程分支超过 40 个时自动折叠。

子代理顺序

页头的后代数量按钮打开子代理目录。每次渲染后,运行中的行会按树的每一层移到空闲行上方。这个排序是 DOM 增强,因为随附的目录没有排序插槽;宿主状态不会被修改。

架构

index.mjs host half: /code-git static UI + JSON API
client.js client half: Sidebar tab types + subagent catalog sort
web/code/ vanilla JS + CodeMirror 5 (vendored)
web/git/ PyCharm-style Git UI
cordis.patch.yml inserts the bundle row into the profile

宿主 API 对每个请求都调用 ctx.connection.requestRejection(req),因此继承了 Harness 的 Host/Origin 防护和浏览器认证。所有路由都是同源的:

- 桌面外壳把 dsh-app://app/code-git/... 连同宿主 cookie 转发给本地宿主;
- 浏览器直接与同一个监听端口通信。

API 一览:

| 路由 | 用途 |
| GET /code-git/api/context | 会话 cwd、选中的根目录、工作区、仓库状态 |
| GET /code-git/api/tree | 一层目录 |
| GET/PUT /code-git/api/file | 读取/写入单个文件 |
| GET /code-git/api/git/state | 分支、提交、引用、领先/落后 |
| GET /code-git/api/git/status | 已暂存、未暂存和未跟踪的文件 |
| GET /code-git/api/git/worktree-diff | 索引/HEAD/工作区文件内容 |
| GET /code-git/api/git/commit | 提交信息、父提交、文件统计 |
| GET /code-git/api/git/diff | 旧/新文件内容 |
| POST /code-git/api/git/action | checkout、merge、rebase、reset、fetch、pull branch、push、… |

每个请求都会对照会话已注册的工作区做检查;路径会解析并限制在选中的根目录内。Git 通过 execFile 运行,不经过 shell,并设置 GIT_TERMINAL_PROMPT=0。

Git UI 与配套 VS Code 扩展面板使用同一套 HTML/CSS/JS。web/git/bridge.js 实现了 UI 编写时依赖的那一小块 acquireVsCodeApi() 接口,并把它的消息映射到 JSON API。整个过程不涉及 VS Code 运行时。

开发

没有构建步骤:

- 宿主:改 index.mjs,重启宿主;
- 客户端:改 client.js,重启宿主(或使用支持补丁热重载的 web 配置档);
- Code UI:改 web/code/;
- Git UI:改 web/git/。

要起一个用完即弃的测试实例:

$cli = "$env:LOCALAPPDATA\Programs\DeepSeek Harness\resources\runtime\cli\bin\dsh.cmd"
& $cli --profile web --port 3080 --no-open

打开打印出来的 token URL,用正常 UI 操作。

发布前的测试清单:

- Web UI 启动时没有插件加载错误;
- + 能列出 Code 和 Git;
- 目录树能展开,文件能打开,编辑 + 保存能写入磁盘;
- 切换工作区会更新目录树/页脚;
- Git 能显示分支和提交、详情和 diff;
- 远程分支超过 40 个时折叠;
- 子代理目录仍能打开,运行中的行排在最前。

不要在真实工作区上测试破坏性 Git 操作;用一个临时仓库。

面向智能体的指南见 AGENTS.md。

限制

- 没有 LSP、快速打开或文件监听;用工具栏刷新。
- 不使用自定义键盘快捷键:DSH Web 快捷键适配器接受
- 只使用内置目录(否则会提示 Unsupported Web shortcut),所以页面要从 + 指南打开。
- 编辑内容按原样保存;没有保存时格式化,也不合并外部改动。
- 只能选择 Harness 中已注册的工作区;任意目录会被宿主拒绝。
- 重置、删除、推送都在确认提示之后执行;面板内没有撤销。
- 子代理排序是 DOM 增强,不会改动宿主目录。

第三方代码

- CodeMirror 5 — MIT,Marijn Haverbeke 及贡献者。
- VS Code Codicons — MIT,Microsoft。

见 THIRD_PARTY_NOTICES.md。

许可证

MIT。见 LICENSE。
预览分享卡片长什么样 ↓DazzzleKK/dsh-code-git-workbench
分享 · DeepSeek Harness Hub
DazzzleKK/dsh-code-git-workbench

在侧边栏编辑工作区文件并管理 Git 分支与提交

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