列出、恢复或彻底删除已归档的会话
30.8/100
综合分
1
GitHub 星标
52
npm 周下载
—/5
用户评分
数据截至 2026/10/5 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-session-archivenpm 源 · dsh-session-archive 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · market
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 27 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-session-archive @ 1.0.0
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/12 21:23:37
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 54 处,展示前 23 条)
- 读取本地文件index.js:389
if (typeof locatedDirectory === 'string' && existsSync(locatedDirectory)) { - 读取本地文件index.js:394
if (existsSync(root)) { - 读取本地文件index.js:396
for (const entry of readdirSync(root, { withFileTypes: true })) { - 读取本地文件index.js:400
if (!seen.has(directory.toLowerCase()) && existsSync(directory)) { - 读取本地文件index.js:406
if (!seen.has(flat.toLowerCase()) && existsSync(flat)) { - 读取本地文件index.js:414
if (existsSync(cache)) found.push({ kind: 'projection-cache', path: cache }); - 删除本地文件递归index.js:466
rmSync(artifact.path, { recursive: true, force: true }); - 删除本地文件index.js:499
rmSync(file, { force: true }); - 发起网络请求client.js:436
const response = await fetch(`${ROUTE}/archived`, { cache: 'no-store' }); - 发起网络请求client.js:585
const response = await fetch(`${ROUTE}/delete`, { - 写入本地文件_verify-session-archive.mjs:60
mkdirSync(join(home, 'sessions', projectA, sessionA), { recursive: true }); - 写入本地文件_verify-session-archive.mjs:61
mkdirSync(join(home, 'sessions', projectB, sessionB), { recursive: true }); - 写入本地文件_verify-session-archive.mjs:62
writeFileSync(logA, 'a'.repeat(1500)); - 写入本地文件_verify-session-archive.mjs:63
writeFileSync(logB, 'b'.repeat(64)); - 写入本地文件_verify-session-archive.mjs:66
writeFileSync(legacy, 'legacy'); - 写入本地文件_verify-session-archive.mjs:69
mkdirSync(join(home, 'storages', 'session_projcache', 'sessions'), { recursive: true }); - 读取本地文件_verify-session-archive.mjs:222
const pkg = JSON.parse(readFileSync(join(PLUGIN_DIR, 'package.json'), 'utf8')); - 读取本地文件_verify-session-archive.mjs:228
check('exports a ./client bundle', existsSync(join(PLUGIN_DIR, pkg.exports['./client']))); - 读取本地文件_verify-session-archive.mjs:230
check(`file exists: ${file}`, existsSync(join(PLUGIN_DIR, file))); - 读取本地文件_verify-session-archive.mjs:232
const patch = readFileSync(join(PLUGIN_DIR, 'cordis.patch.yml'), 'utf8'); - 读取本地文件_verify-session-archive.mjs:238
const source = readFileSync(join(PLUGIN_DIR, 'client.js'), 'utf8'); - 读取本地文件_verify-session-archive.mjs:439
check('cross-origin POST deleted nothing', existsSync(home.logA)); - 删除本地文件递归_verify-session-archive.mjs:694
rmSync(home.home, { recursive: true, force: true });
扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 列出已归档会话
- 恢复已归档会话
- 彻底删除已归档会话
README
由 DeepSeek 最新模型翻译生成dsh-session-archive
给 DeepSeek Harness 的归档会话一个能管的地方:列出来、恢复、或者彻底删除。
dsh 本身只能归档。官方明确写着 No Session deletion — sessions can be archived but never deleted,sessionPersistence 只有 create/open/flush/stat/list,ctx.fs 连删除动词都没有——归档之后再想清掉一个会话,没有出口。这个插件把出口补上。
设置里的「归档会话」页面
安装
已发布到 npm。先把 DeepSeek Harness 完全退出——应用运行时 profile 的 package.json 是被锁住的,命令会拿不到锁:
dsh plugin --profile desktop add dsh-session-archive
profile 不叫 desktop 的话,把 --profile 后面的名字换掉。不想用命令行,也可以走界面:侧边栏 → Plugins → Add plugin,填包名。
装完刷新页面。以后更新时:只改 client.js 刷新页面就够;改了 index.js(Host 半边)要重启应用——插件的 Host 模块不会因为重新组合而重新加载。
从源码装
clone 下来按目录装。
展开完整文档(README 剩余 1 节)
dsh-session-archive 给 DeepSeek Harness 的归档会话一个能管的地方:列出来、恢复、或者彻底删除。 dsh 本身只能归档。官方明确写着 No Session deletion — sessions can be archived but never deleted,sessionPersistence 只有 create/open/flush/stat/list,ctx.fs 连删除动词都没有——归档之后再想清掉一个会话,没有出口。这个插件把出口补上。 设置里的「归档会话」页面 安装 已发布到 npm。先把 DeepSeek Harness 完全退出——应用运行时 profile 的 package.json 是被锁住的,命令会拿不到锁: dsh plugin --profile desktop add dsh-session-archive profile 不叫 desktop 的话,把 --profile 后面的名字换掉。不想用命令行,也可以走界面:侧边栏 → Plugins → Add plugin,填包名。 装完刷新页面。以后更新时:只改 client.js 刷新页面就够;改了 index.js(Host 半边)要重启应用——插件的 Host 模块不会因为重新组合而重新加载。 从源码装 clone 下来按目录装。装进去的是 link: 依赖,所以目录别装完又挪走: git clone https://github.com/meowyuho/dsh-session-archive.git dsh plugin --profile desktop add link:<clone 下来的绝对路径> 路径必须是绝对路径;link: 也可以写成 file:,或者直接裸给绝对路径。 也可以不 clone,直接按仓库装: dsh plugin --profile desktop add github:meowyuho/dsh-session-archive 这两种和上面那条一样,都会顺手把它注册进 profile 的 bundle 层栈。本包没有构建步骤,所以不会碰到 git 安装那种 allowBuilds 提示。 用法 设置 → 左侧导航 → 归档会话。 - 恢复:会话回到侧边栏原来的位置。 - 彻底删除:点行内「彻底删除」,展开一张确认卡片(写明是哪个会话、日志在哪儿),确认之后才动手。卡片可以按 Esc 取消。 彻底删除的确认卡片 删除会删掉什么 - 会话自己的日志目录:<dsh home>/sessions/<项目目录>/<会话 id>/。里面可能并存 v0–v4 多个格式世代,所以删的是整个目录,不是某个文件。 - 投影缓存记录:<dsh home>/storages/session_projcache/sessions/<id>.json。 - 工作区里的会话占位,以及归档集合、置顶集合里的记录。 不碰:attachments/ 和它的请求缓存(内容是寻址的,一个对象可能被好几个会话共用,删了会连带弄坏别的会话)、spill 临时文件、会话查询索引、workspace.json 整体,以及工作区目录里你自己的文件。 删的过程是三步:删文件 → 让浏览器重拉一次会话目录 → 最后才移出归档集合。 顺序不是讲究。如果一次做完,中间会出现一个瞬间:它已经不在归档集合里了,但客户端目录还记着它——侧边栏就会把它画成一行,点开报 session/not-found。分三步走,中间那步做完时它仍然处于归档状态,没有任何界面会画它;等身份从客户端清掉之后再移出归档集合,就一帧都不露。任何一步失败都停在可以直接重试的状态。 几个要注意的地方 - 排序用的是「最后活动」,不是归档时间。 dsh 的归档集合里只有一个 id 数组,不带时间戳,所以没有真正的归档时间可用。列表按最后活动时间从新到旧排;行尾的「第 N 个归档」才是归档先后。 - 「有活儿在跑」和「在内存里」是两回事。 能不能删看的是有没有正在进行的 turn / job / subagent / schedule;被加载过、但闲着的会话可以删。早期版本把两者混为一谈,结果一大批本该能删的会话都删不掉。 - subagent 世系的会话不能单独删,它的日志归拥有它的那个会话管。 - 正开在主视图里的会话不能删,先切到别的会话。这是唯一一种「删完可能又被唤醒、把日志重新写出来」的情况,所以在动手前拦住。 - 没有回收站,删除不可撤销。 - 侧边栏那边插件一点没动。 dsh 默认就隐藏归档会话;宿主的「全部会话(显示已归档)」「仅显示已归档」还是你自己的开关,插件不会把它改回去。 - 日志已经不在、但归档记录还在的行会被标出来,可以直接点删除把登记清干净。 实现 - Host 半边就是两个同源路由:GET /dsh-session-archive/archived、POST /dsh-session-archive/delete。浏览器同源 fetch;路由自己带同源校验(Host 必须是回环、Origin 要和它一致,额外放行桌面宿主的 dsh-app: 协议),因为宿主 Web carrier 官方声明没有认证和来源策略。 - 删文件直接走 node:fs:ctx.fs 没有删除动词,sessionPersistence 也没有删除 API,而插件本来就跑在 Host 进程里。 - 界面半边没有 import 任何宿主 Client 包(官方插件规范要求),样式照抄宿主、只引用 --dsw-* 主题令牌,所以深浅色自动跟随。 验证 _verify-session-archive.mjs 跟着包一起发布,只依赖 Node 内置模块。它全程把 DSH_HOME 指到一个临时目录,不会碰你真实的会话数据: node _verify-session-archive.mjs 覆盖 bundle 声明、浏览器半边的注册契约、同源与各类拒绝路径、真实的文件删除(在临时 HOME 里核对磁盘结果)、活动判据、分步协议,以及样式只用主题令牌。失败以非零退出码结束。 许可 MIT,见 LICENSE。 仓库:https://github.com/meowyuho/dsh-session-archive
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
meowyuho/dsh-session-archive
列出、恢复或彻底删除已归档的会话
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 21,780未汉化DSH
73.5
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 1,947已汉化MCP
72.7
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,347已汉化DSH
71.9
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13917 个插件含 PR 收录与…
★ 343已汉化DSH
71.6