实现 AI Core 与 Agent Core 基础功能

- 更新 README 描述从后端壳子到 AI Core/Agent Core
- 添加 ToolCall 和 ToolResult 数据结构定义
- 扩展 AgentRun 模型增加输出、错误码、工具调用结果等字段
- 添加 mock 提供商类型支持
- 实现聊天、代理运行、工具调用和提供商管理的核心路由逻辑
- 集成容器化依赖注入和错误处理机制
- 更新 API 接口契约和文档说明
This commit is contained in:
2026-08-27 13:55:00 +08:00
parent ce155b27f4
commit b71984d951
18 changed files with 1369 additions and 40 deletions
+49
View File
@@ -0,0 +1,49 @@
from dataclasses import dataclass
from app.agent import AgentRuntime, PermissionManager, PermissionPolicy, ToolRegistry
from app.agent.builtin_tools import register_builtin_tools
from app.contracts import ModelCapability, ProviderConfig, ProviderType
from app.providers import MockProvider, ProviderRegistry
@dataclass(frozen=True)
class ApplicationContainer:
providers: ProviderRegistry
tools: ToolRegistry
permissions: PermissionManager
agent: AgentRuntime
def build_container() -> ApplicationContainer:
providers = ProviderRegistry()
providers.register(
ProviderConfig(
provider_id="mock",
provider_type=ProviderType.mock,
name="Mock Provider",
default_model="mock-1",
enabled=True,
capabilities=[
ModelCapability.chat,
ModelCapability.tool_calling,
ModelCapability.streaming,
],
),
MockProvider(),
)
tools = ToolRegistry()
register_builtin_tools(tools)
policy = PermissionPolicy()
permissions = PermissionManager(policy)
agent = AgentRuntime(providers=providers, tools=tools, permissions=permissions)
return ApplicationContainer(
providers=providers,
tools=tools,
permissions=permissions,
agent=agent,
)
container = build_container()