DeepSeek Harness 插件

kp-z/dsh-dev-git-graph#dsh-dev-git-graph

Star 数 ★ 0 下载量(近 30 天) 1,042 分类 Git 与代码评审 收录于 2026-09-04 npm dsh-dev-git-graph

DSH Web 的 vscode-git-graph 1.30.0 忠实移植:入驻 dsh-better-sidebar 右侧栏的原生 Git Graph 提交图 tab(前置依赖),自动绑定会话工作区,host 直跑全套 git 操作(checkout/merge/rebase/push/tag/stash),文件 diff 复用内置 DiffTab 打开。

安装

# npm 包(预构建)

dsh plugin --profile web add dsh-dev-git-graph

# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)

dsh plugin --profile web add github:kp-z/dsh-dev-git-graph#path:/packages/dsh-dev-git-graph

装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。

README

DSH 插件:会话 Git Graph 面板——源码级移植 mhutchie/vscode-git-graph 1.30.0(MIT 许可), 在 DSH Web GUI 的会话页里以「Git 树」tab 显示当前会话工作区的提交图(分支彩线、 提交信息、日期、作者、分支/标签),右键支持 checkout / merge / rebase / push / tag / stash 等全部操作。

架构

会话 tab「Git 树」(client.js)
  └─ sessionCwd() 从 sessions 取该会话工作区
  └─ iframe /dsh-dev-git-graph/gg/index.html?repo=<cwd>
        │ host 注入 window.__DSH_GG_BOOT__ = { apiBase, repo, initialState, ... }
        ▼
git-graph 前端(media/gitgraph.js,原版 webview UI)
  └─ VS Code 兼容桥:postMessage → fetch POST /dsh-dev-git-graph/gg/api
        ▼
host 路由 (src/git-graph/routes.ts)
  └─ vendor/git-graph/dataSource.ts:child_process 直跑 git(spawn 数组,无 shell 注入)
        ▼
本地 git 仓库
  • 静态:GET /dsh-dev-git-graph/gg/ 及 /<static>(media/ 下构建产物,index.html 动态注入 boot 数据)。
  • API:POST /dsh-dev-git-graph/gg/api,命令集对齐原扩展 gitGraphView.respondToMessage(约 60 个命令)。
  • 主题:CSS 把 --vscode-* 映射到 DSH --dsw-alias-* 设计变量(缺省值兜底),随主题变明暗。

与原版差异

项 说明
VS Code 专属命令 openFile / viewDiff / openTerminal / createPullRequest / createArchive 等返回「暂不支持」
状态持久化 前端 localStorage(原扩展用 workspaceState),setGlobalViewState 等直接 ACK
仓库来源 自动绑定当前会话工作区(无工作区时 tab 显示提示)

构建与安装

# 构建(web 前端 tsc → media/ 合并;host tsc → lib/;client.js 拷贝)
pnpm --filter dsh-dev-git-graph build

# 类型检查
pnpm --filter dsh-dev-git-graph typecheck

# 安装到 web profile(本地 file: 依赖)
dsh plugin --profile web add file:/Users/kp/DEV/dsh-plugins/packages/dsh-dev-git-graph
# 重启 dsh web 生效;会话页出现「Git 树」tab

Better Sidebar 集成(前置依赖)

本插件的唯一 UI 入口是 dsh-better-sidebar 右侧栏的原生 Git Graph tab(「+」菜单,单例去重、经 scope.repoRoot/scope.cwd 自动绑定会话工作区;点文件 diff 直接打开内置 DiffTab)。需先装 better-sidebar——未装时本插件不注册任何 UI。

# 一行完整安装(先 better-sidebar,再本插件)
cd ~/.dsh && dsh plugin --profile web add dsh-better-sidebar && dsh plugin --profile web add dsh-dev-git-graph

许可

前端与数据层来自 mhutchie/vscode-git-graph,许可见 vendor/git-graph/LICENSE(MIT)。 本插件的 host 集成代码按 MIT 发布。

内容来自项目 README(GitHub)↗

链接

同类插件

查看整个分类 →

社区评论

评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。