Как подружить Openclaw с базой данных Supabase, научить управлять/писать в Telegram и сделать супер-систему управления вашими задачами

Как подружить Openclaw с базой данных Supabase, научить управлять/писать в Telegram и сделать супер-систему управления вашими задачами

В этом гайде я подробно расскажу, как интегрировать OpenClaw с базой данных и настрою полноценную автоматизацию работы с Telegram через userbot: от чтения каналов и сообщений до отправки собственных сообщений и сортировки их по папкам. Вы узнаете, как строить сложные логические цепочки без единой строки программного кода, используя визуальные инструменты и готовые сценарии, а также получите пошаговые примеры настройки.

Начало

Что такое Openclaw: это агент, который вы можете поставить себе на компьютер или недорогой сервер. Он стал самым популярным решением в истории Github, его купил OpenAI и стал очень мощным решением для бизнеса и профессионалов для выполнения личных и бизнес задач.

Я программист с 10 летним стажем в крупных ИТ-командах. 3 дня назад я поставил себе Openclaw, и я был очень недоволен встроенной визуализацией того, что могу сделать с ней, но в то же время я нашел этот инструмент очень мощным. В этом посте я расскажу как сделать ваш личный ассистент более мощным.

Далее предполагается, что вы добавили какую-то LLM и канал telegram для общения с агентом!

Шаг 1: Добавляем БД

Зачем: встроенный UI не очень дружелюбный. Сессии сложно переключаются и вы всегда работаете с одним чатом. Отложенные задачи очень сложны в использовании. А главное: сложно строить распределенные цепочки задач. Давайте попробуем добавить базу данных и сделать из этого мощную систему управления.

Введение: Для базы данных мы возьмем Supabase. Это OpenSource база данных на базе SQL базы Postgres, которая крайне популярна в разработке. Имеет мощное и удобное API, а также имеет встроенные инструменты для помощи ИИ-агентами работать с ней.

Установка: сама установка довоьна простая, описанная в документации:

После того как вы установили ее локально, вам доступна команда на компьютере supabase. Например если вы сделаете supabase start вам будут выведены такие данные как ссылка для работы с таблицами через браузера, а также служебные адреса:

Как подружить Openclaw с базой данных Supabase, научить управлять/писать в Telegram и сделать супер-систему управления вашими задачами

Из того что нам важно:

Studio │ http://127.0.0.1:54323

MCP │ http://127.0.0.1:54321/mcp

Первое — это визуальный доступ к БД, второе — помощник для ИИ агента как работать с содержимым и какие таблицы и колонки в них есть, чтобы ИИ агент мог из них составлять запросы

Пример web интерфейса

Тут пример  добавленных таблиц с задачами, на базе которых можем построить сложные цепи и отложенные выполнения задач.
Тут пример  добавленных таблиц с задачами, на базе которых можем построить сложные цепи и отложенные выполнения задач.

Подружим нашего агента с базой:

Как подружить Openclaw с базой данных Supabase, научить управлять/писать в Telegram и сделать супер-систему управления вашими задачами

Промпт: Я установил supabase Supabase и у меня есть http://127.0.0.1:54321/mcp, добавь ее в конфигурацию openclaw

И это все что нужно! Далее вы можете просить вашего агента добавить разные таблицы любой структуры, в которых будут хранить данные и агент будет их понимать через тот MCP, что поставляется с этой базой.

Шаг 2: Учим агента работать с базой

Как подружить Openclaw с базой данных Supabase, научить управлять/писать в Telegram и сделать супер-систему управления вашими задачами

Промпт: создай скилл с базой данных, напиши что это основаная база данных для задач, опиши как с ней работать и как, также напиши, что она основная для пользовталеьских данных, если запрашиваются данные, о которых тебе более не известно как с ними работать через другие инструменты. А также добавь в AGENTS.md инструкции работать с ней, также добавь в наык TOOLS.md о ней и короткие инструкции как с ней работать

Шаг 3: Создаем таблицу задач

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

Давайте подумаем, что от наших задач нужно: название задачи, описание что нужно делать, а также дату выполнения. Так же мы можем сразу закроить возможность, что задача может иметь дату, ранее которой не нужно выполняться; а еще задача может иметь родителя — то есть задачу, которой она порождена, если порождена не вами из чата.

И так, просим чат создать таблицу tasks с полями

id parent_id <- если задача дочерняя от другой name body <- тут будет тело вашей задачи due_date <- тут будет описание что делать started_at <- тут будет дата когда ее надо начать делать status <- статус выполнения (создана, в процессе, завершена) result <- text priority <- numer (500 default) created_at updated_at

Как итог: агент сам через MCP построит вам таблицу

Как подружить Openclaw с базой данных Supabase, научить управлять/писать в Telegram и сделать супер-систему управления вашими задачами

Просим создать несколько задач:

  • Создай задачу на изучение новых возможностей Openclaw на вчера, результат должен быть создание 2х задач — как работать с браузер-поиском и как установить Openclaw на сервер с датой через неделю
  • Создай задачу подготовки вакансии для дизайнера логотипов. Собери основные популярные требования на эту вакансию и сделай дату выполнения после 5 марта.

Результат работы:

из-за того, что плохо настроили навыки — он сразу выполнил часть из них и создал уже выполненные подзадачи (а их создание и было его задачей), надо будет подтюнить навыки👀😬, чтобы он понимал вас более ясно

Шаг 4: Настраиваем агента работать с задачами по условиям времени выполнения

Промпт: создай 2 cron jobs в openclaw, которые выполняют задачи из базы данных, у которых due_date больше сегодня и у которых статус init, отсоритруй по порядку, сначала высший приоритет (значение меньше — приоритетнее) и выполянет. Одна команда должны работать с высшим приоритетом (priority <= 100) и выполняться раз в 5 минут, и одна команда должна работать с низкоприоритетными (>100) раз в час.

Результаты:

Как видим, ИИ сделал не очень идеальные задания: он сделал описания из ситуации с текущими данными, давайте отредактируем — попросим делать приоритетные не по одной, а низкоприоритетных по 3 (именно такие данные были на момент формулировки задачи. Также он проигнорировал задачи, у которых прошел срок выполнения, но они не выполнены. Давайте поправим:

Промпт: Отредактируй задания cron jobs: Если задачи истекли, но статус не в работе, то их нужно выполнить. Также не ограничивай их числом — выполняй столько, сколько есть, но бери по 3 штуки. И не добавляй крон задачи в базу данных, крон задачи только для для агента, а сами задачи будут в базе данных

Результат

Вы можете настраивать и добавлять условия, вплоть до центральных рекомендаций основных навыков, а не только на уровне инстурмента.

Не надо захламлять самого агента и его cron jobs список, пусть выполняет задачи из базы данных и туда складывает результат, меняет статус и порождает новые задачи туда же.

Работаем с Telegram на полную катушку

Шаг 1: Настраиваем телеграм

Учим работать с телеграмом — читать чаты, сообщения и папки

Ну что же, пришло время научить работат ьс телеграмом на полную катушку. Дело в том, что стандартная интеграция с каналами в Openclaw только в виде общения в чате. Читать и отправлять сообщения он не может, а для некоторых процессов это необходимо: искать товары, смотреть отклики на вакансии, отправлять коллегам и партнерам сообщения. Приступим

Объяснение: стандартное API работы с Telegram Bot не может ходить в каналы, куда бот не добавлен. А это может быть очень нужно. Но у телеграма есть Telegram MTProto (Client API).

Для того чтобы им воспользоваться нам нужно зарегистрировать свое приложение и получить ключи.

Заходим на

Вводим свои данные и проходим все шаги, пока не получим ключи ниже (и сохраните их)

TG_APP_ID=******** TG_APP_HASH=******

Эти ключи пригодятся при настройке будущего решения..

Шаг 2: Учим агента Openclaw

Мы можем воспользоваться разными библиотеками из github работать с ним, я взял для себя

У этого решения много вариантов использования, но коротко мы можем шаг за шагом научить работать его с чтением канала, отправкой сообщений. Также можно научить его читать ваши папки, научить читать по 100 сообщений или с 100-го сообщения по 500 и так далее, фильтровать по нужным фразам (например вы хотите научить читать его 10 определенных каналов с вакансиями и брать только те, что касаются продакт-менеджеров или новостей про криптовалюту и определять важные для вас новости).

Я шаг за шагом сделал универсальный инстурмент (и будучи программистом поработал с кодом, чтобы было более менее устойчивым).

Результат, как это выглядит у меня:

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

Был рад продемонстрировать этот инструмент. Я с ним поработал всего несколько дней, но он произвел очень крутые впечатления и навеял на создание некоторые крутые задумки создать несколько решений для бизнеса: для агентов недвижимости, HR сотрудников и торговых компаний.

Если вам нужно построить более сложные цепочки: развернуть полноценную систему на много участников; сделать управление сотрудниками, интегрировать с Jira/Slack/Bitrix24; если у вас есть вопросы и пожелания — пишите в комментариях или в телеграм: https://t.me/codiew

Всем удачи в этом новом времени!

5
4 комментария