GitPanel
IntelliJ-style Git manager for the DSH web client: multi-repository discovery with submodules, branches, changes, commits and remotes in a full-page three-column panel 适合需要在 DSH 界面中进行多仓库、分支及提交管理的用户。
Install
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:relaxyabc/dsh-GitPanelREADME
Read the full README ↗使用
- 左侧面板栏的 Git 图标 → 全页三栏面板:左(分支 + 改动 + 提交框)、中(历史)、右(上:提交信息,下:该提交的文件改动)。
- 右侧边栏的 guide 胶囊里也有 Git:点击即打开全页面板并关掉那张标签页(布局按会话持久化,留下的标签页会跨刷新复活)。若控制器拒绝关闭,标签页里只显示一张不读仓库数据的兜底卡片。
- 顶栏常显工作区目录与仓库字段(下拉可切换,悬停见完整路径),当前分支以芯片展示并带 ahead/behind 计数;面板打开时自动选中当前会话所在的工作区,切换会话后面板跟随。
- 提交信息框里
Ctrl/Cmd+Enter直接提交。危险操作(hard reset、删除分支)有确认对话框;成功提示 4 秒后自动消失。
配置
配置在插件页面「已安装」分组里的 GitPanel 上(本包自己的配置位,不占官方分组),分「仓库发现」「差异显示」「文件预览」三组;输入后按「保存」写入 profile,三个字段都即时生效、无需重启。
| 配置项 | 类型 | 默认 | 说明 |
|---|---|---|---|
discoveryDepth | number(1–8) | 3 | 仓库发现向下递归的目录层数;运行时始终夹取在该区间内 |
wholeFileDiff | boolean | false | 开启后 diff 左右两栏显示整个文件而不只是改动片段 |
filePreviewFix | boolean | true | 修复 Chromium 上「文件资源服务不可用」的文件预览,见下 |
filePreviewFix 补偿的是 DSH 上游的一个缺陷(discussion #6437):dsh-client-resources 用 new URL(address).hostname 取协议键,而 Chromium 不把非特殊 scheme 的 authority 当作主机(new URL('dsh-resource://file/x').hostname 在 Node 上是 file、在 Chromium 上是 ''),于是每个资源地址都解析不出提供方,右侧边栏的文件预览只剩那句报错。本插件的修复只改 dsh-resource:// 这一类地址(其余地址、相对地址解析、非法地址抛错全部交回浏览器),代价是这类地址不是 instanceof URL、就地改写部件不回写整条地址(面板只读不改)。上游修好后可以关闭本项。