Todoist + AI-агент: полная прозрачность хода работы
Синхронизация рассуждений и прогресса AI-агента с Todoist — видно, что и почему делает агент.
Проблема: что делает агент, пока я не смотрю?
AI-агенты умеют выполнять сложные многошаговые задачи — собирать full-stack приложение, проводить глубокое исследование, рефакторить кодовую базу. Но пока агент работает, пользователь часто теряет нить: на каком этапе он сейчас, что уже сделано, где возникла проблема? Проверять чат-логи вручную неудобно, особенно когда задача запущена в фоне.
Решение — вынести всё в инструмент, который вы и так используете для управления задачами. Todoist идеально подходит: привычный интерфейс, мобильные уведомления, доступ из любого места. Агент синхронизирует свой прогресс с Todoist-проектом, и вы видите ход работы в реальном времени.
Что даёт эта интеграция
Система строится вокруг трёх ключевых принципов:
- Визуализация состояния. Каждая задача агента создаётся в Todoist и перемещается между секциями:
🟡 In Progress,🟠 Waiting,🟢 Done. Один взгляд — и понятно, что происходит. - Внешний доступ к рассуждениям. В описание задачи агент записывает свой полный план — как он собирается решать задачу, какие шаги запланированы, какие инструменты будет использовать. Это не скрытый «чёрный ящик», а открытый документ.
- Потоковое логирование. Каждый завершённый подшаг агент фиксирует как комментарий к задаче. Вы видите: «загрузил зависимости — OK», «запустил тесты — 3 из 5 прошли», «исправил модуль auth — перехожу к следующему».
Как устроена система
1. Подготовка Todoist
Создаёте проект (например, «AI Workspace») и три секции:
🟡 In Progress— задачи, которые агент выполняет прямо сейчас🟠 Waiting— задачи, ожидающие внешнего события (ответ пользователя, одобрение PR)🟢 Done— завершённые задачи
2. Скрипты-обёртки для Todoist API
Агент сам создаёт три bash-скрипта, которые работают с REST API Todoist. Это не «магия» — обычные curl-запросы, упакованные в удобные обёртки.
todoist_api.sh — базовая обёртка для всех запросов к API. Принимает endpoint, метод и JSON-данные, возвращает ответ.
sync_task.sh — управление задачами. Создаёт новую задачу или обновляет существующую, перемещает между секциями, добавляет описание и метки. Именно сюда агент записывает свой план в поле description.
add_comment.sh — логирование. Добавляет комментарий к задаче с текстом о выполнении конкретного шага. Каждый вызов — одна запись в ленте прогресса.
3. Рабочий процесс
Когда вы даёте агенту сложную задачу, он:
- Создаёт задачу в Todoist в секции «In Progress» с полным планом в описании.
- По мере выполнения каждого шага — добавляет комментарий с результатом.
- Если нужно ваше участие — перемещает задачу в «Waiting».
- После завершения — перемещает в «Done».
Вы получаете push-уведомления на телефон. Не нужно проверять терминал, не нужно листать логи. Всё — в одном месте, в привычном интерфейсе.
Зачем это нужно, если есть чат?
Чат-лог — это линейная лента сообщений. В ней смешаны вопросы, ответы, технические выводы, ошибки. Найти «что именно делает агент сейчас» в длинном диалоге — задача нетривиальная.
Todoist даёт структуру: каждая задача — отдельная карточка с историей. Можно вернуться к задаче через неделю и увидеть, на чём агент остановился. Комментарии хронологически упорядочены, описание хранит исходный план. Это не замена чату — это дополнение, которое делает работу агента наблюдаемой.
Детали реализации
Для работы достаточно Todoist API-токена (бесплатный тариф поддерживает REST API) и базовых навыков bash. Агент сам напишет скрипты — нужно только указать токен, ID проекта и ID секций.
Скрипты используют стандартный curl и API api.todoist.com/rest/v2/. Никаких внешних зависимостей. Работает на любой машине, где есть bash и curl.
Итого
Todoist + AI-агент — это способ превратить «чёрный ящик» в прозрачный процесс. Вы видите план агента, каждый шаг выполнения, текущий статус и причины задержек. Не нужно верить на слово — всё зафиксировано в задачах и комментариях.
Скачать скилл (Markdown)
«`markdown
# Todoist Task Manager: прозрачность задач агента
Максимальная прозрачность длительных агентных рабочих процессов через синхронизацию внутренних рассуждений и логов прогресса напрямую с Todoist.
## Проблема
Когда агенты выполняют сложные многошаговые задачи (например, сборка full-stack приложения или глубокое исследование), пользователь часто теряет нить: что агент делает сейчас, какие шаги уже выполнены, где он застрял. Проверка чат-логов вручную утомительна для фоновых задач.
## Что делает этот скилл
Этот сценарий использует навык `todoist-task-manager` для:
1. **Визуализация состояния**: создание задач в определённых секциях, таких как `🟡 In Progress` или `🟠 Waiting`.
2. **Внешний доступ к рассуждениям**: публикация внутреннего «Плана» агента в описание задачи.
3. **Потоковое логирование**: добавление завершённых подшагов как комментариев к задаче в реальном времени.
4. **Автоматическая сверка**: heartbeat-скрипт проверяет зависшие задачи и уведомляет пользователя.
## Необходимые навыки
Вам не нужен готовый скилл. Просто попросите вашего агента OpenClaw создать bash-скрипты, описанные в **Руководстве по настройке** ниже. Поскольку OpenClaw может управлять своей файловой системой и выполнять shell-команды, он фактически «соберёт» навык для вас по запросу.
## Детальное руководство по настройке
### 1. Настройка Todoist
Создайте проект (например, «OpenClaw Workspace») и получите его ID. Создайте секции для разных состояний:
— `🟡 In Progress`
— `🟠 Waiting`
— `🟢 Done`
### 2. Реализация: навык, «собранный агентом»
Вместо установки навыка вы можете попросить OpenClaw создать эти скрипты для вас. Каждый скрипт обрабатывает отдельную часть взаимодействия с API Todoist.
**`scripts/todoist_api.sh`** (Базовая обёртка):
«`bash
#!/bin/bash
# Использование: ./todoist_api.sh
ENDPOINT=$1
METHOD=$2
DATA=$3
TOKEN=»YOUR_TODOIST_API_TOKEN»
if [ -z «$DATA» ]; then
curl -s -X «$METHOD» «https://api.todoist.com/rest/v2/$ENDPOINT» \
-H «Authorization: Bearer $TOKEN»
else
curl -s -X «$METHOD» «https://api.todoist.com/rest/v2/$ENDPOINT» \
-H «Authorization: Bearer $TOKEN» \
-H «Content-Type: application/json» \
-d «$DATA»
fi
«`
**`scripts/sync_task.sh`** (Управление задачами и статусами):
«`bash
#!/bin/bash
# Использование: ./sync_task.sh
CONTENT=$1
STATUS=$2
TASK_ID=$3
DESCRIPTION=$4
LABELS=$5
PROJECT_ID=»YOUR_PROJECT_ID»
case $STATUS in
«In Progress») SECTION_ID=»SECTION_ID_PROGRESS» ;;
«Waiting») SECTION_ID=»SECTION_ID_WAITING» ;;
«Done») SECTION_ID=»SECTION_ID_DONE» ;;
*) SECTION_ID=»» ;;
esac
PAYLOAD=»{\»content\»: \»$CONTENT\»»
[ -n «$SECTION_ID» ] && PAYLOAD=»$PAYLOAD, \»section_id\»: \»$SECTION_ID\»»
[ -n «$PROJECT_ID» ] && [ -z «$TASK_ID» ] && PAYLOAD=»$PAYLOAD, \»project_id\»: \»$PROJECT_ID\»»
if [ -n «$DESCRIPTION» ]; then
ESC_DESC=$(echo «$DESCRIPTION» | sed ‘:a;N;$!ba;s/\n/\\n/g’ | sed ‘s/»/\\»/g’)
PAYLOAD=»$PAYLOAD, \»description\»: \»$ESC_DESC\»»
fi
[ -n «$LABELS» ] && PAYLOAD=»$PAYLOAD, \»labels\»: $LABELS»
PAYLOAD=»$PAYLOAD}»
if [ -n «$TASK_ID» ]; then
./scripts/todoist_api.sh «tasks/$TASK_ID» POST «$PAYLOAD»
else
./scripts/todoist_api.sh «tasks» POST «$PAYLOAD»
fi
«`
**`scripts/add_comment.sh`** (Логирование прогресса):
«`bash
#!/bin/bash
# Использование: ./add_comment.sh
TASK_ID=$1
TEXT=$2
ESC_TEXT=$(echo «$TEXT» | sed ‘:a;N;$!ba;s/\n/\\n/g’ | sed ‘s/»/\\»/g’)
PAYLOAD=»{\»task_id\»: \»$TASK_ID\», \»content\»: \»$ESC_TEXT\»}»
./scripts/todoist_api.sh «comments» POST «$PAYLOAD»
«`
### 3. Промпт для использования
Вы можете дать этот промпт своему агенту, чтобы он и **настроил**, и **использовал** систему прозрачности:
«`text
Я хочу, чтобы ты собрал систему прозрачности задач на базе Todoist для своих запусков.
Сначала создай три bash-скрипта в папке ‘scripts/’:
1. todoist_api.sh (обёртка на curl для REST API Todoist)
2. sync_task.sh (для создания и обновления задач с определёнными section_id для In Progress, Waiting и Done)
3. add_comment.sh (для публикации логов прогресса как комментариев)
Используйте эти переменные для настройки:
— Token: [Ваш API-токен Todoist]
— Project ID: [ID вашего проекта]
— Section IDs: [ID секции In Progress, ID секции Waiting, ID секции Done]
После создания для каждой сложной задачи, которую я тебе даю:
1. Создавай задачу в ‘In Progress’ с полным ПЛАНОМ в описании.
2. По завершении каждого подшага вызывай add_comment.sh с логом того, что сделал.
3. Перемещай задачу в ‘Done’ после завершения.
«`
## Ссылки
— [Документация REST API Todoist](https://developer.todoist.com/rest/v2/)
«`