前言¶
DeepSeek Harness 的生态理念是「一切皆插件」。在使用 Agent 处理代码仓库相关任务时,直接调用本地的 gh 工具是最高效的方式之一。现有的 MCP 方案往往需要单独配置 Token 或受限于工具列表。这个插件旨在解决这一痛点,让你复用本地 gh 的登录态,以零配置的方式在 Harness 中执行 GitHub 命令。
插件简介¶
本插件由 Nico0713520 开发,采用 MIT 许可证,分类为联网工具。它允许你直接在 Harness 中复用本地已安装的 GitHub CLI (gh),无需配置新的 Token 或进行复杂的 OAuth 流程。插件默认采用只读优先的安全策略,通过命令白名单机制确保操作安全。
核心功能¶
- 复用本地
gh登录态(无需配置 token) - 零配置、零 token
- 只读优先,默认只放行安全命令
- 写操作需显式开启
fullAccess - 凭据永禁(auth token, secret 等)
- 无注入(execFile + 参数数组)
- 支持企业版/SSO 账号
- 提供
gh_cli_run和gh_auth_status工具 - 18 项单元测试 + 三版本 Node CI
安装与启用¶
安装插件需要使用官方的 DSH 插件管理命令。确保你拥有 gh 的安装权限。
dsh plugin --profile web add git+https://github.com/Nico0713520/dsh-github-cli.git
安装完成后,必须重启 dsh web 进程,插件才会作为 Bundle 层生效。
典型用法¶
插件提供了两个主要工具:
- gh_cli_run: 以参数数组执行任意 gh 子命令。
- gh_auth_status: 检查 gh 是否已安装并登录。
在对话中可以直接调用,例如:
- 查询仓库未关闭的 PR:
gh pr list --state open -R deepseek-ai/deepseek-harness
- 查看 PR #123 的改动:
gh pr diff 123
- 检查 gh 登录状态:
gh_auth_status
配置说明¶
插件读取 GhCliConfig(在 profile 的插件配置里设置):
- insert:
- id: gh-cli
name: gh-cli
config:
fullAccess: false
timeoutMs: 120000
注意事项¶
- 安装后必须重启
dsh web才能生效。 gh auth token等命令无条件拒绝。- 默认只读、按需放开。
- 依赖 Node.js ≥ 20 和已登录的 GitHub CLI。
- 支持较新的 gh 版本。
结论¶
该插件通过复用本地环境凭证,降低了在 Harness 中使用 GitHub 的门槛。其默认的安全模型(只读优先、凭据永禁)适合对安全性有要求的场景。