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

Git 面板 a792883583/dsh-git-panel

DeepSeek Harnessv0.1.20
a79288358348 天前有提交已提供中文文档扫描:含敏感能力

在聊天区管理分支并查看提交图谱与改动

30.6/100
综合分
1
GitHub 星标
367
npm 周下载
—/5
用户评分

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-git-panel
npm 源 · dsh-git-panel 的发布者账号已校验与本仓库一致

状态速览

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

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-git-panel @ 0.1.20
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/13 15:39:53

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

可执行外部命令读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 11 处,展示前 11 条)
  • 读取本地文件
    lib/index.js:61
    const credArgs = existsSync(credPath) ? [
  • 执行外部命令固定命令
    lib/index.js:71
    const child = spawn("git", fullArgv, {
  • 读取本地文件
    lib/index.js:299
    if (existsSync(mergeMsgPath)) {
  • 读取本地文件
    lib/index.js:300
    mergeMsg = readFileSync(mergeMsgPath, "utf8").split("\n")[0].trim();
  • 读取本地文件
    lib/index.js:390
    const info = await stat(absolute);
  • 读取本地文件
    lib/index.js:394
    const buffer = await readBytes(absolute);
  • 读取本地文件
    lib/index.js:928
    canonical = await realpath2(path);
  • 发起网络请求
    lib/client.js:50
    response = await fetch(path, {
  • 写入剪贴板
    lib/client.js:2152
    navigator.clipboard.writeText(c.file);
  • 写入剪贴板
    lib/client.js:2224
    navigator.clipboard.writeText(c.file);
  • 写入剪贴板
    lib/client.js:2565
    void navigator.clipboard.writeText(menu.row.name);
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

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

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-host-webserver@deepseek-ai/dsh-subprocess@deepseek-ai/dsh-workspace@deepseek-ai/dsh-client-ui-sidebar-right@deepseek-ai/dsh-client-ui-sidebar-documentpreview
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 管理分支
  • 查看提交图谱
  • 查看改动
v0.1.202026-09-30
· 🐛 修复 升级官方 0.2.0-rc.1 后,Git 面板永远显示「打开项目会话后显示 Git 面板」(工作区明明有 git)。 · 根因:官方破坏性移除了会话列表快照的 current 字段 | 官方版本 | SessionListState | | --- | --- | | 0.1.5-rc.2 / 0.1.6-alpha.2 | 有 current: SessionId \| undefined ✅ 插件正常 | | 0.2.0-rc.1 | current 被移除,只剩 ids + byId ❌ 插件失效 | 插件此前用 sessions.list.getSnapshot().current 取当前会话,新版下恒为 undefined → cwd 恒为空 → 面板永远停在空状态。 · 修法:改用官方插槽标准 props sessionId sidebar.right.pane.tab 的 scope 是 'session',官方会把 SessionStandardProps.sessionId 注入内容体。官方运行时代码(ui-session): props: ["sessionId"], resolve: (binding) => ({ …, props: { sessionId: binding.sessionId } }) 官方插槽契约原话:"everything a body needs at runtime arrives in its props"。 BranchChip 早已正确使用 sessionId,本次是让 Git 面板本体与后台轮询与之一致。 · 同时修复后台变更轮询 变更清单轮询(预热装饰缓存与文件树标记)不在任何插槽内、拿不到标准 props。新增 client/active-session.ts 共享暂存:由会话作用域组件(BranchChip / GitTabBody)写入当前 sessionId、轮询读取;尚无组件挂载时退化为列表首个会话(ids[0])。 --- · 环境要求 · 最低版本:DSH 宿主 ≥ 0.1.5-alpha.1(@deepseek-ai/dsh-client-ui-sidebar-right ≥ 0.1.5-alpha.1) · 已验证:0.1.5-rc.2、0.1.6-alpha.1/2、0.2.0-rc.1(当前最新) · 本修复跨版本通用:sessionId 标准 prop 在三个版本中均存在,因此不抬高最低版本要求 · ⚠️ 三语 README 已新增 Requirements 章节,并明确警告不要再依赖已移除的 current 字段 · 📦 安装 / 升级 dsh plugin --profile web add dsh-git-panel npm: 完整变更见 CHANGELOG.md
v0.1.192026-09-16
· 修复 工作区启动卡与官方卡片样式不一致(「Git 版本控制与提交图谱」那张卡看起来比「工作区文件」「新建终端」瘦、行距紧)。 根因:sidebarRightTabs.register 的 guide 只提供了 title(共 3 个字段),而官方 provider(sidebar-files / sidebar-terminal)使用的是 id + order + title + description + icon 五件套: · 缺 description → 卡片只剩一行标题,主副行距与整体留白都和官方对不齐 · 缺 icon → 左侧图标位空缺,视觉重心偏移 本次修复: · guide 按官方契约补齐五件套(id: 'git'、order: 12、title、description、icon) · 新增 GitGuideIcon:26px,契约与官方一致({ size, className },尺寸由官方卡片注入、颜色继承 currentColor 以跟随主题与悬停态) · 新增三语副标题 guide.gitDescription(中 / 英 / 西) 修复后与另外两张卡在宽度、高度、圆角、边框、内间距、图标尺寸、主副标题字号与行高上完全一致。 关于终端卡右侧的 ▾ 展开箭头:那是 terminal provider 独有的 shell 选择功能(可选 bash / zsh / fish),本插件没有对应能力,因此不提供该箭头——属功能差异,非样式差异。
v0.1.182026-09-16
· 安全修复(推荐升级) 0.1.17 的文档截图直接取自真实项目仓库,导致内部项目名、分支名(如 #9649-daochat-* 等)、提交信息与内部 Git 地址被写入公开仓库与 npm 包;其中一张图甚至未渲染出分支内容(非 git 目录),既泄露数据又未展示功能。 本版本处理: · 重写 docs/preview.html 为全虚构示例(示例仓库 example-shop、虚构分支/提交/代码文件),并新增 conflict / diff / tree 三个渲染场景 · 用 Chrome headless 渲染该页面重截全部 7 张功能图(branches / graph / chip / sidebar-tab / git-conflict-resolve / git-diff-split / git-filetree-status) · 三语 README 截图引用统一追加 ?v=0.1.18 · 已全量扫描确认 docs 与 README 中不含任何真实仓库/分支/账号信息 已在 npm 将 0.1.17 标记为 deprecated,并删除了对应的 GitHub Release。请升级到 0.1.18+。 · 0.1.17 的功能内容(本版完整保留) · 统一图标系统(29 个图标,同一网格/线宽/圆角),根除 emoji / 字符字形 / 手写 SVG 混用 · 即时 tooltip(替代原生 title 的 1 秒延迟) · 操作 loading 反馈(进度条 + 转圈,精确落在被触发入口) · 「取消」真正中止后台 git 进程 · 全量多语言(中/英/西,移除硬编码中文与文案内 emoji) · git 执行对齐 VS Code(stdio[0]='ignore',永不可交互提问) · 修复:macOS 钥匙串弹窗卡死、凭据明文写入 .git/config、变更列表丢失未暂存文件、同步按钮误删改动、取消按钮样式错乱
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
dsh-git-panel English · Español DSH Web GUI 的 Git 面板插件:分支管理(切换 / 拉取 / 抓取 / 重命名 / 删除 / 合并)+ GitLens 风格的提交图谱。 功能 - 分支面板(聊天区右侧): - 双行卡片式布局:分支名占据完整上行空间(超长分支名不再被挤压截断),提交时间与 Commit 信息位于独立下半行 - 搜索与快速过滤:分支列表顶部配备实时搜索框,支持按分支名或提交信息快速过滤 - 本地分支:当前分支高亮,显示相对上游的 ↑ahead / ↓behind,双击切换分支(当前分支双击为拉取) - 远程分支:双击检出(自动创建本地跟踪分支) - 右键菜单:拉取更新 / 抓取全部 / 复制分支名 / 重命名 / 删除 / 合并至当前分支(远程分支为删除远程分支) - 一键拉取当前分支、全部抓取(git fetch --all --prune);拉取/推送/同步进行中会显示进度条与转圈动画,并可随时取消(真正中止后台 git 进程) - 分支胶囊(输入框上方):显示当前分支,点击展开本地分支列表快速切换 - Git 图谱:提交 DAG 泳道图(lane 算法),三栏标题(线图 / 提交 / 分支),提交列左右两侧可拖拽调宽(宽度持久化),点击节点查看提交详情;虚拟化渲染——只绘制可视区域,大仓库滚动流畅
展开完整文档(README 剩余 1 节)
dsh-git-panel

English · Español

DSH Web GUI 的 Git 面板插件:分支管理(切换 / 拉取 / 抓取 / 重命名 / 删除 / 合并)+ GitLens 风格的提交图谱。

功能

- 分支面板(聊天区右侧):
- 双行卡片式布局:分支名占据完整上行空间(超长分支名不再被挤压截断),提交时间与 Commit 信息位于独立下半行
- 搜索与快速过滤:分支列表顶部配备实时搜索框,支持按分支名或提交信息快速过滤
- 本地分支:当前分支高亮,显示相对上游的 ↑ahead / ↓behind,双击切换分支(当前分支双击为拉取)
- 远程分支:双击检出(自动创建本地跟踪分支)
- 右键菜单:拉取更新 / 抓取全部 / 复制分支名 / 重命名 / 删除 / 合并至当前分支(远程分支为删除远程分支)
- 一键拉取当前分支、全部抓取(git fetch --all --prune);拉取/推送/同步进行中会显示进度条与转圈动画,并可随时取消(真正中止后台 git 进程)
- 分支胶囊(输入框上方):显示当前分支,点击展开本地分支列表快速切换
- Git 图谱:提交 DAG 泳道图(lane 算法),三栏标题(线图 / 提交 / 分支),提交列左右两侧可拖拽调宽(宽度持久化),点击节点查看提交详情;虚拟化渲染——只绘制可视区域,大仓库滚动流畅
- 写操作条(面板顶部,位于标签页下方):
- 提交:输入提交信息回车即 git add -A && git commit -m
- 推送:一键 git push 当前分支
- 暂存 / 恢复暂存:git stash push(可带说明)/ git stash pop
- 状态:显示当前工作区变更文件数(git status --porcelain)
- 变更文件 + 行内着色 Diff:写操作条下方列出未提交的变更文件(状态码 + 路径),点击任意文件查看与 HEAD 的完整 diff,新增行(绿色 +)、删除行(红色 -)与块头(蓝色 @@)带精细高亮——提交前清晰审核改动
- 文件树改动标记(VS Code 观感):右侧栏「文件」树里,有改动的文件名后直接跟状态字母并给名字上色(M 修改 / A 新增 / U 未跟踪 / D 删除 / R 重命名 / C 冲突),含改动的目录带一个圆点;标记跟随 git status 自动刷新,不需要手动刷新文件树
- Git 对比视图(VS Code 风格双栏 Diff):在有改动的文件上点一下,直接在右侧栏打开该文件的变更对比
- 左栏是 HEAD 原始版本、右栏是工作区最新内容,行号严格对齐,新增 / 删除 / 修改行分别着色
- 支持单栏 / 双栏切换、折叠未改动区域(默认保留 3 行上下文,点击展开)、自动换行开关、字号缩放,以及直接编辑文件内容
- 头部显示 +新增 / −删除 统计;「源码」一键回到官方文本预览,「暂存」一键 git add,「保存」把改动写回工作区
- 只有确有改动的文件会被这个视图接手,没有改动的文件仍然使用官方预览,两者互不干扰
- 合并冲突一键解决(全景行号上下文流):
- 首屏天然置于冲突核心,前后紧邻保留 8 行清晰代码上下文,远处无关代码折叠为可展开条,行号绝对连贯
- 自动识别 >>>>>> 冲突块,每块提供 「✔ 采用当前更改」、「✔ 采用传入更改(分支名)」、「✔ 两者都保留」 三个一键动作
- 处理完毕点击右上角「保存并解决冲突」直接写回工作区并移出冲突态
- 免终端原位凭据保存(VS Code 式体验):
- 遇到企业私有 GitLab / GitHub 缺少凭据时,面板内原位弹出优雅配置卡片,输入一次自动记住,终生免密直连,绝不再报 OAuth 弹窗阻断
- VS Code 级智能无感同步(Sync):
- 仅超前时直接极速 push,有落后时才执行安全 pull,彻底废除强制 --rebase,绝无变基死锁冲突
- 自动脱离残留的变基中间态(自动 rebase --abort 救援)
- 会话上下文一键智能注入:
- 情境感知 Prompt 引擎:检测到冲突时,按钮自动切换为「💬 将冲突分析带入对话」,一键生成针对该冲突文件的专业排查指令;无冲突时生成 Commit 审查指令,全面支持中/英/西三语
- 最新 Lexical 编辑器完美兼容:全面适配 DSH Web 最新的富文本输入框,点击秒级填入
- 单文件精准操作:每个暂存/未暂存文件均提供「复制相对路径」「向 Agent 提问此文件」,以及未暂存文件的「放弃更改」二次确认回滚;所有按钮为统一线性图标,鼠标悬停即时显示中文/英文/西语提示
- 分支极速更新与并发防重入:
- 本地分支右侧的落后(↓101)胶囊徽章支持直接点击一键拉取
- 右键菜单集成「⬇️ 拉取更新 (Pull)」与「🔄 抓取全部 (Fetch all)」,支持严格防重入锁与「✕ 取消」操作
- 图谱提交操作:点击图谱中的提交节点,可一键 cherry-pick 到当前分支 或 撤销该提交(git revert --no-edit)
- 统一图标系统 + 即时提示:
- 全插件所有图标来自唯一图标库(同一 16×16 网格、同一线宽、同样的圆角端点),不再混用 emoji 与字符字形,视觉风格完全一致
- 所有图标按钮悬停立即弹出说明浮层(非浏览器原生 title 的 1 秒延迟),浮层不会被侧栏裁切
- 多语言:自动跟随 DSH Web 界面语言(中文 / 英文),西班牙语浏览器自动切换西班牙语,默认简体中文;界面文案与错误提示均已完整覆盖三语
- 官方右侧栏原生标签页:Git 面板作为右侧栏的一等公民标签与「文件」并列,展开、收起、宽度拖拽、多标签切换全部由官方侧边栏接管,不再改写页面布局
- 跟随当前会话工作目录:切换项目会话自动重新绑定
- 明暗主题跟随 DSH Web GUI

界面预览

文件树改动标记(有改动的文件名后跟状态字母并着色,含改动的目录带圆点,与 VS Code 资源管理器一致):

文件树改动标记

Git 对比视图(全屏双栏 Diff,行号对齐,未改动区域可折叠,头部含增删统计与操作按钮): Git 对比视图

合并冲突一键解决(全景行号上下文)(冲突核心与上下各 8 行代码直接置于首屏并带行号,远处未冲突区自动折叠;三动作直接落笔,保存即写回):

合并冲突解决

官方右侧栏原生标签页(与内置「文件」并列,展开/收起、宽度拖拽、标签切换全部由官方侧边栏接管):

右侧栏中的 Git 标签页

分支面板(本地/远程分支、ahead/behind、双击切换、右键菜单):

分支面板

分支胶囊(输入框上方快速切换分支):

分支胶囊

提交图谱(三栏可拖拽列宽、虚拟化滚动):

提交图谱

安装

dsh plugin --profile web add dsh-git-panel

重启 dsh web,打开绑定 git 仓库的项目会话,然后点开右上角的右侧栏,选择 Git 标签页。

运行环境要求:需要 当前这套 DSH Web(>=0.1.5-alpha.1,推荐 0.1.6-alpha.1 及以上;即带官方右侧栏多标签框架 @deepseek-ai/dsh-client-ui-sidebar-right 的版本)。
文件树改动标记、Git 对比标签依赖右侧栏的标签类型注册与文件资源地址;「在官方文件预览里手动切换到 Git 变更对比」还依赖 DSH 自带的 @deepseek-ai/dsh-client-ui-sidebar-documentpreview(0.1.5 起的官方 web bundle 默认包含)。
在更早的 DSH(例如 0.1.2-rc.1)上这些能力不会生效——那些版本没有右侧栏标签注册表,也没有统一的 dsh-resource://file 地址模型。

本地开发时可用 dsh plugin --profile web add link:/path/to/dsh-git-panel 以链接方式安装,修改源码后 npm run build 并刷新页面即可生效。

反馈

使用中遇到问题或有功能建议?欢迎到 GitHub Issues 反馈,帮助我们把插件做得更好。

License

MIT
预览分享卡片长什么样 ↓a792883583/dsh-git-panel
分享 · DeepSeek Harness Hub
a792883583/dsh-git-panel

在聊天区管理分支并查看提交图谱与改动

这是你的仓库?认领条目

回到顶部