diff --git a/resources/skills/about-picobot/references/tools.md b/resources/skills/about-picobot/references/tools.md index 0b9ebab..7cd5123 100644 --- a/resources/skills/about-picobot/references/tools.md +++ b/resources/skills/about-picobot/references/tools.md @@ -194,6 +194,10 @@ Cron 不是一个带 `action` 的统一工具,而是七个独立工具;仅 无参数时返回可读报告;`json=true` 返回结构化报告。核心必需项、当前配置启用后必需的依赖、可选功能分别标记。`fd` 与 Debian/Ubuntu 的 `fdfind` 是同一个首选文件搜索程序;只有传统 `find` 会产生降级警告。浏览器启用时会检查 CLI、可执行路径,并通过隔离的完整 offline doctor 分别验证浏览器安装、真实 headless 启动和环境。该工具只读,与 CLI `picobot health [--json]`、`/health` 斜杠命令以及 WebUI“配置 → 健康检查”复用同一个 `HealthService`。 +## reload_config — 重载配置 + +重新读取并校验 PicoBot 配置,然后让 Gateway 优雅切换到新配置。无参数,仅 Root 交互 Agent 可用;仅在用户明确要求重新加载配置时调用,会先验证再切换,失败则保留旧运行代。 + --- ## MCP 工具 @@ -220,19 +224,20 @@ Cron 不是一个带 `action` 的统一工具,而是七个独立工具;仅 ## calculator — 计算器 -数学表达式计算和统计函数。 +数学表达式计算和统计函数。用 `function` 指定要执行的计算。 -| action | 说明 | -|--------|------| -| `evaluate` | 计算表达式 | -| `sum` | 求和 | -| `average` | 平均值 | -| `median` | 中位数 | -| `mode` | 众数 | -| `stdev` / `variance` | 标准差/方差 | -| `min` / `max` | 最小值/最大值 | -| `log` | 对数 | -| `factorial` | 阶乘 | -| `round` | 四舍五入 | -| `percentage_change` | 变化百分比 | -| `percentile` | 百分位数 | +| function | 相关参数 | 说明 | +|----------|----------|------| +| `evaluate` | `expression` | 计算表达式 | +| `sum` / `count` / `range` | `values` | 求和 / 计数 / 极差 | +| `average` | `values` | 平均值 | +| `median` | `values` | 中位数 | +| `mode` | `values` | 众数 | +| `stdev` / `variance` | `values` | 标准差 / 方差 | +| `min` / `max` | `values` | 最小值 / 最大值 | +| `log` | `x`, 可选 `base` | 对数(base 默认 10) | +| `factorial` | `x` | 阶乘 | +| `round` | `x`, `decimals` | 四舍五入 | +| `percentage_change` | `a`(旧值), `b`(新值) | 变化百分比 | +| `percentile` | `values`, `p` | 百分位数(p 0–100) | +| `clamp` | `x`, `min_val`, `max_val` | 夹取到区间 | diff --git a/src/tools/send_message.rs b/src/tools/send_message.rs index 32285ab..0afc6bc 100644 --- a/src/tools/send_message.rs +++ b/src/tools/send_message.rs @@ -70,12 +70,18 @@ target_chat_id 支持两种格式::(发送到该聊天下 } fn parameters_schema(&self) -> serde_json::Value { + let channels = self + .available_channels + .iter() + .cloned() + .collect::>() + .join(", "); serde_json::json!({ "type": "object", "properties": { "target_chat_id": { "type": "string", - "description": "目标会话ID。支持两种格式: 1) : 发送到该聊天下最新活跃会话, 无则自动创建; 2) :: 发送到指定会话, 过期则自动激活。channel 可选值: feishu, cli_chat" + "description": format!("目标会话ID。支持两种格式: 1) : 发送到该聊天下最新活跃会话, 无则自动创建; 2) :: 发送到指定会话, 过期则自动激活。channel 可选值: {channels}") }, "content": { "type": "string",