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

Git 工作台 dd2673/dsh-wending-git-workbench

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

在输入框旁管理分支、暂存提交与查看提交图谱

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · dev
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 80 天前
档位由哪些信号合成

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

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

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

读写/删除本地文件发起外部网络请求
查看扫描证据(共 5 处,展示前 5 条)
  • 读取本地文件
    shared/tsdown.client.ts:270
    const source = await readFile(fileId)
  • 读取本地文件
    shared/tsdown.client.ts:316
    if (existsSync(emitted)) return emitted
  • 发起网络请求
    src/client/api.ts:24
    response = await fetch(path, {
  • 读取本地文件
    src/host/git-service.ts:360
    if (markerPath !== '' && existsSync(resolve(root, markerPath))) return true
  • 读取本地文件
    src/index.ts:53
    canonical = await realpath(path)
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

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

功能亮点

  • 查看工作区改动与diff
  • 暂存与提交
  • 分支操作与图谱历史

为 DSH 打造的 Codex 风格 Git 工作台:按工作区查看改动、diff、暂存、提交,带防护的分支操作、图谱历史、fetch、快进式 pull,以及通过官方插件 API 推送上游。

README

由 DeepSeek 最新模型翻译生成
dsh-wending-git-workbench 外部 dsh Web GUI 插件:在官方输入选择器行提供分支入口,并打开 Codex 风格 Git 工作台。工作台覆盖更改列表、文本 diff、暂存/取消暂存、提交、fetch、pull --ff-only、push、分支切换与提交图谱。入口优先挂在 conversation.input.selector.context;若运行 shell 未声明该槽位,等待 CONTEXT_FALLBACK_MS 后回退到 conversation.input.dock。所有 Git 操作仅能作用于 DSH 已注册工作区,参数通过 argv 数组执行,不修改 Harness 源码。 行为对齐 ZCode 的 GitBranchSwitcher:可搜索弹层、当前项打勾、「创建并检出新分支… / Git 图谱」底部操作、切换守卫(未解决冲突 / 进行中操作 / 目标分支被其他 worktree 检出)与可读报错。 仓库布局与构建 本插件仅依赖 npm 发布的 @deepseek-ai/ 官方 SDK,不要求 DeepSeek Harness 源码 checkout,也不会向官方仓库写入任何产物。类型门是 pnpm run typecheck。
展开完整文档(README 剩余 1 节)
dsh-wending-git-workbench

外部 dsh Web GUI 插件:在官方输入选择器行提供分支入口,并打开 Codex 风格 Git 工作台。工作台覆盖更改列表、文本 diff、暂存/取消暂存、提交、fetch、pull --ff-only、push、分支切换与提交图谱。入口优先挂在 conversation.input.selector.context;若运行 shell 未声明该槽位,等待 CONTEXT_FALLBACK_MS 后回退到 conversation.input.dock。所有 Git 操作仅能作用于 DSH 已注册工作区,参数通过 argv 数组执行,不修改 Harness 源码。

行为对齐 ZCode 的 GitBranchSwitcher:可搜索弹层、当前项打勾、「创建并检出新分支… / Git 图谱」底部操作、切换守卫(未解决冲突 / 进行中操作 / 目标分支被其他 worktree 检出)与可读报错。

仓库布局与构建

本插件仅依赖 npm 发布的 @deepseek-ai/ 官方 SDK,不要求 DeepSeek Harness 源码 checkout,也不会向官方仓库写入任何产物。类型门是 pnpm run typecheck。

pnpm install
pnpm run typecheck # tsc -b(含 sibling 引用项目)
pnpm test # vitest(core 纯函数 / 真实 git 服务 / jsdom 组件)
pnpm run build # tsc -b && tsdown(lib/index.js + lib/invariant.js + lib/client.js)

lib/client.js 是浏览器 bundle,由 host 的 client-modules 伺服;浏览器构建统一复用仓库根部 shared/tsdown.client.ts。

独立包的 Git 安装可走 prepare 脚本:tsdown --config tsdown.prepare.config.ts 从 src 直接 transpile,不做类型检查(tsconfig.prepare.json 自包含)。本 monorepo 子包安装使用下文的 link: 机制。

激活

本包是 dsh profile bundle(package.json 声明 "dsh": { "bundle": { "patch": "./cordis.patch.yml" } })。激活后重启对应 profile,bundle patch 会装入 host Git 服务、/git/ 路由和浏览器入口;进入已有会话后,可在输入框工具栏看到分支按钮。

当前分支安装

当前硬化版尚未发布到 npm,使用官方 link: 插件机制安装:

git clone https://github.com/dd2673/dsh-web-ui.git
cd dsh-web-ui
pnpm install && pnpm -r build
dsh plugin --profile add link:$(pwd)/packages/dsh-git-graph

github: 安装方式适用于包位于仓库根部的独立仓库(prepare 脚本自包含构建;pnpm ≥10 首次会被拒绝,需按报错提示把包 key 加进 profile 的 pnpm-workspace.yaml allowBuilds 后重试)。monorepo 内的子包请用上面的 link: 方式。

本地开发循环(本仓库 checkout)

dsh plugin --profile add link:/absolute/path/to/dsh-git-graph

link: 安装直接引用本地目录,重建后立即生效、无需重装(改完 pnpm run build 后刷新页面即可)。注意 link: 后跟的是绝对路径(~ 由 shell 展开,不是 pnpm 语义)。

卸载

dsh plugin --profile remove dsh-wending-git-workbench

设计要点

- 边界与加载链调研、关键决策见 docs/ADR-001-plugin-boundary.md。
- host half 的 /git/* 只接受已注册 workspace 的路径(realpath 校验),浏览器无法对任意目录执行 git。
- 切换语义是工作区级:git switch --no-guess 作用于 repoRoot 磁盘树,影响该工作区所有会话;项目切换 = 激活目标工作区并打开其(复用或新建的)空白会话,不给既有会话换 cwd。
- 挂载 seam:conversation.input.selector.context(官方声明的 session-maybe list 槽位)——输入选择器行的 context 洞,与官方工作区胶囊并排;hero(空白会话)与 active 会话相位都有分支胶囊;无会话 cwd 或非 git 工作区时分支 chip 自行隐藏。声明感知 + 回退:等待该槽位声明 CONTEXT_FALLBACK_MS(npm SDK rc.6 的 shell 已删除此声明),超时未声明则改挂 conversation.input.dock(session 相位才挂载,hero 无座位——rc.6 上接受的降级);只挂一个座位,回退后迟到的 context 声明被忽略。
- 工作区选择不在此插件内:官方工作区胶囊(conversation.input.selector.workspace)是唯一入口,本插件只提供 git 分支上下文。
- 分支状态刷新:挂载/弹层打开/切换成功后拉取 + host SSE(/git/events,订阅期间每 2s 轮询 workspace 状态)推送外部变更 + window focus 刷新。

检查链

pnpm run typecheck
pnpm test
pnpm run build
预览分享卡片长什么样 ↓dd2673/dsh-wending-git-workbench
分享 · DeepSeek Harness Hub
dd2673/dsh-wending-git-workbench

在输入框旁管理分支、暂存提交与查看提交图谱

这是你的仓库?认领条目

回到顶部