完成目标
用一条可验收的控制面路径创建 Organization 与 Project,并把成员归属、应用边界和接入凭据分开管理。完成后再进入数据或 Agent 能力开发。
1 个 Organization承载成员、角色、用量与项目归属
1 个 Project隔离应用资源、配置与数据
可接入的项目边界平台与密钥按客户端、服务端分开
开始前准备
- 使用已登录且允许创建 Organization 的 Console 账号。
- 准备稳定且不与其他环境混用的 Organization ID、Project ID 和名称。
- 明确谁负责组织管理,谁只负责 Project 内开发;普通 Project API Key 不能代替 Console Session。
按步骤完成
创建 Organization
在 Console 的组织切换器中选择创建 Organization,填写稳定 ID 与名称。Organization 是成员、角色、用量和 Project 归属的控制面边界。
创建 Project
在目标 Organization 下创建 Project。按环境或应用拆分 Project,不要让开发、测试和生产共用同一资源边界。
准备客户端与服务端接入
在 Project 概览中为 Web、Android 或 Apple 客户端登记 Platform;服务端按最小 Scope 创建 API Key,开发调试可使用 Dev Key。密钥只在受控服务端保存。
SDK 示例
SDK · TypeScript
import { Client, SelfHostedOrganizations, Projects } from 'agentbase-console-sdk';
const client = new Client().setEndpoint('https://<APPBASE_HOST>/v1');
const organizations = new SelfHostedOrganizations(client);
await organizations.create({
organizationId: '<ORGANIZATION_ID>',
name: 'Example organization'
});
const projects = new Projects(client);
await projects.create({
projectId: '<PROJECT_ID>',
name: 'Example project',
teamId: '<ORGANIZATION_ID>'
});REST 示例
REST · Bash
curl 'https://<APPBASE_HOST>/v1/organizations' \
-X POST \
-H 'Cookie: <CONSOLE_SESSION_COOKIE>' \
-H 'Content-Type: application/json' \
--data '{"organizationId":"<ORGANIZATION_ID>","name":"Example organization"}'常见错误
| 现象 | 处理建议 |
|---|---|
401 user_unauthorized | 先完成 Console 登录;不要传仅有 Project Scope 的 API Key。 |
403 | 确认当前账号拥有创建组织或在目标组织创建 Project 的角色。 |
409 | Organization ID 或 Project ID 已存在时改用新的稳定 ID。 |
当前限制
- Cloud 与自托管的组织计费字段、区域和可选能力可能不同。
- 组织成员邀请需要收件通道或可访问的确认 URL。
- Project 创建成功不表示所有依赖型服务已启用。
Appwrite 兼容说明
Project 仍是兼容核心 API 的主要隔离边界;Organization 是 Agentbase 已核验的控制面增强。
Agentbase 增强说明
Agentbase 在自托管控制面显式提供 Organization 生命周期、成员、角色、用量、配额与审计接口。