feat: integrate image_make with MindSpace assets

This commit is contained in:
john
2026-07-19 18:34:50 +08:00
parent 2f4366e882
commit 5b88f8ece5
14 changed files with 768 additions and 14 deletions
+64
View File
@@ -0,0 +1,64 @@
# image_make 隔离接入
## 边界
`image_make` 是独立服务。Memind 只通过 HTTP API 调用,下载结果并校验后写入 MindSpace;
`image_make` 不连接 Memind 数据库,也不能直接写 MindSpace。开关关闭或请求失败时,现有页面、
封面与缩略图流程保持不变。
## 后台开关
开关位于 `memind_adm` 的「资产能力」页面,按以下顺序生效:
1. 资产能力总开关开启;
2. 图片生成插件开启,Provider 选择 `image_make`
3. 单独开启需要的用途:页面正文图片、页面头图、卡片封面、信息流与缩略图源图;
4. Memind 运行环境同时配置 `IMAGE_MAKE_BASE_URL``IMAGE_MAKE_TOKEN`
所有开关默认关闭。信息流缩略图仍由 MindSpace 从 `feed_cover` canonical 源资产派生,禁止为了
缩略图再次调用生图模型。
## Memind API
登录用户可显式调用:
```http
POST /api/mindspace/v1/images/generate
Idempotency-Key: imgreq_xxx
Content-Type: application/json
{
"purpose": "hero",
"prompt": ""
}
```
`purpose` 可选值:`inline_image``hero``card_cover``feed_cover`
成功时服务先完成以下步骤,再返回 `201`
1. 创建并轮询 image_make 任务;
2. 下载图片并校验 MIME、文件头、大小与 SHA-256
3. 通过现有 `createChatAsset` 写入用户 MindSpace 公共候选资产;
4. 获得 canonical `publicUrl` 后 best-effort acknowledge image_make 临时结果。
开关关闭返回带 `fallback: true``409`;服务未配置或暂不可用返回带 `fallback: true`
`503`。调用方必须继续原有页面或默认缩略图流程。
## 本地配置
```bash
IMAGE_MAKE_BASE_URL=http://127.0.0.1:8080
IMAGE_MAKE_TOKEN=dev-token
IMAGE_MAKE_REQUEST_TIMEOUT_MS=15000
IMAGE_MAKE_GENERATION_TIMEOUT_MS=600000
IMAGE_MAKE_POLL_INTERVAL_MS=1000
IMAGE_MAKE_MAX_RESULT_BYTES=20971520
```
Token 只进入 Memind 运行环境,不在 `memind_adm` 页面或数据库中保存、展示。
## 回滚
`memind_adm` 关闭图片生成插件或资产能力总开关即可立即停止新调用。该回滚不删除已经入库
的 MindSpace 图片,不要求回滚数据库字段,也不改变既有页面内容。