dsh-auto-archive

DSH PLUGIN记忆与知识

仓库 StanElka/dsh-auto-archive

记忆与知识 未标注验证等级 安全审查:未标注 可信度:未标注 可安装插件
安装这个插件

dsh-auto-archive 是 StanElka 维护的 记忆与知识 类 DSH 可安装插件, 仓库为 StanElka/dsh-auto-archive。 下面按「装什么、怎么装、验没验过、跑起来要注意什么」逐项列出。

一句话选型结论

按资料字段整理

dsh-auto-archive 是记忆与知识类的 DSH 可安装插件,未做沙盒验证,暂无安全审查结论,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类记忆与知识 收录类型可安装插件 验证等级未标注验证等级 安全审查未标注
验证等级 UNKNOWN 未标注验证等级
GitHub 星标 0 复刻 0 · 未关闭 issue 0
最近更新 2026-10-26 创建于 2026-10-26
README 6.6 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:StanElka/dsh-auto-archive
  1. 1
    确认版本与运行环境

    仓库没有标注兼容版本与 Node.js 要求,先确认你的 DSH 版本能装,再继续。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本未标注版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名未发布到 npm可用 npm view 查看包信息

能做什么

记忆与知识
字段来自项目仓库与公开索引,中文说明由本站标注

上游标签

deepseek-harnessdsh-plugin

验证等级与安全审查

未标注验证等级
自动化流程结论,不是人工审核
验证等级未标注验证等级上游未给出验证结论,安装前请自行确认
安全审查未标注静态分析结论,未标注不代表已通过审查
仓库健康度未标注按仓库活跃度与最近更新时间给出
可信度未标注综合仓库活跃度与验证结果

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 安全审查还没结论,装之前先看仓库改了什么、要什么权限。
  • 没有声明 Node.js 版本要求,版本不匹配可能装不上。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在记忆与知识场景里给 DSH 补能力的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-auto-archive当前 未做沙盒验证 未标注 0 未标注 有
ruflo L3 · 安装规范通过 低风险 7.4 万 未标注 无
OpenViking L3 · 安装规范通过 低风险 3.9 万 未标注 无
WeKnora L4 · 沙盒安装通过 低风险 3.3 万 未标注 有
distilly L4 · 沙盒安装通过 低风险 2.5 万 未标注 有
EverOS L4 · 沙盒安装通过 低风险 1.3 万 未标注 有

仓库档案

记忆与知识
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方StanElka仓库 dsh-auto-archive · 默认分支 main
分类记忆与知识memory
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言未标注仓库主语言
许可证未标注商用或二次分发前请确认条款原文
星标 / 复刻 / issue0 / 0 / 0收录时的数值,非实时
创建 / 更新2026-10-26 · 2026-10-26最后推送 2026-10-26
本站收录2026-10-30首次进入本站目录的时间

README 全文

6.6 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-auto-archive

> A DSH plugin that automatically archives idle conversations and clears the expired projection cache of archived sessions — without deleting transcripts, attachments, workspace files or anything a conversation produced.

> 给 DeepSeek Harness(桌面版 / Web)用的本地插件:闲置会话按天自动归档,已归档会话的超期「对话缓存」自动清理,不删除会话记录、附件或任何对话产出。

What it does / 它做什么

Capability Default Behaviour
Auto-archive / 自动归档 idle 14 days Calls DSH's official workspaceRegistry.archiveSession(); archived sessions stay restorable from the archived list.
Cache cleanup / 缓存清理 archived and idle 90 days (~3 months) Deletes only DSH's derived projection cache (~/.dsh/storages/session_projcache/sessions/.json, rebuilt on demand).
Scheduled check / 巡检 every 30 minutes Silent background check; the settings panel can preview or run immediately.
Protection / 保护 pinned sessions Optional extra allow-list by session id, workspace id or cwd fragment.
Audit / 审计 last 30 runs Per-run archive/cleanup details; restoring an archived session is one click.

Safety boundary / 安全边界

The plugin never deletes:

  • session transcripts (session.v4.jsonl.zstd / session directories);
  • attachments (~/.dsh/attachments), spill files, workspace or project files;
  • results produced by a conversation — archiving only adds/removes ids in DSH's archived set, and the content stays untouched.

Its only two writes are:

  1. Archive state — adding/removing session ids in DSH's archivedSessionIds through the official registry API (reversible).
  2. Projection cache — deleting ~/.dsh/storages/session_projcache/sessions/.json, a cache DSH rebuilds on demand.

Active sessions are always skipped (the plugin never passes stopActivity), so a running turn, job or subagent is never interrupted.

Install / 安装

Install into a DSH profile (the desktop profile is managed by the Electron app, so use the CLI):

dsh plugin --profile desktop add github:elk-9527/dsh-auto-archive

Or from a local checkout:

dsh plugin --profile desktop add "file:D:/path/to/dsh-auto-archive"

Then fully quit and reopen DSH (host plugins load at startup). Open the panel via bottom-left avatar → Settings → 自动归档; it appears next to General / Built-in plugins.

Uninstall:

dsh plugin --profile desktop remove dsh-auto-archive

Configuration / 配置

Stored at ~/.dsh/auto-archive/config.json (created automatically; editable from the panel):

{
"version": 1,
"autoArchive": { "enabled": true, "idleDays": 14, "checkIntervalMinutes": 30 },
"cacheCleanup": { "enabled": true, "unusedDays": 90 },
"protect": { "pinnedSessions": true, "sessionIds": [], "workspaces": [] },
"limits": { "maxOperationsPerRun": 50 },
"dryRun": false
}
  • idleDays — a session whose last activity is older than this is archived. Last activity = max(transcript mtime, createdAt).
  • unusedDays — an archived session idle longer than this has its projection cache removed.
  • protect.workspaces — workspace id or a case-insensitive cwd fragment; matching workspaces are never archived.
  • dryRun: true — every automatic run becomes a preview.
  • limits.maxOperationsPerRun — caps one run, so a first launch cannot sweep the whole history at once.
  • Run state lives in ~/.dsh/auto-archive/state.json (atomic writes, last 30 runs).

HTTP API / 本机回环 API

Prefix /dsh-auto-archive (loopback Host only; anything else gets 403):

Method Path Purpose
GET /dsh-auto-archive/api/state Config, last/next run, counts
GET /dsh-auto-archive/api/sessions?limit=200 Session inventory with idle days and eligibility
GET /dsh-auto-archive/api/history Last 30 runs
POST /dsh-auto-archive/api/config Deep-merge and save config
POST /dsh-auto-archive/api/run {"dryRun":true} preview / {"dryRun":false} execute
POST /dsh-auto-archive/api/restore {"sessionIds":["..."]} unarchive

Development / 开发

npm test              # node --test "test/*.test.mjs" "test-client/*.test.mjs"
npm run test:e2e      # fake-host end-to-end suite (temp DSH_HOME, real node:http)

The host half interacts with DSH only through ctx services (webServer, sessionPersistence, sessions, workspaceRegistry, sessionProjectionCache); the client half is a hand-written window.__ModuleLoader__.load({...}) bundle with no build step. No third-party dependencies. Node ≥22.

index.js            # host entry
lib/config.js       # config schema / load / atomic write
lib/state.js        # run state and history
lib/sessions.js     # inventory, last-activity, classification
lib/run.js          # archive + cache cleanup (dry-run has no side effects)
lib/api.js          # HTTP API + loopback guard
lib/scheduler.js    # periodic checks, single-flight
client.js           # settings panel (ModuleLoader bundle, no build)
cordis.patch.yml    # profile patch layer
test/ test-client/  # node --test suites
e2e/                # fake-host integration suite
docs/kernel-api.md  # verified DSH kernel API reference

Known limits / 已知限制

  • Cache cleanup targets archived sessions only, so the active list is never touched.
  • "Conversation cache" means DSH's projection cache; transcripts and attachments are never deleted by design, so they keep their disk usage.
  • Archiving obeys DSH's own activity check; a session another plugin considers active is skipped, never force-stopped.
  • The host half loads at startup: restart DSH after changing code.

Verified scope / 已验证范围

  • Settings panel — opened in a real Edge (headless CDP) session at bottom-left avatar → Settings → 自动归档; panel renders status cards, config form, inventory and history with no console errors (see screenshot above).
  • Host API — exercised on a scratch profile against real data: state/session inventory, dry-run (98 candidates → capped at 50), live archive of one session (archivedSessionIds +1), restore, cache-cleanup candidate counting.
  • Safety — only registry archive/unarchive happened against real data; the archive set was restored to its pre-test baseline, and no transcript, attachment or workspace file was removed.
  • Tests — 148 unit/client tests plus the fake-host e2e suite pass.

常见问题

4 问
答案由本站依据条目字段整理,不引用上游原文
dsh-auto-archive 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:StanElka/dsh-auto-archive` 即可。

dsh-auto-archive 的验证等级是什么意思?

未标注验证等级。上游未给出验证结论,安装前请自行确认

dsh-auto-archive 安全吗?

未标注。

dsh-auto-archive 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

同名或近似条目

3 条
不同作者的仓库分开列,请确认你要装的是哪一个
记忆与知识
按星标排序,可作替代方案

ruflo

ruflo

L3 · 安装规范通过 7.4 万 星

OpenViking

OpenViking

面向 DeepSeek Harness 的 OpenViking 记忆与上下文插件:pre-step 自动召回与画像注入、会话捕获、`vik

L3 · 安装规范通过 3.9 万 星

WeKnora

WeKnora

把 WeKnora 知识库接入 dsh 的四个只读工具:列出知识库、混合检索原文片段、按顺序还原单篇文档,以及直接取用 WeKnora 自己

L4 · 沙盒安装通过 3.3 万 星

distilly

distilly

Distilly — Distill how they think into reusable Skills for any Agent o

L4 · 沙盒安装通过 2.5 万 星

EverOS

EverOS

L4 · 沙盒安装通过 1.3 万 星

MemOS

MemOS

L4 · 沙盒安装通过 1.2 万 星

StanElka 的其它插件

1 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 —。