在设置面板中恢复或彻底删除已归档的会话
30.4/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/7 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查未通过:要求 dsh >=0.1.7-rc.1 <0.2.0-0,而最新版为 0.2.1-rc.2。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Fishquito7/dsh-archived-sessions该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · other
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 36 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(dependency_conflict · 2026/10/7) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装要求 dsh >=0.1.7-rc.1 <0.2.0-0,而最新版为 0.2.1-rc.2
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-archived-sessions @ 0.1.2
✓Node 引擎未声明 engines.node
✗dsh CLI 依赖要求 >=0.1.7-rc.1 <0.2.0-0 · 最新 0.2.1-rc.2 不兼容
✓入口文件main/exports/bin 已声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/20 04:29:18
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 21 处,展示前 21 条)
- 删除本地文件递归lib/index.js:255
await rm(sessionDir, { recursive: true, force: true }); - 读取本地文件lib/cli.js:25
const PACKAGE_JSON = JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf8")); - 读取本地文件lib/cli.js:122
const log = await readFile(join(resolveDshHome(), "web.stdout.log"), "utf8"); - 发起网络请求lib/cli.js:140
const response = await fetch(`http://127.0.0.1:${port}/`, { - 发起网络请求lib/cli.js:208
const response = await fetch(`http://127.0.0.1:${port}/?token=${encodeURIComponent(endpoint.token)}`, { - 发起网络请求lib/cli.js:238
const response = await fetch(`http://127.0.0.1:${port}/api/${endpoint}`, { - 读取本地文件lib/cli.js:285
return JSON.parse(await readFile(file, "utf8")); - 读取本地文件lib/cli.js:300
const current = JSON.parse(await readFile(file, "utf8")); - 读取本地文件lib/cli.js:356
fileModifiedAt = (await stat(sessionDir)).mtimeMs; - 执行外部命令固定命令lib/cli.js:376
const child = spawn("dsh", ["plugin", "--profile", profile, "add", downloadUrl], { - 删除本地文件递归lib/cli.js:505
await rm(sessionDir, { recursive: true, force: true }); - 读取本地文件lib/version.js:12
return JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf8")); - 请求外部主机github.comlib/version.js:48
const response = await fetch(`https://github.com/${repository.owner}/${repository.repo}/releases/latest`, { - 发起网络请求lib/version.js:48
const response = await fetch(`https://github.com/${repository.owner}/${repository.repo}/releases/latest`, { - 读取本地文件lib/embedded-skill.js:9
const raw = readFileSync(new URL("../skills/dsh-archived-sessions/SKILL.md", import.meta.url), "utf8") - 读取本地文件lib/session-paths.js:56
projects = await readdir(root, { withFileTypes: true }); - 读取本地文件lib/session-paths.js:69
entries = await readdir(join(root, project.name), { withFileTypes: true }); - 写入本地文件lib/cli-endpoint.js:32
await mkdir(endpointDir(), { recursive: true, mode: 0o700 }); - 删除本地文件lib/cli-endpoint.js:43
await rm(endpointFile(port), { force: true }); - 读取本地文件lib/cli-endpoint.js:52
const raw = JSON.parse(await readFile(endpointFile(port), "utf8")); - 读取本地文件lib/cli-endpoint.js:75
entries = await readdir(endpointDir(), { withFileTypes: true });
扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
涉及外部主机:github.com
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-atomic-write@deepseek-ai/dsh-home-paths@deepseek-ai/dsh-typert-protocol@deepseek-ai/dsh给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 恢复已归档会话
- 彻底删除已归档会话
README
由 DeepSeek 最新模型翻译生成dsh-archived-sessions
在 DSH Web 设置面板中查看、恢复和删除已归档会话,并附带同名命令行。
DSH(DeepSeek Harness)的会话归档只会把会话从侧边栏分组视图隐藏:本地日志文件和 workspace.sessionIds 席位都会保留。本插件补上两个缺口:
- 恢复归档:只把会话移出归档集合,它回到原工作区、原位置。
- 删除归档:删除 ~/.dsh/sessions/<project>/<session-id>/ 会话日志目录,同时从工作区席位和归档集合中移除(不可恢复)。
归档和恢复一次只允许操作一个会话,不支持多选/批量。
插件还会注册一个运行时内置技能(dsh-archived-sessions),向模型说明命令行的用法;技能正文与包内 skills/dsh-archived-sessions/SKILL.md 一致。因此你还可以与模型沟通以管理归档,无需让模型额外探查归档工作机制。
展开完整文档(README 剩余 1 节)
dsh-archived-sessions
在 DSH Web 设置面板中查看、恢复和删除已归档会话,并附带同名命令行。
DSH(DeepSeek Harness)的会话归档只会把会话从侧边栏分组视图隐藏:本地日志文件和 workspace.sessionIds 席位都会保留。本插件补上两个缺口:
- 恢复归档:只把会话移出归档集合,它回到原工作区、原位置。
- 删除归档:删除 ~/.dsh/sessions/<project>/<session-id>/ 会话日志目录,同时从工作区席位和归档集合中移除(不可恢复)。
归档和恢复一次只允许操作一个会话,不支持多选/批量。
插件还会注册一个运行时内置技能(dsh-archived-sessions),向模型说明命令行的用法;技能正文与包内 skills/dsh-archived-sessions/SKILL.md 一致。因此你还可以与模型沟通以管理归档,无需让模型额外探查归档工作机制。
界面
已归档设置页
安装
请安装 Release 附带的 tgz 发行包:
dsh plugin --profile web add https://github.com/Fishquito7/dsh-archived-sessions/releases/download/v0.2.0/dsh-archived-sessions-0.2.0.tgz
示例默认使用 --profile web;如果你使用其他配置档,请把命令中的 web 替换为你的配置档名。桌面外壳(DeepSeek Harness 应用)的 desktop 配置档由应用自己管理,dsh plugin 会拒绝写入,请在应用内的插件管理里安装。
不推荐直接 dsh plugin add github:...:pnpm 11 的安全策略默认拒绝 Git 来源依赖运行 prepare 构建脚本。Release tgz 已包含编译产物,可直接安装。
安装后关闭并重新启动 dsh web(桌面版则重启应用),然后刷新页面。
设置 → 已归档。
设置导航图标复用侧边栏三点菜单中 “归档对话”的图标,颜色跟随设置菜单主题变量。
命令行
dsh-archived list # 按归档时间倒序列出已归档会话 dsh-archived restore <session-id> # 恢复一个归档会话 dsh-archived delete <session-id> [--yes] # 删除一个归档会话及其日志目录 dsh-archived update [--yes] # 检查并更新插件(默认 --profile web)
通用选项:
--port <n> DSH 端口(默认自动探测:端点描述文件 → web.stdout.log → 19387 → 3080) --profile <name> update 目标配置(默认 web) --offline 强制离线操作(DSH 未运行时直接修改本地文件) --json list 输出 JSON --yes 跳过确认
- 写操作优先调用运行中 DSH 的 Typert 端点,与网页 UI 实时一致。
- 端口自动探测覆盖桌面外壳(固定 19387,且不写 web.stdout.log)。
- DSH 0.1.2-alpha.1 起 /api 通道需要浏览器会话 cookie:宿主动插件启动时会把监听端口与进程启动 token 写进 ~/.dsh/storages/archived-sessions/endpoint-<port>.json(权限 0600),命令行读取后走与浏览器相同的 GET /?token= 换 cookie 流程,不新增任何未鉴权接口。
- DSH 未运行时会自动退化到离线模式;DSH 在运行但插件未挂载(拿不到端点描述文件、/api 返回 401)时会拒绝离线写入,避免运行中网关之后用旧状态覆盖磁盘。
- update 会从 GitHub Releases 的 latest 页面解析最新版本,与本机版本比较;有更新时安装约定的 dsh-archived-sessions-<version>.tgz 发行包。
- 设置页每次进入“已归档”时会静默检查一次版本,仅在有更新时显示小横幅;请求失败或已是最新版本都不显示。
构建发行包
pnpm install
pnpm build
pnpm pack
产物为 dsh-archived-sessions-<version>.tgz。发布时把它附加到 GitHub Release,tag 建议使用 v<version>(例如 v0.2.0),资产名保持上述约定。
兼容性
面向 DSH 0.1.7-rc.x(已在 0.1.7-rc.2 桌面外壳与命令行上实测)。
从 0.1.0-rc.6 迁移时改掉了这些失效点:
| 变化(0.1.0-rc.6 → 0.1.7-rc.x) | 本插件的应对 |
| Typert strict codec 由 schema 改为必需的 create() 工厂,缺失会直接让插件行 activation 失败 | 宿主与客户端描述符都提供 create(客户端保留 schema 以兼容旧版) |
| workspaceRegistry.unarchiveSession 成为官方 API | 删除原先对 registry 实例的能力补丁,直接调用官方实现 |
| sessionPersistence.list() 返回 SessionPersistenceSnapshot[]({ header, … })而非 SessionHeader | 从 snapshot.header 读取 createdAt / cwd |
| sessionPersistence.locate() 降级为后端私有方法 | 删除日志目录改用 JSONL 后端的公开 resolveCurrentLog(id),取不到时按目录布局回退扫描 |
| 客户端 sessions 快照保留 byId(displayTitle 等),workspaces 快照新增 phase,且 state 的 idle 表示「静止/就绪」而非「未加载」 | 状态判定改用 state === "loading" \|\| phase === "pending" |
| 客户端 workspaces 服务新增官方 unarchiveSession | 设置页「恢复」优先走官方客户端命令,归档集合即时收敛 |
| /api 通道需要浏览器会话 cookie(0.1.2-alpha.1 起) | 宿主发布 endpoint-<port>.json(0600),命令行用 GET /?token= 换 cookie |
删除仍未提供官方 API:插件在确认会话不活跃后直接删除 ~/.dsh/sessions/<project>/<session-id>/ 目录,并清理 workspace.sessionIds 席位与归档集合。未来 DSH 提供官方删除 API 后应切换过去。
License
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Fishquito7/dsh-archived-sessions
在设置面板中恢复或彻底删除已归档的会话
相关插件 · 其他
模型破甲清洗YuJunZhiXue/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 14,822已汉化DeepSeek 客户端
73
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 718已汉化DSH
71.2
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,261已汉化DSH
70.7
破甲评测WoYun520/dsh-purge
在本机分离宿主拦截与模型拒绝,做受控红队评测
★ 199已汉化DSH
69.7