DeepSeek Harness GitHub REST API 工具插件

前言

DeepSeek Harness (DSH) 采用插件化架构,开发者可以通过插件扩展智能体的能力。在本地开发或调试时,频繁查询 GitHub 仓库、创建 Issue 或将仓库克隆到工作区是常见需求。tkwkeven/dsh-tool-github 插件为 DSH 提供了 GitHub REST API 支持,注册了 github_* 工具集,使智能体能够绑定账号、查询数据、创建 Issue/PR 以及克隆仓库。此外,它还提供了一个浏览器端的 GitHub 面板。

核心功能

该插件主要提供以下能力:

  • 账号绑定:通过 github_bind 验证并存储个人访问令牌(PAT),后续工具自动使用该身份。
  • GitHub API:支持仓库元数据查询 (github_repo)、搜索 (github_search)、Issue/PR 管理 (github_issues, github_prs, github_create_issue, github_create_pr) 以及文件内容读取 (github_content)。
  • 工作区管理:支持将仓库克隆到本地 (github_workspace_add) 并注册为 DSH 工作区,使其出现在工作区选择器中。
  • Web GUI 面板:在 DSH Web 界面的侧边栏提供一个 GitHub 面板,用于查看状态、绑定账号、添加工作区等。

安装与启用

在插件目录下执行以下命令进行安装:

dsh plugin --profile web add .

安装后需要重启 Web GUI (dsh web) 才能加载新的客户端组件,GUI 客户端插件发现机制仅在进程启动时运行。

使用方法

智能体可以直接调用以下工具或通过自然语言交互:

  • github_bind:绑定 GitHub 账号(需输入 PAT)。
  • github_whoami:查看当前登录账号。
  • github_workspace_add <owner> <repo> [branch]:克隆仓库并添加为工作区。
  • github_workspace_list:列出已克隆的工作区。
  • github_repo <owner>/<repo>:获取仓库信息(如 star 数)。
  • github_search <query>:搜索仓库或代码。

工作区与凭证机制

  • 克隆方式:github_workspace_add 优先使用 git clone,当 Git TLS 不可用时回退到 codeload tarball 下载。
  • 凭证解析:令牌来源优先级为:凭证存储 -> 插件配置 -> 环境变量 (GITHUB_TOKEN)。github_bind 将令牌存储在 DSH 的凭证 seam (ctx.credentials) 中,更改凭证无需重启进程。

Web GUI 面板

安装并重启 dsh web 后,侧边栏会出现 GitHub 图标。点击面板中的功能(如“绑定账号”、“添加工作区”)会通过 /github-* 命令与主机通信。这意味着面板不直接持有令牌或访问 GitHub API,安全性较高。

配置

插件支持通过配置文件调整参数(如 ~/.dsh/cordis.patch.yml 或 profiles/<name>/cordis.patch.yml):

- id: tool-github
  config:
    maxResults: 20
    workspaceRoot: D:\github-workspaces

总结

该插件通过标准化的 API 工具和 Web 面板,将 GitHub 集成到了 DSH 工作流中,适合需要频繁与 GitHub 交互的开发者。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜