浏览全部文档 · 1/37

功能简介

AppBase 以 Project 为资源和权限边界,保留身份、数据、文件、计算与实时事件这些应用后端能力,并加入组织治理、数据结构演进和 AI 应用所需的模型、知识、记忆与内容安全组件。它提供的是可组合后端基础设施,而不是替应用决定业务流程。

当前支持范围

  • 身份认证与账号(SUPPORTED):为应用提供注册、登录、会话、JWT、多因素认证、账号验证与用户管理;具体登录渠道由项目配置决定。
  • 数据库(SUPPORTED):在项目边界内创建和管理数据库,并通过权限化 API 组织结构与数据。
  • 对象存储(SUPPORTED):统一管理 Bucket、File、分片上传、下载与预览,并沿用项目和资源权限模型。
  • 云函数(SUPPORTED):创建、部署和执行函数,并按事件或计划触发计算任务;运行时需要实例配置构建器与执行器。
  • 实时订阅(SUPPORTED):通过 WebSocket 按频道订阅账号、数据、文件、函数等事件,并在发送前应用项目权限过滤。
  • Agent 后端组合能力(APPBASE_ENHANCED):可组合 Models、Knowledge Base、Memory、Moderation、Functions 与项目权限,作为 Agent 应用的后端基础设施;这不是统一 Agent 生命周期运行时。

适用场景

  • 为 Web、移动端或服务端应用建立统一后端。
  • 在同一 Project 内组合 Auth、TablesDB、Storage、Functions 与 Realtime。
  • 为 RAG、长期记忆或内容审核型 Agent 应用准备受权限约束的数据面。

前置条件

  • 可访问一个 AppBase 实例。
  • 已创建 Organization 与 Project,或由管理员提供 Project ID。
  • 根据调用位置选择用户 Session/JWT 或最小 Scope 的 API Key。

Console 操作路径

登录 Console 后先选择 Organization,再进入目标 Project。核心服务位于 Project 左侧导航;Organization 管理、成员与配额位于组织级页面。页面是否显示还受实例开关和当前角色影响。

SDK 示例

SDK · TypeScript
import { Client } from 'appbase-web-sdk';

const client = new Client()
  .setEndpoint('https://<APPBASE_HOST>/v1')
  .setProject('<PROJECT_ID>');
// 以当前用户身份读取账号,确认 endpoint、project 与 Session 可用。
import { Account } from 'appbase-web-sdk';
const account = new Account(client);
const me = await account.get();

REST 示例

REST · Bash
curl 'https://<APPBASE_HOST>/v1/account' \
  -H 'X-Appwrite-Project: <PROJECT_ID>' \
  -H 'X-Appwrite-JWT: <USER_JWT>'

权限模型

浏览器端通常使用 Session 或 JWT,并继续受资源 Permission 约束;服务端 API Key 必须只授予所需 Scope。Organization 控制面与 Project 数据面不是同一种身份边界,不能用 Project API Key 代替 Console Session 管理组织。

常见错误

现象处理建议
401user_unauthorized确认请求使用了当前接口允许的 Session、JWT 或 API Key;不要把 Console Session 与 Project API Key 混用。
403general_access_forbidden检查 API Key Scope、组织角色以及资源级 Permission;认证成功不等于拥有目标操作权限。
404核对资源 ID 与 Project;不可见资源可能与不存在资源使用相同响应,客户端不应据此探测资源。
429按响应的限流语义退避,避免并发重试放大请求。

当前限制

  • Messaging、Sites、Self-hosting 与网络能力带有实例依赖,必须阅读各自边界页。
  • Agent 能力是 Models、Knowledge Base、Memory、Moderation、Functions 与权限的组合,不存在统一 Agent 实例或 Run 生命周期 API。

Appwrite 兼容说明

分类上沿用 Auth、Databases、Storage、Functions、Messaging、Sites、API 与 Realtime 等熟悉术语;正文、示例和能力结论均由 AppBase 代码与测试独立推导。

AppBase 增强说明

相较基础 BaaS,AppBase 的已核验增强集中在 Organization、Column Comment、Aggregation、Schema Version、LLM Gateway、Knowledge Base、Memory 与 Moderation。

发布状态和验证 Commit

origin/main 已核验。验证 Commit:0363062a1c7ea08741975bb5ba0c3361663c9353

权威来源文件列表

  • backend-candidate:app/controllers/api/account.php
  • backend-candidate:app/realtime.php
  • backend-candidate:src/Appwrite/Platform/Modules/Account/Services/Http.php
  • backend-candidate:src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Create.php
  • backend-candidate:src/Appwrite/Platform/Modules/Databases/Http/TablesDB/XList.php
  • backend-candidate:src/Appwrite/Platform/Modules/Functions/Http/Functions/
  • backend-candidate:src/Appwrite/Platform/Modules/Storage/Http/Buckets/
  • backend-candidate:tests/e2e/Services/Account/AccountCustomClientTest.php
  • backend-candidate:tests/e2e/Services/Databases/DatabasesBase.php
  • backend-candidate:tests/e2e/Services/Functions/FunctionsCustomServerTest.php
  • backend-candidate:tests/e2e/Services/Realtime/
  • backend-candidate:tests/e2e/Services/Storage/StorageBase.php
  • frontend-candidate:console/src/routes/(console)/project-[region]-[project]/auth/
  • frontend-candidate:console/src/routes/(console)/project-[region]-[project]/databases/
  • frontend-candidate:console/src/routes/(console)/project-[region]-[project]/functions/
  • frontend-candidate:console/src/routes/(console)/project-[region]-[project]/storage/
  • frontend-candidate:packages/sdks/client-web/src/services/realtime.ts
  • origin-main:src/Appwrite/Platform/Modules/Functions/
  • origin-main:src/Appwrite/Platform/Modules/KnowledgeBases/
  • origin-main:src/Appwrite/Platform/Modules/LLMGateway/
  • origin-main:src/Appwrite/Platform/Modules/Memory/
  • origin-main:src/Appwrite/Platform/Modules/Moderation/

Appwrite taxonomy 仅作信息架构参考:https://appwrite.io/docs/apis/realtimehttps://appwrite.io/docs/products/authhttps://appwrite.io/docs/products/databaseshttps://appwrite.io/docs/products/functionshttps://appwrite.io/docs/products/storagehttps://appwrite.io/docs/tooling/ai。上游页面不是 AppBase 实现证据。

继续阅读