精选
为什么选中它
待人工精选——以下事实来自源码仓库。
它能做什么
DSH plugin: guards the persisted session-projection cache with per-row JSON degradation + startup title self-heal. · 会话投影缓存守卫:逐行 JSON 降级 + 启动自愈补全标题
适合谁
想用 DSH 获得这项能力的用户;装前建议先看源码和文档。
风险提示
- 未发现明显风险信号;安装前仍建议查看源码。
DSH plugin: guards the persisted session-projection cache with per-row JSON degradation + startup title self-heal. · 会话投影缓存守卫:逐行 JSON 降级 + 启动自愈补全标题
待人工精选——以下事实来自源码仓库。
DSH plugin: guards the persisted session-projection cache with per-row JSON degradation + startup title self-heal. · 会话投影缓存守卫:逐行 JSON 降级 + 启动自愈补全标题
想用 DSH 获得这项能力的用户;装前建议先看源码和文档。
dsh plugin --profile web add github:DamonKoy/dsh-projection-guard 仓库没有提供 GitHub Topics。
作者没有声明支持的平台。
session_projcache.json. The write path serializes the whole per-session checkpoint in one JSON pass: if a single projection unit stores a non-JSON value (a Map, Set, class instance, cyclic or non-finite value — e.g. some third-party plugins), the entire write fails. The failure is fail-soft (log-only), so the cache silently stops updating. After a restart, every cold session loses its title projection and the UI falls back to showing the workspace folder name instead of the conversation title. ## What this plugin does 1. Per-row degradation (runtime wrapper). It wraps sessionProjectionCache.put() and drops only the rows that are not lossless JSON, keeping every healthy row durable. One bad unit can no longer stall the whole cache — titles, sessionListMetadata, stats etc. keep writing normally. 2. Startup self-heal. On startup it scans persisted sessions whose cached title is missing and cold-reads their logs to backfill the title projection, so an already-stale cache recovers automatically. 3. Observability. A read-only GET /projection-guard/status route reports wrapped-put call counts, dropped rows, and repaired titles (also shown as a small card in Settings when the client half is mounted). No official or third-party files are modified — the guard is a pure runtime wrapper, so it survives dsh upgrades and works on any deployment. ## Install sh dsh plugin --profile web add github:DamonKoy/dsh-projection-guard Restart dsh web. That's it. Or add the repo as a profile dependency and include the bundle: json { "dependencies": { "dsh-projection-guard": "github:DamonKoy/dsh-projection-guard" }, "dsh": { "profile": { "bundles": ["dsh-projection-guard"] } } } Then pnpm install in the profile directory and restart dsh web. ## Configuration | Key | Default | Meaning | | --- | --- | --- | | repairOnStart | true | Backfill missing cached titles from persisted logs at startup. | | logDropped | true | Warn per dropped non-JSON row (key + session id). | Example (profile cordis.patch.yml overlay): yaml - id: projection-guard config: repairOnStart: true logDropped: true ## Development sh npm test # unit tests for the guard core ## License MIT不看 Star,人工一条条挑的。
把 DSH 的 settings.yaml 做成可视化看板:所有已注册的 settings namespace——包括官方界面从未覆盖的第三方插件配置——都渲染成可编辑表单。项目还早,但方向很对:告别手改 YAML。
给 DSH 的 DIY 轨迹可视化:把 agent 的计划与执行画成图,不用翻原始日志也能看清它在干嘛。项目还早,但补上了「一眼看懂 agent 在做什么」这个真实缺口。
从 Claude Code / Codex 把活派给 DSH:在宿主内拉起带分级预设的 DSH agent 会话,看原生子代理进度,还能借它的多模态桥给纯文本的 DSH 补上视觉和生图。编排型插件,把 DSH 变成其他编码 agent 的后端。