# Как установить и настроить Oh-My-Pi (OMP): консольный ИИ-агент для терминала

> AI Release · @ai_release1 · https://ai-release.org/guides/kak-ustanovit-i-nastroit-oh-my-pi-omp-konsolnyy-ii-agen.html

## TL;DR
- Время выполнения: 20–30 минут (установка пакета + получение API-ключа + первый запуск)
- Уровень сложности: Intermediate
- Понадобится: терминал (bash/zsh/PowerShell), Node.js LTS и npm (если OMP распространяется как npm-пакет — сверьтесь с документацией), API-ключ провайдера модели, доступ в интернет, git для проверки изменений в файлах

Точное имя пакета, поддерживаемые ОС и список флагов в открытом доступе могут отличаться от шаблона ниже — все места, где это критично, помечены «сверьтесь с документацией». Общий порядок действий от этого не меняется.

## Требования и подготовка
![Иллюстрация к разделу «Требования и подготовка»](https://ai-release.org/guides/img/kak-ustanovit-i-nastroit-oh-my-pi-omp-konsolnyy-ii-agen-ru-1.jpg?v=1792918367)

- ОС: Linux, macOS или Windows 10/11 (для Windows удобнее WSL2). Точный список поддерживаемых систем — сверьтесь с документацией проекта.
- Node.js LTS + npm: нужны, если установка идёт через npm. Версию не фиксируем — берите актуальный LTS.
- API-ключ провайдера модели (OpenAI-совместимый или иной). Ключ выдаётся в личном кабинете провайдера; цена и лимиты — сверьтесь с тарифами провайдера.
- Свободное место под глобальные пакеты npm и кэш зависимостей.
- `git` — чтобы видеть, какие файлы изменил агент.
- Права на установку глобальных пакетов (или настроенный пользовательский prefix npm, см. раздел проблем).

Чек-лист перед стартом:

- [ ] `node --version` и `npm --version` выводят версии без ошибок
- [ ] API-ключ сохранён в менеджере паролей, а не в переписке
- [ ] Есть тестовый каталог-песочница под эксперименты (не рабочий репозиторий)
- [ ] Прочитан раздел Configuration в документации OMP: там точные имена переменных окружения и путь к конфигу

## Шаг 1. Проверить окружение и установить OMP

**Что сделать:** убедиться, что пакетный менеджер работает, затем поставить OMP глобально и проверить, что бинарник виден в `PATH`.

**Зачем:** 90% проблем первого запуска — не сам агент, а отсутствующий Node.js или глобальный бинарник, который не попал в `PATH`.

**Как проверить:** команды ниже должны вернуть версии и справку.

```bash
node --version
npm --version
```

Ожидаемый вывод — что-то вида `v20.x.x` и `10.x.x` (конкретные цифры зависят от вашей установки).

Установка (имя пакета подставьте своё — сверьтесь с документацией):

```bash
npm install -g <имя-пакета-omp>
```

Проверка, что команда зарегистрировалась:

```bash
which omp      # macOS / Linux
where omp      # Windows PowerShell
omp --version
omp --help
```

**Пример:** если `omp --version` печатает `omp 0.x.x`, установка прошла. Если оболочка отвечает `command not found: omp` — бинарник есть, но каталог npm не в `PATH`, решение в разделе проблем.

Если глобальная установка нежелательна, проверьте запуск без неё:

```bash
npx <имя-пакета-omp> --help
```

Почему это работает: `npx` скачивает пакет во временный кэш и запускает его бинарник, не меняя глобальное окружение — удобно, чтобы сначала посмотреть справку.

Сразу сохраните вывод `omp --help` в файл: там перечислены реальные флаги, имя переменной окружения для ключа и подкоманды.

```bash
omp --help > omp-help.txt
```

## Шаг 2. Подключить модель: ключ и конфиг
![Иллюстрация к разделу «Шаг 2. Подключить модель: ключ и конфиг»](https://ai-release.org/guides/img/kak-ustanovit-i-nastroit-oh-my-pi-omp-konsolnyy-ii-agen-ru-2.jpg?v=1792918375)


**Что сделать:** передать агенту API-ключ через переменную окружения и создать файл конфигурации с выбранной моделью.

**Зачем:** OMP — оболочка-агент: сам он не содержит модели, а обращается к провайдеру по ключу. Без ключа любой запрос завершится ошибкой авторизации.

**Как проверить:** `env | grep -i omp` (Linux/macOS) показывает переменную, а пробный запрос возвращает ответ модели, а не 401.

Шаг 2.1. Переменная окружения. Имя переменной возьмите из `omp-help.txt` — ниже шаблон с плейсхолдером:

```bash
export OMP_API_KEY="<ваш-ключ>"
echo $OMP_API_KEY | head -c 8   # проверка: печатаются первые 8 символов ключа
```

Чтобы значение сохранялось между сессиями, добавьте строку `export OMP_API_KEY="<ваш-ключ>"` в `~/.bashrc` или `~/.zshrc` и выполните `source ~/.bashrc`. На Windows (PowerShell):

```powershell
$env:OMP_API_KEY = "<ваш-ключ>"
[Environment]::SetEnvironmentVariable("OMP_API_KEY","<ваш-ключ>","User")
```

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

Шаг 2.2. Файл конфигурации. Типовой путь — `~/.omp/config.json` (на Windows `%USERPROFILE%\.omp\config.json`); точный путь и схему сверьте с документацией. Шаблон:

```json
{
  "model": "<имя-модели-из-документации>",
  "apiKeyEnv": "OMP_API_KEY",
  "provider": "<имя-провайдера>"
}
```

Ключевое поле — `apiKeyEnv`: в нём указывается **имя** переменной, а не сам ключ. Так конфиг можно держать в репозитории без риска утечки.

Шаг 2.3. Проверка связки «ключ + модель» до реальной работы:

```bash
omp --help | grep -i -E "model|auth|login"
```

**Пример:** если в справке есть подкоманда проверки авторизации, запустите её — успешный ответ обычно содержит имя доступной модели. Если такой подкоманды нет, сразу переходите к Шагу 3: первый же запрос покажет, валиден ключ или нет.

## Шаг 3. Первый запуск и проверка результата
![Иллюстрация к разделу «Шаг 3. Первый запуск и проверка результата»](https://ai-release.org/guides/img/kak-ustanovit-i-nastroit-oh-my-pi-omp-konsolnyy-ii-agen-ru-3.jpg?v=1792918382)


**Что сделать:** запустить агента в пустом тестовом каталоге, дать одну узкую задачу и убедиться, что он создал файл.

**Зачем:** так вы проверяете весь путь целиком — запуск, авторизацию, доступ к файловой системе и корректность модели — на безопасном примере, а не на рабочем проекте.

**Как проверить:** в каталоге появился новый файл, а `git diff` показывает ровно то, что вы просили.

```bash
mkdir -p ~/omp-test && cd ~/omp-test
git init
omp
```

В интерактивном режиме введите задачу, например: `создай файл hello.py, который печатает "hello from OMP"`. После завершения выйдите из агента и проверьте:

```bash
ls -la
cat hello.py
python3 hello.py
```

Ожидаемый результат на экране: `hello from OMP`. Затем:

```bash
git status
git diff
```

Здесь видно каждое изменение, которое внёс агент — это ваш контрольный снимок.

| Что проверяем | Команда | Признак успеха |
|---|---|---|
| Бинарник в PATH | `omp --version` | печатается версия |
| Ключ виден процессу | `env \| grep -i omp` | строка с переменной ключа |
| Конфиг читается | запуск без флага `--model` | агент стартует, модель определена |
| Агент пишет файлы | `cat hello.py` | содержимое совпадает с задачей |
| Изменения под контролем | `git diff` | видны только ожидаемые правки |

Дальше можно усложнять: подключить агента к реальному репозиторию и работать по одной задаче за раз. Если планируете командный сценарий с несколькими агентами и общими правилами, полезна отдельная инструкция [Claude Code для команды: как настроить субагентов и общий ИИ-суперагент](https://ai-release.org/guides/claude-code-dlya-komandy-kak-nastroit-subagentov-i-obsc.html?utm_source=tg&utm_medium=channel&utm_campaign=guide_inline&utm_content=guide_to_guide) — подход к ролям и общему конфигу переносится на любой терминальный агент. А если нужен агент, который ходит по веб-страницам, а не по файлам, смотрите разбор [Как настроить открытый браузерный ИИ-агент Scout (Outcrawl)](https://ai-release.org/guides/kak-nastroit-otkrytyy-brauzernyy-ii-agent-scout-outcraw.html?utm_source=tg&utm_medium=channel&utm_campaign=guide_inline&utm_content=guide_to_guide).

## Возможные проблемы и решения

**Проблема. После установки оболочка не видит команду**
- Ошибка: `zsh: command not found: omp` (или `bash: omp: command not found`)
- Причина: каталог глобальных бинарников npm не входит в `PATH`. При установке через npm в пользовательский prefix бинарник лежит вне `/usr/local/bin`.
- Решение: узнать каталог и добавить его в `PATH`.

```bash
npm config get prefix          # например: /home/user/.npm-global
echo 'export PATH="$(npm config get prefix)/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
omp --version
```

Если установка падала с `EACCES: permission denied`, не запускайте `sudo npm install -g` — настройте пользовательский prefix: `npm config set prefix ~/.npm-global`, затем повторите установку и шаг с `PATH`.

**Проблема. Агент запускается, но первый же запрос падает с ошибкой авторизации**
- Ошибка: `Error: 401 Unauthorized — invalid API key` (текст зависит от провайдера; признак — код 401)
- Причина: переменная окружения не экспортирована в текущей сессии (например, вы добавили её в `~/.zshrc`, а работаете в bash), ключ скопирован с пробелом или отозван в кабинете провайдера.
- Решение: проверить, что видит процесс, и переэкспортировать ключ без кавычек-артефактов.

```bash
env | grep -i omp
printf '%s' "<ваш-ключ>" | wc -c    # сравните длину с ключом в кабинете провайдера
export OMP_API_KEY="<ваш-ключ>"
```

**Проблема. Запрос уходит, но ответ не приходит — курсор висит**
- Ошибка: таймаут вида `request timed out` / `ETIMEDOUT` в логе агента
- Причина: корпоративный прокси или файрвол блокирует исходящие запросы к API провайдера.
- Решение: проверить сеть отдельно от агента и, если нужен прокси, задать стандартные переменные.

```bash
curl -sS -o /dev/null -w "%{http_code}\n" https://<домен-провайдера>/
export HTTPS_PROXY="http://<прокси>:<порт>"
export HTTP_PROXY="http://<прокси>:<порт>"
```

Код ответа `200`, `401` или `404` означает, что сеть в порядке (401/404 — уже вопрос ключа или пути). Код `000` — соединение не установилось.

## Резюме и следующие шаги
Рабочая связка собирается из трёх проверок: бинарник в `PATH`, ключ в переменной окружения, конфиг со ссылкой на эту переменную. После успешного `omp --version` и тестового файла в песочнице переносите агента в реальный репозиторий и работайте задачами по одному шагу, сверяя каждое изменение через `git diff`.

## FAQ

**Нужен ли платный API-ключ, чтобы пользоваться OMP?**
OMP сам по себе — клиент, модель предоставляет провайдер. Условия и стоимость зависят от выбранного провайдера — сверьтесь с его тарифами и документацией OMP.

**Где хранится конфигурация OMP?**
Типовой путь — `~/.omp/config.json` (`%USERPROFILE%\.omp\config.json` на Windows). Точный путь для вашей версии сверьте с разделом Configuration в документации: он может отличаться.

**Можно ли запустить OMP без установки глобального пакета?**
Да, если пакет опубликован в npm: `npx <имя-пакета-omp> --help` запустит его из временного кэша без изменения `PATH`.

**Почему агент изменил не те файлы, что я ожидал?**
Он работает в текущем каталоге и видит всё дерево проекта. Запускайте его из корня нужного репозитория, держите изменения под git и формулируйте задачу с явным списком файлов.
