READMESource: main@b11ccc87
dsh-gh-vault
下载安装
到 Releases 下载安装包,解压后复制到 ~/.dsh/profiles/node_modules/,再在 profile 的 cordis.patch.yml 里注册。
| 安装包 | 大小 | SHA-256 |
|---|---|---|
dsh-gh-vault-1.0.0.zip |
5.7 KB | 66abd83635541120e0bfb07b0b66c7c09010271a0bb4059753cc45db300e411c |
把 GitHub 令牌加密放在本机,让 DeepSeek Harness(DSH)的 Agent 代发 GitHub API 请求,令牌不进入对话、不出现在工具结果里。
功能
- 本机加密:令牌用 AES-256-GCM 加密后写入
$DSH_HOME/plugin-data/dsh-gh-vault/token.json,密钥单独存在key.bin - 一次保存:保存时可先调用
/user验证令牌有效,失败不会写入 - 代发请求:
gh_vault_api直接代理 GitHub REST API,模型只看得到响应内容 - 最小暴露:日常只返回掩码(如
ghp_…a1b2);明文需要显式传confirm="REVEAL",删除需要confirm="DELETE"
安装
方式一:本地目录
# 1. 放进 profile 的 node_modules
cp -r dsh-gh-vault ~/.dsh/profiles/node_modules/dsh-gh-vault
# 2. 在 ~/.dsh/profiles/web/cordis.patch.yml 里插入
- insert:
- id: dsh-gh-vault
name: dsh-gh-vault
重启 dsh web 即可。
方式二:从压缩包
解压后把整个目录复制到 ~/.dsh/profiles/node_modules/dsh-gh-vault/,再按上面的 YAML 注册。
toolsseam 不支持热重载,改完插件源码或首次安装后需要重启。
配置
| 字段 | 类型 | 默认 | 说明 |
|---|---|---|---|
dataDir |
string | $DSH_HOME/plugin-data/dsh-gh-vault |
自定义数据目录 |
- insert:
- id: dsh-gh-vault
name: dsh-gh-vault
config:
dataDir: D:/dsh-data/gh-vault
工具
| 工具 | 作用 | 关键参数 |
|---|---|---|
gh_vault_status |
查看是否保存、掩码、保存时间 | 无 |
gh_vault_save |
加密保存令牌 | token(必填)、validate |
gh_vault_api |
代发 GitHub REST API | path(必填)、method、body |
gh_vault_reveal |
返回令牌明文 | confirm="REVEAL" |
gh_vault_clear |
删除令牌与密钥 | confirm="DELETE" |
示例:
gh_vault_api(path="/repos/owner/repo/issues", method="POST", body={ title: "标题" })
数据与网络
| 位置 | 内容 |
|---|---|
token.json |
令牌密文、IV、认证标签、保存时间 |
key.bin |
32 字节随机密钥,权限 0600 |
- 只访问
https://api.github.com - 不读取
~/.gitconfig、~/.config/gh或其他凭据 - 不把令牌写入日志、不放进工具返回值(除
gh_vault_reveal)
安全说明
- 加密密钥与密文在同一目录,能读这个目录的本机进程仍可解密;它的作用是避免令牌以明文落盘、被误同步到仓库
- 令牌明文会进入本轮对话上下文,
gh_vault_reveal请只在核对时使用 - 建议使用细粒度 PAT,只授予需要的仓库与权限
许可
MIT
No comments yet. Be the first to write one.