szh1007/dsh-changes-panel

szh1007★ 1TypeScript最后同步: 2026-08-15

在 GitHub 打开

README 摘要

dsh-changes-panel · diff 面板 DeepSeek Harness Web GUI 的会话内 diff 面板:实时展示当前会话里所有被 edit / write 工具改动的文件,以及每个文件相对其最近状态分界点(本会话首次改动前的内容;条目被采纳/回退后以当时内容重新为界)的 累计差异 (git 风格 + 绿 / − 红),避免对话中看不清改动、误操作。 术语与设计决策见 CONTEXT.md 与 docs/adr/ 。 特性 - 入口是会话标签栏( [role="tablist"] ,与「对话/轨迹」同排对齐)的 diff 标签,带改动数量角标,点击开合面板 - 面板位于 会话界面内部 :header 正下方、右侧贴边,不遮 header、不独立成框架级列 - 打开时聊天区与输入框整体左移(对 [data-conversation-scroll] 加 margin-right ,带过渡动画),header 与标签栏不动;聊天内容在常见屏宽下只重新居中、不缩窄 - 面板 左缘拖拽调宽 (220–640px,始终给聊天区留 ≥320px),宽度在会话切换间保留 - 面板默认收起,仅在 出现真正改动 (会话工作集由空转非空)时自动展开;新建会话、切换会话、刷新页面、用户提问都不会触发展开,手动关闭后改动清零前保持关闭;工作区内/工作区外两个分区 按改动自动展开 (出现改动→展开,改动清零→收起,无转变时尊重手动开合) - 文件行默认列出( A/M 状态 + 相对路径/绝对路径 + +N −M 统计); A = 本会话新增( fs/write-intent 写入前探测到文件不存在,整文件渲染为 + 行), M = 已存在文件被修改;每个文件的 diff 详情默认收起,点击展开 - diff 带上下文行,滑动展开; + 绿、 − 红;官方代码字体;单文件可「全屏」查看 - 底部操作条:勾选文件后 采纳 (仅从面板移除)/ 回退 (把基线内容写回磁盘);两个分区标签行带 全选勾选框 (已全选时点击即取消,分区为空时禁用),一键选中整个分区再操作;条目被采纳/回退后,该文件的下一次改动会以 采纳/回退后的状态 为新基线重新展示 diff - 工作集按顶层会话一一对应(子代理的改动归属其父会话);会话删除时清理( session/disposed ) - 深色主题使用官方 --dsw-alias- token,自动跟随亮/暗主题 不包含(有意暂缓) - 删除(D) :本 harness 无删除工具(只能 shell 写盘),首版不追踪。见 docs/adr/0001-defer-deletion-tracking.md 。 - 持久化 :工作集目前在 host 内存中——刷新页面不丢,重启 dsh web 清空。 storageDomain 持久化因…

在 GitHub 查看完整 README →
工具/开发diffdsh-pluginpanels

分类