工具 API
Lyncore 内置丰富工具(联网搜索、网页抓取、代码执行、文件、浏览器、媒体、邮件日历等)。本页说明工具在 API 层面的真实调用方式。
重要事实:代码层面不存在
/api/v1/tools(列表)或/api/v1/tools/call(通用调用)这类 REST 路由。工具不是在外部直接POST一个tool+args来调用的——它们由 对话函数调用(FC)循环 或 MCP 在内部触发。唯一的「直接执行」端点是下面的/api/v4/tools/execute(个人版、仅供 E2E)。
工具如何被调用
- 正常路径:在
POST /api/v1/chat中,Agent 通过函数调用自动决定使用哪个工具;工具执行发生在服务端内部,结果以 SSE 帧tool_call/tool_result推回(见 对话 API)。 - MCP 路径:外部系统可通过
POST /api/v1/mcp(JSON-RPC)调用已接入的 MCP 工具;企业版另提供tools/list与tools/call子端点。
POST /api/v4/tools/execute
个人版独有,且无鉴权(仅供端到端测试)。向一段 prompt 发起一次同步的函数调用循环,返回工具执行结果。
bash
curl -X POST http://localhost:19824/api/v4/tools/execute \
-H "Content-Type: application/json" \
-d '{"prompt": "用 web_search 查一下今天上海天气"}'该端点不挂载鉴权中间件,请勿在不可信网络暴露。生产集成请走
POST /api/v1/chat或 MCP。
GET /api/v4/tools/collab-graph
企业版独有。返回工具协作关系图(用于可观测与编排分析)。
GET /api/v4/tools/collab-heatmap
企业版独有。返回工具调用热力图。
真实工具清单(按类别)
| 类别 | 工具 | 版本 |
|---|---|---|
| 搜索 | web_search(DDG+Bing+Baidu 正则解析,无 API Key)、web_fetch(抓取网页,不支持登录页/SPA/图片/PDF) | 两者 |
| 通信 | email(SMTP 仅发,587,无收件/无 OAuth)、calendar(CalDAV 仅 list/create) | 两者 |
| 文件 | file_write / file_read / file_list / file_delete / search_files / edit_file(受 LYNCORE_MCP_FILE_ROOT 限制) | 两者 |
| 浏览器 | browser(Chromedp:read/screenshot/snapshot/act/vision,无 PDF 导出,会话 TTL 5min) | 两者 |
| 媒体 | media.generate_image / media.tts / media.asr(ASR 仅 HTTP 端点,无 MCP 工具) | 个人 |
| 代码 | python_exec、bash_exec(个人版独有,含模块/命令黑名单) | 个人 |
| 桌面 | computer_use(个人版独有,需 cua-driver) | 个人 |
| 通用 | calculator、api_request、json、translate、github、create_directory | 两者 |
以下名称在代码中不存在,请勿使用:
ddg_search、reminder、json_convert、image_gen(旧名)、file_ops。
工具风险分级
代码内部对工具定义了风险枚举(READ / CREATE / MODIFY / DESTRUCTIVE)与触发模式(AUTO / CONFIRM / ADMIN)。当前没有前端页面可配置「按风险阈值自动放行/拦截」的规则——CONFIRM 类工具在个人版通过 POST /api/v1/chat/approval 回填审批(见 对话 API)。
完整工具说明见 工具总览 及各工具页。