CodeNomad/docs/help/tr/opencode.md
Pascal André 01b20b5b78
Some checks are pending
Publish help / build (push) Waiting to run
Publish help / deploy (push) Blocked by required conditions
chore(opencode): qualify and recommend runtime 2.1.3 (#1098)
## Summary

- Qualify OpenCode **2.1.3** (latest stable, 22 October) with the
existing locked **2.1.0 client/plugin** dependencies, and **recommend**
it.
- Keep the technical **minimum at 2.1.2**: nothing CodeNomad consumes
changed, so the minimum has no new reason to move.
- A 2.1.2 daemon stays ready and gets an optional upgrade offer. 2.1.3
is the `tested` version. Newer and custom labels keep authenticated
contract recognition.
- The reviewed-contract fast path lists 2.1.3 beside the 2.1.2 minimum.
- The recommended version is updated in the help (all ten locales), both
READMEs, `dev-docs/OPENCODE_COMPATIBILITY.md` and the architecture
skill.

## Contract review (v2.1.2 → v2.1.3, 66 commits)

- **Authenticated OpenAPI:** 119 → **121 paths**, 144 → **146
operations**. Every consumed operation is unchanged. The only changes:
  - added `GET /api/experimental/voice/models`;
- added `POST /api/experimental/voice/session/{sessionID}/instructions`;
- an optional hosted `session.id` in the `POST
/api/experimental/voice/session` response.

  None of these is on the instance proxy allowlist, so they stay closed.
- **Published declarations:** the client adds only `voice.models` /
`voice.instructions`. The schema changes only typing (agent `color`
decoding, `Durable` as a tagged union). The plugin is unchanged.
- **Windows managed services** move their default port from **45278 to
28894** ([#57428](https://github.com/anomalyco/opencode/pull/57428)).
CodeNomad discovers the daemon through the selected CLI's `service
status` and the service registration, and assumes no port.
- Live check: this machine's shared daemon was upgraded to 2.1.3 and
restarted on 28894, and the running CodeNomad desktop kept working
through it.
- **Core:** mostly refactors, plus behaviour fixes that the native
suites below exercise:
  - compaction summary output limit;
  - `keepID` validated as a message ID;
  - MCP media kept out of attachments;
  - only changed instruction entries resent;
  - relative-directory V1 migration;
  - legacy `apply_patch` permission mapped to `edit`.

## Isolated Windows qualification

Base: dev `333d73452`, rebased on `853b14f2f` (#1097) for the final UI
unit run; Node **24.20.0**; exact official CLI **2.1.3**; unchanged
locked client/plugin **2.1.0**.

- **Build and checks:** production server/UI/native plugin builds,
server and root typechecks, native bundle guard.
- **Native runtime (9/9):**
  - Code Mode job ordering, plugin runtime, automation;
  - complete pruning, history, ownership, worktree and event relay;
  - loaded-only pending snapshot;
- Missions contract, family control, native and Compare/Wayfinder
trajectory.
- **Sessions (15/15):** environment, fork, aside, interrupt, lifecycle,
blank cleanup, prompt skills, provider usage/accounts/selection, service
usage, web search, plugin packages, output limit, Promise-tool failure.
- **Recurring (5/5):** all **11 recurring Mission journeys**, subagent
depth, **2 MiB** compaction, permission receipts.
- **Migrations (9/9):**
- history from **2.0.3, beta-19271, 2.0.32, 2.1.0, 2.1.1 and 2.1.2** to
2.1.3;
  - Git degraded/init;
  - temporary workspaces.
- **Installation (3/3), with the 2.1.3 recommendation:**
  - fresh install of the 2.1.2 minimum;
- native **2.0.15 → 2.1.3** upgrade, after which the already-running
daemon keeps its PID and 2.0.15 version;
  - explicit OpenCode **1.18.10 → 2.1.3** replacement.
- **After the recommendation change:**
  - admission/transport/update/setup units **36/36**;
  - full server **2,463 passed, 8 skipped**, no failure or cancellation;
  - UI units **1,694/1,694** (with #1097);
  - focused browser **126/126**;
  - native pruning with the real rendered UI;
  - the exact CI invocation of the Code Mode regression (without tsx);
  - ten-locale help checks.

The UI unit run on `333d73452` itself had two failures, in
`instances-pending-compaction.test.ts` (`toast.dismiss is not a
function`). They come from #1096 and also fail on unmodified `dev`;
#1097 fixes that fixture.

This is Windows automation evidence. In CI, `latest` now resolves to
2.1.3: the compatibility job runs the native suites against the minimum
and latest on Windows, and the migration and Git-degraded certification
runs them on Ubuntu, Windows and macOS. WSL, packaged desktop,
installers/updater end-to-end and real mobile devices keep their
separate release gates.
2026-10-22 16:17:20 +02:00

10 KiB
Raw Permalink Blame History

OpenCode kurulumu

CodeNomad, yürütme ana bilgisayarındaki paylaşılan bir OpenCode hizmetine bağlanır. CLI'yi seçmek, dosyalarını güncellemek, hizmeti yeniden başlatmak ve yapılandırmayı yeniden yüklemek farklı işlemlerdir; hiçbiri diğerinin alternatifi değildir.

CLI seçin veya kurun

  1. Ayarlar → OpenCode öğesini açın ve yürütülebilir dosyayı seçmek için OpenCode sürümü altındaki OpenCode Binary kartını kullanın.
  2. Sunucunun PATH'sini (eski bir OpenCode içermediği sürece), ardından kullanıcı npm OpenCode 2 kurulumunu tercih etmek için otomatik girişi seçili bırakın; veya Binary için gözat… kullanın veya bir yol girin ve Ekle öğesini seçin.
  3. Durumu ve güncellemeleri denetle öğesini kullanın. OpenCode eksikse OpenCode'u kur ve başlat öğesini seçin; önce ana bilgisayarı ve kurulum kapsamını inceleyin.
  4. Kurulum Bağlan ve devam et sunuyorsa, bildirilen sorunu çözdükten sonra bunu kullanın.

Kurulum, diğer istemcilerle paylaşılan standart bir kullanıcı kurulumu için paketlenmiş Node/npm'yi kullanır. Kullanıcı için kur ve PATH'i yapılandır bu kullanıcının terminal kurulumunu değiştirir; daha sonra yeni bir terminal açın. Bir tarayıcı CodeNomad sunucusuna bağlanır: dosya seçicisi ve yürütülebilir seçimi, tarama cihazını değil, söz konusu sunucuyu ilgilendirir.

PATH üzerinde önce eski bir OpenCode geliyorsa, sunulan eylem nasıl kurulduğuna bağlıdır. npm ile kurulmuş OpenCode 1.x için OpenCode {version} sürümünü OpenCode 2 ile değiştir onay ister, o npm paketini kaldırır ve OpenCode 2'yi aynı npm klasörüne kurar; OpenCode veri klasörü korunur ve OpenCode 2, 1.x konuşmalarını kendisi içe aktarır. Başka bir yolla (winget, Homebrew, elle) kurulmuş eski veya kullanılamayan bir OpenCode asla değiştirilmez: CodeNomad için OpenCode 2 kur, OpenCode 2'yi onun yanına, kullanıcı npm klasörüne kurar ve CodeNomad bundan sonra bu kopyayı kullanır. Bu eski komutun kendisi kullanıcı npm klasöründeyse (örneğin ~/.local/bin içindeki bir bağlantı) ya da bu klasör yazılabilir değilse, kurulum eylemi sunmak yerine nedenini açıklar: komutu taşıyın veya yeniden adlandırın ya da klasör izinlerini düzeltin, ardından Durumu ve güncellemeleri denetle seçeneğini seçin. Bir terminaldeki opencode komutu yine eski sürümü başlatabilir. Açıkça seçilmiş özel bir yürütülebilir dosya asla değiştirilmez.

Yüklü yürütülebilir dosya ve çalışan hizmetin farklı sürümleri olabilir. Başka bir yürütülebilir dosyanın seçilmesinin canlı arka plan programının yerini aldığını varsaymak yerine OpenCode sürümü kartında Kurulu sürüm ile Çalışan hizmet değerlerini karşılaştırın; Sürüm ayrıntıları minimum ve önerilen sürümleri listeler. Kurulum meşgulse veya yürütülebilir dosya kilitliyse, yükleyicinin veya işlemin onu serbest bırakmasını bekleyin ve yeniden denemeden önce durumu kontrol edin; Rakip yükleyicileri çalıştırmayın.

Gerekli, önerilen ve doğrulanmamış sürümler

Sınıflandırma Mevcut gereksinim Anlamı
Asgari OpenCode 2.1.2 Code Mode içindeki JavaScript görevlerinin doğru yürütme sırası ve 2.1'in yerel yeniden oynatma ve sıkıştırma biçimi; önceki sürümlerle kaydedilen konuşmalar güncellemeden sonra da okunabilir.
Önerilen OpenCode 2.1.3 Teknik alt sınırdan farklı, doğrulanan hedef.
Doğrulanmamış Tam olarak doğrulanmamış daha yeni veya özel bir sürüm Yalnızca denenmemiş olduğu için reddedilmez; bağlı hizmetin gerçek API sözleşmeleri kontrol edilir.

Gerekli oturum, izin, Form, gelen kutusu ve oturum-ortam sözleşmelerinin de mevcut olması gerekir. Yürütülebilir bir sürüm tek başına bağlı hizmetin bunları desteklediğini kanıtlamaz. Kurulum, desteklenmeyen bir çalışan hizmet bildirirse desteklenen bir CLI seçin/yükleyin ve hazır olduğunuzda açık paylaşılan hizmet yeniden başlatmayı kullanın.

Ana bilgisayar, WSL ve paylaşılan hizmet kapsamı

Windows'ta seçilen bir WSL yürütülebilir dosyası, seçilen dağıtımın içinde çalışır. Oraya yükleyin/güncelleyin ve bu dağıtımda anlamlı olan yolları kullanın. WSL bağlantısı Windows localhost yönlendirmesine bağlıdır. Windows CLI ve WSL CLI, birbirinin yerine kullanılabilen yürütme ortamları değildir.

OpenCode, küresel hizmet kaydına, oturumlarına, mesajlarına ve veritabanına sahiptir. CodeNomad, pencere veya proje başına özel bir OpenCode veritabanı oluşturmaz. Proje sekmesini kapatmak projeyi CodeNomad'de kapatır; oturumlar OpenCode'da devam eder ve projeyi yeniden açtığınızda yeniden görünür. CodeNomad yerel Location bağlamlarını hiçbir zaman kaldırmaz. Bir pencerenin tamamını kapatmak, uygulamadan çıkmak veya yeniden yüklemek proje bağlantılarını geri yükleme için korur; ne bu eylemler ne de arka ucun kapanması paylaşılan arka plan programını durdurur. Bkz. Projeler.

Güncelleme, yeniden başlatma veya yeniden yükleme

  1. Ayarlar → OpenCode bölümünde Durumu ve güncellemeleri denetle öğesini seçin.
  2. Yüklü CLI dosyalarını değiştirmek için teklif edildiğinde OpenCode {version} sürümüne güncelle öğesini seçin. Tamamlanmasını bekleyin.
  3. Çalışan hizmet durumunu gözden geçirin. Paylaşılan hizmeti yeniden başlat öğesini yalnızca seçilen kurulumu bağlı her istemci için etkinleştirmek istediğinizde kullanın.
  4. Hiçbir şey yüklemeden işlemi yeniden başlatmak için Sorun giderme öğesini genişletin ve OpenCode hizmetini yeniden başlat öğesini seçip onaylayın.
Eylem Kapsam ve etki Güvenli kurtarma
CLI'yi güncelleyin Desteklenen yüklü yürütülebilir dosyayı değiştirir; çalışan arka plan programını dolaylı olarak yeniden başlatmaz. Bir arızadan sonra hem yüklü hem de çalışan sürümleri kontrol edin; yalnızca hatayı çözdükten sonra açıkça yeniden deneyin.
Hizmeti yeniden başlat Paylaşılan süreci değiştirir ve bağlı tüm OpenCode istemcilerindeki etkin işleri keser; oturum geçmişi kalır. Yeniden bağlanıp konuşmaları ve zamanlanmış Görevleri inceleyin; yeniden başlatma otomatik devam anlamına gelmez.
OpenCode yapılandırmasını yeniden yükle Süreci korur ancak tüm istemcilerdeki yüklü her Location bağlamını yeniden kurar. Bekleyen izinleri/Formları iptal eder, terminalleri/arka plan komutlarını kapatır; etkin işler kesilebilir. Yeniden yükledikten sonra kaynakları ve bekleyen işleri kontrol edin. Yanıt kayboldu diye istemi veya değişiklik işlemini tekrarlamayın.

Kaydedilmiş bir yapılandırma veya yüklü eklenti kullanılamadığında ve kesinti kabul edilebilir olduğunda, çalışan hizmet destekliyorsa Sorun giderme altında bulunan OpenCode yapılandırmasını yeniden yükle öğesini açıkça kullanın. Zararsız bir ekran yenileme değildir. CodeNomad, daha yeni çalışan bir arka plan programının sürümünü düşürmek için seçilen eski bir CLI'yi kullanmayacaktır.

Oturum ortamı

  1. Ayarlar → Gelişmiş öğesini açın ve Ortam Değişkenleri bölümünü genişletin.
  2. Profilin geçersiz kılmalarını ekleyin, değiştirin veya kaldırın; her değişiklik hemen kaydedilir.
  3. Geçerli ortamı söz konusu konuşmaya uygulamak için sonraki istemi, özel komutu veya oturum kabuğu isteğini CodeNomad aracılığıyla gönderin.

Bu, her göndermeden önce sunucu tarafında uygulanan bir yapılandırma profili ayarıdır. Yalnızca bir görüşmeyi açmak/okumak veya ayarları kaydetmek yerel oturumu değiştirmez. Bir geçersiz kılmayı kaldırmak, yürütme ana bilgisayarının devralınan değerini geri yükler veya orada yoksa kaldırır. Ortamın uygulanmaması, eski değerleri kullanmak yerine gönderimi engeller.

Ortam, ilgili OpenCode oturumunda sonraki yerel kabuk başlatmalarını yönetir. Çalışan süreçler mevcut ortamlarını korur. Sağlayıcıları, MCP/LSP sunucularını, bağımsız terminalleri veya yalnızca Location kapsamındaki arka plan kabuklarını yeniden yapılandırmaz. Her kuyruk istemi kendi ortamını saklamaz; başka OpenCode istemcisi aynı oturum ortamını değiştirebilir. Tamamen OpenCode içinde oluşturulmuş alt oturumların CodeNomad gönderim anı güncellemesi aldığını varsaymayın.

Durdurulan bir hizmet başlatılırken izin verilen değişkenler de iletilir; Mevcut bir arka plan programına bağlanmak onun süreç ortamını değiştirmez. WSL'de değerler Windows PATH/HOME ile değil Linux yürütme ortamıyla birleştirilir. Bu geçersiz kılmaları değiştirmek, OpenCode'un veritabanının veya hizmet kaydının yerini değiştirmez.

Yerel yapılandırma dosyalarını düzenleyin

  1. Ayarlar → Yapılandırma Dosyaları yolunu açıp Dosya seçimini yapın.
  2. Görüntülenen yolu kontrol edin, düzenleyin ve ardından Kaydet öğesini seçin.
  3. Dosyayı yeniden okumak için Yeniden yükle öğesini kullanın; bu OpenCode yapılandırmasını yeniden yükle değil.

Bu düzenleyici, CodeNomad sunucu kullanıcısının .config/opencode dizini altında yalnızca listelenen genel opencode.json ve opencode.jsonc dosyalarını gösterir. Bu, rastgele bir dosya düzenleyicisi, bir Proje yapılandırma seçicisi veya bir WSL/özel keşif arka plan programının bu dosyayı okuyacağının garantisi değildir. Hedefi doğrulamak için görüntülenen yolu kullanın; diğer kökler için arka plan programının kendi araçlarını kullanın.

Kaydetme, dosyayı metin olarak yazar; yerel yapılandırmanın tamamını doğrulamaz veya OpenCode'u yeniden başlatmaz/yeniden yüklemez. Düzenlemeleri diğer istemcilerle koordine edin: Bu yüzey, harici değişiklik birleştirme olanağı sunmaz. Önemli konfigürasyonu değiştirmeden önce bir kopyasını saklayın. Dosyaları değiştirmek veya kirli bir taslağı yeniden yüklemek, bunun atılıp atılmayacağını sorar.

Konfigürasyona özel iş akışları için bkz. Entegrasyonlar, Sağlayıcılar, Görevler ve OpenCode belgeleri.