opencode plugin for CLIProxyAPI: custom URL + key, models from /v1/models, params from models.dev
  • TypeScript 100%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-19 09:27:15 +03:00
cliproxyapi.test.ts opencode plugin for CLIProxyAPI: custom URL + key, models from /v1/models, params from models.dev 2026-10-19 09:27:15 +03:00
cliproxyapi.ts opencode plugin for CLIProxyAPI: custom URL + key, models from /v1/models, params from models.dev 2026-10-19 09:27:15 +03:00
package.json opencode plugin for CLIProxyAPI: custom URL + key, models from /v1/models, params from models.dev 2026-10-19 09:27:15 +03:00
README.md opencode plugin for CLIProxyAPI: custom URL + key, models from /v1/models, params from models.dev 2026-10-19 09:27:15 +03:00

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