工作空间
在一个 SubLane 实例中分别管理成员、订阅账号和用量。
工作空间是一套独立的成员和订阅资源。当前空间的名称显示在左侧栏顶部、SubLane 标识旁边;点击名称即可切换正在管理的空间。
订阅账号、账号池、成员权限、个人 API Key、用量分配、请求记录、用量和审计记录都归属于当前工作空间。每位用户只有一个登录账号,但可以在不同空间拥有不同角色。
创建第一个工作空间
新安装的初始化分两步:先设置管理员登录信息,再为第一个工作空间命名。提交第二步后才会一并创建两者,管理员成为该空间的所有者并自动登录。
新空间没有预置账号或账号池。接下来按顺序操作:
- 在「订阅账号」接入并验证订阅。
- 在「账号池」创建账号池,把订阅账号加入池中。
- 在「成员管理」创建成员,并在每人所在行通过「账号池权限」授予可使用的池。
- 成员在「API 密钥」创建自己的 Key。需要限制用量时,管理员再为专用池添加用量分配。
第一次接入可按第一次使用完成调用,准备共享时再看成员与授权。
切换或新增空间
打开 SubLane 标识旁的切换菜单。菜单列出你有权访问的空间、标明当前空间,并提供「创建工作空间」。切换时会重新加载所选空间的私有数据。新建空间的账号、池、成员和密钥都从空白开始。
每位用户最多拥有 10 个工作空间,首位管理员的初始空间也计入。创建第 11 个空间时,接口返回 409 workspace_limit_reached。
Key 始终绑定创建时选定的工作空间和账号池。切换浏览器中的空间不会移动 Key,也不会改变它的请求归属;要使用另一个空间或池,请创建新 Key。
两个演示工作空间的切换菜单:

空间内的权限
| 当前空间的角色 | 可以做什么 |
|---|---|
| 所有者或管理员 | 管理本空间的成员、账号、账号池、授权、额度、用量和审计。 |
| 普通成员 | 管理自己的 Key,查看自己的请求、用量和限制。 |
停用某人在当前空间的成员资格,会阻断其在该空间的浏览器访问和 Key,不影响全局登录或其他空间。首位管理员还负责实例级 Codex 版本设置和备份;其他空间管理员没有这些平台权限。
哪些内容仍属于整个实例
这些工作空间运行在同一个 Go 进程和 SQLite 数据库中。备份包含整个实例的所有空间及加密密钥,目前不能只导出或恢复其中一个空间。商业计费、PostgreSQL 存储和应用多副本暂不包含在当前版本。
浏览器请求会携带所选空间 ID,但服务端仍会逐次检查会话和成员资格。网关请求则根据个人 Key 已保存的绑定确定空间,不能靠浏览器选择头改变归属。新请求和 WebSocket 回合也会重新检查 Key、成员、账号池及模型权限。
**预发布数据库变更:**新数据库先应用合并后的初始化结构,再执行增量迁移。更早期的开发数据库不会自动升级;请保留旧数据目录,再用新的空目录启动本版本。