Files
memind/docs/image-make-integration.md
T

71 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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` 页面或数据库中保存、展示。
页面 Agent 通过 sandbox MCP 的 `generate_image` 工具调用 Portal 内部入口。需要额外配置
`MINDSPACE_AGENT_API_BASE_URL`;MCP 使用现有 `MINDSPACE_INTERNAL_AGENT_SECRET` 鉴权,成功结果
直接返回 MindSpace `publicUrl` 与 `workspaceRelativePath`。工具始终受同一后台总开关、Provider
开关和用途开关约束。容器部署时 base URL 应使用容器可访问的 Portal 地址,不能使用容器自身的
`127.0.0.1`。
## 回滚
在 `memind_adm` 关闭图片生成插件或资产能力总开关即可立即停止新调用。该回滚不删除已经入库
的 MindSpace 图片,不要求回滚数据库字段,也不改变既有页面内容。