前言¶
在使用 DeepSeek Harness 的 Web 界面(dsh web)时,开发者通常需要在浏览器中直观地查看当前工作目录的 Git 状态,并执行提交操作。现有的原生集成往往无法满足这种细致的集成需求。dsh-git 插件通过在侧边栏底部添加操作区,解决了在 Web 界面中管理 Git 仓库状态的问题。
核心功能¶
插件提供了会话感知的 Git 状态监控和提交能力。
会话感知状态¶
状态显示与 DeepSeek Harness Web 界面当前打开的会话项目目录绑定,确保显示的内容与当前上下文一致。
工作树详情¶
面板展示当前分支、上游分支、领先与落后计数、变更文件列表以及插入和删除的行数统计。
提交与推送¶
提供三个操作按钮:
* Commit:使用提供的消息提交变更。
* Commit & push:提交变更并推送到远程。
* Push:仅推送本地已有的提交。
AI 生成提交信息¶
在“Commit”操作中留空提交信息并确认,插件会向当前会话的代理请求生成一条简洁的提交说明,用于描述当前工作区的变更。
安全刷新¶
在刷新页面时,插件会保持最后一次准备好的快照可见,并在活跃项目变更时丢弃正在进行的读取操作,避免状态混乱。
安装与启用¶
通过 DeepSeek Harness 的插件命令进行安装。
dsh plugin --profile web add @necokeine/dsh-git
安装后,重启 dsh web 并刷新页面即可生效。如需移除,执行:
dsh plugin --profile web remove @necokeine/dsh-git
此外,也可以通过本地路径或 Git 引用安装:
dsh plugin --profile web add ./path/to/dsh-git
dsh plugin --profile web add github:necokeine/dsh-git#<sha>
使用示例¶
- 在
dsh web中打开一个拥有项目目录的会话。 - 侧边栏底部会出现 Git 操作区,显示当前分支和变更文件。
- 若需提交变更,在提交信息栏留空,点击 Commit。系统会调用当前会话代理生成提交信息并执行。
注意事项¶
- 会话依赖:只有当前会话拥有项目目录时,Git 状态才会显示。
- 权限控制:提交和推送操作通过当前会话代理执行,遵循该会话的权限和认证环境。
- 统计范围:二进制文件和未跟踪文件不计入行数统计。
- 推送限制:若分支未配置上游,Push 按钮将保持禁用状态,直到配置 upstream。
结语¶
该插件通过 Web 界面扩展了 Git 管理能力,适合习惯在浏览器中操作 DSH 的开发者。更多细节和源码,可访问项目主页查看。