5.5 实战:MiniHarness 工具层实现
5.5.1 工具抽象与基类
from abc import ABC, abstractmethod
class Tool(ABC):
"""工具基类 - 定义工具的通用契约"""
@abstractmethod
async def call(self, params: Dict[str, Any]) -> ToolResult:
"""执行工具的核心逻辑"""
pass
@abstractmethod
def name(self) -> str:
"""工具的唯一标识符"""
pass
@abstractmethod
def description(self) -> str:
"""工具描述"""
pass
@abstractmethod
def input_schema(self) -> Dict[str, Any]:
"""JSON Schema 定义输入约束"""
pass
def check_permissions(self, context: Any) -> bool:
"""权限检查钩子 - 可被子类覆盖"""
return True5.5.2 工具执行流水线
5.5.3 工具注册表
5.5.4 内置工具示例
5.5.5 扩展路径
5.5.6 本节小结
最后更新于
