dsh-codex-side:在 DeepSeek Harness 里用原生侧栏做旁支对话

前言

在 Harness 里跑主任务时,常见做法是切会话、新开 tab,或者在主输入框里插问——主对话的流式输出和工具调用往往被打断,上下文也容易搅在一起。OpenAI Codex 一类产品里有「side conversation」:主线程继续跑,旁边开一条继承当前上下文的临时分支,问完再决定要不要留下。DeepSeek Harness 本身不提供这套交互;第三方插件 dsh-codex-side(维护者 Stxr,分类为客户端)把类似能力接到 Harness 上:右侧原生侧栏、斜杠命令、以及「转永久」时的 AI 标题与分组。

下面介绍它是什么、能做什么、如何安装与日常使用,以及行为边界和兼容前提。事实以 GitHub 仓库 README 与发行元数据为准;社区目录页见 SkillHub 条目(与 GitHub 无官方从属关系,需自行核对版本与许可证)。

这是什么

dsh-codex-side 的定位是:在 DeepSeek Harness 中提供 Codex 风格的 /side 旁支对话——主任务在中央继续,旁支在右侧栏独立提问与追问;需要保留时,可将旁支转为永久会话,并据最后一次有效提问生成简短标题,进入主对话当时所在的原生工作区分组。

  • 包名(开发用):@local/dsh-codex-side,当前资料中的版本为 1.4.3。
  • 兼容声明:仅明确支持 DeepSeek Harness 0.2.2-rc.1;会话列表等适配依赖该版本的组件结构。
  • 许可证:MIT;行为参考 OpenAI Codex 的 side.rs,为独立实现,不隶属 OpenAI 或 DeepSeek。

核心功能

临时旁支

  1. 主对话留在中央运行;旁支在原生右侧栏打开。
  2. 临时旁支不出现在左侧分组、平铺或搜索的会话列表里;只有转为永久后才进入列表。
  3. 复用主会话同一套原生能力:Chat、Markdown、Mermaid、工具卡片、流式回答、附件、审批与输入组件。
  4. 折叠侧栏会保留旁支与输入草稿;再次执行 /side 可继续使用同一旁支。
  5. 点击临时旁支 tab 上的关闭会停止并归档;插件不额外增加「返回」「结束」等按钮。

转为永久对话

执行 /side --keep 或点击旁支顶部「转为永久对话」后:

  1. 保留同一会话 ID、上下文、历史与运行状态,解除旁支专属限制。
  2. 根据旁支最后一次有效文字提问生成简短 AI 标题(考虑尚在排队的提问);标题请求约 15 秒截止,失败时用提问摘要兜底。
  3. 加入主对话转换当时所在的原生工作区分组;主对话未分组则保持未分组。
  4. 成功后关闭旁支 tab,在主区域打开对应永久会话。

标题使用旁支当前模型及其最低支持的思考档位,只发送有界的提问文本,不发送继承的主任务历史。生成期间若用户已手动改名,以用户标题为准。

上下文与权限

  • 旁支复用主对话当前的 provider、model、显式 reasoning effort、工作目录和 preset。
  • 通过原生 fork seed 复制命令发出时已提交的上下文(含运行中工具调用的合成结束记录);不复制主对话之后的变更。
  • 继承历史仅作参考;旁支问答不会自动写回主对话,也不会自动续跑旧任务。
  • 临时旁支可读文件、做轻量检查;修改须在旁支中明确提出,并受已有权限与模型指令约束(不是额外文件沙箱)。
  • 临时旁支禁止子代理、worktree、目标自动续跑、定时动作与嵌套旁支;转永久后解除这些限制。

每个主对话在同一时刻复用一个「当前旁支」;不同主对话彼此独立,同一主对话上的创建、提问与关闭串行处理。

安装与启用

本项目为第三方插件。按 DSH 自定义插件索引机制,须由用户自行添加索引源;仓库的 dsh-plugin topic 仅便于发现,不代表官方收录,也不会自动订阅索引或改用户配置。

通过索引安装(推荐)

索引 URL(须原样使用):

https://raw.githubusercontent.com/Stxr/dsh-codex-side/main/dsh-plugin-index.json

步骤:

  1. 在 Harness 中打开 插件 → 发现(Plugins → Discover)。
  2. 点击 添加索引源,或在索引菜单选 管理索引源…,粘贴上述 URL。
  3. 在该索引中找到「旁支对话 /side」,核对版本与兼容性后安装。
  4. 安装完成后刷新 Harness 页面一次,再输入 /side。

若界面没有「发现」,需先启用 DSH 的自定义插件索引功能;本插件不会替用户开启该功能。DSH 索引读取服务默认无源,仅读用户配置的源;格式依官方 dsh-plugin-market-index 的 format 1 校验。

发行包安装

也可从 GitHub Releases 下载 .tgz,在 Harness 插件安装入口选择该文件。包内已含运行时文件,安装时无需构建;运行时依赖由插件管理器安装。本项目未发布到 npm registry,亦无安装脚本。

卸载经 Harness 插件管理器完成;索引源由用户自行管理,卸载不会删除索引。

首次安装后若会话列表过滤异常,README 提到相关 bundle 带适配版本号以避开旧缓存——刷新页面后再试。

典型用法

安装并刷新后,在主对话输入框使用斜杠命令。下表来自仓库 README:

操作 命令
创建或展开当前旁支 /side
在旁支提问或追问 /side 为什么这样设计?
关闭旧旁支,从主对话当前上下文重新分叉 /side --new 新问题
转为永久普通会话 /side --keep,或点击旁支顶部按钮
停止旁支当前回答,保留会话 /side --stop
停止并归档旁支 /side --close
查询当前旁支 /side --status
提问内容本身以控制参数开头 /side --ask --close 是什么意思?

典型流程:主任务跑着 → /side 打开侧栏问一句 → 需要长期保留时 /side --keep → 永久会话出现在左侧列表并带 AI 标题。

「关闭」采用停止并归档,日志保留,归档历史仍可恢复。

适用场景与注意

适合谁

  • 希望在不打断主任务输出的前提下,对当前上下文做追问、方案对比或短探针的 Harness 用户。
  • 已使用或计划使用 Harness 0.2.2-rc.1,并愿意自行维护插件索引源的团队。

安装与运行前请自行确认

  • 插件在当前 DSH 进程权限下运行,与主会话共享 provider、工作目录与工具审批;安装前建议阅读 源码 与 MIT 许可证。
  • 兼容范围以 README 为准;升级 Harness 主版本前请核对 engines.dsh 与索引中的兼容性说明。
  • Agent 侧不提供 side_conversation 工具动作;转为永久仅对用户按钮与人类命令开放。

生态说明:DSH 主张「一切皆插件」;SkillHub 目录 为社区站点,与 DeepSeek / 幻方无官方从属。索引中的 Git 来源在维护侧固定到完整 commit,是否添加、刷新或移除索引始终由用户决定。

结尾

dsh-codex-side 把「主任务 + 侧栏旁支 + 可选永久化与 AI 标题」接到 DeepSeek Harness 的原生 UI 上,目标是在不中断中央对话的前提下做局部探索。使用前请锁定 0.2.2-rc.1 兼容声明,按文档添加索引或安装 Release 包,刷新页面后从 /side 起步。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜