前言¶
DeepSeek Harness (DSH) 允许通过插件扩展 Web 界面的能力。对于在 DSH 中开发智能体的用户,在 Web 环境内直接管理 Git 仓库(查看日志、切换分支、管理 Worktree)通常需要在浏览器和终端之间切换。dsh-gitland 是一个插件,它提供了一个 GoLand 风格的 Git 工具窗口,在 DSH 界面内呈现提交时间线(彩色泳道图)、分支树和工作树管理。该插件遵循 MIT 许可证。
核心功能¶
该插件在 Web 界面内实现了 Git 仓库管理。
Git 面板与视图¶
- 提交日志:以彩色泳道图呈现提交历史,支持按分支、用户、日期过滤,以及加载更多。
- 分支树:显示本地、远程和标签,支持搜索和展开/折叠。当前分支以金色标签高亮。单击选中行,双击打开详情。
- 提交详情:显示更改文件的目录树或平铺视图。文件图标颜色指示改动类型(新增、修改、删除、重命名)。
- 可调整大小:面板高度和列宽均可拖拽调整。
常规操作¶
- 提交:支持勾选文件进行提交,包含“AI 生成”按钮,通过宿主直连 LLM 起草提交信息(无 Agent 循环),自动回填输入框。提交操作使用
git add+git commit --only以确保仅提交选定的文件。 - 分支与工作树:支持创建、删除、切换分支,以及管理 Git 工作树(添加、移除、清理)。
- Pull:提供始终可用的 Pull 按钮,无论跟踪状态如何,操作前会刷新仓库状态。
- 状态栏:显示当前分支、领先/落后计数以及暂存/未暂存/未跟踪文件的计数。
工作流 Skills¶
该插件集成了 4 个可执行的工作流 Skills,可在 DSH 输入框中直接调用:
* /git-commit:创建 Conventional Commits 并可选推送。
* /git-branch:创建或删除本地分支。
* /git-worktree:管理 Git 工作树。
* /git-rules:规范参考(被上述命令引用加载)。
这些 Skill 文件也可直接复制到项目的 .dsh/skills/ 目录中使用。
安装¶
使用提供的 PowerShell 脚本将插件安装到 DSH web profile。
powershell -ExecutionPolicy Bypass -File scripts/install.ps1
典型用法¶
在 DSH 输入框中调用以下命令:
/git-commit --push --style=full
/git-commit --issue=#123
/git-branch create feature/user-auth
/git-branch delete feature/old-feature
/git-worktree create feature/payment
/git-worktree clean --dry-run
安全与限制¶
- 执行边界:Git 命令仅在
ctx.workspaceRegistry中注册的工作区目录内执行。 - 信任围栏:与 DSH
/api的信任模型一致;请求必须来自回环地址或声明的受信主机。 - 工作树路径:工作树目标路径必须位于仓库外,且不能包含仓库路径。
- 分支名:通过
git check-ref-format --branch进行验证,以防止注入攻击。
结语¶
dsh-gitland 在 DSH 界面内提供了全面的 Git 管理,包括可视化的日志查看、分支/工作树操作以及 AI 辅助的提交信息生成,适合需要 Web 端统一操作 Git 仓库的场景。