深度重构(创始人批:settled 7域现在做/生成域待协调/FOLD源git rm/_archive只增/无日期主题名/canonical=子系统SoT)。 分析=10主题簇 opus fan-out(1.1M tok);计划经 opus 对抗评审 GO-带必修(prompt活档补回/总账§6取证搬归档不压删/git-status划波)。 7 子系统 canonical(子系统SoT·一域一档·≤150行·砍历史过程·留现行架构+目标+现状+指针): - agentic编排-SAA / 引擎与运行时 / 开闸验收门-W-G1 / 渠道发行 / studio前端设计体系 / 变现与单位经济 / 战略与合规 - prompt治理体系-execution = KEEP(Prompt第8契约,已是canonical形态) 源档处置(Phase A settled,全committed): - FOLD 15 + DELETE 1 → git rm(活内容已蒸进canonical,git历史留存) - ARCHIVE 10 → _archive/(收口报告/取证账本) - 顶层 dated 档 42→17(剩生成域Phase-B + 治理 + KEEP dossier) 总账(评审M2:不压删):§6波次史42行整段搬 _archive/总账-波次史归档.md(一字不丢)+正文留里程碑摘要+指针。 _index 重构为 canonical 导航;skills+mvp 6档断链→canonical;活档归档引用→_archive。 Phase B(待协调,本次不动):生成主线/固定架构/产品路线图——含他session 06-17在飞WIP,红线不擅动。 留痕:docs/agent-specs/2026-06-17-agent-specs深度重构-plan.md(计划+opus评审) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
12 KiB
渠道发行 · canonical(子系统 SoT)
类型=canonical 活档(子系统单一事实源)· 更新 2026-06-17 取代=2 份历史 spec(渠道适配判定 / W-CH-α 渠道引擎对比 spike-execution,已 FOLD 删或归档,见 git 历史与
_archive/) 读法=读本档即知现行真相;深落地见.agents/skills/runtime-and-multichannel.md,决策史见 git。
0. 一句话定位 + 现状横幅
渠道发行(HJ-CH-001)= 微信/抖音小游戏「一壳多游·L1 精选整包过审」的分发面:单 appid 内固定模板代码 + 远程 GameConfig 纯数据,自有 feed 呈现,不互跳不外导,对外口径=「主题小游戏合集」而非开放 UGC 平台。自研 H5 流 = UGC 海量生成与 L2 改码的主场(浏览器对动态生成代码无禁令)。
现状:判定定稿(HJ-CH-001,06-12) + 三项创始人拍板;引擎竞标 W-CH-α P0 段五产物已交付(验证门 6/6 PASS,bb12d30c);P1 真机段暂停,待创始人三件套(微信 AppID + Win/Mac + 安卓真机)。对外措辞统一=「自研流即时发布 + 双渠道精选发行」(可行性方案原文已同步更词,含 15KB 滞留引用更正)。
1. 为什么这么分工(决策理由·精炼)
- L1-only 根因①(技术):浏览器无动态代码禁令 → 自研 H5 是 UGC 主场;微信/抖音对远程包自动剥离代码 + 明文禁 JS 解释器(eval5 等) → 渠道只能跑「包内固定模板代码 + 远程 GameConfig 纯数据」。
- L1-only 根因②(审核颗粒度):渠道审核针对「游戏内容」非 appid,故海量 UGC 各自上渠道不可行。
- L2/L3 渠道命运:默认主线=自研 H5 流(即时生成发布闭环完整);上渠道仅以「精选款固化进包版本提审」或「一游一 appid(B 端/IP 旗舰/爆款)」。每款游戏=agent 独立代码 → 常规新游戏随壳版本节奏整包入渠道,与「精选整包发行」口径自洽。
2. 合规闸门(L1 能落地的硬约束)
平台规则核查的活结论(置信度逐项与 source URL 索引已删,留 git 历史与 §7 指针):
- IAA 免版号通道有效:纯 IAA 走「软著/电子版权认证 + 自审自查 + ICP 备案」上架(资质审核 1-3 自然日),个人主体可上架可开流量主,版号仅内购强制;但审核员裁量补版号判例真实(纯广告游戏被要求补材料,25-26 政策敏感区,落地前复核)。「4-6 月集中清退无版号存量」=谣言解除。
- ⚠️ 备案锁=决定性闸门(比版号紧):官方「备案完成后不支持改游戏内容/icon/代码,实质变更须重新备案」→ 一壳多游从「灰区可行」降级为「高风险待裁」(壳合规≠内容合规)。三出路:(a) 精选款每游独立备案;(b) 壳内游戏集稳定化,变更统一走「重新备案 + 整包提审」月级节奏;(c) 并入 W3 律所议题裁。「当日热发新游进渠道」叙事收回——热发仅限既有游戏的非实质参数微调(边界待律所)。注:不影响自研 H5 流(无备案锁)。
- 公测=运营(草案未生效法):出处=新闻出版署《网络游戏管理办法(草案)》第 21 条,截至 2026-06 仍草案。灰测合规出口=≤2 万人 + 不接广告 + 报备删档——写入发布流程红线(种子创作者外测若挂广告即属「运营」须先备案)。
- 抖音口径:一软著一游戏 + 备案=上架前置(平台代为申报,非「先上线后备案」);两平台对齐,未见 2026 额外收紧。
- 题材黑名单:棋牌/捕鱼即便 IAA 也需律所季更合规报告 → 列入生成侧题材审查(生成前)。
- 运营事实(保留一行):流量主门槛 UV≥1000;IAA 分成 微信 50%~90% / 抖音 70%~90%(穿山甲/巨量)。
3. 现行架构:Channel Runner v1 + GameConfig 合规红线
渠道线不复用 Runner v2,新增双形态(feed 侧 LittleJS 终裁不动,本面只裁渠道线):
flowchart LR
subgraph 包内随提审[壳工程随包提审 · 微信/抖音各一]
A[渠道SDK/广告/遥测/<br>canvas-input-audio-storage<br>四件 adapter] --> B[模板注册表<br>templateId 仅命中包内白名单]
B --> C[L1模板代码 + 核心层 + SDK<br>全部随包]
end
D[(远程 GameConfig<br>gameId/versionId/configHash)] -->|schema+hash 校验后实例化| C
C -->|SDK postMessage→同上下文直连<br>ad.showRewarded 直调 wx/tt API| E[平台 wx/tt 运行时]
F[安全边界:静态代码扫描<br>+schema红线+域名白名单<br>+包hash+真机取证] -.替代 iframe+CSP.- C
GameConfig 合规红线(渠道生死线,转正即 9c 契约):禁一切可执行/可解释串(condition:"score>10" 类);禁远程 entry/templateUrl/WASM/JS/HTML/脚本化 SVG;剧情/关卡=有限状态机枚举(conditionType+params / actionType+params)禁通用 DSL;templateId/actionType/assetId/adSlotId 全枚举白名单;schema additionalProperties:false + 数值/长度/MIME/大小全限制;远程素材仅图音/atlas/json + hash + 白名单域名。
广告:showRewarded(slotId) → wx/tt.createRewardedVideoAd(slotId→adUnitId 映射,additive 增 showBanner/hideBanner);rewarded=true 只认平台完整观看回调,兜底奖励必须标 reward_fallback=true 不得伪造广告收益。9g 遥测补渠道字段:channel / channelAppId / adUnitId / logicalSlotId / packageVersion / configHash / requestId / ad_event_type / platform_callback / settlement_batch。S2 七锚点渠道版=t_launch→t_runner_boot→t_canvas_ready→t_sdk_ready→t_config_loaded→t_first_paint→t_input_bound→t_game_start。
4. 生产管线形态(三层·Win/Mac 依赖只在一层)
回答「Cocos 不能跑服务器,生产怎么办」——Win/Mac 依赖只在第②层、且仅当 C-B 胜出:
- 每游戏生产(高频主路径)= 纯数据零构建:GameConfig + 资产由 Linux 工厂全自动产出热下发,不碰引擎构建(禁动态代码倒逼的架构红利)。
- Runner 壳版本发布(周/月低频):C-A(LittleJS)=esbuild 纯 Node 全 Linux(P0 已实证);C-B(Cocos)须 Win/Mac 构建机(Mac mini/云 runner,真实运维成本、非阻断)。
- 上传提审(平台强制低频):微信官方
miniprogram-ci(纯 Node 可 Linux 无人化上传/预览);抖音 tt-ide-cli 同类【待 P1 核实】。
绕不开人工的只有平台审核节奏本身,与引擎无关;spike 三件套是 P1 人工取证阶段需求,非生产常态。
5. 渠道引擎竞标(C-A LittleJS+adapter vs C-B Cocos 原生导出)
层不锁引擎、场景锁默认 LittleJS + 复议权(创始人 06-12);feed 侧 LittleJS 终裁不动。候选二选定稿(LayaAir 尽调出局,见末段)。统一场景=同一 L1 模板(tycoon 主测 + clicker 边际成本测量) + 字节级相同 GameConfig(公平性红线,禁为某候选单独调参),微信/抖音双端各出一包;clicker 仅进 G1 体积与「每模板边际」计分、不进真机门(时间盒)。
| C-A | C-B | |
|---|---|---|
| 引擎 | LittleJS 1.18.x(锁 T1 终裁版本)+ 自研 weapp/tt adapter | Cocos Creator 3.8.x(锁精确小版本写入 REPORT) 原生导出 |
| 入包 | 壳+adapter+engine(tree-shaken)+核心层+双模板+基础素材 | 壳(官方模板冻结基线)+core+双模板同左+基础素材 |
| 出包 | 微信+抖音各一包 | 同左 |
决策规则:adapter 全门过且维护面可控 → 单代码库优先(模板工艺只做一次);adapter 脆或体积/性能出线 → Cocos 接渠道线(复用 Tier2/3 既定投资),GameConfig 引擎无关保工厂不分叉。翻盘条件:被裁方在真机/审核出现对方没有的结构性阻断,持证据复议。
计分维:G1-G6 通过数 / 主包余量 / 真机首屏≤2s / 双实现成本三列(首模板迁移一次性 · 后续模板边际〔clicker 增量实测〕· 平台 API 漂移维护归属) / agent 友好度(纯代码 vs 编辑器+MCP) / 构建管线服务器化。敏感性分析必含两变体:①裁量维拉平 ②剔除首模板一次性迁移成本(防「单代码库」被一次性成本系统性抬分)。
公平性生命线(优于一切产出):共用只读 channel-probe(lane 禁改,主会话 diff 校验) + 八锚点字段级定义 + JSONL 哈希链主证(seq/单调时钟/前条哈希/device/configHash) + 真机禁状态注入(全程禁 evaluate/调试器改状态);主证据=机器可校验文件,录屏/截图一律降辅证。
LayaAir 尽调出局(写死,复评前不重问):①无 MCP/agent 工具面(其「AI 引擎」=IDE 内嵌人工 AIGC,AI 代码生成官方标「规划中」),反观 cocos-mcp 158 工具已成熟;②体积比 LittleJS(~55KB gz)重一到两个数量级。复评触发条件=LayaAir 出现官方/成熟社区 MCP server,或官方公布 2D-only 小游戏核心体积数字且 ≪ Cocos。
6. 当前 objective 与现状(done / 在飞 / 待办)
- DONE:判定定稿(HJ-CH-001) + 三项创始人拍板——C1 分工口径「自研流即时发布 + 双渠道精选发行」;C2 一壳多游以渠道合规为准绳(默认月级「重新备案+整包提审」,若律所判须每游独立备案则照办,合规优先于经济性);C3 W-CH-α 升级为渠道引擎对比竞标制。W-CH-α P0 先行段五产物已交付(adapter v0 + SIZES + 合规 schema + 扫描器 30 用例〔15 合规/15 违规〕+ Channel Runner 壳骨架 + channel-probe + RUNBOOK,验证门 6/6 PASS,bb12d30c)。
- 在飞(暂停):W-CH-α P1 真测段七门——G1 装载(主包≤4MB) / G2 模拟器全循环 / G2b 真机真输入(双端×双候选各 3 次真触摸完成 tycoon 闭环含终局) / G3 真机首屏(三开协议,判定值=杀进程冷开 t_launch→t_game_start ≤2s) / G4 广告五路径(success/close-before-complete/load-fail/timeout/no-fill) / G5 审核门(预检计分 + 真实提审观察项,驳回归因分类 engine/package/compliance 计入·资质/类目/IP 入残差) / G6 网络门(仅白名单域名)。硬前置=创始人供三件套(微信 AppID + Win/Mac + 安卓千元机 + 测试号)。
- 待办:W-CH-β 渠道线建设(壳工程×2 → 分发中台〔一壳多游·主题合集口径〕→ 广告 adapter + 9g 字段 → 渠道评估门),spike 过门后开。非工程前置(🧑/律所)=一壳多游类目报备 / 软著申报节奏 / H5 站资质律所结论(挂 W3) / IAA 政策敏感区上线前复核。
7. 关键指针(契约/代码/skill/git/上游)
- 代码资产(KEEP,勿误清理):
docs/agent-specs/2026-06-12-channel-spike/——三 lane:lane-littlejs-adapter/(src/test + REPORT/SIZES/RUNBOOK) ·lane-cocos/·shared/(channel-probe.js / runner-shell.js / game-config / schema,只读区 lane 不得改)。P0 产物 + P1 执行册,作为 spike 资产保留。 - 契约:GameConfig channel schema 转正候选 →
contracts/game-package.schema.json的 9c;遥测渠道字段 → 9g。 - skill:
.agents/skills/runtime-and-multichannel.md§6 多渠道导出。 - 上游回写:HJ-GEN-001 D13/§3/§7、
.agents/knowledge/tech-decisions.md§1.1(导出枢纽=微信小游戏格式包;快手无专用接口走「微信格式兼容转换」;LayaAir 清单无快手)。 - 终裁物:渠道引擎计分终裁包(格式同 T1:计分表 + 裁量分声明 + 敏感性分析 + 翻盘条件,P1 跑完后产出 → 过 Codex 审 → 创始人终裁 → 回写 HJ-CH-001/HJ-GEN-001 → wave-close 七步收口)。A1 可溯 source URL 索引留判定 doc 原档 git 历史。