前言¶
DeepSeek Harness (DSH) 在连接重建(Host generation reset)时,投影值(如会话标题)会短暂丢失,变成「未命名」。本插件是 DSH 插件,不修改 DSH 安装目录,通过替换 ProjectionValueStore.prototype.clear 实现标题保留,并修复列表重建频率与转圈动画问题。
核心功能¶
本插件包含三个独立的修复项:
-
会话标题持久化
会话标题在一次连接重建中不再掉成「未命名」。 -
会话列表重建优化
会话列表重建合帧到rAF,实测约 6.3× 降幅。 -
转圈动画修复
运行中的转圈动画恢复旋转(修复 WebView2reduced-motion问题)。
安装与启用¶
从 GitHub 安装插件:
dsh plugin --profile <你的 profile> add github:iuuuuuuuu/dsh-projection-persist
安装后,需在 profile 的 package.json 中将插件名添加到 dsh.profile.bundles:
{
"dsh": {
"profile": {
"bundles": [
"dsh-projection-persist"
]
}
}
}
修改 dsh.profile.bundles 会触发热重载,通常不需要重启。
验证与调试¶
安装生效后,可通过诊断端点验证:
curl http://127.0.0.1:3080/dsh-projection-persist
若需单独关闭转圈修复,可在浏览器控制台执行:
localStorage["dsh-projection-persist.spinner"] = "off"
注意事项¶
- 仅依赖
sessions服务,不声明任何peerDependencies。 - 已验证兼容版本:
@deepseek-ai/dsh-api-session-controller 0.2.0-rc.2。 - 只影响管理器持有的投影 store,会话自身持有的 store 不在此列。
- 重连逻辑(心跳/连接重建)不在本插件范围内。
结语¶
本插件通过替换 clear 方法实现标题保留,并优化了列表渲染与动画表现。详情见 GitHub 仓库:dsh-projection-persist。许可证为 MIT。