DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
A

@solidifact/dsh-auto-archive

Auto Archive

dsh web 插件:每晚一次将已完成且闲置三周的 dsh 会话归档

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:SolidiFact/dsh-auto-archive#03c51f43459ae697b86e539a964a1ddb16127fdc
README兼容性版本

兼容性与来源证明

Auto Archive 以 @solidifact/dsh-auto-archive 发布,当前版本为 0.2.1。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
github
Registry 更新时间
2026/10/6

版本

0.2.1stable
2026/10/6
0.1.1stable
2026/10/5

相关插件

正在加载相关插件…

最新版
0.2.1
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
any
许可证
Apache-2.0
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/10/6
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 productivity-workflow 分类下经过校验的插件。

Acp App@deepseek-ai/dsh-acp-appdsh ACP 配置文件包:基于 dsh-base 的仅限自动化的 JSON-RPC stdio 和进程生命周期管理Experimental Schedule Bundle@deepseek-ai/dsh-experimental-schedule-bundle为 Web 组合添加 Schedule、其任务页面和时间上下文的可选捆绑包Client Ui Task Board@linxin666/dsh-client-ui-task-board面向 DSH Web GUI 的主机权威任务面板,支持实际会话执行、主机 cron 调度以及可选的跨平台空闲睡眠保护;以挂载方式提供,无需修改 DSH 源代码。Web All@linxin666/dsh-web-allDSH Web UI 全家桶聚合插件:一键安装全部功能插件(task-board / pet / web-ui-settings / skin-center / community-plugins / compat shim)。compat 桥接层已并入本包(src/client),无需独立 compat npm 包。

README

dsh-auto-archive

A DeepSeek Harness (dsh) web plugin that archives sessions which are finished and have not been used for three weeks, once a night, without getting in your way.

A community plugin from SolidiFact. Not an official DeepSeek product.

What it archives

A session is archived only when all of these are true:

  • it has had no activity for 21 days (dsh's own last-activity time);
  • its goal, if it has one, is complete: an active, paused or blocked goal keeps it;
  • every to-do item is completed;
  • nothing is queued for its next turn;
  • it is not open, not running, not pinned, not in a folder you excluded, and not starred in @michengai/dsh-archive-manager (starring is respected when that plugin is installed);
  • it is a top-level session (a sub-agent's session follows its parent).

A session whose state cannot be read is kept, and so is one whose goal or to-dos this dsh cannot show (the plugins that record them are not loaded): "cannot tell" never counts as "finished". An empty session (opened, never used) has nothing unfinished, so it is archived once idle.

Why it is safe to leave running

  • Archiving deletes nothing. In dsh it hides a session, and it is restored with one click (for example from the archive manager's page).
  • Once a night, in a quiet window (03:30 to 05:30 local by default). If any session is running, it skips that check and tries again ten minutes later.
  • Each session is re-checked just before it is archived, and dsh is never asked to stop work: dsh itself refuses to archive a session with running activity.
  • Starred sessions it cannot read mean no archiving that night, not "no stars".
  • It never waits on dsh forever. Each call it makes (the session list, the starred list, each archive) has a time limit, two minutes by default. If one runs over, the pass stops, logs which call stuck, and records it in the ledger; a stuck archive call ends the night rather than queueing more behind it.
  • No more than 200 a night, oldest first.
  • Everything it does is written down: one JSON line per night in ~/.dsh/auto-archive/ledger.jsonl, naming every archived session with its title and last activity, plus how many were kept and why.

What it found on one install

A dry run on a real install with 769 sessions (dsh 0.1.7-rc.2):

Sessions
Would archive (finished, idle 21+ days)105
Kept: used in the last 21 days442
Kept: sub-agent sessions186
Kept: already archived21
Kept: unfinished to-dos11
Kept: blocked goal1
Kept: state could not be read2
Kept: open1

Install

Tested with dsh 0.1.7-rc.2 and 0.2.1-alpha.1; every change and a weekly run check it still attaches to dsh's latest and alpha releases. It needs dsh's web profile (the web examples below) and, like any dsh plugin install, pnpm on your PATH.

dsh plugin --profile web add @solidifact/dsh-auto-archive

See what it would do first. Before restarting dsh, put this in the profile's own ~/.dsh/profiles/web/cordis.patch.yml (replacing the empty [] if that is all it holds):

- id: auto-archive
  config:
    dryRun: true
    passOnStart: true

Restart dsh web, wait a minute, and read the last line of ~/.dsh/auto-archive/ledger.jsonl. It lists every session it would archive and how many it kept, and why. When the list looks right, remove those lines; from then on it archives each night.

To remove it:

dsh plugin --profile web remove @solidifact/dsh-auto-archive

Without npm: copy index.mjs into the profile folder as auto-archive.mjs and add it to that profile's cordis.patch.yml (drop the config: lines once the dry run looks right):

- insert:
    - id: auto-archive
      name: './auto-archive.mjs'
      config:
        dryRun: true
        passOnStart: true

Settings

Set any of these under the plugin's id in your profile's cordis.patch.yml; dsh picks up the change without a restart.

- id: auto-archive
  config:
    idleDays: 30
    excludeFolders: ['~/work/client-a']
SettingDefault
idleDays21days without activity before a finished session is archived
excludeFolders[]project folders whose sessions are never archived (a folder inside one counts too)
archiveEmptytruearchive sessions that were opened and never used
runAt"03:30"local time the nightly window opens
windowHours2how long the window stays open
maxPerRun200most sessions archived in one night (oldest first; the rest wait)
dryRunfalsedecide and record, archive nothing
passOnStartfalseone extra pass a minute after dsh starts
stepTimeoutSeconds120how long one dsh call may take before the pass gives up and records it
restorenone"last" or a night as "YYYY-MM-DD": put back what that night archived (below)
ledger~/.dsh/auto-archive/ledger.jsonlwhere each night is recorded

Getting sessions back

  • A whole night: set restore: "last" (or the night's date). Within a few seconds every session that night archived is back, and the ledger records it. Each night is restored once, so leaving the setting in place does nothing more. A restored session is never archived again until you have used it; after that the normal rules apply.
  • One session: dsh's own Settings → Archived sessions page, or the Archived tab of @michengai/dsh-archive-manager if you use it.

Tests

node --test

License

Copyright 2026 SolidiFact. Licensed under the Apache License, Version 2.0; see LICENSE.