Что такое Clawdbot? Как стек локальных агентов превращает чаты в реальную автоматизацию

Clawdbot — это персональный ИИ-ассистент с открытым исходным кодом, который вы запускаете на своём оборудовании. Он соединяет большие языковые модели от таких поставщиков, как Anthropic и OpenAI, с реальными инструментами, такими как мессенджеры, файлы, оболочка, браузер и устройства для умного дома, сохраняя при этом уровень оркестрации под вашим контролем.

Интересно не то, что Clawdbot умеет вести беседы, а то, что проект предлагает конкретную архитектуру для локальных агентов и типизированный механизм рабочего процесса под названием Lobster, который превращает вызовы моделей в детерминированные конвейеры.

Архитектура: шлюз, узлы и навыки

В центре Clawdbot находится процесс шлюза (Gateway). Шлюз предоставляет плоскость управления WebSocket на `ws://127.0.0.1:18789` и локальный HTTP-интерфейс для пользовательского интерфейса управления и веб-чата.

Ваши сообщения из WhatsApp, Telegram, Signal, Slack, Discord, iMessage и других каналов доставляются в шлюз. Шлюз решает, какой агент должен обработать сообщение, какие инструменты он может вызвать и какого поставщика моделей использовать. Затем он отправляет ответ обратно по тому же каналу.

Время выполнения разделено на несколько основных концепций:

* Gateway: маршрутизация, вызовы моделей, вызов инструментов, сеансы, присутствие и планирование.
* Узлы (Nodes): процессы, которые предоставляют Clawdbot доступ к локальным ресурсам, таким как файловая система, автоматизация браузера, микрофон, камера или API для конкретных платформ на macOS, Windows, Linux, iOS и Android.
* Каналы (Channels): интеграции для чат-систем, таких как WhatsApp, Telegram, Discord, Slack, Signal, Microsoft Teams, Matrix, Zalo и других. Они настроены как бэкенды каналов, которые подключаются к шлюзу.
* Навыки и плагины (Skills and plugins): инструменты, которые агент может вызывать, описанные в стандартном формате SKILL.md и распространяемые через ClawdHub.

Такое разделение позволяет вам запускать шлюз на пятидолларовом виртуальном сервере или на запасной машине дома, сохраняя при этом интенсивные вычисления модели на удалённых API или локальных серверных частях, когда это необходимо.

Навыки и стандарт SKILL.md

Clawdbot использует открытый формат навыков, описанный в SKILL.md. Навык определяется в Markdown с небольшим заголовком и упорядоченной процедурой. Например, навык развёртывания может указывать на такие шаги, как проверка состояния git, запуск тестов и развёртывание только после успешного прохождения тестов.

«`

name: deploy-production
description: Deploy the current branch to production. Use only after tests pass.
disable-model-invocation: true

1. Check git status ensuring clean working directory.
2. Run npm test
3. If tests pass, run npm run deploy
«`

Шлюз считывает эти определения и предоставляет их агентам в виде инструментов с явными возможностями и ограничениями по безопасности. Навыки публикуются в ClawdHub и могут быть установлены или объединены в более крупные рабочие процессы.

Это означает, что рабочие инструкции могут перемещаться с произвольных вики-страниц в машиночитаемые навыки, сохраняя при этом возможность проверки в виде текста.

Lobster: типизированный рабочий процесс для агентов

Lobster — это механизм рабочего процесса, который обеспечивает работу Local Lobster и многих продвинутых автоматизаций Clawdbot. Он описывается как типизированный рабочий процесс, который позволяет Clawdbot выполнять многошаговые последовательности инструментов как единую детерминированную операцию с явными шлюзами утверждения.

Вместо того чтобы модель вызывала множество инструментов в цикле, Lobster переносит оркестрацию в небольшой домен-специфичный механизм:

* Конвейеры определяются как JSON или YAML или как компактная строка конвейера в оболочке.
* Шаги обмениваются типизированными данными JSON, а не неструктурированным текстом.
* Механизм обеспечивает тайм-ауты, ограничения вывода и политику работы в песочнице.
* Рабочие процессы могут приостанавливаться из-за побочных эффектов и возобновляться позже с помощью `resumeToken`.

Простой рабочий процесс сортировки входящих сообщений выглядит так:

«`
name: inbox-triage
steps:
— id: collect
command: inbox list —json
— id: categorize
command: inbox categorize —json
stdin: $collect.stdout
— id: approve
command: inbox apply —approve
stdin: $categorize.stdout
approval: required
— id: execute
command: inbox apply —execute
stdin: $categorize.stdout
condition: $approve.approved
«`

Clawdbot обрабатывает этот файл как навык. Когда вы просите его очистить ваш почтовый ящик, он вызывает один конвейер Lobster вместо того, чтобы импровизировать множество вызовов инструментов. Модель решает, когда запустить конвейер и с какими параметрами, но сам конвейер остаётся детерминированным и поддающимся проверке.

Local Lobster — это эталонный агент, который использует Lobster для управления локальными рабочими процессами и описывается как открытый исходный агент, который переопределяет персональный ИИ, сочетая локальные рабочие процессы с проактивным поведением.

Проактивное локальное поведение

Ключевой причиной популярности Clawdbot и его видимости в X и сообществах разработчиков является то, что он ведёт себя как оператор, а не просто как окно чата.

Поскольку шлюз может выполнять запланированные задания и отслеживать состояние сеансов, распространёнными шаблонами являются:

* Ежедневные брифинги, которые обобщают календари, задачи и важную почту.
* Периодические сводки, такие как еженедельные отчёты о выполненных работах.
* Мониторы, которые отслеживают условия, а затем отправляют вам сообщения в первую очередь на предпочитаемом вами канале.
* Автоматизация файлов и репозиториев, которая запускается локально, но запускается по естественному языку.

Всё это работает с маршрутизацией и политикой использования инструментов на вашем компьютере или сервере. Вызовы моделей по-прежнему направляются к поставщикам, таким как Anthropic, OpenAI, Google, xAI, или к локальным бэкендам, но мозг ассистента, память и интеграции находятся под вашим контролем.

Установка и рабочий процесс разработчика

Проект предоставляет однострочный установщик, который загружает скрипт с `clawd.bot` и загружает Node, шлюз и основные компоненты. Для большего контроля вы можете установить его через npm или клонировать репозиторий TypeScript и собрать его с помощью pnpm.

Типичные шаги:

«`
curl -fsSL https://clawd.bot/install.sh | bash
«`

или

«`
npm i -g clawdbot
clawdbot onboard
«`

После регистрации вы подключаете канал, такой как Telegram или WhatsApp, выбираете поставщика модели и включаете навыки. Оттуда вы можете писать собственные файлы SKILL.md, создавать рабочие процессы Lobster и выставлять их через чат, веб-чат или приложение-компаньон для macOS.

1. Какие основные компоненты входят в архитектуру Clawdbot и как они взаимодействуют между собой?

Ответ: В архитектуру Clawdbot входят шлюз (Gateway), узлы (Nodes), каналы (Channels) и навыки и плагины (Skills and plugins). Шлюз маршрутизирует сообщения, вызывает модели и инструменты, управляет сеансами и планированием. Узлы предоставляют Clawdbot доступ к локальным ресурсам. Каналы интегрируются с чат-системами. Навыки — это инструменты, которые агент может вызывать.

2. Как работает механизм Lobster в Clawdbot и какие преимущества он предоставляет?

Ответ: Lobster — это механизм рабочего процесса, который обеспечивает работу Local Lobster и многих продвинутых автоматизаций Clawdbot. Он позволяет выполнять многошаговые последовательности инструментов как единую детерминированную операцию с явными шлюзами утверждения. Конвейеры определяются как JSON или YAML или как компактная строка конвейера в оболочке. Шаги обмениваются типизированными данными JSON, а не неструктурированным текстом. Механизм обеспечивает тайм-ауты, ограничения вывода и политику работы в песочнице.

3. Какие возможности предоставляет Clawdbot для проактивного локального поведения?

Ответ: Clawdbot может выполнять запланированные задания и отслеживать состояние сеансов. Распространёнными шаблонами являются ежедневные брифинги, периодические сводки, мониторы, которые отслеживают условия, и автоматизация файлов и репозиториев. Всё это работает с маршрутизацией и политикой использования инструментов на компьютере или сервере пользователя.

4. Как можно установить Clawdbot и начать с ним работать?

Ответ: Для установки Clawdbot можно использовать однострочный установщик, который загружает скрипт с clawd.bot и загружает Node, шлюз и основные компоненты. Также можно установить его через npm или клонировать репозиторий TypeScript и собрать его с помощью pnpm. После регистрации нужно подключить канал, выбрать поставщика модели и включить навыки. Затем можно писать собственные файлы SKILL.md, создавать рабочие процессы Lobster и выставлять их через чат, веб-чат или приложение-компаньон для macOS.

5. Какие инструменты и ресурсы может использовать Clawdbot для выполнения задач?

Ответ: Clawdbot может использовать мессенджеры, файлы, оболочку, браузер и устройства для умного дома. Он также может вызывать локальные ресурсы, такие как файловая система, автоматизация браузера, микрофон, камера или API для конкретных платформ на macOS, Windows, Linux, iOS и Android.

Источник