@ohmejj/dsh-chat-archive
DeepSeek Harness plugin: automatically archive idle conversations after a configurable threshold (hours/days), with its own Settings section UI.
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:ohmejj/dsh-chat-archive说明文档
阅读完整 README ↗使用 DSH 命令安装(推荐)
# 如果是其他 profile,使用对应的启动命令
工作原理:插件包含 dsh.bundle.patch 配置,会自动向 DSH 的 Cordis loader 注册自己。安装命令会将插件添加到 profile 的 dsh.profile.bundles 列表中,DSH 启动时会自动加载。
本地开发安装
如果你需要从本地源码安装(用于开发或测试):
# 使用一键脚本安装到 web profile
bash scripts/enable-in-profile.sh web
注意:本地开发安装使用软链接和手动配置 cordis.patch.yml 的方式,与通过 dsh plugin add 安装的机制不同。两种方式不应同时使用,否则会导致插件重复加载。
🎮 使用指南
访问设置界面
- 启动 DSH Web GUI 后,点击侧边栏底部的 设置 图标
- 在设置弹窗的左侧菜单中找到 对话自动归档 (Auto-archive conversations)
- 进入配置界面
配置项说明
| 配置项 | 说明 | 默认值 |
|---|---|---|
| 启用自动归档 | 总开关,关闭后不扫描不归档 | 关闭 |
| 闲置阈值 | 会话闲置超过该时间后将被归档 | |
| 支持单位:分钟/小时/天 | 72 小时 | |
| 扫描间隔 | Host 端每隔多久扫描一次(分钟) | 30 分钟 |
| 立即归档 | 点击后立即按当前配置扫描一次 | - |
使用说明
- 修改配置:在界面中修改配置后,点击 保存 按钮才会生效(可点击 放弃 取消修改)
- 配置生效:保存成功后会立即触发一次扫描,并显示"已保存,立即生效"提示
- 持久化:配置自动保存到
$DSH_HOME/settings.yaml的chat-archive章节 - 周期执行:首次扫描后,按设定的扫描间隔定期执行
归档规则
- ✅ 会被归档:闲置时间超过阈值的非活跃会话
- ❌ 不会归档:
- 当前正在运行的会话
- 已经在归档集中的会话
- 无法确定活动时间的会话
- 📏 闲置时间判定:基于会话持久化日志文件(
session.jsonl)的最后修改时间(mtime) - 🛡️ 防误归档:会话须连续闲置
max(阈值, 一个完整扫描间隔)才会被归档
🔍 预览功能
在实际启用归档前,可以使用预览脚本查看哪些会话将被归档:
## 🎮 使用指南
### 访问设置界面
1. 启动 DSH Web GUI 后,点击侧边栏底部的 **设置** 图标
2. 在设置弹窗的左侧菜单中找到 **对话自动归档** (Auto-archive conversations)
3. 进入配置界面
### 配置项说明
| 配置项 | 说明 | 默认值 |
|--------|------|--------|
| **启用自动归档** | 总开关,关闭后不扫描不归档 | 关闭 |
| **闲置阈值** | 会话闲置超过该时间后将被归档
支持单位:分钟/小时/天 | 72 小时 |
| **扫描间隔** | Host 端每隔多久扫描一次(分钟) | 30 分钟 |
| **立即归档** | 点击后立即按当前配置扫描一次 | - |
### 使用说明
- **修改配置**:在界面中修改配置后,点击 **保存** 按钮才会生效(可点击 **放弃** 取消修改)
- **配置生效**:保存成功后会立即触发一次扫描,并显示"已保存,立即生效"提示
- **持久化**:配置自动保存到 `$DSH_HOME/settings.yaml` 的 `chat-archive` 章节
- **周期执行**:首次扫描后,按设定的扫描间隔定期执行
### 归档规则
- ✅ **会被归档**:闲置时间超过阈值的非活跃会话
- ❌ **不会归档**:
- 当前正在运行的会话
- 已经在归档集中的会话
- 无法确定活动时间的会话
- 📏 **闲置时间判定**:基于会话持久化日志文件(`session.jsonl`)的最后修改时间(mtime)
- 🛡️ **防误归档**:会话须连续闲置 `max(阈值, 一个完整扫描间隔)` 才会被归档
### 配置项说明
| 配置项 | 说明 | 默认值 |
|--------|------|--------|
| **启用自动归档** | 总开关,关闭后不扫描不归档 | 关闭 |
| **闲置阈值** | 会话闲置超过该时间后将被归档
支持单位:分钟/小时/天 | 72 小时 |
| **扫描间隔** | Host 端每隔多久扫描一次(分钟) | 30 分钟 |
| **立即归档** | 点击后立即按当前配置扫描一次 | - |
### 使用说明
- **修改配置**:在界面中修改配置后,点击 **保存** 按钮才会生效(可点击 **放弃** 取消修改)
- **配置生效**:保存成功后会立即触发一次扫描,并显示"已保存,立即生效"提示
- **持久化**:配置自动保存到 `$DSH_HOME/settings.yaml` 的 `chat-archive` 章节
- **周期执行**:首次扫描后,按设定的扫描间隔定期执行
# 使用默认配置预览(72 小时阈值,30 分钟间隔)
node scripts/preview-archive.mjs
### 使用 DSH 命令卸载
```bash
### 使用脚本卸载(本地安装)
```bash
bash scripts/disable-from-profile.sh web
注意:卸载插件不会影响已归档的会话,这些会话仍然存在于归档集中,可通过 DSH 原生功能恢复。
保存配置时提示"保存失败"?
- 检查配置值是否合法(必须是 ≥1 的整数)
- 确认 DSH 设置服务正常运行
- 查看控制台是否有错误信息