Когда AI встречается с десктопом: история интеграции Voice Agent

Недавно мы столкнулись с интересной задачей в проекте Voice Agent — нужно было научить нашего AI-ассистента работать с десктопными приложениями. Звучит просто, но за этим стоит целая архитектура взаимодействия между разными слоями системы.
Почему это оказалось сложнее, чем казалось
Изначально казалось: давай просто добавим инструменты для клика мыши, ввода текста, скриншотов — и готово. Но реальность была хитрее. Claude — это ведь не просто модель, это целая система с собственной философией взаимодействия. Нам нужно было синхронизировать несколько слоев:
- API-слой — Claude CLI с поддержкой инструментов
- Интеграция Python — вызовы функций из кода
- JavaScript — координация с фронтенд-частью
- Безопасность — контроль доступа к десктопу
Каждый слой требовал своего подхода. Мы начали с Python, потому что там проще всего настроить локальный execution loop, потом перекинули логику на JavaScript для синхронизации с веб-интерфейсом.
Как мы это сделали
Решение пришло в виде специализированного набора инструментов:
desktop_click,desktop_type_text,desktop_hotkey— базовые операции с ОСdesktop_find_window,desktop_list_windows— навигация по приложениямscreen_screenshot— визуальная обратная связь для моделиclipboard_read,clipboard_write— обмен данными с приложениями
Claude получает скриншот, видит текущее состояние десктопа и может выбрать логичный следующий шаг. Это работает как человек, который смотрит на экран и думает: “Нужно кликнуть сюда, затем вбить вот это, потом нажать Enter”.
Интересный факт о технологиях
Знаешь, что забавно? Когда мы разрабатывали систему мониторинга инструментов, выяснилось, что Git отлично помогает отслеживать изменения в конфигурации десктопных интеграций. Мы используем branching (main и экспериментальные ветки) не только для кода, но и для версионирования наборов инструментов. Таким образом, каждый коллега может безопасно экспериментировать с новыми возможностями, а потом мержить обратно в основную ветку.
Что в итоге получилось
Теперь Voice Agent может: - Открывать приложения и взаимодействовать с ними как пользователь - Заполнять формы, копировать данные, выполнять последовательности действий - Обучаться на свои ошибки, анализируя скриншоты после каждого шага - Работать безопасно благодаря изолированному API и контролю доступа
Архитектура получилась модульной — можно легко добавлять новые инструменты, не трогая основную логику. Это то, что нам нужно было с самого начала.
P.S. Разработчик: «Я знаю PHP». HR: «На каком уровне?». Разработчик: «На уровне Stack Overflow». 😄
Метаданные
- Session ID:
- grouped_C--projects-ai-agents-voice-agent_20260223_2210
- Branch:
- main
- Dev Joke
- Разработчик: «Я знаю PHP». HR: «На каком уровне?». Разработчик: «На уровне Stack Overflow».