opencode plugin for CLIProxyAPI: custom URL + key, models from /v1/models, params from models.dev
- TypeScript 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| cliproxyapi.test.ts | ||
| cliproxyapi.ts | ||
| package.json | ||
| README.md | ||
opencode-cliproxyapi
Плагин opencode для CLIProxyAPI: произвольный URL и ключ, модели подтягиваются из <url>/v1/models, их параметры (контекст, лимит вывода, модальности, reasoning, tool_call) — из models.dev.
Работает в TUI, CLI и opencode desktop (проверено на 1.18.35).
Установка
git clone https://fjo.osds.digital/forgejo-admin/opencode-cliproxyapi.git ~/Projects/opencode-cliproxyapi
mkdir -p ~/.config/opencode/plugins
ln -s ~/Projects/opencode-cliproxyapi/cliproxyapi.ts ~/.config/opencode/plugins/cliproxyapi.ts
Подключение
- Desktop: Settings → Providers → Show more providers → CLIProxyAPI
- TUI:
/connect→ CLIProxyAPI - CLI:
opencode auth login -p cliproxyapi
Ввести URL (http://127.0.0.1:8317, /v1 дописывается сам) и API key. Пара проверяется запросом к /v1/models, после чего сохраняется в ~/.local/share/opencode/auth.json как обычный API-ключ.
Заметки
- Метод входа объявлен как
oauthтолько потому, что desktop 1.18.35 выкидывает дополнительные поля уapi-методов. Браузер не открывается; промежуточный экран «Visit this link… / Waiting for authorization» — нормален. - Пока не подключено или сервер недоступен, в списке висит модель-заглушка
CLIProxyAPI: <причина>— без неё провайдер не виден в списках подключения. - Стоимость моделей намеренно не подтягивается (CLIProxyAPI обычно работает через подписки). Включить — добавить
"cost"вFIELDS. - Свои настройки в
opencode.json→provider.cliproxyapi(options, models, whitelist) перекрывают то, что подставляет плагин. - Не нажимайте Disconnect у CLIProxyAPI в desktop: для провайдеров из конфига он добавляет их в
disabled_providers.
Тест
NO_PROXY=localhost,127.0.0.1 bun test ./cliproxyapi.test.ts