DSH Side Chat
这是一个独立的 DeepSeek Harness Web 插件,为主聊天增加类似 Codex 的侧边聊天。插件只使用 Harness 已公开的 Session、Storage Domain、Workspace Registry 和 Connection RPC 能力,不修改官方 Harness 源码。

主要功能
- 主聊天和侧聊以可拖动宽度的平铺分屏显示,不遮挡主聊天。
- 从当前会话创建侧聊,支持选中文字生成 Markdown 引用草稿,但不会自动发送。
- 子 Session 会从官方左侧栏隐藏;移除关系后仍保留原始 Session 日志。
- 顶部显示父会话标题、短 Session ID、摘要,以及“权限跟随主聊天”状态。
- 每个侧聊可以独立选择模型和 reasoning effort;新建侧聊默认继承主聊天模型。
- 支持
/sidechat打开当前或最近更新的侧聊,支持/sidechat 内容填充侧聊草稿。 - 通用时间线渲染用户消息、Markdown、推理、工具、审批、问题、斜杠命令生命周期和未知事件。
- 主聊天与侧聊都提供 Codex 风格紧凑 Turn 历史轨道:空闲时等长低调,悬停时鱼眼展开并显示预览卡。
- 第一条侧聊问题自动生成标题;手动重命名后不会再被自动标题覆盖。
截图
以下截图全部使用合成会话内容,不包含真实项目数据。
| 功能 | 示例 |
|---|---|
| 可拖动分屏和父会话信息 |  |
| 侧聊模型与 reasoning 选择器 |  |
| 空闲状态的紧凑历史轨道 |  |
| 悬停预览和鱼眼轨道 |  |
| 深色主题父会话上下文和权限跟随 |  |
安装到 Harness checkout
当前插件通过本地 link: 包安装。请将插件 checkout 和 Harness checkout 并列放置,使相对开发依赖能够解析:
workspace/
├─ deepseek-harness/
└─ dsh-sidechat/构建插件并安装到 Web profile:
cd path\to\dsh-sidechat
pnpm install
pnpm run build
cd ..\deepseek-harness
pnpm dsh plugin --profile web add link:..\dsh-sidechat
pnpm dsh web --host 127.0.0.1 --port 3080包没有 prepare 脚本。修改 src/ 后需要重新执行 pnpm run build 并重启 Web profile,浏览器才会加载新的 lib/client.js。
开发
cd path\to\dsh-sidechat
pnpm install
pnpm run typecheck
pnpm test
pnpm run build开发依赖通过 link: 指向并列的 Harness checkout。Harness 仍然是 peer/runtime dependency;本仓库不会复制或修改官方源码。
架构
Host 端负责 dsh_sidechat storage domain、父子 lineage 校验、标题和摘要持久化、归档重试、权限同步、模型继承,以及 loopback 限制的 /dsh-sidechat RPC channel。
Client 端注册原生会话头部按钮、并列分屏 overlay、选区操作、斜杠命令触发源、模型选择器、通用时间线和主/侧聊天历史轨道。草稿与分屏宽度只保存在浏览器本地;插件持久化的只有侧聊关系和标题。
兼容性与隐私
- 面向 DeepSeek Harness Web profile 及其公开插件能力设计。
- peer dependency 使用与当前 Harness checkout 匹配的范围;部署时请针对实际 Harness revision 进行测试。
- 侧聊 RPC 受本地 Web connection 边界限制。
- 图片和消息草稿通过子 Session 发送,不写入侧聊关系表。
- 移除侧聊关系不会删除或取消归档底层 Session 日志。
许可证
MIT,详见 [LICENSE](LICENSE)。