|
|
hace 1 mes | |
|---|---|---|
| .. | ||
| adapters | hace 1 mes | |
| advanced | hace 1 mes | |
| builtin | hace 1 mes | |
| README.md | hace 1 mes | |
| __init__.py | hace 1 mes | |
| models.py | hace 1 mes | |
| registry.py | hace 1 mes | |
| schema.py | hace 1 mes | |
| sensitive.py | hace 1 mes | |
| url_matcher.py | hace 1 mes | |
工具系统提供 Agent 可调用的各种能力:
工具注册 (registry.py)
@toolSchema 生成 (schema.py)
工具模型 (models.py)
ToolResult - 工具执行结果ToolContext - 工具执行上下文内置工具 (builtin/)
read_file - 读取文件edit_file - 编辑文件write_file - 写入文件glob_files - 文件搜索grep_content - 内容搜索bash_command - 执行 Shell 命令skill - 加载技能文档高级工具 (advanced/)
适配器 (adapters/)
创建自定义工具:
from agent.tools import tool, ToolResult
@tool(description="Calculate sum of two numbers")
async def add(a: int, b: int, uid: str = "") -> ToolResult:
"""
Add two numbers
Args:
a: First number
b: Second number
uid: User ID (auto-injected)
Returns:
ToolResult with sum
"""
return ToolResult(
success=True,
data={"sum": a + b}
)
registry.py - 工具注册表和装饰器schema.py - OpenAI schema 生成models.py - ToolResult 等数据模型sensitive.py - 敏感数据处理url_matcher.py - URL 模式匹配builtin/ - 核心工具advanced/ - 高级工具adapters/ - 外部集成tools/
├── __init__.py # 工具装饰器和注册表
├── registry.py # 核心注册逻辑
├── schema.py # Schema 生成
├── models.py # 数据模型
├── builtin/ # 核心工具(必需)
│ ├── read.py
│ ├── edit.py
│ ├── write.py
│ ├── glob.py
│ ├── grep.py
│ ├── bash.py
│ └── skill.py
├── advanced/ # 高级工具(可选)
│ ├── lsp.py
│ └── webfetch.py
└── adapters/ # 外部集成(可选)
└── browser_use/