快速了解
它能做什么
用于浏览已归档会话并诊断会话健康状况的 DSH Web 插件,不改写会话日志。
本站提供的是中文说明,不代表该项目或 Plugin 自身提供中文界面;语言支持请以上游文档为准。
Web Profile
>=0.1.0-rc.6 <0.2.0-0
证据已验证
核对日期 2026/9/16 UTC 14:20
有代码证据的贡献
它为 DSH 增加什么
添加侧边栏设置与页面,用于归档会话管理和会话健康检查。
机制证据 ↗选择前先看
会话管家为 DSH Web 增加两个区域:用于列出和批量清理官方归档会话 ID 的归档页面,以及用于扫描会话、展示问题与处方、并可逆隔离损坏投影缓存记录的健康检查页面。项目声明其边界是不修改会话日志或历史会话数据。
适合谁
需要检查归档会话,或在采取可逆处置前排查异常会话状态的 DSH Web 用户。
常见任务
- 浏览官方归档会话集合,并通过备份和原子替换移除选定的归档 ID。
- 批量运行健康检查;默认仅返回非正常会话。
- 针对单个会话检查日志完整性、投影缓存、无损 JSON 和冷读四项结果。
- 隔离损坏的投影缓存记录时查看处置前后对照。
权限与数据
对本地 DSH 会话相关存储执行归档管理与健康诊断。
权限- 读取会话日志以进行完整性和冷读检查。
- 读取 ~/.dsh/storages/session_projcache/sessions 下的投影缓存记录。
- 写入归档会话数组的变更,并可将投影缓存记录隔离作为可逆处置。
- 项目声明不会改写会话日志或历史会话数据。
- 归档清理说明采用备份加原子替换。
- 投影缓存隔离说明会先备份,并提供处置前后对照。
- 提供的证据未声明需要凭据。
局限
- 不提供搜索或索引功能。
- 归档变更和插件安装均需重启宿主进程后生效。
- 归档管理和健康检查均可被功能开关禁用。
- 包版本为预发布版 0.1.0-alpha.4;提供的分发证据中未找到对应 npm 包版本。
DSHub 已核对
- 已验证不可变 Git Bundle、清单结构和 Cordis 补丁。
- 清单声明 DSH Web 客户端集成、Node.js >=20,以及 DSH >=0.1.0-rc.6 <0.2.0-0。
- README 记录了归档与健康检查功能、四项检查门以及可逆处置边界。
DSHub 未核对
- 未实际执行安装或运行时行为。
- 提供的分发证据中未找到该声明版本的 npm 注册表分发。
- 未独立测试其对本地会话存储的实际影响,或其与具体宿主安装的兼容性。
固定版本安装
安装 Session Steward
这个Plugin Bundle没有 DSH Plugin 安装操作,请根据源码文档使用真实交付方式。
维护者原文
项目 README
dsh-session-steward(会话管家 / Session Steward)
DSH Web 插件:会话历史文件 + 会话健康检查。它只做两件事,且都不碰会话数据本身:
- 养老院(会话历史文件):浏览官方归档集合、批量清理(备份 + 原子替换,需重启宿主生效)。
- 体检(健康检查 / 会话医生):四门体检 → 处方(命令清单)→ 出院(可逆处置 + before/after 对照)。
命名边界:本插件不提供搜索与索引。搜索/独立索引属于另一片(
dsh-search-index), 两侧互不出现对方的子域字眼,也不互相解释对方字段。
安装
dsh plugin --profile web add dsh-session-steward
# 或本地开发目录
dsh plugin --profile web add "link:E:/test/rewrite-agently/mine-dsh-plugins/dsh-session-steward"
安装后必须重启宿主进程(仅刷新页面无效)。
路由契约
前缀 /session-steward/api,方法名一律 session-*(不得与搜索索引的 index-* 混用);
未识别的方法返回显式错误,绝不静默。
| 方法 | 子域 | 作用 |
|---|---|---|
session-history-list |
history | 列出官方归档集合(含来源与降级标注) |
session-history-prune |
history | 从归档数组批量移除 id(自动备份,需重启) |
session-health-status |
health | 开关状态与方法表(面板轮询用) |
session-health-scan |
health | 批量体检(默认只返回非 ok 的会话) |
session-health-session |
health | 单会话四门报告 + 处方 |
session-health-repair |
health | 可逆处置(隔离投影缓存记录)+ before/after |
设置命名空间:session-steward;侧边栏入口 id:dsh-session-steward。
两个开关(feature gate)
| 开关 | 字段 | 关闭效果 |
|---|---|---|
| 会话历史文件 | historyFiles(默认 true) |
不注册 session-history-*,不渲染「养老院」页签 |
| 健康检查 | healthCheck(默认 true) |
不注册 session-health-*,不渲染「体检」页签 |
关闭时对应方法返回 { ok: false, error: '子域已关闭(…=false):<method> 未注册' },不留空壳。
四门体检
| gate | 判据 | level |
|---|---|---|
log-integrity |
zstd 多帧扫描 → provenance 展开 → 打包行解包;seq 连续、无撕裂尾帧 | 有读取问题 fail;仅撕裂尾帧 warn |
projection-cache |
~/.dsh/storages/session_projcache/sessions/<id>.json 的 minSeq 与日志末 seq 的 lag + 未结算字段(openStep / activeStep.active / pendingTurnStart / turnBoundary=start) |
滞后且未结算 fail;任一 warn |
lossless-json |
热态 sessionProjections.checkpoint(session) 逐行判定无损 JSON(undefined / 非有限数 / -0 / 稀疏洞 / 非普通原型 / 函数·Symbol·BigInt / 环) |
命中 fail,并给出投影 key → 归属包 |
cold-read |
最后 turn/end 的原因、是否存在未收尾 open step、最后 user 消息之后是否还有 assistant 输出 |
open step fail;interrupted/无 turn/end warn |
处方只给三件可逆的事:① 隔离损坏的投影缓存记录(先备份)② 含未结算 step 时提示等待宿主结算 ③ 输出可执行命令清单。 禁止:改写会话日志、改历史数据、静默丢弃字段。
与 dsh-search-index 的唯一契约
归档文件格式(~/.dsh/storages/workspace.json 的 global.archivedSessionIds):
本插件写、搜索索引只读。格式说明见
dsh-docs-deliverables/dsh-归档文件格式契约-20260914.md。
开发
pnpm install
pnpm typecheck # tsc -b --pretty false
pnpm test # vitest run
pnpm build # tsc -b && tsdown → lib/index.js + lib/client.js
许可
MIT
有意识地管理
安装与管理
前置条件与目标 Profile
目标: Web Profile
交付方式: Git Bundle — drscrewdriver/dsh-session-steward#c6d84146e2aa60d4f3ce8cc3b93d0082744d8579。
验证、更新与移除
显示生命周期命令
dsh plugin --profile web list兼容性与访问范围
DSH Web bundle; requires Node.js 20 or later: >=0.1.0-rc.6 <0.2.0-0。
风险事实
证据与编辑审查Manifest、Bundle patch、分发与新鲜度
不可变证据
审查状态与源码活动
如需不可变来源,请使用固定提交的 Git Bundle 路径;在依据诊断结果执行处置前,建议先在非关键 profile 中验证行为。
AI 审查于 2026/9/16 UTC 14:20。GitHub 事实核对日期: 2026/9/16 UTC 14:20。
自当前证据基线以来,没有记录到重要源码变化。