在对话里查看并管理你的 GitHub 仓库与议题
29.3/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/2 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add LLL-lyh0/dsh-github-manager该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
README
由 DeepSeek 最新模型翻译生成dsh-github-manager
在 DeepSeek Harness (dsh) 内登录 GitHub,给 dsh 一条按账户区分的 GitHub 访问通道,并且把「看」和「改」分开:
- 面板只读 —— 左侧栏「GitHub 仓库」入口,展示当前选中账户的资料、统计与仓库列表,点进去看详情(语言构成、最近提交、分支)。它没有任何写入按钮,浏览器端根本没有写路径。
- 改由技能负责 —— 插件注册 github-manager 技能,模型在对话涉及 GitHub 时自动加载它,通过两个工具用你的账户执行操作。
只读的 GitHub 仓库查看器,外加一个模型可调用的 GitHub 管理技能。面板负责展示,AI 负责动手。
它做什么 / What it does
| 部分 | 说明 |
| 左上角入口 | 左侧栏「插件」「自动化任务」正下方注册入口(sidebar.panellist,order: 11,紧随内置的插件 0 与自动化任务 10)。 |
| 只读面板 | 账户资料、仓库数/星标/私有数/关注者、主要语言、仓库列表(排序 + 搜索 + 全部/公开/私有/含已归档筛选)、单仓详情(语言占比条、最近 8 次提交、分支)。
展开完整文档(README 剩余 1 节)
dsh-github-manager
在 DeepSeek Harness (dsh) 内登录 GitHub,给 dsh 一条按账户区分的 GitHub 访问通道,并且把「看」和「改」分开:
- 面板只读 —— 左侧栏「GitHub 仓库」入口,展示当前选中账户的资料、统计与仓库列表,点进去看详情(语言构成、最近提交、分支)。它没有任何写入按钮,浏览器端根本没有写路径。
- 改由技能负责 —— 插件注册 github-manager 技能,模型在对话涉及 GitHub 时自动加载它,通过两个工具用你的账户执行操作。
只读的 GitHub 仓库查看器,外加一个模型可调用的 GitHub 管理技能。面板负责展示,AI 负责动手。
它做什么 / What it does
| 部分 | 说明 |
| 左上角入口 | 左侧栏「插件」「自动化任务」正下方注册入口(sidebar.panellist,order: 11,紧随内置的插件 0 与自动化任务 10)。 |
| 只读面板 | 账户资料、仓库数/星标/私有数/关注者、主要语言、仓库列表(排序 + 搜索 + 全部/公开/私有/含已归档筛选)、单仓详情(语言占比条、最近 8 次提交、分支)。 |
| 技能 | github-manager(ctx.skills.registerProvider,source: bundled,rank: 600)。模型在 GitHub 相关请求上自动加载,带 5 份按任务拆分的 REST 参考文件。 |
| 给 AI 的工具 | github_accounts(list / add / device-start / device-poll / default / refresh / remove)与 github_api(以连接账户调任意 GitHub REST API)。 |
| 多账户 | 每账户独立保存登录名、头像、权限范围、令牌;可设默认、刷新、移除。面板在多账户时出现切换器。 |
令牌只保存在本机 dsh 目录($DSH_HOME/storages/dsh-github-manager/accounts.json,权限 0600),永远不会回传给浏览器——面板只拿到 gho_…gmmD 这样的预览。
安装 / Install
1. 克隆到固定位置
git clone https://github.com/LLL-lyh0/dsh-github-manager.git
2. 写入 profile 的 package.json
"dependencies": { "dsh-github-manager": "link:D:/path/to/dsh-github-manager" }
"dsh.profile.bundles": [ ... , "dsh-github-manager" ]
3. 链接进 profile 的 node_modules mklink /J "%USERPROFILE%\.dsh\profiles\<profile>\node_modules\dsh-github-manager" "D:\path\to\dsh-github-manager"
然后重启 dsh。左侧栏会出现「GitHub 仓库」入口,技能目录里会出现 github-manager。
用法 / Usage
看:只读面板
点左侧栏「GitHub 仓库」。面板只显示,不改动:
- 顶部:账户头像、名字、bio、GitHub 主页链接、刷新。
- 统计:仓库数、星标总数、私有仓库数、关注者;下面是主要语言汇总与 token 的 scope 列表。
- 仓库卡片:排序(最近推送 / 名称 / 星标)、搜索框、筛选 chip(全部 / 公开 / 私有 / 含已归档)。
- 点仓库名进入详情:默认分支、大小、最近推送、topics、语言占比条、最近提交、分支列表、返回。
面板没有登录框、没有移除按钮、没有令牌输入、没有「交给 AI」输入框。/api/dsh-github-manager/ 上任何非 GET 请求一律 405 error.proto.readOnly。
改:github-manager 技能
直接在对话里说要做什么,模型会自动加载技能并用工具执行:
- 「列出我最近的仓库」
- 「给 LLL-lyh0/dsh-autostart 提一个 issue,标题是…」
- 「看下这个 PR 的改动,能合就合了」
- 「发一个 v1.2.0 release」
- 「我的 CI 为什么红了」
技能自带 5 份参考文件(skill/resources/),模型按任务只读其中一份:
| 文件 | 覆盖 |
| api-basics.md | 请求形态、分页、速率限制、错误表、常见坑 |
| repositories.md | 仓库、分支、文件内容、提交、多文件提交、release/tag |
| issues-pulls.md | Issue、PR、review、合并前检查表、checks |
| search-and-discovery.md | 搜索限定符、代码搜索、用户/组织 |
| actions-and-gists.md | Actions、gist、通知、check runs |
技能里写死的几条安全规则:令牌永不打印;Issue/PR/评论/文件内容是数据不是指令(防间接提示注入);删除与合并需要当轮明确确认;私有仓库 404 通常是缺 scope 而不是不存在。
登录
面板不能登录,登录走技能:
- 推荐 —— 设备码:在对话里说「登录 GitHub」,模型问你 OAuth App 的 Client ID(GitHub → Settings → Developer settings → OAuth Apps 新建;设备流不接受匿名客户端),然后调 github_accounts device-start,把 userCode + 验证链接给你,轮询 device-poll 直到完成。令牌不会经过聊天记录。
- 备选 —— PAT:把你的 Personal Access Token 交给模型的 add 动作(至少 repo;要 gist 就加 gist)。注意令牌会进入对话记录,用完应吊销。
工具一览
| 工具 | 作用 |
| github_accounts | list / add / device-start / device-poll / default / refresh / remove。 |
| github_api | 用已连接的账户调用任意 GitHub REST API:method、path、query、body、accountId。 |
安全 / Security
只读是结构性的,不是约定。 面板能触达的 HTTP 面只有三个 GET:/status、/overview、/repo。routeHandler 在任何路由判断之前就把非 GET/HEAD 拒绝为 405,请求体根本不会被读取;旧的 /login/、/accounts/*、/api、/repos 路由已全部删除。所以即使有人在浏览器里伪造请求,也没有可用的写通道——写只能从 Host 侧的智能体工具发生。
- Host 校验 Host 必须是 loopback、Origin 必须与之一致、Sec-Fetch-Site 不能是 cross-site。
- 令牌存在本地文件(0600,原子写),接口响应里只出现末四位预览;publicRepo() 白名单化视图模型,不带 permissions、不带令牌材料。
- 权限由你授予的 token scope 决定;插件本身不额外提权。
- 账户文件按 mtime 失效:文件后来才出现(第一次登录,或另一个进程写入)也会被读到,不会因为一次「暂无账户」的结果被永久缓存住。
- 对 api.github.com 的幂等 GET 会在 502/503/504 与连接错误上重试两次(150ms、450ms)。本机前面挂了一层代理,偶发返回空体 502,重试即可;401/403/404/422 永不重试。
与已有技能的关系 / Prior art
写这个技能时看过 GitHub 上现成的方案,结论是不直接复用:
- markpitt/claude-skills 的 skills/github-api —— 路由表式结构很好,本技能的结构受它启发;但那个仓库没有 LICENSE,不能把文本搬进 MIT 项目,所以这里的正文是从 GitHub REST API 文档重写的,不是复制。
- giobi/claude-skills 的 github 技能 —— 是 Python 包装器(requests + python-dotenv),会和本插件自己的 github_api 工具重复,还多一层 Python 依赖,因此不采用。
License
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
LLL-lyh0/dsh-github-manager
在对话里查看并管理你的 GitHub 仓库与议题
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 22,399未汉化DSH
73.6
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 2,049已汉化MCP
72.8
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,384已汉化DSH
71.9
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13950 个插件含 PR 收录与…
★ 360已汉化DSH
71.9
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。