Как работает OpenClaw
OpenClaw — не обычный чат-бот, а личный секретарь, живущий в вашем компьютере. Он может получать команды через чат-приложения, такие как WeChat, WhatsApp и Telegram, помогать вам отправлять электронные письма, проверять календарь, открывать браузеры, выполнять команды и даже работать автоматически 24 часа в сутки!

Основные концепции

| Концепция | Аналогия | Функция |
|---|---|---|
| Шлюз | Администратор на ресепшене в здании | Получает все внешние сообщения и распределяет их в нужное рабочее пространство |
| Рабочее пространство | Ваш личный офис | Выполняет конкретные задачи, управляет историей диалогов и навыками |
| LLM (большая языковая модель) | Мозг ИИ-консультанта | Понимает ваши намерения и генерирует ответы |
| Навыки | Инструменты в наборе инструментов | Выполняет конкретные функции (проверка погоды, написание кода, управление расписанием и т. д.) |
| Каналы | Устройства связи | Подключают разные платформы обмена сообщениями |
Что именно такое OpenClaw?
OpenClaw — этоAI-ассистент с полностью открытым исходным кодом, работающий на вашем собственном компьютере(ранее назывался Clawdbot, позже переименован).
Он не просто общается, как ChatGPT; он действительно совершает действия:
- Вы пишете в WhatsApp: «Проверь для меня завтрашний рейс», и он может автоматически открыть браузер, войти на сайт авиакомпании и отправить вам скриншот.
- Он поддерживает сотни навыков, и сообщество продолжает добавлять новые.
- Он обладает долговременной памятью (запоминает, что вам нравится) и даже может самостоятельно создавать новые навыки.
- Самое главное:Все данные остаются на вашем компьютере, не загружаются в облако, безопасно с точки зрения приватности。
Основная идея:Соединить большую модель ИИ (мозг) + локальные инструменты (руки и ноги) + программы для чата (рот и уши), чтобы ИИ действительно стал вашим компьютерным дворецким.
Общая архитектура: Gateway — командный центр мозга
Самая ключевая часть OpenClaw называетсяGateway (gateway). Это как центральная панель управления в вашем доме; всё вращается вокруг него.
Краткое объяснение каждой части:
- Channel Bridge (channel bridge): Отвечает за «рукопожатие» с чат-программами вроде WhatsApp и Telegram. Например, использует библиотеку Baileys для подключения к WhatsApp.
- Gateway: Единственный запущенный процесс (занимает один порт, по умолчанию 18789), как оператор коммутатора, пересылающий сообщения ИИ.
- Мозг ИИ: То, что действительно думает, — это внешняя большая модель (вы предоставляете API-ключ); Gateway только отвечает за «вызов её к работе».
- Инструменты & навыки: Руки и ноги ИИ, например, открытие браузера, чтение/запись файлов, отправка электронных писем.
- Система памяти: Как блокнот, ИИ не забудет, что вы сказали в прошлый раз.
Как сообщение становится действием?
Давайте рассмотрим реальный пример: «В WhatsApp скажите: помоги мне организовать сегодняшние письма в сводку и отправь её мне».
Схема потока выглядит так:
Подробный разбор:
- Получение инструкции: Вы отправляете сообщение → Bridge чат-приложения передаёт сообщение в Gateway.
- Поиск в памяти: Gateway открывает ваш «личный профиль» (Session + Memory), зная, что вы возвращающийся пользователь и какой тон вам понравился в прошлый раз.
- Мышление ИИ: Упаковать сообщение + память и отправить их в мозг ИИ. ИИ действует как умный секретарь: «Хорошо, мне нужно сначала прочитать письмо, а затем сделать сводку».
- Вызов инструмента: ИИ говорит: «Я хочу использовать навык Gmail». Gateway выполняет его в защищённой песочнице (чтобы ИИ случайно не изменил файлы).
- Выполнение + обратная связь: Инструмент передаёт результат ИИ, и ИИ пишет сводку.
- Ответ пользователю: Gateway отправляет сводку обратно в WhatsApp. И вы её получаете!
Общая архитектура
Проектирование трёхуровневой архитектуры
OpenClaw использует классическую трёхуровневую архитектуру. Давайте разберём её послойно снаружи внутрь:
Почему это спроектировано именно так?
Аналогия: Представьте крупную компанию
- Внешний слой (пользовательский интерфейс)= Клиенты могут связаться с компанией по телефону, электронной почте, WeChat и другим каналам
- Средний слой (Gateway)= Ресепшен, который единообразно обрабатывает всех клиентов и направляет их в соответствующие отделы
- Внутренний слой (Workspace)= Различные бизнес-подразделения, каждое отвечает за разные задачи
- Нижний слой (слой возможностей)= Ресурсы компании (экспертные консультанты, инструменты и оборудование и т. д.)
Подробное объяснение основных компонентов
Gateway: Единый портал
Что такое Gateway?
Gateway — это входная дверь OpenClaw. Все внешние сообщения должны сначала проходить через него.
Три основные обязанности Gateway:
1. Аутентификация
Убедитесь, что только авторизованные вами платформы могут подключаться
2. Маршрутизация
Отправляйте сообщения в нужное рабочее пространство
3. Логирование
Записывайте все взаимодействия для удобной отладки и аудита
Команда для запуска Gateway:
# 启动网关,监听 18789 端口 openclaw gateway --port 18789 --verbose
Рабочее пространство: ваш личный офис
Что такое рабочее пространство?
Рабочее пространство — это место, где фактически обрабатываются задачи. У вас может быть несколько рабочих пространств, каждое из которых отвечает за разные вещи.
Типичный пример конфигурации рабочего пространства:
# workspace-personal.yaml name: "个人助理" llm: provider: "anthropic" # 使用 Claude model: "claude-sonnet-4" apiKey: "sk-ant-xxx" skills: - weather # 查天气 - calendar # 管理日程 - email # 处理邮件 - web-search # 网页搜索 settings: language: "zh-CN" temperature: 0.7 max_tokens: 4000
Сценарии использования нескольких рабочих пространств:
LLM: мозг ИИ
Что такое LLM?
LLM (большая языковая модель) — это интеллектуальный мозг OpenClaw, отвечающий за понимание ваших намерений и генерацию ответов.
LLM, поддерживаемые OpenClaw:
| провайдер | Примеры моделей | Особенности | Применимые сценарии |
|---|---|---|---|
| Anthropic | Claude Sonnet 4 | Баланс, безопасность, хорошая поддержка многоязычности | Повседневные разговоры, написание текстов |
| OpenAI | GPT-4 | Профессиональный, широкие знания | Профессиональные задачи, анализ |
| DeepSeek | DeepSeek-V3 | Сильные навыки программирования, недорого | Помощь в программировании |
| Локальное развёртывание | Ollama | Полностью приватно, бесплатно | Сценарии, чувствительные к приватности |
Каналы: подключение к внешнему миру
Что такое каналы?
Каналы — это "адаптеры", которые подключают различные платформы обмена сообщениями.
Работа каждого канала:
- Приём сообщенийИзвлечение сообщений пользователей с платформы
- Преобразование форматаЕдинообразное преобразование во внутренний формат OpenClaw
- Отправка ответаОтправка ответов OpenClaw обратно на платформу
Пример: рабочий процесс Telegram-канала
Процесс потока сообщений
Теперь давайте посмотрим, как полное сообщение проходит через OpenClaw:
Полная схема потока сообщений
Подробный анализ шагов
Шаги 1-3: Приём и стандартизация сообщения
После того как пользователь отправляет сообщение в Telegram, Telegram Channel преобразует его в стандартный формат OpenClaw:
{
"platform": "telegram",
"channel_id": "telegram_123",
"user": {
"id": "user_456",
"name": "Alice"
},
"message": {
"type": "text",
"content": "上海明天天气?",
"timestamp": "2024-03-09T10:30:00Z"
}
}
Шаги 4-5: Аутентификация и маршрутизация
Gateway проверяет это сообщение:
- Авторизован ли источник?
- В какой Workspace его следует направить?
- Есть ли у пользователя разрешение?
Шаги 6-8: Понимание ИИ и принятие решений
Workspace подготавливает полный контекст и отправляет его в LLM:
[系统提示] 你是一个个人助理,可以使用以下技能: - weather: 查询天气 - calendar: 管理日程 - ... [对话历史] User: 你好 助理: 你好!有什么可以帮你的? [当前消息] User: 上海明天天气?
Шаги 9-12: выполнение навыка
LLM решает вызвать навык погоды, а Workspace выполняет его и получает результаты:
{
"location": "上海",
"date": "2024-03-10",
"weather": "晴转多云",
"temperature": "18-26°C",
"humidity": "60%",
"wind": "东风 3-4级"
}Шаги 13-17: сформировать ответ и вернуть его
LLM формирует ответ на естественном языке на основе данных о погоде и отправляет его пользователю по тому же пути.
Система навыков
Что такое навыки?
Навыки — это «модули возможностей», с помощью которых OpenClaw выполняет конкретные задачи. Если бы OpenClaw был человеком, навыки были бы различными способностями, которые этот человек освоил.
Структура навыка
Каждый навык включает:
Пример: определение навыка погоды
Процесс вызова навыка
Механизмы безопасности навыков
В OpenClaw действуют строгие средства контроля безопасности навыков:
Типы разрешений:
| Разрешение | Описание | Пример |
|---|---|---|
network |
Доступ к сети | Проверка погоды, поиск веб-страниц |
filesystem |
Файловая система | Чтение/запись файлов |
email |
Доступ к электронной почте | Отправка/получение писем |
calendar |
Доступ к календарю | Управление расписаниями |
system |
Системные операции | Выполнение команд |
Полный рабочий процесс
Давайте свяжем все концепции через реальный сценарий:
Сценарий: Отправка ежедневных отчётов о погоде по расписанию
Требование: Получать сегодняшнюю погоду + напоминания по расписанию через Telegram каждое утро в 8 AM
Код конфигурации
# workspace-daily-report.yaml
name: "每日报告助理"
# 定时任务
cron_jobs:
- name: "早间报告"
schedule: "0 8 * * *" # 每天早上8点
action:
type: "send_message"
channel: "telegram"
template: |
请生成今日报告:
1. 查询我所在城市的天气
2. 列出今天的所有日程
3. 以友好的方式呈现
# 可用技能
skills:
- weather
- calendar
# LLM 配置
llm:
provider: "anthropic"
model: "claude-sonnet-4"
Сообщения, получаемые пользователем
早安!今日简报 天气情况 上海今天多云,气温 15-23°C 建议穿着:薄外套 降雨概率:10% 今日日程 - 09:00 - 10:00 团队晨会 - 14:00 - 15:30 客户演示 - 16:00 - 17:00 代码评审 温馨提示 今天有 3 个会议,建议提前准备演示材料。
Поток данных и управление состоянием
Как хранятся данные?
Типы данных и способы хранения:
| Тип данных | Способ хранения | Срок хранения | Пример |
|---|---|---|---|
| Текущее состояние сессии | Память | До окончания сессии | Контекст текущего диалога |
| История диалогов | Локальная база данных | Настраиваемый (например, 30 дней) | Записи прошлых чатов |
| Пользовательская конфигурация | Файл конфигурации | Постоянный | API-ключи, настройки предпочтений |
| Данные навыка | Управляется самим навыком | Зависит от навыка | Расписания, черновики писем |
| Системные логи | Файлы логов | Настраиваемый | Ошибки, отладочная информация |
Расширяемость и экосистема плагинов
Как добавить новые функции?
Архитектура OpenClaw позволяет легко расширять: