Commit Graph

1238 Commits

Author SHA1 Message Date
k88936 49e872a64d 修复错误报告提交与本地确认解耦
服务端报告成功后立即反馈成功,不再让本地队列 ack 失败覆盖提交结果。

为同一批事件复用稳定 submissionId,并对本地 ack 增加有限重试和日志记录。

补充客户端回归测试与错误报告链路文档。
2026-09-02 14:20:34 +08:00
k88936 97eabbf4c6 Merge remote-tracking branch 'origin/master' into feat/error-report
Project CI / Repository checks (pull_request) Failing after 1m40s
Project CI / Frontend tests (pull_request) Failing after 2m37s
Project CI / Backend tests (pull_request) Failing after 5m16s
Project CI / Native shell tests (pull_request) Failing after 5m26s
# Conflicts:
#	apps/ai-game-creator-shell/src-tauri/src/main.rs
#	apps/ai-game-creator-shell/src-tauri/src/ui_editor/commands/merge.rs
#	apps/ai-game-creator-shell/src-tauri/src/ui_editor/commands/recognition.rs
#	apps/ai-game-creator-shell/src-tauri/src/ui_editor/commands/ui_design_suggestion.rs
#	docs/technical/【后台管理】多账号与Tab访问权限方案-2026-07-14.md
2026-09-02 11:09:42 +08:00
k88936 5120c7408c 修复错误报告权限与输入契约问题
错误报告查询和管理 procedure 增加 runtime service identity 授权。

删除 user_id 与 now_micros 旧输入字段并改用服务端身份和时间。

增加 fingerprint、source、管理员备注和凭据脱敏校验。

收紧错误报告 OSS 对象键范围并同步生成绑定与技术文档。
2026-09-02 11:03:03 +08:00
kdletters cb737cae94 修复 AGC Jenkins 空参数处理
Project CI / Repository checks (push) Successful in 3m44s
Project CI / Frontend tests (push) Successful in 4m34s
Project CI / Backend tests (push) Successful in 6m55s
Project CI / Native shell tests (push) Failing after 16m37s
COMMIT_HASH 为空时按空字符串处理

OSSUTIL_BIN 为空时按默认命令处理

补充 Windows 构建节点参数行为说明
2026-09-02 11:02:30 +08:00
k88936 3cde591b67 修复错误报告审查中的次要问题
Project CI / Backend tests (pull_request) Failing after 14s
Project CI / Repository checks (pull_request) Failing after 14s
Project CI / Frontend tests (pull_request) Failing after 3m16s
Project CI / Native shell tests (pull_request) Failing after 6m16s
修复后台错误报告刷新竞态、下载并发与查询参数构建复用。

修复错误报告清理分页、归档大小限制、分页总数和下载响应头异常。

修复 OSS 流式读取上限与 Codex 高频调试日志阻塞。

同步错误报告技术方案与项目决策记录,并在 review.txt 保留待决 breaking 项。
2026-09-01 23:37:36 +08:00
k88936 35ec049138 补齐 AGC Runtime 错误采集
Rust Runtime 终态失败、预算耗尽和启动确认失败统一进入错误队列

Direct Codex 与专业 Agent 前台裸 invoke 补充采集并统一上下文去重

归一化 Codex app-server 错误类别并新增回归测试与技术方案
2026-09-01 21:43:03 +08:00
k88936 de671b2e0d 修复 AGC 错误通知可重放展示
移除 Rust 错误队列 notified 状态与标记命令

将 error-report-updated 收敛为 generation 唤醒并补齐竞态重试

让 WebView 通过快照查询、重载恢复并新增回归测试

同步更新 AGC 错误报告技术方案
2026-09-01 20:30:26 +08:00
lhk229 b14e42d9bb AGC支持安装扩展skill、MCP (#233)
Project CI / Repository checks (push) Failing after 1m45s
Project CI / Frontend tests (push) Successful in 4m1s
Project CI / Backend tests (push) Successful in 6m55s
Project CI / Native shell tests (push) Failing after 16m22s
Co-authored-by: 段舒康 <kdletters@qq.com>
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/233
Co-authored-by: Linghong <ink29535@proton.me>
Co-committed-by: Linghong <ink29535@proton.me>
2026-09-01 20:13:48 +08:00
k88936 584eabd1fd 重构 AGC 错误报告为 Rust 队列
新增 Rust 内存错误队列、脱敏、通知聚合和 Tauri commands

前端改用 bridge,拆分通知与报告弹窗 UI

补充 Vitest、Rust 单测及错误报告技术方案
2026-09-01 19:52:27 +08:00
kdletters a7e810b999 添加 AGC 客户端更新检查与下载能力 (#230)
Project CI / Backend tests (push) Successful in 7m40s
Project CI / Native shell tests (push) Failing after 18m53s
Project CI / Repository checks (push) Failing after 1m11s
Project CI / Frontend tests (push) Failing after 2m27s
实现 AGC 启动版本检测与 OSS 安装包下载。

- 每次客户端打开时从 OSS latest.json 检查新版本
- 新版本提示支持 releaseNotes,并通过 Tauri 命令下载到系统下载目录
- 下载地址限制受信任 OSS、HTTPS、大小与可选 SHA-256 校验
- 补充 Tauri capability/CSP、单测和发布文档

Closes #224

Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/230
2026-09-01 19:23:55 +08:00
k88936 5315a3e338 移除错误报告手动入口
删除 /bug-report 聊天命令与崩溃页报告按钮

同步项目摘要文案和 AGC 错误报告方案
2026-09-01 19:04:24 +08:00
k88936 8b36b25f9d 重构错误报告为 OSS 与数据库链路
移除 api-server 本地文件存储并改为内存 ZIP 单请求上传 OSS

管理员查询详情下载改读 SpacetimeDB 元数据与 OSS 对象

增加 OSS 内部读取删除能力与每日过期清理

同步更新错误报告技术方案、表目录和决策记录
2026-09-01 18:05:56 +08:00
k88936 9c8c105585 同步错误报告分页与存储决策文档
记录 UUID OSS key、元数据索引和分页响应约定

从 review.txt 移除已完成的 2、4、5、6、9 项
2026-09-01 16:29:02 +08:00
kdletters 071faa482c 统一 Rust 与 TypeScript 格式化门禁
纳入 AGC Cargo workspace 的统一 rustfmt 检查与格式化入口

完成项目 TypeScript/Prettier 与 Rust 全量格式化

修复 Pingora expected executable 门禁的空白敏感误报

同步开发运维文档与 AGC skill pack 格式化忽略规则
2026-09-01 16:28:34 +08:00
k88936 d25f9b7f7f 同步错误报告诊断文档
记录指纹调用点、日志二次脱敏和后台预览行为
2026-09-01 15:24:25 +08:00
k88936 ae79d50b14 Fix/修复ui-editor调用llm与实际配置不一致 (#235)
Project CI / Repository checks (push) Successful in 2m54s
Project CI / Frontend tests (push) Successful in 4m56s
Project CI / Backend tests (push) Successful in 6m39s
Project CI / Native shell tests (push) Successful in 14m28s
复用统一的LLM调用, 原来的方法内部会默认不stream传输,
一些上游要求流式传输会出现问题

---------

Co-authored-by: 段舒康 <kdletters@qq.com>
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/235
Co-authored-by: 王德宇 <kvtodev@outlook.com>
Co-committed-by: 王德宇 <kvtodev@outlook.com>
2026-09-01 14:35:45 +08:00
suzmii f0142f7019 Close213/215 本地资源注册与后台表查询 (#232)
Project CI / Repository checks (push) Successful in 4m8s
Project CI / Frontend tests (push) Successful in 4m52s
Project CI / Backend tests (push) Successful in 6m35s
Project CI / Native shell tests (push) Successful in 16m33s
## 关联 Issue

- Close #213:补充本地资源注册类型
- Close #215:后台表查询添加字段查询

## 背景

本 PR 合并处理两个规模较小、已完成统一 review 的客户端与后台能力改动,整体已基于远端最新 master。

## 本地资源注册(#213)

- AGC 本地项目资源支持图片、字体、音频、视频、文档和代码类型。
- 支持 PNG/JPEG/WEBP/GIF/SVG/AVIF/BMP、TTF/OTF/WOFF/WOFF2、MP3/WAV/OGG/FLAC/M4A/AAC/OPUS、MP4/WEBM/MOV,以及常见文本、配置和源码扩展名。
- 同步更新 Direct Tool Bridge、MCP schema、Runtime/Provider Prompt、AGC Skill 文档和技术方案。
- 保留项目相对路径、敏感目录、符号链接、文件大小、字体解析、UTF-8、项目锁、manifest/revision 和幂等语义。
- 修复从 game 等目录复制到 assets/uploads 时扩展名退化为 .bin 的问题。

## 后台表查询(#215)

- 使用结构化筛选条件替换手写筛选 JSON。
- 支持多条件、比较、包含、前后缀、列表、空值和旧 JSON object 兼容。
- 优化预览表格、详情复制、Toast、JSON 预览和排序交互。
- 修复数字范围筛选,包括数据库字符串化数字的数值比较。
- 补充前后端回归测试与文档。

## 验证

- AGC 本地资源导入测试:6/6
- AGC Direct/MCP 工具测试:8/8
- 本地资源扩展名与 Prompt 映射回归测试通过
- 后台 admin 数据库测试:17/17
- 后台页面 Vitest:16/16
- `npm run admin-web:typecheck`
- `npm run admin-web:build`
- `npm run check:encoding`
- `git diff --check`
- `rustfmt --edition 2024 --check server-rs/crates/api-server/src/admin.rs`

## 限制

- 未执行真实生产 SpacetimeDB、OSS 或其它付费服务验证。
- Native shell CI 及其它 PR CI 以最新 head 的远端结果为准。
- 当前 PR 保持 WIP,待 reviewer 基于最新 head 重新 review。

Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/232
Co-authored-by: 董羽秦 <suzmii@qq.com>
Co-committed-by: 董羽秦 <suzmii@qq.com>
2026-09-01 14:27:39 +08:00
k88936 3b06f03c11 明确错误报告单实例与详情错误边界
补充单实例文件锁和内存 ZIP 生命周期注释

区分管理员详情 404 与归档存储 500

同步错误报告技术方案与项目决策记录
2026-09-01 13:26:13 +08:00
k88936 a0daa550c3 收紧错误报告归档与私有对象边界
按用户隔离提交幂等并处理重复日志名

拒绝 agc 私有前缀的公共对象读写与链接日志读取

保持归档和元数据清理时间一致并补充回归测试

同步错误报告技术文档与项目决策记录
2026-09-01 11:47:40 +08:00
k88936 734ae175b0 将 AGC 诊断日志改为持久化原始日志
Rust app_log 输出同时保留 stderr 并写入 AppData application.log。

将 WebView console 输出镜像到同一普通文本日志并保留滚动备份。

移除结构化错误事件写盘路径,事件仅在内存中合并并于提交时生成 events.jsonl。

清理旧 Tauri command、共享类型和同步更新诊断上传文档。
2026-09-01 11:16:26 +08:00
k88936 c9585fffb5 补充 AGC 错误报告设计文档
记录错误事件、诊断日志、JSONL 归档和私有 OSS key 约定。

同步 /bug-report 面板行为与后台查看器入口说明。

在文档索引和项目决策日志中登记错误报告方案。
2026-09-01 10:12:29 +08:00
lhk229 d7fc4c5b6f 让 Direct 首轮带上本轮附件的项目路径映射 (#223)
Project CI / Repository checks (push) Successful in 3m4s
Project CI / Frontend tests (push) Successful in 3m24s
Project CI / Backend tests (push) Successful in 6m10s
Project CI / Native shell tests (push) Successful in 15m8s
抽出 Home/Project 共用的 DirectCodexTurnAttachment 与渲染函数
Direct command 在进 Codex 前拼接有界 sidecar,jsonl 与气泡仍写用户原文
首页建项 latch 把导入附件传给 Direct 首轮,后续手打消息不带 attachments
做方案首轮仍走 Supervisor,不注入 sidecar
补齐 Rust 渲染测试与 home.suite 附件断言
记录路径映射合同与决策

Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/223
Co-authored-by: 孔令弘 <ink29535@proton.me>
Co-committed-by: 孔令弘 <ink29535@proton.me>
2026-08-31 19:47:23 +08:00
suzmii 80b8238d0a 修复 AGC Windows ACL 提权与文件访问边界 (#211)
Project CI / Frontend tests (push) Successful in 4m30s
Project CI / Repository checks (push) Successful in 2m26s
Project CI / Backend tests (push) Successful in 8m12s
Project CI / Native shell tests (push) Successful in 17m46s
### 背景

Windows 下 AGC 读取配置目录、项目文件和本地资源时,可能先于 ACL 校验阶段就因继承权限、错误 owner 或拒绝访问而失败,表现为 `拒绝访问。 (os error 5)`。

此前自定义 `--config-dir` 场景还存在 scope 无法传递到提权子进程的问题;native picker 路径也缺少进程内来源证明,递归索引可能跟随 junction/reparse point,新建文件在权限加固失败时可能留下残留文件。

### 本次变更

1. 修复自定义 `--config-dir` 的 `managed / user-selected` scope 传递与提权票据校验。
2. 增加 native picker 文件/目录路径的短期 provenance 授权;未经过 picker 授权的任意 IPC 绝对路径不能触发 `user-selected` 自动提权。
3. 项目文件列表和索引递归改用 `symlink_metadata()`,拒绝 symlink、junction 和 Windows reparse point。
4. 统一在 metadata/read/open 前完成 ACL 准备,对 ACL 导致的 metadata 失败执行一次受控修复和重试。
5. 新建 conversation、导出包、Agent DB、资源、字体等文件在 harden 失败时关闭句柄并清理刚创建的文件。
6. 修复 UAC 提权授权票据以 `share_mode(0)` 独占打开后与 `GetNamedSecurityInfoW/SetNamedSecurityInfoW` 产生共享冲突的问题。
7. 同步 AGC Windows ACL 技术方案与安全回归测试。

### 安全行为

- UAC 取消返回 `1223`,不会被当作成功。
- 提权子进程重新校验目标路径、scope、当前用户 SID、nonce、有效期和票据一次性消费。
- symlink、junction、reparse point 和非普通文件对象保持失败关闭。
- 自定义配置目录可以位于用户 profile 外部,但仍受 owner、DACL 和路径类型校验。

### 验证结果

已执行并通过:

```
cargo check --locked --manifest-path apps/ai-game-creator-shell/src-tauri/Cargo.toml
cargo test --locked --manifest-path apps/ai-game-creator-shell/src-tauri/Cargo.toml private_path_elevation_policy_tests -- --nocapture
# 10 passed

cargo test --locked --manifest-path apps/ai-game-creator-shell/src-tauri/Cargo.toml local_project -- --nocapture
# 20 passed

cargo test --locked --manifest-path apps/ai-game-creator-shell/src-tauri/Cargo.toml checkpoint::security_tests -- --nocapture
# 10 passed

cargo test --locked --manifest-path apps/ai-game-creator-shell/src-tauri/Cargo.toml private_file_write_tests -- --nocapture
# 2 passed

npm run check:encoding
# 5554 files passed

git diff --check
# passed
```

另外确认:

- `origin/master` 是当前分支祖先。
- 交接文档已删除,且原本不在 Git 跟踪列表中。
- 全量 `cargo test` 未作为通过依据;此前存在与 ACL 无关的失败项。
- `cargo fmt --check` 仍受仓库已有格式漂移影响,本次未执行全仓库格式化。
- 真实 Windows UAC 点击“Yes”的手工回归仍需在目标机器上确认。

### 手工验收

使用:

```powershell
& "C:\Users\dongy\workspace\Genarrative\.worktrees\agc-windows-acl-fix\apps\ai-game-creator-shell\src-tauri\target\debug\genarrative-ai-game-creator-shell.exe" `
  --config-dir "C:\Users\dongy\AppData\Local\Temp\agc-acl-live-20260830\deny-config-2"
```

验收标准:

1. 选择“否”:进程返回 `exit code 1223`。
2. 重新启动并选择“Yes”:不再返回 `exit code 1`,ACL 修复完成后继续启动。
3. 再次启动同一配置目录:不应重复弹出修复。
4. 检查目录 owner 和 DACL,确认归当前用户所有且为私有权限。

---------

Co-authored-by: 段舒康 <kdletters@qq.com>
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/211
Co-authored-by: 董羽秦 <suzmii@qq.com>
Co-committed-by: 董羽秦 <suzmii@qq.com>
2026-08-31 14:37:34 +08:00
lhk229 aa0e0ce5fa 批准 GDD 回填做游戏入口 (#210)
Project CI / Repository checks (push) Successful in 2m51s
Project CI / Backend tests (push) Successful in 6m32s
Project CI / Native shell tests (push) Successful in 17m8s
Project CI / Frontend tests (push) Successful in 4m4s
新增批准态 GDD 的做成游戏按钮与 Launcher 回调链

读取 game/fast_gdd.md 并回首页预填做游戏参考附件

补充不触发创建项目和 Runtime 的 appSurface 回归

同步 Fast GDD 技术方案与共享决策记录

Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/210
Co-authored-by: 孔令弘 <ink29535@proton.me>
Co-committed-by: 孔令弘 <ink29535@proton.me>
2026-08-31 14:37:16 +08:00
suzmii 1c2f82e246 优化 Game Agent 资源画布展示与默认缩放 (#208)
Project CI / Backend tests (push) Successful in 9m53s
Project CI / Repository checks (push) Successful in 3m11s
Project CI / Frontend tests (push) Successful in 4m59s
Project CI / Native shell tests (push) Successful in 19m18s
## 变更内容

### 1. 普通资源画布隐藏游戏代码

- 资源画布的大纲、分页和卡片展示不再显示“游戏代码”栏目。
- 保留内部完整的五栏目布局契约,避免已有代码资源坐标被重写。
- 补充回归测试,确认游戏代码不会出现在普通资源画布中,且代码端点不可见时不会渲染对应依赖边。

### 2. 增加资源类型角标

- 资源卡右上角增加类型角标,用于快速识别资源类型。
- 类型从既有资源投影字段推导,覆盖图片、SVG、视频、音频、文档、任务产物、Agent 回执、项目版本等类型,并为未知类型兜底。
- 该能力仅用于前端展示,不新增后端字段或修改资源投影契约。

### 3. 限制默认自动适配缩放

- 画布首次自动适配和显式复位时的默认最大缩放统一限制为 `1.5`,避免内容较少或只有一个资源时卡片被放得过大。
- 该限制对设计文档、美术、音频、游戏代码、项目版本全部资源栏目生效。
- 用户主动缩放仍沿用现有上限,不受默认适配上限影响。
- 用户调整后的画布缩放会按排序模式和栏目保留;切换到其他栏目再返回后,仍恢复用户调整后的 viewport,而不是重新自动放大。

## 兼容性

- 不修改后端 API、SpacetimeDB schema 或 `/api/external/v1`。
- 资源类型角标是展示层推导逻辑,不改变资源数据结构。
- 内部布局仍保留游戏代码栏目契约,已有布局数据不需要迁移。

## 验证

- `resourceCanvasLayoutModel.test.ts`
- `project-development.suite.ts` 相关 App Surface 用例
- `npm run typecheck`
- `npm run check:encoding`
- Prettier 相关文件检查
- `git diff --check`

历史分支检查不替代最新 head CI;PR 更新后将以最新 CI 结果为准。

---------

Co-authored-by: 段舒康 <kdletters@qq.com>
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/208
Co-authored-by: 董羽秦 <suzmii@qq.com>
Co-committed-by: 董羽秦 <suzmii@qq.com>
2026-08-31 14:36:58 +08:00
kdletters c5200c7d45 补齐共享 UI 组件库与展示页交互 (#202)
Project CI / Backend tests (push) Successful in 8m31s
Project CI / Repository checks (push) Successful in 14m14s
Project CI / Frontend tests (push) Successful in 13m2s
Project CI / Native shell tests (push) Successful in 21m30s
## 变更内容

- 新增基于 shadcn open-code 模式的共享 UI canonical 组件、样式与导出。
- 新增 `/components` 共享组件展示页,并覆盖平台组件、Token、状态和移动端布局。
- 补齐平台展示页的筛选、排序、上传预览、标签、开关和异步状态交互。
- 修复排序导致预览主题变化、筛选弹窗误关闭和入口状态不更新的问题。
- 同步网站与客户端构建别名、依赖、路由测试和项目文档。

## 验证

- `npm run test -- src/components/shared-components/SharedComponentsShowcasePage.test.tsx`
- `npm run typecheck`
- `npm run check:encoding`
- `npm run build:raw`
- `git diff --check`
- pre-push 门禁通过

Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/202
Co-authored-by: kdletters <kdletters@qq.com>
Co-committed-by: kdletters <kdletters@qq.com>
2026-08-31 14:10:44 +08:00
kdletters d2254d1e8c 抽取多 Agent 编排 crate 并支持运行中自主扩图 (#207)
Project CI / Repository checks (push) Successful in 2m16s
Project CI / Frontend tests (push) Successful in 6m37s
Project CI / Backend tests (push) Failing after 7m45s
Project CI / Native shell tests (push) Failing after 7m6s
## 概要

- 抽取通用 `agent-runtime-orchestration` crate,承接多 Agent DAG 的构图校验、ready/wave、下游闭包和全量/返工选择。
- 保留 `platform-agent` 的游戏领域任务与语义路由,避免把 Runtime、Provider、ToolHost 和持久化职责下沉到公共编排层。
- 增加 `GraphProposal` / `TaskProposal` / `GraphEdge` / `GraphLimits`,允许宿主在执行中安全应用 LLM 提出的新增节点和边。
- 扩图采用候选图原子校验:未知 Agent/端点、重复边、自依赖、环及节点/边/深度/扇出预算都会拒绝,失败时原图保持不变;新增节点默认为 `Pending`。

## 验证

- `npm run agent-runtime-orchestration:check`(15 项通过)
- `cargo test --manifest-path server-rs/crates/platform-agent/Cargo.toml`(19 项通过)
- `npm run agc:skill-pack:check`
- `npm run check:encoding`
- `git diff --check`

前端 typecheck 本轮未执行:当前工作树未安装 `node_modules/tsc`,命令会报 `tsc is not recognized`。

Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/207
2026-08-31 10:51:11 +08:00
Git Hooks Test dcf01f5681 合并远端 0.1.11 基线并保留本地 AGC 全流程改动
Project CI / Repository checks (push) Successful in 3m49s
Project CI / Frontend tests (push) Successful in 4m54s
Project CI / Backend tests (push) Successful in 8m50s
Project CI / Native shell tests (push) Failing after 12m12s
2026-08-28 21:03:15 +08:00
Git Hooks Test 1ba34b8e25 放开 AGC 自主创作流程并补齐全流程执行能力
新增 agc_write_file 直写工具并放宽自主构建执行路径

移除固定任务依赖与确认门槛对并行创作的阻塞

同步 DirectProject、预览、运行状态和 E2E 测试调整
2026-08-28 20:55:23 +08:00
lhk229 e31d8a2a5b 修复链路上存在的若干阻塞性漏洞 (#199)
Project CI / Backend tests (push) Successful in 6m48s
Project CI / Repository checks (push) Successful in 4m0s
Project CI / Frontend tests (push) Successful in 4m34s
Project CI / Native shell tests (push) Successful in 16m12s
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/199
Co-authored-by: Linghong <ink29535@proton.me>
Co-committed-by: Linghong <ink29535@proton.me>
2026-08-28 17:09:02 +08:00
suzmii 7d4c47ec0c 修复 API Key app-server 认证重试循环 (#205)
Project CI / Repository checks (push) Successful in 3m15s
Project CI / Frontend tests (push) Successful in 3m50s
Project CI / Backend tests (push) Successful in 7m49s
Project CI / Native shell tests (push) Successful in 15m43s
## 修复摘要

Close #187

Issue #187 的根因是:API Key/provider-proxy 模式使用隔离 `CODEX_HOME`,其中没有 ChatGPT `auth.json`;Codex app-server 默认启动 remote-control 后,会在 `desired_state=Unknown` 时每约 1 秒重试认证,形成持续的认证日志循环。

本 PR 的最终修复是启动级禁用,而不是单纯屏蔽日志:

- API Key 和 provider-proxy 会话在启动 Codex app-server 子进程前设置 `CODEX_INTERNAL_APP_SERVER_REMOTE_CONTROL_DISABLED=1`,使 remote-control 从启动时即处于 `desired_state=Disabled`。
- 删除此前握手后调用 `remoteControl/disable` 的方案;真实 smoke 证明该 RPC 在无 ChatGPT 登录态时本身会返回 `remote control requires ChatGPT authentication`,无法阻止认证循环。
- 真实 AuthBridge 登录态不设置该变量,保持原有 remote-control 行为。
- API Key 子进程额外设置 `RUST_LOG=warn`,仅收敛剩余预期噪音,不承担修复职责。
- 更新 Unix fake app-server fixture、JSON-RPC 响应 ID 序列和凭据边界回归测试。
- 同步更新技术方案,明确启动环境变量、认证边界和验证结论。

## 真实 smoke

使用临时 API Key、隔离 `CODEX_HOME` 和 Codex `0.150.0-alpha.8`:

- 未设置启动变量时:出现 `remote control requires ChatGPT authentication`,并持续输出 `Reloading auth` / `Reloaded auth`。
- 设置 `CODEX_INTERNAL_APP_SERVER_REMOTE_CONTROL_DISABLED=1` 后:状态为 `desired_state=Disabled`,5 秒观察窗口内不再出现认证重试循环,仅剩少量启动/退出生命周期日志。
- `--disable remote_control` 与 `-c features.remote_control=false` 未达到同等效果。

## 验证

- `cargo test --bin genarrative-ai-game-creator-shell codex_app_server`:36 passed,1 ignored,0 failed
- `cargo check --bin genarrative-ai-game-creator-shell`:通过
- `rustfmt --edition 2021 --check src/agent/codex_app_server.rs`:通过
- `npm run ai-game-creator-shell:typecheck`:通过
- `npm run check:encoding`:通过
- `git diff --check`:通过

Windows 本机不会执行 Unix-only fake app-server 分支;相关 fixture 已更新,交由 Linux CI 覆盖。真实 smoke 只验证启动与认证循环,没有执行模型请求。

安全说明:临时 API Key 仅用于本次隔离 smoke,未写入仓库、提交或 PR;测试完成后应立即撤销/轮换该 Key。

---------

Co-authored-by: 段舒康 <kdletters@qq.com>
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/205
Co-authored-by: 董羽秦 <suzmii@qq.com>
Co-committed-by: 董羽秦 <suzmii@qq.com>
2026-08-28 15:06:10 +08:00
suzmii d24321d657 修复第三方 Provider 流式工具计划请求 (#201)
Project CI / Frontend tests (push) Successful in 4m12s
Project CI / Repository checks (push) Successful in 4m19s
Project CI / Native shell tests (push) Successful in 16m14s
Project CI / Backend tests (push) Successful in 16m25s
## 变更摘要

- 当 Provider 配置 `llm.stream=true` 时,Provider tool-plan 请求改为使用 `stream_run`,由后端聚合完整响应;关闭流式时继续使用 `run`。
- 补充 Anthropic 原生 SSE 工具调用、原生最终回复和 OpenAI 响应流测试夹具。
- 新增流式原生函数工具计划回归测试,覆盖请求 `stream=true`、工具调用聚合、respond_to_user 收束和最终回复请求。
- 修复共享 Provider 测试夹具对 `stream=true` 的 Responses / Chat Completions 请求返回正确 SSE,避免时序测试误报 Timeout。
- 修正自主构建截断 scaffold 修复分支的错误前缀匹配,并补齐最终回复失败审计夹具的流式 planning 响应。
- 同步第三方 Provider 兼容性技术说明,记录缺陷 5 已修复。

## 验证

已通过:
- 5 个 Provider handoff/retry/restart 回归用例(逐项运行)
- `autonomous_game_build_repairs_truncated_scaffold_into_bounded_patch`
- `background_agent_runtime_asset_generation_respects_project_policy`
- `background_final_reply_failure_keeps_private_conversation_and_hashes_public_audits`
- `npm run ai-game-creator-shell:typecheck`
- `npm run check:encoding`
- `git diff --check`

说明:Provider handoff 重启用例在并发启动时曾出现一次时序失败,单独串行复跑通过;当前提交已通过 pre-push 检查。`cargo fmt --check` 仍会报告基线其他文件已有格式差异,本 PR 未改动这些无关文件。

Close #186

---------

Co-authored-by: 段舒康 <kdletters@qq.com>
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/201
Reviewed-by: 段舒康 <kdletters@qq.com>
Co-authored-by: suzmii <suzmii@qq.com>
Co-committed-by: suzmii <suzmii@qq.com>
2026-08-27 17:08:47 +08:00
kdletters 9476ff7648 迁移仓库工具资源到 Codex 并固化执行边界
Project CI / Frontend tests (push) Successful in 4m5s
Project CI / Repository checks (push) Successful in 4m23s
Project CI / Backend tests (push) Successful in 5m1s
Project CI / Native shell tests (push) Failing after 10m54s
将 .hermes 工具资源迁移至 .codex

同步代码、文档与 RAG 路径引用

补充任务范围、验收与时间盒执行规则
2026-08-27 13:55:25 +08:00
kdletters 6d36d625ad DirectProject 工作区改为项目根并站内化编辑器资源生成
Project CI / Repository checks (push) Successful in 10m0s
Project CI / Frontend tests (push) Successful in 10m20s
Project CI / Native shell tests (push) Failing after 13m58s
Project CI / Backend tests (push) Successful in 14m9s
DirectProject 的 Codex cwd、sandbox writable root 与文件变更批准根统一为用户选择的整个项目根,不再强制 game/ 子目录;assets/、game/ 与项目文件均可写,.agent/、.git/、密钥和 Runtime 控制面仍由项目文件层拒绝。

更新 direct 运行时提示词与内置 agc-project-structure Skill,明确项目根即工作区,路径相对项目根,game/ 仅兼容旧结构,并同步 Skill 清单指纹到 2026-08-26.4。

预览与自主构建入口支持项目根 index.html 与旧 game/index.html 双布局,入口解析、静态 smoke、试玩回执与完成门全部自适应。

客户端资源编辑(音频、视频、图片、角色动画)端点统一改为站内 /api/editor/... 路由并复用平台登录态,不再走 External v1;历史 external 账本仍可兼容重放,外部开发者模式保留 External v1。

同步 AGC 实施计划中项目根工作区与站内 API 口径。
2026-08-27 00:40:44 +08:00
kdletters 0f35dc33af Windows release 安装包只生成 NSIS
Project CI / Repository checks (push) Successful in 16m40s
Project CI / Frontend tests (push) Successful in 17m31s
Project CI / Native shell tests (push) Successful in 22m11s
Project CI / Backend tests (push) Successful in 26m46s
tauri.windows.conf.json 固定 bundle.targets 为 nsis,不再生成 MSI 安装包。

同步 AGC 实施计划中 Windows x64 release 打包口径。
2026-08-26 23:30:55 +08:00
kdletters d75547b36d 自动化 Skill 指纹同步并发布 AGC 0.1.10
新增 skill-pack-manifest 脚本统一计算并校验内置 AGC Skill 内容摘要,--write 模式自动递增清单版本并同步 SHA-256。

新增 check-skill-pack 只读门禁与 Node 回归测试,无参数默认只读,只有单个 --write 才进入写入模式。

AGC typecheck 与 release build 接入 Skill 清单指纹校验,内容漂移时直接列出 Skill 与实际摘要阻断构建。

修正 agc-client-projection 清单指纹并升级 Skill pack 版本到 2026-08-26.3。

升级 AGC 标准版到 0.1.10,同步 package、Cargo、Tauri 与 npm 工作区锁文件。

首页空输入占位符锚定到编辑区,避免整页滚动后占位文本脱离输入框。

更新 AGC 实施计划中 Skill 指纹同步与只读门禁说明。
2026-08-26 23:23:24 +08:00
kdletters 170b988fcd Merge remote-tracking branch 'origin/master' 2026-08-26 21:34:40 +08:00
kdletters e5424cbf7b 完善陶泥儿桌面窗口外壳与素材导入
新增自绘标题栏、窗口控制和项目标题同步

将泥点账户入口接入标题栏并调整面板描边

收紧本地图片导入类型约束并同步契约文档

补充窗口外壳与泥点面板测试
2026-08-26 21:34:04 +08:00
kdletters 16a5d28ed3 修复 release 默认网页右键菜单
release 客户端关闭 WebView 默认上下文菜单

保留 contextmenu 事件供业务组件处理

补充 release/debug 行为测试与技术方案约定
2026-08-26 21:19:39 +08:00
kdletters 1ba0eaf59c Merge remote-tracking branch 'origin/master' into codex/push-master-20260826
Project CI / Frontend tests (push) Failing after 3m33s
Project CI / Repository checks (push) Failing after 3m42s
Project CI / Native shell tests (push) Failing after 4m39s
Project CI / Backend tests (push) Successful in 5m30s
2026-08-26 20:20:27 +08:00
kdletters b15cd2a5d6 开放客户端图片创作能力
新增普通图片、角色图、视觉规范图、UI 设计图和发布宣传图生成工具

新增已登记图片精修工具并复用客户端授权、幂等、下载和资源登记链路

修正图片生成账本对普通图路由与新类型的恢复识别

同步 AGC Skill、DirectProject 提示词和技术方案说明
2026-08-26 20:03:13 +08:00
kdletters c1f32d230f 修复客户端资源画布图片预览
限制美术资源总览初次适配倍率,避免位图插值放大
扩大美术资源聚焦态原图预览区域
补充布局模型测试与技术方案验收口径
2026-08-26 19:08:33 +08:00
kdletters d585ad93d5 修复 AGC 直连工具授权路由
普通客户端沿用当前 AGC 登录会话和账号路由

ExternalDeveloper 模式保留客户端内部私有凭据隔离

补齐系统提示词、工具描述、Skill 与技术方案的 API Key 边界

更新 Skill 清单版本和内容指纹
2026-08-26 18:33:01 +08:00
wuxiangwanzi aad9d064fc 新增首页灵感推荐瀑布流 (#196)
Project CI / Native shell tests (push) Failing after 3m55s
Project CI / Backend tests (push) Successful in 4m55s
Project CI / Repository checks (push) Failing after 2m38s
Project CI / Frontend tests (push) Failing after 3m7s
新增 23 张内置灵感图片素材

实现响应式瀑布流和纵向滚动

支持图片全屏预览与遮罩关闭

补充首页交互测试和技术文档

---------

Co-authored-by: 段舒康 <kdletters@qq.com>
Co-authored-by: kdletters <kdletters@qq.com>
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/196
Co-authored-by: 五香丸子 <15518898337@163.com>
Co-committed-by: 五香丸子 <15518898337@163.com>
2026-08-26 16:56:03 +08:00
kdletters a8d4aae390 新增 AGC 设置关于页并展示客户端版本
Project CI / Frontend tests (push) Successful in 6m41s
Project CI / Repository checks (push) Successful in 6m43s
Project CI / Backend tests (push) Successful in 7m44s
Project CI / Native shell tests (push) Successful in 15m49s
增加独立关于页并使用品牌 Logo

从客户端 package.json 自动读取版本号

补充设置页回归测试、样式与技术方案
2026-08-26 16:22:30 +08:00
suzmii 2407295363 修复资源管理滚轮翻页偶发失效 (#197)
Project CI / Repository checks (push) Successful in 2m58s
Project CI / Frontend tests (push) Successful in 3m23s
Project CI / Backend tests (push) Successful in 5m0s
Project CI / Native shell tests (push) Successful in 13m37s
## 变更背景

资源管理画布在连续滚轮翻页时,可能出现偶发失效或中间栏目被逐页渲染,导致后续滚轮输入被资源渲染阻塞;同时,缩放、手动切页、排序和拖拽过程中还可能执行已经过期的翻页任务。

本 PR 将翻页意图与资源渲染提交解耦,并补齐交互取消边界,让连续输入始终基于最新逻辑目标栏目计算。

## 主要修改

- 滚轮分页改为同步维护逻辑目标栏目,可见栏目通过 React transition 异步提交;渲染尚未完成时,新滚轮事件仍基于最新逻辑目标继续计算,不逐页加载中间栏目。
- 待执行翻页队列改为有界合并与延迟 flush,修复旧定时器清理不完整的问题。
- Ctrl/Meta 缩放、触控板缩放手势、手动点击切页、切换排序、开始画布空白拖拽或资源卡拖拽时,取消尚未执行的过期翻页任务。
- viewport 更新显式携带目标栏目,画布拖拽记录发起时的栏目,避免过渡渲染期间把旧栏目 viewport 写入新栏目。
- 每个排序模式和栏目继续保留独立 viewport,复位、首次 fit 与保留用户当前平移缩放的路径统一使用同一套数据流。
- 依赖浮层的 ResizeObserver、scroll 和 resize 监听只在挂载时建立一次;viewport / 几何 revision 变化时通过 ref 合并调度一帧测量,避免连续输入时重复重建观察器。
- 更新资源自由画板技术方案,并补充回归测试覆盖连续滚轮、缩放取消、大步跳转、切页边界和依赖浮层观察器生命周期。

## 验证

- `npm run test -- apps/ai-game-creator-shell/tests/ResourceDependencyOverlay.test.ts apps/ai-game-creator-shell/tests/appSurface.test.ts --run`
  - 2 个测试文件通过
  - 393 / 393 tests passed
- `npm run agc:typecheck`
- `npm run lint:eslint -- apps/ai-game-creator-shell/src/view/project-development/index.tsx apps/ai-game-creator-shell/src/view/project-development/ResourceDependencyOverlay.tsx apps/ai-game-creator-shell/tests/ResourceDependencyOverlay.test.ts apps/ai-game-creator-shell/tests/appSurface/project-development.suite.ts`
- `npm run check:encoding`
- `git diff --check`

以上均为合并 `origin/master@2f3c578db` 后在 `b5c98af42` 上执行。

Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/197
Co-authored-by: suzmii <suzmii@qq.com>
Co-committed-by: suzmii <suzmii@qq.com>
2026-08-26 15:29:35 +08:00
kdletters 5c416ce5b5 Merge remote-tracking branch 'origin/master' into codex/docs-current-master
Project CI / Repository checks (push) Successful in 12m13s
Project CI / Frontend tests (push) Successful in 13m20s
Project CI / Backend tests (push) Successful in 23m7s
Project CI / Native shell tests (push) Failing after 31m49s
2026-08-26 10:12:00 +08:00
kdletters 969dcc0272 整理项目文档并统一当前口径
- 删除过时 PRD、设计、计划和退役文档
- 收口文档索引、产品基线、玩法链路和共享记忆
- 清理历史决策重复内容、断链和本机路径
- 更新 AGC Runtime、Provider、后端与运维当前约束
2026-08-26 10:11:46 +08:00
kdletters a8c7cd2f2b 修复导入素材后资源画布不刷新
支持账户素材和项目内 PNG/JPEG/WEBP 本地素材导入后的 manifest 失效通知

增加资源画布导入图片回归测试并扩展素材发现上下文

同步更新 Agent 导入契约说明
2026-08-26 02:32:04 +08:00
kdletters 6b947c5430 修复 AGC 项目素材发现与受控导入
发现项目内未登记媒体并保持正式素材身份边界

新增 Runtime 与 Direct MCP 素材查询和导入工具

支持图片素材在 AssetImporter 中受控登记

补充路径安全、契约测试和技术文档
2026-08-26 02:32:04 +08:00