- BrainTools - https://www.braintools.ru -

Подключаем российские AI-сервисы к OpenClaw: GigaChat, YandexGPT и Yandex 360

Подключаем российские AI-сервисы к OpenClaw: GigaChat, YandexGPT и Yandex 360

TL;DR

Собрал пять агентов на базе OpenClaw: Jarvis (Claude Sonnet 4.5), Coder и Planner (Claude Opus 4.6), Ruslan (GigaChat-Pro) и Яша (YandexGPT). Все работает через Telegram. Полный код и навыки — на GitHub: openclaw-ru-skills [1].

Зачем это нужно

OpenClaw — это персональный AI-ассистент с открытым кодом, который умеет в мультиагентность, инструменты и интеграции. Из коробки работает с Claude, GPT, и другими западными моделями. Но что, если хочется добавить российские сервисы?

Эксперимент: создать навыки (skills) для трёх российских AI-сервисов с нуля и задокументировать каждый шаг. Для чистоты эксперимента — отдельный пустой репозиторий.

Архитектура

Telegram → OpenClaw Gateway → 🤖 Jarvis (Claude Sonnet 4.5, главный агент)
                            → 💻 Coder (Claude Opus 4.6, кодинг)
                            → 🧠 Planner (Claude Opus 4.6 + Extended Thinking)
                            → 🐻 Ruslan (GigaChat-Pro)
                            → 🦊 Яша (YandexGPT)

OpenClaw → yax skill → Yandex 360 (Disk/Calendar/Mail/Telemost)
OpenClaw → Yandex Cloud (TTS/Vision/Translate/ImageGen)
Подключаем российские AI-сервисы к OpenClaw: GigaChat, YandexGPT и Yandex 360 - 1 [2]

Шаг 1: Базовая настройка OpenClaw

Установка

OpenClaw ставится в три команды:

curl -fsSL https://openclaw.ai/install.sh | sh
openclaw gateway start
openclaw onboard
Подключаем российские AI-сервисы к OpenClaw: GigaChat, YandexGPT и Yandex 360 - 2 [2]

Процесс onboard проведёт через настройку агента и подключение к Telegram (или другому каналу).

Деплой на Railway

Я использовал Railway (hobby plan, $5/мес). Важные моменты:

  1. Блокировка SMTP портов: Railway блокирует исходящие соединения на порты 25/465/587 — отправка почты через SMTP не работает.

  2. Переменные окружения: Все секреты (API-ключи, токены) — в environment variables.

  3. Персистентность процессов: Прокси-серверы (gpt2giga, yandexgpt) нужно стартовать вручную или через startup script.

Структура проекта

openclaw-ru-skills/
├── gigachat/          # Навык для GigaChat
│   ├── SKILL.md
│   └── scripts/
├── yandexgpt/         # Навык для YandexGPT
│   ├── SKILL.md
│   ├── src/proxy.js   # Translation proxy
│   └── scripts/
└── yax/               # Навык для Yandex 360
    ├── SKILL.md
    └── src/
Подключаем российские AI-сервисы к OpenClaw: GigaChat, YandexGPT и Yandex 360 - 3 [2]

Шаг 2: GigaChat через gpt2giga

Получение доступа

  1. Регистрация на https://developers.sber.ru/ [3]

  2. Создание приложения GigaChat API

  3. Получение Client ID и Client Secret

  4. Scope: GIGACHAT_API_PERS (бесплатный персональный)

Установка прокси

GigaChat не совместим с OpenAI API из коробки. Используем gpt2giga — Python-прокси, который переводит запросы OpenAI → GigaChat:

pip3 install gpt2giga
Подключаем российские AI-сервисы к OpenClaw: GigaChat, YandexGPT и Yandex 360 - 4 [2]

Запуск

export GIGACHAT_CREDS=$(echo -n "CLIENT_ID:CLIENT_SECRET" | base64)

gpt2giga 
  --gigachat.credentials $GIGACHAT_CREDS 
  --gigachat.scope GIGACHAT_API_PERS 
  --gigachat.verify-ssl-certs false 
  --proxy.port 8443 
  --proxy.pass-model true
Подключаем российские AI-сервисы к OpenClaw: GigaChat, YandexGPT и Yandex 360 - 5 [2]

Важно: --gigachat.verify-ssl-certs false нужен, потому что Сбер использует собственный корневой CA.

Конфигурация OpenClaw

Добавляем провайдера в openclaw.json:

{
  "models": {
    "providers": {
      "gigachat": {
        "baseUrl": "http://127.0.0.1:8443",
        "apiKey": "dummy",
        "api": "openai-completions",
        "models": [
          {
            "id": "GigaChat-Max",
            "name": "GigaChat MAX",
            "contextWindow": 32768,
            "maxTokens": 8192
          },
          {
            "id": "GigaChat-Pro",
            "name": "GigaChat Pro",
            "contextWindow": 32768,
            "maxTokens": 4096
          },
          {
            "id": "GigaChat",
            "name": "GigaChat Lite",
            "contextWindow": 8192,
            "maxTokens": 2048
          }
        ]
      }
    }
  },
  "agents": {
    "list": [
      {
        "id": "ruslan",
        "name": "Ruslan",
        "emoji": "🐻",
        "model": "gigachat/GigaChat-Pro",
        "workspace": "/root/.openclaw/agents/ruslan/workspace"
      }
    ]
  }
}
Подключаем российские AI-сервисы к OpenClaw: GigaChat, YandexGPT и Yandex 360 - 6 [2]

Создание агента Ruslan

Второй агент с русскоязычной душой. Создаём файлы в /root/.openclaw/agents/ruslan/workspace/:

IDENTITY.md:

# IDENTITY.md

- Name: Ruslan
- Creature: Российский AI-ассистент
- Vibe: Дружелюбный, знает русский контекст
- Emoji: 🐻
Подключаем российские AI-сервисы к OpenClaw: GigaChat, YandexGPT и Yandex 360 - 7 [2]

SOUL.md:

# SOUL.md — Кто ты

Ты Руслан. Российский AI-ассистент на базе GigaChat-Pro.

Говоришь на русском, знаешь русский контекст (кухня, культура, реалии).
Отвечаешь кратко и по делу. Без лишней вежливости.
Подключаем российские AI-сервисы к OpenClaw: GigaChat, YandexGPT и Yandex 360 - 8 [2]

Проверка

curl -X POST http://localhost:8443/v1/chat/completions 
  -H "Content-Type: application/json" 
  -d '{
    "model": "GigaChat-Pro",
    "messages": [{"role": "user", "content": "Столица России?"}]
  }'
Подключаем российские AI-сервисы к OpenClaw: GigaChat, YandexGPT и Yandex 360 - 9 [2]

Ответ: "Москва" (19 токенов).

Подводные камни

  1. gpt2giga зомби: Процессы могут становиться defunct и держать порты. Убиваем через fuser -k 8443/tcp + kill -9.

  2. Credentials в ps aux: CLI-аргументы видны в списке процессов — потенциальная дыра безопасности.

  3. Редиректы 307: Эндпоинт /v1/models возвращает 307 редирект → используем curl -L.

Шаг 3: YandexGPT через translation proxy

Yandex Cloud setup

  1. Создаём service account в Yandex Cloud Console

  2. Генерируем API-ключ

  3. Критично: назначаем роль ai.editor на folder через Access Bindings

Частая ошибка [4]: Добавить разрешения на сервисный аккаунт ≠ назначить роль на folder. YandexGPT проверяет роли на уровне folder, а не разрешения на SA.

yc iam service-account create --name openclaw-sa
SA_ID=$(yc iam service-account get openclaw-sa --format json | jq -r .id)
yc iam api-key create --service-account-id $SA_ID
yc resource-manager folder add-access-binding <FOLDER_ID> 
  --role ai.editor 
  --subject serviceAccount:$SA_ID
Подключаем российские AI-сервисы к OpenClaw: GigaChat, YandexGPT и Yandex 360 - 10 [2]

Translation proxy

YandexGPT API не совместим с OpenAI. Написал Node.js прокси (zero dependencies), который переводит OpenAI API → YandexGPT API:

  • Принимает запросы на /v1/chat/completions

  • Конвертирует формат OpenAI → YandexGPT

  • Использует Api-Key авторизацию

  • Маппит usage statistics (tokens)

Полный код прокси — в репозитории: yandexgpt/src/proxy.js [5]

Запуск:

cd yandexgpt/src
YANDEX_FOLDER_ID=<folder-id> YANDEX_API_KEY=<api-key> node proxy.js
Подключаем российские AI-сервисы к OpenClaw: GigaChat, YandexGPT и Yandex 360 - 11 [2]

Прокси слушает на порту 8444.

Конфигурация OpenClaw

{
  "models": {
    "providers": {
      "yandexgpt": {
        "baseUrl": "http://127.0.0.1:8444",
        "apiKey": "dummy",
        "api": "openai-completions",
        "models": [
          {
            "id": "yandexgpt",
            "name": "YandexGPT",
            "contextWindow": 8192,
            "maxTokens": 2048
          },
          {
            "id": "yandexgpt-lite",
            "name": "YandexGPT Lite",
            "contextWindow": 8192,
            "maxTokens": 2048
          },
          {
            "id": "yandexgpt-32k",
            "name": "YandexGPT 32K",
            "contextWindow": 32768,
            "maxTokens": 4096
          }
        ]
      }
    }
  },
  "agents": {
    "list": [
      {
        "id": "yandex",
        "name": "Яша",
        "emoji": "🦊",
        "model": "yandexgpt/yandexgpt",
        "workspace": "/root/.openclaw/agents/yandex/workspace"
      }
    ]
  }
}
Подключаем российские AI-сервисы к OpenClaw: GigaChat, YandexGPT и Yandex 360 - 12 [2]

Создание агента Яша

IDENTITY.md:

# IDENTITY.md

- Name: Яша
- Creature: Билингвальный AI-ассистент (русский + английский)
- Vibe: Дружелюбный, нейтральный
- Emoji: 🦊
Подключаем российские AI-сервисы к OpenClaw: GigaChat, YandexGPT и Yandex 360 - 13 [2]

Проверка

curl -X POST http://localhost:8444/v1/chat/completions 
  -H "Content-Type: application/json" 
  -d '{
    "model": "yandexgpt",
    "messages": [{"role": "user", "content": "Столица России?"}]
  }'
Подключаем российские AI-сервисы к OpenClaw: GigaChat, YandexGPT и Yandex 360 - 14 [2]

Ответ: "Москва." (16 токенов).

Шаг 4: Yandex 360 через yax

OAuth setup

Yandex 360 API требует OAuth. Создаём приложение:

  1. https://oauth.yandex.ru/client/new [6]

  2. Redirect URI: https://oauth.yandex.ru/verification_code (для CLI/ботов)

  3. Выбираем scopes для нужных сервисов:

Сервис

Scope

Что дает

Disk

cloud_api:disk.app_folder

Доступ к app-папке

cloud_api:disk.info

Информация о диске и квоте

Calendar

calendar:all

Чтение/запись событий календаря

Mail

mail:imap_full

Чтение почты через IMAP

mail:smtp

Отправка почты через SMTP

Telemost

telemost-api:conferences.create

Создание видеоконференций

💡 Выбирайте только нужные scopes. Большинству пользователей нужны только Disk + Calendar.

📚 Полный список scopes: https://yandex.ru/dev/id/doc/ru/codes/scopes [7]

Установка yax

cd /openclaw/skills
git clone https://github.com/smvlx/openclaw-ru-skills
cd openclaw-ru-skills/yax
npm install --include=dev
npx tsc
Подключаем российские AI-сервисы к OpenClaw: GigaChat, YandexGPT и Yandex 360 - 15 [2]

Аутентификация

node dist/index.js auth 
  --client-id 79ccb7ad7edc4fa5b0b6602e93ff9958 
  --redirect-uri https://oauth.yandex.ru/verification_code
Подключаем российские AI-сервисы к OpenClaw: GigaChat, YandexGPT и Yandex 360 - 16 [2]

Открывается браузер, вводим код, токен сохраняется в ~/.openclaw/yax/token.json.

Примеры использования

Yandex Disk:

yax disk info       # 49 GB свободно
yax disk list /     # Список файлов
yax disk upload local.txt /remote.txt
yax disk mkdir /test
Подключаем российские AI-сервисы к OpenClaw: GigaChat, YandexGPT и Yandex 360 - 17 [2]

Yandex Calendar (CalDAV):

yax calendar list                              # Список календарей
yax calendar create "Встреча" "2026-02-14" "11:00:00" "12:00:00" "Описание" "Europe/Moscow"
Подключаем российские AI-сервисы к OpenClaw: GigaChat, YandexGPT и Yandex 360 - 18 [2]

Используется прямое CalDAV API Yandex.Calendar с OAuth авторизацией. Реализация включает:

  • Auto-discovery логина через https://login.yandex.ru/info

  • PROPFIND для определения путей календарей

  • Правильные CalDAV пути: /calendars/{login}@yandex.ru/events-{id}/{uid}.ics

  • Поддержка timezone (VTIMEZONE block в ICS)

Yandex Mail (IMAP/SMTP):

yax mail  # Показывает информацию об ограничениях
Подключаем российские AI-сервисы к OpenClaw: GigaChat, YandexGPT и Yandex 360 - 19 [2]

Yandex не предоставляет HTTP API для почты, только IMAP/SMTP (порты 993/465). Работает локально, но порты заблокированы на облачных платформах типа Railway.

Yandex Telemost (видеоконференции):

OAuth scope telemost-api:conferences.create уже включен в настройки. Требует платную подписку Yandex 360 (403 на бесплатных аккаунтах).

Шаг 5: Мультиагентность

OpenClaw поддерживает несколько агентов из коробки. Каждый агент:

  • Имеет собственную модель

  • Имеет собственный workspace (файлы, память [8])

  • Имеет собственную душу (SOUL.md, IDENTITY.md)

Конфигурация

{
  "tools": {
    "agentToAgent": {
      "enabled": true,
      "allow": ["ruslan", "yandex", "coder", "planner"]
    }
  },
  "agents": {
    "defaults": {
      "model": {
        "primary": "anthropic/claude-sonnet-4-5"
      }
    },
    "list": [
      {
        "id": "main",
        "subagents": {
          "allowAgents": ["ruslan", "yandex", "coder", "planner"]
        }
      },
      {
        "id": "ruslan",
        "model": "gigachat/GigaChat-Pro"
      },
      {
        "id": "yandex",
        "model": "yandexgpt/yandexgpt"
      },
      {
        "id": "coder",
        "model": "anthropic/claude-opus-4-6"
      },
      {
        "id": "planner",
        "model": "anthropic/claude-opus-4-6",
        "thinking": "max"
      }
    ]
  }
}
Подключаем российские AI-сервисы к OpenClaw: GigaChat, YandexGPT и Yandex 360 - 20 [2]

Использование

В Telegram:

Пользователь: @OpenClawBot попроси Руслана написать стих про Байкал

Jarvis: [запускает subagent ruslan]
Ruslan: [пишет стих на GigaChat-Pro]
Jarvis: [возвращает результат]
Подключаем российские AI-сервисы к OpenClaw: GigaChat, YandexGPT и Yandex 360 - 21 [2]

Результаты тестирования

GigaChat-Pro (Ruslan 🐻)

Тест: “Столица России?”
Ответ: “Москва” (19 токенов, 1.2 сек)

Тест: “Напиши стих про Москву” (4 строки)
Ответ: Осмысленный стих, хорошая рифма, русский контекст. 150 токенов.

YandexGPT (Яша 🦊)

Тест: “Столица России?”
Ответ: “Москва.” (16 токенов, 0.8 сек)

Тест: “Explain machine learning” (English)
Ответ: Корректный ответ на английском, но слегка “русифицированный” стиль (особенность модели).

Yandex Disk (yax)

  • ✅ Информация о диске

  • ✅ Список файлов

  • ✅ Загрузка/скачивание

  • ✅ Создание папок

  • ❌ Публичные ссылки (не тестировалось)

Yandex Calendar (yax)

  • ✅ Список календарей (CalDAV API с auto-discovery)

  • ✅ Список событий (протестировано с реальным событием)

  • ✅ Создание событий (протестировано, работает с правильными CalDAV путями)

Подводные камни и решения

Проблема

Причина

Решение

gpt2giga зомби-процессы

Defunct processes держат порты

fuser -k 8443/tcp && kill -9 <PID>

GigaChat 402 Payment Required

Квота бесплатного тира исчерпана

Нужен платный доступ или новые credentials

YandexGPT 403

Неправильный FOLDER_ID в env

Проверить YANDEX_FOLDER_ID

IAM разрешения ≠ роли

Permissions на SA ≠ roles на folder

yc resource-manager folder add-access-binding

Railway блокирует SMTP

Закрыты порты 25/465/587

Использовать HTTP API (если есть)

Telemost 403

Требуется Yandex 360 подписка

Недоступно на обычных аккаунтах

gpt2giga credentials leak

CLI args в ps aux

Использовать env vars или файл

npm devDependencies

npm install пропускает dev-зависимости

npm install --include=dev

CalDAV неправильные пути

Запись на /calendars/events/ дает 404

Использовать /calendars/{login}@yandex.ru/events-{id}/

Итоги

Что работает

GigaChat (все модели: Lite, Pro, Max) через gpt2giga
YandexGPT (все модели: lite, default, 32k) через custom proxy
Yandex Disk (info, list, upload, download, mkdir)
Yandex Calendar (list, read, create events с timezone support)
Yandex Mail (через IMAP/SMTP, но порты заблокированы на PaaS платформах)
Yandex Telemost (create, info, modify)
Мультиагентность (Jarvis + Ruslan + Яша)
Agent-to-agent communication (subagents, sessions_send)

Ограничения

⚠️ Yandex Mail: Работает через IMAP/SMTP, но порты 993/465 заблокированы на Railway и аналогичных PaaS
⚠️ Yandex Telemost: Требует платную подписку Yandex 360 (403 на бесплатных аккаунтах)

Ссылки

Автор: smvlx

Источник [12]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/25718

URLs in this post:

[1] openclaw-ru-skills: https://github.com/smvlx/openclaw-ru-skills

[2] Image: https://sourcecraft.dev/

[3] https://developers.sber.ru/: https://developers.sber.ru/

[4] ошибка: http://www.braintools.ru/article/4192

[5] yandexgpt/src/proxy.js: https://github.com/smvlx/openclaw-ru-skills/blob/main/yandexgpt/src/proxy.js

[6] https://oauth.yandex.ru/client/new: https://oauth.yandex.ru/client/new

[7] https://yandex.ru/dev/id/doc/ru/codes/scopes: https://yandex.ru/dev/id/doc/ru/codes/scopes

[8] память: http://www.braintools.ru/article/4140

[9] https://openclaw.ai: https://openclaw.ai

[10] https://cloud.yandex.ru/services/ai: https://cloud.yandex.ru/services/ai

[11] https://oauth.yandex.ru/: https://oauth.yandex.ru/

[12] Источник: https://habr.com/ru/articles/996966/?utm_source=habrahabr&utm_medium=rss&utm_campaign=996966

www.BrainTools.ru

Rambler's Top100