Files
beaver_project/app-instance/backend/README.md

2.9 KiB
Raw Blame History

Beaver Backend

这是 Beaver 后端。

当前已经落地的主线:

  1. 以统一 engine 为核心,让主 agent 和 sub-agent 共享同一套运行内核。
  2. 聊天入口支持 Main Agent 自动 Task 化、验证、反馈门控。
  3. skills 已有版本化、receipt/effect 记录、学习候选门控,以及后台 assisted learning pipeline。
  4. Agent Team v1 已支持内部 sequence / parallel / dag coordinator。
  5. Task mode 已能通过 TaskExecutionPlanner 按需调用 sub-agent/teamteam node 由 TaskSkillResolver 绑定 published skill缺失时生成 ephemeral guidance最终仍由主 Agent synthesis 生成用户回答。
  6. 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/interfacesCLI / 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 整段缺失时,默认采用隐式 hybridGateway 凭证不完整会告警并只运行 curated memory。
  • 显式配置 "mode": "hybrid" 时,baseUrluserIduserKey 缺失会导致启动失败。
  • 配置 "mode": "curated" 可关闭 Gatewaycurated memory 行为不变。
  • userKey 是密钥,不应写入日志、状态响应或提交到版本库。
  • 容器访问宿主机 Gateway 时不能使用容器内的 127.0.0.1。应让 Gateway 监听 0.0.0.0,并把 baseUrl 配成该 Docker 网络的宿主机网关地址。
  • 修改 memory 配置后需要重启 runtime因为 Gateway 服务在 EngineLoader 启动时创建。