功能简介
AppBase 可以把 LLM Gateway、Knowledge Base、Memory、Moderation、Functions、Realtime 与 Project 权限组合成 Agent 应用后端。应用负责定义 Agent 状态、Tool、Run、重试和编排;平台提供受控模型入口、知识检索、长期记忆、内容安全、计算和数据边界。
当前支持范围
- Agent 后端组合能力(APPBASE_ENHANCED):可组合 Models、Knowledge Base、Memory、Moderation、Functions 与项目权限,作为 Agent 应用的后端基础设施;这不是统一 Agent 生命周期运行时。
适用场景
- 构建带来源的 RAG 助手。
- 让长期任务读取受用户范围约束的 Memory。
- 在模型输入、输出或业务写入链路增加 Moderation 与审计。
前置条件
- Project 已配置所需 Provider、Knowledge Base、Memory Binding 和 Function。
- 服务端为每个组件使用最小 Scope。
- 应用已定义明确的超时、幂等、失败降级与人工复核策略。
Console 操作路径
Console 中分别进入 LLM Gateway、Knowledge Base、Memory、Moderation 与 Functions 配置组件。当前没有统一的 Agent 实例、Run 或 Tool 控制台。
SDK 示例
SDK · TypeScript
import { Client as WebClient, LlmGateway } from 'appbase-web-sdk';
import { Client as ConsoleClient } from 'appbase-console-sdk';
import { KnowledgeBaseSdk } from '<CONSOLE_SOURCE>/lib/sdk/knowledge-base';
const webClient = new WebClient()
.setEndpoint('https://<APPBASE_HOST>/v1')
.setProject('<PROJECT_ID>')
.setJWT('<USER_JWT>');
const consoleClient = new ConsoleClient()
.setEndpoint('https://<APPBASE_HOST>/v1')
.setProject('<PROJECT_ID>')
.setKey('<API_KEY>');
const knowledge = new KnowledgeBaseSdk(consoleClient);
const gateway = new LlmGateway(webClient);
const context = await knowledge.search('<KNOWLEDGE_BASE_ID>', {
query: 'Explain project isolation',
searchMode: 'hybrid',
limit: 5
});
const answer = await gateway.createChatCompletion({
model: '<MODEL_ID>',
messages: [{
role: 'user',
content: JSON.stringify({ question: 'Explain project isolation', context: context.results })
}],
maxTokens: 512
});
void answer;REST 示例
REST · Bash
# 先检索 Knowledge Base,再把经过权限过滤的结果交给 LLM Gateway。
curl 'https://<APPBASE_HOST>/v1/knowledgebases/<KNOWLEDGE_BASE_ID>/search' \
-X POST \
-H 'X-Appwrite-Project: <PROJECT_ID>' \
-H 'X-Appwrite-Key: <API_KEY>' \
-H 'Content-Type: application/json' \
--data '{"query":"Explain project isolation","searchMode":"hybrid","limit":5}'常见错误
| 现象 | 处理建议 |
|---|---|
| 模型可用但知识检索失败 | 分别处理组件错误,不能把空上下文伪装成权威答案。 |
| Memory 越权风险 | 在服务端固定 userId/scope,不接受客户端任意覆盖。 |
| Provider 超时 | 设置总预算与超时,按请求幂等性决定重试。 |
| 审核失败 | 采用安全失败或人工复核,不绕过 Moderation。 |
当前限制
- 没有统一 Agent Runtime、Agent 实例、Run、Tool 或多 Agent 调度 API。
- 没有模型训练、权重托管或推理集群生命周期管理。
- 应用仍需自己实现提示词、状态机、Tool 安全和结果评估。
Appwrite 兼容说明
Appwrite 文档只提供产品分类参考;本页的 Agent 组合是 AppBase 源码能力的独立架构说明。
AppBase 增强说明
AppBase 的差异是把模型、知识、记忆、审核和函数放在统一 Project/Scope/Permission 边界内供应用组合。
发布状态和验证 Commit
origin/main 已核验。验证 Commit:0363062a1c7ea08741975bb5ba0c3361663c9353。
权威来源文件列表
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/tooling/ai。上游页面不是 AppBase 实现证据。