@microi.net/cli 6.1.3 → 6.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/.codebuddy-plugin/marketplace.json +2 -2
  2. package/.codebuddy-plugin/plugin.json +1 -1
  3. package/.codex-plugin/plugin.json +1 -1
  4. package/.mcp.json +1 -1
  5. package/.workbuddy-plugin/marketplace.json +2 -2
  6. package/.workbuddy-plugin/plugin.json +1 -1
  7. package/assets/build-meta.json +3 -3
  8. package/cordis.patch.yml +1 -1
  9. package/package.json +1 -1
  10. package/scripts/codex-marketplace.json +20 -20
  11. package/scripts/mcp-codex-stdio-adapter.js +189 -189
  12. package/scripts/mcp-trae-windows-launcher.cmd +21 -21
  13. package/scripts/microi-cli-mcp.js +7 -7
  14. package/scripts/microi-skills.meta.json +293 -293
  15. package/skills/.microi-skills-version.json +2 -2
  16. package/skills/.progressive-disclosure-manifest.json +1 -1
  17. package/skills/ai-engine/SKILL.md +8 -1
  18. package/skills/ai-engine/references/ai-employees.md +48 -48
  19. package/skills/ai-engine/references/self-hosted-digital-human.md +59 -59
  20. package/skills/app-store/SKILL.md +11 -0
  21. package/skills/business-blueprint/SKILL.md +193 -193
  22. package/skills/datasource-engine/SKILL.md +93 -93
  23. package/skills/dos-orm/SKILL.md +105 -105
  24. package/skills/dos-orm/references/api-reference.md +229 -229
  25. package/skills/email-engine/SKILL.md +81 -81
  26. package/skills/email-engine/references/v8-email.md +34 -34
  27. package/skills/job-engine/SKILL.md +179 -176
  28. package/skills/message-notification/SKILL.md +156 -156
  29. package/skills/message-notification/references/contracts.md +102 -102
  30. package/skills/microi/SKILL.md +14 -14
  31. package/skills/microi-ai-application/SKILL.md +115 -115
  32. package/skills/microi-ai-application/references/frontend-baseline.md +164 -164
  33. package/skills/microi-client-frontend/references/progressive-01-3-/345/212/250/346/200/201/346/214/211/351/222/256/347/263/273/347/273/237.md +10 -10
  34. package/skills/microi-client-frontend/references/progressive-02-8-/350/277/220/350/241/214/346/227/266/351/253/230/351/242/221/345/235/221/345/244/215/347/233/230.md +10 -10
  35. package/skills/microi-client-frontend/references/progressive-03-vue3-/345/211/215/347/253/257/345/276/256/346/234/215/345/212/241/345/256/277/344/270/273/350/247/204/345/210/231.md +10 -10
  36. package/skills/microi-codex/SKILL.md +130 -130
  37. package/skills/microi-datasource-mapping/SKILL.md +131 -131
  38. package/skills/microi-db-schema/SKILL.md +182 -175
  39. package/skills/microi-db-schema/references/core-tables.md +695 -695
  40. package/skills/microi-db-schema/references/form-component-options.md +256 -256
  41. package/skills/microi-db-schema/references/schema-overview.md +202 -202
  42. package/skills/microi-db-schema/references/schema.md +646 -646
  43. package/skills/microi-db-schema/references/table-catalog.md +1599 -1599
  44. package/skills/microi-deployment/SKILL.md +262 -260
  45. package/skills/microi-deployment/references/deployment-matrix.md +112 -112
  46. package/skills/microi-docs-coverage/SKILL.md +133 -133
  47. package/skills/microi-docs-coverage/references/capability-map.md +91 -91
  48. package/skills/microi-form-engine/SKILL.md +338 -338
  49. package/skills/microi-form-engine/references/component-catalog.md +218 -218
  50. package/skills/microi-form-engine/references/data-source-events.md +124 -124
  51. package/skills/microi-left-right-layout/SKILL.md +141 -141
  52. package/skills/microi-microservice/SKILL.md +354 -354
  53. package/skills/microi-microservice/references/runtime-delivery.md +282 -282
  54. package/skills/microi-solution-quotation/SKILL.md +79 -78
  55. package/skills/microi-sso/SKILL.md +102 -102
  56. package/skills/microi-sso/references/configuration-and-security.md +53 -53
  57. package/skills/microi-sso/references/inbound.md +53 -53
  58. package/skills/microi-sso/references/outbound.md +43 -43
  59. package/skills/microi-system-delivery/references/context-quality.md +3 -3
  60. package/skills/microi-system-delivery/references/progressive-01-/346/240/207/345/207/206/345/267/245/344/275/234/346/265/201.md +11 -11
  61. package/skills/microi-system-delivery/references/progressive-02-/350/207/252/345/212/250/345/214/226/346/265/213/350/257/225/345/277/205/351/241/273/350/246/206/347/233/226/347/232/204/345/235/221.md +12 -12
  62. package/skills/microi-system-delivery/references/progressive-03-/345/256/211/345/205/250/344/270/216/350/267/250/347/253/257/351/252/214/346/224/266.md +8 -8
  63. package/skills/module-engine/SKILL.md +297 -297
  64. package/skills/module-engine/references/module-config.md +204 -204
  65. package/skills/ocr-engine/SKILL.md +113 -113
  66. package/skills/page-engine/references/progressive-01-/346/211/200/346/234/211/347/273/204/344/273/266/347/261/273/345/236/213.md +10 -10
  67. package/skills/page-engine/references/progressive-02-/347/211/210/346/234/254/345/216/206/345/217/262-/345/271/266/345/217/221/344/277/235/345/255/230/344/270/216/345/233/236/346/273/232.md +12 -12
  68. package/skills/performance-testing/SKILL.md +227 -227
  69. package/skills/print-engine/SKILL.md +259 -259
  70. package/skills/production-readonly-audit/SKILL.md +41 -41
  71. package/skills/report-engine/SKILL.md +83 -83
  72. package/skills/search-engine/SKILL.md +75 -75
  73. package/skills/spider-engine/SKILL.md +190 -190
  74. package/skills/system-observability/SKILL.md +264 -264
  75. package/skills/system-observability/references/memory-incident-triage.md +77 -77
  76. package/skills/translate-engine/SKILL.md +140 -140
  77. package/skills/ui-design/assets/templates/MCI-DESIGN.md +206 -206
  78. package/skills/ui-design/references/design-pattern-library.md +184 -184
  79. package/skills/ui-design/references/mci-design-contract.md +163 -163
  80. package/skills/ui-design/references/motion-and-media.md +78 -78
  81. package/skills/ui-design/references/product-flow-recipes.md +94 -94
  82. package/skills/uniapp-mall-assets/SKILL.md +176 -176
  83. package/skills/unity-integration/SKILL.md +178 -178
  84. package/skills/unity-integration/references/sdk-api.md +82 -82
  85. package/skills/unity-integration/references/toolbox-migration.md +66 -66
  86. package/skills/unity-integration/references/webgl-hosting.md +57 -57
  87. package/skills/v8-cache-pattern/SKILL.md +320 -320
  88. package/skills/v8-debugging/SKILL.md +284 -284
  89. package/skills/v8-explorer-tree/SKILL.md +228 -228
  90. package/skills/v8-file-upload/references/cdn-alias-repair.md +13 -13
  91. package/skills/v8-frontend-events/references/bluetooth-print-api.md +135 -135
  92. package/skills/v8-frontend-events/references/bluetooth-print.md +258 -258
  93. package/skills/v8-image-processing/SKILL.md +190 -190
  94. package/skills/v8-image-processing/references/api-reference.md +623 -623
  95. package/skills/v8-mongodb/SKILL.md +241 -201
  96. package/skills/v8-mq-mqtt/references/mqtt-production.md +352 -352
  97. package/skills/v8-saas-multi-tenant/SKILL.md +315 -315
  98. package/skills/v8-sql-query/SKILL.md +302 -302
  99. package/skills/v8-template-engine/SKILL.md +167 -167
  100. package/skills/v8-utilities/references/platform-http-routes.md +83 -83
  101. package/skills/v8-workflow/references/workflow-configuration.md +49 -49
  102. package/skills/vision-engine/SKILL.md +160 -160
  103. package/skills/vision-engine/references/architecture-and-acceptance.md +194 -194
  104. package/skills/workspace-conventions/SKILL.md +40 -40
  105. package/skills/workspace-conventions/references/progressive-02-microi-net-api-/346/234/254/345/234/260/345/220/257/345/212/250/347/272/246/345/256/232.md +34 -34
  106. package/skills/workspace-conventions/references/progressive-03-cli-/344/270/216-ide-/346/217/222/344/273/266/351/224/231/347/211/210/345/205/261/345/255/230/347/272/246/345/256/232.md +6 -6
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "6.1.3",
2
+ "version": "6.1.4",
3
3
  "versionRule": "Microi version uses three numeric parts. Each publish increments the last part; when a part exceeds 9 it carries to the previous part: 1.0.9 -> 1.1.0, 1.9.9 -> 2.0.0.",
4
4
  "managedBy": "Microi.Agent/bump-version.js",
5
- "updatedAt": "2026-10-22T13:19:32.497Z"
5
+ "updatedAt": "2026-10-22T14:29:50.061Z"
6
6
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 1,
3
- "generatedAt": "2026-10-22T13:18:43.742Z",
3
+ "generatedAt": "2026-10-22T10:20:42.568Z",
4
4
  "policy": {
5
5
  "maxEntryLines": 285,
6
6
  "referenceBudgetLines": 245,
@@ -91,13 +91,20 @@ AI 业务统一实现在 `Microi.Server/Microi.AI`。`Microi.Server/Microi.net.A
91
91
  - AI 的 Qdrant/Ollama/Embedding 配置、Schema 初始化和其它生命周期任务由 `AddMicroiAI()` 在模块内自注册;API 的 `Program.cs` 只负责调用模块注册。
92
92
  - `Microi.Core` 只承载跨模块契约和模型。新增入口时先扩展 AI 领域服务,再添加薄 Controller/Hub 适配,禁止复制业务流程。
93
93
  - AI 账户统一入口是 Managed 接口引擎 `/apiengine/platform-ai-account`;套餐、订阅和订单由 V8 编排。支付宝回调 C# 只做可信租户选择/归一化、该租户配置验签和一次性 Managed 调用;`CompletePayment` 在同一接口引擎事务内完成订单条件认领、金额校验、订阅续期/新建与平台/供应商 API Key 分配。供应商协议、密钥隔离、分布式额度原子、任务句柄和受控媒体落盘仍由绑定原子完成。
94
- - 非流式 `UpdateConversationTitle / RecognizeIntent / Chat / NL2SQL / NL2V8EngineSync` 与精确图片 `ProcessImage` 统一进入 Managed `/apiengine/platform-ai-runtime`,旧 Controller 同名路由只做兼容转发;SSE/流式、Provider Proxy、生成式媒体、文件和策略元数据保持原生。`platform-ai-runtime` 只调用绑定当前租户和当前用户的 `V8.AI` / `V8.Image` 原子,不接收客户端伪造的租户、用户、Endpoint、ApiKey、表白名单或管理员标记。
94
+ - 非流式 `UpdateConversationTitle / RecognizeIntent / Chat / NL2SQL / NL2V8EngineSync` 与精确图片 `ProcessImage` 统一进入 Managed `/apiengine/platform-ai-runtime`,旧 Controller 同名路由只做兼容转发。媒体目录与图片/音乐任务的提交、查询、恢复也使用该 Managed 引擎的同名 `Action`;SSE/流式、Provider Proxy、文件传输和其余未迁移协议继续使用原生入口。`platform-ai-runtime` 只调用绑定当前租户和当前用户的 `V8.AI` / `V8.Image` 原子,不接收客户端伪造的租户、用户、Endpoint、ApiKey、表白名单或管理员标记。
95
95
  - AI 官方应用只有一个应用级租户扩展点 `platform-ai-custom-hook`,策略为 `CreateIfMissing`。`mci_ai_data_assistant` 与 `platform-ai-runtime` 只传 `Stage`、`SourceApiEngineKey`、`Action`;支付动作最多增加 `EventId`、`Provider`,账户其它动作只增加白名单资源元数据。Hook 禁止接收订单号、交易号、金额、标题、SQL、模型、附件、提示词或问题原文及其摘要、回答、供应商/平台密钥、供应商任务号、文件句柄或媒体内容。匿名发现接口不调用 Hook,`/v1/usage` 继续由 C# 凭据网关直接校验,使 `Authorization` 永不进入 V8。
96
96
  - 9 张 `mic_sub_*` 订阅表与 `mci_ai_token_account`、`mci_ai_token_log` 由官方 `app.microi.ai-engine` 应用升级提供,必须同时声明 DDL、PhysicalColumns、DiyTables、DiyFields;`PromptPreview` 属于日志表正式字段。`mci_ai_token_recharge` 当前不在该运行时实体闭包内,禁止根据线上残留自行扩包。运行时发现缺失时失败关闭,禁止在请求路径自动建表、加列或修改业务 Schema。
97
97
  - `Sys_User.AiApiKey` 归官方 `app.microi.sys_user`,由系统账号包同时维护建表 DDL、PhysicalColumns 和隐藏只读 DiyField;AI助手包不得重复声明 `Sys_User`。缺列错误必须提示升级系统账号应用,不能误导用户升级 AI助手。
98
98
 
99
99
  ## 模型与密钥
100
100
 
101
+ ### 媒体目录与图片任务的 Managed 调用
102
+
103
+ - 后端新增 `V8.AI.GetMediaModels()`、`GenerateMiniMaxImage(param)`、`GetMiniMaxImageTask(taskId)`、`RecoverMiniMaxImageTask(taskId)` 四个原子。前端及 Microi Agent 调用 `/apiengine/platform-ai-runtime` 的同名 `Action`,后端 V8 可直接调用原子,不自请求本机 HTTP,不新增第二套媒体编排入口。
104
+ - 当前租户和用户绑定于可信 V8 上下文,匿名拒绝;图片任务提交沿用既有运行时的模型、许可、权限、配额与幂等校验。查询和恢复只访问该租户、该用户拥有的任务。目录仅安全投影,Hook 仍只接收来源、阶段和动作,不接收媒体、提示词、任务号或密钥。
105
+ - 提交持久任务后保存原 `RequestId`、`TaskId` 及服务器/租户/账号归属;`Code=2` 仅表示受理。超时、断连、空响应先复查原任务,不能换 Id 重发。恢复仅复用已经保存的供应商回执与结果,不重新生成;没有回执的未知结果明确失败或保持未知,不能伪造成功。
106
+ - 四个原子、Managed 引擎和消费者需一起验收;应用包或版本号不代表服务器能力已部署。至少验证匿名拒绝、跨租户/跨用户隔离、请求参数白名单、幂等回放、未知结果复查,以及图片持久地址回读。没有线上回执时只报告源码与测试已完成,不声称某一版本已经上线。
107
+
101
108
  存量模型配置的兼容验收组合包括 `GenerateMiniMaxImage + image-01`、`GenerateMiniMaxMusic + music-2.6`。这些组合只适用于服务端已配置且供应商账号仍有权限的旧路由;新路由仍遵循下列实时能力选择规则。验收必须同时检查实际返回的模型标识、媒体类型与 HDFS 读取,不能仅凭兼容接口名称判断底层模型。
102
109
 
103
110
  - 模型 Provider、Endpoint、ApiKey、AuthPrefix 和上游模型 Id 只保存在服务端受保护配置。
@@ -1,48 +1,48 @@
1
- # AI 员工与执行节点
2
-
3
- 用于将岗位、任务、执行、成果和验收组织成可交付应用。优先使用低代码表与受管接口引擎;缺少可信运行时原子时才扩展后端。
4
-
5
- ## 组织与任务
6
-
7
- - 员工有职责、交付标准、模型、能力和状态;创建岗位不等于创建管理员帐号。
8
- - 任务明确目标、输入、验收标准、前置依赖、负责人和执行方式。人工指定的强依赖只读取已验收成果;同一自治目标下的岗位可以读取明确标记为“未验收草稿”的同伴成果,不得把它当成真实完成证据。
9
- - 自治目标由负责人创建并启用;项目经理每日最多生成一次有界规划,服务端仅接受固定十岗、最多十项、只生成草稿的 JSON 任务。目标暂停、预算耗尽或节点离线时不得继续领取。
10
- - 数据库保存任务、执行批次、成果哈希和审计。本地 JSON、聊天记录和内存定时器不能作为跨节点任务事实源。
11
- - 当前 DiyToken 决定租户和负责人,忽略客户端身份字段。列表、详情、依赖、写入、报告均校验同一数据范围;前端隐藏字段不是授权。
12
- - 原生 CRUD 不得绕过任务状态机或伪造审批。执行者只能报告有效尝试,不能替负责人验收。
13
-
14
- ## 模型与持久执行
15
-
16
- 后端 `V8.AI.Chat` 的 `AiModel` 不能假定可留空。先从当前用户获授权的目录选择 `AiModel / AiModelId`;显式模型不可用时失败,不能静默切换账号。Key 与 Endpoint 保留在可信后端。
17
-
18
- 长调用通过平台持久后台任务执行。领取先提交,再调用外部模型;组合稳定幂等键、数据库条件写入、租约和旧执行者拒绝。调用无法回滚时,独立保存开始标记;重启后结果未知就核对,不盲目重发。等待模型时不能持有业务行锁。
19
-
20
- 远端通过 `microi_run_engine_background` 入队,使用 `microi_list_background_tasks` 看运行状态,同时回读任务与成果。TaskId、后台 Succeeded、生成成功、业务验收通过是不同证据。
21
-
22
- 每位负责人有可动态配置的日 Token 上限,默认 1,000,000。每次领取在同一事务内预留保守额度,模型回报后用供应商实际 usage 结算;未知用量按全额预留计入预算并在界面标明,不得按字符数伪造实际用量。已发出的外部请求可能超出预留,因此这是接单闸门而非供应商侧绝对封顶;需要硬封顶时还必须给模型设置输出上限并在供应商侧核验。尝试次数不是 Token 或金额预算。
23
-
24
- ## OpenClaw 适配
25
-
26
- 先核对安装版本和官方协议。旧版使用 `agents.list`,其他版本可能使用 `agents.entries`;两者并存或格式未知时报错,不能猜测迁移。
27
-
28
- - 显式指定 Agent,并按租户、负责人、任务、尝试建立会话键;不回退 `main`。
29
- - 每个负责人/岗位使用独立 workspace 与 agentDir,拒绝路径越界与符号链接,不共享不同身份的凭据目录。
30
- - Gateway HTTP 凭据具有管理范围权限,只留在本机服务端。目录隔离不等于系统隔离,不可信租户应使用独立 Gateway、系统用户或容器。
31
- - 草稿型员工可要求真实 `tools.deny` 包含 `*`。扩大为工具执行时,逐项增加授权、能力白名单、目录/网络边界、审批和副作用回读。提示词过滤不是沙箱。
32
- - 手工 OpenClaw 任务仍需逐次批准;负责人开启自治后,节点可在指定目标内自行规划、创建和领取草稿任务。续租失败或取消时停止后续工作。报告超时重放同一报告,不重新生成;未知结果不自动重试。
33
- - 24 小时模式以节点进程、Gateway、网络和有效 DiyToken 持续可用为前提。Electron 下仅在系统安全存储可用时加密保存会话与待报告成果,重启后须重新验证 DiyToken;普通 Node 运行不落盘凭据。Windows/macOS 打包版可注册登录启动,Mac 未签名版本须独立验证启动项。不可把计时器测试写成连续 24 小时实测。
34
- - Gateway 使用当前版本 OpenClaw 所要求的 Node.js 运行时;例如 `2026.3.11` 要求 Node.js `>=22.12.0`。管理页面可访问不证明 Gateway 已启动。
35
- - MiniMax 等模型可能在 `message.content` 中混入推理或写作计划。用按任务、尝试生成的唯一终稿标记限定可回传正文;标记缺失、重复、错序或正文为空时失败关闭并人工核对,不按英文前缀、Markdown 标题或关键词猜测截断位置。
36
- - 准备配置只新增声明资源,保存前复核原配置,保留默认 Agent、密钥和并行修改。重启 Gateway 与发布新版客户端是独立动作。
37
-
38
- ## 验收与边界
39
-
40
- 桌面工作台未登录时只显示连接引导,不调用员工业务接口、不暴露原始 IPC 堆栈。已登录连接只读取当前租户/负责人的团队;切换连接时丢弃旧请求的迟到响应。任务需填写成果目标、验收标准和执行方式,依赖只可选择已验收任务;重复提交沿用请求标识,发生不确定结果时先回读。
41
-
42
- 节点停止接单时不能在迟到的队列查询后继续领取,也不能丢弃正在生成或待回传成果。成果先持久化、后报告;云端接收后本地清理失败仍重放相同报告,不重新调用模型。测试必须分别覆盖真实云端模型、跨岗验收接力、真实本机 HTTP 协议和界面操作;界面夹具不代表真实 Gateway 已联调。
43
-
44
- 覆盖幂等去重与内容冲突、负责人隔离、依赖未验收、同员工并发、旧租约报告、取消后迟到结果、退回后的独立成果、尝试上限、报告网络失败、预算并发、每日规划幂等、跨岗位草稿协作和进程重启。完整 24 小时验收还需真实节点与模型连续运行和跨日预算回读。
45
-
46
- 财务、招聘、合同、营销和客服草稿不代表已付款、录用、签署或发送。测试计划与代码草稿不代表测试通过;实际完成需要执行日志、产物与独立回读。
47
-
48
- 分别报告云端应用、桌面源码/构建、安装包发行、真实 Gateway 联调以及官网源码/部署;任一项通过不能替代其他层。
1
+ # AI 员工与执行节点
2
+
3
+ 用于将岗位、任务、执行、成果和验收组织成可交付应用。优先使用低代码表与受管接口引擎;缺少可信运行时原子时才扩展后端。
4
+
5
+ ## 组织与任务
6
+
7
+ - 员工有职责、交付标准、模型、能力和状态;创建岗位不等于创建管理员帐号。
8
+ - 任务明确目标、输入、验收标准、前置依赖、负责人和执行方式。人工指定的强依赖只读取已验收成果;同一自治目标下的岗位可以读取明确标记为“未验收草稿”的同伴成果,不得把它当成真实完成证据。
9
+ - 自治目标由负责人创建并启用;项目经理每日最多生成一次有界规划,服务端仅接受固定十岗、最多十项、只生成草稿的 JSON 任务。目标暂停、预算耗尽或节点离线时不得继续领取。
10
+ - 数据库保存任务、执行批次、成果哈希和审计。本地 JSON、聊天记录和内存定时器不能作为跨节点任务事实源。
11
+ - 当前 DiyToken 决定租户和负责人,忽略客户端身份字段。列表、详情、依赖、写入、报告均校验同一数据范围;前端隐藏字段不是授权。
12
+ - 原生 CRUD 不得绕过任务状态机或伪造审批。执行者只能报告有效尝试,不能替负责人验收。
13
+
14
+ ## 模型与持久执行
15
+
16
+ 后端 `V8.AI.Chat` 的 `AiModel` 不能假定可留空。先从当前用户获授权的目录选择 `AiModel / AiModelId`;显式模型不可用时失败,不能静默切换账号。Key 与 Endpoint 保留在可信后端。
17
+
18
+ 长调用通过平台持久后台任务执行。领取先提交,再调用外部模型;组合稳定幂等键、数据库条件写入、租约和旧执行者拒绝。调用无法回滚时,独立保存开始标记;重启后结果未知就核对,不盲目重发。等待模型时不能持有业务行锁。
19
+
20
+ 远端通过 `microi_run_engine_background` 入队,使用 `microi_list_background_tasks` 看运行状态,同时回读任务与成果。TaskId、后台 Succeeded、生成成功、业务验收通过是不同证据。
21
+
22
+ 每位负责人有可动态配置的日 Token 上限,默认 1,000,000。每次领取在同一事务内预留保守额度,模型回报后用供应商实际 usage 结算;未知用量按全额预留计入预算并在界面标明,不得按字符数伪造实际用量。已发出的外部请求可能超出预留,因此这是接单闸门而非供应商侧绝对封顶;需要硬封顶时还必须给模型设置输出上限并在供应商侧核验。尝试次数不是 Token 或金额预算。
23
+
24
+ ## OpenClaw 适配
25
+
26
+ 先核对安装版本和官方协议。旧版使用 `agents.list`,其他版本可能使用 `agents.entries`;两者并存或格式未知时报错,不能猜测迁移。
27
+
28
+ - 显式指定 Agent,并按租户、负责人、任务、尝试建立会话键;不回退 `main`。
29
+ - 每个负责人/岗位使用独立 workspace 与 agentDir,拒绝路径越界与符号链接,不共享不同身份的凭据目录。
30
+ - Gateway HTTP 凭据具有管理范围权限,只留在本机服务端。目录隔离不等于系统隔离,不可信租户应使用独立 Gateway、系统用户或容器。
31
+ - 草稿型员工可要求真实 `tools.deny` 包含 `*`。扩大为工具执行时,逐项增加授权、能力白名单、目录/网络边界、审批和副作用回读。提示词过滤不是沙箱。
32
+ - 手工 OpenClaw 任务仍需逐次批准;负责人开启自治后,节点可在指定目标内自行规划、创建和领取草稿任务。续租失败或取消时停止后续工作。报告超时重放同一报告,不重新生成;未知结果不自动重试。
33
+ - 24 小时模式以节点进程、Gateway、网络和有效 DiyToken 持续可用为前提。Electron 下仅在系统安全存储可用时加密保存会话与待报告成果,重启后须重新验证 DiyToken;普通 Node 运行不落盘凭据。Windows/macOS 打包版可注册登录启动,Mac 未签名版本须独立验证启动项。不可把计时器测试写成连续 24 小时实测。
34
+ - Gateway 使用当前版本 OpenClaw 所要求的 Node.js 运行时;例如 `2026.3.11` 要求 Node.js `>=22.12.0`。管理页面可访问不证明 Gateway 已启动。
35
+ - MiniMax 等模型可能在 `message.content` 中混入推理或写作计划。用按任务、尝试生成的唯一终稿标记限定可回传正文;标记缺失、重复、错序或正文为空时失败关闭并人工核对,不按英文前缀、Markdown 标题或关键词猜测截断位置。
36
+ - 准备配置只新增声明资源,保存前复核原配置,保留默认 Agent、密钥和并行修改。重启 Gateway 与发布新版客户端是独立动作。
37
+
38
+ ## 验收与边界
39
+
40
+ 桌面工作台未登录时只显示连接引导,不调用员工业务接口、不暴露原始 IPC 堆栈。已登录连接只读取当前租户/负责人的团队;切换连接时丢弃旧请求的迟到响应。任务需填写成果目标、验收标准和执行方式,依赖只可选择已验收任务;重复提交沿用请求标识,发生不确定结果时先回读。
41
+
42
+ 节点停止接单时不能在迟到的队列查询后继续领取,也不能丢弃正在生成或待回传成果。成果先持久化、后报告;云端接收后本地清理失败仍重放相同报告,不重新调用模型。测试必须分别覆盖真实云端模型、跨岗验收接力、真实本机 HTTP 协议和界面操作;界面夹具不代表真实 Gateway 已联调。
43
+
44
+ 覆盖幂等去重与内容冲突、负责人隔离、依赖未验收、同员工并发、旧租约报告、取消后迟到结果、退回后的独立成果、尝试上限、报告网络失败、预算并发、每日规划幂等、跨岗位草稿协作和进程重启。完整 24 小时验收还需真实节点与模型连续运行和跨日预算回读。
45
+
46
+ 财务、招聘、合同、营销和客服草稿不代表已付款、录用、签署或发送。测试计划与代码草稿不代表测试通过;实际完成需要执行日志、产物与独立回读。
47
+
48
+ 分别报告云端应用、桌面源码/构建、安装包发行、真实 Gateway 联调以及官网源码/部署;任一项通过不能替代其他层。
@@ -1,59 +1,59 @@
1
- # 自建数字人直播交付规范
2
-
3
- ## 先确定运行边界
4
-
5
- 用户要求免费、自建、不扣 token 时,默认采用用户自己的推理设备。模型仍处理 token,但本机计算没有供应商按次账单;硬件、电费、存储和吾码自身部署成本不能省略。禁止静默使用 MiniMax、吾码中转、Edge TTS、ZeroGPU 或在线试用作为本地推理成功的证据。
6
-
7
- 先盘点当前 MCP 的在线应用和实时 Schema,再读取目标应用源码。吾码负责话术、知识、角色、任务和记录,媒体运行时负责模型与音画。已有适合应用时扩展其页面,没有才创建 MicroService。业务表、字段、菜单和权限由 Manifest/应用包交付,不为数字人业务新增平台 Controller。
8
-
9
- Windows 本机参考方案可采用 CPU 运行轻量 Qwen 与中文 TTS、CUDA 运行口型模型,并通过 WebRTC 向浏览器或 OBS 输出。若实现先生成片段再播报,应如实标注缓冲策略,不应描述成低延迟全双工数字人。输出帧率、模型生成帧率、首音延迟和总等待时间必须分开报告。
10
-
11
- 照片驱动或视频换脸须先区分目标:只换脸保留驱动视频的身体和衣服;照片人物连同衣服动作需把源照片的人像区域随视频姿态形变。轻量关键点/二维形变不能凭空生成照片未拍到的部位,也不能保证大转身、遮挡或手部交叉的真实感。8 GB 显存设备不能因某模型的单个模块可运行,就推断完整生成链能实时运行;先核对权重许可与实测峰值,再承诺交互帧率。
12
-
13
- 商业交付若要求零模型授权费,分别核查代码、检测器、关键点模型、生成权重和样例素材。InsightFace 代码许可与其预训练模型许可不同,不能因某个项目整体标记 MIT 就直接打包非商用检测权重。LivePortrait 可评估以 MediaPipe 替代 InsightFace 检测,但还须固定官方权重 revision 与 SHA-256,实测输出并保留其 MIT 声明。部分 FasterLivePortrait ONNX 权重能加载,却在普通 ONNX Runtime 的 5D `GridSample` 实际推理时报错;“加载成功”不是模型可运行的证据,需验证完整生成帧。
14
-
15
- 换脸模型选型要追踪身份向量的来源:FaceFusion 官方清单标记 GHOST 为 Apache-2.0、CrossFace 为 OpenRAIL-M,但其当前人脸识别代码仍由标记非商用的 ArcFace 产生身份向量;INSwapper 本身也标记非商用。不能只检查最后一段 GHOST 权重就宣称整条链可零授权费商用。参见 https://docs.facefusion.io/introduction/licenses 与 https://github.com/facefusion/facefusion/blob/master/facefusion/face_recognizer.py 。本机曾试用神经头像输出做只换脸合成,24 帧约 6.66 fps,但胡须、头发和下颌接缝使身份不一致;该原型未发布,不计入交付。
16
-
17
- 当前 `digital-human-live` v0.4.2 本机路线使用 FasterLivePortrait 的 ONNX 预处理、MediaPipe 检测和 LivePortrait 官方 PyTorch 生成模块,避开 InsightFace 检测权重与 ONNX 5D `GridSample` 限制。源码保留两方 MIT 文本,权重由 `runtime/portrait-model-lock.json` 固定 revision、大小和 SHA-256,下载后仅放入 `.local/portrait`。RTX 2080 SUPER 上的 W/G 生成模块用 CUDA 半精度自动混合精度后,24 帧完整 HTTP 任务实测 6.85 fps、480 × 640;UI 和文档应写成“神经网络头像预览/短片生成”,不得仅凭输出 MP4 的 12 fps 编码帧率承诺流畅实时直播。它保留源照片的衣服和背景,但不做全身服饰动作;原二维换脸与服饰形变应标为实验性。
18
-
19
- ## 资源与模型
20
-
21
- - 检查当前显卡、可用显存、内存、磁盘、已有进程和端口。不得为了腾显存结束未知进程。使用应用自己的 Python 环境,不修改共享环境。
22
- - Windows 中文工作区中,部分原生 TTS / OpenCV 文件接口无法打开包含中文的绝对路径;优先在确定的运行目录中使用相对路径,并真实测试人像检测、语音生成与启动脚本,不能只测 Python 文件读取。
23
- - 大文件固定官方仓库 revision、预期大小和 SHA-256;分段下载校验 Content-Range,支持原任务续传,下载完成后再加载。不把失败下载或仅安装依赖计为推理通过。
24
- - 模型运行使用 `local_files_only` 和离线模式,无付费回退。运行时清除本进程继承的 HTTP/HTTPS/ALL proxy,避免本地代理成为外网旁路;随后限制外连。安装下载是独立过程,不全局修改用户代理。
25
- - 权重许可、代码许可、人像/声音的使用权分别核对。研究测试素材仅用于本地研究验证,不放进公开应用包或默认当商业主播素材。
26
- - 源人像与驱动视频需获得相应使用权,输出应标记为 AI 合成。官网截图若使用合成人像与虚拟摄像头,应写清素材来源和实测边界;不得暗示真实人物已授权或外部平台已开播。
27
- - 低端设备可以先合成片段、缓冲后播放;必须把该策略写入 UI 和文档。不能用静态图循环、音量驱动嘴型或测试桩冒充神经网络口型模型已经运行。
28
-
29
- ## 本机配对与吾码会话
30
-
31
- - DiyToken 仍是吾码身份与权限入口。数据请求使用平台 SDK、当前租户和真实模块权限;不要把 DiyToken 发往本机模型或其它第三方。
32
- - 若旧节点的 MCP 模块更新白名单不支持 ModuleEngineKey,不能以接口成功代替字段回读。可通过已有平台授权菜单接口的窄字段投影解析当前租户真实菜单 Id,携带 `_SysMenuId` 调用 FormEngine;不能写死发行租户 Id、放宽表权限或绕过标准 MCP 写入。
33
- - 本机运行时只监听回环地址,另用随机配对码换取有期限、绑定 Origin 的本机会话。配对码、内部模型密钥和访问会话不出现在 URL、云端业务列或日志中。
34
- - 同源浏览器的 JSON 配对 POST 可以带 `Origin`,后续同源 GET 可能省略该头;网关校验缺失头时应以已验证的回环 Host 和 scheme 还原同源,显式跨域 `Origin` 仍须与配对来源完全一致。OBS 浏览器来源应回读 `peers>0` 和有画面、有音轨的实际录像,不能只看配对按钮被点击。
35
- - CORS 使用精确 Origin 列表,同时校验 Host;需要浏览器本地网络权限时明确给出诊断,不以通配 CORS 或绑定公网地址规避限制。
36
- - 前端不开放任意 Endpoint、文件路径、命令、RTMP shell 参数或 Python 代码。模型输出只是待播报文本,不能执行 V8、SQL 或操作业务数据。
37
- - 本机媒体任务可由当前租户 Managed 接口引擎先验证 DiyToken、菜单/表读取权限、模式与稳定 requestId;接口仅返回本机执行契约,媒体字节只送往已配对的回环服务。租户 Hook 用 CreateIfMissing 保留扩展点。不能把远端接口返回成功当作本机视频已生成。
38
- - 手机摄像头接入优先让手机 HTTPS 页面与电脑浏览器在同一局域网经 WebRTC 直传媒体,再由电脑浏览器访问回环服务;不要把回环地址绑定公网,也不要把摄像头字节送到 V8。MCP 接口引擎可以用同一登录用户、租户和真实菜单权限交换短期 SDP,房间码绑定用户且限时,单条 SDP 长度受限,相同 SDP 重试幂等、不同 SDP 拒绝接管。SDP 控制信息经过吾码服务器,应如实披露;无 TURN/STUN 版本只承诺局域网可达,不能承诺跨网或被客户端隔离的 Wi-Fi 可用。
39
- - 请求使用稳定 requestId;相同请求返回原任务,参数改变则拒绝。队列有界、停止可见、失败可诊断;状态与文件回读一致后才标为完成。
40
-
41
- ## 源码交付
42
-
43
- - `.gitignore` 不等于 MCP 源码同步排除。必须在 `.microi-micro-app.json` 显式声明 `SourceExcludes`,排除虚拟环境、模型、凭据、人像、生成媒体、缓存和本机运行日志。
44
- - 运行时源码、固定依赖、模型 lock、安装/启动/停止脚本和测试进入私有源码;编译产物进入公有运行目录。应用包不得带发布者的配对码或设备配置。
45
- - 官网完整交付文档维护在独立菜单 `microi.doc/docs/doc/system-engine/digital-human-live.md`;`ai-engine.md` 的 `self-hosted-digital-human-live` 锚点保留入口链接。功能截图从真实页面组件采集并检查原始像素;使用隔离示例数据时必须在图内和文案中明确标注,不能把它称作线上租户数据或真实开播效果。
46
- - MCP 已有应用发现、Manifest、元数据、源码同步和 v3 发布能力时直接复用,不为重复流程新增工具。交付记录明确四项状态:应用包、官网源码、Skills、MCP 复用/变更。
47
-
48
- ## 验收
49
-
50
- 1. 用 MCP 计划、dry-run、写入、结构回读,并验证业务新增/读取/修改/删除及权限拒绝。
51
- 2. 真模型生成中文音频,检测非静音、采样率与时长;真实口型模型生成帧,检查嘴部变化和图像输出。
52
- 3. 音频与视频探针校验时长、帧率、画面尺寸;WebRTC 接收者实际收到音视频,并检查浏览器播放。
53
- 4. 测试错误配对码、未授权请求、非白名单 Origin、请求重放冲突、队列上限、停止、模型缺失与外网拒绝。安全测试桩与真实模型验收分别记录。
54
- 5. 桌面/窄屏/深色界面、空态、失败态、素材 CRUD、菜单生命周期与输出页实际操作通过。
55
- 6. OBS 捕获和外部平台开播独立验收。OBS“媒体来源”循环播放已生成 MP4,只证明片段可被 OBS 录制;浏览器来源需要确认配对面板消失、服务端 WebRTC `peers` 大于 0,且 OBS 录制回读有真实音画,才能判为实时接入。未提供直播账号、推流地址或密钥时完成本机输出,明确外部直播未验证,不请求无关账号,不伪造“已开播”。
56
- 7. 换脸/照片动作另外验收:实际输入照片和视频,核对生成视频帧数、时长、人物和服装区域变化;分别验证神经网络头像、实验性二维只换脸和实验性二维服饰动作的实际模型路径与质量。浏览器摄像头或虚拟摄像头需检查帧回传和所选模式确实传入本机运行时,不把 4K 页面截图或视频编码帧率说成 4K 实时推理。
57
- 8. 手机链路先在两个独立浏览器会话检查信令与 WebRTC `inbound-rtp` 的解码帧,再检查电脑回环推理画布与停止释放;进一步用实体手机同网实测摄像头授权、屏幕锁定、断线重连、长时帧率和 OBS 捕获。浏览器模拟的窄屏截图不能替代实体手机验收。
58
-
59
- 验收报告保留应用版本、模型 revision、真实设备、内存/显存峰值、生成帧率、等待时间和媒体摘要,不能只写“接口成功”。
1
+ # 自建数字人直播交付规范
2
+
3
+ ## 先确定运行边界
4
+
5
+ 用户要求免费、自建、不扣 token 时,默认采用用户自己的推理设备。模型仍处理 token,但本机计算没有供应商按次账单;硬件、电费、存储和吾码自身部署成本不能省略。禁止静默使用 MiniMax、吾码中转、Edge TTS、ZeroGPU 或在线试用作为本地推理成功的证据。
6
+
7
+ 先盘点当前 MCP 的在线应用和实时 Schema,再读取目标应用源码。吾码负责话术、知识、角色、任务和记录,媒体运行时负责模型与音画。已有适合应用时扩展其页面,没有才创建 MicroService。业务表、字段、菜单和权限由 Manifest/应用包交付,不为数字人业务新增平台 Controller。
8
+
9
+ Windows 本机参考方案可采用 CPU 运行轻量 Qwen 与中文 TTS、CUDA 运行口型模型,并通过 WebRTC 向浏览器或 OBS 输出。若实现先生成片段再播报,应如实标注缓冲策略,不应描述成低延迟全双工数字人。输出帧率、模型生成帧率、首音延迟和总等待时间必须分开报告。
10
+
11
+ 照片驱动或视频换脸须先区分目标:只换脸保留驱动视频的身体和衣服;照片人物连同衣服动作需把源照片的人像区域随视频姿态形变。轻量关键点/二维形变不能凭空生成照片未拍到的部位,也不能保证大转身、遮挡或手部交叉的真实感。8 GB 显存设备不能因某模型的单个模块可运行,就推断完整生成链能实时运行;先核对权重许可与实测峰值,再承诺交互帧率。
12
+
13
+ 商业交付若要求零模型授权费,分别核查代码、检测器、关键点模型、生成权重和样例素材。InsightFace 代码许可与其预训练模型许可不同,不能因某个项目整体标记 MIT 就直接打包非商用检测权重。LivePortrait 可评估以 MediaPipe 替代 InsightFace 检测,但还须固定官方权重 revision 与 SHA-256,实测输出并保留其 MIT 声明。部分 FasterLivePortrait ONNX 权重能加载,却在普通 ONNX Runtime 的 5D `GridSample` 实际推理时报错;“加载成功”不是模型可运行的证据,需验证完整生成帧。
14
+
15
+ 换脸模型选型要追踪身份向量的来源:FaceFusion 官方清单标记 GHOST 为 Apache-2.0、CrossFace 为 OpenRAIL-M,但其当前人脸识别代码仍由标记非商用的 ArcFace 产生身份向量;INSwapper 本身也标记非商用。不能只检查最后一段 GHOST 权重就宣称整条链可零授权费商用。参见 https://docs.facefusion.io/introduction/licenses 与 https://github.com/facefusion/facefusion/blob/master/facefusion/face_recognizer.py 。本机曾试用神经头像输出做只换脸合成,24 帧约 6.66 fps,但胡须、头发和下颌接缝使身份不一致;该原型未发布,不计入交付。
16
+
17
+ 当前 `digital-human-live` v0.4.2 本机路线使用 FasterLivePortrait 的 ONNX 预处理、MediaPipe 检测和 LivePortrait 官方 PyTorch 生成模块,避开 InsightFace 检测权重与 ONNX 5D `GridSample` 限制。源码保留两方 MIT 文本,权重由 `runtime/portrait-model-lock.json` 固定 revision、大小和 SHA-256,下载后仅放入 `.local/portrait`。RTX 2080 SUPER 上的 W/G 生成模块用 CUDA 半精度自动混合精度后,24 帧完整 HTTP 任务实测 6.85 fps、480 × 640;UI 和文档应写成“神经网络头像预览/短片生成”,不得仅凭输出 MP4 的 12 fps 编码帧率承诺流畅实时直播。它保留源照片的衣服和背景,但不做全身服饰动作;原二维换脸与服饰形变应标为实验性。
18
+
19
+ ## 资源与模型
20
+
21
+ - 检查当前显卡、可用显存、内存、磁盘、已有进程和端口。不得为了腾显存结束未知进程。使用应用自己的 Python 环境,不修改共享环境。
22
+ - Windows 中文工作区中,部分原生 TTS / OpenCV 文件接口无法打开包含中文的绝对路径;优先在确定的运行目录中使用相对路径,并真实测试人像检测、语音生成与启动脚本,不能只测 Python 文件读取。
23
+ - 大文件固定官方仓库 revision、预期大小和 SHA-256;分段下载校验 Content-Range,支持原任务续传,下载完成后再加载。不把失败下载或仅安装依赖计为推理通过。
24
+ - 模型运行使用 `local_files_only` 和离线模式,无付费回退。运行时清除本进程继承的 HTTP/HTTPS/ALL proxy,避免本地代理成为外网旁路;随后限制外连。安装下载是独立过程,不全局修改用户代理。
25
+ - 权重许可、代码许可、人像/声音的使用权分别核对。研究测试素材仅用于本地研究验证,不放进公开应用包或默认当商业主播素材。
26
+ - 源人像与驱动视频需获得相应使用权,输出应标记为 AI 合成。官网截图若使用合成人像与虚拟摄像头,应写清素材来源和实测边界;不得暗示真实人物已授权或外部平台已开播。
27
+ - 低端设备可以先合成片段、缓冲后播放;必须把该策略写入 UI 和文档。不能用静态图循环、音量驱动嘴型或测试桩冒充神经网络口型模型已经运行。
28
+
29
+ ## 本机配对与吾码会话
30
+
31
+ - DiyToken 仍是吾码身份与权限入口。数据请求使用平台 SDK、当前租户和真实模块权限;不要把 DiyToken 发往本机模型或其它第三方。
32
+ - 若旧节点的 MCP 模块更新白名单不支持 ModuleEngineKey,不能以接口成功代替字段回读。可通过已有平台授权菜单接口的窄字段投影解析当前租户真实菜单 Id,携带 `_SysMenuId` 调用 FormEngine;不能写死发行租户 Id、放宽表权限或绕过标准 MCP 写入。
33
+ - 本机运行时只监听回环地址,另用随机配对码换取有期限、绑定 Origin 的本机会话。配对码、内部模型密钥和访问会话不出现在 URL、云端业务列或日志中。
34
+ - 同源浏览器的 JSON 配对 POST 可以带 `Origin`,后续同源 GET 可能省略该头;网关校验缺失头时应以已验证的回环 Host 和 scheme 还原同源,显式跨域 `Origin` 仍须与配对来源完全一致。OBS 浏览器来源应回读 `peers>0` 和有画面、有音轨的实际录像,不能只看配对按钮被点击。
35
+ - CORS 使用精确 Origin 列表,同时校验 Host;需要浏览器本地网络权限时明确给出诊断,不以通配 CORS 或绑定公网地址规避限制。
36
+ - 前端不开放任意 Endpoint、文件路径、命令、RTMP shell 参数或 Python 代码。模型输出只是待播报文本,不能执行 V8、SQL 或操作业务数据。
37
+ - 本机媒体任务可由当前租户 Managed 接口引擎先验证 DiyToken、菜单/表读取权限、模式与稳定 requestId;接口仅返回本机执行契约,媒体字节只送往已配对的回环服务。租户 Hook 用 CreateIfMissing 保留扩展点。不能把远端接口返回成功当作本机视频已生成。
38
+ - 手机摄像头接入优先让手机 HTTPS 页面与电脑浏览器在同一局域网经 WebRTC 直传媒体,再由电脑浏览器访问回环服务;不要把回环地址绑定公网,也不要把摄像头字节送到 V8。MCP 接口引擎可以用同一登录用户、租户和真实菜单权限交换短期 SDP,房间码绑定用户且限时,单条 SDP 长度受限,相同 SDP 重试幂等、不同 SDP 拒绝接管。SDP 控制信息经过吾码服务器,应如实披露;无 TURN/STUN 版本只承诺局域网可达,不能承诺跨网或被客户端隔离的 Wi-Fi 可用。
39
+ - 请求使用稳定 requestId;相同请求返回原任务,参数改变则拒绝。队列有界、停止可见、失败可诊断;状态与文件回读一致后才标为完成。
40
+
41
+ ## 源码交付
42
+
43
+ - `.gitignore` 不等于 MCP 源码同步排除。必须在 `.microi-micro-app.json` 显式声明 `SourceExcludes`,排除虚拟环境、模型、凭据、人像、生成媒体、缓存和本机运行日志。
44
+ - 运行时源码、固定依赖、模型 lock、安装/启动/停止脚本和测试进入私有源码;编译产物进入公有运行目录。应用包不得带发布者的配对码或设备配置。
45
+ - 官网完整交付文档维护在独立菜单 `microi.doc/docs/doc/system-engine/digital-human-live.md`;`ai-engine.md` 的 `self-hosted-digital-human-live` 锚点保留入口链接。功能截图从真实页面组件采集并检查原始像素;使用隔离示例数据时必须在图内和文案中明确标注,不能把它称作线上租户数据或真实开播效果。
46
+ - MCP 已有应用发现、Manifest、元数据、源码同步和 v3 发布能力时直接复用,不为重复流程新增工具。交付记录明确四项状态:应用包、官网源码、Skills、MCP 复用/变更。
47
+
48
+ ## 验收
49
+
50
+ 1. 用 MCP 计划、dry-run、写入、结构回读,并验证业务新增/读取/修改/删除及权限拒绝。
51
+ 2. 真模型生成中文音频,检测非静音、采样率与时长;真实口型模型生成帧,检查嘴部变化和图像输出。
52
+ 3. 音频与视频探针校验时长、帧率、画面尺寸;WebRTC 接收者实际收到音视频,并检查浏览器播放。
53
+ 4. 测试错误配对码、未授权请求、非白名单 Origin、请求重放冲突、队列上限、停止、模型缺失与外网拒绝。安全测试桩与真实模型验收分别记录。
54
+ 5. 桌面/窄屏/深色界面、空态、失败态、素材 CRUD、菜单生命周期与输出页实际操作通过。
55
+ 6. OBS 捕获和外部平台开播独立验收。OBS“媒体来源”循环播放已生成 MP4,只证明片段可被 OBS 录制;浏览器来源需要确认配对面板消失、服务端 WebRTC `peers` 大于 0,且 OBS 录制回读有真实音画,才能判为实时接入。未提供直播账号、推流地址或密钥时完成本机输出,明确外部直播未验证,不请求无关账号,不伪造“已开播”。
56
+ 7. 换脸/照片动作另外验收:实际输入照片和视频,核对生成视频帧数、时长、人物和服装区域变化;分别验证神经网络头像、实验性二维只换脸和实验性二维服饰动作的实际模型路径与质量。浏览器摄像头或虚拟摄像头需检查帧回传和所选模式确实传入本机运行时,不把 4K 页面截图或视频编码帧率说成 4K 实时推理。
57
+ 8. 手机链路先在两个独立浏览器会话检查信令与 WebRTC `inbound-rtp` 的解码帧,再检查电脑回环推理画布与停止释放;进一步用实体手机同网实测摄像头授权、屏幕锁定、断线重连、长时帧率和 OBS 捕获。浏览器模拟的窄屏截图不能替代实体手机验收。
58
+
59
+ 验收报告保留应用版本、模型 revision、真实设备、内存/显存峰值、生成帧率、等待时间和媒体摘要,不能只写“接口成功”。
@@ -124,6 +124,17 @@ Inspect 和 Publish 使用完全相同的选择、`CommittedProof` 及运行清
124
124
  唯一性和有序列集合,并测试业务重复键拒绝及重复安装不复制索引。母版存在索引、
125
125
  应用页面正常、安装任务成功均不能单独证明目标库的索引完整。
126
126
 
127
+ SQL Server 安装 MySQL 可空唯一键时,必须先同步本包物理列,再按目标库真实
128
+ `IS_NULLABLE` 为每个可空键列生成 `IS NOT NULL`,复合键条件用 `AND` 连接;全部必填的
129
+ 唯一键和普通索引不增加过滤。包显式 `SqlServerFilterColumn` 保持声明语义。目录读取失败、
130
+ 列缺失或元数据歧义必须在索引写入前停止,禁止猜测空值规则。
131
+
132
+ 安装器只可原子修复同名、同有序键、有效的普通非聚集唯一索引缺少或不完整的可空过滤,
133
+ 使用 `DROP_EXISTING` 后立即严格回读;不得改写主键、唯一约束、其它过滤表达式或未知定义。
134
+ 真实非空重复键仍失败,禁止删改业务行、去掉唯一性或吞异常。同版本重装核对定义后复用。
135
+ 回归必须包含旧行为多个 NULL 失败、新行为成功、复合可空键、必填键、历史索引修复、列先行
136
+ 同步、真实重复键拒绝和重装零重复 DDL;真实 SQL 执行与模拟测试分别保留回执。
137
+
127
138
  ### 空库清理与开发期应用
128
139
 
129
140
  安装包应显式登记菜单、表、接口、工作流、任务和微服务的完整归属,供导出、升级和空库制作共同使用。开发期只发布运行资产而尚未制包时,不能假定商城选集已经覆盖新建业务表;应通过现有空库规则接口预览,逐项核对实际物理表、DIY元数据、菜单后代与接口Key。缺失时在责任清理器补充有限、明确的业务归属识别,保留平台核心白名单,读取失败停止制作。只生成SQL与在隔离临时库执行清理是不同动作,禁止在源主库执行脱敏SQL。