Настройка OpenClaw
Подключение API-ключа ClaudeStore к OpenClaw через custom anthropic-messages провайдера в ~/.openclaw/openclaw.json. Конфиг, проверка, типичные ошибки.
Файл конфига: ~/.openclaw/openclaw.json. ID провайдера: claudestore. Режим API: anthropic-messages. baseUrl: https://api3.claudestore.store. Переменная окружения: CLAUDESTORE_API_KEY. Primary-модель: claudestore/claude-sonnet-4-6.
Зачем такая схема
OpenClaw позволяет регистрировать дополнительных провайдеров моделей через блок models.providers. Для моделей Claude из ClaudeStore самый чистый путь — подключить ClaudeStore как кастомного anthropic-messages-провайдера.
- OpenClaw считает его полноценным Anthropic-совместимым провайдером.
- Сохраняются system-блоки, tool use, content blocks и reasoning.
- В конфиге используются обычные ссылки на модели:
claudestore/claude-sonnet-4-6.
openai-completions, но для Claude через ClaudeStore лучше именно Anthropic Messages — не выбирайте OpenAI-совместимый режим без причины.Где лежит конфиг
OpenClaw читает один JSON-файл из домашней директории:
~/.openclaw/openclaw.jsonЕсть команды openclaw config и openclaw configure, но для такого специфичного провайдера быстрее править JSON напрямую — сниппет ниже копируется как есть.
Переменная окружения
Экспортируйте ключ ClaudeStore — конфиг возьмёт его через placeholder:
export CLAUDESTORE_API_KEY="YOUR_SK_CS4_KEY"Так ключ не попадает в openclaw.json и в бэкапы dotfiles.
Минимальный рабочий конфиг
Скопируйте в ~/.openclaw/openclaw.json (формат — JSON5, можно комментарии и trailing-запятые):
{
env: {
CLAUDESTORE_API_KEY: "YOUR_SK_CS4_KEY",
},
agents: {
defaults: {
model: { primary: "claudestore/claude-sonnet-4-6" },
},
},
models: {
mode: "merge",
providers: {
claudestore: {
baseUrl: "https://api3.claudestore.store",
apiKey: "${CLAUDESTORE_API_KEY}",
api: "anthropic-messages",
models: [
{
id: "claude-sonnet-4-6",
name: "Claude Sonnet 4.6",
reasoning: true,
input: ["text", "image"],
contextWindow: 1000000,
maxTokens: 64000,
},
{
id: "claude-opus-4-7",
name: "Claude Opus 4.7",
reasoning: true,
input: ["text", "image"],
contextWindow: 1000000,
maxTokens: 128000,
},
{
id: "claude-haiku-4-5",
name: "Claude Haiku 4.5",
reasoning: true,
input: ["text", "image"],
contextWindow: 200000,
maxTokens: 64000,
},
],
},
},
},
}Соблюдайте именования
claudestore, primary-модель — только claudestore/claude-sonnet-4-6. Не используйте anthropic/... в primary — это попадёт во встроенного Anthropic-провайдера OpenClaw, а не в ClaudeStore.Почему baseUrl без /v1
В anthropic-messages-провайдере OpenClaw baseUrl — это корень провайдера. Путь Anthropic Messages OpenClaw добавляет сам.
- ✅ Правильно:
https://api3.claudestore.store - ❌ Неправильно:
https://api3.claudestore.store/v1
С /v1 путь задвоится и вы получите 404 на каждом запросе.
Проверка
После сохранения конфига выполните по порядку:
openclaw gateway statusopenclaw models listВ выводе должны быть claudestore/claude-sonnet-4-6, claudestore/claude-opus-4-7 и claudestore/claude-haiku-4-5.
openclaw models set claudestore/claude-sonnet-4-6openclaw dashboardСделайте тестовый запрос — он должен появиться под провайдером claudestore.
Расширенно: контекст 1M
Для длинного контекста на Sonnet 4.6 / Opus 4.7 включите флаг по модели:
{
agents: {
defaults: {
models: {
"claudestore/claude-sonnet-4-6": { params: { context1m: true } },
"claudestore/claude-opus-4-7": { params: { context1m: true } },
},
},
},
}Только Sonnet/Opus
context1m включать не нужно — оставьте стандартное окно.Важное ограничение: /fast
/fast через шлюз — не 1:1
/fast в OpenClaw спроектировано под прямой транспорт Anthropic. При маршрутизации через custom-провайдер OpenClaw не подкладывает service-tier-поведение Anthropic автоматически. Считайте /fast подсказкой, а не транспортным контрактом.Типичные ошибки
404 от провайдера
Почти всегда — /v1 в baseUrl. Используйте https://api3.claudestore.store.
Не тот режим api
С api: "openai-completions" OpenClaw попытается говорить OpenAI Chat Completions с Anthropic-эндпоинтом. Верните api: "anthropic-messages".
Primary-модель не найдена
Ссылка должна включать префикс провайдера: claudestore/claude-sonnet-4-6. Голый claude-sonnet-4-6 или anthropic/claude-sonnet-4-6 не зарезолвится в ClaudeStore.
Не экспортирован API-ключ
Проверьте, что переменная видна в той же сессии, где запускается OpenClaw:
echo $CLAUDESTORE_API_KEYЕсли пусто — переэкспортируйте и перезапустите шелл. Placeholder в конфиге читается на старте процесса.
OpenClaw запускается, но модели нет
Чаще всего — рассинхрон имён: id внутри providers.claudestore.models не совпадает с primary. Полная ссылка — <providerId>/<modelId>.
Настройка на Windows
1. Установка OpenClaw
OpenClaw поставляется как npm-пакет и как самостоятельный бинарь под Windows:
npm install -g openclaw
openclaw --versionАльтернатива — openclaw-windows-x64.exe с GitHub Releases, добавьте в PATH.
2. Путь к конфигу на Windows
OpenClaw читает %USERPROFILE%\.openclaw\openclaw.json (например C:\Users\<you>\.openclaw\openclaw.json):
mkdir $env:USERPROFILE\.openclaw -ErrorAction SilentlyContinue
notepad $env:USERPROFILE\.openclaw\openclaw.jsonВставьте конфиг из раздела «Минимальный рабочий конфиг». Сохраняйте как UTF-8 без BOM.
3. Постоянная переменная CLAUDESTORE_API_KEY
setx CLAUDESTORE_API_KEY "YOUR_SK_CS4_KEY"setx применяется только в новых терминалах. Закройте PowerShell, откройте новый и проверьте echo $env:CLAUDESTORE_API_KEY.Через GUI: Win+R → sysdm.cpl → Переменные среды → User variables → Новая.
4. Проверка
openclaw gateway status
openclaw models list
openclaw models set claudestore/claude-sonnet-4-65. WSL
Из WSL используйте Linux-путь ~/.openclaw/openclaw.json и переэкспортируйте переменную в ~/.bashrc:
export CLAUDESTORE_API_KEY="YOUR_SK_CS4_KEY"6. Решение проблем
- «openclaw не распознан» — откройте новую PowerShell или добавьте
%APPDATA%\npmв PATH. - Placeholder
${CLAUDESTORE_API_KEY}не подставился — переменная не задана в шелле, откуда запускалиopenclaw. Используйтеsetxи откройте новый терминал. - Ошибка парсинга JSON — Notepad сохранил с BOM. Сохраните как UTF-8 без BOM (VS Code или Notepad++).
- Кавычки в PowerShell — оборачивайте значения двойными кавычками; в cmd.exe правила другие.
- Антивирус блокирует
node.exe/openclaw.exe— добавьте в whitelist бинарь и хостapi3.claudestore.store.