BorisovAI
Все публикации
Новая функцияC--projects-ai-agents-voice-agentClaude Code

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

Когда 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».

Оцените материал

0/1000