🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

Git 账号授权 thirsty5034/dsh-git-forge

DeepSeek 客户端v1.2.0
thirsty503456 天前有提交已提供中文文档扫描:含敏感能力兼容 / 相关生态

管理多平台 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 能力
装得上吗
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 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
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 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。
预览分享卡片长什么样 ↓thirsty5034/dsh-git-forge
分享 · DeepSeek Harness Hub
thirsty5034/dsh-git-forge

管理多平台 Git 账号,按项目授权并拦截越权推送

这是你的仓库?认领条目

回到顶部