kira905/dsh-butler-archive ↗★ 0

dsh-archive-sessions

浏览、预览、恢复和删除已移出会话目录的归档会话,零运行时依赖。 适合需要找回或清理归档会话的用户;安装前建议备份 profile 文件,路径可通过环境变量配置。

套件
dsh-archive-sessions
相容性
待驗證
版本
0.3.0
授權
AGPL-3.0
最近更新
2026年9月15日

同名套件的其他儲存庫

安裝

此插件尚未提供可驗證的 bundle,或相容性檢查未通過。請先閱讀倉庫說明。 閱讀完整 README ↗

四、配置

配置解析优先级(后者覆盖前者):

  1. 插件内置默认值(见 examples/archive-sessions.config.example.json)
  2. 配置文件
  3. 环境变量

配置文件的位置(先找到谁就用谁):

优先级路径
1$ARCHIVE_SESSIONS_CONFIG 指向的文件
2/.archive-sessions.config.json ← 一台机器一份,多机共存推荐
3/archive-sessions.config.json

其中 `` = $DSH_HOME,未设置时是 ~/.dsh。

支持的环境变量:

变量作用
DSH_HOMEDSH 用户数据根(默认 ~/.dsh)
DSH_SESSIONS_DIR活跃会话目录(默认 /sessions)
ARCHIVE_SESSIONS_CONFIG配置文件路径
ARCHIVE_SESSIONS_DIR归档根目录(默认 /_archived-sessions)
ARCHIVE_SESSIONS_API_PREFIXHTTP 路由前缀

路径键写成相对路径时按 `` 解析(例:"archiveRoot": "archive-2" → /archive-2),所以一份配置可以在 Windows / macOS / Linux 之间搬运,不必写死用户名。

常用键速查(完整默认值与注释见示例文件):

键默认说明
language"zh"界面语言,内置 zh / en
ui / uiByLanguage{}逐条覆盖界面文案;键表见 lib/config.js 的 DEFAULT_UI
paths.archiveRootnull归档根;null = /_archived-sessions
paths.sessionsRootnull活跃会话根;null = /sessions
paths.storagesDirnull存储目录;null = /storages
archive.headerFrames8元数据兜底时向前解几帧(见「已知限制」)
archive.statePathnull自动归档状态文件路径;null = 归档根下 .auto-archive.json
preview.maxMessages50预览返回的消息条数
preview.maxMessageChars4000单条消息截断长度
server.apiPrefix"/api/dsh-archive-sessions"路由前缀
server.allowedHosts["127.0.0.1","localhost","[::1]"]允许的 Host 名
auto.enabledfalse是否开启自动归档
auto.dryRuntruetrue 只列候选、不移动文件
auto.hours48多少小时未活跃才成为候选
auto.minSizeMb / auto.maxPerRun0 / 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 保留临时目录便于排查