Убрана английская половина. Установка для Windows PowerShell, OpenCode Desktop на всех ОС, WSL vs native, ключ для GUI.
217 lines
12 KiB
Markdown
217 lines
12 KiB
Markdown
# 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/<id>"`. Существующий конфиг **не затирается** |
|
||
|
||
Установщик идемпотентный: повторный запуск перезаписывает плагин и 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).
|