前言¶
DeepSeek Harness(DSH)遵循“一切皆插件”的理念。在开发需要与外部系统交互的 AI Agent 时,直接在 Agent 代码中调用 REST API 既繁琐又不安全。对于需要管理代码仓库、Issue 或 Pull Request 的 Agent 来说,需要一个标准化的通道。
dsh-github-manager 解决了这个问题。它是一个 DeepSeek Harness 社区插件,通过注册一组工具,让 Agent 能够直接通过 GitHub REST API 自动管理仓库、Issue、PR、分支、文件、标签、话题、Git 标签、发布和搜索。
这是什么¶
dsh-github-manager 是一个由 yuan-source-666 维护的社区插件。它以 Bundle 形式分发,包含一个 Web 设置卡片。
其核心价值在于为 DSH Agent 提供了一个完整的 GitHub 自动化管理通道。安装后,Agent 可以像使用本地工具一样使用 GitHub 的各项功能,而无需 Agent 代码中硬编码 API 逻辑。
核心功能¶
该插件注册了 27 个工具,覆盖 GitHub 的大部分常用操作:
- 连接与验证:
github_ping用于验证通道与令牌,并报告当前用户与剩余配额。 - 仓库管理:支持列出仓库、获取仓库元数据、创建新仓库。
- Issue 管理:支持列出、创建、更新 Issue(标题/正文/状态/标签/指派)以及添加评论。
- PR 管理:支持列出、获取详情、创建以及合并 PR(支持 merge/squash/rebase 策略)。
- 文件与分支:支持读取文本文件、创建/更新/删除文件(通过 commits API 版本化)、列出分支。
- 标签与话题:支持列出/创建标签、获取/整组替换仓库话题。
- 发布管理:支持列出 Git 标签与发布、获取最新版本、创建与更新发布。
- 搜索:支持跨 GitHub 搜索代码、Issue 与 PR。
安全验证:所有变更型工具在 dryRun: true 时仅描述将要执行的操作,不真正执行,适合在评审环境中安全验证流程。
安装与启用¶
安装插件需要指定一个 Profile。为了保证安全,建议锁定具体的 commit SHA。
# 从 GitHub 仓库安装(推荐,锁定版本)
dsh plugin --profile demo add github:yuan-source-666/dsh-github-manager#<sha>
# 或从本地目录安装
dsh plugin --profile demo add ./dsh-github-manager
前置条件:如果使用 pnpm ≥ 10,需要在 profile 的 pnpm-workspace.yaml 中显式允许构建:
allowBuilds:
dsh-github-manager: true
安装完成后,可以通过以下命令验证:
dsh --profile demo --dump-config
典型用法¶
安装并配置完成后,Agent 可以通过自然语言调用工具。
示例 1:检查连接
Agent 可以直接说:
用
github_ping检查 GitHub 通道是否连通。
示例 2:Issue 自动化
Agent 可以执行以下任务:
列出
deepseek-harness/deepseek-harness仓库的 open issues,把标记为 bug 且未指派的逐条添加 Triage 评论。
配置与注意事项¶
Web 界面配置¶
安装后,访问 http://127.0.0.1:3080 → 设置 → Plugins → 可配置,可以看到「GitHub 仓库管理」卡片。
- 启用开关:关闭时,27 个工具会从模型工具面即时注销;打开时即时恢复,无需重启进程。
- 访问令牌:这是一个写-only 密码框。输入即保存,存储值永不经网络回显,也不显示在读取结果里。如果留空,插件会回退到
GH_TOKEN/GITHUB_TOKEN环境变量。 - 配置项:支持配置 API 地址、站点根地址、请求超时和 dry-run 状态。修改后立即生效。
无头部署配置¶
在 CLI 或无头部署场景下,可以在 profile 的 cordis.patch.yml 中直接覆盖默认值:
- id: dsh-github-manager
name: dsh-github-manager
config:
enabled: true
baseUrl: 'https://api.github.com'
webUrl: 'https://github.com'
timeoutMs: 30000
dryRun: false
权限要求¶
插件需要对应的 GitHub 权限才能正常工作:
* Contents:文件读写(github_read_file, github_write_file, github_delete_file)。
* Issues:Issue 管理(github_create_issue, github_update_issue, github_comment_issue)。
* Pull requests:PR 管理(github_create_pull, github_merge_pull)。
* Administration:创建新仓库(github_create_repo)。
* Metadata:只读搜索与元数据(github_search_code, github_search_issues, github_list_releases 等)。
总结¶
dsh-github-manager 是一个成熟的 DeepSeek Harness 插件,它将 GitHub 的 REST API 封装为 Agent 可直接调用的工具。通过 Web 设置卡片和实时开关机制,它提供了灵活且安全的操作体验。对于需要在 DeepSeek Harness 环境下构建自动化 GitHub 工作流的开发者,这是一个可直接落地的选择。
- 插件目录: https://www.skillhub.cn/plugins/yuan-source-666/dsh-github-manager
- 源码地址: https://github.com/yuan-source-666/dsh-github-manager