- Встановлення OpenCode
- Налаштування OpenCode
- Користувацькі провайдери OpenCode
- Вибір моделі в OpenCode
- Дозволи OpenCode
Замініть кожне значення
your-model-id на ID моделі зі сторінки
CometAPI Models. Виберіть модель, яка підтримує формат API
відповідного запису провайдера.Передумови
- Node.js і npm або інший спосіб встановлення з посібника OpenCode
- Обліковий запис CometAPI з активним API key із панелі керування
- Один або кілька ID моделей зі сторінки CometAPI Models
Ознайомтеся з форматами API
Кожен ID провайдера вибирає один адаптер SDK і один формат API.
У цьому посібнику перевіряється операція Streaming для Gemini, яка використовується під час звичайного
ходу агента OpenCode. Адаптер Google додає
:streamGenerateContent?alt=sse до шляху моделі.
Не додавайте /chat/completions, /responses, /messages або шлях до моделі Gemini
до baseURL. Кожен адаптер додає необхідний шлях операції.
Ознайомтеся з дозволами під час виконання
OpenCode запускається з дозволами процесу, який його запускає. Запускайте OpenCode у потрібному каталозі проєкту та зберігайте можливість відкату, наприклад за допомогою git. Використовуйте контейнер або пісочницю, коли вам потрібна надійніша ізоляція файлової системи, процесів, мережі або API key.Налаштування OpenCode
1
Установлення OpenCode
Установіть OpenCode за допомогою офіційного пакета npm:Переконайтеся, що CLI доступний:Див. посібник зі встановлення OpenCode
щодо Homebrew, Windows, Docker та інших способів встановлення.
2
Налаштування API-ключа CometAPI
Збережіть API-ключ CometAPI у змінній середовища Установлюйте змінну в кожному сеансі оболонки, з якого запускається OpenCode. Не
зберігайте API-ключі в системі контролю версій.
COMETAPI_KEY.- macOS / Linux / WSL
- Windows PowerShell
Зчитайте API-ключ, не відображаючи його в терміналі:
3
Виберіть розташування конфігурації
Використовуйте одне з цих підтримуваних розташувань:
- Глобальна конфігурація:
~/.config/opencode/opencode.json - Конфігурація проєкту:
opencode.jsonу корені проєкту
4
Додайте провайдери CometAPI
Створіть вибраний файл конфігурації. Якщо файл уже містить
Замініть кожен ключ
provider об’єкт, об’єднайте ці чотири записи з цим об’єктом:your-model-id окремо. У чотирьох записах можна використовувати
різні ідентифікатори моделей.Конфігурація не задає model верхнього рівня. Це дає змогу вибрати
потрібний формат API та модель через /models.5
Виберіть і перевірте кожен провайдер
Запустіть OpenCode у проєкті, до якого він має отримати доступ:Виконайте Щоб перевірити Responses з командного рядка, виконайте:Щоб перевірити Anthropic Messages з командного рядка, виконайте:Щоб перевірити Gemini generateContent з командного рядка, виконайте:
/models, а потім виберіть запис provider/model. Під час чотирьох перевірок
у цьому посібнику кожен виклик моделі використовував відповідний формат API вибраного запису.
Розсилання запитів між форматами чи автоматичного узгодження формату API
не спостерігалося.Щоб перевірити Chat Completions з командного рядка, виконайте:Усунення несправностей
OpenCode не відображає модель CometAPI
OpenCode не відображає модель CometAPI
Переконайтеся, що конфігурація є коректним JSON. Кожен користувацький запис має бути
в об’єкті верхнього рівня
provider, а кожен ID моделі має бути в
відповідному об’єкті models. Перезапустіть OpenCode, а потім знову відкрийте /models.OpenCode повідомляє про помилку API key або автентифікації
OpenCode повідомляє про помилку API key або автентифікації
Переконайтеся, що
COMETAPI_KEY задано в оболонці, з якої запускається OpenCode.
Незадане посилання {env:COMETAPI_KEY} перетворюється на порожнє значення. Відкрийте нову
оболонку після зміни профілю оболонки.ID моделі недоступний
ID моделі недоступний
Перевірте сторінку моделей CometAPI, а потім замініть модель
ID у вибраному записі провайдера. Переконайтеся, що модель підтримує API format цього
провайдера.
Запити використовують неправильний шлях
Запити використовують неправильний шлях
Залиште
baseURL зі значенням /v1 для Chat Completions, Responses і Messages. Використовуйте
/v1beta для Gemini. Не включайте шлях операції до baseURL.Один провайдер працює, а інший — ні
Один провайдер працює, а інший — ні
Використовуйте ID моделі, що підтримує API format вибраного провайдера. Не
вважайте, що один ID моделі підтримує всі чотири формати.
Конфігурація проєкту змінює глобального провайдера
Конфігурація проєкту змінює глобального провайдера
OpenCode об’єднує глобальну та проєктну конфігурації. Перейменуйте ідентифікатор провайдера
у проєкті або видаліть його конфліктні значення, якщо хочете, щоб глобальний
запис провайдера залишився без змін.
OpenCode має більше доступу, ніж очікувалося
OpenCode має більше доступу, ніж очікувалося
OpenCode використовує дозволи процесу, який його запустив. Запускайте OpenCode
у контейнері або ізольованому середовищі, коли потрібні суворіші межі доступу.