完善智能体交互与画布美术生成
为 Supervisor 与部门 Director 接入统一 Interaction Loop 和持久 Runtime 调度 在配置画布 API Key 时强制委派美术 Agent 并复用规范素材 收紧画布生成角色权限、图片内容校验和项目锁并发边界 完善专业 Agent revision 验证、任务恢复与 Provider 兼容处理 补充自主协作、真实画布生成、运行时收束测试及技术文档
This commit is contained in:
@@ -88,6 +88,8 @@ V1.47 在只读工具边界和 batch v3/v2/v1 恢复终审修复后的最新独
|
||||
|
||||
2026-07-23 起,开发验收提供两个根级短入口。`npm run agc:test` 直接委托现有确定性可玩塔防 E2E,不复制 Runtime harness;`npm run agc:test:chat` 自动发现 Tauri identifier `world.genarrative.ai-game-creator` 对应 AppData,把 `game-creator.config.json` 和存在时的 `game-creator.config.local.json` 私有复制到单次 sentinel 隔离 AppData,绝不复制正式 Runner endpoint、lock、备份或其它文件,再创建带私有 sentinel 的一次性项目。LLM 状态检查和 `--swarm-chat --init --autonomous-game-build` 都只使用隔离 AppData,因此当前 debug 二进制指纹变化不会探测、退役或阻塞正在工作的正式客户端 Runner。用户只输入需求并发送 EOF;正常收束且存在 `game/index.html` 后,通过仅开发 CLI `--preview-serve` 复用正式 localhost preview server,自动打开固定形态的 loopback 试玩地址。预览按 `Ctrl+C` 结束后,脚本通过内部 `--runner-shutdown-if-idle` 只关闭已空闲的隔离 Runner,确认 endpoint 消失后再验证 sentinel 并清理隔离 AppData 和项目;隔离 Runner 仍有任务、退出失败、Swarm 未收束或预览启动失败时保留对应现场,不能强杀或误删。`--keep-project` 可主动保留项目但不额外保留已空闲的隔离配置;显式 `--project-dir` 永不删除,非空未初始化目录拒绝,`--config-dir` 只表示绝对配置来源目录,`--project-dir` 也只接受绝对路径。该人工入口用于快速体验,不能替代真实外部 Provider E2E 的完整生命周期、隐私和残留门禁。
|
||||
|
||||
2026-07-24 起,`--swarm-chat` 的普通自然语言不再由 CLI 关键词表预分类为 Chat / Execute / Resume。Project Supervisor 与六个部门 Director 进入同一个轻量 interaction loop:模型可以直接回复,或从统一 capability registry 中选择 `project_location / runtime_execute / runtime_resume`;`runtime_execute` 不接收模型改写后的任务正文,宿主始终把原始用户消息提交给持久 Runtime。显式 `/status /goal /resume` 继续属于确定性控制面。匹配 Session 已有 busy Runtime 或 active Goal 时,新消息不启动旁路 Provider,也不直接改写同一 canonical Session,而是进入原 run 的 durable steer;所有 Runtime mutation 继续要求项目外 `--config-dir`、External Runner、Agent task lock、Session lane、权限、确认、revision、verification 和 finalization 门禁。该 interaction registry 是 Pi 风格小内核与可组合工具边界的第一步,不代表现有 Runtime 工具已经完成单一 registry 迁移,也不允许把安全不变量下放到 Prompt、Skill 或模型判断。
|
||||
|
||||
2026-07-15 起,Runtime V1.1 文档的“V1.17 单 Agent 持久计划”作为后台工具规划进度的新事实源。`submit_agent_tool_plan` 新增 nullable `planUpdate={explanation,steps[{step,status}]}`;步骤只接受 `pending / in_progress / completed`,最多 8 步且至多一个 `in_progress`。结构化计划一旦建立,legacy `plan` 只作旧协议 fallback;终态步骤必须保留,`planRevision` 只在真实变化时单调递增,工具 action 下标不得自动完成结构化步骤,存在未完成步骤时不得写最终回复或 completed。
|
||||
|
||||
V1.17 计划快照随 `game-creator-runtime-context-bundle.v3` 持久化,v2 在通过原身份、revision 和 verification gate 校验后从当前 Runtime state 补齐计划字段继续恢复;计划元数据本身不推进项目 revision、不改变 verification gate,也不触发项目权限确认。开发 UI 和 CLI 有界展示 revision、说明与完整 8 步;正式用户的 Supervisor 只展示完成数、当前步骤、等待对象、下一步和协作数量的紧凑摘要。恢复、same-run steer 和真实 Provider 的完整验收矩阵以 Runtime V1.17 章节为准;2026-07-16 已在当前 v5 context 上完成正式 `openai_chat / gpt-5.5` 的同 run steer + Runner 强杀恢复专项,门禁状态为 PASS。
|
||||
@@ -650,6 +652,8 @@ game-project/
|
||||
- 2026-07-16 起,同一 Runtime 文档的“V1.26 Provider 原生工具目录”作为 OpenAI-compatible planning 协议事实源。Chat / Responses 不再只广告 `submit_agent_tool_plan` 包装函数,而是直接提供 `update_agent_plan`、`respond_to_user`、全部内置 Runtime action 和动态 MCP function;每个函数使用独立 schema,Runtime 继续负责身份、权限、确认、沙箱、revision、验证、恢复与副作用防重放。Anthropic 与历史 fixture 保留 text JSON / wrapper 解析兼容,但新请求和 repair 不能静默降级。plan-only 是合法持久 checkpoint,未完成计划仍阻止最终化。
|
||||
- 2026-07-16 V1.26 已完成真实验收:正式 `openai_chat / gpt-5.5` 的 `project-skill` suite 中 9/9 个成功工具计划与 6/6 个格式修复全部使用 `native_runtime_tools`,wrapper/text fallback 均为 0。Agent 自主读取匹配 Skill、只改唯一目标文件并完成 Agent/宿主双重验证;15 个 tool-plan 和 1 个 final-reply lifecycle 唯一闭合,最终 assistant/completed 各 1,重复、Skill 正文、API Key、诱饵、项目/配置路径和报告泄漏均为 0,隔离 Runner/AppData/项目完整清理。
|
||||
- 2026-07-16 V1.26 后重新加强并复验 `goal-runtime`:Goal suite 现在把成功计划、repair、call metadata、wrapper/text fallback 和协议审计零 payload 纳入硬门禁。正式 `openai_chat / gpt-5.5` 最终复跑的成功计划 21/21、repair 17/17 全为 `native_runtime_tools`;Goal edit、旧动作失效、真实失败修复、pause、Runner 强杀、显式同 run resume、verification、finalization 和唯一回复全部 PASS,重复、重放、正文、密钥、诱饵与路径泄漏均为 0。Goal 阶段等待同时增加 terminal fail-fast,Provider transport failure 不再占满 30 分钟验收超时。
|
||||
- 2026-07-24 补充:`agc:test:chat / autonomous-game-build` 不再只因 `game/index.html` 可试玩就跳过已配置的画布能力。有效运行时配置存在 `editorApi.apiKey` 且项目尚无规范 `canvas / image/* / art-spritesheet` 本地素材时,缺省 Supervisor 首批协作固定加入 `art-asset-plan`,并要求真实交付 `assets/art-spritesheet.png`;该 Agent 继续通过 `canvas.asset_generate` 把结果同时写入 External Editor 画布、素材库、本地 assets 与 manifest。已有有效首版素材的后续修复轮不重复生成或扣费。该工具仅在自主构建 profile 的 `design-foundation / art-asset-plan` 视觉职责中作为固定 auto-safe 动作,Supervisor、程序和其他非视觉 Agent 一律拒绝,避免同一路径并发生成和重复扣费;普通模式和显式 deny 不变,Key 缺失时不伪造图片产物。
|
||||
- 同一轮程序与美术并行时,External Editor 网络请求和图片下载不能持有 `.agent/project.lock`,请求阶段也不能借 `read_manifest_for_project` 补 seed task 或重写 manifest;只允许读取已初始化 manifest 的只读快照,下载完成后先校验声明图片类型的文件魔数,再取得项目锁提交固定路径、资产登记、revision 和验证凭证。视觉专业 Agent 按同一 run 的 `verifiedRevision >= mutationRevision` 完成交付,不受其它专业 Agent 后续推进全局 revision 的影响,也允许在更晚 revision 复验;Supervisor 的静态自检和浏览器试玩仍必须精确覆盖最新全局 revision。已有自定义项目协作策略只补缺失的 `art-asset-plan`,不额外注入缺省程序/质量职责;规范素材复用额外要求本地文件具备有效 PNG 签名,损坏占位不能阻止重新生成。
|
||||
- 2026-07-16 起,V1.27 只允许同一 Agent 把连续 2-3 个自动批准的严格只读 action 组成持久并行批次。首版白名单为 `memory.read / conversation.read / asset.list / project.search / project.diff / git.inspect / file.list / file.read / task.list`;写入、确认、命令/进程、验证、生成、MCP、Git commit、委派和回执认领仍按 Provider 顺序串行。批次用项目一致性锁形成 steer/Goal/取消的线性化边界,物理读取由独立工作线程重叠执行,observation/task/event/receipt/context 仍按 Provider action index 稳定投影;`executing` Runner 恢复只重放严格只读观察,`observed` 只补投影。
|
||||
- V1.27 的 8 项确定性回归已证明:2 个读取真实非空重叠;第二个物理读取先结束时仍按 Provider 顺序投影;3 个动作 `executing` 恢复保持原 actionId;`observed` sidecar、部分公共投影、部分 context 和删除 sidecar 前故障都从持久前缀继续且零重复;确认策略阻止自动批次;取消、Goal/repository drift 阻止旧读取重放;steer 先获得锁时旧批次零执行,批次先获得锁时 steer 等到全部读取 observed 后才接受。正式 `openai_chat / gpt-5.5` 的隔离 `parallel-read` suite 同样 PASS:真实模型同轮提交 2 个独立 `project.search`,物理重叠 `10,969,247ns`,4/4 个成功工具计划与 2/2 个 repair 全为 `native_runtime_tools`,6 个 tool-plan 与 1 个 final-reply lifecycle 唯一闭合,最终 assistant/completed 各 1;重复、正文/API Key/诱饵/项目与配置路径泄漏均为 0,Runner/AppData/项目完整清理。V1.27 当前真实行为门禁为 PASS。
|
||||
- 2026-07-16 起,Runtime V1.1 文档的“V1.28 Project Supervisor 合同委派与单回复收束”作为正式用户多 Agent 协作的当前编码事实源。`project-supervisor` 是正式用户唯一默认对话和最终回复 Agent;专业 Agent 与 child 只生成内部回执、摘要和证据,开发直调入口不改变该边界。
|
||||
|
||||
Reference in New Issue
Block a user