DSH Slack UI:为 DeepSeek Harness 提供 Slack 式会话线程界面

前言

在 DeepSeek Harness(DSH)里接模型、走工具链时,默认 Web 界面更偏「单页工作区」:会话、设置和插件入口混在同一套导航里。当你同时推进多条任务,需要回看某次对话的摘要、TODO 完成度,又要在同一会话里继续追问时,列表信息和线程详情如果不够直观,上下文就容易丢。

下面介绍的 DSH Slack UI(仓库 liush2yuxjtu/dsh-slack)是社区维护的 客户端 类 DSH 插件:在宿主进程内替换部分 Web UI 插槽,用类似 Slack 的「会话列表 + Thread」组织任务,并沿用 DSH 原生的对话渲染、工具调用、TODO 面板与输入框。它不是 Slack 集成,也不要求 Slack 账号。

这是什么

  • 名称:dsh-slack(展示名 DSH Slack UI)
  • 维护者:liush2yuxjtu
  • 分类:客户端(Web profile)
  • 许可:MIT(见仓库 package.json)
  • 当前包版本:0.1.0

插件通过 Cordis bundle 注册主机投影,浏览器模块替换 sidebar 与 main.conversation 插槽,不直接 patch 上游源码。API 密钥仍在 DSH 主机设置中配置;插件在浏览器侧不读取 API key,README 亦说明未添加分析与远程遥测。

核心功能

README 中的能力对照表可概括为以下几项(均依赖 DSH 会话与持久化):

场景 行为
发起独立任务 在 Chats 输入区发送消息即创建新的 DSH session。
在同任务下追问 在选中 Thread 内回复,保持同一 session 与上下文。
浏览历史 列表项展示标题、最新 assistant 摘要、TODO 完成计数(如 2/3)。
跟踪进度 列表与原生 TODO 面板读取同一套持久化的 todo/write 事件。
刷新后恢复 依赖 DSH persistence 恢复选中会话与对话。
原生能力保留 Markdown 渲染、tool calls、TODO panel、composer 仍用宿主组件。
回到原生 DSH 可切到 Native DSH 使用设置与插件管理;切回 Open DSH Slack 时,未发送的根草稿可保留。

当前 UI 将 New task 与 Reply to this task 分开标注;技术细节默认折叠,具体见仓库 design QA。

标题与摘要规则(README Use 节):用户与模型标题来自 session 元数据,首条用户消息可替换 DSH 自动 fallback 标题;摘要来自已提交的 assistant 文本,推理过程与未完成流片段不会当作摘要;空 session 不会凭空生成任务。

环境与兼容性

安装说明要求:

  • Node.js:24.9 或更高
  • DSH:0.2.2-rc.1(package.json 中 engines.dsh 为 >=0.2.2-rc.1 <0.3.0)
  • 文档记载的已验证上游 revision:fcc0ad462172522aaf5c93a7b2e01f6b9f0b0159

DSH 插件 API 仍处于 pre-stable 阶段;README 建议仅在打算使用线程式导航的 profile 中安装本插件。

安装与启用

官方 README 给出的流程是:在源码目录打包 tarball,再通过 DSH 插件管理器安装到 Web profile。说明如下。

  1. 获取插件源码并进入目录(仓库地址见文末链接)。
  2. 执行 npm pack --ignore-scripts 生成 dsh-slack-0.1.0.tgz。
  3. 用 dsh plugin --profile web add 指向该 tgz,再启动 dsh web。
git clone https://github.com/liush2yuxjtu/dsh-slack.git
cd dsh-slack
npm pack --ignore-scripts
dsh plugin --profile web add "$PWD/dsh-slack-0.1.0.tgz"
dsh web

bundle patch 会注册主机投影;启用后浏览器模块接管上述 UI 插槽。安装前宜自行阅读仓库源码与 LICENSE,并确认插件将以 当前 dsh 进程权限 运行,与宿主共享会话与持久化数据。

DeepSeek API 凭证在 DSH 主机设置中配置即可,无需在本插件内单独填写。

典型用法

按 README Use 节,日常操作步骤如下。

  1. 在 Chats 栏发送消息,开始新会话。
  2. 在历史列表中选中一项,打开对应 Thread。
  3. 在 Thread 输入区回复,延续该会话。
  4. 使用搜索过滤会话列表。
  5. 需要任务明细时打开原生 TODO 面板;列表上的紧凑计数与面板数据一致。
  6. 要改设置或管理其他插件时,选择 Native DSH;完成后选 Open DSH Slack 回到本界面。

仓库提供产品站、安装指南与真实录制演示(Chromium + 官方 DeepSeek API),例如 8 秒功能短片 与完整 demo 说明,见 docs/media。

验证与质量说明

维护者在 README 中区分了快速校验与终验:投影 reducer 与分发包可做 npm run verify;接受真实 DeepSeek 服务与本地 Chromium 时需 npm run verify:live 等(需配置 DSH_SOURCE_ROOT、DSH_API_KEY_FILE)。媒体校验另需 FFmpeg、Python、Pillow、Tesseract 及中英文语言包。细节见 verification.md。

这与普通用户日常安装无直接关系,但说明项目对「真实 API 响应、持久化与截图」有自动化验收路径。

适用场景与注意

更适合:经常在 DSH Web 端并行多条 agent 任务、希望用列表扫一眼摘要与 TODO 进度、并在线程内继续同会话的开发者。

需要知晓:

  • 本插件是 DSH Web UI,不是 Slack bot,也不支持共享频道、@deepseek 触发或跨 session 频道记忆(见 README FAQ)。
  • 每条 Chats 新消息对应新 session;Thread 内回复才延续当前选中 session。
  • 生态上 DSH 奉行「一切皆插件」;SkillHub 目录页 为社区索引,与 DeepSeek / 幻方无官方从属关系。
  • 仓库 GitHub 星标数为 0(以目录线索为准),选用时请结合源码与自身安全策略判断。

结尾

DSH Slack UI 把 DSH 的 session、工具与持久化留在宿主侧,只重构 Web 端的线程式导航与历史扫读体验。若你已在用 DSH 0.2.2-rc.1 且 Node 版本满足要求,可按 README 打包安装到 Web profile,在 Chats / Thread 流程中验证是否符合你的工作习惯。

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

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

小夜