鱼皮AI导航
鱼皮AI导航
  • 主页
  • 社区
  • AI工具
  • AI知识库
  • AI提示词
  • MCP
  • Skills
  • AI学习资源
  • AI资讯
  • GitHub开源
登录/注册

dsh-projection-guard

会话投影缓存守卫:逐行 JSON 降级,单个违规投影单元(如第三方插件存储 Map)不再拖垮会话标题与整个缓存;启动自愈自动补全缺失标题。

会话消息
访问 GitHub
文档README

dsh-projection-guard

English

DeepSeek Harness (DSH) 插件:守卫会话投影缓存,让会话标题(及其它所有投影)不再因第三方插件的违规投影单元而在重启后丢失。

修复的问题

DSH 会把每个会话的投影检查点(会话标题、统计、权限等)持久化到 session_projcache.json。写盘路径对整个会话检查点做一次 JSON 序列化:只要一个投影单元的状态不是纯 JSON(Map、Set、类实例、循环引用或非有限数——例如某些第三方插件),整个写盘就会失败。该失败是 fail-soft(只记日志),所以缓存会悄悄停止更新;重启后所有冷会话的 title 投影缺失,界面就回退显示工作区文件夹名而不是会话标题。

插件做了什么

  1. 逐行降级(运行时包装)。 包装 sessionProjectionCache.put(),只丢弃无法无损 JSON 化的行,其余健康行照常持久化。单个坏单元不再拖垮整个缓存——标题、sessionListMetadata、统计等继续正常写盘。

  2. 启动自愈。 启动时扫描"缓存里缺标题"的持久化会话,冷读其日志并回填 title 投影,已过期缓存自动恢复。

  3. 可观测性。 只读路由 GET /projection-guard/status 报告包装调用数、丢弃行数、自愈标题数(挂载 client 半部时也会在设置页显示小卡片)。

不改任何官方/第三方文件——守卫是纯运行时包装,dsh 升级后依然有效,适用于任何部署。

安装

▼
sh
复制代码
dsh plugin --profile web add github:DamonKoy/dsh-projection-guard

重启 dsh web 即可。

或将仓库加为 profile 依赖并挂载 bundle:

▼
json
复制代码
{ "dependencies": { "dsh-projection-guard": "github:DamonKoy/dsh-projection-guard" }, "dsh": { "profile": { "bundles": ["dsh-projection-guard"] } } }

然后在 profile 目录 pnpm install 并重启 dsh web。

配置

键默认值说明
repairOnStarttrue启动时从持久化日志回填缺失的缓存标题。
logDroppedtrue逐行丢弃非 JSON 行时告警(含键名与会话 id)。

示例(profile cordis.patch.yml 覆盖):

▼
yaml
复制代码
- id: projection-guard config: repairOnStart: true logDropped: true

开发

▼
sh
复制代码
npm test # 守卫核心单元测试

License

MIT

会话消息

快捷安装

复制到终端去安装插件

dshplugin--profilewebaddgithub:DamonKoy/dsh-projection-guard

温馨提示

装插件等于在本机跑第三方代码,权限与你相同,能读文件、用凭据、访问网络,工具审批管不到。请只装可信来源,并尽量锁定 commit。

站长:程序员鱼皮 老鱼简历 商务合作 增值电信业务经营许可证
2026 鱼皮AI导航 | 沪ICP备19026706号-6
站长:程序员鱼皮 老鱼简历 商务合作 增值电信业务经营许可证
2026 鱼皮AI导航 | 沪ICP备19026706号-6
🔥热门工具
朱雀AI检测朱雀AI检测
朱雀AI检测助手朱雀AI检测助手
LovartLovart
老鱼简历老鱼简历
WritePass官网WritePass官网
面多多面多多
CursorCursor
星月写作星月写作
零感AI零感AI
墨得问题墨得问题
dsh 插件推荐
dsh-btw
提供 /btw 一次性上下文旁问,不执行工具;回答显示在可复制、折叠或关闭的独立气泡中,不写入主对话。
billion-context
billion-context官方版:上下文压缩插件,兼顾小窗口(100k上下文足矣)省token(省5倍token)和超长会话(数月级别几十亿token单会话)。
dsh-conversation-archive
在 Windows 上管理 DSH 已归档会话,支持搜索、批量取消归档与删除、AI 辅助文件保留,以及经过校验的本地或网络目录备份。
dsh-auto-continue
回答因达到单次输出 token 上限被截断时自动发送"继续"续写,无需手动操作;面向自部署 Ollama 等小输出上限场景。
dsh-branchmark#dsh-branchmark
Vibe Coding 时,如果突然想到另一个问题,或者看到一段以后还会用到的回答,可以先保存下来、在 Side Chat 里快速问清楚,或另开一个相关会话继续研究,不打断当前任务的开发思路和注意力。