199 lines
5.8 KiB
Markdown
199 lines
5.8 KiB
Markdown
# PicoBot 工具说明
|
||
|
||
## send_message — 向指定渠道发送消息
|
||
|
||
向指定会话发送消息,可附带文件或图片。
|
||
|
||
### 参数
|
||
|
||
| 参数 | 必填 | 说明 |
|
||
|------|------|------|
|
||
| `target_chat_id` | 是 | 目标会话 ID,格式 `<channel>:<chat_id>` 或 `<channel>:<chat_id>:<dialog_id>` |
|
||
| `content` | 是 | 消息文本内容 |
|
||
| `files` | 否 | 文件路径列表 |
|
||
| `origin` | 否 | 消息来源标识,不填则自动使用当前 session_id |
|
||
| `file_types` | 否 | 指定文件发送类型,`{"路径": "audio"|"file"}`。未指定则自动判断 |
|
||
|
||
### file_types 说明
|
||
|
||
控制文件以何种消息类型发送,主要用于飞书渠道:
|
||
|
||
- `"audio"`:作为语音消息发送(仅 opus 格式支持)
|
||
- `"file"`:作为文件附件发送
|
||
|
||
飞书渠道限制:上传类型和消息类型必须一致。opus 文件以 `"audio"` 发送,其他音频(mp3、wav 等)只能以 `"file"` 发送。
|
||
|
||
### 示例
|
||
|
||
```json
|
||
{
|
||
"target_chat_id": "feishu:oc_abc123",
|
||
"content": "这是生成的音乐文件",
|
||
"files": ["/workspace/music.mp3"],
|
||
"file_types": {"/workspace/music.mp3": "file"}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## chat_manager — 会话管理
|
||
|
||
查看和管理会话及消息。
|
||
|
||
### 参数
|
||
|
||
| 参数 | 必填 | 说明 |
|
||
|------|------|------|
|
||
| `action` | 是 | 操作: `list_sessions`, `list_channels`, `list_messages` |
|
||
| `session_id` | 部分 | `list_messages` 时必填 |
|
||
| `count` | 否 | 返回数量(默认 20,最大 100) |
|
||
| `offset` | 否 | 跳过前 N 条,用于翻页 |
|
||
| `before_time` | 否 | Unix 时间戳(秒),返回该时间之前的消息 |
|
||
| `after_time` | 否 | Unix 时间戳(秒),返回该时间之后的消息 |
|
||
|
||
---
|
||
|
||
## cron — 定时任务管理
|
||
|
||
管理 cron 定时任务。
|
||
|
||
### 参数
|
||
|
||
| 参数 | 必填 | 说明 |
|
||
|------|------|------|
|
||
| `action` | 是 | 操作: `add`, `list`, `update`, `remove`, `enable`, `disable` |
|
||
| `name` | add必须 | 任务名称 |
|
||
| `schedule` | add需要 | 调度规则: `once`(时间戳), `every`(间隔秒), `cron`(表达式) |
|
||
| `prompt` | add必须 | 任务提示词 |
|
||
| `channel` | add必须 | 执行渠道 |
|
||
| `chat_id` | add必须 | 目标对话 |
|
||
|
||
---
|
||
|
||
## memory_store — 存储记忆
|
||
|
||
写入长期记忆(Knowledge 类别)。
|
||
|
||
| 参数 | 必填 | 说明 |
|
||
|------|------|------|
|
||
| `key` | 是 | 记忆唯一键,同 key 覆盖旧值 |
|
||
| `content` | 是 | 记忆内容 |
|
||
| `importance` | 否 | 重要性 (0.0–1.0) |
|
||
|
||
## memory_recall — 搜索知识记忆
|
||
|
||
关键词全文搜索 Knowledge 记忆。
|
||
|
||
| 参数 | 必填 | 说明 |
|
||
|------|------|------|
|
||
| `query` | 是 | 空格分隔的关键词列表 |
|
||
| `since` | 否 | 起始时间戳(unix 毫秒) |
|
||
| `until` | 否 | 结束时间戳 |
|
||
| `limit` | 否 | 返回数量(默认 10) |
|
||
|
||
## timeline_recall — 搜索时间线
|
||
|
||
搜索压缩后的历史会话摘要。
|
||
|
||
| 参数 | 必填 | 说明 |
|
||
|------|------|------|
|
||
| `query` | 是 | 关键词 |
|
||
| `session_id` | 否 | 限定会话 |
|
||
| `since` | 否 | 起始时间 |
|
||
| `until` | 否 | 结束时间 |
|
||
| `limit` | 否 | 返回数量 |
|
||
|
||
## memory_forget — 删除记忆
|
||
|
||
按 key 删除记忆。
|
||
|
||
| 参数 | 必填 | 说明 |
|
||
|------|------|------|
|
||
| `key` | 是 | 要删除的记忆键 |
|
||
|
||
---
|
||
|
||
## get_skill — 获取 Skill
|
||
|
||
查询 skill 内容。
|
||
|
||
| 参数 | 必填 | 说明 |
|
||
|------|------|------|
|
||
| `action` | 否 | 操作: `get`(默认), `list` |
|
||
| `skill_name` | get时必填 | Skill 名称 |
|
||
|
||
---
|
||
|
||
## delegate — 子 Agent 委托
|
||
|
||
创建子 Agent 处理独立任务。
|
||
|
||
| 参数 | 必填 | 说明 |
|
||
|------|------|------|
|
||
| `action` | 是 | `run`, `check_task`, `cancel_task`, `list_tasks` |
|
||
| `prompt` | run 必填 | 子任务描述 |
|
||
| `mode` | 否 | `inline`, `background`, `parallel`,默认 `inline` |
|
||
| `allowed_tools` | 否 | 子 Agent 可用工具列表;默认只读工具集 |
|
||
| `max_iterations` | 否 | 最大迭代次数,默认 99 |
|
||
| `timeout_secs` | 否 | 超时秒数,默认 3600 |
|
||
| `tasks` | parallel 必填 | 并行子任务数组 |
|
||
| `task_id` | 查询/取消必填 | 后台任务 ID |
|
||
|
||
默认只读工具集:`file_read`、`file_search`、`content_search`、`web_fetch`、`http_request`、`calculator`。
|
||
|
||
---
|
||
|
||
## browser — 浏览器自动化
|
||
|
||
仅在 `browser.enabled=true` 时注册。底层使用 WebDriver/Chrome。
|
||
|
||
| action | 说明 |
|
||
|--------|------|
|
||
| `open` | 打开 URL |
|
||
| `snapshot` | 获取页面结构快照 |
|
||
| `click`, `click_at` | 点击元素或坐标 |
|
||
| `fill`, `type`, `press` | 输入文本或按键 |
|
||
| `get_text`, `get_title`, `get_url` | 读取页面信息 |
|
||
| `screenshot` | 截图,可写入文件或返回 base64 |
|
||
| `focus`, `hover`, `scroll`, `wait` | 常见交互和等待 |
|
||
| `close` | 关闭浏览器会话 |
|
||
|
||
---
|
||
|
||
## MCP 工具
|
||
|
||
如果 `config.mcp.servers` 配置了 MCP 服务器,Gateway 启动时会连接服务器、发现工具,并把 MCP 工具包装后注册到 ToolRegistry。使用 `/mcp` 查看当前连接状态和工具列表。
|
||
|
||
---
|
||
|
||
## file_read / file_write / file_edit / file_search / content_search — 文件操作和搜索
|
||
|
||
工作目录内的文件读写编辑、文件名搜索和内容搜索。详细的参数定义见各工具的 parameters_schema。
|
||
|
||
## bash — 执行命令
|
||
|
||
在本地环境执行 bash 命令,有超时限制和安全检查(阻止 rm -rf /、fork bomb 等)。
|
||
|
||
## http_request / web_fetch — HTTP 和 Web 工具
|
||
|
||
发送 HTTP 请求和获取网页内容,有 URL 安全校验(阻止内网/本地访问)。
|
||
|
||
## calculator — 计算器
|
||
|
||
数学表达式计算和统计函数。
|
||
|
||
| action | 说明 |
|
||
|--------|------|
|
||
| `evaluate` | 计算表达式 |
|
||
| `sum` | 求和 |
|
||
| `average` | 平均值 |
|
||
| `median` | 中位数 |
|
||
| `mode` | 众数 |
|
||
| `stdev` / `variance` | 标准差/方差 |
|
||
| `min` / `max` | 最小值/最大值 |
|
||
| `log` | 对数 |
|
||
| `factorial` | 阶乘 |
|
||
| `round` | 四舍五入 |
|
||
| `percentage_change` | 变化百分比 |
|
||
| `percentile` | 百分位数 |
|