Releases: Lumonote/lumo-harness
Releases · Lumonote/lumo-harness
Release list
v1.0.0
首个正式版本,收录 2026-08-23 起的全部 204 条变更。
版本亮点
- 分布式调度底座:PostgreSQL fencing 租约选主(acquire/release、过期接管、并发抢占恰一胜)、
放置事务与 outbox 原子派发、FIFO +SKIP LOCKED排队认领,no-leader 时降级快速失败(503)。 - 复制式会话日志:强一致写路径与单写者 fencing、租约生命周期、冷热分层(冷转 MinIO 段归档 +
Redis 尾部窗口)、resume 不产生分叉、NUL 字节保真。 - 制品注册表:内容寻址对象存储(写校验/读重校验/同 digest 幂等)、ed25519 验签与发布者 scope 上限、
依赖闭包与安装计划(重解析原始字节执法)、MinIO/S3 适配。 - 可远程化 seam:分级表(未定级即拒绝)与三道闸(加载期 / 服务端 / 每 turn 调用预算),
跨节点子代理委派、ctx.jobs句柄虚拟化与远程取消。 - 成本计量与台账:
cost_type闭集单源化、预算三态与四态(含透支与期中调整)、
outbox 异步削峰、RocketMQ 传输接线、Go 版 usage-ledger 服务与 Doris 聚合设计。 - 安全:提示注入结构性防护(来源分级、工具副作用分类、污点从会话日志重算、敏感写 HITL)。
- 平台业务面:项目工作区(并行预算树)、第五类制品 flows(状态机 + 审阅职责分离 + audience 定向)、
知识库召回重排与离线评测、OpenAI 兼容 llm-gateway(流式背压 + 双树执法)。 - 桌面端:Tauri 2 壳 + 自带 Node/Python 运行时,macOS(arm64/x64)与 Windows(x64)安装包,
SkillHub 技能中心、单机版知识库(Obsidian Vault 源 + FTS5)。 - Lumo UI:专家 / 技能 / 市场 / 集群等 Surface,主题体系与字号刻度对齐宿主 dsh。
- 治理与部署:control-plane(MFA/WebAuthn/破窗流程、企业 OIDC、连接器托管 OAuth)、
Helm 模板、standalone 拓扑与 compose 冒烟、一键构建与集群验收脚本。
新功能(101)
- 初始化技术设计文档 (
ec0dfed3) - 技术架构业务产品升级 (
690b3d52) - scaffold platform workspace (
0c225d06) - plugins: 知识库与计量两个实际功能插件 (
c294f62d) - dsh-node: 垂直切片挂载链路打通 (
57498d2a) - plugins: embedding 接入 + 共享执行控制 + 项目工作区 (
07e2aeed) - collaborator: 知识库文档实时协作服务(§5.4.7) (
984df504) - seam/connector: SeamProxy 网络化 + 连接器网关 + GraphRAG (
2f2d3fdd) - recovery: Turn 级恢复契约与工具幂等(评审 R2) (
ba5355d0) - session-log: 复制式 SessionEvent 日志——强一致写路径 + 单写者 fencing(评审 A1) (
e3cb0dfd) - mailbox: 持久信箱与 Future/Promise seam——强制 TTL + 死信 + 对账(评审 A3) (
46b512f0) - scheduler: 设计说明——PG fencing 租约选主 + 最小放置(评审 N1) (
4a7f486c) - scheduler: 模块骨架与领域模型(domain + DDL + dispatch seam) (
08afaae2) - scheduler: PG 租约选主(acquire/release + 竞态/接管/零等待释放测试) (
79689019) - scheduler: 节点目录与过滤式放置(catalog + planner) (
52893a5a) - scheduler: 放置事务与 fencing(attempt 单飞 + outbox 原子 + 幂等重交) (
09d3cf0e) - scheduler: 排队读取与派发认领(FIFO + SKIP LOCKED) (
eee5026e) - scheduler: HTTP API 与降级快速失败(no-leader 503 + 对账占位) (
d174cd3a) - scheduler: 服务装配与双实例热备(main + Dockerfile + compose) (
caa8a5c8) - provenance: 来源分级契约与纯判决函数(评审 R5) (
1f7950fc) - provenance: 工具来源与副作用分类器(未声明 fail closed) (
b7491fca) - provenance: 污点从会话日志重算(resume 不洗白) (
530e0721) - provenance: 插件装配——tools/pre-execute 能力封闭闸 (
bec12eeb) - registry: 五类 manifest schema 与严格解析(JSON 规范格式,拒未知字段) (
9ec00144) - registry: 内容寻址对象存储——写校验、读重校验、同 digest 幂等 (
da7d33b1) - registry: ed25519 验签与发布者 scope 上限——信任根在配置不在库 (
2639ae03) - registry: PG 索引、发布事务与依赖闭包——先字节后元数据、冲突判定只留事务内一处 (
ac4f8130) - registry: 安装计划——重解析原始字节执法、身份断言、形态前移校验 (
5a994721) - registry: MinIO/S3 对象存储适配——取回时重新校验内容寻址 (
977c51e3) - registry: HTTP API 与装配——发布信封传 base64 原始字节,不重序列化 (
6d9c38fd) - seam: 可远程化分级表——未定级即拒绝,幂等性并入单一真相源 (
7ec61abf) - seam-proxy: 加载期可远程化闸——local 模式同样校验,配置放宽给运行时闸 (
1ca6aae6) - seam-host: 服务端可远程化闸——准入判据不交给调用方 (
35394282) - seam-proxy: 每 turn 调用预算——粗粒度硬规矩的执法点,默认告警可配拒绝 (
dd1c186d) - metering: cost_type 闭集与单位自洽——自由文本列撑不起「解释一次尖峰」 (
b9fce892) - metering: 成本事件单一写入者——发出方跨语言,schema 不能有第二份 (
f435f17a) - metering: 预算三态与透支——只有硬停时运维会把预算设成无穷大 (
3a23920c) - metering: 四态与期中调整进共享契约——stub 与 PG 被同一把尺子量(场景6/7) (
1b3d9ac7) - metering: PG 总额模型——旧行两态不变,新行四态可达(B2 偏离收账) (
208db789) - metering: 事件先入 usage_event_outbox——扣减与事件同事务,台账从请求路径拿掉 (
154df8a2) - metering: drainOnce 批量入账——event_key 幂等、事件时刻保真、seq 序稳定 (
cc4f0f3a) - metering: 搬运输不变式进共享契约——D1/D2 对第二个实现就位尺子 (
a268b1cf) - metering: 进程内调度器——轮询 drainOnce,失败下轮重放(sink 用例接 outbox 语义) (
baf895f7) - deploy: standalone 拓扑可启动——rocketmq namesrv+broker 单容器、nacos/minio/redis/pg + 平台服务单实例;台账列清单单源化(usage-ledger.schema.json,DDL/INSERT 同源生成) (
2cdb37a6) - usage-ledger: Go 骨架 + ledger 核心——embed 清单生成 DDL/INSERT、幂等、校验(真 PG 55432 实测 5/5 绿) (
5ce57bd6) - usage-ledger: rmq publisher+consumer——四不变式落地并真 broker 实测(e2e 3/3 绿:发布/消费/时刻保真/重放幂等/毒丸拒收);compose 接 mqproxy gRPC;设计说明 §8 实测补记 (
1968b39b) - metering: ledgerTransport 装配开关 + usage-ledger 进 standalone 清单——published_at 列/互斥裁决/Dockerfile/topic 预建;publisher 对未建 outbox 优雅待命;e2e TestMain 清 topic(历史累积致超时的实测修正) (
9ae15b9d) - contracts: 项目工作区契约——状态机/角色能力矩阵(§11.1,N3 拍板 B) (
548f1815) - projects: §11.1 项目工作区服务——生命周期/成员角色/并行预算树种子/用量聚合;判据 1-6 真 PG 全绿(非成员 404 存在性不可泄露、最后 owner 保护、删除两层闸、台账 append-only 不因删除破例) (
7c66b9e9) - deploy: projects 进 standalone 清单(compose 冒烟全链过);N3 拍板 B 写入 §6.4/§22/README 已定案——项目=并行预算树;metering 未初始化时创建 503(装配顺序如实暴露,不造第二 DDL) (
733a2528) - contracts: 第五类制品契约——流程状态机/DAG 防环护栏/audience 匹配(§11 后半) (
fd7da26a) - flows: 第五类制品服务——生命周期状态机/FlowReview 职责分离/audience 定向分发/版本快照回滚;防环入库护栏;面板过滤三路径 Go 统一裁决(判据 1-7 全绿) (
89772b32) - deploy: flows 进 standalone 清单(compose 冒烟全链过:建→提审→审核 v1→定向→面板过滤→自审 403);§11 第五类制品实现注记 + README 已定案行 (
3353ce8d) - llm-gateway: 模型访问面+计量单截面跨网——OpenAI 兼容流式/非流式、费率入 provider 表、双树执法 Go 镜像(reserve 四态 402 / commit 同事务扣减+outbox)、stream_options 注入;判据 1-6 真 PG 全绿 (
e69c0247) - deploy: 网关进 standalone 清单;全链联测收账(网关→outbox→RocketMQ→台账 emitter=llm-gateway,真 broker 实测 qty=150 cost=费率精确);§12/README 实现注记 (
72c797b5) - contracts: 对象存储 seam 契约——realm 前缀键规则(越狱拒绝)/内容寻址派生(sha256)/缺对象 undefined/能力缺失 fail-closed(§5.1) (
591f86c2) - object-store: MinIO Provider + spillStore 收敛——跨节点取回的溢出对象化(P2b 项 11);判据 1-6 真 MinIO 全绿 (
1333f971) - storage: PG KV 后端——ctx.storage 收敛到 ctx.datastore.sql(P2b 项 12) (
3d07a3a4) - attachments: 附件 seam 契约 + MinIO Provider——ctx.attachments 对象化(P2b 项 10) (
714a79ea) - session-log: 复制日志冷链+热层——冷转 MinIO 段归档 + Redis 尾部窗口(P2a §4.2 收口,含上片滞留冷层代码) (
763ac879) - web-gateway: ctx.web 出向经连接器网关 + connector.call 计量(P2b 行 8 收口) (
4ffafb10) - contracts: 跨节点子代理委派契约——父描述/回执闭集/运行键(行 5) (
7c39a727) - subagent-host: 承载节点子代理面——公开件建子代理+单 turn 驱动+回执结集(行 5) (
4ddfe9a9) - subagent-remote: 跨节点委派 provider——Scheduler 放置+承载回执+句柄接驳(行 5) (
1ddef8a0) - subagent-remote: 行 5 切片装配与双进程冒烟——dsh-node 双角色 + 冒烟脚本(判据全绿) (
03f86f31) - contracts: ctx.jobs 句柄虚拟化契约——JobRef 映射/控制闭集/结果事件闭集(行 6) (
3b0540fc) - session-log: 构造期事件回填——session/created 补拷至 attach 边界(终审 I1) (
a3669f21) - session-log: 复制日志读面 staleness 信封——queryWithStaleness 显式 stale 不返半截(行 3) (
0632ee59) - job-control: 控制通道落地并接入远程子代理取消 (
39d413fb) - workflow: 路由 FlowEngine 扇出至远程子代理 (
e2d7211f) - skills: 校验并装配本地技能快照 (
e5c197fc) - platform: integrate clustered runtime and DSH plugins (
e26db64a) - knowledge: 兑现 §5.4.5 重排与 §5.4.4 离线召回评测 (
8b081562) - platform: Lumo 功能层落地 —— 治理鉴权、桌面壳、上游技能与 DSH 覆盖机制 (
be61708c) - dsh-overrides: 补齐上游改动的落点,并给覆盖层加回归护栏 (
b53b8b7b) - control-plane: 治理侧 MFA/WebAuthn/破窗流程、注册中心制品运行时与签名发布、观测 OTel/mTLS、连接器审批与调度抢占 (
067e006b) - dsh-plugins: 身份与 mTLS 缝合约、桌面 handoff、技能发布/灰度/流程回放代理,覆盖层与上游组件安装脚本同步 (
b4899390) - deploy,desktop: 一键构建脚本、集群验收与预检脚本、Helm mTLS/生产控制模板,桌面壳图标/DMG 打包与启动页 (
a950e8bf) - PPT及设计功能 (
a14430e6) - PPT及设计功能 (
140af3a9) - desktop: 知识库单机版(vault 源 + FTS5)与打包后启动崩溃修复 (
8ed12a24) - desktop: 单机版状态落盘修复、插件基线扩展、DeepSeek Harness 品牌与 SkillHub 真分页 (
3be60d0d) - desktop: SkillHub 安装健壮性与桌面 runtime 收尾 (
f3e9a4ab) - desktop: 完成 SkillHub 与 runtime 构建改进 (
c6aeb316) - governance: 集群设备节点治理、企业 OIDC 与连接器托管 OAuth (
2b70ae8a) - cluster: 受治理任务执行链与桌面 runtime 打包修复 (
c583cf4d) - 构建windows包报错 (
72f318ae) - 提交相关logo信息 (
3de355a1) - 打包功能优化 (
c81c1821) - 技能相关优化 (
13869df9) - 技能相关优化 (
f1e4e484) - 技能中心相关控制修改 (
7ddfe6b7) - 技能相关优化 (
2c90b6f6) - 插件市场显示错误问题 (
6911fa6a) - 技能相关优化 (
1cf684a2) - 打包处理优化 (
a747ec48) - windows打包失败处理 (
b7a5bb53) - 优化项目说明 (
47faddf7) - 文档说明修改 (
e558410b) - 集群化相关功能补充及桌面端样式优化 (
c853dabf) - windos构建失败处理 (
522b6534)
修复(37)
- contracts: 控制契约断言按 correlationId 过滤——按 command 过滤会数到被拒记录 (
c36111d9) - recovery: turn 号改用 dsh 原生 turn/start——inject 会让旧计数错位致幂等键失配 (
bb392478) - gitignore: MANIFEST 锚定到根——不锚定会连带吞掉 internal/manifest 目录 (
51ce78e5) - metering: 预算扣减不再在超限时静默跳过——封顶恰在最该生效时失效 (
edb9538d) - deploy: Local-lite 换 TEI CPU 镜像、骨架补隔离项目名与 Nacos (
5cabe64c) - metering: 装配层默认预算只做种子——不再把运维配置冲回 1e9(注释与实现不符) (
7055119b) - deploy: RocketMQ topic 命名修正——真实 broker 联调发现点号非法(usage.event.* → usage-events-<cost_type>),全部引用同步;standalone 首启 chown 修复记录(卷属主 root 致 broker init 失败/日志 NPE 假象) (
22cb610d) - contracts: assert 预检 childId 运行键分隔符——runKeyOf 双封对称(评审 Important) (
4ded71fe) - subagent-host: 已结集会话重放显式 invalid + 发布前窗口语义注释锁定(评审 Important) (
48c3735f) - scheduler: domain.Placement 补 json 标签——放置回执按 API 约定输出 task_id/node_id(行 5 父侧消费面) (
f6671cd8) - subagent-remote: 回调面 per-run secret 能力段——非回环部署前的最小鉴权(评审 Important) (
04ccb811) - subagent-remote: 收账自洽——§4.1 注记不依赖在途核验 + SMOKE_KEEP 语义修正(评审 Important/Minor) (
05a875b1) - subagent-remote: 失败路径终态信号闭合(provider 回报 FAILED + host ok:false 回执)+ remote-forms 行5 收账句入格(终审 must-fix) (
3bdf52e4) - contracts: R2 turn 口径修正(turn/start 不得数 user/message)+ ctx.jobs belongsTo 重判 (
01046dd7) - object-store: spill 装配互斥显式拒绝——本地 spill 共存 fail-loud(评审遗留闭合) (
e95c7c0a) - contracts: callbackUrl 形态校验/descriptor null 拒绝/assertValidRealm 提取/空串政策统一(评审 Minor 收口) (
178678e3) - subagent-host/remote: 回执 2s 超时 + EADDRINUSE fail-fast + 测试竞态三处 + 双族注释(评审 Minor 收口) (
2d095223) - subagent-remote: smoke-parent await registerSubagentRemote——async 化回归(评审 T7 引入) (
4ec146ee) - subagent-remote: 回填写法消除 readonly 赋值 + listen 后常驻 error 监听(终审 M1/M2) (
10578347) - session-log: 首 sight 兜底补缺——firehose 首个发布事件收敛 created 时序竞态(终审 I1,冒烟判据 03 确定性 3/3)+ §4.2 注记 (
e9c127b3) - session-log: 恢复路径触发事实修正(I-1 措辞)+ created 复用 backfill() + dispose 清理 sightSeen(终审 round3) (
8756be08) - session-query: NUL 字节转义(blob 复 binary)+ stale 臂 records 夹带拒绝 + seam 守卫穿透用例 + README 枚举消歧(评审 Important/Minor) (
6c6130b6) - platform: 修平台测试套件的 19 个失败与类型检查 (
87224516) - desktop: 修复打包 runtime 插件装配并接入 fake-ip 感知 web_fetch (
6f07a577) - desktop: 注入 WKWebV...