Life OS 文档

文档 / 应用名称与图标

打开 Markdown

应用名称与图标

在桌面点击「管理应用」,再选择用户应用进入编辑;应用市场的已安装列表也提供编辑入口。可以修改名称、应用描述、设计理念,上传图标或重新生成。应用 ID、slug、源码和数据集绑定保持不变。

图片模型配置

在桌面「设置」的「大模型」和「图片生成模型」两个 tab 中分别配置对话模型和图片生成模型,切换 tab 时保留尚未保存的输入。对话模型负责把应用用途、目标用户和设计理念转换为视觉方案;图片模型使用内置 ip-as-logo 提示词绘制一张图片。图标风格以简单、圆润、可识别的角色为主。

支持以下协议,模型名称需要填写服务商实际提供的图片模型 ID:

协议接口地址示例调用路径与返回格式
OpenAI Images 兼容https://api.openai.com/v1POST /images/generations;读取 data[0].b64_jsondata[0].url
火山引擎 Seedreamhttps://ark.cn-beijing.volces.com/api/v3火山方舟 Ark:POST /images/generations,Bearer API Key;读取 data[0].b64_jsondata[0].url
Gemini 原生https://generativelanguage.googleapis.com/v1betaPOST /models/{model}:generateContent;读取 candidates[0].content.parts[].inlineData.data

OpenAI 协议默认不传 size,通过提示词要求正方形。也可以选择 1024x10241536x1536,需要模型明确支持该尺寸。Gemini 使用 aspectRatio: "1:1",由模型选择原生分辨率。平台不缩放生成结果,也不会根据画面风格自动重试。

火山引擎 Seedream

接口协议选择「火山引擎 Seedream」,填写火山方舟控制台中已开通的 Seedream Model ID,或者 ep- 开头的推理接入点 ID,以及对应的 方舟 API Key(不是火山引擎 Access Key / Secret Key)。默认地址已经预填;如果粘贴完整 /images/generations 地址,保存时会自动转为基础地址。

默认 2048x2048,还可以选择 1024x10243072x30724096x4096,具体以所选模型支持的尺寸为准。平台固定发送 sequential_image_generation: "disabled"stream: falseresponse_format: "b64_json"watermark: false,每次只生成一张图片,不发送 OpenAI 的 n 参数。生成结果最大 8MB;超过限制时保留原图标并报告错误。

已确认 doubao-seedream-5-0-260128 至少需要 3,686,400 像素;填写此 Model ID 时不会提供 1024 × 1024 选项,保存和生成前也会校验。已有的不兼容配置会显示具体提示,需要明确选择新尺寸并保存;不会自动提高分辨率后重新请求。对于无法从名称识别实际模型的 ep- 接入点,尺寸限制由方舟校验,已识别的像素下限错误会转换为具体提示。

此选项接入方舟 Ark 图片生成 API,不适用于火山引擎其他需要 AK/SK 签名的视觉服务接口。参数依据火山引擎官方 SDK

保存 API Key 后不会返回明文;留空保留原 Key,更换接口地址或协议时必须重新填写。移除图片模型设置会停止后续生成,已有图标仍然保留。当前凭证存储在服务端 D1,与对话模型设置采用相同存储方式。

创造模式的 create_app 会接收 descriptiondesign_brief 并自动生成图标。未配置图片模型或生成失败时,应用仍然创建成功;Agent 会收到独立的 icon_generation 状态,用户可以稍后在编辑入口重新生成。

编辑应用资料

以下 HTTP API 供宿主或开发工具使用,要求登录态,仅能操作当前用户自己的应用。用户应用内部仍然只使用 platform.*,目前没有图标生成 JSB。

PATCH /api/apps/:id 修改元数据,返回更新后的 AppRecord

json
{
  "name": "习惯伙伴",
  "description": "帮助忙碌的人记录每日习惯",
  "design_brief": "友好的小猫形象,柔和的紫色背景",
  "expected_updated_at": "从 GET /api/apps 返回的 updated_at 原样传入"
}

name 最多 80 字且不能为空;descriptiondesign_brief 各最多 2000 字。省略的字段保持原值。expected_updated_at 必填;版本过期返回 HTTP 409,请重新读取后修改。显示名称以平台元数据为准,源码包内 app.json 不会被自动改写。

GET /api/appsGET /api/apps/:id 返回 descriptiondesign_brieficon_urlicon_url 为需要登录态的相对 URL,没有图标时为 null。修改图标后 URL 中的版本会改变。

上传和读取图标

  • PUT /api/apps/:id/icon:请求体直接传入图片二进制,Content-Type 使用 image/pngimage/jpegimage/webp。最大 8MB,校验文件签名和类型,拒绝 SVG。成功返回 AppRecord
  • GET /api/apps/:id/icon:返回当前图标的二进制数据。使用私有缓存与 nosniff;无图标或无权访问时返回 HTTP 404,未登录返回 HTTP 401。

图标保存在独立 R2 路径中,更新应用文件包不会删除图标。上传长方形图片时,桌面按正方形裁切展示,存储文件保持原样。

重新生成

POST /api/apps/:id/icon/generate,传入 JSON 对象,使用已保存的资料时传 {}。可选 descriptiondesign_brief 为本次生成的临时上下文,不会修改已保存的资料。界面会先保存用户修改的资料,再发起生成。

成功返回更新后的 AppRecord,并附带 icon_generation: { status: "generated", model, provider }。接口会等待生成完成,可能需要几分钟。对话模型方案请求最多等待 60 秒,图片请求最多等待 180 秒;没有图片、格式不支持或服务商错误均返回错误,并保留原图标。

同一应用生成期间重复请求返回 HTTP 409。生成期间上传新图标时,以上传结果为准,旧生成任务不会覆盖它。失败请求不会自动重试,也不会切换模型。上游返回图片 URL 时,平台通过公开 HTTPS 地址下载到 R2,不依赖服务商临时链接长期展示。

官方默认模型

设置的两个 Tab 都提供「官方默认 / 自定义」选项。官方大模型为 DeepSeek Flash(deepseek-flash),用于对话、应用构建和图标设计方案;官方图片模型为火山方舟 Seedream 5.0(doubao-seedream-5-0-260128),每次生成一张 2048 × 2048 的图标。新用户无需填写密钥。

GET /api/settings/llm 返回相同的 sourceofficialbase_urlmodelhas_key 字段。PUT /api/settings/llm 接受 { source: "official" },或 { source: "custom", base_url, model, api_key? }。省略 source 的旧客户端请求仍按自定义配置处理。自定义密钥留空时保留原密钥;修改接口地址必须重新填写密钥。

官方凭据只保存于服务端 Secret,任何设置响应均不返回密钥。切换来源不会删除已保存的自定义配置;官方模型暂不可用时返回明确错误,不会静默使用另一套凭据。

设置 API

  • GET /api/settings/images:返回 { source, official: { label, model, available }, provider, base_url, model, size, has_key }sourceofficialcustom;顶层连接参数和 has_key 描述用户自己的配置,official 只包含官方模型的公开信息。新用户默认选择官方模型,已有自定义配置的用户保持原选择。
  • PUT /api/settings/images:传入 { source: "official" } 使用官方模型,不需要 API Key,且保留已有自定义配置。选择自定义时传入 source: "custom"provideropenaigeminiseedream)、base_urlmodel、可选 api_keysize(OpenAI / Gemini 默认 auto;Seedream 默认 2048x2048,传入 auto 也会转为此尺寸),返回公开设置。
  • DELETE /api/settings/images:删除当前用户的图片模型配置和 Key,恢复官方默认并返回公开设置。

接口地址必须使用公开 HTTPS 地址;本地开发环境允许 HTTP localhost 接口用于测试。地址不能包含账号密码、查询参数或片段。

目前尚未提供候选图批量生成、图标历史选择界面、独立后台任务进度 API。每次明确生成只请求一张图片,不会自动生成六张。