docs(help): bring the user guide back in line with the current app The help was written on 2026-10-14 and about forty user-visible changes merged since without touching it, so several pages described controls that no longer exist: Missions still listed four playbooks and a Save step for preferences that now save on each change, the depth editor kept its old names, notifications still had their former switches, and voice input pointed to a microphone button that is not in the composer. Every English page was re-checked claim by claim against the current labels (English UI messages) and behaviour, then the nine translations were updated to match, using each locale's own UI labels. Notable corrections: Missions (Compare two models, autosaving defaults with Apply to / Global / Reset, Subsession nesting depth, prepared hand-offs, retired-task interrupts, the named causes of "Mission Control is unavailable", standalone server support); conversations and history (reasoning/tool durations, token lines adding up the cleanup selection, presets including Nothing, timeline markers following Message content, in-place reveal of long text, Open in session, focus after send, Queue message / Steer now, Retrying); settings (notification routing table and defaults, Stats, Mode, info tips, Server setting badge, localized native menus); shortcuts (72 actions, Clear shortcut, Ctrl/Cmd+K); voice (More actions entries, Save status); files (live Workspace refresh, Show 200 more); OpenCode, install, server and updates (2.1.1 recommended, OpenCode 2 beside an older installation, version card first, private loopback listener for Missions, preview releases offered once all builds are published); providers, integrations, browser, SideCars, desktop and remote pages. Translations also repaired older drift, mainly the project-tab closing passages. The Chat settings table header (Default state, its title, item column, the thinking row and its accessible label) was still English in eight locales; it is now translated so the help can cite what users see. AGENTS.md now asks every PR changing user-visible behavior to update the affected help pages in the same PR, since CI validates structure and links but not whether the text still matches the UI; it also corrects the needs-input notification default. USER_HELP.md no longer claims native menus stay English. Validation: npm run test:help (all ten locales, 25 pages, heading ids unchanged), a full help build, and the i18n and transcript-visibility unit tests.
10 KiB
Kimlik doğrulama ve güvenlik
CodeNomad erişimi, OpenCode aracılığıyla arka uç ana bilgisayarında iş yürütmeye olanak tanır. Sunucu parolalarını, tarayıcı oturumlarını ve eşleştirilmiş cihazları güçlü kimlik bilgileri olarak değerlendirin. CodeNomad çok kiracılı bir yürütme korumalı alanı değildir.
Sunucunun kimlik doğrulama yöntemini seçin
| Yöntem | Süre ve kapsam |
|---|---|
--password veya CODENOMAD_SERVER_PASSWORD |
Bu arka uç sürecine ait çalışma zamanı geçersiz kılmasıdır. Her başlatmada yeniden gerekir; kalıcı kaydedilmez. Yönetilen parola dosyasını geçersiz kılar. |
| Ayarlardan belirlenen parola | Etkin YAML yapılandırmasının yanındaki auth.json dosyasına tuzlanmış scrypt özeti kaydeder. Çalışma zamanı geçersiz kılması olmadan sonraki başlatmalarda kullanılır. |
--generate-token |
Yerel, tek kullanımlık ilk kurulumu etkinleştirir; yazdırılan belirteç 60 saniye geçerlidir. Yeniden kullanılabilir API belirteci veya Uzaktan Kontrol bağlantısı değildir. |
| Uzaktan Kontrol eşleştirmesi | Ana bilgisayardan yönetilen ayrı cihaz çerezi kimlik doğrulaması; bkz. Uzaktan Kontrol. |
Varsayılan kullanıcı adı codenomad'dir. Saklanan bir kimlik doğrulama dosyası, kullanıcı adını korur; yalnızca --username'yi değiştirmek, saklanan kimliği yeniden adlandırmaz. Yapılandırılmış bir parola, önyükleme modu veya açıkça atlanan kimlik doğrulaması olmadan sunucu başlatmayı reddeder.
Komut bağımsız değişkenlerine veya kabuk geçmişine parola eklemek yerine korumalı bir ortam/hizmet sırrını tercih edin. İşlem ortamınızı veya yapılandırma dizininizi denetleyebilen herhangi biri yine de dağıtımın güvenliğini tehlikeye atabilir.
İlk kurulumla kalıcı parola belirleyin
- Çalışma zamanı parola geçersiz kılması olmadan yerel olarak başlatın. Önce sertifika kurmadan loopback üzerinden ilk kurulum yapmak için
codenomad --host 127.0.0.1 --https=false --http=true --generate-token --launchkomutunu kullanın. - Arka uç makinesinde yazdırılan Local Connection URL adresinde
/auth/tokenyolunu açıpCODENOMAD_BOOTSTRAP_TOKEN:sonrasında yazdırılan değeri gönderin. Bu çıktıyı paylaşmayın. - Ayarlar → Uzak Erişim → Doğrudan erişim (yerel ağ, gelişmiş) → Sunucu şifresi öğesini açın.
- Şifre belirle eylemini seçin; Yeni şifre ve Şifreyi onayla alanlarına en az sekiz karakter girip Şifreyi kaydet eylemini seçin.
- Sonraki başlatmada
--generate-tokenseçeneğini kullanmayın ve doğrudan bağlantılarda kayıtlı parolayı kullanın. Uzaktan erişimi açmadan önce güvenilir HTTPS yapılandırın; loopback HTTP kurulum komutu uzaktan dağıtım komutu değildir.
İlk kurulum yalnızca ana bilgisayarın kendi loopback dinleyicisinden kabul edilir; LAN istemcisinden veya Uzaktan Kontrol girişinden kabul edilmez. Kurulumda varsayılan loopback bağlamasını koruyun. Süresi dolmuş veya kullanılmış belirteç için yeni ilk kurulum başlatılmalıdır. Kalıcı parola zaten varsa ilk kurulum oturumu bunun yerine Şifreyi değiştir eylemini seçmenizi sağlar.
auth.json uygulama tarafından yönetilir; özeti elle düzenlemeyin veya dosyayı yayımlamayın. Parola CLI/ortamdan geldiyse Ayarlar bunu değiştirmeyi reddeder: mevcut yönetilen parolayı kullanmak için geçersiz kılma olmadan yeniden başlatın veya yerel ilk kurulumla parola belirleyin. Okunamayan/yazılamayan kimlik doğrulama dosyası için kimlik doğrulamayı kapatmak değil, işletim sistemi iznini/yolu onarmak gerekir.
Tarayıcı oturumları ve iptali
Doğrudan giriş, arka uç belleğinde opak bir oturum ve codenomad_session çerezi (veya yapılandırılan adla çerez) oluşturur. Çerezler HttpOnly, SameSite=Lax özelliklerine sahiptir, / kapsamındadır ve HTTPS üzerinden verildiğinde Secure olarak işaretlenir. Bunlar tarayıcı oturumu çerezleridir; arka ucun yeniden başlatılması bellekteki oturumları geçersiz kılar. Başarısız değişiklik işlemlerini yeniden göndermek yerine istendiğinde aynı sayfada yeniden kimlik doğrulayın.
Parolayı değiştirmek sonraki kimlik bilgisi kontrollerini değiştirir; önceden verilmiş doğrudan oturumları veya Uzaktan Kontrol cihazlarını geçersiz kılmaz. Yetkisiz erişimden şüpheleniyorsanız:
- Ağ erişimini kısıtlayın ve ana bilgisayarda yeni bir parola belirleyin veya çalışma zamanı sırrınızı değiştirin ve yeniden başlatın.
- Mevcut doğrudan oturumlarını geçersiz kılmak için arka ucu yeniden başlatın.
- Uzaktan Kontrol → Eşleştirilmiş cihazlar altında tanımadığınız cihazları ayrı ayrı İptal et eylemiyle iptal edin. Erişim yolunun tamamını hemen kesmeniz gerekiyorsa Uzaktan Kontrolü durdurun.
- Etkilenen dosyaları, sağlayıcı hesaplarını ve OpenCode etkinliğini inceleyin. Erişimi durdurmak kabul edilmiş işleri geri almaz.
30 günlük etkinlik dışı kalma süresi ve beş dakikalık eşleştirme bağlantıları için Uzaktan Kontrol'ye bakın. Parola değişikliği cihazın iptali değildir ve bir tünelin durdurulması cihazın silinmesi değildir.
Aktarımı ve dinleyicinin maruz kalmasını koruyun
Doğrudan uzaktan erişimde güvenilir HTTPS kullanın. Düz HTTP, ağın o bölümünü gözlemleyebilen herkese parolaları, oturum çerezlerini ve çalışma içeriğini açığa çıkarır. TLS ters proxy'de sonlanıyorsa arka uca giden bağlantıyı loopback veya başka korunan ağda tutun; proxy TLS, açıkta kalan üst HTTP bağlantısını şifrelemez.
--dangerously-skip-auth / CODENOMAD_SKIP_AUTH, CodeNomad'in doğrudan dinleyici girişini devre dışı bırakır ve istekleri kimliği doğrulanmış sayar. Sunucuyu dışarı açmayı güvenli hale getirmez. Erişimi zorunlu denetleyen bir sınır olmadan ulaşılabilen dinleyici, ulaşan herkese erişim verir; VPN tek başına güvenilir ve güvenilmeyen VPN kullanıcılarını ayırmaz. Her erişim yolunu bağımsız tasarlayıp doğrulamadıysanız kimlik doğrulamayı açık tutun. Bu bayrak kullanılsa da Uzaktan Kontrol eşleştirilmiş cihaz gerektirir.
Bağlama matrisi ve TLS işlemlerini, özellikle bağımsız yalnızca HTTP modunu kontrol edin: bu mod --host değerine uyar ve düz metni loopback dışına açabilir. Sertifika hatalarını doğrulamayı kapatarak çözmeyin.
CODENOMAD_SKIP_AUTH=false, --dangerously-skip-auth verilmedikçe kimlik doğrulamayı açık tutar. 1, true, yes veya on, büyük/küçük harf ayrımı yapmadan ve baştaki/sondaki boşlukları yok sayarak kimlik doğrulama atlamasını etkinleştirir; 0, false, no, off, boş veya yalnızca boşluk içeren değerler ve tanımlanmamış değişken bu atlamayı kapalı bırakır. Diğer tüm değerler, CLI bayrağı verilse bile sunucunun başlamasını engeller. Bayrak, geçerli bir kapalı değerine göre önceliklidir; bkz. CLI başvurusu.
Ana makine sınırını anlama
--workspace-root açılabilecek çalışma alanlarını sınırlar; --unrestricted-root gezinme sınırlarını gevşetir. İkisi de işletim sistemi hapishanesi, kapsayıcı, dosya sistemi korumalı alanı veya yetkili OpenCode aracının yapabileceklerine sınır değildir. Ajanlar, kabuk komutları, eklentiler ve MCP araçları yürütme ana bilgisayarının izinleriyle ve kendi kimlik bilgileriyle çalışır.
SideCars güvenilir eklemelerdir. CodeNomad oturum açma ve eşleştirilmiş cihaz çerezlerini SideCar hizmetinden saklar, ancak SideCar sayfası CodeNomad ile aynı kaynakta (origin) yüklenir ve betikleri oturum açmış oturumunuzla işlem yapabilir. Yalnızca CodeNomad'in kendisi kadar güvendiğiniz hizmetleri kaydedin.
Gerçek yalıtım gerekiyorsa işletim sistemi hesapları, kapsayıcılar/VM'ler ve OpenCode izin yapılandırmasını kullanın. Yalnızca tek sekme göreceğini düşündüğünüz için cihaza erişim vermeyin. Sunucu yapılandırması ve paylaşılan OpenCode hizmeti başka konuşmaları/projeleri etkileyebilir; ayrı sınırlar için OpenCode kurulumu, İzinler ve Uzantılar sayfalarına bakın.
Kimlik bilgilerini ve teşhis bilgilerini gizli tutun
Sağlayıcı bağlantıları ve genel konuşma deposu OpenCode'a aittir. CodeNomad desteklenen kullanım entegrasyonları için bağlantı meta verilerini ve seçili kimlik bilgilerini sunucuda okur; tarayıcı API'leri sağlayıcının gizli değerlerini döndürmez. Haricen yönetilen OAuth girişinin yenilenmesi sahibine aittir; CodeNomad bu yenileme belirteçlerini takas etmez. Bkz. Sağlayıcılar.
| Veri | Nasıl ele alınmalı |
|---|---|
| Parolalar, ilk kurulum belirteçleri, eşleştirme bağlantıları, çerezler | Sorun bildirimlerine, ekran görüntülerine, kabuk dökümlerine veya paylaşılan günlüklere asla yapıştırmayın. |
auth.json, TLS özel anahtarlar, tünel kimliği, yapılandırma sırları |
İşletim sistemi izinleri ve şifreli yedeklemelerle koruyun; Destek için dizinlerin tamamını yüklemeyin. |
| Konuşma metni, ekler, çalışma alanı yolları ve uzak adresler | Paylaşmadan önce inceleyip hassas bilgileri gizleyin; kişileri, projeleri veya altyapıyı tanımlayabilirler. |
| Sağlayıcı anahtarları ve ses hizmeti kimlik bilgileri | Yalnızca amaçlanan ayarlara/kimlik bilgisi sahibine girin; hangi sağlayıcının verileri aldığını kontrol edin. Bkz. Ses. |
| Hata ayıklama/izleme günlükleri ve ağ yakalamaları | Yalnızca gerekeni toplayın, yerel olarak inceleyin ve bildirmeden önce hassas bilgileri gizleyin. Diğer araçların çıktısının sır içermediğini varsaymayın. |
Ayarlar → Bilgi → Hata bildir, dinleyicileri, adresleri, yolları, kimlik bilgilerini veya konuşma içeriğini önceden doldurmadan sınırlı tanılamalar hazırlar. Göndermeden önce kendiniz eklediğiniz her şeyi inceleyin. Bkz. Destek.