dsh-session-todos:DeepSeek Harness 会话内待办事项插件

DeepSeek Harness(DSH)采用插件化架构,扩展性强。但在实际使用中,如果在一个会话里同时推进多个任务,容易遗漏进度。dsh-session-todos 针对这一场景,提供了一个会话内待办事项插件,帮助用户在一个对话窗口内管理并发任务。

功能说明

界面与交互
- 悬浮面板:在聊天窗口右上角悬浮待办面板,支持收起、滑入滑出动画。
- 📌 钉住:点击面板标题栏的 📌 图标可钉住面板,防止自动收起。
- 移动端适配:点击面板外任意区域自动收起,支持手势操作。

任务操作
- 勾选保存:勾选任务行即时保存状态,文字置灰。
- 原地编辑:双击任务文字进入多行编辑模式(textarea),按 Enter 保存,Esc 取消,Shift+Enter 换行。
- 拖动排序:长按任务文字上下拖动,实时预览落点,松手提交。
- 追加发送:点击任务行的 ↗ 图标,将任务文本追加到消息发送框。
- 删除:支持删除任务,带确认弹窗。

数据与同步
- 服务器端存储:任务数据存储在服务器端,文件位于 ~/.dsh/dsh-session-todos/<sessionId>.json。跨设备登录同一 DSH 环境可同步数据。
- 侧边栏徽章:左侧会话列表中,有未完成任务的会话会显示 🎯 徽章。

安装与启用

本插件为 Host 和 Client 两半的 bundle 插件,要求 DSH Web 端环境。

dshpm install https://github.com/seeingrain/dsh-session-todos.git --profile web

安装后重启 dsh-web,或强制刷新浏览器(Ctrl+Shift+R)。

使用方法

  1. 打开任意会话,点击聊天窗口右上角的 🎯 图标展开面板。
  2. 点击底部的 + 按钮新建任务。
  3. 双击任务文字进行编辑。
  4. 长按任务文字上下拖动调整顺序。
  5. 点击 📌 钉住面板,防止点击外部时自动收起。

实现原理与限制

  • 架构:插件分 Host(lib/index.js)和 Client(lib/client.js)两半,均为独立自包含,不修改 DSH 源码。
  • 存储:Host 半边在 webServer 注册路由,将任务持久化为 JSON 文件;Client 半边将面板挂载至 shell.overlay 插槽。
  • 依赖:会话列表徽章依赖 React 18 fiber 结构,若 DSH 或 React 升级导致结构变化,插件会优雅降级(不显示徽章)。
  • 本地状态:面板的展开/收起状态及钉住状态存储在浏览器 localStorage,不随服务器端数据同步到其他设备。

总结

dsh-session-todos 提供了一套轻量级的会话任务管理方案。它利用服务器端存储保证数据同步,利用悬浮面板和侧边栏徽章提供直观的进度反馈。适合需要在同一对话中管理多任务流的 DSH 用户。

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

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

小夜