前言¶
在 DSH(DeepSeek Harness)里做开发时,经常要查自己的仓库、看 issue 和 PR、处理通知,或顺手给项目点 star。若每次切到浏览器或单独跑 gh CLI,对话会被打断。社区插件 dsh-github(维护者 huhuai-ni,分类:联网工具)把 GitHub REST 能力封装成一组工具,让智能体在会话里按自然语言完成上述操作。Token 只写本机配置文件,不上传、不写日志;除建 issue 和 star 外,其余工具以只读为主。
这是什么¶
dsh-github 是 DSH 生态里的联网类插件,定位是「直接管理你的 GitHub 账号」——仓库、issue、PR、通知、Actions、star 等,通过 Harness 注册的工具调用 GitHub API。源码与说明见 GitHub 仓库,社区目录页:skillhub.cn/plugins/huhuai-ni/dsh-github。当前 package 版本为 0.1.0,许可证 MIT,运行要求 Node.js >= 22。
核心功能¶
插件暴露的工具如下(名称与 README 一致):
| 工具 | 作用 |
|---|---|
github_set_token |
保存 PAT(只写本机 ~/.dsh/github-manager/config.json) |
github_whoami |
当前账号、仓库数、粉丝 |
github_repos |
列仓库(含私人,按更新时间) |
github_repo |
单仓详情 |
github_search_repos |
搜仓库 |
github_issues |
列 issue(可按指派给我过滤) |
github_issue_create |
新建 issue |
github_pulls |
列 PR |
github_notifications |
未读通知 |
github_actions |
Actions 运行记录 |
github_star |
点星 / 取消 |
权限与 Token¶
GitHub 侧需要 Personal Access Token。经典 PAT 需勾选 repo、notifications、read:user。细粒度 PAT 也能用于大部分能力,但 README 明确说明:通知接口不支持细粒度令牌;若要用 github_notifications,需按经典 PAT 或相应权限规划。
安全说明(来自项目文档):token 仅存本机;建议优先细粒度或短有效期令牌;写操作仅「建 issue」「点星」两类。
安装与启用¶
在 DSH desktop profile 下安装(命令以 README 为准):
dsh plugin --profile desktop add dsh-github
安装后先用 github_set_token 写入 PAT,再调用其它工具。插件以当前 dsh 进程权限运行;安装前建议自行查看 源码 与 MIT 许可证,确认符合你的安全策略。
典型用法¶
配好 token 后,可直接用自然语言驱动,README 给出的示例包括:
「看看我最近有哪些仓库」
「给我的仓库建个 issue:补 LICENSE」
对应关系大致是:列仓库走 github_repos,建 issue 走 github_issue_create;具体参数由 Harness 在工具调用里填充。
实现上的一点说明¶
项目在 README 里记录过一个环境问题:部分机器装有做 TLS 拦截的安全软件时,Node 内置 CA 可能不认其根证书,fetch 会失败(UNABLE_TO_VERIFY_LEAF_SIGNATURE)。该插件因此使用 node:https 配合 tls.getCACertificates('system') 走系统证书库。若你所在网络有 HTTPS inspection,这一设计与「裸 fetch」行为可能不同,属于实现层面的取舍,而非 GitHub API 本身的变化。
适用场景与注意¶
- 适合:已在用 DSH desktop、希望在一个会话里查仓、管 issue/PR、看通知和 Actions、或 star,而不反复切换工具链的开发者。
- 注意:通知能力受 PAT 类型限制;写操作有限,但仍会改 GitHub 上的 issue 与 star 状态,令牌权限应最小化。
- 生态:DSH 理念是「一切皆插件」;SkillHub 为社区目录,与 DeepSeek / 幻方无官方从属关系,并非官方应用商店。
结尾¶
dsh-github 把常见 GitHub 账号操作收成一组 DSH 工具,本地存 token、以只读为主,适合在 Harness 对话里完成日常仓库与协作面板的查询与少量写入。进一步了解可打开 目录页 与 GitHub:huhuai-ni/dsh-github。