Настройка для разработчиков

Настройка

ℹ️ Если вы настраиваете впервые, начните с Начало работы. Подробности о мастере настройки см. в разделе Мастер начальной настройки.

Последнее обновление: 2026-01-01

Кратко

  • Кастомизация хранится вне репозитория: ~/.openclaw/workspace (рабочее пространство) + ~/.openclaw/openclaw.json (конфиг).
  • Стабильный рабочий процесс: установите macOS-приложение; позвольте ему запустить встроенный Gateway.
  • Экспериментальный рабочий процесс: запустите Gateway самостоятельно через pnpm gateway:watch, затем позвольте macOS-приложению подключиться в режиме Local.

Предварительные требования (из исходного кода)

  • Node >=22
  • pnpm
  • Docker (опционально; только для контейнеризованной настройки/e2e — см. Docker)

Стратегия кастомизации (чтобы обновления не ломали настройки)

Если вы хотите «100% под себя» и легкие обновления, храните свои настройки в:

  • Конфиг: ~/.openclaw/openclaw.json (JSON/JSON5-подобный)
  • Рабочее пространство: ~/.openclaw/workspace (навыки, промпты, воспоминания; можно сделать приватным git-репозиторием)

Однократная начальная настройка:

openclaw setup

Изнутри этого репозитория используйте локальную точку входа CLI:

openclaw setup

Если у вас еще нет глобальной установки, запустите через pnpm openclaw setup.

Запуск Gateway из этого репозитория

После pnpm build вы можете запустить упакованный CLI напрямую:

node openclaw.mjs gateway --port 18789 --verbose

Стабильный рабочий процесс (сначала macOS-приложение)

  1. Установите и запустите OpenClaw.app (меню-бар).
  2. Пройдите чек-лист начальной настройки/разрешений (запросы TCC).
  3. Убедитесь, что Gateway находится в режиме Local и запущен (приложение управляет им).
  4. Подключите каналы (пример: WhatsApp):
openclaw channels login
  1. Проверка работоспособности:
openclaw health

Если мастер начальной настройки недоступен в вашей сборке:

  • Запустите openclaw setup, затем openclaw channels login, затем запустите Gateway вручную (openclaw gateway).

Экспериментальный рабочий процесс (Gateway в терминале)

Цель: работать над TypeScript Gateway, получать горячую перезагрузку, сохраняя подключение UI macOS-приложения.

0) (Опционально) Также запустите macOS-приложение из исходного кода

Если вы также хотите использовать экспериментальную версию macOS-приложения:

./scripts/restart-mac.sh

1) Запустите Gateway для разработки

pnpm install
pnpm gateway:watch

gateway:watch запускает gateway в режиме отслеживания и перезагружает при изменениях TypeScript.

2) Направьте macOS-приложение на ваш запущенный Gateway

В OpenClaw.app:

  • Режим подключения: Local Приложение подключится к запущенному gateway на настроенном порту.

3) Проверка

  • Статус Gateway в приложении должен отображать “Using existing gateway …”
  • Или через CLI:
openclaw health

Частые ошибки

  • Неверный порт: WebSocket Gateway по умолчанию использует ws://127.0.0.1:18789; держите приложение и CLI на одном порту.
  • Где хранится состояние:
    • Учетные данные: ~/.openclaw/credentials/
    • Сессии: ~/.openclaw/agents/<agentId>/sessions/
    • Логи: /tmp/openclaw/

Карта хранения учетных данных

Используйте это при отладке аутентификации или решении, что резервировать:

  • WhatsApp: ~/.openclaw/credentials/whatsapp/<accountId>/creds.json
  • Токен бота Telegram: конфиг/env или channels.telegram.tokenFile
  • Токен бота Discord: конфиг/env или SecretRef (провайдеры env/file/exec)
  • Токены Slack: конфиг/env (channels.slack.*)
  • Списки разрешенных для сопряжения:
    • ~/.openclaw/credentials/<channel>-allowFrom.json (аккаунт по умолчанию)
    • ~/.openclaw/credentials/<channel>-<accountId>-allowFrom.json (нестандартные аккаунты)
  • Профили аутентификации моделей: ~/.openclaw/agents/<agentId>/agent/auth-profiles.json
  • Полезная нагрузка секретов в файле (опционально): ~/.openclaw/secrets.json
  • Импорт устаревшего OAuth: ~/.openclaw/credentials/oauth.json Подробнее: Безопасность.

Обновление (без разрушения вашей настройки)

  • Держите ~/.openclaw/workspace и ~/.openclaw/ как «ваши данные»; не помещайте личные промпты/конфиги в репозиторий openclaw.
  • Обновление исходного кода: git pull + pnpm install (при изменении lockfile) + продолжайте использовать pnpm gateway:watch.

Linux (системная служба пользователя)

Установки на Linux используют системную службу пользователя. По умолчанию systemd останавливает пользовательские службы при выходе/бездействии, что убивает Gateway. Мастер начальной настройки пытается включить lingering для вас (может запросить sudo). Если он все еще выключен, выполните:

sudo loginctl enable-linger $USER

Для всегда работающих или многопользовательских серверов рассмотрите использование системной службы вместо пользовательской (lingering не нужен). См. заметки по systemd в Runbook Gateway.

Связанная документация

Подробное руководство по управлению сессиямиРабочий процесс разработки для Pi