# OpenCode и модели Arka AI Arka AI — OpenAI-совместимый API (`https://api.arka-ai.ru/v1`). В каталоге models.dev его нет, поэтому в свежем OpenCode провайдера **Arka-AI** и списка моделей нет, пока не поставить плагин. Одна команда ставит плагин, skill и (по желанию) ключ. Каталог чат-моделей подтягивается сам (~116 из ~216; без TTS, картинок, видео и эмбеддингов). Снимок каталога обновляется каждый день в **05:00 по Москве**. Нужен [API-ключ Arka AI](https://arka-ai.ru/docs/account/api-keys). Секрет ключа показывается **один раз** при создании. Плагин один и тот же для **терминала (CLI)** и **OpenCode Desktop** (окно + тот же sidecar). Меняется только способ запуска установщика и то, как в процесс попадает ключ. --- ## macOS, Linux, Git Bash, WSL ```bash curl -fsSL https://git.arka-ai.ru/arka/public/raw/branch/main/opencode/install-arka-provider.sh | bash ``` Скрипт спросит `ARKA_API_KEY` (можно оставить пустым и задать позже). Ключ и модель по умолчанию сразу: ```bash curl -fsSL https://git.arka-ai.ru/arka/public/raw/branch/main/opencode/install-arka-provider.sh \ | bash -s -- --key "$ARKA_API_KEY" --set-default DeepSeek-V4-Pro ``` WSL и Git Bash — это **linux-окружение** со своим домашним каталогом. Native Windows Desktop его **не видит**: для приложения с ярлыка Windows нужен PowerShell-установщик ниже. --- ## Windows (CLI и Desktop) Официальный каталог конфига OpenCode на Windows — **`%USERPROFILE%\.config\opencode`**, то есть `C:\Users\<имя>\.config\opencode`. Туда же смотрит **OpenCode Desktop**. Не кладите плагин только в `%APPDATA%\opencode` — Desktop его оттуда не читает, если этого каталога ещё нет. PowerShell: ```powershell irm https://git.arka-ai.ru/arka/public/raw/branch/main/opencode/install-arka-provider.ps1 | iex ``` С ключом и моделью по умолчанию: ```powershell iwr -useb https://git.arka-ai.ru/arka/public/raw/branch/main/opencode/install-arka-provider.ps1 ` -OutFile $env:TEMP\install-arka.ps1 powershell -ExecutionPolicy Bypass -File $env:TEMP\install-arka.ps1 ` -Key $env:ARKA_API_KEY -SetDefault DeepSeek-V4-Pro ``` cmd.exe: ```bat powershell -NoProfile -ExecutionPolicy Bypass -Command "irm https://git.arka-ai.ru/arka/public/raw/branch/main/opencode/install-arka-provider.ps1 | iex" ``` Скрипт пишет: - `%USERPROFILE%\.config\opencode\plugins\arka-ai.ts` - `%USERPROFILE%\.config\opencode\skills\arka-provider\SKILL.md` - `%USERPROFILE%\.config\opencode\.arka-api-key` — Desktop читает ключ отсюда, login-shell не нужен - пользовательскую переменную среды `ARKA_API_KEY` (GUI подхватит после **полного** перезапуска) - копию в `%APPDATA%\opencode`, только если этот каталог уже есть Если PowerShell ругается на политику выполнения — используйте `-ExecutionPolicy Bypass`, как в команде с `-File`. --- ## OpenCode Desktop (Windows, macOS, Linux) Desktop — это окно + тот же CLI. Отдельного «магазина» и отдельного плагина для GUI нет. | ОС | Куда ставится плагин, skill и ключ | |----|-------------------------------------| | Windows | `%USERPROFILE%\.config\opencode\` | | macOS | `~/.config/opencode/` | | Linux | `~/.config/opencode/` | 1. Запустите установщик своей ОС (bash или `.ps1`). 2. **Полностью закройте** приложение, не только окно. На Windows проверьте значок в трее. На macOS — Quit из меню, не красный крестик, если процесс остаётся в доке. 3. Откройте Desktop снова. `/models` — должен быть провайдер **Arka-AI**. Desktop **не читает** `~/.bashrc` / `~/.zshrc`. Поэтому установщик кладёт ключ в файл `.arka-api-key` и (на Windows) в пользовательские переменные среды. Если модели видны в `/models`, а запросы отвечают 401 — ключ не попал в процесс: проверьте файл ключа и что приложение действительно перезапущено. macOS Desktop ставится тем же bash-скриптом, что и CLI. После установки: полностью Quit и снова открыть приложение. --- ## Из уже открытого OpenCode (CLI или Desktop) Магазина плагинов нет. Можно не выходить из чата: попросите **текущую** модель (любую, не Arka) выполнить установщик. **macOS / Linux** — вставьте в чат (подставьте свой ключ): ``` Поставь провайдер Arka AI для OpenCode. Не спрашивай ключ интерактивно. Выполни одну команду и покажи вывод: curl -fsSL https://git.arka-ai.ru/arka/public/raw/branch/main/opencode/install-arka-provider.sh | bash -s -- --key 'ARKA_API_KEY_HERE' --set-default DeepSeek-V4-Pro После успеха напиши, что нужно полностью перезапустить OpenCode (конфиг не подхватывается на лету). ``` **Windows** — вставьте в чат: ``` Поставь провайдер Arka AI для OpenCode. Не спрашивай ключ интерактивно. Выполни в PowerShell одну команду и покажи вывод: powershell -ExecutionPolicy Bypass -Command "iwr -useb https://git.arka-ai.ru/arka/public/raw/branch/main/opencode/install-arka-provider.ps1 -OutFile $env:TEMP\install-arka.ps1; powershell -ExecutionPolicy Bypass -File $env:TEMP\install-arka.ps1 -Key 'ARKA_API_KEY_HERE' -SetDefault DeepSeek-V4-Pro" После успеха напиши, что нужно полностью закрыть OpenCode Desktop и CLI (включая трей) и открыть снова. ``` Что происходит: 1. Агент вызывает встроенный bash или PowerShell. 2. OpenCode спросит разрешение — нажмите Allow. 3. Скрипт пишет плагин, skill и ключ. `--key` / `-Key` обязателен: интерактивный ввод ключа в пайпе зависнет. 4. **Полностью перезапустите** CLI или Desktop — плагин грузится только на старте. Затем `/models` → **Arka-AI**. Пока сессия не перезапущена, разговор идёт на старой модели. Это нормально: установщик не требует Arka. --- ## Что ставится | Куда | Что | |------|-----| | `~/.config/opencode/plugins/arka-ai.ts` (Windows: `%USERPROFILE%\.config\opencode\plugins\arka-ai.ts`) | Плагин провайдера **Arka-AI** | | `…/skills/arka-provider/SKILL.md` | Skill: как обновить каталог и сменить модель | | `…/.arka-api-key` | Ключ для CLI и Desktop (GUI без login-shell) | | `~/.bashrc` / `.zshrc` / `.profile` | `export ARKA_API_KEY=…` (только POSIX-установщик) | | переменная среды пользователя Windows | `ARKA_API_KEY` (только `.ps1`) | | `…/opencode.json` | Только при `--set-default` / `-SetDefault`: `"model": "Arka-AI/"`. Существующий конфиг **не затирается** | Установщик идемпотентный: повторный запуск перезаписывает плагин и skill каноническими копиями. POSIX-скрипт после скачивания офлайн. `python3` нужен только с `--set-default`. Отдельный `bun` не нужен — у OpenCode свой runtime. Дальше: 1. Новый терминал (POSIX) **или** полный выход из Desktop. 2. Снова открыть OpenCode. 3. `/models` — провайдер **Arka-AI** и чат-модели. --- ## Модель по умолчанию Идентификаторы — как в каталоге, с префиксом провайдера: ```json { "model": "Arka-AI/DeepSeek-V4-Pro" } ``` Примеры: `Arka-AI/DeepSeek-V4-Pro`, `Arka-AI/qwen3.8-max`, `Arka-AI/kimi-k3`, `Arka-AI/MiniMax-M3`, `Arka-AI/GLM-5.3`, `Arka-AI/deepseek-v4-flash-0731`. Их всегда оставляем в списке, даже если фильтр чат-моделей их бы отсёк. --- ## Обновить каталог macOS / Linux: ```bash rm -f ~/.cache/opencode/arka-ai-models.json ``` Windows (Win+R): ``` %USERPROFILE%\.cache\opencode\arka-ai-models.json ``` Удалите файл и полностью перезапустите OpenCode. Плагин сначала берёт публичный снимок `https://git.arka-ai.ru/arka/public/raw/branch/main/opencode/catalog.json` (без ключа), при ошибке — живой `https://api.arka-ai.ru/v1/models`. Локальный кэш живёт 24 часа. Конфиг на лету не перечитывается. Список моделей (ключ не нужен): ```bash curl -sS https://git.arka-ai.ru/arka/public/raw/branch/main/opencode/catalog.json | python3 -m json.tool ``` Вызовы моделей идут на `https://api.arka-ai.ru/v1` с ключом из `ARKA_API_KEY` или из `.arka-api-key`. --- ## Если что-то не так | Симптом | Что проверить | |---------|----------------| | После `/models` нет Arka-AI | Есть ли `plugins/arka-ai.ts` в каталоге конфига выше; полностью ли перезапущен CLI/Desktop | | Модели есть, запросы 401 | Файл `.arka-api-key`; на Windows — User env и трей; Desktop не читает bashrc | | Каталог не меняется | Удалить кэш `arka-ai-models.json` и рестарт | | Ошибка импорта плагина | Снова запустить установщик | | `curl` / `irm` отдаёт HTML | Нужен путь `/raw/branch/main/…`, не страница репозитория | | Поставили в WSL, Desktop пустой | Native Windows Desktop смотрит в `%USERPROFILE%\.config\opencode`, не в home WSL — ставьте `.ps1` | | Плагин в `%APPDATA%\opencode`, эффекта нет | Нужен `%USERPROFILE%\.config\opencode` | --- ## Файлы в этой папке | Файл | Назначение | |------|------------| | `install-arka-provider.sh` | Установщик для macOS, Linux, WSL, Git Bash | | `install-arka-provider.ps1` | Установщик для Windows (CLI и Desktop) | | `plugins/arka-ai.ts` | Исходник плагина (встроен в оба установщика) | | `skills/arka-provider/SKILL.md` | Исходник skill (встроен в оба установщика) | | `catalog.json` | Каталог чат-моделей, обновляется ежедневно в 05:00 по Москве | | `README.md` | Эта страница — можно копировать в раздел «агентные помощники» на arka-ai.ru | Каталог `opencode/` лежит в публичном репозитории [arka/public](https://git.arka-ai.ru/arka/public).