KannaKuron/dsh-ide-git
DSH plugin: an IDE-grade Git tool window as a native dsh-better-sidebar tab — branch tree, commit graph, changes, commit details, JetBrains-style actions, in the right sidebar and the bottom panel. | DSH 插件:IDE 级 Git 工具窗口,以 dsh-better-sidebar 原生 Tab 挂载——分支树 / 提交图谱 / 变更与提交详情 / JetBrains 风格操作,右侧栏与底部面板双布局自适应。
Project Overview项目介绍
dsh-ide-git is a native Cordis plugin authored specifically for DeepSeek Harness (DSH), shipping under the dsh- namespace and declaring @deepseek-ai/dsh >=0.1.2-0 as both engines.dsh and peerDependencies, which means DSH 0.1.7+ will refuse to load it unless the peer range is satisfied. It bundles a bridge-manifest, mounts a single prefix route /dsh-ide-git/api with 32 methods on the host web server, and registers its panel via window.__ModuleLoader__.load({ id, factory }), with no build step required. Installation runs dsh plugin --profile web add dsh-ide-git and a subsequent dsh web restart, after which the panel appears in the Guide page capsule and, if the optional base dsh-better-sidebar is installed, also joins its Tab system and bottom workbench.
The workflow mirrors JetBrains' Git tool window: a grouped branch tree on the left (HEAD / local / remote / tags with ahead/behind badges and worktree markers), a lane-based commit graph in the middle with pagination of 120 entries per page, and a right column for staged / changed / untracked groups plus a multi-line commit box. Selecting a commit opens full author and date metadata, file-level change counts, and a red-green line-numbered diff with hunk highlighting. Action buttons (checkout, branch, delete, compare, stash, tag, cherry-pick, revert, reset, fetch, pull --ff-only, push) are contextually enabled or disabled, dangerous actions require typed confirmation, and deletions record an object id so a toast offers one-click undo within thirty minutes, with a top-bar entry covering anything missed.
It targets developers who want a JetBrains-style Git workflow inside DSH's web profile and only relies on three host contracts: webServer.register({ kind: 'prefix' }), __ModuleLoader__.load, and the slots service, while all icons are inline SVG to remain immune to host icon edits. Twenty-one locale dictionaries are validated against the Chinese key set by smoke tests, unresolved tags fall back to English without leaking keys, diffs cap at 400 KB, and only web profile is currently exercised as the desktop renderer is not yet validated on real hardware, all under the MIT license.
dsh-ide-git 是一个面向 DeepSeek Harness(DSH)的原生 Cordis 插件,为侧边栏补充 IDE 级别的 Git 工具窗口。它在 DSH 原生右侧栏注册面板,或在安装可选底座 dsh-better-sidebar 时同步接入其 Tab 系统与底部工作台,通过 dsh plugin --profile web add dsh-ide-git 安装,重启 dsh web 后即可在会话右侧 Guide 页找到 Git 胶囊,或从底座 Tab 栏的 + 添加。插件以 bridge-manifest 与 prefix 路由 /dsh-ide-git/api 接入宿主 web server,客户端则通过 window.__ModuleLoader__.load({ id, factory }) 加载,无需打包步骤。
典型使用流程为:打开任意会话,查看左侧分支树(HEAD / 本地 / 远程 / 标签分组,带 ahead/behind 角标与 worktree 占用)、中间提交图谱(lane 拓扑、refs 徽章、分页加载)、右侧变更分组与提交框,或点开提交查看完整 diff。底部工作台呈 JetBrains 三栏布局,原生右侧栏窄高形态自动堆叠。它面向熟悉 IntelliJ 系 IDE Git 面板、希望在 DSH 中获得分支管理、提交图谱、逐行 diff、cherry-pick、变基、推送与撤回浮窗等完整操作的开发者,功能按钮按状态置灰,删除可一键撤回。
依赖仅限宿主长期契约:webServer.register({ kind: 'prefix' })、__ModuleLoader__ 与 slots 服务,不引用 ui-primitives 图标集。engines.dsh 与 peerDependencies 均声明为 @deepseek-ai/dsh >=0.1.2-0,目前仅面向 web profile,桌面 renderer 尚未真机验证。内置 21 种语言词典并自动校验键集一致性,所有破坏性操作需二次确认且焦点默认在取消,真实操作通过 spawn('git', argv) 执行,从不直接写 .git,许可为 MIT。
请帮我安装这个 DSH 插件。安装前先完成【兼容性检查 + 安全性检查】,检查通过再动手。
插件:dsh-ide-git(KannaKuron/dsh-ide-git)
仓库:https://github.com/KannaKuron/dsh-ide-git
本站详情页:https://www.yhbd.top/plugins/kannakuron-dsh-ide-git/
本站登记:类型 plugin · 归类 原生 DSH 插件 · 许可证 MIT · ⭐ 3 · 最近提交 2026-09-29 · 主语言 JavaScript
按下面顺序执行,每步先把结论告诉我,再进入下一步:
【1 兼容性检查】
① 我这边:DSH 版本、Node 版本、操作系统、当前 profile(web / desktop)。
② 读它的 README、package.json、插件 manifest,列出它要求的 DSH 版本 / Node 版本 / 操作系统 / 外部依赖 / 需要另外先装的运行时。
③ 逐条比对,结论只写「满足 / 不满足 / 未知」三种;不满足的给出可行替代方案。
④ 检查是否和我已装的插件冲突:命令名重复、skill / tool 重名、端口占用、重复注册的 MCP server。
【2 安全性检查】
① 仓库可信度:和上面「本站登记」是否一致;star / fork 数、创建时间、最近提交,是否归档或长期停更。
② 安装脚本:逐行看 package.json 的 preinstall / install / postinstall,以及 install.sh、setup.ps1 之类脚本。出现 curl|bash、下载后直接执行、混淆代码、访问与插件功能无关的域名,立刻停下来告诉我,不要继续装。
③ 依赖:列出新增依赖,标出无人维护、或与知名包拼写近似的可疑包(typosquatting)。
④ 权限与副作用:它会读写哪些目录、访问哪些域名、需要哪些 DSH 权限(filesystem / network / shell / clipboard 等),以及怎么卸载和回滚。
⑤ 如果它要求 sudo / 管理员权限,或权限明显超出功能所需,先停下来问我。
【3 安装】
上面两步没有「不满足」和「高危项」时才执行;用官方推荐方式安装,不要自行提权。
【4 汇报】
用表格输出:检查项 / 结论 / 依据 / 是否需要我决策。拿不准的一律写「未知」并说明要我怎么确认——不要猜,也不要替我决定。
Send this message to DSH in your current session: it verifies compatibility and security first (answering met / not met / unknown item by item) and only installs once everything checks out — it will stop and ask you if it finds a high-risk item. The box scrolls; the copy is the full prompt. CLI install commands may not be accurate across systems, so DSH is the safer route.把上面这条消息直接发给当前会话里的 DSH:它会先核对兼容性与安全性(逐条给「满足 / 不满足 / 未知」),确认没问题再安装,有高危项会停下来问你。框内可滚动,复制到的是完整提示词;安装命令不一定准确,发给 DSH 更稳。
- Only 3 stars - very few users, little community feedback星标只有 3,几乎没人在用,遇到问题缺少社区反馈
DSH walks through these 9 checksDSH 会逐条核对这 9 项
Compatibility兼容性
- DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
- External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
- Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册
Security安全性
- Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
- Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
- curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
- Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
- Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
- Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式
Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。
Or use CLI install (for developers)或使用命令行安装(适合开发者)
CLI Install命令行安装
dsh plugin --profile web add dsh-ide-git
把 KannaKuron/dsh-ide-git 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
dsh-ide-git
简体中文 | English
给 DeepSeek Harness (DSH) 的侧边栏装一个 IDE 级的 Git 工具窗口——左边分支树、中间提交图谱、右边变更与提交详情,操作方式对齐 JetBrains 系 IDE 的 Git 面板;以 dsh-better-sidebar 原生 Tab 的形式注册,右侧栏与底部面板都能用。
DSH 自带的 Git 面板覆盖「暂存 / 提交 / 还原 / 看历史」;dsh-ide-git 补齐 IDE 用户习惯的那一层:分支树 + 右键分支操作 + 提交图谱 + 提交详情 + 变更列表 + 提交框。
它解决什么
- 分支管理没有树:内置面板只有一个分支下拉。这里给出
HEAD(当前分支) / 本地 / 远程 / 标签的分组树,每个分支带 ahead/behind 角标、上游、worktree 占用标记(W)。 - 历史只是列表:这里画出提交图谱(lane 拓扑 + 分支/标签 ref 徽章),支持加载更多与过滤(文本 / 哈希 / 作者)。
- 想看某个提交改了什么:点提交直接进详情——作者、日期、完整提交信息、变更文件(含 +/− 行数),点文件看逐行 diff(红绿 + 行号 + hunk 高亮)。
- 想比较分支:分支右键即可与当前分支比较,结果按文件与提交数汇报。
- 操作要够全:签出、从任意分支/提交新建分支、重命名、删除、合并到当前、变基当前到此、新建标签、cherry-pick、还原提交、重置(保留/丢弃)、fetch / pull --ff-only / push(确认后)。
效果
下面这些图取自一个只装了两个插件(
dsh-better-sidebar+ 本插件)的干净 DSH,绑定在一个虚构的演示仓库上(见scripts/demo-repo.mjs),画面里没有真实工作区、没有壁纸插件、也没有其它面板。
![]() |
底部工作台(宽扁 → 三栏) 左列是 IDEA 式动作条:按自身高度决定放几个按钮,放不下的收进 ⋯,末尾 ⚙ 可调顺序与显隐;中列是提交列表——列序与 IDEA 一致(日期 → 提交人 → 图谱 → 分支标签 → 提交信息),上方一排筛选(文本/哈希、分支或标签、提交人、日期、路径)与排序方向;右列是变更分组与提交框。 |
![]() |
提交右键 详情、复制修订号、签出该修订、在此新建分支、新建标签、优选(Cherry-Pick)、还原提交、重置到此(保留/丢弃更改)——破坏性项标红,菜单在面板内定位,底部工作台里同样能弹出来。 |
![]() |
删除可撤回 删除分支/贮藏是真删除,但宿主在动手前记下了对象 id:右下角浮窗点「撤回」即可恢复(一次性、30 分钟内有效);错过浮窗还有顶栏的「最近可撤回的操作」入口。删除 main/master 需要输入分支名确认。 |
![]() |
动作条可配置 拖动或用箭头调整顺序、眼睛图标逐项显隐,配置只存「排列 + 隐藏」并做过归一化,以后新增动作不会打坏旧配置。 |
![]() |
提交详情 完整提交信息、作者与日期、变更文件列表(带 +/− 行数),点文件看逐行 diff(行号 + hunk 高亮 + 红绿底)。 |
Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →





ruvnet/ruflo
mnemon-dev/mnemon
syncable-dev/memtrace-public
huiliyi37/dsh-tianshu-tui
xiehuan123/dsh-deepread
PerryLink/dsh-plugin-guide
MnemosyneOS/mnemosyne