feat(app-instance): 集成Beaver后端并更新配置管理

集成新的Beaver后端服务到应用实例中,替换原有的nanobot实现。

主要变更包括:
- 在Dockerfile和环境配置中添加Beaver相关路径和配置变量
- 更新工作目录结构从.nanobot到.beaver
- 实现Beaver引擎加载器,支持配置文件加载和工具组装
- 添加内置工具如ListDirectoryTool、ReadFileTool、SearchFilesTool
- 更新消息处理流程,支持通道适配器和网关模式
- 重构技能系统,支持显式工具提示和嵌入式检索
- 改进错误处理和生命周期管理

此变更使应用实例能够使用统一的Beaver后端进行AI代理运行时管理。
This commit is contained in:
2026-04-27 17:37:40 +08:00
parent 36882a7d7b
commit 5ba5c7e4c1
47 changed files with 2821 additions and 462 deletions

View File

@ -1,7 +1,12 @@
"""Skill system for Beaver."""
"""Skill system for Beaver.
from .assembler import SkillAssembler, SkillAssemblyResult, SkillEmbeddingRetriever
from .catalog import SkillRecord, SkillsLoader
顶层包保持 lazy export避免只导入 catalog/loader 时顺带拉起
SkillAssembler -> provider -> litellm 这条重依赖链。
"""
from __future__ import annotations
from typing import Any
__all__ = [
"SkillAssembler",
@ -10,3 +15,22 @@ __all__ = [
"SkillRecord",
"SkillsLoader",
]
def __getattr__(name: str) -> Any:
if name in {"SkillAssembler", "SkillAssemblyResult", "SkillEmbeddingRetriever"}:
from .assembler import SkillAssembler, SkillAssemblyResult, SkillEmbeddingRetriever
return {
"SkillAssembler": SkillAssembler,
"SkillAssemblyResult": SkillAssemblyResult,
"SkillEmbeddingRetriever": SkillEmbeddingRetriever,
}[name]
if name in {"SkillRecord", "SkillsLoader"}:
from .catalog import SkillRecord, SkillsLoader
return {
"SkillRecord": SkillRecord,
"SkillsLoader": SkillsLoader,
}[name]
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")