← 返回列表
需源码安装
绑定 GitHub 账户,管理仓库议题与拉取请求
暂不能直接安装(需源码编译或环境不满足):仓库 package.json 标记 private,未发布到 npm,需从源码安装。 · 最近上游提交 2026/8/15 · 已提供中文文档
DeepSeek Harness (DSH) 的 GitHub REST API 工具 + 浏览器侧边栏面板:仓库、搜索、议题、PR、评论、账户绑定和工作区集成
综合分
32.6
GitHub 分
32.6
用户评分
—
★ Stars
1
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add NEAZ71eve/dsh-tool-github仓库 package.json 标记 private,未发布到 npm,需从源码安装,改用 GitHub 源安装
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查需源码安装
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包@dsh-external/dsh-tool-github(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
仓库 package.json 标记 private,未发布到 npm,需从源码安装
验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/18 18:57:38
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-credentials@deepseek-ai/dsh-tools用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
dsh-tool-github 用于 DeepSeek Harness(DSH)的 GitHub REST API 工具。注册面向模型的 github_ 工具,使智能体能够绑定 GitHub 账户、查询仓库、搜索代码/议题、读取文件内容、创建议题 / 拉取请求 / 评论,并将仓库克隆到可选的工作区中。还附带一个用于 Web GUI 的浏览器端 GitHub 面板(侧边栏图标 → 账户状态、工作区列表、绑定 / 添加工作区操作),由 /github- 命令提供支持。 Web GUI 面板 安装并完全重启 GUI(dsh web —— 客户端插件发现仅在进程启动时运行,并会缓存“不是客户端包”的判定结果,因此正在运行的 GUI 不会识别到新添加的 dsh.client 声明)后,侧边栏栏中会出现一个 GitHub 图标(紧挨着设置按钮)。点击它打开 GitHub 面板: - 状态 —— 已绑定账户(@login、令牌来源)以及已注册的 GitHub 工作区(来自 /github-status) - 我的仓库 —— 将已绑定账户的仓库列为可点击的行;点击其中一个即可克隆并将其注册为工作区(来自 /github-my-repos + /github-workspace-add) - 绑定账户… —— 粘贴个人访问令牌(运行 /github-bind ) - 添加工作区… —— 输入 owner/repo(或 owner repo [branch])以克隆并注册工作区(运行 /github-workspace-add) - 刷新 —— 重新读取状态 该面板仅通过 /github- 命令(ctx.remote.commands.execute)与宿主通信,因此它自身从不持有令牌,也不直接访问 GitHub API。这些命令也可以直接在编辑器中输入: /github-status 显示账户 + 工作区状态 /github-bind ghp_xxx 绑定账户 /github-unbind 移除已存储的令牌 /github-workspace-add owner repo [branch] /github-workspace-list 列出已克隆的 GitHub 工作区 工具 账户绑定 | 工具 | 描述 | |---|---| | github_bind | 针对 API 验证个人访问令牌,并将其持久化到凭据存储中。绑定后,每个 github_ 工具都会自动以该账户身份进行身份验证。 | | github_whoami | 显示已绑定账户、令牌来源(凭据存储 / 插件配置 / 环境变量)以及公开个人资料。 | | github_unbind | 移除已存储的令牌并断开账户连接。 | GitHub API | 工具 | 描述 | |---|---| | github_repo | 仓库元数据(星标、复刻、语言、许可证、主题、活跃度) | | github_search | 搜索仓库、代码或议题 | | github_my_repos | 列出已绑定账户的仓库(根据令牌范围显示公开 + 私有仓库)—— 选择一个进行工作或添加为工作区 | | github_issues | 列出仓库议题(状态 / 标签筛选) | | github_create_issue | 创建议题(需要已绑定账户 / 令牌) | | github_prs | 列出拉取请求(状态筛选) | | github_create_pr | 创建拉取请求(需要已绑定账户 / 令牌) | | github_content | 读取任意 ref 处的文件或列出目录 | | github_comment | 在 issue 或 PR 上发表评论(需要已绑定的账号 / token) | 工作区 | 工具 | 描述 | |---|---| | github_workspace_add | 将仓库克隆到本地工作区根目录(~/.dsh/github-workspaces)并向 harness 工作区注册表注册——随后它会出现在工作区选择器(侧边栏 / 新会话主界面)中,并可作为工作目录选择。尽可能使用 git clone,当 git TLS 不可用时回退到 codeload tarball 下载。 | | github_workspace_list | 列出由 github_workspace_add 克隆的仓库,包含本地路径和注册状态。 | 安装 from this checkout directory dsh plugin --profile web add . 或通过本地路径: dsh plugin --profile web add D:\keep_try\dsh-tool-github 安装或更新后重启 Web GUI(dsh web),以便加载新的 bundle。 使用示例 "帮我绑定 GitHub 账号" → github_bind (输入 token) "当前登录的 GitHub 账号是谁" → github_whoami "把 deepseek-ai/DeepSeek-Harness 加为工作区" → github_workspace_add "有哪些 GitHub 仓库可以作为工作区" → github_workspace_list "deepseek-harness 有多少 star" → github_repo "搜 python 的 PDF 解析库 stars:>3000" → github_search 配置 该插件接受一个 Config,包含: - token — GitHub 个人访问令牌(默认:"")。优先使用 github_bind(凭据存储)或 GITHUB_TOKEN 环境变量;解析顺序为凭据存储 → 插件配置 → 环境变量。 - baseUrl — API 基础 URL(默认 https://api.github.com;设置为你的 GitHub Enterprise URL,例如 https://github.example.com/api/v3)。 - timeoutMs — 每次调用的超时时间(默认 30000)。 - maxResults — 列表/搜索结果上限(默认 10)。 - workspaceRoot — github_workspace_add 克隆仓库的位置(默认 ~/.dsh/github-workspaces)。 示例 profile 补丁(~/.dsh/cordis.patch.yml 或 profiles//cordis.patch.yml): - id: tool-github config: maxResults: 20 workspaceRoot: D:\github-workspaces 账号绑定如何工作 github_bind 通过 GET /user 验证 token,然后通过 DSH 的凭据接缝(ctx.credentials)将其存储在 GITHUB_TOKEN 引用下——与 Models 页面写入的是同一个存储,持久化在 $DSH_HOME/.credentials.yaml 中。其他所有工具在每次操作时解析 token,因此更改凭据后无需重启即可在下次调用时生效。github_unbind 仅移除凭据存储中的绑定;环境变量和插件配置中的 token 是只读来源。 工作区集成如何工作 github_workspace_add 将 / 克隆到 //,然后调用 ctx.workspaceRegistry.create(path, title) —— 与工作区选择器渲染的是同一个注册表。该仓库会立即成为一个可选的工作区:在那里打开的会话会将该仓库作为其工作目录,代理的文件工具会在克隆内操作。 开发 npm install # 安装开发/测试依赖 npm run check # 对两个 bundle 进行语法检查 npm test # 完整测试套件(host + client + schema + contract) npm run test:host # 仅 host 测试(commands、schema、contracts) npm run test:client # client DOM 集成测试 CI(.github/workflows/ci.yml)在 push/PR 时运行:在 Node 20 和 22 上进行语法检查 + 完整测试套件,外加一个 npm pack --dry-run 包完整性检查任务。 许可证 MIT
扫码进群