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

Git 增强面板 bitxeno/dsh-git-plus

DeepSeek Harness
bitxeno24 天前有提交已提供中文文档扫描:含敏感能力

在侧栏完成提交、分支与冲突处理等 Git 操作

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/8 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add bitxeno/dsh-git-plus
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么
dsh 原生插件 · dev
装得上吗
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 24 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 11 处,展示前 11 条)
  • 读取本地文件
    lib/host/index.js:108
    return { text: await readFile(read.spillPath, "utf8"), lossy: false };
  • 读取本地文件
    lib/host/index.js:2001
    const raw = await readFile2(path, "utf8");
  • 读取本地文件
    lib/host/index.js:2087
    stat: async (p) => stat(p),
  • 读取本地文件
    lib/host/index.js:2089
    readdir: async (p) => (await readdir(p, { withFileTypes: true })).map((e) => ({ name: e.name, isDirectory: e.isDirectory() })),
  • 删除本地文件递归
    lib/host/index.js:2092
    await rm(p, { force: true, recursive: true });
  • 写入本地文件
    lib/host/index.js:2095
    await writeFile(p, content, "utf8");
  • 请求外部主机www.gravatar.com
    lib/client.js:683
    `),r=0,o=0,i=!0,a=!1,s=0;for(;s<n.length&&!n[s].startsWith("@@");s++);for(;s<n.length;s++){let d=n[s];if(d.startsWith("@@")){let u=ki.exec(d);if(u){le
  • 请求外部主机github.com
    lib/client.js:683
    `),r=0,o=0,i=!0,a=!1,s=0;for(;s<n.length&&!n[s].startsWith("@@");s++);for(;s<n.length;s++){let d=n[s];if(d.startsWith("@@")){let u=ki.exec(d);if(u){le
  • 请求外部主机api.github.com
    lib/client.js:683
    `),r=0,o=0,i=!0,a=!1,s=0;for(;s<n.length&&!n[s].startsWith("@@");s++);for(;s<n.length;s++){let d=n[s];if(d.startsWith("@@")){let u=ki.exec(d);if(u){le
  • 发起网络请求
    lib/client.js:683
    `),r=0,o=0,i=!0,a=!1,s=0;for(;s<n.length&&!n[s].startsWith("@@");s++);for(;s<n.length;s++){let d=n[s];if(d.startsWith("@@")){let u=ki.exec(d);if(u){le
  • 写入剪贴板
    lib/client.js:683
    `),r=0,o=0,i=!0,a=!1,s=0;for(;s<n.length&&!n[s].startsWith("@@");s++);for(;s<n.length;s++){let d=n[s];if(d.startsWith("@@")){let u=ki.exec(d);if(u){le
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
涉及外部主机:www.gravatar.com、github.com、api.github.com

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh@deepseek-ai/dsh-session@deepseek-ai/dsh-subprocess@deepseek-ai/dsh-typert-protocol@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 侧栏完成提交操作
  • 分支管理
  • 冲突处理

为 DeepSeek Harness 网页界面做的 IDE 风格 Git 面板

README

由 DeepSeek 最新模型翻译生成
dsh-git-plus DeepSeek Harness Web GUI 的 IDE 风格 Git 面板。侧栏提供 Local Changes(本地变更)与 All Commits(全部提交),以及分支 / 标签 / Stash 管理、Fetch / Pull / Push 弹窗、带冲突处理的合并,还有输入框上的 zsh 风格分支标记。 安装 dsh plugin --profile web add git+ssh://git@github.com/bitxeno/dsh-git-plus.git 包发布到 npm 后也可以用registry形式安装: dsh plugin --profile web add dsh-git-plus 已有安装用同一条命令即可更新;需要固定版本时在包名后追加 @<版本>。安装后重启 dsh web(只改客户端时刷新浏览器即可)。 用法 面板以 Git Plus 标签出现在会话视图中。 侧栏 —— 顶部导航切换 Local Changes 与 All Commits;下方是同步工具条(fetch / pull / push),再往下是可折叠的 Branches / Tags / Stashes / Remotes 分组: - Fetch —— 选择单个远程或获取所有远程(始终 --prune)。
展开完整文档(README 剩余 1 节)
dsh-git-plus

DeepSeek Harness Web GUI 的 IDE 风格 Git 面板。侧栏提供 Local Changes(本地变更)与 All Commits(全部提交),以及分支 / 标签 / Stash 管理、Fetch / Pull / Push 弹窗、带冲突处理的合并,还有输入框上的 zsh 风格分支标记。

安装

dsh plugin --profile web add git+ssh://git@github.com/bitxeno/dsh-git-plus.git

包发布到 npm 后也可以用registry形式安装:

dsh plugin --profile web add dsh-git-plus

已有安装用同一条命令即可更新;需要固定版本时在包名后追加 @<版本>。安装后重启 dsh web(只改客户端时刷新浏览器即可)。

用法

面板以 Git Plus 标签出现在会话视图中。

侧栏 —— 顶部导航切换 Local Changes 与 All Commits;下方是同步工具条(fetch / pull / push),再往下是可折叠的 Branches / Tags / Stashes / Remotes 分组:

- Fetch —— 选择单个远程或获取所有远程(始终 --prune)。
- Pull —— 选择远程与远程分支(默认取上游分支),显示合并目标分支,可勾选 --rebase 与 --autostash。
- Push —— 选择本地分支与目标 远程/分支(一键新建远程分支);「建立跟踪引用(--set-upstream)」仅在目标为远程新分支时出现,另可选 --tags 与 --force。
- 分支行显示领先/落后计数;远端没有对应分支的行图标置灰。点击分支/标签过滤 All Commits,双击检出,右键打开行菜单(检出、合并、在此新建分支/标签、复制、删除)。
- Branches 与 Remotes 都按 / 折叠成分组;默认分支置顶显示(本地为 main 等,Remotes 为 origin/main)。Remotes 中默认分支不脱离其远程分组,而是留在 origin 分组内并排在第一位。
- Stash 行支持应用 / 应用并删除 / 删除(删除需二次点击确认)。

Local Changes —— 逐文件或批量暂存 / 取消暂存 / 放弃,提交与 amend,逐文件差异。

All Commits —— 带 graph 轨道的提交历史,按消息或哈希前缀搜索,按作者与时间过滤;提交详情面板包含提交正文、变更统计、逐文件差异(统一 / 对照视图、图片对比、超大差异延迟加载)、文件树与文件内容。任意提交行可直接发起建分支 / 打标签 / 检出。

冲突 —— 合并或拉取产生冲突时出现横幅,列出冲突文件及各自的已解决状态;可在横幅上继续(git add -A 后提交)或中止。

输入框显示 zsh 风格的 <仓库名> (分支) 标记(可在设置中关闭;关闭后改为在 Git 标签旁显示状态圆点)。

设置

插件详情页有两个即时生效的选项:输入框分支标记开关、差异对比默认视图(统一 / 对照)。

配置

宿主配置写入选定 profile 的 cordis.patch.yml:

- id: git-plus
config:
timeoutMs: 8000
networkTimeoutMs: 300000
maxBytes: 4194304
maxChanges: 1000
refreshIntervalMs: 30000
defaultDiffView: unified

- timeoutMs 限制单条本地 git 命令(默认 8000 毫秒)。
- networkTimeoutMs 限制网络类命令——fetch / pull / push(默认 300000 毫秒)。
- maxBytes 限制单条命令的 stdout 上限(默认 4 MiB)。
- maxChanges 限制变更列表长度(默认 1000)。
- refreshIntervalMs 是快照轮询间隔(默认 30000 毫秒)。

宿主配置变更后需要重启 dsh web。

开发

npm install
npm run check # 类型检查 + 单元测试
npm run build # 重新构建 lib/(宿主 + 客户端 bundle)
npm run deploy:local # 把 lib/ 同步到本地 dsh profile

lib/ 随仓库提交,也是实际发布的内容;deploy:local 会把它同步到 ~/.dsh/profiles/web/node_modules/dsh-git-plus/lib 供本地调试。

发布:推送一条 chore(release): bump version to X.Y.Z 提交——workflow 会打 vX.Y.Z 标签、创建 GitHub Release(发布说明由 changelogithub 生成),并在配置了 NPM_TOKEN secret 的情况下发布 npm。

发布 npm(一次性配置)

npm 发布由仓库 secret NPM_TOKEN 控制开关——没配就只发 GitHub Release:

1. 建 token:npmjs.com → 右上角头像 → Access Tokens → Generate New Token。用 Automation(classic token),或 scope 限定到 dsh-git-plus 包且有读写权限的 Granular Access Token。建完立刻复制——只显示一次。
2. 用 GitHub CLI 加到仓库: gh secret set NPM_TOKEN --repo bitxeno/dsh-git-plus 按提示粘贴 token,然后验证: gh secret list --repo bitxeno/dsh-git-plus

3. 之后正常发版即可自动发布(正式版打 latest 标签,带 - 的预发布打 next)。

注意:npm 包名必须是没被占用的(首次发布即创建,可先本地 npm publish --dry-run 验证)。轮换 token 时去 npmjs.com 重新生成再更新 secret 的值。
预览分享卡片长什么样 ↓bitxeno/dsh-git-plus
分享 · DeepSeek Harness Hub
bitxeno/dsh-git-plus

在侧栏完成提交、分支与冲突处理等 Git 操作

回到顶部