Skip to content

Releases: jiabaobei/memory-bridge

v0.26.1

Choose a tag to compare

@jiabaobei jiabaobei released this 08 Sep 05:41

[0.26.1] - 2026-09-04

代码评审修复版:只修 bug,零功能变更。三原则不变——省 token / 简洁易上手 / 绝不动记忆本身

修复

  • 自动同步在真实嵌入器下静默失效(严重)sync_agent 此前硬编码 HashingEmbedder() 的嵌入器指纹,用户配置了 OpenAI 嵌入器时,接收端会以 embedder_mismatch 拒收差分包——不报错、只跳过,是最难察觉的一类故障。现与 CLI 手动同步(sync / fetch)同一约定,改用 capabilities.best_embedder()
  • 跨设备补列把字符串默认值压成空串(严重)schema.reconcile 对所有字符串默认值生成 DEFAULT '',使 edges.kind 补列后不是 'semantic',与 _migrate_columns 的回填行为不一致,跨设备同步后边类型统计/注入出现偏差。现按 SQL 规则转义单引号后写入真值
  • store._SCHEMAnodes 表补上 kind 列,不再每次建库都先建 11 列再 ALTER 补齐
  • dss.apply_delta 去掉事务外那次重复的 embedder_id 落库,对账拒绝的包不再留下半套元数据
  • cli--db 默认值判断对齐 default_db_path()(旧判断比对的是早已不存在的 "membridge.db",等于永远为真)
  • cli 去掉 workbench_block 的重复导入

测试

  • 新增 tests/test_schema.pyreconcile 补列默认值守卫 + 未登记字段必须拒绝(登记表即白名单)
  • 全量 124/143:与 v0.26.0 基线 122/141 逐例比对,新增 2 例全绿、零回归;19 例失败为沙箱缺 rclone / schtasks 被安全策略拦截的环境限制,改动前后完全一致

备注

  • 评审提出的「reconcile SQL 注入」经核实不成立:字段名必须先命中本地 MIGRATIONS 登记表才会执行 ALTER,登记表本身就是白名单,远程清单无法注入任意 SQL。已补注释与回归测试把这一约束固化下来,避免后人误改
  • 评审提出的「测试覆盖不足」亦不准确:仓库已有 13 个测试模块(含 test_sync_agent / test_transport / test_v015_container),本次只是补上 schema 对账这一块

v0.26.0

Choose a tag to compare

@jiabaobei jiabaobei released this 04 Sep 09:21

[0.26.0] - 2026-09-04

注入层省 token 改版(借鉴 Headroom 的 CCR 可逆压缩思想,只动注入视图、绝不动记忆本体)。

  • 指针注入(借鉴 CCR):预算装不下的高置信召回不再整体丢弃,转为一行句柄 mb:#id 片段(正文前 40 字、指针区独立 300 字预算)——AI 觉得相关再 membridge search "片段" 取原文。原文始终完整冻结在库里;每条从数百字节缩到几十字节。预算内行为与 v0.25 逐字节一致;低置信召回照旧一字不进(θ_c 过滤与沉默契约原样保留)。
  • 稳定前缀排序(借鉴 CacheAligner):注入块区块顺序固定为 工作台(恒定)→ 全文条目(预算内)→ 指针区(本轮检索的易变尾巴),稳定内容靠前以命中宿主 KV-cache 前缀缓存。
  • 字节一致:指针行不带时间戳等渲染开销;RRF 融合同分改按 node_id 定序——同库同查询恒输出逐字节相同的注入块,同轮多端/多调用前缀缓存可命中。
  • 修复:MCP memory_search(as_context=true) 此前漏传召回理由 reasons(v0.14 的标注只在 CLI 生效、MCP 主用路径丢失),统一走 search_with_reasons 补齐,CLI 与 MCP 行为一致。
  • 测试:新增 4 例(指针区生成与内容冻结守卫、预算充足无指针区、沉默契约与置信过滤一字未改、同库同查询两次输出逐字节相同);全量回归与 v0.25 基线零差异(沙箱缺 rclone/计划任务的 24 例环境限制失败在改版前后完全一致)。

v0.25.0 安装第一步:引导接线 + 连接达标门槛

Choose a tag to compare

@jiabaobei jiabaobei released this 03 Sep 14:03

v0.25.0(2026-09-03)

安装第一步从「甩文档」升级为「引导接线 + 门槛」:

  • 未检测到云盘客户端时,init 进入交互式引导:先一屏安心文案(坚果云免费版够用——一年记忆不到 1G;配的是可一键作废的应用密码;配好后每 15 分钟全自动),再逐步:账号 → 网页生成应用密码(指路)→ 当场输入 → 脚本跑三步接线并当场报结果。
  • 门槛:坚果云主通道连接达标才继续安装;可当场重试或明确选「稍后配置」(记忆仅存本机,重跑 init 补齐)——门槛不拦安装。
  • 主通道达标后顺问 OneDrive 备胎(推荐可跳过),接上登记 backup 角色。
  • 检测到既有云盘客户端的老用户仍走零配置捷径;网页容器等无交互环境照旧参数化一行命令接线。
  • 新增 3 例引导流用例,全量 137/137 全绿。

v0.24.0 自动同步全平台

Choose a tag to compare

@jiabaobei jiabaobei released this 03 Sep 13:28

v0.24.0(2026-09-03)

「init 之后零点击」的承诺补齐非 Windows 缺失的两环:

  • 自动同步(autosync)并入文件夹级双向轮:按接线状态逐家跑、主通道先;本机有云盘客户端的机器没有授权段,静默跳过(客户端自己维持文件夹同步)。网页端容器从此不用手动跑 sync --netdisk
  • init 在 Linux 注册用户 cron(每 15 分钟、带标记行、幂等),macOS 写 LaunchAgent;与 Windows 计划任务同节奏。注册失败只告警不阻塞。
  • 新增 3 例回归用例,全量 134/134 全绿,零回归。

v0.23.1 坚果云首接真机修复

Choose a tag to compare

@jiabaobei jiabaobei released this 03 Sep 12:54

v0.23.1(2026-09-03)

坚果云首次接线真机实测暴露的四处修复:

  • ① 配置文件不存在时 rclone config file 首行是说明文字,v0.23.0 把说明行当路径——凭据写进怪名文件、首拉找不到授权段;改跳过说明行取真实路径。
  • ② 坚果云 WebDAV 根下常有「我的坚果云」一层;接线时自动探测,通道在其下时授权段 url 自动对齐。
  • sync --netdisk 省略 --dir 时先回落已配置通道再跑网盘轮(此前直接崩溃)。
  • ④ 接线状态文件把「远端子路径」误存成本机目录,首轮双向拼出 membridge_jgy:/本地路径 409;改存远端子路径。
  • 新增回归用例,全量 131/131 全绿;坚果云真机首同步打通。

v0.23.0 口令保险库全平台 + 双端合流

Choose a tag to compare

@jiabaobei jiabaobei released this 03 Sep 11:59

v0.23.0(2026-09-03)

口令保险库全平台(网页端改动)

  • Linux / macOS 补上与 Windows(DPAPI)同定位的口令托管:密钥文件 ~/.membridge/vault.key(目录 700 / 文件 600,绑定本机用户账户)+ SHA-256 计数流加密,零第三方依赖,密文带 mbvault1: 前缀。
  • 密钥文件丢失/损坏降级为「未托管」不抛出,自动同步退回通道密钥兜底。
  • Windows 行为完全不变。
  • 新增 6 例保险库测试;此前 5 例「仅 Windows」环境限制用例全部转绿。

合流说明(重要)

  • 同日 PC 端也发布了一版(体检直连判定 + --dir 省略回落),版本号撞车。本版以 PC 端那版为底合并,两项改动完整保留;v0.22.0 标签指向 PC 端真实提交。
  • 全量 127/127 全绿,零回归。

v0.22.0 体检不再误报 + 通道目录免手敲

Choose a tag to compare

@jiabaobei jiabaobei released this 03 Sep 11:36

v0.22.0(2026-09-03)

  • 体检补「桌面客户端直连」判定:通道目录落在本机云盘客户端同步范围内时,不再把正常状态误报成「未接线」。
  • sync / netdisk-sync / netdisk-status 省略 --dir 时自动回落已配置通道,省掉每次敲长路径;显式 --dir 行为一字未改。
  • 新增 3 例测试。

(注:网页端曾误发同号版本,已改写本标签指向此真实提交;网页端的口令保险库改动并入 v0.23.0 合流发布。)

v0.21.0 旧版 rclone 兼容

Choose a tag to compare

@jiabaobei jiabaobei released this 02 Sep 14:57

[0.21.0] - 2026-09-02

旧版 rclone 兼容:官方下载通道不可达的环境也能完成三端直达。

  • 起因:网页端容器实测——rclone 官方下载站与 GitHub 二进制发布均不可达(超时),唯系统包管理器(apt)可用,但装出的是无 bisync 的旧版(<1.58)。
  • 安装链补一环install_rclone 先试系统包管理器(apt),成功即收工,失败才回退官方包下载。
  • 双向同步降级:探测到旧版 rclone(无 bisync)自动改走「双向复制」——通道目录 append-only(差分包只增不删),先取后推的双向复制与并集同步等价、不会误删文件,输出里明标「双向复制兜底」。
  • 测试:新增旧版 rclone 仿真用例(bisync 报错 → 先取后推两次 copy + 基线标记),全量 118 例除既有 5 例环境限制外全绿,零回归。

v0.20.1 文档对齐

Choose a tag to compare

@jiabaobei jiabaobei released this 02 Sep 14:22

[0.20.1] - 2026-09-02

纯文档对齐:路线图补今天的改版历程。

  • docs/roadmap.md 版本总览补齐 v0.17.1 / v0.18.0 / v0.19.0 / v0.20.0 四行(此前停在 v0.17.0);Phase 2 清单勾选「共享闭环补全(v0.17/0.17.1)」与「网盘三端直达(v0.18–v0.20)」两项已完成。
  • 版本号三处同步(0.20.1);无代码变更,行为与 v0.20.0 完全一致。

v0.20.0 主备分明 + 通道迁移

Choose a tag to compare

@jiabaobei jiabaobei released this 02 Sep 14:17

[0.20.0] - 2026-09-02

主备分明 + 通道迁移命令 + 可达性文案。

  • 主备分明:坚果云 = 主通道(WebDAV 全端可达),OneDrive = 备胎(坚果云出问题时顶上,不是淘汰)——保持一条主通道。netdisk-connect--role primary|backup,缺省按网盘定(坚果云→primary,OneDrive→backup);netdisk-sync / sync --netdisk 主通道先跑、备胎殿后;netdisk-status 报角色。
  • 新增 membridge channel --move <新目录>:迁通道宿主从此一条命令——通道文件(身份证 / 密钥 / 差分包 / 心跳)复制到新目录 + 本机指向更新。差分包 append-only + 内容指纹去重,迁移天然安全;身份证随文件走绝不改写;不新增状态、不碰记忆内容。此前外部改通道目录只能重跑 init --netdisk-dir
  • 可达性文案(零新步骤、零新配置):① 向导候选网盘加可达性标注(坚果云=全端可达(WebDAV)/ OneDrive、iCloud、百度网盘同步盘等=仅本机桌面客户端可达);② channel 体检在宿主是 OneDrive/iCloud 时提示「此通道对容器/网页端不可达,需接入请走 gateway 或 channel --move 迁到 WebDAV 型网盘」。
  • 测试:新增 3 例(迁移复制+改指向+身份证不改写、桌面独占宿主提示、主备缺省角色),全量 117 例除既有 5 例环境限制外全绿,零回归。