dsh-super-chat:一条带主题标签的 Super Chat 面板

前言

在 DeepSeek Harness(DSH)里做智能体编排时,常见做法是把对话拆成多个 Session,或在侧边栏里来回切换「通用聊天」和任务入口。dsh-super-chat 把消息收进同一条流,用主题标签做筛选和派发线索;若同 profile 安装了 dsh-superagent-prototype,消息会通过 super-chat Source 转成 Superagent Ticket,否则回退为单个通用 DSH Session。下面按定位、能力、安装与用法说明该插件。

这是什么

dsh-super-chat 是面向 DSH Web profile 的客户端插件(维护者 gekailin,仓库 gekailin/dsh-super-chat)。其核心是为 dsh-superagent-prototype 提供 super-chat Source,将聊天消息转为 Ticket;同时提供带主题标签的单一流、SQLite 持久化、按主题过滤的视图,以及可选的微信文件传输助手桥接(wechat/ 目录,独立 Node 进程)。

插件以当前 DSH 进程权限运行;安装前宜自行查看源码与 MIT 许可证。社区目录 skillhub.cn 上的条目 为独立站点,与 DeepSeek / 幻方无官方从属关系。

核心功能

单一流与主题视图

  • All messages:所有消息进入同一条流,面板默认打开最新页,向上滚动加载更早消息;该视图取代原先「General chat」标签含义。
  • <No topic>:侧栏显示无标签消息及实时计数;仅为阅读时过滤,不改变存储、派发或主题列表。
  • Topic views:主题是消息上的标签,不是独立会话;一条消息可有多个标签,会在每个匹配视图中出现。

标签与派发

  • 带标签消息:第一个标签成为 super-chat 的派发线程;标签是任务派发线索,不强制结果。
  • 无标签消息:走 general,由 Superagent 自行判断接受、拆分或忽略。
  • 自动打标:通用聊天头部可用 profile 默认模型为无标签消息补已有主题(仅填空标签,代理回复继承,不新建主题)。
  • 手动编辑标签:单条消息可增删标签并保存;新名称即新主题,此操作不派发工作。

Superagent 与回退

同 profile 安装 dsh-superagent-prototype 时,插件通过其公开 orchestrator 服务注册名为 super-chat 的 Source;确认与结果回到同一条流。未安装或未配置时,由名为 super-chat-general 的单个 DSH Session 接管。消息 id 用于去重重试,同一提交不会重复开 Ticket。

安装 prototype 后,编排器与各 ticket worker 的 Workspace 在 UI 上合并为一个 Superagent 分组(编排器置顶),仅为展示,不移动 Session 工作目录。

界面与其它能力

  • 代理回复支持常见 Markdown 渲染,并提供 Raw 切回原文;用户消息保持原样。
  • 输入框旁 Models 可选编排器模型与新 worker 默认模型;在聊天里用自然语言指定某次新 worker 的模型(如中英文示例中的 gemini-4-argon)只影响该 worker,不改默认。
  • 数据落在索引表(chat.sqlite);旧 chat.json 会一次性迁移。默认状态目录见配置节。
  • 打开面板入口时可按需启动微信桥接,默认进通用聊天,用 @topic 打标签,无命令体系。
  • UI 随 DSH locale 双语显示。

环境要求

资料写明需 DSH 0.2.1-rc.5 或兼容的 0.2.x Web profile(@deepseek-ai/dsh-base + @deepseek-ai/dsh-web-app),Node.js 22.19+ 或 24+,以及 profile 中已配置的模型提供方(与一般 Session 相同)。发布包版本为 0.2.0。

安装与启用

发布包安装(资料原文):

dsh plugin --profile web add dsh-super-chat

dsh plugin add 会把包写入 profile 的 dsh.profile.bundles。重启 profile 后,在 Superagent 侧栏行右侧快捷入口打开 Super Chat。

配置

各项均有默认值,可在 profile 的 cordis.patch.yml 中覆盖:

- id: super-chat
  config:
    # Directory for chat.sqlite; defaults to $DSH_HOME/state/super-chat.
    stateDir: /home/you/.dsh/state/super-chat
    # Workspace for the fallback Session when superagent is unavailable.
    cwd: /home/you/src/my-project
    # Optional agent preset for the fallback Session.
    agentPreset: standard
    # Optional permission preset for the fallback Session.
    permissionPreset: danger-full-access
选项 默认 含义
stateDir $DSH_HOME/state/super-chat 存放 chat.sqlite,仅属主可访问
cwd process.cwd() 回退 Session 的工作区
agentPreset profile 默认 回退 Session 的 agent 预设
permissionPreset profile 默认 回退 Session 的权限预设

典型用法

1、安装并重启 Web profile 后,从侧栏打开 Super Chat,在 All messages 中流式查看与发送消息。

2、给消息加主题标签:手动在消息标签行保存,或在微信桥接里用 @topic 表述;多标签消息会在各主题视图和主流中同时可见。

3、需要 Superagent 处理时:确保同 profile 已装 dsh-superagent-prototype;带标签消息按首标签派发,无标签消息进入 general 由 Superagent 裁决。

4、仅聊天、无 GitHub 仓库与 gh CLI 时:资料说明插件可在 GitHub 字段为空时以内存方式包装 prototype 的 Setup,接受空部署并请求重启;该模式下 worker 无 GitHub 工具链。

5、在输入框左侧 Models 选择模型,或在消息里写明「用某模型启动一个新 worker 做…」以单次指定 worker 模型。

适用场景与注意

适合希望在 DSH 里用一条聊天流统一记录人机会话,又用主题标签做视图与派发线索、并可选对接 Superagent Ticket 的开发者。若未使用 prototype,仍可作为带 SQLite 的通用聊天面板(单 Session 回退)。

注意:插件不修改 prototype 源码,仅通过公开 orchestrator 集成;主题过滤不改变底层存储;微信桥接为可选子工程,需在 wechat/ 下按仓库说明单独测试与部署。DSH 生态理念是「一切皆插件」,选用第三方插件时应核对权限预设(如 permissionPreset: danger-full-access)是否符合本机安全策略。

结尾

dsh-super-chat 把 Super Chat 面板、标签化主流、super-chat Source 与 SQLite 存储绑在一起,在有无 dsh-superagent-prototype 时分别走 Ticket 链路或单 Session 回退。目录页:https://www.skillhub.cn/plugins/gekailin/dsh-super-chat;源码与完整说明:https://github.com/gekailin/dsh-super-chat。

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

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

小夜