Skip to content

Codex/create project plan for opencli integration lskcrc#4

Open
chr1st1anw0w wants to merge 5 commits into
ConardLi:mainfrom
chr1st1anw0w:codex/create-project-plan-for-opencli-integration-lskcrc
Open

Codex/create project plan for opencli integration lskcrc#4
chr1st1anw0w wants to merge 5 commits into
ConardLi:mainfrom
chr1st1anw0w:codex/create-project-plan-for-opencli-integration-lskcrc

Conversation

@chr1st1anw0w

Copy link
Copy Markdown

No description provided.

@ConardLi

ConardLi commented May 1, 2026

Copy link
Copy Markdown
Owner

评审结论:建议暂缓合并,需要修改。

我主要看了这次新增的本地 UI 桥接、archive client、prompt 渲染和 Vite middleware。当前 PR 里有几处会影响功能可用性或本地安全边界的问题:

  1. dist/gpt-image2-website/src/lib/archive-client.ts 固定请求 http://localhost:3001,并且调用 /save-prompt/list-archive/load-template-md;但本 PR 新增的 Vite middleware 实际只实现了 /api/generate/api/archive。这会导致保存、列表、加载模板这些入口默认全部打到不存在的服务或 404。建议统一到同源 /api/...,并让前后端 endpoint 名称和响应 shape 对齐。

  2. dist/gpt-image2-website/vite.config.ts/api/generate 把 HTTP body 里的 prompt/category/template/idx 拼进 npm run auto:single:pw,同时使用 shell: true。这等于让一个本地 HTTP endpoint 可以把未转义用户输入送进 shell,属于命令注入风险。建议去掉 shell: true,只用固定可执行文件和参数数组调用脚本,并限制/校验输入。

  3. dist/gpt-image2-website/vite.config.ts/api/archive 使用请求里的 categorytemplatefilename 直接 resolve 后写文件,缺少路径归一化和根目录约束。../ 或绝对路径都有机会把写入逃逸出 archives 目录。建议只允许 slug 字符集,并在生成路径后校验它仍位于预期 archive root 下。

另外,这个 PR 混入了大规模繁简转换、文档计划和运行时代码变更,review/回滚成本比较高。建议拆成:文档计划、语言本地化、UI/API 桥接三类 PR,各自配一条最小验证路径。

Dong90 pushed a commit to Dong90/garden-skills that referenced this pull request Jun 12, 2026
E2E 走查发现 3 个问题:
1. run ConardLi#3 (pipeline 分支) 之前用 --dry-run,但引导页 run.md 承诺'跑 pipeline'
   修:去掉 --dry-run,真跑 pipeline;失败给清晰回退指引
2. pipeline 成功后没自动推进 phase + 写 P2 快照
   修:跑完 pipeline 自动 state.phase=P1→P2,写 phase-P2-*.tar.gz
3. phase==P1||P2 都会触发 pipeline,导致 P2 时重复跑
   修:pipeline 只在 P1 触发;record 从 P2 起

外加:python heredoc 中 '\n' 被 bash 解释成换行导致 SyntaxError
   修:用 '\\n' 双转义

E2E 完整 4 步剧本 (init → 3 轮 run) 现在干净:
  run ConardLi#1: P0+有script  → selftest+judge+推 P1+P1 快照
  run ConardLi#2: P1+presentation → pipeline+推 P2+P2 快照
  run ConardLi#3: P2 → 提示录屏
  run ConardLi#4: P2 → 仍提示录屏(不重跑 pipeline)✓
status 显示 4 步剧本 ✓plan ✓run / 5 步子任务 1-4 ✓ / 3 个快照

测试 5 个文件 134/134 全绿。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants