前言¶
DeepSeek Harness (DSH) 的核心设计理念是插件化,允许开发者将各种能力注入到工作流中。在代码开发场景下,开发者常需要在对话上下文中直接查看仓库状态、操作分支或查看差异。dsh-git-graph 旨在解决这一需求,它通过提供一个 Git 专用面板,将 Git 的核心操作(状态、分支、差异、历史)集成到 DSH 的 Web UI 中,而非仅仅依赖命令行或外部工具。
插件信息¶
- 名称:
dsh-git-graph - 简介:DeepSeek Harness 集成 Git 视图的插件。
- 所有者:
enoughpower - 分类:Git, Web UI
- 许可证:MIT
安装与启用¶
该插件为 bundle 插件,安装后宿主层(API)与浏览器层(UI)会自动激活。使用以下命令进行安装:
# 本地目录
dsh plugin --profile web add /path/to/dsh-git-graph
# 或已发布的 npm 包
dsh plugin --profile web add dsh-git-graph
核心功能¶
插件提供了对 Git 仓库的全方位视图支持,主要包括:
- 工作区状态:查看当前分支、已暂存、未暂存及未跟踪文件,并标注状态码。
- 分支管理:支持本地/远程分支的列出、切换、新建、删除、重命名与合并。
- 差异与提交:查看工作区与暂存区的差异,支持文件暂存、取消暂存、丢弃修改、物理删除以及提交和修正提交。
- 历史与溯源:提供提交日志、带父提交的提交图、单文件历史、逐行溯源以及查看提交详情与单文件差异。
- 远程与标签:支持推送、拉取、抓取远端,查看远程列表与标签列表。
注:为了防止超大差异冻结传输与前端渲染,差异内容会被截断至 2 MiB。
使用步骤¶
安装并启用插件后,按照以下步骤在会话中使用:
- 装好插件并在会话内打开一个工作区(即仓库目录)。
- 会话区域会出现 Git 页签(位于对话轨迹右侧),点击进入 Git 面板。
- 在面板内操作:
- 顶部为分支栏与提交图,用于查看整体状态。
- 选中一个提交可查看详情(变更文件 / 差异)。
- 选中工作区文件可执行暂存、提交或丢弃操作。
- 面板会自动绑定当前会话的工作目录。
兼容性与注意事项¶
- 兼容性要求:
- DSH 宿主版本:
>= 0.1.0-rc.5 - Node.js:
>= 20 - Git:
>= 2.28
- DSH 宿主版本:
- 安全限制:所有
/git操作都限定在请求的path目录内执行,不引入任意 Shell(通过execFile参数数组调用),请求体上限 1MiB,Git 输出缓冲 64MiB。 - 当前功能状态:文件浏览与编辑功能暂时停用,当前版本专注于 Git 专用操作。
结语¶
dsh-git-graph 为 DSH 用户在浏览器端提供了一套完整的 Git 工作流工具。它通过半注册 JSON API 和浏览器 UI 的方式,将 Git 操作嵌入到对话环境中。如需更多信息或查看源码,可访问插件目录或 GitHub 仓库。