工具列表
工具装配 (ToolCatalog)
工具列表不再由各调用方手动拼装 make_*.py 函数。 cococat/core/tools/__init__.py 中的 ToolCatalog 按 Agent 角色提供预设:
| 预设 | 方法 | 工具集 |
|---|---|---|
| Worker | catalog.worker() | 全部工具(文件读写、bash、浏览器、web、dag、记忆…) |
| Main AI | catalog.main_ai() | 编排工具(dag、只读文件、web、kb) |
| Resident | catalog.resident(kb_agent=False) | 常驻工具(dag、记忆、call_worker、kb) |
| KB Agent | catalog.resident(kb_agent=True) | 同上 + kb_admin 工具 |
调用方只需创建一次 ToolCatalog(sub_agent_executor=..., dag_store=...) 然后按名取用。
工具清单
共 26 种工具(不含测试工具),按功能分组。权限级别:READONLY < WORKSPACE_WRITE < FULL_ACCESS。
文件操作 (5)
| 工具 | 权限 | 参数 | 说明 |
|---|---|---|---|
read_file | READONLY | path, offset?, limit? | 读取文本文件 |
write_file | WORKSPACE_WRITE | path, content | 写入文件(自动创建目录) |
edit_file | WORKSPACE_WRITE | path, old_string, new_string, replace_all? | 搜索替换文本 |
glob_search | READONLY | pattern, path? | Glob 模式搜索文件 |
grep_search | READONLY | pattern, include?, path? | 文件内容正则搜索 |
系统 (2)
| 工具 | 权限 | 参数 | 说明 |
|---|---|---|---|
exec_command | FULL_ACCESS | command, timeout?, description? | 执行 shell 命令(沙箱过滤) |
mcp_call | FULL_ACCESS | server_command, tool_name, arguments? | 调用 MCP 服务器工具 |
Agent 协作 (4)
| 工具 | 权限 | 参数 | 说明 |
|---|---|---|---|
sub_agent | FULL_ACCESS | prompt, name? | 创建子 agent 处理子任务 |
dispatch_task | FULL_ACCESS | target_id, prompt | 分发任务给其他 agent |
send_message | FULL_ACCESS | to, message | 发送邮箱消息给其他 agent |
hire_agent | FULL_ACCESS | id, name, role, objective?, traits?, background?, rules? | 请求雇佣新 agent |
记忆 (4)
| 工具 | 权限 | 参数 | 说明 |
|---|---|---|---|
remember | WORKSPACE_WRITE | content, user_id? | 存储事实到长期记忆 |
recall | READONLY | keyword?, user_id? | 检索长期记忆 |
revert_memory | WORKSPACE_WRITE | — | 回滚上次 Dream 提交 |
dream | WORKSPACE_WRITE | scope? | 主动触发 Dream 记忆整合 |
知识库 (2)
| 工具 | 权限 | 参数 | 说明 |
|---|---|---|---|
search_kb | READONLY | query, max_results? | 搜索当前场景挂载的知识库 |
ingest_to_kb | WORKSPACE_WRITE | kb_id, source_filename | 摄取源文件到知识库 |
Web (2)
| 工具 | 权限 | 参数 | 说明 |
|---|---|---|---|
web_fetch | READONLY | url, max_chars? | 获取 URL 内容为文本 |
web_search | READONLY | query, max_results? | DuckDuckGo 网页搜索 |
浏览器 (1)
| 工具 | 权限 | 参数 | 说明 |
|---|---|---|---|
browser | FULL_ACCESS | action, url?, selector?, value?, path?, direction? | 控制无头浏览器(基于Playwright)。动作: navigate / click / fill / extract / screenshot / scroll / links |
技能 (4)
| 工具 | 权限 | 参数 | 说明 |
|---|---|---|---|
skill_manage | WORKSPACE_WRITE | action, source?, name?, query? | 管理技能。动作: install / uninstall / search / list |
learn_skill | — | skill_name | 学习新技能(添加到 manifest) |
forget_skill | — | skill_name | 忘记已学技能 |
list_skills | — | — | 列出所有已学技能 |
代码智能 (1)
| 工具 | 权限 | 参数 | 说明 |
|---|---|---|---|
lsp_query | READONLY | action, file_path, line, col, language?, server_command? | 查询语言服务器。动作: hover / definition / references |
其他 (1)
| 工具 | 权限 | 参数 | 说明 |
|---|---|---|---|
ask_user | FULL_ACCESS | question, options? | 向用户提问并等待回答 |
通过 Schema 替代的工具
以下操作不再作为独立工具,改为在系统提示的 ## Wiki Maintenance 节中通过 schema 引导 LLM 使用通用工具完成:
| 原工具 | 替代方式 |
|---|---|
lint_wiki | grep + read_file 遍历检查 |
save_to_kb | write_file 写入 wiki 目录 |
clip_to_kb | web_fetch + write_file |
generate_overview | read_file 遍历 + write_file |
插件工具
插件通过 plugin.json 注册自定义工具,动态加载到 ToolRegistry。参见 17-插件系统。
MCP Server 工具
MCP 服务器暴露 6 个工具给 Claude Desktop 等 MCP 客户端:
| 工具 | 说明 |
|---|---|
read_file | 读取文件(PathValidator 保护) |
write_file | 写入文件(atomic_write) |
exec_command | 执行命令(CommandValidator + EnvSanitizer + OutputTruncator) |
glob_search | Glob 模式搜索 |
grep_search | 内容正则搜索 |
web_fetch | 获取 URL 内容 |
参见 18-MCP服务器。