项目管理
项目管理员可以在 Server Web 中管理成员、邀请、源码访问和相关项目。Server 只保存项目元数据、权限和版本快照,不执行上传的项目代码。
项目头像
项目列表、详情和设置使用 projectCard.icon、iconColor 和 iconBackgroundColor 展示头像。未提供头像的新项目使用项目类型图标,并随机生成和保存图标色与背景色,两种颜色的对比度至少为 4.5:1。刷新页面或重新绑定已有项目不会重新随机配色。
旧项目缺少头像时按项目类型展示默认图标和配色;iconUrl 仍可读取,但这些界面统一使用图标与配色。
点击项目列表的头像进入项目详情;详情中的头像可放大预览。成员、上传用户等位置的用户头像可打开当前可见的用户资料;账号菜单头像保留账号菜单入口,个人资料页头像可直接选择上传图片。弹窗支持键盘关闭并将焦点返回原入口。
固定角色
账号只区分普通用户和系统管理员。业务权限按项目或组设置,不能自定义角色。
| 角色 | 累加权限 |
|---|---|
访客 guest | 查看项目、已发布版本、KV、知识库、项目文件与预览;下载已发布源码并本地运行。 |
开发者 developer | 编辑草稿、上传、发布版本,以及增删改服务器 KV、知识库和项目文件。 |
维护者 maintainer | 管理项目信息、图标、公开状态与官方配置;管理访客和开发者。 |
所有者 owner | 分配全部角色、管理所有者、删除项目和转移归属。 |
服务器按每次请求的账号状态和最新成员关系鉴权,Cookie 与 API Key 使用同一规则。撤权、禁用账号或将公开项目改为私有后,后续请求立即失去相应权限;预览凭据也不能绕过校验。访客本地运行可使用本地数据,写服务器数据会返回权限错误。个人配置仍可使用,但遵循已发布模板的字段限制。
组与多级子组
从侧栏“组”创建顶级组,或进入已有组查看子组、项目和面包屑。每个项目属于一个组,或作为未分组的个人项目。权限组与多个项目一起上传、发布的“项目组”相互独立。
登录用户可以创建个人项目和顶级组,并成为所有者。组内开发者可以创建项目,维护者可以创建子组;创建者保留原有继承角色,不自动升级。
有效角色取项目直接角色、所属组和全部祖先组角色的最高值。下级无法降低继承角色;成员页分别显示直接角色、最终角色和来源,继承授权链接定位到来源组。移除直接成员不会移除继承权限。
组目录、项目列表和成员列表在授权范围内进行服务端搜索与分页。公开项目不会让用户获得同组成员权限,也不会暴露同组私有项目。
成员、邀请与申请
维护者只能授予访客、开发者,并管理有效角色低于维护者的成员;所有者可管理全部角色。邀请接受和访问申请审批都重新校验当前权限,不降低用户已有的高角色。角色邀请链接限时且仅可使用一次,接收者需登录;账号邀请及密码设置与项目、组成员邀请分别处理。Server 不代发邮件。
项目和组的邀请列表按可授予角色过滤:维护者只能看到访客和开发者邀请,所有者与系统管理员可查看全部角色。系统管理员也可使用管理员密钥审批访问申请。
公开项目向所有登录用户提供完整访客权限,不新增成员记录。私有项目可通过已发布版本的分享链接申请访问,维护者或所有者批准后加入为访客。源码下载不再维护独立授权;如需撤回已批准的权限,在成员页移除直接角色,并检查继承来源。
顶级组和个人项目至少保留一名活跃所有者,系统会在事务中保护最后一名所有者;组内资源可继承所有者。转移项目或子组需要来源资源、来源组(如有)和目标组的所有者权限,禁止循环嵌套。非空组不能删除,必须先移出项目和子组。
源码与版本
上传任务只解包、静态校验和保存,不安装依赖、构建或加载项目代码。失败时保留已有草稿和历史版本。发布保存不可变版本快照并更新 latest;重复版本返回 409。
开发者上传只能更新草稿,不能借上传参数修改项目管理信息或归属。访客下载已发布版本;草稿读取需要开发者权限。归档不包含 KV、PersistentValue、SQLite、环境文件或 CLI 凭据。
关联项目与批量发布
关联声明包含 alias、目标项目 UUID 和数据读写授权;双方必须互相指向,规则支持 none、all、prefixes。关联读取同时要求用户在消费方和目标方都有读取权限,关联写入要求两侧开发者权限及双方有效写授权。撤销成员或关系后立即拒绝后续访问。
多个项目一起发布时,各依赖及根项目均需开发者权限,逐项复核后发布精确版本;下载时也逐项目检查访客权限,返回缺失依赖和申请入口。源码操作不复制服务器数据。
系统管理与审计
用户管理只设置账号状态和系统管理员身份。系统管理员具有全局管理能力,负责账号、系统审计与管理后台。系统审计仅管理员可读取,记录中的凭据始终脱敏。
HTTP 响应提供 access: { effectiveRole, sources, capabilities }。客户端按能力控制入口;后端独立校验每次操作,不能通过客户端传入角色获取权限。接口与参数以 OpenAPI 规范为准。
项目配置
Core Agent 项目的配置详情第一项为“AI 模型”,可将系统订阅模型和第三方 API 模型加入同一个列表,并编辑、删除或设为默认。添加与编辑使用独立弹窗,通过分段切换选择来源;系统 AI 只需选择 Provider 和模型,名称自动生成。配置项使用有边界的分组,没有发布权限时隐藏单独的“配置值”标签。保存后,Studio / CLI Web 输入框只选择列表中的模型。第三方模型独立于系统 AI 登录;默认分享仅包含字段结构,完整备份包含模型密钥。
作者可在源码 configuration.json 的模型字段声明 allowThirdParty: false。此时只提供系统 AI;保存和导入第三方条目会整批拒绝,发布模型字段保留此规则。旧第三方条目显示为不可用,可删除或改为系统模型;运行时也拒绝自定义端点覆盖。
配置页首先展示配置列表。点击一套配置后进入详情,查看配置值和发布权限,使用“返回列表”返回。正在使用的配置整行高亮并显示“正在使用”标记,其他配置通过“使用此配置”按钮切换。查看详情保留运行配置选择;切换期间禁用重复操作,失败时保留原选择并可重试。返回前需保存或放弃未保存的配置值和权限规则。
字段可直接编辑,修改后统一保存;使用重置图标恢复默认值或清除未声明默认值的字段,无需额外勾选启用。
三种项目类型均支持字段、命名配置及完整导入导出。文件字段直接选择文件并上传到服务器项目文件存储;上传成功后保存引用,按配置字段权限校验,并按上传账号隔离。Studio 与本地 CLI 共用本地存储,Server 按项目和账号隔离。面板关闭时 Studio Control 仍能查询和管理配置。JSON 操作、版本检查和运行快照规则见项目配置。
配置作者在独立的“发布与权限”页选择配置集、默认配置、携带值及字段 / JSON Pointer 编辑规则。官方草稿仅维护者、所有者或系统管理员可保存;接收者预览展示过滤结果,个人配置导入不能修改官方规则。已发布版本的源码分享与下载共用同一不可变模板和附件副本,详见项目配置。
选择已发布版本后,即使项目没有草稿,仍可读取和编辑该版本允许的个人配置。草稿发布校验信息只在读取草稿时返回。
声明 profilePolicy 的项目按实际项目及群组继承角色过滤配置:访客只看到 Ask 等向访客开放的基础配置,可编辑作者开放的值,但不能管理配置集合或字段;开发者可使用 Build 并管理个人配置。固定模式、标签及最低角色不能通过个人请求更改。配置响应、个人导出与附件读取使用相同的权限规则,详见项目配置。
v2 项目的个人配置默认采用最新已发布模板;读取源码草稿的权限不会开放作者未发布的字段或默认值。维护者、所有者及系统管理员仍可管理官方配置草稿。角色控制配置尚未发布时,开发者需要先由维护者发布模板。