前言¶
DeepSeek Harness (DSH) 采用插件化架构。开发者需要通过 MCP 协议与 GitHub 交互时,dsh-github-mcp 插件提供了直接的连接方案。它将 GitHub MCP 封装为 DSH 插件,并将认证 Token 存储在 DSH 凭据中心,避免 Token 暴露在代码或日志中。
核心功能¶
- GitHub MCP 连接:通过
@deepseek-ai/dsh-mcp-client连接官方远程服务器,提供 40+ 个 GitHub 工具,工具名称以mcp__github__*为前缀。 - Token 存储管理:GitHub Personal Access Token (PAT) 存储在 DSH 凭据中心(
.credentials.yaml),不写入源码或日志。 - 模型工具:
-github_token_status:查看 Token 配置状态、来源及可写性。
-github_set_token:在对话中直接输入 Token 以更新凭据中心。 - 面板插件:自动捆绑安装
dsh-github-mcp-hint(需额外启用)。
安装与启用¶
使用以下命令安装主插件:
dsh plugin --profile web add dsh-github-mcp
安装包会自动包含 dsh-github-mcp-hint 作为依赖,但 DSH 仅将顶层依赖加入 profile 的 bundles 层,因此面板插件不会自动启用。若需要“设置 → 插件 → GitHub MCP”面板,需单独执行:
dsh plugin --profile web add dsh-github-mcp-hint
前置条件¶
- DSH 版本:依赖
@deepseek-ai/dsh-mcp-client(DSH 核心),需 DSH 版本 >= 0.1.x。 - GitHub PAT:生成 Personal Access Token,作用域需包含
repo、read:org、read:packages。
配置与使用¶
设置 Token¶
有两种方式配置 Token:
1. 模型工具:在对话中直接说“帮我把 GitHub token 设为 ghp_xxx”,模型会调用 github_set_token 写入凭据中心。
2. 编辑凭据中心:直接编辑 ~/.dsh/.credentials.yaml,在 refs: 下添加 GITHUB_TOKEN: ghp_xxx。
注意:修改 Token 后必须重启 DSH 才能生效。
常见操作¶
- 查看状态:询问“我的 GitHub token 配好了吗”。
- 搜索仓库:询问“在 owner/repo 里搜索关键词 xxx”。
- 管理 PR/Issue:通过自然语言指令调用
mcp__github__*工具进行创建、评论、合并等操作。
注意事项¶
- 环境变量冲突:若环境变量中已存在
GITHUB_TOKEN,写入凭据中心会被拒绝。需先取消环境变量再使用模型工具或编辑文件。 - 重启生效:Token 修改后需重启 DSH,因为
mcp-client在启动时读取 Token。 - 面板插件依赖:
dsh-github-mcp-hint需单独安装并加入 profile bundles 才能显示面板 UI。