Конфигурация PicoClaw
Цели урока
После прохождения этого урока вы сможете:
- 1Настроить config.json: модели, API-ключи, workspace
- 2Разобраться в структуре model_list и маршрутизации моделей
- 3Настроить параметры агента: температура, max_tokens, tool iterations
- 4Использовать переменные окружения для безопасного хранения секретов
Файл конфигурации config.json
Вся конфигурация PicoClaw хранится в одном JSON-файле: ~/.picoclaw/config.json. При первом запуске команда picoclaw onboard создаёт этот файл с дефолтными значениями и проводит интерактивную настройку. Файл можно редактировать вручную в любом текстовом редакторе.
Полная структура конфигурации
{
"agents": {
"defaults": {
"workspace": "~/.picoclaw/workspace",
"model_name": "gpt4",
"max_tokens": 8192,
"temperature": 0.7,
"max_tool_iterations": 20
}
},
"model_list": [
{
"model_name": "gpt4",
"model": "openai/gpt-5.2",
"api_key": "sk-ваш-openai-ключ"
},
{
"model_name": "claude",
"model": "anthropic/claude-sonnet-4",
"api_key": "sk-ant-ваш-anthropic-ключ"
},
{
"model_name": "deepseek",
"model": "deepseek/deepseek-chat",
"api_key": "ваш-deepseek-ключ"
}
],
"search": {
"provider": "tavily",
"api_key": "tvly-ваш-tavily-ключ"
},
"gateway": {
"host": "0.0.0.0",
"port": 8080
}
}Секция agents.defaults
| Параметр | Тип | Описание | По умолчанию |
|---|---|---|---|
| workspace | string | Директория для рабочих файлов агента | ~/.picoclaw/workspace |
| model_name | string | Имя модели из model_list по умолчанию | gpt4 |
| max_tokens | number | Максимальное количество токенов в ответе | 8192 |
| temperature | number | Температура генерации (0.0 — 2.0) | 0.7 |
| max_tool_iterations | number | Максимум итераций tool use за один запрос | 20 |
Секция model_list
model_list — это массив конфигураций LLM-провайдеров. Каждый элемент содержит алиас (model_name), реальное имя модели (model) в формате провайдер/модель и API-ключ. Агент использует model_name из defaults для выбора активной модели. Вы можете переключаться между моделями, изменяя одно поле.
Использование через OpenRouter
OpenRouter — агрегатор, дающий доступ к сотням моделей через единый API-ключ. Это самый удобный способ работы с PicoClaw, если вы хотите переключаться между моделями без управления множеством API-ключей.
{
"model_list": [
{
"model_name": "fast",
"model": "openrouter/google/gemini-2.5-flash",
"api_key": "sk-or-ваш-openrouter-ключ"
},
{
"model_name": "smart",
"model": "openrouter/anthropic/claude-sonnet-4",
"api_key": "sk-or-ваш-openrouter-ключ"
},
{
"model_name": "cheap",
"model": "openrouter/deepseek/deepseek-chat",
"api_key": "sk-or-ваш-openrouter-ключ"
}
]
}Секреты через переменные окружения
Вместо хранения API-ключей в config.json, PicoClaw поддерживает подстановку переменных окружения. Используйте формат ${ENV_VAR} в значениях конфигурации.
{
"model_list": [
{
"model_name": "claude",
"model": "anthropic/claude-sonnet-4",
"api_key": "${ANTHROPIC_API_KEY}"
}
]
}# Экспортировать ключ в окружение
export ANTHROPIC_API_KEY="sk-ant-ваш-ключ"
# Или добавить в ~/.bashrc / ~/.zshrc для постоянного хранения
echo 'export ANTHROPIC_API_KEY="sk-ant-ваш-ключ"' >> ~/.bashrcНикогда не публикуйте config.json с реальными API-ключами в открытых репозиториях. Используйте переменные окружения или убедитесь, что config.json добавлен в .gitignore.
Для edge-устройств с ограниченными ресурсами используйте модели с быстрым inference: DeepSeek или Groq. Они дают приемлемое качество при минимальной задержке, что критично для IoT-сценариев с нестабильным интернетом.
Вопросы для размышления
- •Какую модель вы бы выбрали по умолчанию для edge-устройства и почему?
- •Почему переменные окружения безопаснее хранения ключей в конфигурационном файле?
