revive/dsh-git-credentials ↗★ 1
dsh-git-credentials
Out-of-tree dsh plugin: GitLab, GitHub, Gitee, Gitea, and Bitbucket tokens stay out of the model context, stored encrypted (AES-256-GCM) in a plugin-owned file; the model calls forge API tools on demand, and the web settings page manages sites and tokens.
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:revive/dsh-git-credentials说明文档
阅读完整 README ↗dsh-git-credentials
English · 简体中文
DeepSeek Harness 的独立外挂插件:管理 GitLab、GitHub、Gitee、Gitea 与 Bitbucket 的 API token,token 值永不进入大模型的上下文。
模型工具只携带 token 的引用名(如 GITLAB_TOKEN),每次调用时才从插件自己的加密存储中解密一次,token 只出现在发出的 HTTP 请求头里。修改站点或轮换 token 后下一次调用立即生效,无需重启。
特性
- token 不进入模型上下文——工具参数、返回值、错误信息里只有业务数据(
site、project、path等) - 磁盘静态加密——AES-256-GCM 整体加密的数据文件 + 独立的 32 字节随机密钥文件(
0600、原子写入) - 按 provider 限定工具——
gitlab_*只见 GitLab 站点,github_*只见 GitHub 站点,gitee_*/gitea_*/bitbucket_*同理;未配置的 site/token 响亮失败并列出合法值 - Web 设置面板——添加/编辑/删除站点、写入或清除 token 值;任何响应都不携带 token 值,只报配置状态
- 动态加载/卸载——运行中的 GUI 直接热挂载/热卸载,无需重启
- 即时生效——每次工具调用读一份解密快照,改动和轮换立即生效
为什么不用 MCP server?
GitHub 发布了官方 MCP server,harness 也原生支持 MCP 客户端——如果只需要 GitHub,接入官方 MCP server 是更主流的选择,本插件的 github_* 工具确实与它功能重叠。
本插件的价值在 MCP 覆盖不到的地方:
| 官方 GitHub MCP | 本插件 | |
|---|---|---|
| 覆盖平台 | 只有 GitHub(GitLab 有官方 server;Gitee / Gitea / Bitbucket 依赖第三方 server,质量与维护参差) | 一个加密存储、一个设置面板、一套工具管 GitLab、GitHub、Gitee、Gitea、Bitbucket——含自托管 Gitea / GitLab |
| token 处理 | 每台 server 环境变量明文配置,无管理界面 | AES-256-GCM 加密存储 + token 引用名 + 设置页管理;token 值永不进入模型上下文 |
| 集成形态 | 多一层 MCP 代理进程 | 工具直接注册进 harness 工具注册表 |