Title: Microi吾码 AI 平台治理中心 Canonical: https://microi.net/doc/system-engine/ai-platform-governance.html Page-Modified: 2026-10-25T04:58:01.000Z Source: published HTML document body; page revision is not a capability verification date. # Microi吾码 AI 平台治理中心 Microi吾码 AI 平台治理中心把门户、身份、权限、配置、功能开关、发布、服务、可观测、日志、资产、协作和可恢复导入收敛为一套官方应用。它继续使用吾码现有的 DiyToken、OsClient、菜单/表/行权限、FormEngine、V8引擎、Redis、MongoDB、关系数据库、微服务和应用商城,不建立第二套用户、权限或发布内核。 ## 📸 预览图 [Microi吾码 AI 平台治理中心可观测与告警页面,展示活动告警、Trace 时间线和日志生命周期策略: https://file.microi.net/itdos/official-docs/images/24a426757a9d5c3fc496d259ca08f2affc45e0af38475b6eee6203e545676650/202610/ai-platform-governance-observability.jpg] 可观测与告警:统一查看活动告警、W3C Trace 与日志生命周期。 [Microi吾码 AI 平台治理中心运行快照,展示治理闭环、待关注事项和 AI 调用记录: https://file.microi.net/itdos/official-docs/images/25f53ad2e5ef659d3eefdabf2120fb1c58aa17906061a406014b10230b427014/202610/ai-platform-governance-health.jpg] 运行快照:汇总治理闭环、待关注资产与最近 AI 调用证据。 [Microi吾码 AI 平台治理中心治理总览,展示正式 AI 资产、治理覆盖率和纳管列表: https://file.microi.net/itdos/official-docs/images/8a2b446d0f0d1b7ef4eb40f7f79dd1658207376a9d45a7b61c4111ef9a428c4f/202610/ai-platform-governance-overview.jpg] 治理总览:从正式资产发现、覆盖率评估到预览并纳管形成控制闭环。 ## 先说人话:它到底是干什么的 AI 平台治理不是用来“再做一个 AI 对话框”,也不是用来训练模型。它是 AI 能力进入正式业务后的控制塔。 一个 AI 客服、知识库问答或智能审批,在演示阶段通常只需要“能调用模型”;进入多租户生产后,却会立刻遇到下面这些问题: 生产问题 | 没有治理时 | 治理中心给出的答案 | 谁能使用新能力 | 临时口头通知、直接勾权限 | 用用户组、标签、申请和带到期时间的临时授权固定实际人群 | 哪套参数正在生效 | 配置散落在脚本、环境变量和聊天记录 | 用配置基线、版本、Hash、环境继承和 Secret 引用得到唯一事实 | 新模型怎样安全上线 | 一次性全量切换,失败后人工改回 | 用稳定灰度开关、发布计划、审批、自动门禁和分步执行逐级扩量 | 请求实际去了哪里 | 只知道接口报错,不知道实例和策略 | 用服务目录、实例租约、路由、限流、熔断和调用拓扑解释真实路径 | 出问题谁来处理 | 群里截图,状态和责任人丢失 | 用窗口评估、告警事件、值班路由、送达台账和恢复状态形成闭环 | 能不能安全恢复 | 重新执行脚本,可能重复写入或覆盖新修改 | 用计划 Hash、幂等键、检查点、栅栏令牌和条件回滚恢复 | 因此,它治理的不是“AI 是否会回答”,而是 AI 能力周围的人、配置、版本、服务、运行风险和审计证据。模型、知识库和业务应用继续完成实际业务;治理中心负责让这些能力可控上线、可解释运行、可证明恢复。 ### 谁会在什么时候使用 角色 | 主要进入时机 | 常用页面 | 平台管理员 | 接入账号体系、配置权限、处理冲突 | 身份与权限、用户组与授权 | 架构师 / AI 负责人 | 登记模型或知识库服务、设计配置和灰度 | 配置治理、服务目录 | 发布负责人 | 固定上线内容、审批、门禁、执行和回滚 | 灰度与发布 | 运维 / SRE | 服务异常、延迟升高、告警处置、日志归档 | 可观测与告警、服务目录 | 交付工程师 | 迁移数据、复用资产、排查失败和恢复任务 | 资产与协作、迁移导入 | 普通业务用户通常不会进入治理中心;他们只使用被治理后发布出来的 AI 功能。 ## 一个完整例子:把 AI 客服从 v1 升级到 v2 假设 v2 回答质量更好,但还不确定高峰期延迟。一次完整治理不是“上传模型后点发布”,而是: - 服务目录:登记 ai-answer-v2、负责人、区域、版本和健康状态;实例用租约心跳证明自己仍可接流量。 - 用户组与授权:先选 32 名客服作为内测组,授权 7 天后自动回收,避免测试权限长期遗留。 - 配置治理:发布 assistant-v2 功能开关,按稳定分桶从 5% 扩到 20%;同一用户不会每次请求随机跳版本。 - 灰度与发布:把目标人群、配置版本、执行步骤、审批证据、告警阈值和回滚目标固定为不可变计划;门禁发现配置漂移或高危告警时直接阻断。 - 可观测与告警:真实运行中 P95 延迟超过 2.5 秒并持续 3 个窗口,生成高危告警、通知值班人并暂停继续扩量。 - 续跑或回滚:修复后使用同一幂等键从检查点续跑;若风险不能接受,则只在目标内容未被后续修改时回滚到 v1。 最终留下的不只是“发布成功”四个字,而是一条可以复盘的证据链: text ``` 谁申请 → 谁审批 → 改了什么 → 哪个 Hash → 经过哪些门禁 → 哪些实例承载流量 → 出现什么信号 → 谁确认 → 怎样恢复 ``` 工作台“教学示例”正是用这个场景串联 6 个步骤;点击任一步都能进入对应控制面。 ## v2.1.1 起,正式数据从哪里来 旧版总览只统计 mci_ 治理表,因此“模型明明在用、总览却全部是 0”。从 v2.1.1 开始,总览先读取当前租户已经存在的正式事实,再判断哪些对象已经纳管: 正式来源 | 总览读取的内容 | 明确不读取的内容 | 治理用途 | mic_ai | 模型名称、模型标识、启停状态、更新时间 | ApiKey、服务端密钥和私有连接参数 | 看清当前到底启用了哪些模型,并登记为模型服务 | sys_microiservice | 微服务 Key、版本、发布 Hash、入口、启停状态 | 私有源码和构建凭据 | 看清哪些运行时正在承载页面及其正式版本 | sys_microistore | 成功发布的 Web/UniApp 数量、版本与公开发布事实 | 私有源码路径、安装秘密 | 形成“AI 应用发布组合”;不会把上千个页面应用粗暴复制成上千条服务 | mci_ai_token_log | 最近 7 天调用次数、Token 合计、模型、调用来源和时间 | 用户问题、AI 回答、用户身份 | 证明模型是否真的被业务使用,以及用量规模 | 总览中的“正式应用”是实际成功发布的应用数量;服务目录中只保存一个带内容 Hash 的“AI 应用发布组合”控制对象。这样既保留真实应用规模和版本变化,又避免服务目录被海量页面应用淹没。 ### “预览并纳管”到底会写什么 点击按钮后分两步进行: - PlanDiscovery 只读扫描,返回来源完整性、拟新建/同步/停用数量和 PlanHash;此时不写数据库。 - 管理员确认后,ApplyDiscovery 重新扫描并校验 ExpectedPlanHash,再用 IdempotencyKey 幂等写入 mci_service_registry。 自动记录使用 auto: 业务键,并遵守以下边界: - 只新增或同步本接口自己管理的记录;发现同名非受管记录时拒绝覆盖; - 重复执行不会产生重复数据;执行后再次扫描,必须达到“未纳管 0”才提交事务; - 源模型或运行时消失时只停用自动记录,不删除历史; - 后续人工填写的负责人、健康检查路径和健康状态不会被扫描覆盖; - 密钥、私有源码、问题和回答正文不会进入计划、服务目录或页面响应。 官方 v2.1.1 验收快照 2026-08-20 在 iTdos 正式租户回读到:2 个启用模型、15 个启用前端微服务、1,043 个成功发布应用;最近 7 天 86 次 AI 调用、136,301 Tokens。首次纳管创建 21 条控制记录,其中 18 条启用;同一计划再次执行为 0 新增、0 修改且 Reused=true。这是带日期的验收快照,不是写死在应用包里的演示数据。 ## 第一次打开,建议按这条路线体验 - 先看“真实数据”:确认启用模型、正式应用、近 7 天调用量和治理覆盖率是否符合当前租户事实。 - 如有“待纳管”,点击“预览并纳管”,核对来源、变更数、零删除边界和 PlanHash 后再确认。 - 进入“服务目录”,给自动发现对象指定真正的负责人、健康检查和实例心跳;“已纳管”不等于“健康已经验证”。 - 在“配置治理”建立非敏感配置基线或功能开关,先 DryRun,再发布不可变版本。 - 在“灰度与发布”把应用/模型变更固定为计划,补齐审批、门禁、证据和回滚目标。 - 在“可观测与告警”针对真实服务建立延迟、错误率或日志规则;只有可信信号达到阈值,才生成正式告警。 - 需要理解完整故事时再切到“教学示例”;示例始终标注为非真实数据,不写库、不参与告警和发布。 这样走完一遍后,可以把治理中心理解为一条固定链路: text ``` 身份与人群 → 配置与开关 → 发布计划与审批 → 服务运行 → Trace / 日志 / 告警 → 续跑或条件回滚 → 审计证据 ``` 平台核心定位 30+ 成熟引擎承接通用能力,AI 聚焦业务增量;通过 V8 引擎在线编排业务逻辑,业务脚本保存生效,无需为每次脚本修改重新编译平台。 Token、费用、交付时间和工具传输字节分别测量,不从功能数量推导固定收益倍数。载荷基准与端到端复测方法见 AI 开发效率验证 (https://microi.net/doc/v8-engine/ai-apiengine.html#ai-efficiency)。 稳定入口: text ``` 菜单 Url:/micro-app/ai-platform-studio/overview 浏览器:/#/micro-app/ai-platform-studio/overview ``` ## 能力总览 治理域 | 核心能力 | 门户与版本 | 门户项目、命名插槽、统一资产、发布预检、不可变版本、原子指针、运行解析、差异与回滚 | 身份与访问 | 可信目录适配、同步计划/执行、增量游标、冲突队列、动态用户组、标签、人群、批量授权、临时权限、权限解释、组织快照 | 配置与开关 | 配置模板、继承、Secret 引用、稳定哈希、DryRun、CAS、不可变版本、漂移检测/处置、功能开关稳定分桶 | 发布治理 | 固定计划、不可变审批证据、职责分离、自动门禁、分布式租约、栅栏令牌、单步提交、断点续发、条件回滚 | 服务治理 | 服务/实例注册、心跳租约、排空、版本/区域/标签/权重路由、共享限流、持久熔断、重试/降级、调用结果与拓扑 | 观测与日志 | W3C Trace、Span 时间线、可信日志信号、窗口告警、去重/抑制/恢复、值班升级、Outbox 送达、热温冷生命周期与归档证明 | 资产与协作 | microi.asset.v1 物料协议、Setter/DataAdapter、依赖图、兼容版本、循环检测、加载顺序、协作租约、跨资源变更集 | 可恢复导入 | JSON/CSV/Excel 预检、暂存行、分片后台执行、检查点、暂停/恢复/取消/重试、逐行条件回滚 | 页面与蓝图 | 页面/蓝图历史、稳定 Hash、语义 Diff、导入导出、CAS 回滚、Undo/Redo、Page JSON ↔ 受控 Vue SFC 桥接 | ## 这些菜单是谁用的 AI平台治理不是普通员工的业务菜单,也不是要求管理员每天把 40 个页面逐个点一遍。它是面向平台管理员、架构师、运维和交付负责人的治理控制台,把原来散落在脚本、发布记录、监控平台和人工表格里的配置、审批、运行状态与审计证据统一起来。 安装或升级后的导航只保留一个入口: text ``` 系统引擎 └─ AI平台治理(MicroService:/micro-app/ai-platform-studio/overview) ``` AI平台治理 绑定稳定路由 /micro-app/ai-platform-studio/overview,10 个治理页面和 40 类治理资源的配置、运行、审批与审计能力都在工作台内部完成。升级仍保留历史工作台和数据菜单的稳定 ID、权限与资源身份,但统一设置为隐藏,避免旧导航重复出现或删除记录后破坏升级兼容。页面类型可以这样理解: - 配置:管理员维护规则或主数据,是日常主要入口; - 审批/处置:有待办或异常时进入; - 运行:任务执行时观察进度、恢复或排错; - 台账:平台自动产生的明细与证据,通常只在审计和故障定位时查看。 ## 40 类治理资源分别做什么 业务域 | 治理资源 | 类型 | 用途 | 门户装配 | 门户项目 | 配置 | 定义一个门户及其当前发布状态 | 门户装配 | 门户插槽 | 配置 | 定义门户页面中可装配内容的位置 | 门户装配 | 门户资源 | 配置 | 维护装入插槽的页面、组件和资源 | 门户装配 | 资源版本 | 台账 | 保存资源不可变版本,用于比较、审计和回滚 | 身份目录 | 身份连接器 | 配置 | 配置企业微信、钉钉、LDAP 等身份来源 | 身份目录 | 身份同步 | 运行 | 查看每次组织和账号同步的执行结果 | 身份目录 | 身份冲突 | 处置 | 处理重名、账号碰撞和归属不一致 | 身份目录 | 组织快照 | 台账 | 保存部门树与用户归属的不可变快照 | 人群与授权 | 动态用户组 | 配置 | 按规则生成可重复计算的用户人群 | 人群与授权 | 用户组成员 | 台账 | 查看某次计算得到的实际成员 | 人群与授权 | 用户标签 | 配置 | 定义用户分类、范围和标签类型 | 人群与授权 | 标签分配 | 台账 | 记录标签分配来源、有效期和状态 | 人群与授权 | 授权变更集 | 运行 | 批量授权或回收前生成可校验的变更计划 | 人群与授权 | 授权变更明细 | 台账 | 记录每个账号的授权执行结果与错误 | 人群与授权 | 访问申请 | 审批 | 提交、审批和跟踪访问权限申请 | 人群与授权 | 临时授权 | 运行 | 管理带到期时间且可自动回收的权限 | 配置与灰度 | 配置模板 | 配置 | 维护不同环境可继承、可版本化的配置基线 | 配置与灰度 | 配置漂移 | 处置 | 发现并处理目标环境偏离配置基线的问题 | 配置与灰度 | 功能开关 | 配置 | 按用户、角色、部门或比例控制功能灰度 | 发布治理 | 发布计划 | 配置 | 固定发布内容、门禁、步骤和回滚方案 | 发布治理 | 发布审批 | 审批 | 保存不可变审批结论并落实职责分离 | 发布治理 | 发布运行 | 运行 | 查看发布或回滚的断点、租约和执行状态 | 发布治理 | 变更台账 | 台账 | 汇总跨资源变更及其应用、验证证据 | 服务治理 | 服务目录 | 配置 | 登记服务身份、负责人和健康状态 | 服务治理 | 服务实例 | 运行 | 查看实例版本、区域、租约和排空状态 | 服务治理 | 流量策略 | 配置 | 配置版本路由、重试、限流、熔断和降级 | 服务治理 | 调用结果 | 台账 | 记录策略许可对应的真实调用结果 | 服务治理 | 服务拓扑 | 台账 | 聚合服务间调用量、错误量和延迟 | 可观测与日志 | 可观测策略 | 配置 | 定义可信指标、阈值、窗口和严重级别 | 可观测与日志 | 规则评估台账 | 台账 | 记录每个时间窗口的规则评估证据 | 可观测与日志 | 告警事件 | 处置 | 查看、确认、恢复和关闭平台告警 | 可观测与日志 | 告警路由 | 配置 | 配置告警接收人、优先级和处理时限 | 可观测与日志 | 告警送达 | 台账 | 跟踪每次通知尝试、重试和送达结果 | 可观测与日志 | 日志策略 | 配置 | 设置日志热、温、冷阶段和归档方式 | 可观测与日志 | 日志生命周期 | 运行 | 查看日志扫描、归档和清理任务结果 | 资产与协作 | 资产包 | 配置 | 定义可复用、可安装的页面或配置资产集合 | 资产与协作 | 资产版本 | 台账 | 保存资产不可变版本、内容哈希和兼容范围 | 资产与协作 | 协作租约 | 运行 | 显示谁正在编辑资源并提供过期与防并发令牌 | 数据迁移 | 导入批次 | 运行 | 查看导入计划、进度、成功失败数和检查点 | 数据迁移 | 导入暂存行 | 台账 | 查看每一行的计划动作、结果和错误原因 | 如果只是先熟悉系统,建议从治理总览开始,再关注 身份冲突、配置漂移、发布计划/审批、告警事件 和 导入批次。用户组成员、授权变更明细、规则评估台账、调用结果、告警送达、导入暂存行 等明细通过对应工作台页面的台账、详情或操作面板进入,主要用于追查“为什么失败、影响了谁、能否恢复”。 ## 应用资源与页面 ai-platform-studio v2.1.1 应用包包含: - 40 张治理表和 5 张运行基础表,应用包共 45 张表、876 个字段; - 42 条后台菜单兼容记录:仅 1 个 AI平台治理 MicroService 菜单可见,历史工作台与 40 个数据菜单隐藏并保留稳定 Id; - 64 个接口引擎,其中 57 个官方核心为 Managed,7 个租户扩展为 CreateIfMissing; - 1 个每分钟治理维护任务; - 10 条治理微服务路由:overview、portal、identity、access、configuration、release、services、observability、assets、import。 v2.1.1 不改变表、菜单 Id、接口数量和任务资源合同;在 v2.1.0 教学沙盘基础上,把总览接入正式模型、微服务、应用发布和 Token 台账,并在原 mci-ai-platform-overview 受管接口中增加计划预览、幂等纳管和回读。隐藏的历史工作台菜单使用独立兼容 URL,避免与新的唯一入口争用 sys_menu.Url;发行、Manifest 与运行时版本号保持一致。治理工作台内部菜单由微服务自身管理路由,页面按需加载,骨架屏只出现在右侧内容区;左侧治理导航与顶部栏不再随页面切换重挂。所有创建、编辑和详情弹层复用统一大圆角 Dialog,并在 Teleport 到宿主 body 时携带应用主题令牌。主题变量、通用按钮规则和背景网格均限定在 [data-mci-ui-root="ai-platform-studio"] 根容器内,不能覆盖吾码主框架 Logo 或菜单样式。 所有表位于当前租户数据库,以 mci_ 为前缀,不额外增加物理 OsClient 列。表、字段、索引、菜单、权限、接口引擎、任务和微服务统一由应用商城升级,不能为这些资源添加租户定制 .NET 启动迁移。 租户 Hook 固定为: text ``` mci-portal-publish-extension mci-identity-source-extension mci-release-gate-extension mci-alert-notify-extension mci-asset-validate-extension mci-log-archive-extension mci-release-execute-extension ``` Hook 首次安装后归租户维护,官方更新永不覆盖。 ## 通用写入合同 危险操作统一遵循: text ``` 读取当前事实 → Plan / DryRun → 固定 Hash → 用户确认 → CAS / 幂等执行 → 数据与资源回读 → 审计 → 条件回滚 ``` 必须使用以下字段或等价事实: - ExpectedContentHash / ExpectedPlanHash:拒绝基于旧内容写入; - RowVersion:拒绝并发状态覆盖; - IdempotencyKey / EventId:重复投递复用同一业务结果; - LeaseToken + LeaseExpiresAt:共享租约可超时接管; - FencingToken:旧持有者不能在租约转移后继续写; - 不可变版本/审批/结果台账:不能删除证据来伪造成功。 前端显示成功、接口返回 Code=1、商城显示已安装,均不能替代写后回读与真实页面验收。 ## 门户编排与版本 - mci-portal-publish-plan 规范化项目、插槽与资产,检查重复 Key、孤立引用和发布漂移。 - mci-portal-publish 必须携带 ExpectedSnapshotHash;内容未变化时幂等复用。 - 发布先写不可变 mci_resource_version,再以条件更新切换 mci_portal_project.ActiveVersionId。 - mci-portal-resolve 只解析已发布快照;匿名运行端不能读取草稿。 - mci-resource-compare 比较版本;mci-resource-rollback 校验当前 Hash 后创建新的回滚版本,不删除历史。 ## 身份、用户组与权限 ### 可信目录同步 - 连接器只保存 Secret 引用;普通 V8、列表、导出和错误信息不能获得明文。 - mci-identity-sync-plan 通过可信宿主适配器读取 HTTPS SCIM 目录,限制 DNS、私网地址、页数和返回量。 - 先生成新增/更新/禁用/冲突计划,再以计划 Hash 和幂等键调用 mci-identity-sync-apply。 - 新同步账号默认停用;多重身份命中、未知部门/角色、游标漂移进入冲突队列,不能猜测合并。 ### 访问治理 - 动态组支持静态成员、标签交并集和排除集合;空规则失败关闭。 - 标签分配包含来源、有效期、证据摘要和到期状态。 - 批量授权使用计划、影响预览、逐项结果和条件回滚。 - 访问申请覆盖提交、批准、驳回、取消、撤销与临时授权到期回收。 - mci-permission-explain 调用真实 FormEngine 授权事实源,解释菜单、表动作、行数据范围与拒绝原因;不能另写一套近似权限算法。 ## 配置模板与漂移 mci-configuration-publish 提供: - Schema、非敏感值和 Secret 引用三层分离;疑似密码、Token、私钥或连接串原文失败关闭; - 最多 10 层继承、循环检测、稳定规范化、SHA-256、DryRun、CAS 和不可变版本; - 内容相同时幂等复用,版本号对应不同内容时拒绝覆盖。 mci-configuration-resolve 合并继承链并返回 EffectiveHash,但明确标记 SecretValuesResolved=false。mci-configuration-drift-scan 生成语义差异,mci-configuration-drift-transition 用行版本完成忽略、重开和解决;摘要仍不一致时不能伪造已解决。 ## 功能开关 mci-feature-flag-publish 校验语义版本、时间窗、0—100 灰度比例、用户/排除用户/部门/角色白名单,生成不可变 FeatureFlag 资源版本。mci-feature-flag-evaluate 使用稳定主体 Hash 分桶: - 普通用户只能按当前 DiyToken 的权威 UserId/RoleIds/DeptIds 求值; - 客户端不能伪造其它身份上下文;超级管理员才可做模拟预览; - 功能开关只决定功能是否启用,不能授予菜单、表、行、接口或业务状态权限。 ## 发布审批、门禁与断点执行 ### 1. 固定计划 mci-release-plan-publish 对门禁、发布步骤、回滚步骤、审批策略和测试证据做白名单规范化,拒绝 Secret 原文,生成稳定 PlanHash。生产计划提交前必须有发布步骤、回滚步骤和真实测试/回读证据。 ### 2. 不可变审批 mci-release-transition 支持 Submit、Approve、Reject、Cancel、Reopen。每轮每位审批人的结论使用稳定 ApprovalKey 只追加一次,不能修改;生产策略可要求多人批准和创建人与审批人职责分离。 主状态: text ``` Draft → Reviewing → Approved → Ready → Releasing → Released ↘ Rejected ↘ Blocked ↘ Failed Released / Failed → RollingBack → RolledBack ``` ### 3. 自动门禁 mci-release-validate 重新计算计划 Hash,并检查审批、资源、回滚、证据、高危告警、身份冲突、配置漂移、门户版本、功能开关和变更集。租户专属检查由 mci-release-gate-extension 以相同 Key 返回结论。 ### 4. 执行与恢复 mci-release-execute 每次只执行一个白名单步骤:Verify、PortalPublish、PortalRollback 或租户 Extension。运行台账持久化 RunKey、检查点、租约、栅栏令牌和结果摘要: - 同一计划、方向和幂等键只创建一个运行; - 多节点竞争通过数据库 CAS 抢占,不能依赖进程内锁; - 变更步骤使用独立事务,失败回滚子步骤,同时提交失败台账; - 子步骤成功但台账提交前中断时,用 StepIdempotencyKey 安全重试; - 失败后必须使用同一幂等键 Resume=true 从当前检查点继续。 ## 服务注册、路由与韧性 - mci-service-instance-register/heartbeat/drain 使用实例令牌摘要、行版本、租约到期和栅栏令牌维护共享实例事实。 - mci-service-policy-publish 固定版本/区域/标签/权重、限流、熔断、重试和降级策略;支持 DryRun、CAS 与不可变版本。 - mci-service-resolve 按权威用户/角色与稳定 Hash 选中一个端点;普通调用方不能获得全部候选实例。 - mci-service-policy-acquire 使用租户隔离 Redis 原子能力执行共享限流和半开许可,但熔断事实从持久调用结果重建。 - mci-service-policy-outcome 以 Permit/Outcome 幂等键记录结果并更新拓扑;锁不能代替业务幂等。 ## Trace、告警与日志生命周期 ### W3C Trace HTTP、后台任务与 MQ 传播 TraceId/SpanId/ParentSpanId/TraceFlags,系统日志同时记录服务、版本、节点、环境、事件和耗时。mci-trace-timeline 可跨月按 Trace 聚合时间线。 ### 告警闭环 - mci-alert-evaluate 只读取可信日志信号,按窗口台账计算连续触发/恢复;支持去重、抑制和恢复。 - mci-alert-dispatch 生成待发送 Outbox,不直接调用外部渠道。 - mci-alert-delivery-send 使用送达租约、行版本和稳定 DeliveryKey;租户渠道由 mci-alert-notify-extension 实现。 - 路由支持匹配条件、值班排班、升级链、确认 SLA 和解决 SLA。 - mci-platform-maintenance 每分钟扫描告警、送达、到期权限和过期标签;任务仍需业务幂等。 ### 日志生命周期 mci_log_policy 定义来源匹配、采样/脱敏规则、热/温/冷天数、日/总配额、超限动作、归档模式和法律保留。mci-log-lifecycle-plan 只读估算跨月日志;mci-log-lifecycle-execute 只能由持久后台任务分片执行: - 读取有界批次并生成 gzip JSONL; - 写入私有 HDFS,或交给租户归档 Hook; - 回读文件长度与 SHA-256 证明; - 写入幂等归档收据; - 仅在证明通过后条件删除并回读为零。 法律保留策略不能执行删除;单机文件只能做故障 spool,不能成为集群唯一事实源。 ## 资产包、页面源码桥与协作 mci-asset-publish 使用 microi.asset.v1: - 组件名称、属性、Setter、DataAdapter 和目标平台均为声明式白名单; - 依赖声明 MinVersion/MaxVersion,发布时检查不存在、范围不兼容、循环和最大深度; - 规范化内容 Hash、DryRun、CAS、不可变版本和租户校验 Hook; - mci-asset-resolve 验证每个版本完整性并返回依赖图与确定性加载顺序。 Page Engine 提供本地 50 步/20MB Undo/Redo、页面不可变历史、结构化 Diff、CAS 回滚,以及确定性 Page JSON ↔ Vue SFC 桥接。源码桥只接受平台生成的受控 SFC 标记,不执行任意脚本,也不承诺无损反编译任意 Vue 工程。 mci-collaboration-lease 为资源编辑提供共享租约和 fencing token;mci-change-set-validate 固定跨资源计划、测试证据和回滚入口。实时文本合并不能绕过版本 Hash 和最终 CAS。 ## 可恢复导入 ### 门禁 - 支持 JSON、CSV、Excel;Excel 由 V8.Office.ExcelToList 解析。 - 单批最多 2,000 行;目标表和字段从当前租户元数据校验。 - 平台核心表、凭据字段、未知字段、超限嵌套和公式注入失败关闭。 - 文件、计划和每行数据都生成稳定 SHA-256。 ### 状态与恢复 text ``` Draft → Planned → Staged → Running → Completed / CompletedWithErrors ↘ Paused → Running ↘ Cancelled Completed → RollingBack → RolledBack ``` mci-import-execute 只能由持久后台任务调用,每片独立提交检查点和 fencing token。回滚只恢复本批次产生且当前值仍等于 AfterHash 的记录;业务数据已被后来修改时记录冲突,不覆盖新值。 ## 页面与蓝图版本工具 界面引擎与业务蓝图共享“规范化 → Hash → 历史 → Diff → CAS 回滚”合同。页面 MCP 工具: 工具 | 用途 | microi_list_page_history | 分页读取历史 | microi_get_page_history | 读取不可变快照 | microi_compare_page_versions | 比较历史与当前或两个历史版本 | microi_export_page_design | 导出带 Schema 与 Hash 的页面包 | microi_rollback_page_design | 校验当前 Hash 后回滚并创建新历史 | 蓝图对应提供历史列表、读取、比较、导出和回滚工具。AI 修改前先读取当前 Hash,写入后回读新 Hash、历史和真实资源。 ## 应用商城安装与升级 官方应用 Key:ai-platform-studio。 - 官方发布使用绑定 https://api.microi.net、OsClient=iTdos 的 microi_itdos。 - 发布请求版本、资产准备版本与包内 PackageInfo.Version 必须完全相同;菜单、表和接口选择从当前包正文持久化,禁止回退到最新版本或旧选择。 - 57 个核心接口使用 Managed;目标 Local != Base 时整包冲突回滚,不静默覆盖客户代码。 - 7 个 Hook 使用 CreateIfMissing;首次创建后永不覆盖。 - IncludeSource=false 时只交付构建资产;源码仍位于发布租户私有存储。 - 定时任务在 PostSchema 完成后进入独立 ScheduleJobs checkpoint;任务保存和运行元数据回读成功后,才允许写入应用安装版本。 - 发布和安装后分别回读版本、45 表/876 字段/索引、42 菜单、64 接口策略、任务、10 路由、构建资产 Hash 和运行入口。 - 官方发布源禁止自安装及 ValidateOnly。发布源完成包正文精确回读,安装链路改在非官方目标租户或本地非发布源环境验证。 ## 最小验收矩阵 - [ ] 10 个页面在 PC 与 390px 窄屏均可操作,无整页横向溢出。 - [ ] 内部菜单切换只加载右侧内容区,主框架 Tab 与微服务左栏不重建;吾码 Logo 可见且主菜单无网格线或子应用样式污染。 - [ ] 未登录、非管理员、跨租户、伪造身份和旧 Hash 请求失败关闭。 - [ ] 配置、开关、资产和服务策略覆盖 DryRun、无变化复用、版本冲突与 CAS 冲突。 - [ ] 发布覆盖多人审批、职责分离、门禁阻断、重复请求、步骤失败、同键续跑和条件回滚。 - [ ] 两个节点覆盖同一实例心跳、同一限流窗口、熔断半开、租约转移和重复 Outcome。 - [ ] Trace 覆盖 HTTP → 后台任务 → MQ;日志归档覆盖写入、证明、删除回读和节点中断恢复。 - [ ] 导入覆盖非法字段、公式注入、重复执行、暂停/恢复、节点退出和有业务新修改时拒绝回滚。 - [ ] 页面/蓝图/资产覆盖历史、Diff、依赖循环、协作租约、旧 fencing 和回滚。 - [ ] 应用商城首次安装、正常升级、Managed 冲突、Hook 保留和重复安装均通过。 ## 相关文档 - 业务蓝图、状态机与自动化流 (https://microi.net/doc/system-engine/ai-workflow-suite.html) - 界面引擎 (https://microi.net/doc/system-engine/page-engine.html) - 微服务 (https://microi.net/doc/system-engine/micro-app.html) - 应用商城 (https://microi.net/doc/system-engine/app-store.html) - AI 开发工具 (https://microi.net/doc/v8-engine/microi-agent.html)