管理多平台 Git 账号,按项目授权并拦截越权推送
34.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/thirsty5034/dsh-git-forge.git状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
生态插件
可安装,未声明 dsh 能力
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 56 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意npm 同名包「dsh-git-forge」归属 omsociety/dsh-git-forge,装到的可能不是本插件
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-git-forge @ 1.2.0
✓Node 引擎要求 >=18 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/31 17:45:12
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 14 处,展示前 14 条)
- 写入本地文件lib/index.js:62
mkdirSync(DATA_DIR, { recursive: true }) - 写入本地文件lib/index.js:63
try { chmodSync(DATA_DIR, 0o700) } catch { } - 读取本地文件lib/index.js:68
if (!existsSync(path)) return fallback - 读取本地文件lib/index.js:69
return JSON.parse(readFileSync(path, 'utf8')) - 写入本地文件lib/index.js:77
writeFileSync(path, JSON.stringify(data, null, 2) + '\n', { mode }) - 写入本地文件lib/index.js:78
try { chmodSync(path, mode) } catch { } - 发起网络请求lib/index.js:325
const res = await fetch(url, { headers, redirect: 'follow', signal: ac.signal }) - 读取本地文件lib/index.js:437
gitCredentialHelper: existsSync(HELPER_JS), - 读取本地文件lib/index.js:717
if (!existsSync(HELPER_JS)) { - 读取本地文件lib/index.js:731
prev = readFileSync(GITCONFIG_PATH, 'utf8') - 写入本地文件lib/index.js:736
writeFileSync(GITCONFIG_PATH, content, { mode: 0o600 }) - 写入本地文件lib/index.js:739
chmodSync(GITCONFIG_PATH, 0o600) - 发起网络请求lib/client.js:178
const response = await fetch(API + "/" + method, { - 执行外部命令固定命令lib/shared/remote-resolve.js:10
const r = spawnSync('git', args, {
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 管理多平台Git账号
- 按项目授权
- 拦截越权推送
DSH 社区插件:GitHub/Gitea 账号、项目授权、推送策略(better-sidebar)
README
由 DeepSeek 最新模型翻译生成dsh-git-forge
DeepSeek Harness 社区插件:在 dsh-better-sidebar 中提供 Forge 账号库 + 按项目授权 + push 策略。
- 账号库:GitHub / Gitea / GitLab / Gitee / Bitbucket
- 按项目授权(projectPathKey = 工作区 cwd)
- push 拦截:已授权项目下,bash 的 git push / git remote add|set-url 指向未授权 host 会被拒绝
- Token 存 $DSH_HOME/git-forge/secrets.json(0600),不进模型上下文
- 模型工具 GitForge(只读策略)
- Agent HTTPS git:侧栏授权后,agent bash 中的 git fetch/push 等可通过 Host credential helper 使用对应账号(token 永不进模型;同 host 多 token 账号时需只保留一个授权 = R1)
- UI 对齐 dsh-ssh-tunnel
SSH 远程与系统 gh auth 仍走本机 SSH/gh。HTTPS 在 DSH agent shell 下由本插件 helper 按项目授权注入;插件同时负责「这个项目允许推到哪」(push guard)。
展开完整文档(README 剩余 1 节)
dsh-git-forge
DeepSeek Harness 社区插件:在 dsh-better-sidebar 中提供 Forge 账号库 + 按项目授权 + push 策略。
- 账号库:GitHub / Gitea / GitLab / Gitee / Bitbucket
- 按项目授权(projectPathKey = 工作区 cwd)
- push 拦截:已授权项目下,bash 的 git push / git remote add|set-url 指向未授权 host 会被拒绝
- Token 存 $DSH_HOME/git-forge/secrets.json(0600),不进模型上下文
- 模型工具 GitForge(只读策略)
- Agent HTTPS git:侧栏授权后,agent bash 中的 git fetch/push 等可通过 Host credential helper 使用对应账号(token 永不进模型;同 host 多 token 账号时需只保留一个授权 = R1)
- UI 对齐 dsh-ssh-tunnel
SSH 远程与系统 gh auth 仍走本机 SSH/gh。HTTPS 在 DSH agent shell 下由本插件 helper 按项目授权注入;插件同时负责「这个项目允许推到哪」(push guard)。
环境要求
- 已安装 dsh-better-sidebar(≥ 0.12)的 web profile
- Node.js 18+
安装
macOS / Linux(Windows 可用 Git Bash / WSL):
curl -fsSL https://raw.githubusercontent.com/thirsty5034/dsh-git-forge/main/scripts/install.sh | bash
Windows(PowerShell 5.1+ / pwsh):
irm https://raw.githubusercontent.com/thirsty5034/dsh-git-forge/main/scripts/install.ps1 | iex
或直接用 DSH CLI(在发布到 npm 之前默认走 GitHub 源):
export DSH_HOME=${DSH_HOME:-$HOME/.dsh}
dsh plugin --profile web add "dsh-git-forge@github:thirsty5034/dsh-git-forge"
dsh --profile web --dump-config | grep git-forge
装完后:重启 dsh web,浏览器 硬刷新(Cmd/Ctrl+Shift+R)。
可选参数 / 本地 link / 日后 npm
curl -fsSL .../install.sh | bash -s main --restart
bash scripts/install.sh --from npm 0.1.1
dsh plugin --profile web add "dsh-git-forge@link:/path/to/dsh-git-forge"
可发现性
- GitHub topics:dsh-plugin、deepseek-harness、dsh(dsh.so 自动收录所需)
- 当前请从 GitHub 安装:见上文 安装
- 商店目录可能滞后于爬虫;以本仓库为准
数据目录
$DSH_HOME/git-forge/(建议 0700):
| 文件 | 用途 |
| accounts.json | 账号元数据(无 token) |
| secrets.json | token(0600) |
| grants.json | projectPathKey → accountIds[] + enforce / unbound 策略 |
侧栏
1. 项目授权 — 当前项目可用账号 + 是否 enforce push
2. 账号库 — 增删改、探测 API token
3. 策略状态 — 当前允许的 gitHost;全局「未绑定项目」策略
模型工具
GitForge action=list_accounts
GitForge action=get_policy
GitForge action=list_project_accounts
GitForge action=check_remote url=git@github.com:org/repo.git
Agent HTTPS 与项目路径
- 授权 key = DSH 会话工作区(shell 注入 DSH_GIT_FORGE_PROJECT),不是子仓路径
- helper:env → cwd 精确匹配 → /workspace 下向父目录 walk
- R1:同 host 仅当恰好 1 个已授权 token 账号时自动注入
- push guard:命令中的 URL 以及 裸 git push/git push origin(解析 remote)
安全
- API / 工具结果不得包含 token
- push 策略在 Host tools.guard 中硬拦截
- Agent HTTPS:credential helper 仅在 Host 内读 secrets.json;同 host 多 token 账号时不自动选号(R1)
- 未给项目配置任何授权时,push guard 默认 不拦截(便于渐进启用);helper 也不会凭空给凭据
开发
npm test
npm run check
./scripts/sync-to-dsh.sh
许可证
MIT — 见 LICENSE。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
thirsty5034/dsh-git-forge
管理多平台 Git 账号,按项目授权并拦截越权推送
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 22,225未汉化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,370已汉化DSH
71.9
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13941 个插件含 PR 收录与…
★ 355已汉化DSH
71.8
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7
这是你的仓库?认领条目