{ "version": 3, "agents": { "defaults": { "workspace": "~/.picoclaw/workspace", "restrict_to_workspace": true, "model_name": "gpt-5.4", "max_tokens": 8192, "context_window": 131072, "temperature": 0.7, "max_tool_iterations": 20, "summarize_message_threshold": 20, "summarize_token_percent": 75, "split_on_marker": false, "max_llm_retries": 2, "llm_retry_backoff_secs": 2, "tool_feedback": { "enabled": false, "max_args_length": 300, "separate_messages": false } } }, "evolution": { "enabled": false, "mode": "observe", "state_dir": "", "min_task_count": 2, "min_success_ratio": 0.7, "cold_path_trigger": "after_turn", "cold_path_times": [] }, "model_list": [ { "model_name": "gpt-5.4", "model": "openai/gpt-5.4", "api_keys": ["sk-your-openai-key"], "api_base": "https://api.openai.com/v1" }, { "model_name": "claude-sonnet-4.6", "model": "anthropic/claude-sonnet-4.6", "api_keys": ["sk-ant-your-key"], "api_base": "https://api.anthropic.com/v1", "thinking_level": "high" }, { "_comment": "Anthropic Messages API - use native format for direct Anthropic API access", "model_name": "claude-opus-4-6", "model": "anthropic-messages/claude-opus-4-6", "api_keys": ["sk-ant-your-key"], "api_base": "https://api.anthropic.com" }, { "model_name": "gemini", "_comment": "Optional: set \"tool_schema_transform\": \"simple\" for providers that reject complex tool JSON Schema.", "model": "antigravity/gemini-2.0-flash", "auth_method": "oauth" }, { "model_name": "deepseek", "model": "deepseek/deepseek-chat", "api_keys": ["sk-your-deepseek-key"] }, { "model_name": "venice-uncensored", "model": "venice/venice-uncensored", "api_keys": ["your-venice-api-key"] }, { "model_name": "lmstudio-local", "model": "lmstudio/openai/gpt-oss-20b" }, { "model_name": "longcat", "model": "longcat/LongCat-Flash-Thinking", "api_keys": ["your-longcat-api-key"] }, { "model_name": "modelscope-qwen", "model": "modelscope/Qwen/Qwen3-235B-A22B-Instruct-2507", "api_keys": ["your-modelscope-access-token"], "api_base": "https://api-inference.modelscope.cn/v1" }, { "model_name": "azure-gpt5", "model": "azure/my-gpt5-deployment", "api_keys": ["your-azure-api-key"], "api_base": "https://your-resource.openai.azure.com" }, { "model_name": "loadbalanced-gpt-5.4", "model": "openai/gpt-5.4", "api_keys": ["sk-key1"], "api_base": "https://api1.example.com/v1" }, { "model_name": "loadbalanced-gpt-5.4", "model": "openai/gpt-5.4", "api_keys": ["sk-key2"], "api_base": "https://api2.example.com/v1" } ], "channel_list": { "telegram": { "enabled": false, "type": "telegram", "allow_from": ["YOUR_USER_ID"], "reasoning_channel_id": "", "settings": { "token": "YOUR_TELEGRAM_BOT_TOKEN", "base_url": "", "proxy": "", "use_markdown_v2": false, "streaming": { "enabled": true } } }, "discord": { "enabled": false, "type": "discord", "allow_from": [], "group_trigger": { "mention_only": false }, "reasoning_channel_id": "", "settings": { "token": "YOUR_DISCORD_BOT_TOKEN", "proxy": "" } }, "qq": { "enabled": false, "type": "qq", "allow_from": [], "reasoning_channel_id": "", "settings": { "app_id": "YOUR_QQ_APP_ID", "app_secret": "YOUR_QQ_APP_SECRET" } }, "maixcam": { "enabled": false, "type": "maixcam", "allow_from": [], "reasoning_channel_id": "", "settings": { "host": "0.0.0.0", "port": 18790 } }, "whatsapp": { "enabled": false, "type": "whatsapp", "allow_from": [], "reasoning_channel_id": "", "settings": { "bridge_url": "ws://localhost:3001", "use_native": false, "session_store_path": "" } }, "feishu": { "enabled": false, "type": "feishu", "allow_from": [], "reasoning_channel_id": "", "placeholder": { "enabled": true, "text": ["Thinking...", "Processing...", "Typing..."] }, "settings": { "app_id": "", "app_secret": "", "encrypt_key": "", "verification_token": "", "random_reaction_emoji": [], "is_lark": false } }, "dingtalk": { "enabled": false, "type": "dingtalk", "allow_from": [], "reasoning_channel_id": "", "settings": { "client_id": "YOUR_CLIENT_ID", "client_secret": "YOUR_CLIENT_SECRET" } }, "slack": { "enabled": false, "type": "slack", "allow_from": [], "reasoning_channel_id": "", "settings": { "bot_token": "xoxb-YOUR-BOT-TOKEN", "app_token": "xapp-YOUR-APP-TOKEN" } }, "matrix": { "enabled": false, "type": "matrix", "allow_from": [], "group_trigger": { "mention_only": true }, "placeholder": { "enabled": true, "text": ["Thinking...", "Processing...", "Typing..."] }, "reasoning_channel_id": "", "settings": { "homeserver": "https://matrix.org", "user_id": "@your-bot:matrix.org", "access_token": "YOUR_MATRIX_ACCESS_TOKEN", "device_id": "", "join_on_invite": true, "crypto_database_path": "", "crypto_passphrase": "YOUR_MATRIX_CRYPTO_PICKLE_KEY" } }, "line": { "enabled": false, "type": "line", "allow_from": [], "reasoning_channel_id": "", "settings": { "channel_secret": "YOUR_LINE_CHANNEL_SECRET", "channel_access_token": "YOUR_LINE_CHANNEL_ACCESS_TOKEN", "webhook_path": "/webhook/line" } }, "onebot": { "enabled": false, "type": "onebot", "allow_from": [], "reasoning_channel_id": "", "group_trigger": { "prefixes": [] }, "settings": { "ws_url": "ws://127.0.0.1:3001", "access_token": "", "reconnect_interval": 5 } }, "wecom": { "_comment": "WeCom AI Bot over WebSocket.", "enabled": false, "type": "wecom", "allow_from": [], "reasoning_channel_id": "", "settings": { "bot_id": "YOUR_BOT_ID", "secret": "YOUR_SECRET", "websocket_url": "wss://openws.work.weixin.qq.com", "send_thinking_message": true } }, "pico": { "enabled": false, "type": "pico", "allow_from": [], "settings": { "token": "YOUR_PICO_TOKEN", "allow_token_query": false, "allow_origins": [], "ping_interval": 30, "read_timeout": 60, "max_connections": 100 } }, "pico_client": { "enabled": false, "type": "pico_client", "allow_from": [], "settings": { "url": "wss://remote-pico-server/pico/ws", "token": "YOUR_PICO_TOKEN", "session_id": "", "ping_interval": 30, "read_timeout": 60 } }, "irc": { "enabled": false, "type": "irc", "allow_from": [], "group_trigger": { "mention_only": true }, "typing": { "enabled": false }, "reasoning_channel_id": "", "settings": { "server": "irc.libera.chat:6697", "tls": true, "nick": "mybot", "user": "", "real_name": "", "password": "", "nickserv_password": "", "sasl_user": "", "sasl_password": "", "channels": ["#mychannel"], "request_caps": ["server-time", "message-tags"] } } }, "tools": { "allow_read_paths": null, "allow_write_paths": null, "web": { "enabled": true, "prefer_native": true, "format": "plaintext", "brave": { "enabled": false, "api_key": "YOUR_BRAVE_API_KEY", "api_keys": ["YOUR_BRAVE_API_KEY"], "max_results": 5 }, "tavily": { "enabled": false, "api_key": "", "base_url": "", "max_results": 0 }, "provider": "auto", "sogou": { "enabled": true, "max_results": 5 }, "duckduckgo": { "enabled": false, "max_results": 5 }, "gemini": { "enabled": false, "api_key": "", "model": "gemini-2.5-flash", "max_results": 5 }, "perplexity": { "enabled": false, "api_key": "pplx-xxx", "api_keys": ["pplx-xxx"], "max_results": 5 }, "searxng": { "enabled": false, "base_url": "http://localhost:8888", "max_results": 5 }, "glm_search": { "enabled": false, "api_key": "", "base_url": "https://open.bigmodel.cn/api/paas/v4/web_search", "search_engine": "search_std", "max_results": 5 }, "baidu_search": { "enabled": false, "api_key": "", "base_url": "https://qianfan.baidubce.com/v2/ai_search/web_search", "max_results": 10 }, "fetch_limit_bytes": 10485760, "private_host_whitelist": [] }, "cron": { "enabled": true, "exec_timeout_minutes": 5 }, "mcp": { "enabled": false, "discovery": { "enabled": false, "ttl": 5, "max_search_results": 5, "use_bm25": true, "use_regex": false }, "servers": { "context7": { "enabled": false, "type": "http", "url": "https://mcp.context7.com/mcp", "headers": { "CONTEXT7_API_KEY": "ctx7sk-xx" } }, "filesystem": { "enabled": false, "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"] }, "github": { "enabled": false, "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "YOUR_GITHUB_TOKEN" } }, "brave-search": { "enabled": false, "command": "npx", "args": ["-y", "@modelcontextprotocol/server-brave-search"], "env": { "BRAVE_API_KEY": "YOUR_BRAVE_API_KEY" } }, "postgres": { "enabled": false, "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-postgres", "postgresql://user:password@localhost/dbname" ] }, "slack": { "enabled": false, "command": "npx", "args": ["-y", "@modelcontextprotocol/server-slack"], "env": { "SLACK_BOT_TOKEN": "YOUR_SLACK_BOT_TOKEN", "SLACK_TEAM_ID": "YOUR_SLACK_TEAM_ID" } } } }, "exec": { "enabled": true, "enable_deny_patterns": true, "custom_deny_patterns": null, "custom_allow_patterns": null }, "skills": { "enabled": true, "registries": { "clawhub": { "enabled": true, "base_url": "https://clawhub.ai", "auth_token": "", "search_path": "", "skills_path": "", "download_path": "", "timeout": 0, "max_zip_size": 0, "max_response_size": 0 }, "github": { "enabled": true, "base_url": "https://github.com", "auth_token": "", "proxy": "http://127.0.0.1:7891" } }, "github": { "base_url": "https://github.com", "proxy": "http://127.0.0.1:7891", "token": "" }, "max_concurrent_searches": 2, "search_cache": { "max_size": 50, "ttl_seconds": 300 } }, "media_cleanup": { "enabled": true, "max_age_minutes": 30, "interval_minutes": 5 }, "append_file": { "enabled": true }, "edit_file": { "enabled": true }, "find_skills": { "enabled": true }, "i2c": { "enabled": false }, "install_skill": { "enabled": true }, "list_dir": { "enabled": true }, "message": { "enabled": true }, "read_file": { "enabled": true, "mode": "bytes" }, "serial": { "enabled": false }, "send_tts": { "enabled": false }, "spawn": { "enabled": true }, "spi": { "enabled": false }, "subagent": { "enabled": true }, "web_fetch": { "enabled": true }, "write_file": { "enabled": true } }, "heartbeat": { "enabled": true, "interval": 30 }, "devices": { "enabled": false, "monitor_usb": true }, "voice": { "model_name": "", "echo_transcription": false }, "hooks": { "enabled": true, "defaults": { "observer_timeout_ms": 500, "interceptor_timeout_ms": 5000, "approval_timeout_ms": 60000 } }, "events": { "logging": { "enabled": true, "include": ["agent.*"], "exclude": [], "min_severity": "info", "include_payload": false } }, "gateway": { "_comment": "Default log level is set to 'fatal'. Other available options are 'debug', 'info', 'warn' and 'error'.", "host": "localhost", "port": 18790, "hot_reload": false, "log_level": "fatal" } }