CLI-Anything: превращаем любой софт в CLI для AI-агентов

Open-source плагин для Claude Code, который автоматически генерирует CLI-обёртки для любого софта. 9 приложений, 1 436 тестов, 100% pass rate.

CLI-Anything: превращаем любой софт в CLI для AI-агентов
TL;DR: CLI-Anything — open-source плагин для Claude Code, который автоматически превращает любой софт с исходниками в полноценный CLI-инструмент для AI-агентов. Протестировано на 9 приложениях от GIMP до Blender, 1 436 тестов проходят на 100%.

Представь: у тебя есть GIMP, Blender, LibreOffice, OBS Studio. Ты годами учился нажимать нужные кнопки, запоминал горячие клавиши, смотрел туториалы. А теперь одна команда в терминале, и AI-агент умеет делать с этим софтом всё то же самое. Без скриншотов и без RPA-костылей.

CLI-Anything от исследователей из Гонконгского университета (HKUDS) берёт исходный код любого приложения и генерирует для него CLI-обёртку, которую AI-агенты понимают нативно. Я, честно говоря, когда увидел это, немного подвис. Потому что по сути любой тяжёлый десктопный софт, который годами продавали за большие деньги и к которому обучали людей неделями, теперь можно разобрать на запчасти и превратить в удобный инструмент для агентов.

CLI-Anything — схема поддерживаемых приложений

Зачем вообще CLI?

Вопрос справедливый. Есть же API, есть GUI-автоматизация, есть RPA. Зачем ещё один подход?

CLI — пожалуй, единственный интерфейс, который одинаково хорошо понимают и люди, и LLM. Текстовые команды ложатся в формат языковых моделей. Флаг --help — готовая документация, которую агент может прочитать сам. JSON-вывод — структурированные данные без парсинга HTML.

А GUI-автоматизация (привет, Selenium и RPA) ломается при каждом обновлении интерфейса. API есть далеко не у всего. CLI же обращается напрямую к бэкенду приложения, поэтому работает стабильнее.

Как работает CLI-Anything

Ставится как плагин к Claude Code. После установки появляется команда /cli-anything, которая запускает автоматический конвейер из 7 фаз:

  1. Analyze — сканирует исходный код, маппит GUI-действия на внутренние API
  2. Design — проектирует группы команд, модель состояния, форматы вывода
  3. Implement — собирает Click-CLI с REPL-режимом, JSON-выводом, undo/redo
  4. Plan Tests — создаёт план тестирования (unit + E2E)
  5. Write Tests — реализует тестовый набор
  6. Document — пишет документацию
  7. Publish — создаёт setup.py, устанавливает в PATH

На выходе — готовый CLI, который можно вызывать из терминала или встраивать в агентские пайплайны.

На чём протестировано

Разработчики прогнали CLI-Anything на 9 open-source приложениях. Не на демо-проектах, а на реальном софте.

Софт Область CLI-команда Тесты
GIMP Редактирование изображений cli-anything-gimp 107
Blender 3D-моделирование cli-anything-blender 208
Inkscape Векторная графика cli-anything-inkscape 202
Audacity Аудио cli-anything-audacity 161
LibreOffice Офисный пакет cli-anything-libreoffice 158
OBS Studio Стриминг cli-anything-obs-studio 153
Kdenlive Видеомонтаж cli-anything-kdenlive 155
Shotcut Видеомонтаж cli-anything-shotcut 154
Draw.io Диаграммы cli-anything-drawio 138

Итого 1 436 тестов (1 011 unit + 425 E2E), и все проходят. 100% pass rate — по данным репозитория проекта.

И тут стоит подчеркнуть: CLI не эмулирует функции. Он генерирует валидные файлы проектов (ODF, MLT XML, SVG) и вызывает настоящее приложение для рендеринга. LibreOffice реально конвертирует в PDF, Blender реально рендерит 3D-сцены. Заглушек нет.

Как установить

Если у тебя уже стоит Claude Code — всё просто:

# Добавить маркетплейс
/plugin marketplace add HKUDS/CLI-Anything

# Установить плагин
/plugin install cli-anything

Потом генерируешь CLI для нужного софта:

# Локальный исходник
/cli-anything ./gimp

# Или GitHub-репозиторий
/cli-anything https://github.com/blender/blender

И устанавливаешь результат:

cd gimp/agent-harness && pip install -e .
cli-anything-gimp --help

Можно и без маркетплейса — клонируешь репозиторий и копируешь плагин в ~/.claude/plugins/ вручную.

Как выглядит на практике

Вот пример работы с LibreOffice через сгенерированный CLI:

# Создать документ Writer
$ cli-anything-libreoffice document new -o report.json --type writer

# Добавить заголовок
$ cli-anything-libreoffice --project report.json writer add-heading -t "Отчёт Q1" --level 1

# Добавить таблицу
$ cli-anything-libreoffice --project report.json writer add-table --rows 4 --cols 3

# Экспортировать в PDF через настоящий LibreOffice
$ cli-anything-libreoffice --project report.json export render output.pdf -p pdf

Есть и REPL-режим: запускаешь cli-anything-blender без аргументов и работаешь в интерактивной сессии с историей команд и undo/redo.

Для агентов есть флаг --json, который превращает любой вывод в структурированный JSON. Парсить текст не нужно.

Архитектура

Архитектура CLI-Anything — от исходного кода к CLI

Что внутри:

CLI обязан вызывать реальное приложение — нет Pillow вместо GIMP, нет самописных рендереров вместо Blender. Каждый инструмент работает в двух режимах: stateful REPL для интерактивных сессий и subcommand-интерфейс для пайплайнов. Все сгенерированные CLI используют общий REPL-интерфейс (repl_skin.py), так что UX везде одинаковый. Установка — pip install -e ., и инструмент сразу в PATH.

Что это значит для RPA

Вот тут, мне кажется, самое интересное. Весь рынок RPA (UiPath, Automation Anywhere, Blue Prism) построен на простой идее: «GUI-софт не имеет программного интерфейса, поэтому давайте кликать по кнопкам роботами». Хрупко, дорого, ломается при каждом обновлении UI. Но других вариантов не было.

CLI-Anything обходит GUI полностью. Берёт исходный код, разбирается во внутренних API и строит CLI напрямую к бэкенду. Похоже на то, что делают Cursor Cloud Agents через computer use, только без скриншотов и без GPU для визуального распознавания.

Понятно, что CLI-Anything работает только с open-source софтом, нужен исходный код. Но если посмотреть, сколько корпоративного ПО имеет open-source альтернативы (LibreOffice, Odoo, NextCloud, Grafana), покрытие получается приличное.

Я не скажу, что RPA-компании завтра закроются. Но если честно, когда я смотрю на этот проект, мне кажется, что акции UiPath должны немного нервничать. Зачем кликать по кнопкам, если можно обратиться к софту напрямую?

Вывод

Я давно не видел open-source проект, который так точно попадает в нерв времени. Софт с открытым кодом — одна команда — и AI-агент умеет с ним работать. Без написания API, без RPA-костылей.

Проект под MIT-лицензией, доказал работоспособность на 9 приложениях. В планах — CAD, DAW, IDE, научный софт и интеграция с агентскими фреймворками помимо Claude Code.

Если работаешь с агентами или автоматизируешь что-то через Claude Code — стоит попробовать. Проект молодой, но идея настолько очевидно правильная, что удивительно, почему этого не сделали раньше.

Что ещё почитать

FAQ

Работает ли CLI-Anything с закрытым софтом (Photoshop, Microsoft Office)? Нет, нужен исходный код. Но для большинства проприетарных инструментов есть open-source альтернативы: GIMP вместо Photoshop, LibreOffice вместо MS Office, Kdenlive вместо Premiere. В планах разработчиков — поддержка API закрытого ПО.

Нужен ли Claude Code для использования? Для генерации CLI — да, CLI-Anything работает как плагин к Claude Code. Но сгенерированные CLI — обычные Python-пакеты, их можно использовать из любого терминала или агентского фреймворка.

Насколько это стабильно для продакшена? 1 436 тестов со 100% pass rate — по меркам open-source это серьёзно. Но проект молодой, и я бы подождал пару месяцев перед тем, как тащить в продакшен. Для экспериментов и прототипов — уже готов.

Можно ли использовать с другими AI-агентами, кроме Claude? Сгенерированные CLI — обычные утилиты командной строки. Они работают с любым агентом, который умеет вызывать bash-команды: Cursor, Codex, собственные решения на LangChain или CrewAI.

Источники- [CLI-Anything — GitHub-репозиторий](https://github.com/HKUDS/CLI-Anything)