5.7 KiB
Raw Blame History

PicoBot 配置说明

配置文件加载顺序:~/.picobot/config.json → 当前目录 ./config.json。 占位符 <VAR_NAME> 从环境变量替换,环境变量从 .env 文件或系统环境读取。

Gateway WebUI 的“配置”页可以编辑实际加载的配置文件。读取时 API Key、secret、password 和 token 会显示为 ********,保持掩码不变再保存会保留原值;写入采用同目录临时文件替换。运行配置保存后需要重启 GatewayUSER.mdAGENTS.md 的修改用于后续构建的 Agent 上下文。

config.json 结构

{
  "providers": {},    // LLM 提供商配置
  "models": {},       // 模型配置
  "agents": {},       // agent 配置
  "gateway": {},      // 网关配置
  "client": {},       // 客户端配置
  "channels": {},     // 渠道配置
  "memory": {},       // 记忆系统配置
  "workspace_dir": "", // 工作目录,默认 ~/.picobot/workspace
  "mcp": {},           // MCP 服务器配置
  "browser": {}        // 可选浏览器自动化配置
}

完整示例见 assets/config.example.json

providers 字段

字段 说明
type 提供商类型: openai(兼容 OpenAI APIanthropic
base_url API 端点地址
api_key API 密钥,支持 <ENV_VAR> 占位符
extra_headers 额外 HTTP 头

models 字段

字段 说明
model_id 模型标识名称
temperature 采样温度,可选
max_tokens 最大输出 token 数,可选
input_type 模型支持的输入类型,如 ["text"]["text", "image"],默认 ["text"]. 纯内部使用,不会传递给 LLM API

agents 字段

字段 类型 默认 说明
provider string - 提供商名称(对应 providers key
model string - 模型名称(对应 models key
max_tool_iterations int 99 最大工具调用轮数
token_limit int 128000 上下文 token 限制

gateway 字段

字段 类型 默认 说明
host string 127.0.0.1 监听地址
port int 19876 监听端口
session_ttl_hours int - 兼容/预留字段;当前没有会话 TTL 清理循环
session_db_path string - SQLite 数据库路径,默认在 workspace 下
cleanup_interval_minutes int - 兼容/预留字段;当前没有按此间隔运行的 session 清理任务
max_concurrent_background_tasks int 10 delegate 后台子任务最大并发数
scheduler object - 调度器配置

gateway.scheduler 字段

字段 类型 默认 说明
enabled bool true 是否启动调度器并注册 cron 工具
poll_interval_secs int 60 检查到期任务的轮询间隔
max_concurrent int 1 每批到期任务的最大并发数,运行时限制在 1256
execution_timeout_secs int 900 单个定时任务 Agent 执行的硬超时;租约会覆盖执行和托管投递等待

memory 字段

字段 类型 默认 说明
consolidation_provider string 主 Agent provider 当前记录在 MemoryManager 中供后续归并使用;压缩摘要仍使用 Session provider
consolidation_model string 主 Agent model 当前记录在 MemoryManager 中供后续归并使用;压缩摘要仍使用 Session model
recall_limit int 5 预期的每轮知识召回上限;当前 worker 固定使用 5
idle_consolidation_minutes int 10 预留的空闲归并阈值;当前无对应循环
timeline_retention_days int 90 默认日常维护巡检删除超过该期限的 TimelineKnowledge 不受影响
max_failures_before_degrade int 3 预留的归并失败阈值;当前无失败降级循环

注意:当前 worker 的 Knowledge 召回数量仍固定为 5idle consolidation 和失败降级循环尚未接入。Timeline 清理由默认启用的 picobot-routine-maintenance 定时巡检执行。

channels.feishu 字段

字段 类型 默认 说明
enabled bool false 是否启用
app_id string - 飞书应用 ID
app_secret string - 飞书应用密钥
allow_from []string ["*"] 允许交互的用户列表
agent string - 使用的 agent 名称
media_dir string ~/.picobot/media/feishu 配置默认值Gateway 注册渠道时会覆盖为 {workspace}/media/feishu
reaction_emoji string "Typing" 回复意向表达的表情

mcp 字段

字段 类型 默认 说明
servers array [] MCP 服务器列表
tool_timeout_secs int 180 工具调用超时秒数

MCP 服务器单条配置:

字段 说明
name 服务器名称
transport 传输方式: stdiossestreamable-http
command 启动命令stdio 模式)
args 命令参数
env 子进程环境变量
url URLsse / streamable-http 模式)
headers HTTP 传输额外请求头
tool_timeout_secs 单独的超时设置

browser 字段

浏览器工具默认关闭,开启后注册 browser 工具。依赖 Chrome/Chromium 与 chromedriver/WebDriver。

字段 类型 默认 说明
enabled bool false 是否启用浏览器工具
webdriver_url string http://127.0.0.1:9515 WebDriver 服务地址
headless bool true 是否无头运行
chrome_path string - 自定义 Chrome/Chromium 路径