---
title: "OpenCode və Ollama: bağlantı və alət xətalarının həlli"
description: "OpenCode və Ollama xətalarını endpoint yoxlamaları, dəqiq model ID-ləri, kontekst yoxlaması və kiçik kodlama test faylı ilə diaqnoz edin."
date: "2026-10-28T00:00:00.000Z"
location: "San Francisco, CA - 28 oktyabr 2026"
image: "/images/opencode-ollama-troubleshooting-hero.jpg"
unlisted: true
keywords: "OpenCode Ollama problemlərinin həlli, OpenCode Ollama işləmir, Ollama OpenCode alət çağırışları, OpenCode yerli model bağlantısı"
tags:
  - "OpenCode"
  - "Ollama"
  - "Problemlərin həlli"
author:
  name: "Wayne Pan"
  url: "https://www.linkedin.com/in/wapan/"
  title: "CTO"
faq:
  - question: "Uğurlu Ollama söhbət cavabı OpenCode alətlərinin işləyəcəyi deməkdir?"
    answer: "Xeyr. Söhbət cavabı yalnız modelin mətn yarada bildiyini sübut edir. OpenCode həmçinin strukturlaşdırılmış alət çağırışları, onların icrası üçün icazə və tapşırıq üçün kifayət qədər kontekst tələb edir. Real fayl redaktəsini və onun test nəticəsini doğrulayın."
  - question: "OpenCode-un kontekst limitini artırmaq Ollamaya daha çox yaddaş ayırır?"
    answer: "OpenCode-da göstərilən kontekst limiti Ollama-nın həmin konteksti ayırdığını sübut etmir. Ollama serverini konfiqurasiya edin və işləyən modeli ollama ps ilə yoxlayın. Daha böyük kontekst həmçinin yaddaş tələblərini artırır."
  - question: "Ollama modeli OpenCode-dan itdiyində hər şeyi yenidən quraşdırmalıyam?"
    answer: "Əvvəlcə Ollama-nın qaytardığı model ID-lərini OpenCode konfiqurasiyanızda göstərilən modellə müqayisə edin. Hər iki tətbiqi yenidən quraşdırmazdan əvvəl endpoint və seçilmiş provayderi yoxlayın."
locale: "az-az"
translationKey: "opencode-ollama-troubleshooting"
---
**OpenCode Ollama ilə işləmədikdə**, modeli dəyişməzdən əvvəl server endpoint-ini və dəqiq model ID-ni yoxlayın. Hər iki yoxlama uğurlu olarsa, alət çağırışı problemini bağlantı problemindən ayırmaq üçün kiçik bir fayl redaktəsi testi edin. Söhbət sorğusuna cavab verən model kodlaşdırma agentinin iş axınının yalnız ilk mərhələsini keçib.

Bu bələdçi Ollama və OpenCode-un artıq quraşdırıldığını nəzərdə tutur. Quraşdırma və provayder konfiqurasiyası üçün [Ollama ilə OpenCode quraşdırma bələdçisindən](/blog/ollama-opencode-setup/) istifadə edin. Buradakı prosedur işlək konfiqurasiyanızı təkrar-təkrar dəyişmədən xətaları təcrid edir.

## Hansı sorğunun uğursuz olduğunu tapın

OpenCode xətası inferensiyadan əvvəl, generasiya zamanı və ya alət icra olunarkən baş verə bilər. Bu mərhələləri ayrı-ayrılıqda yoxlayın. Rədd edilmiş bağlantı ilə JSON-a bənzər abzas qaytaran model fərqli bir problemə işarə edir. Parametri dəyişməzdən əvvəl endpoint-i, seçilmiş modeli və xətanı qeyd edin ki, dəyişikliyin kömək edib-etmədiyini müəyyən edə biləsiniz.

| Müşahidə | Növbəti yoxlama | Nəticə nəyi müəyyən edir |
|---|---|---|
| Bağlantı rədd edildi | Konfiqurasiya edilmiş host və portda `/api/version` sorğusu göndərin | Həmin Ollama endpoint-inin əlçatan olub-olmadığını |
| Model tapılmadı | `/v1/models` oxuyun və dəqiq ID-ni müqayisə edin | Tələb olunan modelin həmin serverdə mövcud olub-olmadığını |
| Söhbət işləyir, fayllar dəyişmir | Alət çağırışlarını və icazə nəticələrini yoxlayın | OpenCode-un əməliyyatı həyata keçirib-keçirmədiyini |
| Kiçik redaktələr işləyir, böyük tapşırıqlar uğursuz olur | Ayrılmış konteksti və runtime loglarını yoxlayın | Daha böyük tapşırığın ölçülə bilən limitə rast gəlib-gəlmədiyini |
| Lokal işləyir, bulud asılı qalır | İki marşrutu ayrı-ayrılıqda test edin | Xətanın bulud yoluna xas olub-olmadığını |

Xətanı yenidən yaratmazdan əvvəl versiyaları qeyd edin:

```bash
opencode --version
ollama --version
```

Bu məqalədəki lokal yoxlamalar Apple M3 Ultra (96 GB vahid yaddaş) üzərində OpenCode 1.19.4 və Ollama 0.32.9 ilə aparılıb. Bu avadanlıq seçdiyimiz 31B modelini işlədə bilir; kiçik noutbuklar üçün yaddaş tövsiyəsi deyil. Digər avadanlıqda model seçimi üçün [Ollama kodlaşdırma modeli bələdçisini](/blog/best-ollama-models-for-coding-agents/) oxuyun.

## Modeli dəyişməzdən əvvəl endpoint-i yoxlayın

OpenCode-un istifadə etdiyi eyni host və porta sorğu göndərin. `127.0.0.1:11434` ünvanındakı lokal server və `127.0.0.1:11435` ünvanındakı server fərqli endpoint-lərdir. Sorğu uğursuz olarsa, əvvəlcə serveri və ya ünvanı düzəldin. Modeli dəyişmək rədd edilmiş şəbəkə bağlantısını düzəldə bilməz.

```bash
curl --fail-with-body --max-time 5 \
  http://127.0.0.1:11434/api/version

curl --fail-with-body --max-time 5 \
  http://127.0.0.1:11434/v1/models
```

Versiya cavabı Ollama-nın cavab verdiyini təsdiqləyir. Model siyahısı cavabı həmin serverin hansı model ID-lərini təqdim etdiyini göstərir. Boş siyahı serverin əlçatan olduğunu, lakin siyahıda model olmadığını bildirir; bu, bağlantı xətasından fərqlidir.

Ollama dayandırılıbsa, tətbiqi başladın və ya onun serverini terminalda işə salın:

```bash
ollama serve
```

Port artıq tutulubsa, başqa nüsxə başlatmaq əvəzinə hansı serverin işlədiyini yoxlayın. Uzaq Ollama quraşdırması onun uzaq ünvanını tələb edir; `127.0.0.1` həmişə klienti işlədən maşına aiddir.

[Ollama-nın OpenCode inteqrasiya sənədləşməsi](https://docs.ollama.com/integrations/opencode) `/v1` ilə bitən OpenAI-uyğun baza URL-dən istifadə edir. Bu suffiksi OpenCode-un provayder konfiqurasiyasında saxlayın. `/api/version` kimi nativ diaqnostik marşrutlar ondan kənarda yerləşir.

## Konfiqurasiya edilmiş modeli serverin dəqiq ID-si ilə uyğunlaşdırın

Serverin qaytardığı serverin qaytardığı model ID-dən, o cümlədə onun teqindən istifadə edin. Bir Ollama serverində yüklənmiş model, eyni modelə malik olmadıqda başqa server üçün əlçatan deyil. Sorğunu təkrarlamazdan əvvəl seçilmiş provayderi, onun baza URL-ni və model elanını birlikdə yoxlayın.

Bu, OpenCode 1.19.4 yoxlamalarımız üçün istifadə etdiyimiz provayder formasıdır:

```json
{
  "provider": {
    "ollama": {
      "npm": "@ai-sdk/openai-compatible",
      "options": {
        "baseURL": "http://127.0.0.1:11434/v1"
      },
      "models": {
        "gemma4:31b": {
          "name": "Gemma 4 31B",
          "limit": {
            "context": 65536,
            "output": 2048
          }
        }
      }
    }
  }
}
```

`gemma4:31b` əvəzinə serverinizin həqiqətən siyahıda göstərdiyi ID-ni yazın. Nümunə həmin modeli yükləmir. OpenCode-un tam selektoru provayder adını və model ID-ni birləşdirir:

```bash
opencode run -m ollama/gemma4:31b "Reply with one short sentence."
```

Ollama-nın uyğunluq endpoint-i vasitəsilə qəsdən mövcud olmayan modeli sorğuladıq və `not_found_error` ilə HTTP 404 aldıq. Bu nəticə model seçimi xətasını müəyyən edir. Yaddaş çatışmazlığını və ya pozulmuş alət parserini göstərmir.

Konfiqurasiyalar bir neçə mənbədən gələ bilər. [OpenCode-un konfiqurasiya sənədləşməsi](https://opencode.ai/docs/config/) parametrlərin necə birləşdiyini təsvir edir. Dəyərin nəzərə alınmadığı görünürsə, həll edilmiş konfiqurasiyanı lokal olaraq yoxlayın:

```bash
opencode debug config
```

Həll edilmiş konfiqurasiya etimadnamələr ehtiva edə bilər. Diaqnostik hesabatı paylaşmazdan əvvəl müvafiq provayder parametrlərini çıxarın və açarları və ya əlaqəsiz hesab detallarını silin.

## Birdəfəlik kodlama test faylı ilə əməliyyatı doğrulayın

Dəyişdirilmiş faylı özünüz yoxlayın və testini işə salın. OpenCode-a bir məlum xətası olan kiçik fayl verin, ondan faylı düzəltməsini xahiş edin və sonra müstəqil yoxlama aparın. Bu, fayl girişini, redaktəni və icranı test edir, diaqnozu isə yoxlanıla biləcək qədər kiçik saxlayır.

Yeni qovluq yaradın və içinə daxil olun:

```bash
mkdir opencode-ollama-check
cd opencode-ollama-check

cat > add.mjs <<'JS'
export function add(a, b) {
  return a - b;
}
JS

cat > check.mjs <<'JS'
import { add } from './add.mjs';
if (add(2, 3) !== 5) throw new Error('Expected add(2, 3) to return 5');
console.log('PASS');
JS

node check.mjs
```

İlk yoxlama uğursuz olmalıdır. Test edilmiş provayder konfiqurasiyanızı bu birdəfəlik qovluğa kopyalayın, sonra işə salın:

```bash
opencode run -m ollama/gemma4:31b \
  "Read add.mjs. Fix add so it adds its arguments. Run node check.mjs."

node check.mjs
```

`add.mjs` özünüz yoxlayın. Fayl hələ də çıxma əməliyyatını yerinə yetirirsə və ya müstəqil yoxlama uğursuz olarsa, modelin uğur mesajı kifayət deyil. İcazə sorğularını görünür saxlayın ki, rədd edilmiş redaktəni mövcud olmayan alət çağırışından fərqləndirə biləsiniz. Yoxlamalarımız zamanı macOS fixture-i `/private/tmp` altında həll etdi, alət isə onun `/tmp` aliasını sorğuladı. OpenCode aliaslı yolu xarici kimi qəbul etdi və qeyri-interaktiv işə salmada onu rədd etdi. Həll edilmiş qovluqdan və nisbi fayl yollarından istifadə etmək fixture-in dar əhatəli icazələrlə işləməsinə imkan verdi.

Daha dərin yoxlama üçün [OpenCode CLI](https://opencode.ai/docs/cli/) JSON çıxışını dəstəkləyir:

```bash
opencode run --format json -m ollama/gemma4:31b \
  "Read add.mjs and explain the implementation."
```

İcra olunmuş aləti və onun nəticəsini axtarın. Funksiya adı və ya JSON obyekti ehtiva edən mətn OpenCode-un hər hansı şeyi icra etdiyini öz-özlüyündə sübut etmir. Endpoint və fixture icazələrini düzəltdikdən sonra bir təmir icrası fixture-i oxudu, çıxmanı toplama ilə əvəz etdi və müstəqil Node yoxlamasını keçdi. İkinci icra, qəsdən mövcud olmayan model ID-ni əvəz etdikdən sonra eyni yoxlamanı keçdi. Ayrı birbaşa API sorğumuzda Gemma 4 31B 65,536 kontekstdə strukturlaşdırılmış `read_file` çağırışı qaytardı. Bu tək nəticə sorğunun cavab formatını doğrulayır, kodlaşdırma tapşırıqları üzrə etibarlılığını deyil.

## Ollama-nın həqiqətən ayırdığı konteksti yoxlayın

OpenCode-un göstərdiyi model limiti və Ollama-nın işləmə zamanı ayırdığı kontekst uyğun gəlməlidir. Klient konfiqurasiyasında rəqəmi artırmaq serverin daha çox kontekst ayırdığını göstərmir. Sorğu zamanı işləyən modeli yoxlayın, sonra onun faktiki kontekstini tapşırığın prompt və alət tarixçəsi ilə müqayisə edin.

[Ollama-nın kontekst sənədləşməsi](https://docs.ollama.com/context-length) kodlaşdırma alətləri və agentlər üçün ən azı 64,000 token tövsiyə edir. Həmçinin izah edir ki, daha böyük ayırmalar daha çox yaddaş istehlak edir. Əl ilə başladılan server konkret ayrılma təyin edə bilər:

```bash
OLLAMA_CONTEXT_LENGTH=65536 ollama serve
```

Bu dəyişəni Ollama-nı işlədən prosesdə təyin edin. Onu yalnız OpenCode-u işlədən terminalda export etmək artıq işləyən Ollama tətbiqini yenidən konfiqurasiya etmir. Serverinizi tətbiq idarə edirsə, tətbiqin kontekst parametrindən istifadə edin.

Model yüklənmişkən onu yoxlayın:

```bash
ollama ps
```

`CONTEXT` və `PROCESSOR` sütunlarını yoxlayın. Ollama xüsusi host və ya port istifadə edirsə, CLI-ni də həmin serverə yönəldin. Yaddaş təzyiqi, CPU offloading, truncation və alət formatı xətaları ayrı-ayrı sübut tələb edir; təkbaşına yavaş cavab hansının baş verdiyini müəyyən edə bilməz.

Avadanlığınız tələb olunan konteksti dəstəkləyə bilmirsə, alətləri dəstəkləyən daha kiçik model seçin və eyni fixture-i təkrarlayın. İki modeli fərqli tapşırıqlarla müqayisə edib fərqi model keyfiyyətinə aid etməkdən çəkinin.

## Faydalı xəta hesabatı saxlayın

Faydalı hesabat başqa tərtibatçının eyni sorğunu təkrarlamasına imkan verir. Versiyaları, təmizlənmiş provayder konfiqurasiyasını, dəqiq model teqini, ayrılmış konteksti və hələ də uğursuz olan ən kiçik fixture-i daxil edin. Birbaşa sorğunun uğurlu olub-olmadığını və OpenCode-un model serverinə çatıb-çatmadığını qeyd edin. Bu detallar layihənin tərtibatçılarına xətanı tapmağa kömək edir.

[OpenCode xəta həlli bələdçisi](https://opencode.ai/docs/troubleshooting/) logları necə tapmağı izah edir. Test edilmiş versiyada bu komanda konfiqurasiya edilmiş data və log yollarını müəyyən edir:

```bash
opencode debug paths
```

Lokal və bulud nəticələrini ayrı saxlayın. Lokal kodlaşdırma testi Ollama Cloud autentifikasiyasını və ya əlçatanlığını doğrulaya bilməz və bulud kəsintisi lokal alət istifadəsi reqressiyasını sübut etmir. Eynilə, eyni simptomu təsvir edən köhnə issue onun təklif etdiyi həllin sizin quraşdırılmış versiyanıza aid olduğunu sübut etmir.

Fixture uğurlu olub, ancaq repozitori tapşırığınız uğursuz olarsa, işlək fixture-i saxlayın və mürəkkəbliyi tədricən artırın: başqa fayl, daha böyük giriş və ya daha uzun alət ardıcıllığı. Xətanı təkrarlayan ilk dəyişiklik, müqayisə aparmadan hər iki tətbiqi yenidən quraşdırmaqdan daha faydalıdır.

Lokal diaqnozu bitirdikdən sonra ayrı provayder konfiqurasiyası üçün [OpenCode xüsusi provayder bələdçisi](/blog/opencode-custom-provider-setup/) Haimaker quraşdırmasını əhatə edir. Şəxsi lokal testləri lokal saxlayın; provayder dəyişdirmək iş yükü icazə verdikdə istəyə bağlı növbəti addımdır.

## Tez-tez verilən suallar

#### Uğurlu Ollama söhbət cavabı OpenCode alətlərinin işləyəcəyi deməkdir?

Xeyr. Söhbət cavabı yalnız modelin mətn yarada bildiyini sübut edir. OpenCode həmçinin strukturlaşdırılmış alət çağırışları, onların icrası üçün icazə və tapşırıq üçün kifayət qədər kontekst tələb edir. Real fayl redaktəsini və onun test nəticəsini doğrulayın.

#### OpenCode-un kontekst limitini artırmaq Ollamaya daha çox yaddaş ayırır?

OpenCode-da göstərilən kontekst limiti Ollama-nın həmin konteksti ayırdığını sübut etmir. Ollama serverini konfiqurasiya edin və işləyən modeli ollama ps ilə yoxlayın. Daha böyük kontekst həmçinin yaddaş tələblərini artırır.

#### Ollama modeli OpenCode-dan itdiyində hər şeyi yenidən quraşdırmalıyam?

Əvvəlcə Ollama-nın qaytardığı model ID-lərini OpenCode konfiqurasiyanızda göstərilən modellə müqayisə edin. Hər iki tətbiqi yenidən quraşdırmazdan əvvəl endpoint və seçilmiş provayderi yoxlayın.
