İçeriğe geç
↑↓Gezin ↵Aç escKapat

Uzantılar

Bir uzantı, görev panosu gibi tam ekran bir sayfa sunabilir. Oturum listesinin üstündeki Uzantı sayfaları menüsünden açın. Menü yalnızca etkin ve onaylanmış sayfalar varsa görünür. Sohbet seçme, yenileme, duraklatma, kaldırma veya sunucu değiştirme sayfayı kapatır. Uzantı sayfayı kendi başına açamaz.

Uzantının kendi verileri bağlı sunucuda saklanır ve uzantı kaldırılınca silinir. Bir pano, projenizde dosya oluşturmadan farklı proje ve çalışma ağaçlarındaki oturumları izleyebilir.

Ayarlar → Uzantılar üzerinden başkalarının yaptığı panelleri OpenChamber’a ekleyebilirsiniz. Uzantı, sağ raya yerleşen ve yerleşik panellerin yanında duran küçük bir sayfadır. Size başka bir hizmetten veri gösterebilir, sohbete bir görev iliştirebilir ve izin verirseniz oturum başlatabilir, istem gönderebilir ya da dosya okuyabilir.

Uzantılar OpenChamber web ve masaüstünde çalışır. VS Code ve mobil uygulama henüz onları yüklemiyor. OpenCode eklentileriyle aynı şey değildir.

Uzantı kurma

Yerleşik olarak işaretlenen eklentiler seçili OpenChamber örneğiyle gelir. Başlangıçta etkindirler ve bildirdikleri izinler ayrı bir pencere olmadan verilir. Kartlarındaki Devre dışı bırak veya Etkinleştir seçeneğini kullanın. Uygulamadan ayrı kaldırılamaz veya güncellenemezler. Devre dışı bırakmak verileri ve bağlı hesapları korur; bu seçim uygulama güncellemelerinde de saklanır.

Hesap ayarları Ayarlar → Entegrasyonlar → Yerleşik entegrasyonlar bölümündedir. Bir hizmetin hesabınıza erişmesi için yine de API tokeni veya oturum açma gerekebilir.

  1. Ayarlar → Uzantılar sayfasını açın.
  2. Şunlardan birini Klasör, ZIP veya URL alanına yapıştırıp Ekle seçeneğini seçin:
    • bu bilgisayardaki bir klasörün tam yolu
    • bir .zip dosyasının yolu
    • bir git deposuna ya da zip dosyasına giden https bağlantısı
    • [email protected]:owner/extension.git gibi bir SSH Git adresi
  3. Uzantı izin istiyorsa bir iletişim kutusu bunları listeler. İzin ver ve etkinleştir seçeneğini seçin ya da geri çıkarmak için Kaldır deyin.

Alana bir .zip de bırakabilir ya da yanındaki arşiv düğmesiyle seçebilirsiniz; arşiv OpenChamber sunucusuna yüklenir, bu yüzden uzak bir örnekte de çalışır. Masaüstünde klasör düğmesi sistemin seçim penceresini açar ve bırakılan bir klasör kendi yolundan kurulur.

Uzantının simgesi rayda görünür. Görünmüyorsa Sorun giderme sayfasına bakın.

Klasörden kurulum doğrudan o klasörden çalışır, bu yüzden uzantı geliştiren biri düzenleyip yeniden yükleyebilir. Zip ya da URL önce OpenChamber’ın kendi veri klasörüne kopyalanır; özgün dosyaya dokunulmaz.

Özel depolar ve Git kimlikleri

SSH kurulumu [email protected]:owner/extension.git ve ssh://[email protected]/owner/extension.git adreslerini ve isteğe bağlı #branch-or-tag ekini destekler. Alanın yanındaki parmak izi menüsünden genel kimliği veya kayıtlı bir Git kimliğini seçin. Bu seçim güncelleme kontrollerinde ve güncellemelerde korunur; anahtar değişikliği sonraki işlemde uygulanır.

Genel kimlik, seçili OpenChamber sunucusunu çalıştıran kullanıcının Git/SSH ayarlarını ve SSH agent bağlantısını kullanır. Uzak örnekte anahtar o sunucuda bulunmalıdır. Parolalı anahtarları önce sunucu sürecinin SSH agent bağlantısında açın. HTTPS, Git HTTPS kimlik bilgilerini kullanır ve otomatik olarak SSH biçimine geçmez. Git sunucuları genel IP adreslerine çözülmelidir; yerel SSH takma adları ve özel ağ hedefleri desteklenmez.

Uzantı neler yapabilir

Panel göstermek ve hangi proje ile oturumun açık olduğunu okumak izin gerektirmez. Sizin adınıza bir şey yapan her şey izin gerektirir ve tüm listeyi kurulumda bir kez görürsünüz:

  • Oturumlarınıza mesaj gönderme: modele istem yazıp gönderir, bu jeton harcar ve araç çalıştırabilir.
  • Projelere ve oturumlara erişim: projeleri, çalışma ağaçlarını ve oturum durumlarını listeler; kayıtlı projelerde oturum oluşturur ve açar. Konuşma içeriği gizli kalır.
  • Proje dosyalarını okuma ve yazma: açık projedeki her dosya.
  • Proje dışındaki dosyaları okuma ve yazma: yalnızca iletişim kutusunda listelenen konumlar.
  • Small Model’inizi kullanma: oturumlarınızın dışında tek seferlik metin üretimi, Ayarlar → Oturumlar → Small Model’deki modelle. Jeton harcar.
  • Dış bir hizmete bağlanma: Ayarlar → Entegrasyonlar altında bağladığınız hesapla.
  • Bir oturumun konuşmasını okuma: yalnızca o oturumda uzantının eylemini çalıştırdığınızda.
  • Yerel servis çalıştırma: kullanıcı hesabınızın tüm erişimine sahip ayrı bir program. Yalnızca yazara güveniyorsanız izin verin. Uzantı oturumlarınızda olanların kendisine bildirilmesini istiyorsa bu satır haber alacağı anları da listeler: bir tur biter, bir tur başarısız olur, ajan izin ister, ajan soru sorar. Bunları her projede, açık bir pencere olmadan öğrenir ve yalnızca tanımlayıcıları alır: oturum, projesi ve oturuma iliştirdiğiniz öğeler.
  • Ajanın arka planda söylediklerini okuma: her turun son yanıtı, ajanın sorduğu sorular ve ne için izin istediği, her projede, uzantının yerel servisine gönderilir. Yalnızca uzantının bunları gönderdiği yere güveniyorsanız izin verin.
  • Kendi başına oturum başlatma ve mesaj gönderme: yerel servisi bunu açık bir pencere olmadan yapar, bu jeton harcar ve araç çalıştırabilir.
  • Ajanların okuduklarına ekleme: oturumlarınızın talimatlarındaki metin ve uzantı açıkken her ajana sunulan beceriler.
  • OpenCode’a eklenti ekleme: paketin eklentisi, uzantı açıkken OpenCode’unuza yüklenir. Eklenti kodu yerel bir servis gibi tüm erişiminizle OpenCode’un içinde çalışır; bu yüzden yalnızca yazara güveniyorsanız izin verin.

Yerel bir servis ayrıca OpenChamber çalıştığı sürece çalışmaya devam edebilir veya bir takvime göre uyanabilir. İletişim kutusu bunu Yerel servis çalıştırma altında söyler ve @ işaretinden sonra yazdıklarınızın servise ne zaman gittiğini de belirtir. Bir uzantı @ menüsüne kendi satırlarını, ajan yanıtlarına da kendi bloklarını ekleyebilir. Uzantıyı duraklatmak bunların hepsini kaldırır.

Bildirimlerinizi Slack’e, Matrix’e ya da kendi sunucusuna ileten bir uzantı bunu da Yerel servis çalıştırma altında, Bildirimlerinizi sözcüğüyle başlayan bir satırla söyler. Ayarlar → Entegrasyonlar’da onun için bir hesap bağlamadan önce hiçbir şey dışarı çıkmaz; sonrasında telefonunuzun alacağını alır ve uzantıyı duraklatmak bunu durdurur.

Daha yeni bir sürüm izin verdiğinizden fazlasını istediğinde kart Onay gerekli ve bir İzinleri incele düğmesi gösterir. Yeni listeye izin verene kadar o uzantı kapalı kalır.

Nerede görünür

Raydaki panelinin yanı sıra bir uzantı, zaten kullandığınız menülere girdiler ekleyebilir: bir sohbet mesajındaki eylemler, bir oturumun menüsü, sohbet kutusunun yanındaki + menüsü ve hiçbir şey açmadan bir şey iliştiren /task ABC-12 gibi eğik çizgi komutları. Ayrıca kendi araçlarına, OpenChamber’ın yerleşik araçlarında olduğu gibi sohbette düzgün bir simge, başlık ve çıktı düzeni verebilir. Bunlardan hangilerini sunacağına uzantı karar verir; uzantıya izin verene kadar hepsi kapalıdır.

Bazı uzantılar kendi paneli yerine canlı bir görüntü gösterir: bir ajanın sunucuda içinde çalıştığı şey, örneğin bir tarayıcı veya bir simülatör. Kontrolü almak için görüntüye tıklayın ya da yazın; durum satırı Kontrol sizde der ve Ajana geri ver düğmesine basana kadar ajanın tarayıcı eylemleri reddedilir. Kopyalama ve yapıştırma her zamanki gibi çalışır. Aynı anda bağlı başka bir cihaz kontrolün kimde olduğunu görür ve onu devralamaz. Böyle bir uzantı, görüntünün yanına kendi kontrollerini ekleyebilir, örneğin üstüne bir adres çubuğu veya yanına bir araç sütunu.

OpenCode eklentisi olan bir uzantı

Bir uzantı bir OpenCode eklentisi getirebilir; böylece iki şey yerine tek şey kurarsınız. İzin iletişim kutusunda OpenCode’a eklenti ekleme ile başlayan bir satır bulunur. İzin verdiğinizde OpenChamber, sizin için çalıştırdığı OpenCode’a eklentiyi birkaç saniye içinde, yeniden başlatmadan ekler; uzantıyı kapatmak ya da kaldırmak onu aynı yoldan çıkarır. Kendi opencode.json dosyanıza hiçbir şey yazılmaz, bu yüzden eklenti uzantıdan uzun yaşamaz ve terminalde başlattığınız OpenCode’da asla çalışmaz.

OpenChamber konuştuğu OpenCode’u başlatmadıysa ya da ortamınız kendi OPENCODE_CONFIG değerini ayarlıyorsa, OpenChamber’ın yapılandırması o OpenCode’a ulaşmaz. Uzantının ekranı bunu söyler ve Genel yapılandırmaya ekle seçeneğini sunar. Bu, eklentinin klasörünü genel OpenCode yapılandırmanıza yazar: artık bu bilgisayardaki her OpenCode’da, terminal dahil, çalışır; uzantı kapalıyken de açık kalır ve Ayarlar → Eklentiler altında yönetimi size aittir. Uzantıyı kaldırırsanız OpenCode bu kaydı başarısız bir eklenti olarak listeler ve siz kaydı orada silene kadar çalışmaya devam eder. Başka bir makinedeki OpenCode bu makinedeki bir klasörü yükleyemez; ekran bunu söyler.

VS Code ve mobil uygulama uzantı yüklemez. Yalıtılmış bir alandaki oturum kendi OpenCode’unu çalıştırır ve eklentiyi hiç almaz. Kurumsal modda eklenti yerel bir servis gibi sayılır: uzantı yalnızca yöneticinizin listelediği bir depodan kurulur.

Git sunucusu olarak bir uzantı

Bir uzantı GitHub, GitLab, Gitea, Forgejo ve Gerrit’in yanına bir Git sunucusu ekleyebilir. O zaman izin iletişim kutusunda sunucunun adını veren ve Git sunucusu olarak çalışır diyen bir satır bulunur. Aynı satır OpenChamber’ın ona ne gönderdiğini de söyler: depo adları, branch’ler ve yazdığınız issue ile pull request metinleri.

İzin verdiğinizde sunucu, Ayarlar → Entegrasyonlar içinde yerleşik sunucuların yanında kendi kartını alır. Hesabınızı orada bir jetonla, kart isterse sunucunun adresiyle de bağlayın. Bundan sonra remote’u o sunucuda olan bir proje diğerleri gibi çalışır: issue’ları ve pull request’leri Issue’lar ve PR’lar panosunda ve sohbetin + menüsünde görünür, branch’leri pull request rozetleri gösterir ve pull request’lerinden birinden worktree başlatabilirsiniz. Bunların her birinin ne yaptığı için bkz. Git sunucuları.

Jetonunuz OpenChamber’da kalır. Uzantı, sunucuyu kendisi adına çağırmasını OpenChamber’dan ister; OpenChamber jetonu her çağrıya yalnızca bağladığınız adres için ekler. Uzantı jetonu hiçbir zaman almaz.

Uzantıyı duraklatmak, siz yeniden açana kadar sunucuyu kaldırır; hesabınız kalır. Uzantıyı kaldırmak hesabı unutur. VS Code, uzantılardan gelen Git sunucularını göstermez.

OpenChamber SDK’sinde başlangıç için çalışan bir örnek var: examples/source-control-provider. Bkz. Uzantı geliştirme.

İzleyici olarak bir uzantı

Bir uzantı Linear’ın yanına bir iş öğesi izleyicisi ekleyebilir: YouTrack, Jira, Plane ya da kendi izleyicisi. O zaman izin iletişim kutusunda izleyicinin adıyla birlikte izleyicisi olarak çalışır diyen bir satır bulunur. Aynı satır OpenChamber’ın ona ne gönderdiğini de söyler: aramalarınız ve açtığınız öğeler; ayrıca sizin yerinize bunların durumunu değiştirmesinin ve oturum yorumları göndermesinin istendiğini.

İzin verdiğinizde izleyici, Ayarlar → Entegrasyonlar içinde Uzantı hesapları altında kendi kartını alır. Orada bir hesap bağlayın: bir jetonla ya da izleyiciye kaydettirdiğiniz uygulamanın client id’sini girdikten sonra tarayıcıda oturum açarak; kart isterse önce sunucunun adresini de girin. Bundan sonra öğeleri Linear’ınkilerin bulunduğu her yerdedir: sohbetin + menüsü ve seçici, New Worktree, bir oturumun bağlı öğeleri ve takip ettiğiniz öğelerin canlı durumları. Öğelerinden birine yapıştırılan bir bağlantı da aynı şekilde tanınır. Bunların her birinin ne yaptığı için bkz. Linear.

Jetonlarınız OpenChamber’da kalır. Uzantı, izleyiciyi kendisi adına çağırmasını OpenChamber’dan ister; OpenChamber kimlik bilgisini her çağrıya yalnızca bağladığınız sunucu için ekler. Uzantı onu hiçbir zaman almaz ve orada yalnızca durum değiştirme ile yorum çağrıları bir şey yazabilir.

Uzantıyı duraklatmak, siz yeniden açana kadar izleyiciyi kaldırır; hesaplarınız kalır. Uzantıyı kaldırmak hesapları unutur. VS Code izleyici göstermez; telefonda izleyicinin öğeleri görünür, hesaplar ise web ya da masaüstü uygulamasından bağlanır.

OpenChamber SDK’sinde çalışan bir örnek var: examples/tracker-provider, yanında çalıştırılacak sahte bir izleyiciyle birlikte. Bkz. Uzantı geliştirme.

Kullanım sağlayıcısı olarak bir uzantı

Bir uzantı, yerleşik sağlayıcıların yanına bir kullanım sağlayıcısı ekleyebilir: OpenChamber’ın kendisinin okumadığı bir sağlayıcı ya da uzantının kendi sağlayıcısı. İzin iletişim kutusunda o zaman Yerleşik bir sağlayıcı gibi kullanımı bildirir ile başlayan bir satır bulunur ve kimlik bilgilerini okuduğu OpenCode sağlayıcıları, örneğin openrouter, listelenir; hiçbirini listelemeyen bir uzantı bunu söyler.

İzin verdiğinizde kartı Ayarlar → Kullanım sayfasında yerleşik sağlayıcıların arkasında, uzantının adı ve simgesiyle durur; Çalışma durumunda göster seçeneğini işaretlediğinizde her yerleşik sağlayıcı gibi üst bilgideki hız sınırlarına, çalışma durumuna, telefondaki açılır pencereye ve masaüstü tepsisine katılır. Her yenilemede OpenChamber, listelenen her sağlayıcı için OpenCode’un sakladığı kimlik bilgisini uzantıya verir, başka hiçbir şey vermez; başka bir sağlayıcı listeleyen bir sürüm yeniden onayınızı ister. Kullanımı uzantı kendisi okur, OpenChamber ise onu yerleşik bir sağlayıcınınki gibi çizer.

Uzantıyı duraklatmak, siz yeniden açana kadar kartı kaldırır; onun için yaptığınız kullanım ayarları kalır. Uzantıyı kaldırmak kartı kalıcı olarak kaldırır. VS Code uzantılardan gelen kullanımı göstermez; telefonda kart görünür, uzantı ise web ya da masaüstü uygulamasından kurulur. Yalıtılmış bir alandaki oturum, kullanımı o alanın kendi sunucusundan okur ve orada uzantı yoktur.

OpenChamber SDK’sinde çalışan bir örnek var: examples/quota-provider, yanında çalıştırılacak sahte bir kullanım API’siyle birlikte. Bkz. Uzantı geliştirme.

Hesabını bağlama

Bir hizmetle konuşan uzantı, Ayarlar → Entegrasyonlar altında Uzantı hesapları bölümünde bir kart alır. Hizmete göre kart bir API jetonu, kullanıcı adı ve jeton ya da oturum açma akışı için bir client id ister. Bağlan seçeneğini seçin; Bağlantıyı kes kayıtlı jetonu unutur. Uzantının bildirdiği ek alanlar siz alandan çıkınca kendiliğinden kaydedilir.

Jeton OpenChamber sunucusunda kalır. Uzantının sayfası onu asla görmez.

Güncelleme

Bir git URL’sinden kurulan uzantılar kendini güncelleyebilir. Ayarlar → Uzantılar sayfasını açmak her birini en fazla saatte bir denetler; Güncellemeleri denetle hemen denetler. Daha yeni sürümü olan bir kartta Güncelleme var yazısı ve bir Güncelle düğmesi görünür. Güncelleme izinlerinizi, hesaplarınızı ve ayarlarınızı korur; yeni sürüm daha fazlasını isterse onay iletişim kutusu yeniden açılır. Klasörden ve zip’ten kurulumlar güncellenmez: bunları elle değiştirin.

Varsayılan dal yerine bir etiketi veya dalı izlemek için kurarken git URL’sine #v1.2.0 ya da #stable ekleyin.

Duraklatma veya kaldırma

Her kartta bir Etkin anahtarı vardır. Kapalıyken uzantı kurulu kalır ama paneli gizlenir ve çağrıları engellenir. Kaldır, zip ya da URL ile kurulanı OpenChamber’ın veri klasöründen siler; klasörden kurulumda yalnızca yolu unutur, klasörünüz yerinde kalır.

Kendi uzantınızı yapın

Bir uzantının yapabileceği her şey ve nasıl yapılacağı Uzantı oluşturma sayfasında.