* 新增 MemoryGatewayConfig 和 MemoryConfig dataclass,用于配置管理。 * 实现 MemoryGatewayUserCredential 和 MemoryGatewayCredentialStore,用于处理用户凭据。 * 创建 MemoryGatewayService,用于管理与 Memory Gateway 的交互。 * 开发用于记忆设置的 JSON 配置文件。 * 增强单元测试,覆盖新功能,包括凭据存储和服务行为。 * 更新 entrypoint 和实例创建脚本,以初始化 Memory Gateway 用户存储。
3.3 KiB
3.3 KiB
Beaver Backend
这是 Beaver 后端。
当前已经落地的主线:
- 以统一
engine为核心,让主 agent 和 sub-agent 共享同一套运行内核。 - 聊天入口支持 Main Agent 自动 Task 化、验证、反馈门控。
- skills 已有版本化、receipt/effect 记录、学习候选门控,以及后台 assisted learning pipeline。
- Agent Team v1 已支持内部
sequence / parallel / dagcoordinator。 - Task mode 已能通过
TaskExecutionPlanner按需调用 sub-agent/team;team node 由TaskSkillResolver绑定 published skill,缺失时生成 ephemeral guidance,最终仍由主 Agent synthesis 生成用户回答。 - Skill Learning 已支持后台 run-once/worker 自动生成 draft、safety report、eval report、人工审核发布和前端审核工作台;worker 不会自动 approve/publish。
当前结构
beaver/foundation:底层公共设施beaver/engine:统一 agent 内核beaver/coordinator:多 agent 协调层beaver/tools:工具系统beaver/skills:技能系统beaver/memory:记忆与经验沉淀beaver/permissions:权限与治理beaver/services:应用服务层beaver/interfaces:CLI / Web / Gateway / Channels 薄入口beaver/integrations:外部系统与协议集成
说明
后端已切到 Beaver 主线,不再保留旧实现、vendored 第三方 runtime 或迁移期旧命名兼容入口。所有 agent 运行都复用 beaver.engine,多 agent 协调通过 Beaver 自有 coordinator 和 ExecutionGraph 表达。
Memory Gateway
Curated memory 始终启用:每轮仍会冻结并注入 MEMORY.md / USER.md,原有
memory 工具也保持可用。hybrid 模式会额外启用独立的 Memory Gateway 层,
每轮先调用 /memories/search,正常完成后调用一次 /memories/add,成功后再调用
一次 /memories/flush。两套存储不会互相同步、覆盖或去重。
共享 Gateway 配置放在:
app-instance/backend/memory/config.json
当前默认内容:
{
"memory": {
"mode": "hybrid",
"gateway": {
"baseUrl": "http://172.19.207.37:8010",
"appId": "default",
"projectId": "default",
"scope": ["current_chat", "resources", "all_user_memory"],
"topK": 8,
"timeoutSeconds": 10
}
}
}
每个实例自己的 Gateway 用户凭证放在:
/root/.beaver/memory_gateway_users.json
格式示例:
{
"users": {
"tom": {
"userId": "tom",
"userKey": "uk_xxx"
}
}
}
- 前端
POST /api/auth/register会用 Beaver 登录用户名调用 GatewayPOST /users,并把返回的userId/userKey写入实例凭证文件。 - REST
/api/chat和 WebSocket/ws/...只使用登录 token 解析出的 Beaver 用户名来选择 Gateway 凭证,请求体里的user_id不参与 Gateway 身份选择。 - 某个登录用户还没有 Gateway 凭证时,这一轮只走 curated memory,不会报 chat 级错误。
BEAVER_MEMORY_CONFIG_PATH可覆盖共享 memory 配置路径,BEAVER_MEMORY_GATEWAY_USERS_PATH可覆盖实例凭证路径。userKey是密钥,不应写入日志、状态响应或提交到版本库。- 修改共享 memory 配置后需要重启 runtime,因为 Gateway 相关对象在
EngineLoader启动时装配。