工作区 Git 变更

August 17, 2026 · View on GitHub

右侧抽屉「Git 变更」,展示当前会话所属工作区的仓库状态。只读面板:模型仍是仓库状态的唯一修改者。

功能

  • 按已暂存/未暂存/未跟踪分组列出变更文件;porcelain 状态码;改名/复制显示 源 → 目标
  • 点击文件打开 diff 面板:吸顶头部(状态码、+/- 行数、复制差异),正文逐行着色,带旧/新两侧行号栏(横向滚动吸住、不可选中)与行悬停高亮。
  • 抽屉从右侧弹出,左缘可拖动宽度(最小 320 px);Esc、点外或头部按钮关闭。
  • 未跟踪文件、空 diff、输出截断各有提示。

组成

角色
dsh-plugin-workspace-git组合包(dsh.bundle),patch 插入 gitui-git 两行
@deepseek-ai/dsh-git主机服务 ctx.gitgit status --porcelain=v1 -zgit diff HEAD,经 subprocess 执行(argv、不带 shell)
@deepseek-ai/dsh-client-ui-git浏览器 UI:conversation.session.header.utilities 槽位入口,数据经注入的 git 钩子到达

安装

仓库根 README。使用仓库根目录 dist/*.tgz,不要传入 harness 源码目录或 file: 路径。

限制

  • 只读:无 stage/unstage/discard 操作。
  • 列表与 diff 各是独立时点读取,可能短暂不一致;重开面板重载列表。
  • diff 捕获是有界尾部(Host truncated 标记而非隐藏)。