2.9 KiB
2.9 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。两套存储不会互相同步、覆盖或去重。
完整配置示例:
{
"memory": {
"mode": "hybrid",
"gateway": {
"baseUrl": "http://127.0.0.1:8010",
"userId": "gateway_test_user",
"userKey": "uk_xxx",
"appId": "default",
"projectId": "default",
"scope": ["current_chat", "resources"],
"topK": 8,
"timeoutSeconds": 10
}
}
}
memory整段缺失时,默认采用隐式hybrid;Gateway 凭证不完整会告警并只运行 curated memory。- 显式配置
"mode": "hybrid"时,baseUrl、userId和userKey缺失会导致启动失败。 - 配置
"mode": "curated"可关闭 Gateway,curated memory 行为不变。 userKey是密钥,不应写入日志、状态响应或提交到版本库。- 容器访问宿主机 Gateway 时不能使用容器内的
127.0.0.1。应让 Gateway 监听0.0.0.0,并把baseUrl配成该 Docker 网络的宿主机网关地址。 - 修改 memory 配置后需要重启 runtime,因为 Gateway 服务在
EngineLoader启动时创建。