~/wiki / rabochee-mesto / oh-my-pi

oh-my-pi (omp) — терминальный AI-агент для кодинга с «вшитой» IDE

Основной чат

Чат для вайбкодеров: новости, гайды, поиск исполнителей, маркетплейс и разбор реальных кейсов.

$ cd раздел/ $ join vibe dev
oh-my-pi (omp) — терминальный AI-агент для кодинга с «вшитой» IDE - обложка

oh-my-pi (сокращённо omp) — это открытый терминальный AI-агент для программирования с девизом «A coding agent with the IDE wired in» («агент для кода со встроенной IDE»). Проект создал Can Bölük как форк минималистичного агента Pi от Марио Зехнера (Mario Zechner). Если Pi — это «скелет» с четырьмя базовыми инструментами, то omp превращает его в полноценный рабочий верстак с батарейками в комплекте.

Лицензия — MIT, сайт проекта — omp.sh. За ~7 месяцев проект собрал более 22 000 звёзд на GitHub.

Ключевая идея автора: «the model is the moat, the harness is the bridge» — модель это ров с водой, а оболочка (harness) это мост. Смысл в том, что одна и та же модель в хорошей обвязке работает в разы лучше.


Коротко: что умеет omp

Заявленные цифры из репозитория:

  • 60+ провайдеров моделей (Anthropic, OpenAI, Google, xAI/Grok, DeepSeek, локальные Ollama/vLLM и любые OpenAI-совместимые эндпоинты);
  • 31 встроенный инструмент;
  • 14 LSP-операций (работа с языковым сервером);
  • 28 DAP-операций (управление реальным отладчиком);
  • ~80 000 строк на Rust в ядре.

Работает на macOS, Linux и Windows (без WSL).


Откуда взялся omp: форк Pi

Название обыгрывает связку «Oh My Zsh → zsh»: как Oh My Zsh надстраивается над оболочкой zsh, так omp надстраивается над Pi.

  • Pi (Марио Зехнер) — намеренно минимальный агент. Всего 4 инструмента: read, write, edit, bash. Философия — маленькое читаемое ядро, в которое легко вносить вклад. ~84 000 звёзд.
  • omp (Can Bölük) — официальный форк, который «добавляет всё, чего вам не хватало»: LSP-редактирование, реальный отладчик через DAP, суб-агенты, правила коррекции потока на лету, исполнение кода и модель-«советник».

По сути это два разных ответа на один вопрос. Pi говорит «поставь плагины сам под свои задачи», omp — «всё уже собрано и настроено из коробки».


Главная фича: hashline-редактирование

Это, пожалуй, самое интересное в omp с инженерной точки зрения.

Проблема. Обычные AI-агенты редактируют файлы двумя способами: либо шлют весь файл целиком с заменой, либо ссылаются на номера строк. Первое расходует тонну токенов, второе ломается, как только строки сдвинулись (модель метит не туда).

Решение omp — hashline. Каждой строке присваивается короткий хеш-якорь (2–3 символа), выведенный из её содержимого. Модель указывает на строку не по номеру и не переписывает её текст целиком, а ссылается на этот якорь. Патч со «протухшим» (устаревшим) хешем просто отклоняется, а не применяется вслепую.

Что это даёт по цифрам:

  • На модели Grok Code Fast 1 доля успешных правок реального кода выросла с 6,7% до 68,3% — примерно десятикратный рост. Модель та же, промпт тот же — изменился только формат редактирования.
  • На 180 задачах по React через 16 моделей формат добавил в среднем ~15 процентных пунктов к успешности.
  • Расход выходных токенов падает: на Grok 4 Fast — примерно на 61%, на Claude Opus — около 30%.

Это наглядная иллюстрация «проблемы обвязки» (Harness Problem): часто дело не в модели, а в том, как инструмент подаёт ей код.


Как это работает: архитектура

omp не «шеллит» наружу отдельными процессами, а линкует реальные реализации прямо в процесс — подход «zero fork/exec». Внутри: ripgrep, glob, find, форк bash под названием brush и ещё 58 CLI-утилит.

Четыре точки входа поверх одного движка:

  1. Интерактивный TUI — терминальный интерфейс по умолчанию.
  2. One-shot (omp -p) — разовый запуск для скриптов и CI.
  3. Node SDK — программный доступ.
  4. RPC/ACP по stdio — интеграция с редакторами (например, Zed через Agent Client Protocol).

Стек: TypeScript (агент, SDK, TUI), Rust (~80k строк в крейтах pi-shell, pi-natives, pi-ast, pi-iso, pi-voice, pi-walker через N-API) и рантайм Bun.


Ключевые возможности подробно

  • LSP, вшитый в запись. Переименования идут через workspace/willRenameFiles, поэтому импорты и ре-экспорты обновляются корректно. Рефакторинг «структурно верен по построению», а не «вероятностно верен по совпадению строк».
  • Реальный отладчик через DAP. Поддержка lldb, dlv (Go), debugpy (Python): точки останова, пошаговое выполнение, инспекция кадров стека и живого состояния. Полезно для гонок данных, segfault'ов и конкурентных багов — вместо расстановки print.
  • Исполнение кода с ре-входом в инструменты. Персистентный Python и Bun-воркер могут вызывать инструменты самого агента через loopback-мост.
  • Time-traveling stream rules. Правила, которые обрывают поток посреди токена по совпадению regex, вставляют правку и повторяют запрос.
  • Суб-агенты первого класса. Инструмент task раскидывает задачи по изолированным воркерам, возвращающим результат по схеме; за ними следит Agent Hub (Alt+A).
  • Модель-«советник» (advisor). Ревьюер, который смотрит на каждый ход и вставляет заметки или блокеры.
  • Совместные сессии через /collab — с клиентскими «запечатанными» кадрами и ссылками QR/браузер.
  • web_search по 23 бэкендам с извлечением в markdown из arXiv, GitHub, Stack Overflow, реестров пакетов и баз безопасности (NVD/OSV/CISA KEV).
  • Внутренние URL-схемы (pr://, issue://, agent://, conflict://), благодаря которым PR-ы, GitHub и merge-конфликты выглядят как пути в файловой системе.
  • Управление браузером/десктопом (Puppeteer + host-level computer tool), память/скиллы, код-ревью с вердиктами P0–P3 и атомарное разбиение коммитов.
  • Наследование чужих конфигов. Подхватывает настройки из Cursor, Cline, Codex и Copilot — «No migration script».

Роли моделей и роутинг

omp назначает разные модели под разные задачи (десять «ролей»): мощные reasoning-модели на PLAN/ARCHITECT, дешёвые и быстрые на TASK/SUBTASK, vision-модели на VISION, отдельная — на COMMIT. Есть цепочки фолбэков и round-robin по ключам. Это позволяет балансировать цену и качество.


Установка

bash
# macOS / Linux
curl -fsSL https://omp.sh/install | sh

# Homebrew
brew install can1357/tap/omp

# Bun (рекомендуемый способ)
bun install -g @oh-my-pi/pi-coding-agent

# Nix
nix run github:can1357/oh-my-pi

# Windows (PowerShell)
irm https://omp.sh/install.ps1 | iex

Из исходников: bun setup, затем bun dev.

Сколько это стоит

Ядро бесплатное и открытое (MIT). Платите вы только за API самих моделей — то есть за токены у выбранного провайдера. Плюс в том, что поддержка 50+ провайдеров позволяет использовать уже имеющиеся подписки (coding-планы), не заводя отдельный API-биллинг. Минус — omp может расходовать больше токенов, чем более «постные» альтернативы, что повышает счёт.


Чем omp лучше

  • IDE-уровень интеллекта из коробки. LSP-рефакторинг и настоящий отладчик — то, чего нет у большинства терминальных агентов, которые ограничиваются поиском-заменой и print-отладкой.
  • Меньше «промахов» при правках. Hashline даёт кратный рост успешности редактирования на слабых/дешёвых моделях.
  • Не привязывает к вендору. 60+ провайдеров и OpenAI-совместимые эндпоинты против «одна модель — один инструмент».
  • Полностью открытый. MIT, «open all the way down» — можно читать и менять что угодно.
  • Ноль настройки на старте. Работает хорошо сразу, подхватывает чужие конфиги.
  • Экономия токенов на выходе (за счёт hashline) — на некоторых моделях до ~60%.

Чем omp хуже

  • Сложность и «раздутость». Часть сообщества считает omp «feature-loaded monster» — монстром с избытком функций. Если вам нужен маленький предсказуемый инструмент, это перебор.
  • Может жечь больше токенов, чем минималистичные агенты, — несмотря на экономию на правках, общий объём контекста и служебных вызовов выше.
  • Спорный маркетинг. Громкое заявление «beats Claude Code» вызвало скепсис. В сравнении Standard Compute Claude Code лидирует в 4 из 6 категорий (качество вывода, автономность, надёжность, удобство), а omp впереди только по скорости и цене/ценности.
  • Выгода от LSP/DAP зависит от языка и установленных отладчиков — вне поддерживаемых языков эти преимущества не работают.
  • Сообщения о «memory confusion» — после подтягивания upstream-изменений модель иногда путается в том, какие инструменты доступны.
  • Нет независимых бенчмарков по общей точности задач — многие цифры идут от самого автора.

Что говорят отзывы

  • Betterstack (технический разбор): выделяет 4 архитектурных отличия — LSP, DAP, ролевой роутинг моделей и hashline. Реальная разница «виднее всего» в двух сценариях: семантически корректный рефакторинг и отладка через наблюдение, а не логи.
  • yuv.ai: подаёт omp как «другой подход», а не как «однозначно лучше». Подчёркивает, что рост 6,7% → 68,3% — это про формат правок, а не про модель.
  • AkitaOnRails (через обзор на Hashnode): сдержанно-честно — «It works. It is not bad. It also did not make me say how did I live without this» («Работает. Неплохо. Но и не вызвало ощущения "как я без этого жил"»).
  • gasatrya (Pi vs OMP, 2 недели тестов): после двух недель автор всё равно вернулся к минималистичному Pi — omp мощнее, но лишние функции и трение перевесили для его личного воркфлоу.
  • stork.ai: прямо называет минусом «too many features / bloat» и то, что omp «может быть слишком интенсивным» для тех, кому не нужно всё сразу.

С чем сравнивают

Инструмент Философия Ниша
Pi Минимализм, 4 инструмента, ставь плагины сам Кто хочет маленькое читаемое ядро
oh-my-pi «Всё из коробки», IDE внутри Кто хочет максимум возможностей сразу
Claude Code Полированный агент от Anthropic Качество вывода, надёжность, автономность
OpenCode Терминальный, приватность, много провайдеров Приватность + гибкость
Aider Git-центричный, автокоммиты Работа через git-историю
Goose / Kilo Code Шире, чем только код Общая автоматизация / много моделей и интеграций

Кому подойдёт, а кому нет

Подойдёт: терминальным разработчикам, которым нужен IDE-уровень интеллекта — семантический рефакторинг, реальная отладка, автогенерация коммитов; командам со сложными воркфлоу через суб-агентов; тем, кто хочет свободно переключать провайдеров и модели.

Не подойдёт: тем, кто ценит минимализм и предсказуемость; кто хочет минимальный расход токенов; кому «полный комбайн» кажется избыточным — таким людям ближе Pi, Aider или OpenCode.


Итог

oh-my-pi — это амбициозная попытка доказать, что обвязка вокруг модели важна не меньше самой модели. Hashline-редактирование и вшитые LSP/DAP — сильные, инженерно обоснованные идеи, которые реально повышают качество правок и отладки, особенно на дешёвых моделях. Обратная сторона — сложность, повышенный расход токенов и маркетинг, обгоняющий независимые замеры.

Если вам нужен максимально «умный» и напичканный агент под терминал и вы готовы разбираться — omp стоит попробовать. Если же вы за минимализм и контроль — присмотритесь к Pi или другим лёгким альтернативам.


Источники: репозиторий oh-my-pi, omp.sh, betterstack.com, yuv.ai, gasatrya.medium.com, stork.ai, hashnode.*

$ cd ../ ← назад к Рабочее место

$ nav --prev

Vibecraft от Яндекса: ИИ-платформа для создания сайтов и приложений без кода

$ nav --next

Orca (stablyai/orca) — ADE для оркестрации флота параллельных AI-агентов