Files
beaver_project/app-instance/backend/tests/unit/test_imports.py
steven_li 5ba5c7e4c1 feat(app-instance): 集成Beaver后端并更新配置管理
集成新的Beaver后端服务到应用实例中,替换原有的nanobot实现。

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

此变更使应用实例能够使用统一的Beaver后端进行AI代理运行时管理。
2026-04-27 17:37:40 +08:00

50 lines
1.6 KiB
Python

from beaver.engine import AgentLoop, EngineLoader
from beaver.foundation.events import InboundMessage, MessageBus, OutboundMessage
from beaver.interfaces.channels import ChannelManager, MemoryChannelAdapter
from beaver.interfaces.gateway.main import run_gateway
from beaver.interfaces.web.app import create_app
from beaver.interfaces.web.schemas import WebChatRequest, WebChatResponse
def test_agent_loop_boots(tmp_path) -> None:
loop = AgentLoop(loader=EngineLoader(workspace=tmp_path))
loaded = loop.boot()
assert "echo" in loaded.tools
assert "memory" in loaded.tools
assert "session_search" in loaded.tools
def test_web_app_factory() -> None:
app = create_app()
assert app.title == "Beaver Backend"
def test_gateway_entry_imports() -> None:
assert callable(run_gateway)
def test_message_bus_imports() -> None:
bus = MessageBus()
assert isinstance(bus, MessageBus)
assert InboundMessage(channel="test", content="hello").channel == "test"
assert OutboundMessage(channel="test", content="ok", session_id=None, finish_reason="stop").content == "ok"
def test_channel_imports() -> None:
bus = MessageBus()
channel = MemoryChannelAdapter(bus)
manager = ChannelManager(bus)
manager.register(channel)
assert manager.channels["memory"] is channel
def test_web_schema_imports() -> None:
assert WebChatRequest(message="hello").message == "hello"
assert WebChatResponse(
session_id="s",
run_id="r",
output_text="ok",
finish_reason="stop",
tool_iterations=0,
).output_text == "ok"