Repository navigation
Releases: rui08984-dot/sessionrelay-eco
Releases · rui08984-dot/sessionrelay-eco
Release list
v0.2.3 · 委派会话归属 + 静默漏采修复 + 存量脏数据清理 + 人话版面板
v0.2.3 · 委派会话归属 + 一个静默漏采修复 + 存量脏数据清理 + 面板做成"人话版"
这一版把本地已经跑了几小时的改动全部推上线,另外修掉一个一直在悄悄漏数据的 bug。
修了什么
- 静默漏采(重要):DSH 新版把会话目录命名从
session-<uuid>改成了裸<uuid>,适配器只认带前缀的——
不报错、直接跳过。实测差了多少:agent1super 少 7 场、music player 少 316 场、mc整合包 少 22 场,
另有一个工作区 941 场一条都没采进来。修完这些会话全部入库(含 83,329 条消息、698 场有结论)。 - 委派会话归属:会话头里一直有个指向"发起它的那场会话"的指针(交接文档里曾判断"没有可靠字段",实测是有的)。
现在能顺着父链把子代理会话归回它真正属于的项目;跨项目的一个都不会被拉错。 - 话题榜与文件榜的存量脏数据:全库 5,478 条文件条目里 951 条(17%)根本不是文件
(/kill这种斜杠命令、注入载荷里的 JSON 键串、目录名);话题榜被英文虚词占领(if出现 142 次)。
抽取判据早就修对了,但归档会话正文已蒸发、永远不会被重算,所以补刀清理了 245 场。
现在话题榜是"文件 / 任务 / 模型 / 测试 / dsh / 插件 / 报告 / 项目 / 工具 / 调研"。 - 面板重做(人话版):从"把 SQL 表贴到网页上"改成给非技术用户看的台账——
首屏一句话结论 + 三个大数字,等你拍板的事单独一节,经验全部用人话写(原文折叠可查),
英文术语、路径、命令行、SQL 全部收进"给想深挖的人"。页长从 10,000px 压到 4,000px。 - 面板能实时更新:
node tools/ses-panel.mjs --watch 60常驻重生成 + 页面每 60 秒自动刷新
(刷新前记住滚动位置,不会被弹回页首)。不需要服务、不占端口。
实测
- 核心库 487 通过 / 1 跳过 / 0 红;四个守门全绿(不变量 / 简报过滤器 / 版本一致性 A–L / 插件自检)
- 本体与部署副本逐文件对齐:CLI 运行时 5 份一致、插件 83 文件 × 7 处一致、技能副本一致、hook 仓库⇄部署一致
下载
| 你在用什么 | 下哪个 |
|---|---|
| DeepSeek Harness (DSH) | dsh-plugin-0.2.3.zip |
| ZCode | zcode-adapter-1.0.2.zip |
| 两个都用 / 新机器 | ses-offline-20261017-0042.zip |
v0.2.2 · 长度归一化默认开 + 不变量守门 + 探针口径 + 可视化面板
v0.2.2 · 长度归一化默认开 + 不变量守门 + 探针口径 + 可视化面板
本次是排期轮:用户点名的七件事里六件落地、一件(委派会话归属)仍需拍板。
修了什么 / 加了什么
- 长度归一化默认开(用户拍板)。同一快照 143 题/臂实测 hit@1:关键词 13.3%→18.2、
子集 14.0%→27.3、换说法 19.6%→37.8;hit@3 / hit@10 同向上涨。
已知代价照实写:反向出题"答案恰好是那个巨型老会话"时 hit@1 21.4%→9.5%;
真要再调,第一个该动的是衰减常数(改大更温和),不是开关。 - 不变量守门(新守门,接进全链路重建):把"同一条规则只准有一份实现"变成会自动红的断言 ——
相关性判据 / 可见性 / 注入判据各只有一处定义,适配器不许自产打分与排序,阈值不许硬编码,
测试不许指真实数据,两条行为断言不许被删。 - 一次性探针会话不再计入信号:0~2 条消息、无决策无问题的"问一句就走"会话
(实测主库 583 场里 156 场、音乐库 303 场里 138 场)从「最近在动」里剔除,
srelay status与守门里单独标出来。数据一条不删、搜索照旧。 - topics 清掉系统记账 token(EXTRACT_VERSION 18→19 + 归档会话补刀工具):
实测清理 222 场,四个库的记账噪声归零;python-docx/yt-dlp/utf-8这类真名字逐条核过、全部保留。 - 简报新增 🌿 Git 脏状态一行(分支 / ahead-behind / 未提交文件前三个):
只在异步路径取(prompt 组装的关键路径不许起子进程),失败静默;ZCode 开场简报同规、每轮 hook 不碰。 - 可视化面板(
tools/ses-panel.mjs):一条命令产出一张自包含 HTML ——
总览(每个项目一个库)、单库浏览、经验库明细(含可复制的复核命令)、预置只读 SQL、健康小结。
只读(跑前跑后 8 个库的 md5+mtime 未变)、零依赖、不起服务、不合并库;真浏览器实测 0 pageerror + XSS 注入测试通过。 - 顺手:给
D:\测试补了看板;lesson list的 ●/○ 与注入闸共用同一个判据函数。 - 委派会话归属(B2)+ 一个静默漏采修复:会话头里的
parentSession指针让"委派会话归到发起项目"成为可能;
同时修掉"新版 DSH 会话目录不带session-前缀就整批跳过"的静默漏采 ——
实测增量:agent1super dsh 15→22、music 54→370、mc 6→28、一个独立工作区 0→941 场被采集。 - 面板桥接:
ses-panel.mjs支持外部设计稿(--template),只替换唯一注入点,其余一字不动;
设计稿缺失/注入失败自动退回内置渲染。
实测
- 核心库 482 通过 / 1 跳过 / 0 红;四个守门(check-versions A–L / brief-filters / check-invariants / 插件 selftest)全绿
- 面板数字与库直查逐项对拍一致(583/921/93、303/436/56 … 经验库 17 条 / 可注入 10)
下载
| 你在用什么 | 下哪个 |
|---|---|
| DeepSeek Harness (DSH) | dsh-plugin-0.2.2.zip(自带运行时,丢进 local-plugins/ 后重启 DSH) |
| ZCode | zcode-adapter-1.0.2.zip(跑 node install.mjs --apply,注册开场 + 每轮两个 hook) |
| 两个都用 / 新机器 | ses-offline-20261016-2353.zip(全家桶:内核 + 插件 + 适配器 + 技能 + 工具) |
装法与排障见仓库 README 与 INSTALL.md。
v0.2.1 · 召回判据统一 + 可见性收敛 + 守门 L 段
v0.2.1 · 召回判据统一 + 可见性收敛 + 守门 L 段
本次是收口轮:把"同一件事被写了好几遍"的地方收敛成一份实现,修掉两条真实误判;
随后又按独立复审(只读复核,19 个题面 + 8 组边角用例)整改了一轮。
修了什么
- 相关性判据(闸 2)收敛成一份实现(核心库
gate2Score,DSH 插件与 ZCode 适配器不再各写一套)- 修:正文写
MAX_CHARS/FTS5/RRF这类大写标识符的经验,以前永远命中不了(大小写敏感比较) - 修:只共享一个 2 字实词就判相关 ⇒ 问"帮我写一首关于春天的诗"会注入一条"跳下一首"的旧决策
- 复审复测:正例 7/7 命中且中的正是那条;负例 12/12 全静默;跨词形("归一化"↔"归一")能命中
- 修:正文写
- 可见性规则收敛成一处:workspace 现在等于项目根(不是"你当时在哪个目录")、大小写/分隔符/首尾空格统一、
领域标签来自SRELAY_DOMAIN或项目config.json⇒--scope domain的经验首次有路径能出现 - ZCode 每轮召回(
UserPromptSubmit):📌 旧决策段与 🌍 经验段改用同一把尺子;
并修掉"引擎加载整段抛错被吞掉 ⇒ 静默退回旧排序"(最难发现的那类故障) - DSH 首轮简报补回 🌍 经验段与 🗺 锚点行(此前冷路径漏传;复审又抓到 CLI 兜底路的 🗺 会在刷新后消失,已修 + 已加回归断言)
- 根判据加固:主目录/临时目录不参与向上认领,且"被跳过的记忆库"会明确报出来;
SRELAY_PROJECT_ROOT对 CLI 也生效 - 一致性守门扩到 L 段:仓库 hook ⇄ 已安装 hook 逐字节对拍 + 真跑一次 hook 断言它拿到了引擎
- 插件 vendor 的
recall.js真实 import 与导出检查
- 插件 vendor 的
复审整改(独立复核发现、已修并各自带回归)
| 编号 | 问题 | 处置 |
|---|---|---|
| C-1 | CLI 兜底路的 🗺 锚点行会在刷新后被静默抹掉 | 两个分支各算各的 counts + selftest 新增"refresh 之后仍保留"断言 |
| C-3 | lesson list 的 ●/○ 不看 status ⇒ rejected 也显示"可注入" |
抽出唯一的 isInjectable(),显示与实际共用 |
| C-4 | --lengthnorm 0 只关了主路,融合路仍无条件惩罚(A/B 对照组是脏的) |
融合路也认这个开关;用复审的单变量法复验:LN=0 时排序不再随 message_count 变化 |
| C-5 | 工作区 id 首尾空格:SQL 侧不 trim、JS 侧 trim ⇒ 同一规则两种答案 | SQL 侧补 trim() + 回归用例 |
实测
- 核心库:
480 通过 / 1 跳过 / 0 红;一致性守门A–L 全绿;插件 selftest PASS - 每轮召回校准(真实库 + 真实 hook):该命中的 8 题命中 5 题,该静默的 4 题全部静默(含写诗题/寒暄题)
- 冷路径开销:新增的同步段 ~5.8ms,整条冷路径 57–86ms;
lastUserMessage首次解码 704ms ⇒ 只在异步路径用 - 负结果:给决策段加"引擎池没出结果就补扫最近 80 场"能把命中拉到 6/8,但补上来的是抽取噪声(口语转录)⇒ 回退
下载
| 你在用什么 | 下哪个 |
|---|---|
| DeepSeek Harness (DSH) | dsh-plugin-0.2.1.zip(自带运行时,丢进 local-plugins/ 后重启 DSH) |
| ZCode | zcode-adapter-1.0.1.zip(跑 node install.mjs --apply,注册开场 + 每轮两个 hook) |
| 两个都用 / 新机器 | ses-offline-20261016-2130.zip(全家桶:内核 + 插件 + 适配器 + 技能 + 工具) |
装法与排障见仓库 README 与 INSTALL.md。
v0.2.0 · 单仓库首发(DSH 插件 + ZCode 适配器 + 离线包)
下哪个包?
| 你的客户端 | 下载 | 怎么装 |
|---|---|---|
| DeepSeek Harness (DSH) | dsh-plugin-0.2.0.zip | 解压 → 整个 dsh-plugin/ 目录丢进 <DSH>/profiles/<profile>/local-plugins/dsh-srelay-brief/ → 重启 DSH |
| ZCode | zcode-adapter-1.0.0.zip | 解压 → 在 zcode-adapter/ 里跑 node install.mjs(看计划)→ node install.mjs --apply |
| 两个都用 / 新机器一次装齐 | ses-offline-20261016-1410.zip | 见包内 README-OFFLINE.md(逐目录用法 + 三条验收) |
每个包内都带自己的 README-INSTALL.md / README-OFFLINE.md,跟着走就行。
装完必须做的两件事
- 重启 DSH(如果装了 DSH 插件)——常驻进程不会因为文件更新而更新,不重启你看到的还是旧版
- 跑一遍验收:
srelay --version # 内核 CLI 可用
srelay doctor # 应 0 失败
srelay brief # 简报真的有内容——**空输出 = 静默半失效**这一版有什么
- 单仓库合并:核心库 + DSH 插件 + ZCode 适配器 + 交接技能,收进一个仓库
- ZCode 适配器可发布化:原先路径写死在本机(别人 clone 跑不起来)⇒ 改为 env → 自带 vendor → 全局 npm 三级解析;新增一键安装器(默认 dry-run、幂等、改配置先备份、装完真跑一次 hook 验收)
- 离线包扩为两端通用:原先只装 DSH,现在一包装完 DSH + ZCode + 技能
- 按客户端分包:DSH 用户只下插件包、ZCode 用户只下适配器包,不用从全家桶里挑目录
- 交接技能合并:
handoff+project-atlas→handoff-atlas;锚点审计修掉 6/53 类解析口径误报;地图生成器新增腐烂检测
校验
| 资产 | sha256 |
|---|---|
| dsh-plugin-0.2.0.zip | 77dfc365e308e5127b57c6e15420ec138689daad41424309a438f0114271f77b |
| zcode-adapter-1.0.0.zip | c518ff7616c9ffef6cbd0d96c1d39687f1c169b63238b287ad99643f7a009d30 |
| ses-offline-20261016-1410.zip | f058427d508c1cf49f96eacbe53f367767e4e4b4893362b0950640f0149088b8 |
已知短板(写在明处)
- 换词命中弱:关键字检索 20/20 进 top-10,但同一件事换个说法问,top-1 只有一半。语义档已实现、默认关闭(本地 CPU 推理,显式 opt-in)。
- 不做跨项目合并:一个项目一个库,这是有意的隐私边界。
详细安装与排障见仓库 README 与 INSTALL.md。