kira905/dsh-butler-archive ↗★ 0
dsh-archive-sessions
浏览、预览、恢复和删除已移出会话目录的归档会话,零运行时依赖。 适合需要找回或清理归档会话的用户;安装前建议备份 profile 文件,路径可通过环境变量配置。
同名包的其他仓库
安装
此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗
说明文档
阅读完整 README ↗四、配置
配置解析优先级(后者覆盖前者):
- 插件内置默认值(见
examples/archive-sessions.config.example.json) - 配置文件
- 环境变量
配置文件的位置(先找到谁就用谁):
| 优先级 | 路径 |
|---|---|
| 1 | $ARCHIVE_SESSIONS_CONFIG 指向的文件 |
| 2 | /.archive-sessions.config.json ← 一台机器一份,多机共存推荐 |
| 3 | /archive-sessions.config.json |
其中 `` = $DSH_HOME,未设置时是 ~/.dsh。
支持的环境变量:
| 变量 | 作用 |
|---|---|
DSH_HOME | DSH 用户数据根(默认 ~/.dsh) |
DSH_SESSIONS_DIR | 活跃会话目录(默认 /sessions) |
ARCHIVE_SESSIONS_CONFIG | 配置文件路径 |
ARCHIVE_SESSIONS_DIR | 归档根目录(默认 /_archived-sessions) |
ARCHIVE_SESSIONS_API_PREFIX | HTTP 路由前缀 |
路径键写成相对路径时按 `` 解析(例:"archiveRoot": "archive-2" →
/archive-2),所以一份配置可以在 Windows / macOS / Linux 之间搬运,不必写死用户名。
常用键速查(完整默认值与注释见示例文件):
| 键 | 默认 | 说明 |
|---|---|---|
language | "zh" | 界面语言,内置 zh / en |
ui / uiByLanguage | {} | 逐条覆盖界面文案;键表见 lib/config.js 的 DEFAULT_UI |
paths.archiveRoot | null | 归档根;null = /_archived-sessions |
paths.sessionsRoot | null | 活跃会话根;null = /sessions |
paths.storagesDir | null | 存储目录;null = /storages |
archive.headerFrames | 8 | 元数据兜底时向前解几帧(见「已知限制」) |
archive.statePath | null | 自动归档状态文件路径;null = 归档根下 .auto-archive.json |
preview.maxMessages | 50 | 预览返回的消息条数 |
preview.maxMessageChars | 4000 | 单条消息截断长度 |
server.apiPrefix | "/api/dsh-archive-sessions" | 路由前缀 |
server.allowedHosts | ["127.0.0.1","localhost","[::1]"] | 允许的 Host 名 |
auto.enabled | false | 是否开启自动归档 |
auto.dryRun | true | true 只列候选、不移动文件 |
auto.hours | 48 | 多少小时未活跃才成为候选 |
auto.minSizeMb / auto.maxPerRun | 0 / 50 | 候选大小下限 / 单次上限 |
改配置文件后需要重启 DSH 才生效(插件启动时载入一次并常驻内存)。 例外是自动归档的
enabled/dryRun/hours/intervalMs/minSizeMb/maxPerRun—— 这几项由面板或POST {prefix}/auto维护在状态文件里,改完立即生效。
1) 静态验证:语法 + 配置解析行为 + 硬编码/隐私扫描
node scripts/verify-source.mjs .
用一份独立配置起真实 HTTP,跑 list / detail / restore / delete / auto / 安全边界
node scripts/test-e2e.mjs # --keep 保留临时目录便于排查