前言¶
DeepSeek Harness (DSH) 的核心理念之一是「一切皆插件」。在本地开发或构建智能体工作流时,开发者往往需要处理 Git 变更、管理分支、浏览代码、跟踪计划,并连接 GitHub 进行协作。这些操作通常分散在不同的插件面板中,增加了上下文切换的负担。dsh-git-nexus 插件旨在解决这一问题,它将 SCM 变更管理、分支操作、GitHub 认证、Workflow 板以及文件浏览功能合并为一个独立的 Web 面板。
插件介绍¶
dsh-git-nexus 是一个由 JFWaskin 维护、基于 MIT 许可证的开源社区插件。它将原本可能需要多个插件才能完成的 Git 管理(SCM 变更面板 + 分支管理)与 GitHub 访问权限、Workflow 跟踪板和文件浏览功能整合进一个自包含的 Web 插件中。
核心功能¶
该插件提供以下已核实的能力:
- SCM 变更管理:查看工作区状态、逐文件 Diff、暂存/取消暂存/丢弃变更、提交。
- 分支操作:列表、切换、创建、删除。
- 远程同步:支持 Push、Pull、Sync(先 Pull 后 Push)以及 Fetch。
- 提交日志:提供带边界限制的结构化提交历史。
- 文件浏览:列出跟踪文件并支持搜索,可读取任意文本文件。
- Workflow 板:提供持久化的步骤板(Claude Code 风格的计划跟踪)。
- GitHub 集成:使用 OAuth Device Flow 登录(获取全量
repo权限,权限可撤销),支持 Scope Seal,并能创建 PR。
安装与启用¶
安装该插件需要将本地路径挂载到 DSH。
dsh plugin --profile web add "file:/absolute/path/to/dsh-git-nexus"
安装完成后,重启 Web Profile 以加载插件:
dsh web
插件会出现在 Settings → Plugins 中,在 Git 管理的工作区会话头部显示对应的面板胶囊。
典型用法¶
在 Web 面板中配置 GitHub 集成:
- 点击面板中的 GitHub 标签页,点击 Connect。
- 在 GitHub 网站上,进入 Settings → Developer settings → OAuth Apps → New OAuth App。
- 填写应用名称、主页和回调 URL(Device Flow 忽略回调设置,可随意填写)。
- 复制生成的 Client ID,粘贴到插件面板的输入框中。
- 返回插件面板,点击 Connect 后,打开终端打印的 URL 并输入用户代码完成授权。
适用场景与注意¶
该插件针对 DSH 0.1.0-rc.6 的 Web Profile 开发。作为发布在 dsh-plugin 话题下的社区插件,使用前请确认其源码与许可证。
安全与执行细节:
* GitHub 认证使用 OAuth Device Flow,不会在磁盘上写入长期有效的 Personal Access Token (PAT)。
* 每一个 Git 或文件命令均通过独立的 /bin/sh -c 子进程执行,带有 30 秒超时和 2MB 输出限制。
* 分支名、路径和提交消息经过 Shell 转义,拒绝控制字符。
* GitHub Token 仅存储在 ~/.dsh/storages/dsh-git-nexus/settings.json,权限为 0600。
结语¶
dsh-git-nexus 通过单面板整合了 Git 全生命周期管理、GitHub 操作和 Workflow 跟踪,适合需要在 DSH Web 界面中保持上下文连贯的开发者。更多细节可参考项目目录或 GitHub 仓库。