跳过主要内容
L

dsh-conversation-manager

lanlandeli/dsh-conversation-manager

A safe, accessible session manager for DeepSeek Harness with archive controls, activity details, lineage, and output-file cleanup.

安装

dsh plugin --profile web add github:lanlandeli/dsh-conversation-manager

README

🗂️ dsh-conversation-manager

English

为 DeepSeek Harness 提供安全、清晰的会话归档与记录管理。

npm version npm downloads CI Node License

dsh-conversation-manager 是面向 DeepSeek Harness Web UI 的会话管理插件。它把活跃会话、归档会话、子代理关系、活动摘要和本地产出文件集中到一个界面中,并为永久删除操作设置明确的确认与文件系统边界。

插件通过 Harness 提供的服务和 UI 插槽集成,不修改官方 npm 包或 Web UI DOM。会话数据只在本机读取和处理。

dsh plugin --profile web add dsh-conversation-manager

重启 Web Profile 后,在「设置」中打开 会话管理

更新或卸载:

dsh plugin --profile web update dsh-conversation-manager
dsh plugin --profile web remove dsh-conversation-manager

🎬 效果演示

以下素材使用纯演示数据生成,不包含真实会话、路径或文件信息。

会话管理效果演示

🖼️ 界面截图

查看浅色主题

浅色主题

查看深色主题

深色主题

✨ 功能概览

模块说明
📥 归档与恢复将对话移入归档或恢复到活跃列表,保留原始会话记录
📚 批量管理支持拖动连续选择、全选、批量归档、恢复与永久删除;失败项会保留选择以便重试
🔎 搜索与分组按标题或会话 ID 搜索,并可在单列表与工作区分组之间切换
🌳 子代理关系子代理默认隐藏,在父会话下按需展开;多级关系与搜索结果保持正确归属
📊 会话详情查看磁盘占用、更新时间、消息与工具调用统计、网络获取记录及父子会话关系
📁 记录目录选择单个会话后,在系统文件管理器中打开实际用于计算占用空间的记录目录
🧹 产出文件清理仅允许删除该会话记录过、且位于已注册工作区内的普通文件
🌐 中英文界面自动跟随 Harness 的语言设置切换中文或英文

⚠️ 删除行为

  • 归档对话只改变归档状态,不删除会话记录。
  • 删除选中会永久删除所选会话的持久化记录,无法撤销。
  • 删除父会话不会级联删除子代理;只有明确选中的会话会被删除。
  • 正在运行的会话会被拒绝删除。当前页面打开的会话在界面中不可选择。
  • 删除选中文件会永久删除磁盘文件,仅用于无需保留的会话产出。

重要数据仍建议自行备份。插件不是备份或回收站工具。

🔒 安全边界

产出文件删除必须同时满足以下条件:

  1. 请求包含有效的会话 ID;
  2. 文件路径存在于该会话的产出文件列表;
  3. 目标是普通文件,不是目录或符号链接;
  4. 解析后的真实路径严格位于 Harness 已注册的工作区内部,且不能是工作区根目录。

会话记录目录由 Harness 官方 persistence 的 locate(meta) 接口提供;插件不再推导或假设 JSONL 目录结构。浏览器接口只接受本机回环地址上的同源 POST 请求,并限制请求体大小。详细信息见 安全策略隐私说明

🧩 兼容性

目前已在 DeepSeek Harness 0.1.0-rc.7、Node.js 22.19+24+、官方 Web Profile 上验证。界面支持浅色、深色主题以及加载同源 Web UI 的桌面封装。

Harness 仍处于快速迭代阶段。其他版本可能能够运行,但不属于当前验证范围;详见 兼容性说明

🛠️ 开发

npm ci
npm run release:check

源码结构:

路径用途
src/index.tsHost API、详情聚合、归档、恢复与删除操作
src/server/path-security.ts会话记录和工作区文件的真实路径安全围栏
src/client/index.tsx设置页界面、详情卡片和交互状态
src/client/model.ts搜索、工作区分组与子代理树模型
src/client/batch.ts保留逐项成功/失败结果的批处理器
src/client/i18n.ts中英文界面文案
src/client/styles.ts响应式样式、主题和动效
tests/路径安全、批处理和状态模型测试

构建产物位于 lib/,不要直接编辑。贡献前请阅读 开发说明

🐛 遇到问题

如果出现插件入口缺失、会话列表不完整、目录定位错误或界面异常,请 提交 Issue,并尽量附上:

  • DeepSeek Harness、插件和 Node.js 版本;
  • 安装或更新插件时执行的命令;
  • 可复现问题的操作步骤;
  • 已脱敏的错误日志或界面截图。

请勿在公开 Issue 中提交 API 密钥、访问令牌、提示词、会话日志或本机完整路径。安全问题请按 安全策略 私密报告。

📜 许可证

MIT。项目包含基于上游 MIT 许可代码修改的部分,版权声明见 LICENSE

相关插件