在 DeepSeek Harness (DSH) 的开发流程中,会话管理是基础但常被忽视的一环。随着对话量的增加,查找历史记录、整理工作区以及清理过期会话会变得繁琐。dsh-chat-manager 插件通过扩展侧边栏和提供会话生命周期管理功能,解决了这一痛点。
插件介绍¶
dsh-chat-manager 是一个 DeepSeek Harness (DSH) 用户级插件,提供统一的 Web UI 与桌面端界面。它旨在让会话管理更直观,支持会话的自动归档、删除、恢复以及跨平台操作。
核心功能¶
- 双区域侧边栏:侧边栏分为“工作区”与“聊天”两块。工作区保留 DSH 原生行为;聊天区独立管理会话,支持新建与搜索。
- 聊天文件夹自动归档:新会话按日期自动存入系统文档目录下的
DSH/年-月-日/。发出第一条消息后,插件会根据内容生成 slug 子文件夹,之后的读写操作均在此子文件夹内进行。 - 会话删除功能:支持通过菜单删除会话。操作包含二次确认,会清空日志、工作区账目与登记表,但会话文件夹原样保留在磁盘上。
- 已归档会话管理:在设置面板的“已归档会话”列表中,可查看“工作区名:会话名”与最近更新时间,支持将已归档会话恢复或彻底删除。
- 跨平台支持:插件代码共用,同时支持 Web UI (
dsh web) 与桌面端。
安装与启用¶
安装前请确保 DSH 版本 >= 0.2.0-rc.2。
- 克隆仓库并构建(Web UI 与桌面端共用代码):
git clone https://github.com/tvrpdfe/dsh-chat-manager.git
cd dsh-chat-manager
npm install
npm run build
- 安装插件到 Web UI:
dsh plugin --profile web add "link:$(pwd)"
*注意:桌面端插件需在桌面端界面内通过“插件”页面添加,CLI 不支持直接操作 `desktop` profile。*
- 重启宿主进程并刷新页面(Web UI 需按
Ctrl+F5)。
典型用法¶
- 新建聊天:点击聊天区头部的“添加聊天”按钮。
- 删除会话:点击会话菜单(
⋯)→ 红色“删除会话”→ 确认。 - 已归档会话:进入设置 → 已归档会话。列表每行显示工作区与会话名及时间,点击“恢复”或“删除”按钮进行操作。
注意事项与依赖¶
- 环境变量:聊天根目录默认为系统文档目录,也可通过环境变量
DSH_CHAT_MANAGER_ROOT指定为绝对路径。 - Linux/macOS 限制:在 Linux 和 macOS 上,若尝试删除当前活跃的会话,操作会被拒绝。此时需重启宿主进程后再重试。
- 搜索依赖:内容搜索功能依赖部署侧的
session-query索引配置。若该索引被配置为openAt: "never",内容搜索将失败并仅返回标题匹配。