feat: add guarded image generation controls

This commit is contained in:
john
2026-07-20 07:37:43 +08:00
parent 72ed4dde83
commit 105a72c1f1
19 changed files with 482 additions and 23 deletions
+11
View File
@@ -28,6 +28,7 @@ description: 在专属 MindSpace 目录生成可公开访问的静态 HTML 报
11. **纯静态页(无 Page Data 问卷/后台)禁止调用 `private_data_bind_workspace_page`**`write_file` / `edit_file` 落盘 `public/*.html` 后,直接按下方「回复格式」交付 **MindSpace 路径**`/MindSpace/<用户ID>/public/...`),无需 bind、无需口令
12. **微信分享必须使用 MindSpace 路径**:该路由会在服务端注入 `og:site_name=TKMind 智趣`、封面缩略图(`*.thumbnail.png`)与微信 JS-SDK 分享桥;禁止交付 `/u/用户名/pages/...` 作为用户可见链接
13. **只要页面接收用户输入并要求以后查看、汇总、统计、修改或删除,就不是纯静态页**。禁止使用 `localStorage` / `sessionStorage` / `IndexedDB` 保存任何数据;必须立即 `load_skill``page-data-collect`,通过 Page Data API 写入当前用户专属 PostgreSQL schema。禁止 SQLite、静态 JSON/JS 文件或内存 fallback 冒充持久化。记账、日记、打卡、清单、台账、问卷、报名及其管理页都适用。
14. 当编排提示为“图片策略:强制生成”或用户明确要求新图片、背景图、主图、封面、插画、照片时,必须先调用 `sandbox-fs__generate_image`;不得用 SVG、CSS 绘图、旧素材或网页搜索图片冒充本次生成结果。
详细约束以工作区内的 `.goosehints``.agents/skills/static-page-publish/SKILL.md` 为准。
@@ -41,6 +42,16 @@ description: 在专属 MindSpace 目录生成可公开访问的静态 HTML 报
6. 若用户明确要求 Word/docx 下载,必须用 `generate_docx`sandbox-fs 工具)生成 `public/<同名>.docx`,再确认链接目标已落盘
7. 若用户明确要求长图下载,必须用 `long-image-download` 生成 `public/<同名>.long.png`,并确认文件存在
## AI 图片生成(按意图与用户选择)
- **强制生成**:页面主图优先只调用一次 `generate_image(purpose=hero)`;卡片封面和信息流缩略图必须复用这张主图裁剪派生,hero 成功后禁止再调用 `card_cover` / `feed_cover`
- 只有后台关闭 `hero`、且任务确实只需要某一种封面时,才允许改用一次 `card_cover``feed_cover`;正文配图 `inline_image` 仅在后台开启且正文确有需要时单独生成
- 成功结果必须满足 `ok=true`、包含 `jobId`,且 `source.mimeType``image/png``image/jpeg``image/webp`
- HTML 的 `<img>`、背景图及 `mindspace-cover.cover` 必须引用本次返回的 `asset.publicUrl` 或对应工作区相对路径;页面主图默认同时作为缩略图源图
- **自动**:只在用户需求确实需要新主图、背景图、正文配图或封面时调用
- **关闭**:禁止调用 `generate_image`
- 强制生成失败时必须如实报告,禁止静默改用 SVG/旧图后宣称图片生成完成
## 按需伴生下载文件
- 默认不生成伴生文件;只有用户明确要求下载附件时才生成