Appearance
应用市场发布
自建应用只有本组织能用;发布到市场后,其他组织的管理员可以浏览、安装、 单独授权——一次开发,多组织复用。
1. 上架
在应用设置 →「上架市场」:
- 前提:页面地址必须是
https://(上架强制,本地 http 仅限调试期的私有应用) - 可见范围(audience):
- 留空 = 所有组织可见
- 指定名单 = 只有命中的人/组织/团队能看到并安装:
user_id—— 某个人org:<组织id>—— 该组织全体成员(要求你是该组织成员)team:<团队id>—— 该团队成员(要求你是其所在组织成员)
2. 安装 ≠ 授权
这是市场模型的核心,向你的用户讲清楚:
| 动作 | 谁做 | 效果 |
|---|---|---|
| 安装 | 安装方组织管理员 | 应用出现在他们的工作台,成员可免登打开 |
| 授权 | 安装方组织管理员 | 勾选的能力才对他们的组织生效 |
安装后默认零授权(仅免登)。影响安装方组织成员的能力需要在「权限」里 逐项勾选:contacts(通讯录)、im(消息)、ai_tools(成员 AI 里的工具)、 local(成员设备上的本地能力);而 ai/kb/db 消耗/访问的都是你(发布方) 的资源,不受安装方授权约束(见 能力说明)。
所以应用后端调用开放 API 时要优雅处理 403:提示用户"请联系贵组织管理员 在应用权限里开启 xx 能力",而不是报错崩溃。
3. 让安装方找到你
市场列表展示:应用名、图标、简介、安装数、发布组织。把图标和简介当产品 首页来写——一句话说清"这个应用帮我做什么"。
4. 生命周期事件
上架后建议订阅事件,app.installed / app.uninstalled / app.scopes.granted 会推送到你的后端——做新客引导、账期统计、授权变更感知 都靠它们。
5. 停用 / 下架 / 删除的影响
| 你的操作 | 对安装方 | 对开放 API |
|---|---|---|
| 停用应用 | 工作台不再显示(管理员仍可见以便卸载) | authCode 停发;已有 app token 随过期失效 |
| 下架(改回私有) | 市场不可见;已安装的继续可用,直到你停用 | 不变 |
| 轮换密钥 | 不变 | 所有旧 token 即时失效,安装方后端若自配了你的 secret 需更新(市场应用一般不需要) |
| 删除应用 | 安装关系一并删除 | 凭证即时失效 |
演进策略
页面内容更新无需任何操作(客户端每次打开加载的就是你的最新页面); 接口行为变更请遵循更新日志的兼容性约定并给安装方留迁移期。