更新日志

每次版本都写清“改了什么、为什么改、怎么验证”;本页与 /api/changelog 同源,直接读仓库根 CHANGELOG.md,不手抄、不二次编辑。

当前版本 v0.4.5 · 发布于 2026-11-06 · JSON
v0.4.5 2026-11-06 当前版本

一句话:运维可靠性批——kb 向量索引启动预热(冷启动首查 37~90s→随启预热)+ video_variant 默认端点切本机套件(死域修复)+ officebridge 路径净化对齐 + 文档并集(M-06)。

新增

  • kb 向量索引启动预热(app/main.py _warm_kb_vector_index + lifespan 线程):冷进程首查此前同步物化 75 万向量实测 37~90s(stage3-E P1);预热失败仅告警,检索既有冷启自愈不变。
  • video_variant 端点环境覆盖(CF_VV_LLM_ENDPOINT/CF_VV_LLM_MODEL/CF_VV_ASR_ENDPOINT):默认从死域 api.tongqiansuanzhi.cn 切 DS7452 本机 AI 套件(llm 11434 / asr 8100 实测路径)。

修复

  • officebridge worker invocation_id 路径净化白名单化(对齐 runtime validate_path_segment,封堵 \ 与 .. 段——纵深防御,与体检 stage3-G P2 对齐)。

文档

  • M-06 文档并集(A 线 docs/经验库、A 侧 handoffs、A-AUDIT、GL6 账本等 180 文件并入部署谱系)。

运维(数据/配置面,随批注记)

  • 40 个 github-raw 知识源 cadence 归零(国内网络不可达自动刷新,内容已随 bundle 入库);
  • kb 异地备份链启用 14 天保留(drop-in + 立即裁剪 17 份);孤儿行 3 行清理(备份先行);
  • DOCKER-USER 外部封锁 6379/11211/8092/8098(UFW 对 DOCKER 链不生效的跨项目面封堵)。
v0.4.4 2026-11-05

一句话:BCD 统一候选上线——KB 可见性合同、会员原子幂等、支付网关连接器 0.2.2 与video_variant 1.3.0 正式链路齐发;同批完成与生产 10-31 修复马拉松、官网工作台、A 线 M-01/02/04/05 的树级收敛(三线归一第一步,树=deploy/0.4.4,基线 codex/d-int07 f544a28c5)。

新增

  • KB 可见性合同(app/knowledge/coding/visibility.py 等):私有/机构/平台三档授权 + 可信身份写绑定 + 全读面同授权 + 缓存失效;SSE 撤权反例收编;HTTP 写入面 admin 判定(N-01/C-SEC-06/07)。
  • 会员原子幂等/效果查询:会员中心与 neural/cmdcenter 的授予-撤销时间线插桩与更严不变量(N-02/B-GOV-03)。
  • 支付网关连接器 0.2.2(app/payments/host.py|brick.py):宿主装配、分层合规名、manifest 键集对齐;plugin.video.variant 1.3.0 正式调用链装配与启动器入口(N-03/D-INT-06/D-INT-07 视频正式链)。
  • 网关动作级权限(DEF-E)与视频素材跨租户越权关闭(DEF-F);SQLITE_READONLY 建库修复(E-LAUNCH-02);读回 403 收口(D-UX-FIX-01)。
  • 开发环境:scripts/devenv_backup.py(382p);dev_env_b 试用 --payments 有界授权;种子 actor 服务端推导(M-05,a_i19 连接重置根因修复)。

修复

  • D-INT-04 全部:C1 调用者身份归属 / C2 内部消费者读面收敛 / seed_goal 定义还原 / 桩网关 10053 真根因 / 支付授予步受信验收判据 / 网关台账连接锁族。
  • D-INT-05:DEF-A/B/C 三缺陷收口(链尾为准)。
  • D-INT-06:binding_guard 锁域覆盖 解析→检索→交付;B-VIDEO-03 生命周期与目录互斥。
  • M-01/M-02 回迁:consensus 法定人数与投票人自洽 / PER 缺输入可见 / training replay_buffer 四参数实参化 / 仓库防提权 / 共识层未接入生产的可断言声明 / wisdom calibrate 诚实化 / w18 测试隔离。
  • 生产 10-31 修复马拉松全量保真并入(84 文件取自生产树:45 领先整取 + 31 生产独有保留 + 5 分叉取生产版 + 3 盘点文档;另有 15 文件语义三方合并):网关审计 sqlite 共享连接加锁、能力调用跨平台路径与闸门顺序(开关>凭据>环境)、golden 数据集原子写与只读打开、kb 保留窗快照修复、eval 保护对象迁 data/protected/、opsloop 频窗上界、protect 重封签字、wisdom 探针服务身份、basetemp 回收、仓库卫生收口等——本批显式不回退任何生产已验证修复。

测试

  • 整合分支 G1 定向复跑:version/changelog 一致性、gateway audit、capabilities、KB 可见性、dev_env_b、wisdom/perfopt 马拉松回灌族——结果见 docs/audit/stage3-C-20261105.md §整合分支构建记录。
v0.4.3 2026-10-30

一句话:知识库集合分区上线——检索可按「经验/领域知识/语料/学习/自述」集合过滤,引用带稳定可点 URL,写入按 key 自动归位——百万条演进方案(docs/KB-百万条优化方案-20261030.md)P0+P1 落地。

2026-10-30 官网业务工作台与积木统一规则

  • 官网信息结构重整:首页、积木工作台、业务方案、桌面端、能力目录和资源接入分工,视频与支付可直接找到。
  • 方案装配工作台:读取真实能力目录,选择与追加业务组件、合并依赖、标注缺口,支持本机草稿保存恢复、JSON导入导出及带入命令窗口审查;不会自动安装、付款或调用收费模型。
  • 既有资产与遗漏检查:视频变体、注册会话、会员中心及会员组件使用原生身份;源码资产、公开目录与外部连接器分开,不冒充全部可执行。
  • 统一准入:旧能力和新增能力采用同一套身份、契约、依赖、权限、成本、证据与发布规则;兼容索引不授予发布权限,合规原生契约保持原样。
  • 真实部署状态:按实际路由检查执行入口,生产缺新版总指挥/规则预览接口时禁用提交、保留草稿,不以网页200冒充执行接通。
  • danao-guard MCP:完成14工具发现和只读身份核查;治理适配器仍为候选,未自动启用写工具或远端执行。

新增

  • 集合(collection)体系(app/knowledge/coding/collections.py):五集合注册表+ 从 tags/标题族推导的纯函数规则(源自 2026-10-30 体检分类器三轮收敛,误判 <1.3%);KBStore.collection_map() TTL 缓存索引;零 schema 写、零数据迁移。
  • 检索集合过滤:hybrid_search(collection=...) 在排序/簇/多样性之前过滤候选(过滤时池子自动放大到 120 保 k 足额);service.search/answer 透传;检索缓存键纳入collection(防串结果)。每条 hit 携带 collection 标注。
  • API/公开面:/api/v1/kb/search、/public/search、/answer 均接受 collection 参数(非法名 422);/kb 页搜索框加集合下拉、命中条挂「引用定位 →」链接与集合徽标。
  • 引用定位协议:citations 统一携带 url(/kb?src={sid}&c={chunk_id})与collection;新增匿名单源详情端点 GET /api/v1/kb/public/source/{sid}?chunk= (脱敏、限流、404 语义完备);/kb 页支持 ?src=&c= 落点卡片(滚动+高亮)。
  • 写入即归位:配置 knowledge.owner_collections(owner→默认集合),POST /documents 未显式带 collection: tag 时自动补标;单 owner 单日写入量观测告警(每 250 条 WARN,日志关键字 KBBULK)。
  • kb_changes 保留窗脚本(scripts/kb_changes_retention.py):N 天窗删除,删前快照可整表还原,支持 dry-run。

修复

  • 检索缓存键缺 collection 维度的串结果隐患(同查询不同集合共享缓存)——随本批修复。

测试

  • 新增 tests/test_kb_collections.py 8 项:推导规则/端到端过滤/非法名 422/引用 URL/ 写入自动打标/单源详情端点(含 404 语义);kb 全家回归 168 项全绿。

版本号同时出现在 /healthz、/api/version 与控制台状态页;四处读的是同一个常量(app/core/version.py)。