前言¶
DeepSeek Harness (DSH) 的核心设计理念是“一切皆插件”。在使用智能体处理 GitHub 任务时,传统方案往往需要依赖 gh CLI,这要求环境配置 PATH 并管理版本兼容性。vclike/dsh-github-companion 插件通过直接调用 GitHub REST/GraphQL API,消除了外部依赖,为 DSH 代理提供了完整的 GitHub 集成能力。
核心功能¶
该插件以三个 cordis bundle 的形式挂载,共享同一安装包。
- 33 个 REST/GraphQL 工具:注册在
ctx.tools下,分为只读发现(21 个)和可写操作(Issue、Git 数据、Repo 创建)。 - 零外部依赖:不依赖
ghCLI,直接使用fetch/undici,支持 Windows/Linux/macOS 无需配置 PATH。 - 进程内权限门:提供
github-companion-gatebundle 作为权限校验的实现示例。 - 成本纪律 companion skill:内置能力地图和工作流,帮助控制操作成本。
安装与组成¶
插件通过目录 ~/.dsh/skills/dsh-github-companion/ 管理以下组件:
github-companion:注册工具,默认开启只读/发现,可配置开启写操作。github-companion-gate:权限校验逻辑。github-companion-usage:包含 SKILL.md,定义结果规范、工作流和失败处理策略。
典型用法¶
通过自然语言指令,代理会自动选择工具:
- 项目洞察:总结本周 starred 项目的变更(使用
list_starred,latest_release,list_commits)。 - 仓库管理:查看 owner/repo 的最新更新、上传本地文件夹为新私有仓库、修复 README 错误并发布版本。
- 代码同步:对比 fork 与上游的差异,同步落后的 fork。
- 协作与搜索:针对 bug 在上游创建 issue,或直接搜索代码展示实现方式。
适用场景与注意事项¶
- Repo 创建限制:
github_create_repository永远创建私有仓库,没有公开选项。 - 认证方式:使用 PAT,通过
ctx.credentials.resolve或 settings UI 存储在$DSH_HOME/.credentials.yaml中。 - 推荐权限:Metadata R, Contents RW, Issues RW, Pull requests RW, Workflows RW, Administration RW(仅在启用 Repo 创建时需要)。
- 错误处理:所有工具返回 JSON-safe 对象,GitHub API 错误返回
{ ok: false, status, message },而非抛出异常。
结语¶
该插件通过直接 API 调用替代 CLI,降低了智能体与 GitHub 交互的复杂度和维护成本。更多细节请访问社区目录或查看GitHub 仓库。