dsh-idle-archive
by wingsky-1
会话闲置提醒:超过 N 小时未对话的会话弹窗询问是否归档,拒绝后进入静默期;归档走官方 archiveSession 接口。
Idle session reminder: prompts to archive sessions untouched for N hours, with a snooze window after each refusal, using the official archiveSession API.
安装
dsh plugin --profile web add github:wingsky-1/dsh-plugin-hub#path:/packages/dsh-idle-archiveGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
会话闲置归档提醒:自动扫描「超过 X 小时没进行对话」的会话,弹窗询问是否归档; 选择「暂不归档」后,该会话 Y 小时内不再重复提示。
定位:会话卫生助手。只提醒 + 一键执行官方归档,不自动归档、不删除任何会话记录。
安装
前提:已安装 DeepSeek Harness 且 dsh web 可正常启动(未全局安装 dsh 见下方「未全局安装 dsh」)。
安装插件(add)
dsh plugin --profile web add @wingsky-1/dsh-idle-archive
卸载插件(remove)
dsh plugin --profile web remove @wingsky-1/dsh-idle-archive
更新插件(update)
dsh plugin --profile web update @wingsky-1/dsh-idle-archive
安装 / 卸载 / 更新后都需重启一次
dsh web(bundle 层只在启动时组合)生效。
指定版本号(@version)
省略 @版本号 即安装默认 latest(推荐)。仅当 registry 尚未同步到最新、或最新版在你的环境有问题时,在包名后追加 @版本号:
dsh plugin --profile web add @wingsky-1/dsh-idle-archive@<版本号>
未全局安装 dsh
若本机没有全局 dsh 命令,用 npx 临时拉起(底层调用 pnpm,仍需本机装好 pnpm 与 Node.js):
npx @deepseek-ai/dsh plugin --profile web add @wingsky-1/dsh-idle-archive
npx @deepseek-ai/dsh plugin --profile web remove @wingsky-1/dsh-idle-archive
npx @deepseek-ai/dsh plugin --profile web update @wingsky-1/dsh-idle-archive
行为
- 周期性扫描会话列表(默认每 60 分钟一次,挂载与列表变化时也会重扫);
- 命中候选(见过滤规则)且页面可见、无其他弹窗时,弹出归档确认框;
- 每个候选会话可单独选择:
- 归档 —— 调用官方
workspace.archiveSession(会话从分组列表隐藏, 会话记录与工作区账目保留); - 暂不归档 —— 该会话进入静默期,Y 小时内不再提醒;
- 归档 —— 调用官方
- 弹窗操作(× / Esc = 关闭并短静默 1 小时;「全部暂不归档」= 全部静默 Y 小时)。
过滤规则(不打扰原则)
以下会话不会进入提醒:从未对话(blank)、正在运行、子代理会话、已归档、 当前正打开、静默期内的会话,以及无有效时间戳的会话。
配置
| 键 | 默认 | 含义 | 范围 |
|---|---|---|---|
enabled |
true |
总开关 | boolean |
idleHours |
72 |
闲置阈值:超过该小时数未对话才提醒 | 1 ~ 8760 |
snoozeHours |
24 |
拒绝后静默时长 | 1 ~ 720 |
scanMinutes |
60 |
自动扫描间隔 | 5 ~ 1440 |
maxRows |
50 |
单次弹窗最多列出候选数 | 1 ~ 200 |
GUI 修改入口:设置 → 插件 → 「会话闲置提醒」卡片(保存后生效,宿主持久化)。
配置文件:~/.dsh/dsh-idle-archive.json(含 settings 与 snoozed 静默表)。
安全与边界
- 宿主端仅提供配置/静默期持久化 + RPC 通道(authority loopback 围栏,
非回环 403)+ health 路由;归档动作由客户端调用官方
workspace.archiveSession执行,宿主不重复实现领域逻辑。 - 归档是单向的:官方
dsh-workspace尚无 unarchive API——弹窗只提醒、 绝不自动归档。 - 弹窗是浏览器端 DOM 实现:仅当 Web GUI 页面打开时才会提醒。
- 静默表随会话累积少量条目,过期条目读取时自动清理。
验证
# 健康检查(回环)
curl -s http://127.0.0.1:3080/api/dsh-idle-archive/health
# 源码在 src/,改后必须 build(dsh 直接 import lib 产物)
pnpm --filter @wingsky-1/dsh-idle-archive build
node test/smoke.mjs && node test/client-shim.mjs
License
MIT
原始 README: https://github.com/wingsky-1/dsh-plugin-hub/blob/main/packages/dsh-idle-archive/README.md ↗
同类插件
查看全部 →
archify
Agent 技能:生成美观、可校验的架构图、工作流图、时序图、数据流图与生命周期图——自包含 HTML、带动画与清晰导出

dsh-turn-rewind
对话回退:基于持久 Change Ledger 回滚会话与工作区状态。

dsh-plugin-cc
把 DeepSeek Harness 接入 Claude Code:评审、批评、委派与会话导入

dsh-interconnect
跨实例互联:经 interconnect 服务在多个 DSH 实例间转发消息与事件。

dsh-chat-import
把 13 家 coding agent(Claude Code、Codex、ChatGPT、Cursor、Gemini、opencode 等)的完整对话历史导入为可续聊的 DeepSeek Harness 会话,并支持反向导出回 Claude Code。

dsh-crew
DSH 插件:从 Claude Code / Codex 向 DSH agent 派活——原生 subagent 进度、宿主内 worker 会话(分级预设),以及为纯文本宿主补上视觉与图像生成的多模态桥