İçeriğe atla
ColliePWA

14/Documentation

Yapılandırma

.env, kendi taksim işareti komutlarınız, tuşlar, hızlı yanıtlar, başlatıcılar ve yazı tipleri; görünüm, Zen modu, dil

Collie, varsayılan olarak yalnızca collie pair ile eşleştirdiğiniz bir cihaza yanıt verir. Eşleştirilmiş bir cihaz tam kontrole sahiptir; bu nedenle tailnet ağınızda URL'ye erişebilen herkesin önce eşleştirilmiş bir telefona ihtiyacı vardır. COLLIE_TRUSTED_USER olmadan köprü bir TRUSTED_USER uyarısı yazdırır; çünkü her tailnet oturumu eşleştirme ekranına erişebilir. Erişimi daha da kısıtlayın:

# in your .env
COLLIE_TRUSTED_USER=you@example.com           # your tailnet login — Collie rejects anyone else
COLLIE_PUBLIC_HOSTS=myhost.tail1234.ts.net    # only behind your OWN proxy; on a tailnet `collie
                                              # start` discovers this for you

Yapılandırma dosyası

Her Collie ayarı bir TOML dosyasına yazılabilir. Tüm ayarları ve varsayılanlarını içeren bir dosya oluşturun:

collie config init

Bu komut makinenin kendi bildirimi olan ~/.collie/config.toml dosyasını yazar ve yolu ekrana basar. İçindeki her anahtar yorum satırı yapılmıştır; dolayısıyla dosya bu haliyle hiçbir şeyi değiştirmez: bir anahtarın yorumunu kaldırın ve yeniden başlatın. Bu tek örnek için makine dosyasını geçersiz kılmak amacıyla .env yanına config.toml yazmak için bunun yerine collie config init --instance çalıştırın.

dosyakatmannasıl bulunur
~/.collie/config.tomlmakineev dizininiz veya COLLIE_CONFIG içindeki yol
<config-dir>/config.tomlörnekCLI'nın zaten çözümlediği .env yanında

Örnek dosyası dosya bazında değil, anahtar bazında önceliklidir: içinde bulunmayan bir anahtar, makine dosyasındaki değerini korur. config.<instance>.toml yoktur, çünkü Herdr tarafından yönetilen bir kurulumda yapılandırma dizini zaten örnek başınadır ve ikili kurulumda ~/.config/collie şeklindedir. Dolayısıyla tek bir ana makinedeki ikinci bir Collie, kendi ayarlarını kendi yapılandırma dizinine yazar, bkz. docs/deployment.md → Tek bir konakta birden fazla Collie. Proje dizini içindeki bir .collie/ ise hiçbir şekilde okunmaz.

Dosyayı üç eylem yönetir:

  1. collie config init, her ayarı ve varsayılanını içeren açıklamalı bir dosya yazar.
  2. collie config check, okunacak olan iki dosyayı veya belirttiğiniz tek bir dosyayı doğrular.
  3. collie config show, her iki yolu ve her ayarı değeriyle ve nereden geldiğiyle birlikte yazdırır.

Öncelik sırası varsayılan, ardından ~/.collie/config.toml, ardından <config-dir>/config.toml ve sonra .env değerinizi de içeren süreç ortamı şeklindedir. collie config show, her anahtar için kazananı tek seferde belirtir; böylece "yoklama aralığım neden hâlâ 1500" sorusu tek satırda yanıtlanır.

Bozuk bir anahtar köprüyü asla durdurmaz. Bilinmeyen bir anahtar veya yanlış bir tür, collie config check komutunun yazdırdığı ve collie doctor komutunun bildirdiği bir sorundur; yalnızca o anahtar ortamın belirttiği değere geri döner. Dosyadaki diğer tüm anahtarlar geçerliliğini korur.

Collie config.toml dosyasını yalnızca başlangıç sırasında okur. Dosyayı değiştirdikten sonra collie restart komutunu çalıştırın.

Not. [push] vapid_private veya [stt] stt_key içeren bir dosya, tıpkı .env dosyanızda olduğu gibi 600 modunda tutulur. Collie izinleri sıkılaştıramazsa, yalnızca bu anahtarlar yoksayılır ve collie doctor bunu bildirir.

Ortam yine de önceliklidir

Collie yapılandırmayı ~/.config/collie dizinindeki bir .env dosyasından yükler. Kurulumu Herdr yönetiyorsa CLI, eklenti yapılandırma dizini için Herdr'a sorgu atar (genellikle ~/.config/herdr/plugins/config/herdr.collie). Her iki yol da CLI komutları genelinde tutarlı şekilde çözümlenir, böylece servis burada oluşturulan dosyayı okur:

mkdir -p ~/.config/collie && cp .env.example ~/.config/collie/.env

# on a Herdr-managed install, seed Herdr's plugin config dir instead:
cp .env.example "$(herdr plugin config-dir herdr.collie)/.env"

Aşağıdaki yollar ~/.config/collie/… kullanır. Herdr tarafından yönetilen bir kurulumda bu önek yerine $(herdr plugin config-dir herdr.collie) kullanın.

Collie .env dosyasını yalnızca başlangıç sırasında okur. Dosyayı değiştirdikten sonra collie restart komutunu çalıştırın.

.env.example dosyası tüm seçenekleri listeler, collie config init --print de öyle.

Bu dosya COLLIE_PORT, COLLIE_SERVE_MODE=http (Headscale veya .internal alan adları için) ve COLLIE_SERVE_PORT (HTTPS'i :443 dışındaki bir bağlantı noktasından sunmak için; bkz. docs/deployment.md → Tek bir konakta birden fazla Collie) içerir. CLI, sunma parametrelerini köprüye iletmek yerine tailscale serve yapılandırması için okur.

Her bölümün içerdikleri

Yapılandırma dosyası her ayarı bir [section] altında gruplar. Bir anahtarın ortam adı, COLLIE_ ile anahtarın büyük harflerle yazılmış halinin birleşimidir; yani [bridge] poll_ms, COLLIE_POLL_MS olur.

bölümiçerdikleri
bridgeyoklama sıklığı, kaç satırın okunduğu, durumun nerede tutulduğu
networkbağlantı noktası, bağlama adresi, izin verilen ana makineler ve kaynaklar
muxbu collie'nin hangi çoklayıcıyı yansıttığı ve nerede bulunduğu
accessTailscale kimlik denetimi, cihaz başlığı, denetim kaydı, gizli bilgi maskesi
pushüç Web Push (VAPID) değeri
uploadsek boyutu sınırı ve kabul edilen ek metin türleri
journalher test ortamının kendi oturum günlüğünü nerede tuttuğu
crewbir liderin bir üyeye verdiği bütçeler ve bir eşin kendi tarayıcısı
standbydeputy'nin ikinci kapısı: bağlantı noktası, bağlama adresi, devreye alma
updatesürümlerin nereden geldiği, kaç sürümün tutulduğu, sürüm denetimi için bir GitHub belirteci
serveCollie'nin ön kapıyı yayımlayıp yayımlamadığı, ne üzerinde ve hangi yol altında yayımladığı (base_path)

Bir Collie'nin çoğullayıcısının yanında çalıştırdığı durable agent'lar config.toml içinde yer almaz. Her biri, .env ile aynı klasörde bulunan sources.json içindeki bir girdidir (Dayanıklı aracılar). | stt | konuşmayı metne dönüştürme, collie stt setup çalışana kadar mevcut değildir |

Birden fazla ajan ev dizininden geçmişi okumak için COLLIE_TRANSCRIPT_ROOT içinde virgülle ayrılmış bir liste belirtin.

docs/deployment.md özel alan adlarını ve ters proxy'leri kapsar. Collie aynı köken politikasını zorunlu kılar; bu nedenle her özel ana bilgisayar adı veya harici TLS sonlandırıcısı açıkça izin verilenler listesine eklenmelidir:

COLLIE_ALLOWED_ORIGINS=https://collie.example.com

Bu ayar olmadan kullanıcı arayüzü boş bir sayfa olarak yüklenir. Ayrıntılar için Sorun giderme bölümüne bakın.

Kendi bölü işareti komutlarınız

Herdr eklentisi /fork-in-herdr veya özel bir /deploy gibi makineye özgü komutları commands.toml içine yerleştirin. Bu, aynı okuyucuyu ve yükleme modelini paylaşan altı yapılandırma dosyasından biridir:

dosyakapsamconfirm/danger bayrağıcanlı yeniden yükleme
commands.tomlisteğe bağlı, satır başınaconfirm = trueevet, yeniden başlatma gerekmez
keys.tomlisteğe bağlı, satır başınadanger = trueevet, yeniden başlatma gerekmez
quick-replies.tomlisteğe bağlı, satır başınayokevet, yeniden başlatma gerekmez
theme.tomlyok, yazı tipleri bir cihaz ayarıdıryokevet, sonraki sayfa yenilemesinde
launchers.tomlyok, bunun yerine tam komutla eşleşir; [phone] bir telefonun eklediği satırları değiştiriryokevet, ancak açık olan bir sekme satırları yalnızca bir sonraki yüklemesinde yeniden okur
cache-rules.tomlyok, bunun yerine tam kural kimliğiyle eşleştirildiyokevet, yeniden başlatma gerekmez

Bu dosyalar yapılandırma dosyasından etkilenmez. config.toml örneğinin dizinini paylaşırlar, kendi biçimlerini ve kendi canlı yeniden yüklemelerini korurlar ve hiçbir şey onları bununla birleştirmez.

Bayrağın ayarlandığı herhangi bir satır, tetiklenmeden önce iki dokunuşlu bir onay gerektirir. Bu dosyalardan herhangi birinde yapılan düzenlemeler, servis yeniden başlatılmadan geçerli olur. Collie bir satırı reddederse journalctl --user -u collie -n 20 satır numarasını ve hatayı yazdırır.

cp commands.toml.example ~/.config/collie/commands.toml
[[commands]]
scope = "omp"                # optional; omit for every pane
command = "/fork-in-herdr"
description = "Fork this conversation into a new herdr tab"

[[commands]]
scope = "claude"
command = "/statusline"
description = "Set the status line"
bar = true
bar_label = "Status"

Yapılandırılan satırlarınızla eşleşen bir bölme yalnızca o satırları görüntüler. ADR 0018 belgesinde açıklandığı gibi en dar kapsamlı satır öncelik kazanır.

Doğrulamak için bir bölme açın ve / tuşuna dokunun; satırlarınız ilk ekranda görünür.

Bir komutu eylemler satırına yerleştirme

bar = true ayrıca bu satırı klavyenin üzerindeki tek düğme satırı olan eylemler satırına da yerleştirir. Bir çubuk satırı yine de sıradan bir palet satırıdır, dolayısıyla her iki yüzeyde de görünür. bar_label düğmenin metnidir ve varsayılan olarak eğik çizgi olmadan komut adını alır.

Eylemler satırı bir şerittir; klavyenin hemen üzerinde tam genişlikte tek bir banttır. Collie'nin kendi denetimleri doğrudan bu bandın üzerinde yer alır: Keys, Type, Quick, Agent ve ekran dişlisi. Çalışan harness'ın kendi komutları, hangi düğmelerin aracıya yazdığını bir bakışta görebilmeniz için harness'ın marka rengiyle renklendirilmiş bir bölümde bunların yanında durur. Yana doğru sürükleme şeridi kaydırır; hiçbir şey dışarıda bırakılmaz.

Her harness kendi düğmelerini şu sırayla sunar:

HarnessDüğmeler
Claude CodeModel, Effort, Compact, Resume
CodexModel, Compact, Resume
piModel, Compact, Tree, Resume
ompModel, Compact, Tree, Resume
opencodeModel, Compact, Resume
Grok BuildModel, Compact, Resume
Muse CodeModel, Effort, Compact, Resume
Antigravity (agy)Model, Compact, Resume

Codex, Grok ve Antigravity üzerinde Effort düğmesi yoktur; çünkü bunların /model seçicisi akıl yürütme eforunu da ayarlar. Grok içindeki yalın bir /effort, hiçbir seçici açmaz.

pi ve opencode için bir efor komutu yoktur. pi bu ayarı tuş takımının işlevsel biçimde denetleyemediği bir kalıcı pencere olan /settings içinde tutar; opencode ise varyantları arasında bir tuşla geçiş yapar.

opencode iki düğmeyi kendine özgü şekilde adlandırır: Model /models gönderir ve Resume /sessions gönderir. Compact seçeneği oturum bir sırayı içerdikten sonra çalışır; çünkü opencode /compact seçeneğini yalnızca o zaman sunar.

omp'nin Tree düğmesi Compact ile Resume arasında yer alır. Aynada omp'nin kendi oturum ağacını açar; bu, oturumdaki herhangi bir önceki noktaya atlayan bir seçicidir. Aynı komut, /tree, omp'nin komut paletinde de bulunur.

Her harness düğmesi komutunu yalın olarak gönderir. Model, /model komutunu gönderir ve bölmede aracının kendi model seçicisi kontrolü devralır. Collie hiçbir model adı listesi tutmaz; çünkü bu liste harness'a aittir ve bize bildirilmeden değişir. Effort da aynı şekilde çalışır.

Çubuk satırlarınız, hitap ettikleri bölmeler için sağlanan harness bölümünün yerini alır ve diğer her yerde olduğu gibi bırakır. Agent paleti ayrı bir yüzeydir ve bir çubuk satırı onu asla boşaltmaz (ADR 0043).

12 karakterden uzun bir bar_label kısaltılır ve düğme yine de görünür. true veya false olmayan bir bar, tıpkı hatalı bir confirm gibi o satırı yok sayar.

Satır, komut paletinde olduğu gibi aracı meşgulken de gönderilir. Onay işareti yalnızca bölme metni aldığında görünür.

Şeridin sağ ucunda bir Switch düğmesi bulunur ve bölme değiştiriciyi açar. Yalnızca katmanlar simgesini ince bir çizginin arkasında çizer ve herhangi bir sözcük içermez. Şeridin herhangi bir yerinde yukarı doğru sürükleme de aynı değiştiriciyi açar. Yana doğru sürükleme ise şeridi kaydırır.

Files düğmesinin solundaki aracılar işareti bölmenin çalışan alt aracılarını sayar. Omp ve Gentle Shell için, yalnızca bölmenin Chat görünümü bir telefonda açıkken arka plan işlerini sayar; Screen görünümü bunları saymaz.

Metin kutusunda metin veya ek varken kemerin sağ ucunda, Değiştir düğmesinin solunda bir X simgesi de yer alır. Tek dokunuş kutuyu ve kaydedilen taslağını boşaltır, bölmeye hiçbir şey göndermez. X simgesi ardından Geri Al olur; bu da metni ve ekleri geri getirir. Geri Al simgesi bir sonraki eyleminize kadar kalır: bir tuşa basma, bir ek, bir gönderme, başka bir kemer düğmesine dokunma veya bölmeden ayrılma. Kemeri kaydırmak simgeyi korur.

Solak mısınız? Ayarlar → Görünüm → El değerini Sol olarak ayarlayın. Kemer yön değiştirir: Geçiş düğmesi ve X sol uca, yine Gönder'in üzerine taşınır ve Tuşlar en sağdaki düğme haline gelir; geri kalanı ise sola doğru kayar. Gönder ve Ekle, yanıt kutusunun soluna taşınır. Ayar cihaz bazlıdır ve bir bölmeyi bir sonraki açışınızda uygulanır.

Doğrulamak için Claude Code, Codex, pi veya omp çalıştıran bir bölme açın; renkli bölüm klavyenin üstündeki satırın sağında yer alır. Bu bölümü Ayarlar → Görünüm → Harness kısayolları içinden cihaz bazında kapatabilirsiniz; Collie'nin kendi denetimleri kalır.

Bir sırayı durdurun

Bir Durdur düğmesi, Collie'nin diğer düğmelerinden önce bandın başında yer alır; böylece kaydırma yapmadan görünür. Koşum profili bir durdurma tuşu belirten her ajan için orada bulunur ve hiçbir şey çalışmıyorken soluklaşır. Yerini ve boyutunu korur; böylece bir sıra başladığında veya bittiğinde diğer düğmeler asla hareket etmez. Soluk düğmeye dokunmak hiçbir şey yapmaz ve hiçbir şey göndermez. Durdurma tuşu olmayan bir ajanın düğmesi yoktur. Stop hiçbir şey yazmaz ve ileti göndermez. Ajanın kendi durdurma tuşuna bir kez basar ve ne olduğunu size bildirir.

Bir Stop için iki dokunuş gerekir. İlk dokunuş düğmeyi kurar: sözcük Stop? olarak değişir ve düğme boyutunu korur. Sırayı durdurmak için dört saniye içinde düğmeye tekrar dokunun. 0,4 saniye içinde anında gelen ikinci bir dokunuş aynı temas sayılır ve yok sayılır. Beklerseniz kurulum süresi dolar ve hiçbir şeye basılmaz. Başka bir bölme açtığınızda da kurulum süresi dolar ve sıra bittiğinde düğme soluklaşır. İkinci dokunuş işlenirken düğme başka dokunuş kabul etmez; bu nedenle hızlı bir üçüncü dokunuş ikinci bir Stop basamaz.

Bir sırayı hangi tuşun durduracağı koşumun kendi seçimidir ve bu bilgi koşum profilinde tutulur. Çoğu ajan Escape ile, bazıları Ctrl+C ile durur ve bazıları iki kez Escape gerektirir. Bu sayfaya değil, profile bağlıdır.

Tuş iletildikten sonra Collie ekranı üç saniyeye kadar tekrar okur ve kutunun altında size üç durumdan birini bildirir:

ReceiptAnlamı
Durduruldu.Tuş iletildi ve art arda iki okuma sıranın bittiğini gösteriyor. Kutu serbest.
Stop gönderildi. Ajan hâlâ meşgul görünüyor.Tuş iletildi, ancak Collie art arda iki okumada sıranın bittiğini görmedi. Biraz bekleyin, ardından gerekirse Stop düğmesine tekrar dokunun.
Bir retHiçbir şeye basılmadı. Cümle nedenini belirtir.

Durdurma tuşu bunun yerine bir iletişim kutusu açtıysa Collie bunu belirtir ve sizi kartına yönlendirir.

Aralarında OMP'nin de bulunduğu bazı aracılar, turu durdurduğunuzda kuyruğa alınmış bir mesajı giriş kutusuna geri koyar. Collie bunu tuşun hemen ardından orada gördüğünde makbuz bunu belirtir, örneğin "Durduruldu. Kuyruğa alınan 1 mesaj aracıya taslak olarak geri döndü." Chat içinde mesaj bir Kutuya geri döndü kartına taşınır. Birlikte geri gelen mesajlar tek bir kartı paylaşır.

Kartın iki düğmesi vardır ve ikisi de önce kutuyu tekrar okur. Send taslağı yalnızca tur boşta olduğunda ve kutuda tam olarak o metin bulunduğunda gönderir. Discard kutuyu yalnızca hala bu metni içeriyorsa boşaltır; değiştirdiyseniz Discard kartı kaldırır ve hiçbir şeye basmaz. Taslak dururken yeni bir mesaj reddedilir ve ret sizi karta yönlendirir.

Basmak zarar verebilecekse Collie basmadan önce işlemi reddeder:

  • Bir iletişim kutusu açık. Escape bu iletişim kutusunu yanıtlardı. Bunun yerine kartı üzerinden yanıtlayın.
  • Kutu metninizi içeriyor ve bu koşumun durdurma tuşu metni temizler. Kutuyu temizleyin veya Keys panosundaki Clear düğmesini kullanın, ardından Stop düğmesine tekrar dokunun.
  • Collie bu bölmeyi okuyamıyor. Okuyamadığı bir ekrana tuş basmaz. Bu, Collie'nin bir sıranın çalışıp çalışmadığını anlayamadığı ekranları da kapsar.
  • Sıra zaten sona ermişti. Durdurulacak bir şey yoktu, bu nedenle hiçbir şeye basılmadı.
  • Bu makine henüz telefondan durdurma yapamıyor. Bir crew genelinde, bölmeyi çalıştıran makinede daha eski bir Collie bulunuyor. Güncelleyin, ardından durdurun.

Bir crew makinesinden zamanında yanıt gelmezse Collie bunu bildirir. Stop iletilmiş olabilir, bu nedenle Stop düğmesine tekrar dokunmadan önce bölmeyi kontrol edin.

Bir Stop her zaman sizin dokunuşunuzdur. Bir walky talky iletisi, bir hook, komut satırı ve kuyruğa alınmış bir eylem buna asla basmaz. Bir crew üzerinde, bölmeyi çalıştıran makine tuşa basar, ekranı okur ve makbuzu lead üzerinden geri gönderir.

Kalıcı bir agent olarak çalışan bir program, zaten sahip olduğu Stop seçeneğini korur. Kendi dekontuyla, belirttiği turu durdurur ve arm kullanmaz.

Kutuyu temizleyin

Keys panosundaki çip satırının sonunda bulunan Temizle düğmesi, koşum takımının giriş kutusunu tek bir dokunuşla, arm olmadan boşaltır. Collie, koşum takımının kendi silme tuşuna metnin gerektirdiği sıklıkta basar, kutuyu tekrar okur ve kutunun temizlenip temizlenmediğini veya neden temizlenemediğini kemerin üzerindeki bir bildirimde bildirir. Kutu boşken, bir iletişim kutusu açıkken veya bağlantı kesildiğinde düğme grileşir; kutu boşalmazsa Collie kalanı olduğu gibi bırakır ve tekrar basmaz.

Bir Temizle işleminden sonra bildirim iki dakika boyunca Geri yükle seçeneğini sunar. Tek bir dokunuş metni kutuya tek satır halinde ve Enter olmadan geri yazar, bu nedenle hiçbir şey gönderilmez. Kutuda tekrar yazdığınızda veya başka bir bölme açtığınızda Restore kaybolur. Köprü, temizlenen metni Temizle dekontuyla birlikte bellekte tutar ve hiçbir zaman bir günlüğe veya diske yazmaz.

Kendi tuş önayarlarınız

Keys çekmecesinin Önayarlar satırını, commands.toml yanında bulunan keys.toml içinde değiştirebilirsiniz:

cp keys.toml.example ~/.config/collie/keys.toml
[[keys]]
scope = "claude"             # optional; omit for every pane
label = "Yes"
keys = ["Down", "Enter"]     # several chords go out as one batch

Bir bölme tanımlı satırlarınızla eşleştiğinde, varsayılan Ctrl C/D/U/R/L/Z düğmeleri yerine yalnızca ön ayarlarınızı görüntüler (ADR 0018). Bu satırlar operatör olarak sizindir ve her telefona ulaşır. Üzerlerindeki tuş takımı (Esc, oklar, Enter/Tab/Space, niteleyiciler) burada ayarlanmaz: her telefon kendisininkini düzenler, sonraki bölüme bakın.

Akorlar tmux sözdizimini değil, herdr sözdizimini kullanır:

tuşakordestekleniyor mu?
Ctrl+Cctrl+c (C-c değil)evet
Shift+Tabshift+tabevet
Ctrl+F7ctrl+F7evet
Page Up—hayır
Home—hayır
End—hayır
Delete—hayır

Doğrulamak için bir bölme açın ve yeni düğmeleri görmek için Keys → Presets ögesine dokunun. Collie bir satırı reddederse hata ayrıntıları için journalctl --user -u collie -n 20 dosyasını kontrol edin.

Kendi tuş takımınız

Keys panelini yeniden düzenleyebilirsiniz. Tuşlar ögesini açın ve etiketin yanındaki kaleme dokunun:

  1. Tuşlar yanındaki kaleme dokunun. Bölmenin üzerinde uzun bir sayfa açılır.
  2. Bir tuşu başka bir yere sürükleyin veya tuşa dokunup dört ok düğmesini kullanın.
  3. Boş bir hücreye tuş eklemek için kesikli + simgesine dokunun veya bir tuş seçip Değiştir ya da Kaldır düğmesine dokunun.

Panel 7 sütunluk bir ızgaradır. Bir tuş tek bir hücrede yer alır; daha geniş (1, 2 veya 3 sütun) ve daha uzun (1 veya 2 satır) olabilir. Boyutlandırmak için bir tuş seçip Genişlik veya Yükseklik düğmesine dokunun. Tuş sağa ve aşağıya doğru genişler. Başka bir tuşun üzerini kapatacak veya panelin dışına taşacak bir boyut sönük görünür; buna dokunduğunuzda hangi tuşun engel olduğu belirtilir. Collie sizin yerinize ikinci bir tuşu asla taşımaz. Satır ekle en alta, sekize kadar yeni satır ekler. Değişiklikler dock üzerinde anında görünür. Collie panelinizi bu tarayıcıda tutar; bu nedenle siz bir yerleşimi paylaşana kadar farklı bir tarayıcı varsayılan panel ile başlar. Varsayılan panel, Boşluk tuşunun üç hücre genişliğinde ve Enter tuşunun ikinci satırın sol ucunda olduğu önceki panelinizdir:

Esc    Tab    Shift  Ctrl   Alt    Up     ^C
Enter  Space (3 wide)        Left   Down   Right

Bir tuşu sürüklemek tüm alanını taşır. Tuşu aynı boyuttaki bir tuşun üzerine bıraktığınızda ikisi yer değiştirir. Engel oluşturan başka bir şeyin üzerine bıraktığınızda hedef dış çizgisi gri ve kesikli çizgiye döner, bir satırda hangi tuşun engel olduğu yazar ve tuş eski yerine döner. Bir ok düğmesi, yoldaki tuşları atlar ve tuşun sığdığı bir sonraki yerde durur; sığacak yer yoksa devre dışı kalır.

Bir tuş en fazla üç niteleyici ve bir tuştan oluşan bir kombinasyon gönderir; örneğin Ctrl+Alt+Shift+T. Ayrıca en fazla dört adımdan oluşan kısa bir dizi de gönderebilir; örneğin Ctrl+B ve ardından C. Bir dizi tek bir çağrı olarak sırayla iletilir. Tuş oluşturucuda bunlar için Karakter, Adlandırılmış veya F tuşları seçin. Varsayılan paneldekiler gibi yapışkan bir Ctrl, Alt veya Shift tuşu oluşturmak için Niteleyici seçin: sonraki tuşu hazırlamak için bir kez dokunun, basılı tutmak için tekrar dokunun, bırakmak için üçüncü kez dokunun. Bir niteleyici tuş tek başına durur; bu nedenle adımları ve adı yoktur. Her tuş yerleşik tuşlarla aynı yolu izler: bölme kilitliyken veya çevrimdışıyken bekler, bir programı durdurabilecek bir tuş (Ctrl+D, Ctrl+Z veya Ctrl+C içeren bir dizi) ikinci bir dokunma ister ve çoklayıcınızın gönderemediği bir tuş gri görünür.

Controlİşlevi
ÖnayarlarVarsayılan, Claude Code, Önek (Ctrl+B), Vim, Gezinme. Her biri bir önizleme gösterir ve panelinizi değiştirmeden önce onay ister.
Paylaş: Yerleşimi kopyalaPanoya kısa bir kod kopyalar. Düz http üzerinde kodu seçin ve elle kopyalayın.
Paylaş: Yerleşimi içe aktarBirinin paylaştığı yerleşim kodunu yapıştırın. Collie kodu denetler, önizleme gösterir ve uygulamadan önce onay ister.
Varsayılana sıfırlaBir önizlemenin ardından orijinal paneli geri getirir.

Daha önceki sürümlerden gelen kodlar, her tuş bir hücre olacak şekilde içe aktarılmaya devam eder. Panelinizde Esc, Enter veya bir ok tuşu yoksa, Geri koy ile birlikte bunu belirten sessiz bir satır görünür. Önek (Ctrl+B) önayarı Ctrl+B önekini gönderir, bu sayede bölme içinde çalışan bir tmux ile uyumludur. Gezinme önayarında Herdr tarafından gönderilemeyen Home, End, PgUp ve PgDn bulunur; bu nedenle Herdr bölmesinde gri renktedirler (ADR 0092).

Kendi hızlı yanıtlarınız

quick-replies.toml içindeki Hızlı dock ifadelerini özelleştirebilirsiniz:

cp quick-replies.toml.example ~/.config/collie/quick-replies.toml
[[replies]]
scope = "claude"             # optional; omit for every pane
title = "confirm"
items = ["yes", "no"]        # sent verbatim, one per button

Bir bölme kurallarınızla eşleştiğinde, gruplarınız varsayılanların (ADR 0018) yerini alır. Varsayılan ifadeler İngilizcedir (yes, commit and push, drastically simplify).

Farklı dillerde çalıştırmak veya belirli koşumlara approve gibi sözcükler göndermek için bu dosyayı kullanın. scope = "shell" ayarı, aksi takdirde yalnızca y/n alan standart kabuk bölmelerini hedefler.

Doğrulamak için bir bölme açın ve gruplarınızı görmek için Hızlı ögesine dokunun. Bir satır yüklenemezse journalctl --user -u collie -n 20 hatayı yazdırır.

Kendi başlatıcılarınız

Tek bir dokunuş, tanımladığınız bir komutu keys.toml yanında launchers.toml içinde çalıştırır:

cp launchers.toml.example ~/.config/collie/launchers.toml
[[launchers]]
command = "htop"             # required; the shell line, typed verbatim into the fresh shell
label = "Top"                # optional; defaults to the first word of command
# cwd = "~/dev/collie"       # optional; absent means "here" — see below

Satırın nerede açılacağı satırın kendisine değil, onu nereden başlattığınıza bağlıdır. Yeni sayfa üzerinden (Shell, ardından Command seçimindeki satır), Start klasörünün adını taşıyan yeni bir Space oluşturur ve sekme satırın etiketiyle adlandırılır. bölme üzerinden (yukarı kaydırarak eriştiğiniz geçiş sayfası), dokunulduğunda hemen yanında satırın adını taşıyan yeni bir o bölmenin kendi Space alanı içindeki sekme açılır.

Her iki durumda da köprü, yeni kabuğa command yazar ve Enter gönderir. Komut kendi yaşam döngüsünü yönetir: kendi kendine kapanan bir komut Space'i veya sekmeyi de beraberinde kapatır; htop ise siz çıkış yapana kadar kalır.

cwd, bu yeni Space veya sekmenin açılacağı yerdir. Bir satıra sabit bir dizin atarsanız (yukarıda htop değerinin yaptığı gibi), satıra nerede dokunursanız dokunun bu geçerli olur.

Belirtmezseniz "burası" anlamına gelir: kontrol paneli bunu ev dizininizde açar, bir bölme ise o bölmenin kendi çalışma dizininde (cwd) açar; böylece cwd içermeyen bir satır, her zaman belirli bir dizinin en üstüne yerleşmek yerine checkout'larınız boyunca sizi takip eder.

Bu dosya ve bir telefondan eklenen satırlar (aşağıda) izin verilenler listesidir. POST /api/launch yalnızca bu satırlardan biriyle tam olarak eşleşen bir command, makinenin kendi listesinden bir ajan kimliği (makine bu ajanın komutunu kendisi yazar) veya düz bir kabuk kabul eder. Değişiklikler yeniden başlatma gerekmeden hemen uygulanır, ancak zaten açık olan bir sekme satırları yalnızca bir sonraki yüklemesinde yeniden okur.

İki isteğe bağlı anahtar, telefona bir satır hakkında daha fazla bilgi verir:

[[launchers]]
command = "claude-danger"
label = "Claude Code, no prompts"
# The agent that reads the row: it is listed under Agent with that agent's mark.
harness = "claude"
# The line skips permission prompts, but an alias hides its flags.
no_prompts = true

Satırlarınız üç yerde görünür:

  • Yeni sayfasında (kontrol panelinde + Yeni öğesine dokunun). Üstteki anahtar Aracı | Kabuk şeklinde görünür. harness içeren bir satır Aracı seçimindedir. harness içermeyen bir satır ise Komut seçimindedir; bu da Kabuk altındaki seçimdir.
  • Kontrol panelindeki Başlat bölümünde. Spaces gibi katlanır.
  • Geçiş sayfasındaki Başlat bölümünde (bir bölmeden yukarı kaydırın).

Yeni sayfasında, çalışma dizini (cwd) olmayan bir satır orada belirttiğiniz klasörde çalışır; sabit bir klasörü olan satır ise alanın yerine o klasörü gösterir. Bir satır hiçbir zaman bir worktree içinde başlamaz; bunun için bir ajan veya Shell seçin. Sabit klasörü olan bir satır, bu klasörü home altında kısaltılmış olarak gösterir; çalışma dizini olmayan bir satır geçiş aracında "here" yazar (kontrol paneli zaten home dizinini varsayar, bu nedenle orada hiçbir şey yazmaz). Hiçbir satır tanımlamazsanız iki bölüm de görünmez.

Bir ekipte (birden fazla makine, telefona bakan tek bir lider), her makine bu dosyanın kendi kopyasını okur; bir satır, lider üzerinde değil, satırına dokunduğunuz makinenin kontrol panelinde veya bölmesinde başlatılır.

New sayfasındaki Aracı seçimi Collie'nin kendi listesidir: Claude Code, Codex, opencode, pi, omp, Grok, Hermes, Kiro, Muse ve Antigravity. Kiro, araç izinleri ayarladığınız şekilde bırakılarak başlar. Makinenin oturum açma PATH içinde yer almayan bir agent listede kalır, devre dışı bırakılır ve "not installed" olarak işaretlenir. Başka bir terminal agent için yukarıdaki gibi bir satır bildirin: Kabuk altındaki Komut seçiminde görünür, herhangi bir komut gibi bir bölmede başlar ve Collie bunun için hiçbir durum göstermez.

Doğrulamak için kontrol panelini yeniden yükleyin ve herd altına bakın. Bir satır yüklenemezse journalctl --user -u collie -n 20 hatayı yazdırır.

Bir telefondan eklenen başlatıcılar

Bir telefon, bir makinede kendi satırlarını ekleyebilir. Bunlar o makinenin durum klasöründe, launchers-added.json içinde tutulur, hiçbir zaman launchers.toml içinde yer almaz ve asla başka bir makineye kopyalanmaz.

Yeni sayfasında, Aracı seçiminin veya Komut seçiminin altındaki Kendinizinkini ekleyin öğesine dokunun. Orada seçilen makine için /new/add sayfasını açar. Üst kısımdan Aracı veya Komut seçeneğini belirleyin. Bir ajanın iki yolu vardır: bir tarif (bir harness, seçenek çipleri ve Collie'nin yazacağı tam satır) ve Bir komut yazın. Bir komut satırı her zaman elle yazılır. Ekle, yeni satır seçilmiş olarak Yeni sayfasına geri döner. Formun altında Bu makinede eklendi, bir telefonun oraya eklediği her satırı Yeniden adlandır ve Kaldır ile listeler; launchers.toml kaynaklı satırları ise bir kilit ile ve işlem olmadan listeler. Ekleme işlemi nasıl çalışır, bu makinenin launchers.toml yolunu ve kopyalayabileceğiniz örnek bir satırı içeren kısa bir açıklama açar.

[phone]
adds = true          # default true: a phone may add rows built from a recipe
free_text = false    # default false: a phone may also add a line typed by hand
run = true           # default true: a phone may run a one-off command, and run it again from history

[phone] tablosunu launchers.toml içinde herhangi bir yere koyun. true veya false olmayan bir değer false olarak okunur. Köprü, anahtarları zorunlu kılar: reddedilen bir ekleme hiçbir şeyi değiştirmez ve bir anahtarın kapattığı bir satır derhal başlamayı durdurur. Satır dosyada kalır, bu nedenle anahtarı yeniden açmak satırı geri yükler.

Bir tarif, bir ajan ile köprünün kendi tablosundan gelen seçenek çiplerinin birleşimidir; örneğin Claude Code ve "İzin istemlerini atla". Telefon yalnızca kimlikleri gönderir ve satırı köprü oluşturur. Her çip, ilgili ajanın kendi --help üzerinden okunmuştur:

AracıSeçenekEkler
Claude Codeİzin istemlerini atla--dangerously-skip-permissions
Claude CodePlan modu--permission-mode plan
Claude CodeModel: opus, Model: sonnet--model opus, --model sonnet
Claude CodeSonrakine devam et--continue
CodexOnayları ve sandbox'ı atla--dangerously-bypass-approvals-and-sandbox
CodexAsla sorma--ask-for-approval never
CodexSalt okunur sandbox, Web araması--sandbox read-only, --search
opencodeOtomatik onayla, Planlayıcı ajan, Sonuncuyu sürdür--auto, --agent plan, --continue
piSonuncuyu sürdür, Düşünme: yüksek--continue, --thinking high
ompSonuncuyu sürdür, Düşünme: yüksek--continue, --thinking=high

claude-danger gibi bir takma ad veya yalın bir htop gibi bir serbest satır, yalnızca free_text = true ile mümkündür. O olmadan Bir komut yazın, makinede "Kapatıldı" şeklinde devre dışı bırakılmış tek bir satır gösterir ve Ekle kapalı kalır. O varken Satırı kontrol edin, Ekle açılmadan önce her gizli karakteri kendi koduyla (örneğin ⟨U+200B⟩) yazılmış olarak satırı gösterir. En fazla 200 karakterdir; köprü, hem eklendiğinde hem de her okunduğunda içinde bir kontrol karakterini, bir satır veya paragraf ayırıcısını ve bir bidi denetimini reddeder.

Bir makine en fazla 20 eklenmiş satır tutar. Bir satır launchers.toml içindeki bir satırla aynı satıra sahipse, launchers.toml içindeki satır önceliklidir. Eklenen her satır, kendisini ekleyen eşleşmiş cihazı kaydeder. Bu cihazın yetkisini kaldırmak, satırlarını telefondan veya collie devices revoke ile kaldırır; denetim günlüğü ise her ekleme, yeniden adlandırma ve kaldırma işlemini kaydeder.

Dikkat. İzin istemlerini atlayan bir satır "İstemsiz" rozeti taşır. Her cihaz, o satırı ilk kez başlatmadan önce bir defa sorar; komutu, klasörü ve makineyi gösterir. Bir makinede telefonla eklenen her satırı kapatmak için adds = false değerini ayarlayın.

Bir durable agent'a erişme (deneysel)

Bir Collie'nin terminalinin yanında çalıştırdığı her durable agent, collie durable attach tarafından yazılan sources.json içindeki bir girdidir (Dayanıklı aracılar). Aşağıdaki ilk üç değişken, default adlı tek bir durable agent'ı yöneten yalnızca durable içeren bir örnek (COLLIE_MUX=durable) için eski biçimdir. Soketi veya belirteciyle birlikte URL'yi ayarlayın, asla ikisini birden ayarlamayın.

değişkenörnekanlamı
COLLIE_DURABLE_SOCKET/run/user/1000/durable/session.sockbu makinedeki durable agent'ın özel Unix soketi. Mutlak, en fazla 103 bayt, 0600 modu
COLLIE_DURABLE_URLhttps://durable-member.example.comTLS arkasında dağıttığınız bir durable agent'ın adresi. Yalnızca https:// veya bu makinedeki bir durable agent için http://127.0.0.1:<port>. En fazla 2048 bayt, sorgu dizesi yok
COLLIE_DURABLE_TOKENyour-32-byte-random-token-hereURL'ye yapılan her istekle birlikte gönderilen taşıyıcı belirteç (bearer token). En az 32 bayt. Bu belirteci tutan dosya 600 modunda olmalıdır ve Collie bunu asla ekrana yazdırmaz
COLLIE_PROGRAMSoffdurable agent'lar için acil kapatma anahtarı. Köprü sources.json değerini yoksayar, tek bir satır günlüğe kaydeder ve hiçbir durable agent kaydetmez, bu nedenle telefon hiçbir Durable agents bölümü göstermez. collie doctor ve collie durable list, durable agent'ların kapalı olduğunu belirtir. Bunları geri getirmek için ayarı kaldırın ve ardından collie restart uygulayın. Yukarıdaki env biçimini kapatmaz

İkisinin de ayarlanması, belirteç olmadan bir URL veya URL olmadan bir belirteç yapılandırma hatasıdır: örnek başlar ve durable agent'ı bu nedenle ulaşılamaz olarak gösterir. https üzerinden her yoklama ücretlendirilen bir istektir; bu nedenle Collie, bir telefon izlerken her 2 saniyede bir, aksi takdirde her 10 saniyede bir yoklama yapar. Dayanıklı aracılar, her yöntemin neleri dışarıda tuttuğunu ve neleri tutmadığını belirtir.

Kalıcı bir ajandan başlatıcılar (deneysel)

Kalıcı bir ajan, başlatıcılarını kendisinden açtığınız Yeni sayfasında, Yeni konuşma altında listeler. Başlatıcı; kod incelemesi gibi bir konuşmayı başlatmanın adlandırılmış bir yoludur. Metin almaz: dokunursunuz ve kalıcı ajan neyin başlatılacağına karar verir. Yeni konuşma bir bölme olarak açılır. Aynı istek kimliğiyle tekrarlanan bir dokunuş aynı konuşmayı açar ve yeni hiçbir şey başlatmaz; kalıcı ajan yanıt vermezse Tekrar deneyin aynı istek kimliğini gönderir. Erişilemeyen bir kalıcı ajan hiçbir başlatıcı listelemez. Bu özellik deneyseldir ve herhangi bir alt sürümde değişebilir.

Tek seferlik komutlar ve geçmişleri

Bir telefon, başlatıcı olmayan bir komutu da tek seferlik çalıştırabilir. Collie, belirttiğiniz klasörde bir kabuk açar ve başlatıcı satırını başlattığı gibi satırı oraya yazar. Satır, serbest satırla aynı kuralı izler: en fazla 200 karakter, kontrol, ayırıcı veya bidi karakteri yok. Tek seferlik bir komut hiçbir zaman yeni bir dalda başlamaz.

Bu varsayılan olarak açıktır, çünkü eşleşmiş bir telefon zaten bir kabuk açıp içine yazabilir. İlgili makinedeki kısayolu kaldırmak için [phone] tablosunda run = false değerini ayarlayın.

Yeni sayfasında Kabuk seçeneğine geçin. Ardından Komut seçimi iki ekleme ile biter: o makinenin geçmişindeki satırları listeleyen bir Son kullanılanlar grubu ve Bir komut yazın…. Bir komut yazın… seçeneğini belirleyin; seçimin hemen altında bir metin alanı görünür. Satırı yazın ve Başlat düğmesine (veya Git yazan dönüş tuşuna) dokunun. Başlat üzerindeki satır neyin nerede çalıştığını söyler, örneğin "bluefin üzerinde ~/projects içinde htop çalıştırır". Tek seferlik bir satır için worktree anahtarı kapalı kalır.

İlk çalıştırmadan önce Collie, makineden satırı kontrol etmesini ister. Kontrol hiçbir şey çalıştırmaz ve hiçbir şey tutmaz. Satır, --dangerously-skip-permissions gibi izin istemlerini atlayan bir bayrak taşıyorsa, bu telefon "İstemsiz" rozetli bir satırda olduğu gibi başlamadan önce bir kez sorar. Satır yukarıdaki kuralı ihlal ederse, bir bildirim nedenini belirtir ve hiçbir şey çalışmaz.

Tekrar çalıştırmak için Son kullanılanlar içinden bir satır seçin. Klasörü kendiniz değiştirmediğiniz sürece, Klasör alanı o satırın en son çalıştığı klasörle doldurulur. Son kullanılanlar içinden bir satır seçiliyken, seçimin altında Geçmişten kaldır ve Geçmişi temizle gösterilir. Önce Geçmişi temizle sorar. Sayfanın üst kısmındaki Tekrar satırı da tek seferlik bir çalıştırmayı yineler. run = false ile Son kullanılanlar içindeki satırlar listede kalır ancak devre dışı bırakılır ve Bir komut yazın… kaybolur. 1.19.0 sürümünden eski bir makine ikisini de göstermez.

Başlatılan her komut, o makinenin durum klasöründe, commands-recent.json içinde tutulur. Dosya, en fazla 12 satırı, en yeniden başlayarak, her birinin en son çalıştığı klasörle birlikte tutar. Bir satırı tekrar çalıştırmak onu en üste taşır. TOKEN=abc deploy, şifre içeren bir URL veya token, secret ya da password gibi bir kelime barındırıyor gibi görünen bir satır yine de çalışır ancak tutulmaz. Telefondan tek bir satırı kaldırabilir veya listeyi temizleyebilirsiniz. run = false ile liste yine gösterilir, ancak içindeki hiçbir şey başlatılmaz. Bir crew içinde her makine kendi listesini tutar ve makineler arasında hiçbir şey kopyalanmaz.

Liste bir izin değildir. Listeden bir satır başlatmak, eşleşmiş bir cihaza ihtiyaç duyan yeni bir tek seferlik çalıştırmadır; bu nedenle bir cihazın eşleşmesini kaldırmak veya yetkisini iptal etmek listeyi olduğu gibi bırakır. Denetim günlüğü, bir satır yazdığınız bir sırrı içerebileceğinden, tüm satırı asla kaydetmez; tek seferlik bir komutun ilk kelimesini ve uzunluğunu kaydeder.

Kendi yazı tipleriniz

Arayüz yazı tipi cihaz bazında bir ayardır. Ayarlar → Görünüm → Yazı tipi altında System, Space Grotesk, Aldrich (varsayılan), IBM Plex Sans, Geist ve Atkinson Hyperlegible Next arasından seçim yapabilirsiniz. Bir yazı tipi belirten theme, temayı seçtiğinizde bunu buraya bir kez yazar. Dördüncü yapılandırma dosyası olan theme.toml içine özel yazı tipleri ekleyebilirsiniz:

cp theme.toml.example ~/.config/collie/theme.toml
mkdir -p ~/.config/collie/fonts
cp departure.woff2 ~/.config/collie/fonts/
[[font]]
family = "Departure Mono"    # the picker's label AND the CSS family
file   = "departure.woff2"   # a bare name inside fonts/, woff2 only
weight = "400 700"           # optional

Özel yazı tipleri, commands.toml ve diğer yapılandırma dosyalarındaki davranışın aksine, yerleşik listenin yerini almak yerine sonuna eklenir (ADR 0033). Yazı tipleri eylemleri tetiklemediğinden gölgelenecek bir durum yoktur.

Bunlar birlikte gelen girdilerin altında görünür ve her istemci cihaz kendi seçimini yapar.

Dikkat edilmesi gereken üç davranış:

  • İlk yüklemede düzen kayması. Özel yazı tipleri metrik eşlemeli yedek karakter kümelerine sahip değildir; bu durum ilk yükleme sırasında küçük bir düzen kaymasına (layout shift) neden olur. Yerleşik yazı tiplerinin yedekleri derleme sırasında oluşturulduğu için bu durum önlenir.
  • Soğuk yükleme gecikmesi. Soğuk yükleme dosyayı kısa bir gecikmeyle getirir; önbelleğe alınmış bir istemci ise anında çizer.
  • Yalnızca arayüz çerçevesi. Seçilen yazı tipi yalnızca Collie'nin arayüz çerçevesine uygulanır. Terminal yansıması, transkript ve işlenmiş markdown kendi tipografilerini korur.
  • Sonraki yenilemede etkin. Değişiklikler yeniden başlatma gerektirmez, bir sonraki sayfa yenilemesinde geçerli olur. Geçersiz yapılandırmalar, journalctl --user -u collie -n 20 aracılığıyla görüntülenebilen hatalar kaydeder.

Kendi önbellek kurallarınız

Sağlayıcınızın değiştirdiği bir prompt önbelleği kullanım süresini değiştirmek için cache-rules.toml kullanın.

cp cache-rules.toml.example ~/.config/collie/cache-rules.toml

Collie her harness ve sağlayıcı için bir kural sunar. Collie her kuralı kaydedilen bir tarihte bir sağlayıcı sayfasından okumuştur. Bir sağlayıcı bu değeri haber vermeksizin değiştirebilir. Aracınız ile sağlayıcı arasında duran bir proxy olan ağ geçidi de bunu değiştirebilir. Collie bir güncelleme sunana kadar değerleri geçersiz kılmak için bu dosyayı kullanın.

[[rule]]
id = "claude.api"
ttl_seconds = 3600
source_url = "https://platform.claude.com/docs/en/build-with-claude/prompt-caching"
retrieved = "2026-09-12"
note = "our gateway sends ttl 1h on every request"

Collie, bir satırı yalnızca dört kuralın tümü geçerliyse tutar. id sevk edilmiş bir kuralı belirtmelidir. ttl_seconds, 1 ile 86400 arasında bir tam sayı olmalıdır. source_url boş olmayan bir dize olmalıdır. retrieved, geçerli bir YYYY-MM-DD tarihi olarak ayrıştırılabilmeli ve bugünden sonraki bir tarih olmamalıdır. Geçersiz satırlar atılır ve günlüğe kaydedilir. Dosyanın geri kalanı geçerliliğini korur.

İki kural daha bir dosyanın ne anlama geldiğini belirler. Aynı id değerine sahip iki satır bir hata oluşturmaz: sonraki satır geçerli olur. Boş bir dize olarak yazdığınız bir note satırın tamamını düşürür, bu yüzden bunun yerine alanı tamamen hariç tutun.

Bir satır, id değerinin belirttiği katman kuralına bağlanır. Bu katmanın altındaki model başına ayrım da onunla birlikte hareket eder; böylece tek bir satır o katmandaki her modeli kapsar.

Not. Bir sayıyı değiştirebilirsiniz. Kaynak sayfasını veya erişim tarihini kaldıramazsınız. Kural kataloğu her iki alanı da gerektirir.

collie doctor üç öğeyi denetler. cache-claims, sevk edilmiş bir kural 180 gündür kimse tarafından yeniden denetlenmediğinde uyarır. cache-rules, düşürülen her satırı ve düşürülme nedenini belirtir. cache-env, kabuğunuzda ENABLE_PROMPT_CACHING_1H veya FORCE_PROMPT_CACHING_5M tanımladığınızda bunu işaretler. Köprü ayrı bir servis olarak çalışır ve aracınızın ortamını okuyamaz. Köprünün bunları okuyabilmesi için bu Claude Code değişkenlerini burada eşleyin.

Yazabileceğiniz kural kimlikleri şunlardır.

kural kimliğikapsadığı alan
claude.subscriptionPro veya Max Claude aboneliğindeki Claude Code
claude.apiBir API anahtarı veya üçüncü taraf sağlayıcı üzerindeki Claude Code
codex.subscriptionBir ChatGPT planıyla oturum açılmış Codex CLI
codex.apiBir OpenAI API anahtarı üzerindeki Codex CLI
pi.anthropic, opencode.anthropicAnthropic ile iletişim kuran pi veya opencode
pi.openai, opencode.openaiOpenAI ile iletişim kuran pi veya opencode
pi.google, opencode.googleGoogle ile iletişim kuran pi veya opencode
pi.unknown, opencode.unknownTTL belgelendirmeyen bir upstream üzerindeki pi veya opencode

İstem önbelleği geri sayımı

Her aracı bölmesindeki bir çip, o aracının istem önbelleğinin ne kadar süre sıcak kalacağını gösterir.

Desteklenen her kabuk mevcut konuşmayı önbelleğe alır. Kabuklar bu önbellek sıcak kaldığı sürece daha düşük ücret tarifesi uygular. Çip, aracının son isteğinden bu yana geçen boşta kalma süresini geriye doğru sayar. Toplam oturum süresini izlemez. Her yeni istek sayacı sıfırlar.

Çipin kum saati, durumu üç renkten biriyle gösterir ve yanındaki sayı gri kalır. Kum saati; zaman aralığı genişken yeşil, aralığın son çeyreğinde kırmızı, aralık sona erdiğinde veya bir tur tam ücret ödediğinde mavidir. Çip mavi durumdayken cold yazar ve bir dakikadan az süre kaldığında saniye yerine <1m yazar.

Bazı eylemler süre henüz dolmamışken önbelleği boşaltır: başka bir modele /model geçişi, bir çaba değişikliği, bir sıkıştırma ve /reload-plugins --force. Claude Code eylemi dökümüne yazar yazmaz çip maviye döner ve sayfa eylemi adlandırır. opencode da bir sıkıştırmayı ve model değişikliğini aynı şekilde bildirir.

Çip, bölme başlığının ikinci satırının en sağında, bölmenin çalışma alanından sonra yer alır. Bir crew üzerinde, aynı satırda makinenin adı çipin yanında bulunur. Temeldeki kuralı (kural kimliği, satıcı kaynak sayfası ve erişim tarihi) görüntülemek için çipe dokunun.

Not. ölçüldü olarak işaretlenmediği sürece değerler canlı ölçümler değil, kayıtlı tarihleri bulunan satıcı beyanlarıdır. Claude Code, önbellek pencerelerini doğrudan transkriptine yazar, bu nedenle Claude bölmeleri genellikle ölçülür.

Bazı bölmeler çip göstermez. Bu beklenen bir durumdur. Bir bölme, yalnızca aracısı bir turu tamamladıktan sonra çip gösterir. Collie, ölçümden önce hiçbir varsayımda bulunmaz. Bir kabuğun günlük bağdaştırıcısı yoksa veya satıcısı yaşam süresi verisi yayımlamıyorsa, bölme hiçbir şey göstermez.

Collie, bir önbelleğin süresi dolmadan önce bir telefona anlık bildirimler de gönderebilir. Zamanlamayı tek bir değişken denetler.

değişkenvarsayılananlamı
COLLIE_CACHE_WARN_SECONDS300izlenen bir bölmenin önbellek süresi dolmadan kaç saniye önce anlık bildirimin gönderileceği; alt sınır 30, üst sınır 3600

Bu ayar yalnızca anlık iletme uyarısını denetler. Çipin ne zaman kırmızıya döneceğini değil denetlemez. Kırmızı eşiği, her kuralın TTL değerinin dörtte biri olarak sabittir. Anlık iletmenin kendisi, bu ayar veya bölmenin kendi önbellek ömrünün yarısından hangisi daha kısaysa o sürede tetiklenir; dolayısıyla beş dakikalık bir önbellek (Codex, OpenCode, pi, omp), yapılandırılan 300 saniyeden daha az olmasına rağmen soğumadan yaklaşık iki buçuk dakika önce uyarır. Belirli bölmeler veya tüm bölmeler için uyarıları etkinleştirmek üzere voice-and-push.md bölümüne bakın.

Ekler

Mesaj kutusunun yanındaki ataş, ana bilgisayara bir dosya yükler ve dosyanın yolunu mesajınıza ekler.

# in your .env
COLLIE_MAX_UPLOAD_MB=25              # default 10, floor 1, ceiling 512
COLLIE_UPLOAD_EXTRA_TYPES=rb,ex,zig  # bare extensions, no dot

Collie dosyayı <state-dir>/uploads altına yalnızca sahibine özel izinlerle kaydeder ve mutlak yolunu taslağınıza ekler. Terminal yapıştırılan bir dosyayı alamayacağından, ajan dosyayı bu yoldan okur. Yüklemeler, yazıldıktan 48 saat sonra temizlenir.

AyarVarsayılanİşlevi
COLLIE_MAX_UPLOAD_MB10Kabul edilen en büyük dosya boyutu, tam megabayt cinsinden. Aralık dışı veya tam sayı olmayan değerler varsayılana döner ve bir uyarı günlüğe kaydedilir.
COLLIE_UPLOAD_EXTRA_TYPES(boş)Aşağıdaki listenin dışında kabul edilecek ek metin türleri. Virgülle ayrılmış yalın uzantılar; baştaki nokta yok sayılır ve harf ya da rakam olmayan her şey bir uyarıyla atılır.

İki tür dosya kabul edilir ve bunlar farklı şekilde denetlenir.

Görseller adlarına veya beyan edilen türlerine göre değil, imza baytlarına göre tanımlanır: png, jpg, gif ve webp. SVG, bir resimden ziyade komut dosyası içeren bir işaretleme dili olduğu için bilerek reddedilir.

Metin uzantısıyla tanımlanır ve baytlar veto yetkisine sahiptir: ilk 4 KB'ı NUL veya sahipsiz bir kontrol baytı içeren bir dosya, adı ne olursa olsun reddedilir. Varsayılan olarak sunulan liste şunlardır: md, markdown, txt, json, jsonl, yaml, yml, toml, csv, tsv, log, xml, html, htm, css, js, jsx, mjs, cjs, ts, tsx, py, go, rs, sh, bash, sql, diff ve patch.

Not. COLLIE_UPLOAD_EXTRA_TYPES yalnızca metin türlerini ekler. Bir görselin denetlenmesi için bir imzaya ihtiyacı vardır, bu nedenle bu yöntemle ekleyebileceğiniz ikili bir biçim yoktur.

COLLIE_MAX_UPLOAD_MB değerini artırmak, beraberinde iki sayıyı daha artırır. Bridge, boyutu ölçebilmek için yüklemenin tamamını belleğe okur; bu nedenle büyük bir üst sınır ile aynı anda yapılan birkaç yükleme, o miktarda bellek tüketir. Ayrıca çalışma zamanının gövde boyutu sınırı yalnızca yükleme yoluna değil her yola uygulanır; bu yüzden büyük bir üst sınır, büyük bir gövdenin herhangi bir işleyiciye ulaşmasına izin verir ve işleyicinin kendi sınırı bunu reddeder. 48 saat dolmadan hiçbir şey silinmez, dolayısıyla yüklemeler dizini en fazla iki günde gönderilenleri tutar. Sayıyı varsayılan olarak değil, ihtiyacınız olduğu için artırın.

Bir crew içinde her iki ayar da makine başınadır ve bunları dosyayı depolayan makine uygular. Lead, giden bağlantı kotanızı korumak için aşırı büyük bir gövdeyi iletmeden önce reddeder, ancak bunu kendi sınırına göre yapar. Her üyede aynı değerleri ayarlayın; aksi takdirde bir eş, lead'in izin verdiğini reddeder.

Sık kullanılan ve son dizinler

Yeni sayfası, daha önce bir şey başlattığınız klasörleri listeler; böylece bir yol yazmak yerine birine dokunursunuz.

Klasör alanının altında, başlatmanın gideceği makineye ait iki liste bulunur. Son kullanılanlar, en yeniden başlayarak içinde bir şey başlatılmış son 8 klasörü tutar. Yalnızca çalışan ve bir klasör adı belirten başlatmaları sayar; ana dizininizi asla listelemez, çünkü boş bir alan zaten ana dizin anlamına gelir. Yeni bir dalın kendi klasörü eklenmez, çünkü burası geri döndüğünüz bir yer değil, yeni bir checkout işlemidir.

Bir yol da yazabilirsiniz. ~/projects ve /srv/www tam olarak ifade ettikleri anlama gelir. projects gibi başında / veya ~ olmayan bir ad, yeni bir kabuktaki cd projects gibi ana dizininiz altındaki bir klasördür ve Başlat'ın üzerindeki satır, siz dokunmadan önce tam yolu (~/projects) gösterir. İçinde .. bulunan bir yol reddedilir. Klasör, başlatmayı çalıştıran makinede zaten var olmalı ve bir dizin olmalıdır. Orada değilse hiçbir şey başlamaz ve Başlat'ın üzerindeki bir bildirim "Bu makinede … klasörü yok." der. Collie yalnızca Başlat'a dokunduğunuzda kontrol eder, yazarken asla kontrol etmez. Bir crew üzerinde, seçtiğiniz makine kendi diskini kontrol eder.

Bir satıra dokunmak Klasör alanını doldurur ve hiçbir şey başlatmaz, böylece yukarıdaki seçimi yine de değiştirebilirsiniz. Bir satırın yanındaki yıldız, onu yıldızlama sıranıza göre en fazla 12 taneye kadar Sık kullanılanlar bölümüne taşır. Yıldıza ikinci kez dokunmak onu tekrar Son Kullanılanlar'ın en üstüne taşır.

Gözat iki listenin altında yer alır. Üzerine dokunulduğunda alandaki klasörün alt klasörleri veya alan boş olduğunda home altındakiler listelenir. İçine girmek için bir klasöre dokunun; alan bunu takip eder. Yukarı veya listenin yukarısındaki yolun bir kısmı geri gider. Git deposu olan bir klasör git rozeti taşır. Bu klasörü kullan, tıpkı bir Recent satırına dokunmak gibi alanı doldurur.

Alan ~/src/plektra- gibi mevcut olmayan bir yol içerdiğinde, Browse mevcut olan en yakın klasörde (~/src) açılır ve yalnızca geri kalanıyla (plektra-) başlayan adları listeler. Böylece alana yazmak listeyi daraltır. Home dizininizin dışındaki bir yol "Nothing to browse here" mesajını gösterir.

Browse, Files görünümünün sınırlarıyla yalnızca home klasörünüzün altındaki klasör adlarını okur. Siz noktayı yazmadığınız sürece nokta klasörlerini gizler, asla .git veya Collie'nin kendi durum ve yapılandırma klasörlerini listelemez, home dışına çıkan bir bağlantıyı izlemez ve en fazla 200 klasör gösterir. Hiçbir şey oluşturmaz ve Files görünümünde olduğu gibi eşleştirilmiş bir cihaza ihtiyaç duyar.

Liste telefona değil, makineye aittir. Her makine, COLLIE_STATE_DIR taşımadığı sürece kendi listesini durum dizinindeki folders.json içinde, ~/.local/state/collie/folders.json altında tutar. Kullandığınız her cihaz aynı listeyi görür ve dosya yalnızca bir klasördeki ilk başlatmadan veya ilk yıldızdan sonra görünür. Aynı listeler, dalın kendi klasörünün gideceği klasörü seçtikleri Yeni worktree altındaki Diğer klasör alanını doldurur.

Bir crew içinde, her makine üzerinde mevcut olan klasörleri tutar ve sayfa seçtiğiniz makinenin listesini gösterir. Daha eski bir Collie çalıştıran bir makinenin listesi yoktur ve sayfa onun için hiçbir şey göstermez. Browse seçtiğiniz makinenin diskini de listeler ve daha eski bir makine güncelleme gerektiğini belirtir.

Gizli bilgi maskeleme

Collie, telefonunuza ulaşmadan önce bölme metnindeki bilinen gizli bilgi kalıplarını maskeler.

# in your .env; the default is on
COLLIE_REDACT=off
değişkenvarsayılanne yapar
COLLIE_REDACTonYansıda, Sohbet'te, Geçmiş'te, anlık bildirimlerde, Dosyalar içindeki dosya gövdelerinde ve Değişiklikler içindeki farklarda API anahtarlarını, JWT'leri, PEM özel anahtarlarını, taşıyıcı belirteçlerini ve password= değerlerini maskeler. off bunları olduğu gibi gönderir.

Yapılandırma dosyasında bu [access] redact olarak geçer. Maske gizlediği içeriğin genişliğini korur, böylece yansı düzeni bozulmaz. Yalnızca yüksek güvenilirlikli kalıpları yakalar; sınırlar Güvenlik içindedir.

Bir ekipte lider, üyelerinin gönderdiği metni de kendi ayarına göre maskeler. Bir üyenin metni telefonunuza yalnızca lider ve ilgili üye COLLIE_REDACT=off değerini ayarladığında maskelenmemiş olarak ulaşır.

Report a problem

Bir bölmede art arda üç gönderme işlemi Collie'ye işaret eden bir nedenle başarısız olduğunda, yanıt kutusunun üzerindeki bir kart bunu bildirmeyi önerir. Settings → System → Offer a report when sending fails bu cihaz için kartı kapatır (tarayıcıda saklanır, varsayılan olarak açıktır). Bölme menüsündeki Report a problem ve Settings içindeki aynı kartta bulunan Report a problem düğmesi sayfayı yine de açar.

Siz Open on GitHub veya Copy report öğesine dokunana kadar telefondan hiçbir şey çıkmaz ve Collie hiçbir GitHub belirteci tutmaz. Raporun ne içerdiği ve göndermeden önce nasıl okunacağı Sorun giderme içindedir.

Çoklu oturum

Varsayılan olarak tek bir Collie örneği, bulduğu her Herdr oturumuna hizmet verir.

COLLIE_MULTI_SESSION=on (varsayılan), yapılandırma kökünüz altındaki adlandırılmış her Herdr oturumunu keşfeder ve sunar; başlıktan aralarında geçiş yapılabilir. COLLIE_MULTI_SESSION=off ayarı yalnızca birincil Herdr oturumunu sunar. Özel veya yalıtılmış alan (sandbox) oturumları da dahil olmak üzere keşfedilen her Herdr oturumuna aynı URL üzerinden erişilebilir. Güvenlik bu davranışı dikkat edilmesi gereken kritik bir nokta olarak listeler.

Kullanım pencereleri

Modelin yanındaki noktalar, hiçbir kurulum gerekmeden Claude ve Codex için 5 saatlik ve 7 günlük limitlerinizi gösterir.

# turn every source off
COLLIE_ACCOUNT_WINDOWS=0
# turn on opencode and grok too, or name the ones you want
COLLIE_ACCOUNT_WINDOWS=all
COLLIE_ACCOUNT_WINDOWS=claude,codex

Collie, bu makinedeki Claude oturum açma dosyanızı okur ve Claude Code'un /usage çağrısıyla aynı şekilde Anthropic'in kullanım uç noktasına sorgu yapar; oturum açma bilgilerinin hiçbiri saklanmaz veya başka bir yere gönderilmez. Collie yalnızca bu koşum takımının bir bölmesi açıkken sorgular ve başkalarının okuyabileceği bir oturum açma dosyasını (0600 değerinden daha gevşek olan herhangi bir şey) ve süresi dolmuş bir oturumu atlar. Codex hiçbir belirteç göndermez: kendi dosyalarını okur.

biçimneyi etkinleştirdiği
ayarlanmamış, 1, on, true, yesvarsayılan küme: claude ve codex
0, off, false, nohiçbir şey: hiçbir oturum açma veya oturum dosyası okunmaz ve hiçbir sorgu yapılmaz
allher kaynak: claude, codex, opencode ve grok
claude,codexbüyük/küçük harf fark etmeksizin ve boşluklarla belirttiğiniz koşum takımları

Collie'nin bilmediği bir kimlik bir uyarıyla bırakılır ve yalnızca bildiği kimlikler etkinleştirilir, bu nedenle bir yazım hatası asla belirtmediğiniz bir kaynağı etkinleştirmez. Yapılandırma dosyasında [bridge] account_windows, true veya false, aynı biçimlere sahip bir dize ya da ["claude", "codex"] gibi bir dizi alır.

Her kaynak farklı bir şeyi okur.

  • Claude, varsayılan olarak açık. Collie ~/.claude/.credentials.json veya $CLAUDE_CONFIG_DIR/.credentials.json okur ve api.anthropic.com sorgular.
  • Codex, varsayılan olarak açık. Collie hiçbir oturum açma bilgisini okumaz ve kimseye sorgu yapmaz. Bir ChatGPT oturumunda Codex, pencereleri kendi oturum dosyalarına ($CODEX_HOME/sessions veya ~/.codex/sessions) yazar ve Collie son iki saatteki en yeni dosyaların sonunu okur. Bir API anahtarındaki Codex'in gösterecek penceresi yoktur.
  • OpenCode Go, varsayılan olarak kapalı. Etkinleştirdiğinizde Collie, OpenCode oturum açma deposunun opencode-go girişini (~/.local/share/opencode/auth.json veya $XDG_DATA_HOME altında) okur ve opencode.ai sorgular. Go girişi olmadığında hiçbir şey sorgulamaz.
  • Grok, varsayılan olarak kapalıdır. Etkinleştirdiğinizde Collie, grok login tarafından tutulan oturum açma bilgilerini (~/.grok/auth.json veya $GROK_HOME altında) okur ve kredileriniz için cli-chat-proxy.grok.com sorgular.
Not. OpenCode Go ve Grok, bu uç noktalar için diğer araçların kullandığı yapıyı izler ve henüz hiçbir etkin hesap bunları denetlememiştir. Bu nedenle siz adlandırana kadar kapalıdırlar. pi ve OMP burada henüz pencere göstermez.

collie doctor, her kaynağı kendi account-windows satırında gösterir: açık veya kapalı, okuduğu dosya ve sorguladığı ana bilgisayar. Terminaller, statusLine yoluna sahiptir.

Bağlam noktası ayar gerektirmez. Pi, OMP, Codex ve OpenCode için Collie son turun belirteçlerini oturum günlüğünden okur. Modelin penceresini Codex'in günlüğünden veya harness'ın diskteki kendi model listesinden okur (pi için models-store.json, OMP için models.db, OpenCode için ~/.cache/opencode/models.json). Bu listenin adlandırmadığı bir model bağlam noktası almaz; model adı yine de görünür. Harness bildirdiğinde etiket, noktalardan sonra oturumun dolar cinsinden maliyetini de gösterir: Claude Code sarılmış durum satırı üzerinden, pi, OMP ve OpenCode kendi günlüklerinden. Codex'te bu yoktur, bu yüzden etiketi maliyet göstermez.

Karanlık mod / aydınlık mod

Not. Collie varsayılan olarak telefonunuzun görünümünü takip eder.

Sabitlemek için Ayarlar → Görünüm sayfasını açın, Tema kartının altındaki Görünüm kartını bulun ve Sistem, Aydınlık veya Karanlık seçeneğini belirleyin. Tema kartı renkleri seçer; bu kart ise bunların açık veya koyu yarısını seçer. Ayar, köprü yerine tarayıcıda cihaz başına olarak saklanır. Bir dizüstü bilgisayar işletim sistemini takip ederken telefonunuz Dark ayarında kalabilir. Tercih, aynı cihazda yeniden yüklemeler ve PWA'nın tekrar kurulması boyunca korunur.

Terminal yansıması kasten farklıdır

Yansıma her zaman bir karanlık zemin üzerinde işlenir. Aydınlık mod, bağımsız span öğelerini yeniden renklendirmek yerine tüm öğeyi tersine çevirir.

Ajanlar, karanlık arka planlar için ayarlanmış mutlak 24 bit renk kodları (38;2;r;g;b) yayar; ardışıl ayrıştırıcılar bunları güvenilir şekilde yeniden eşleyemez. Doğrudan beyaz üzerine işlendiğinde çoğu ajan çıktısının kontrast oranı 3:1 altına düşer. Tersine çevirme, hedeflenen kontrastı korur. Ölçümler ADR 0002 içinde belgelenmiştir.

Bu uygulamanın iki pratik sonucu vardır:

  • Ajanlarınızı koyu temalar için yapılandırılmış tutun. Bu durum Claude Code, codex, opencode ve pi için varsayılandır. Bir ajan açık tema kullanıyorsa, her iki modda da Collie içinde okunaksız hale gelen açık zemin üzerine koyu değerler yayar. Bu durum Collie'nin kendisinden değil, ajan çıktısından kaynaklanır.
  • Açık modda Farklar ve vurgulanan satırlar koyu bloklar olarak oluşturulur. Kontrast korunur ancak görsel ağırlık tersine döner.
Not. iOS'e yüklendiğinde, açık modda durum çubuğu metni beyaz kalır ve arka planla karışabilir. iOS, web uygulamalarının bu değeri dinamik olarak güncellemesine izin vermez. Bu kısıtlamayı önlemek için Collie'yi yüklü bir PWA yerine doğrudan tarayıcıda çalıştırın.

Zen modu

Not. Zen modu varsayılan olarak kapalıdır.

Ayarlar → Cihaz → Zen modu üzerinden etkinleştirin (tarayıcıda cihaz başına saklanır). Bu işlem, Find ve History'nin yanındaki ⋮ altında bulunan bölme menüsüne bir Zen modu seçeneği ekler. Bu seçeneğe dokunulduğunda tüm Collie arayüz ögeleri gizlenir: üst bilgi, sekme ve bölme şeritleri, ajan durum satırı ve composer dock'ları. Yalnızca terminal yansıması görünür kalır. Sağ üst köşedeki yüzen bir düğme veya Escape tuşu arayüzü geri yükler.

Zen modu geçici durumdadır. Yapılandırma kalıcıdır, ancak bölmeler arasında geçiş yaptığınızda veya sayfayı yeniden yüklediğinizde etkin durum sıfırlanır. Bölmeler her zaman standart chrome ile açılır.

Terminal yansıması Zen modunda yoklamaya devam eder ve etkileşimli arabellek ögeleri işlevsel kalır. İstem düğmeleri, "Load older" ve "Show entire history" denetimleri, chrome yerine içerik akışının parçası oldukları için kullanılabilir kalır.

Büyük ekranlar

Not. Bir tablette veya açık bir Fold cihazında bölme ekranı yan yana birkaç bölme gösterir. Dik ve düz tutulan bir telefon değişmez.

Ekran en az 600 CSS pikseli genişliğinde ve en az 480 piksel yüksekliğinde olduğunda bölme ekranı için düzen açılır. Yan tutulan bir telefon 480 pikselden alçaktır, bu nedenle telefon düzenini korur. Kapatmak için Ayarlar → Görünüm → Büyük ekran düzeni menüsünü açın ve Kapalı seçeneğini belirleyin. Varsayılan olan Otomatik, ekran yeterince büyük olduğunda bunu açar. Seçim cihaz başına saklanır.

Düzen üç bölümden oluşur.

  • Kenar çubuğu. Bölmelerinizi listeler; bu, bölme değiştiricinin gösterdiği listenin aynısıdır. Üst satırındaki düğme, onu dar bir simge çubuğuna katlar ve seçim bu cihazda tutulur. Üst satırdaki ColliePWA işareti ana sayfaya gider. Yeni alan ve Ayarlar alt kısımda yer alır.
  • Bölme satırı. Her alan kendi satırını korur ve satır yana doğru kayar. Göstermek için kenar çubuğundaki bir bölmeye dokunun. İçinde bulunduğunuz bölmenin yerini alan Burada aç veya o bölmenin yanına ekleyen Yanında aç için bölmeyi basılı tutun (fareyle sağ tıklayın). Bir bölmeyi satıra da sürükleyebilirsiniz. Görünümden kaldır, bir bölmeyi satırdan çıkarır. Agent çalışmaya devam eder.
  • Alan başlığı. Alanın adını, sekmelerini ve yeni bir sekme için + içerir. Telefonda olduğu gibi, Yeniden adlandır veya Sekmeyi kapat için bir sekmeyi basılı tutun (fareyle sağ tıklayın). Çalıştığınız sekmeyi kapatmak, sizi yanındaki sekmenin bir bölmesine taşır. İki düğmesi veya dikey bir kaydırma hareketi, üstteki veya alttaki alana geçer.

Her bölmenin bir genişliği vardır: satırın 1/2, 4/5 veya Tam kadarı. Bir bölme asla 360 pikselden daha dar olamaz, bu nedenle bölmeyi daha dar yapacak bir genişlik sunulmaz. Satır bu boyutta iki bölmeyi tutamadığında, her bölme Tam genişliğindedir ve denetim gizlenir. Kaydırmayı durdurduğunuzda satır bir bölmenin başlangıcına yaslanır ve yana kaydırma tarayıcıda asla bir sayfa geri gitmez. Satır her zaman Bölme ekle ile biter. Satırın göstermediği bu alanın bölmelerini, her biri Burada aç ile olacak şekilde listeler (bölme satırdaki son bölme olur). Ayrıca, söz konusu bölmenin makinesinde ve klasöründe Yeni sayfasını açıp agent'ı içinde bulunduğunuz bölmenin yanına bu alanın yeni bir sekmesi olarak ekleyen Bu alanda yeni agent ve Yeni bir alanda yeni agent seçeneklerini sunar.

Katlanabilir bir cihazı dizüstü bilgisayar gibi tuttuğunuz durumlar dışında (aşağıya bakın), her bölmenin kendi şeridi vardır. Çalıştığınız bölmenin bir çerçevesi ve yanıt kutusu bulunur. Başka bir bölmenin şeridine dokunmak o bölmede işlem yapar ve sizi oraya taşır. İşlem yapmadan geçmek için bölmeye dokunun.

Düzen yalnızca bu cihazda tutulur; Geri işlevi ve paylaşılan bağlantılar eskisi gibi çalışır.

Katlanabilir cihazlar. Yarı açık tutulan katlanabilir bir cihazda Chrome ve Samsung Internet ekranı kat yerinden böler. Dizüstü bilgisayar gibi tutulduğunda konuşma kat yerinin üzerinde kalır; şerit ile daha uzun bir yanıt kutusu ise altında yer alır. Yalnızca üzerinde çalıştığınız bölme, kat yerinin altında şeridini korur. Diğer bölmeler yalnızca Chat gösterir. Bu bölünme her genişlikte geçerlidir, dolayısıyla yarı açık bir dikey katlanır telefonu da değiştirir. Klavye açıkken düzen tekrar düz hale döner. Kitap gibi tutulduğunda bölünme 600 piksel genişlikten itibaren geçerlidir. İki bölme olduğunda her yarı bir bölme gösterir ve kenar çubuğu simge çubuğuna dönüşür. Tek bölme olduğunda kenar çubuğu bir yarıda açık kalır ve bölme diğer yarıyı doldurur. Diğer tarayıcılar yalnızca düz düzeni gösterir.

Bölme gezintisi

Bir hareket sizi telefonda ve büyük ekran düzeninde bölmeler ve alanlar arasında taşır. Sol ve sağ, alanın önceki ve sonraki bölmesine geçiş aracının sırasıyla gider. Yukarı ve aşağı, önceki ve sonraki alana gider. İlk veya son bölmede ya da alanda yapılan bir hareket yerinde kalır. Yöntemi Ayarlar → Görünüm → Bölme gezintisi içinden seçin. Değişiklik, bir bölme bir sonraki açılışında görünür.

YöntemNasıl çalışır
İki parmakVarsayılan ayar. Bir parmağınızı sohbette veya terminalde sabit tutun, ardından ikinci bir parmağınızı koyun. Telefon titrer ve bir kutu nerede olduğunuzu gösterir. İkinci parmağınızla kaydırın: kısa bir kaydırma bir adımdır, uzun bir kaydırma daha fazla adım alır. Oraya gitmek için önce ikinci parmağı, ardından birinci parmağı kaldırın.
Oyun çubuğuKuşağın hemen üzerindeki tutamacı basılı tutun, ardından aynı parmağı sürükleyin. Oraya gitmek için başka bir bölmenin üzerinde bırakın veya kalmak için başladığınız yere geri dönün. Telefonda hızlıca yukarı sürüklemek bölme geçiş aracını açar.
KapalıHareket yok. Bölme geçiş aracı sizi taşımaya devam eder; büyük ekranda kenar çubuğu ve alan başlığı da bunu yapar.

Kutu; alanların bir haritasının üzerinde, taşınmakta olduğunuz bölmenin adını, durumunu, alanını ve alandaki konumunu gösterir. Herhangi bir kaydırma yapmadan ilk parmağı kaldırdığınızda, ikinci parmak basılıyken ilk parmağı kaldırdığınızda veya üçüncü bir parmak koyduğunuzda olduğunuz yerde kalırsınız. Parmaklar kaldırıldığında altlarındaki hiçbir öğeye dokunulmaz. Hareket bir cihazda ilk kez başladığında, kuşağın üzerindeki kısa bir bildirim hareketin nasıl çalıştığını ve nereden kapatılacağını belirtir.

Hareket, sayfanın kendi dokunma işlevlerini korur. Tek bir parmağı basılı tutmak yeni bir şey yapmaz: uzun basma metni seçmeye ve menüsünü açmaya devam eder. İki parmakla kıstırma yakınlaştırma yapmaya devam eder, çünkü ilk 300 ms içinde dokunan ikinci bir parmak kıstırma sayılır. Kaydırma yapmakta olan veya telefonun kendi geri hareketinin bulunduğu ekranın sol ya da sağ kenarından başlayan bir parmak hareketi asla başlatmaz. İkinci parmağın dokunduğu andan ilkini kaldırana kadar sayfa seçimi ve kaydırmayı durdurur ve daha önce yaptığınız bir seçim temizlenir. Bölme gezintisi yalnızca dokunmatik ekranda çalışır ve fare burada hiçbir şey yapmaz. TalkBack açıkken hareket hiçbir şey yapmamalıdır, çünkü TalkBack iki parmakla kaydırmaları kendisi devralır; bölme geçiş aracı sizi taşımaya devam eder.

Sohbet görünümü

Not. Chat, 1.17.0 sürümünden bu yana bir agent bölmesinin varsayılan görünümüdür. Terminal bir dokunuş uzaklıktadır.

Bir agent bölmesi Sohbet içinde açılır. Chat, terminal yerine agent'ın kendi konuşmasını çizer: sizin sıralarınız, onun yanıtları, katlama arkasındaki düşünme kısmı ve her adım için bir kart. Composer, kemer ve bölme menüsü yerinde kalır. Bunun yerine terminali okumak için bölmenin ⋮ menüsünü açın ve Terminal görünümü ögesine dokunun. Bu seçim tüm cihaz için tarayıcıda saklanan tek bir ayardır ve terminali zaten seçmiş olan bir cihaz bunu korur. Aynı menüdeki Sohbet görünümü seçeneği geri döndürür.

Claude Code çalışırken bir mesajı sıraya aldığınızda, Chat bunu bir Gönderilmeyi bekliyor kartında gösterir ve kartın Şimdi gönder butonu tüm kuyruğu aynı anda çalışan sıraya gönderir. Bunu yalnızca Claude Code sunar; çünkü buton, ilgili agent'ın bu işlem için tanımladığı tuş olan Ctrl+Enter bileşimine basar. Buton, salt okunur bir cihazda ve kaydedilmiş bir kopyada gizlenir.

Aralarında OMP ve pi'nin de bulunduğu diğer çoğu aracı, tur bitene kadar kuyruğa alınan bir mesaj hakkında günlüğüne hiçbir şey yazmaz. Onlar için Chat, Collie'nin kuyruğa aldığı mesajları, aracının günlüğü her birini bir komut istemi olarak gösterene kadar aynı Gönderilmeyi bekliyor kartında çizer. Bu kartın düğmesi yoktur. Collie bir mesajı aracının kuyruğundan çıkaramaz, bu yüzden Cancel yoktur: geri almak için turu durdurun.

Collie kuyruğa alınan bir mesajın nereye gittiğini artık anlayamadığında, kart kaybolmak yerine Doğrulanmadı der. Bu durum, aracı art arda iki kez boş bir kutuyla boşta kaldığında veya çalışan bir tur olmadan 30 dakika geçtikten sonra gerçekleşir. Discard düğmesi kartı kaldırır ve hiçbir şey göndermez.

Ekran ayarlarında varsayılan olarak kapalı olan bir Genişleyen metin yanıtları anahtarı bulunur. Bu açıkken Sohbet, tam yanıt kartı ve Geçmiş, cc-stretch eklentisiyle yazılmış bir yanıtı kısa biçimiyle gösterir ve bir ifadeye dokunulduğunda ifade açılır. Çizgisi olmayan bir {{name}}, name olarak gösterilir.

Chat içinde eksik olduğu bilinen bir durum vardır. Hermes, Collie okuduktan sonra bir sırayı günlüğünden silebilir, örneğin sıkıştırma yaptığında. Chat daha sonra oturum yeniden okunana kadar bu sırayı göstermeye devam eder. Terminalde bu sorun hiçbir zaman yaşanmaz.

Sohbet ekranı değil, aracının oturum günlüğünü okur. Bu durum bir bölmenin yalnızca Collie bölmenin hangi oturumu çalıştırdığını bildiğinde Sohbet özelliğini aldığı ve aracının çoğullayıcıya bunu bildirmesi gerektiği anlamına gelir. Bölme bunu kendi başına çözemez.

ÇoklayıcıOturumu ne bildirirSohbet şunlar için çalışır
HerdrO aracı için eşleşen Herdr entegrasyonu, herdr integration install <agent> ile bir kez kurulur (örneğin claude, codex, opencode, pi, omp, grok, hermes), ardından aracı yeniden başlatılırEntegrasyonu ve Collie tarafından okunan oturum günlüğü olan her aracı
tmux, zellij, Tern (deneysel)Collie'nin beacon kancalarıYalnızca Claude Code, collie hooks install claude sonrasında
tuiostuios arka plan programıArka plan programının bildirdiği aracılar

OpenClaw, Chat için Herdr entegrasyonuna ihtiyaç duymaz. Herdr bir OpenClaw oturumunu aktarmaz; bu nedenle Collie, oturum adını openclaw tui (agent main (main) | session work | …) altbilgisinden okur ve o agent'ın oturum veritabanını $OPENCLAW_STATE_DIR veya ~/.openclaw altında salt okunur olarak açar. Durum klasörü başka bir yerdeyse openclaw_root ayarını yapın. Bölme kendisini Herdr'a agent openclaw olarak bildirmelidir. Collie, OpenClaw'un yapılandırma dosyasını veya ağ geçidi belirtecini asla okumaz.

Kiro için de Herdr entegrasyonu gerekmez: Herdr bir kiro-cli bölme ajanını kiro olarak adlandırır ve Collie, bölmenin oturumunu çalışan Kiro'nun içinde tuttuğu kilit ile bulur. Collie; --v3 veya --agent-engine v3 ile başlatılan ya da Kiro'nun kendi ayarlarında motor olarak V3 seçilen Kiro V3 oturumlarını okur. Bir V1 veya V2 oturumunda Sohbet ya da Geçmiş bulunmaz. Kiro oturumlarını başka bir yerde tuttuğunda kiro_root değerini ayarlayın.

herdr integration status hangi entegrasyonların kurulu olduğunu gösterir. Kanca, aracı başladığında okunur; bu nedenle kurduğunuzda zaten çalışmakta olan bir aracının yeniden başlatılması gerekir. Oh My Pi, pi entegrasyonu değil, omp entegrasyonudur: bunlar iki kancaya sahip iki ayrı aracıdır ve tek bir günlük biçimini paylaşırlar.

Yeni bir agent bölmesi, henüz okuyacak bir şeyi olmadan önce Chat'i tek bir satırla hemen gösterir: "Send a message to start". Codex oturumunu yalnızca ilk mesajınızdan sonra bildirir ve pi günlüğünü yalnızca ilk yanıtından sonra yazar; dolayısıyla ikisi de bu şekilde başlar. Konuşma gerçekleştiği anda görünür.

Bir bölme, Chat'in gösteremeyeceği bir şey olduğunda terminale döner: agent henüz okuyacak bir şey yokken size bir soru sorduğunda veya ilk sırası sona erip hala bir oturumu ya da okunacak günlük dosyası olmadığında. Terminal daha sonra neyin eksik olduğunu belirten bir satır gösterir ve ⋮ satırı nedenini açıklar. Okunacak hiçbir şey olmadan ve başka bir işaret vermeden bir dakika boyunca çalışan bir ilk sıra da geriye döner. İlk açtığınızda zaten meşgul olan ve oturumu bulunmayan bir bölme, terminali hemen gösterir. Oturum veya günlük daha sonra geldiğinde bölme Chat'e geri döner. Chat satırı asla gizlemez, böylece eksik bir hook ile eksik bir özelliği ayırt edebilirsiniz. collie doctor, bu bölmeleri agent-sessions altında listeler ve her birini düzelten entegrasyon satırını (integration-<agent>) belirtir. sorun giderme sayfası, bir bölmede Sohbet veya Geçmiş yok altında adımları içerir.

Çevrimdışı okuma

Bridge erişilemez olduğunda telefon kaydettiği son kopyayı gösterir; bunu okuyabilirsiniz ancak üzerinde işlem yapamazsınız.

Telefon her bölme için iki şeyi saklar: gördüğü son terminal metni ve Chat'in çizdiği şekliyle en yeni Chat sıraları. Ham terminal ekranını hiçbir zaman Chat olarak saklamaz. Collie uygulamasını açtığınızda ve bridge yaklaşık bir buçuk saniye içinde yanıt vermediğinde, telefon bu kaydedilmiş kopyayı hemen çizer ve bridge yanıt verdiğinde bunu canlı verilerle değiştirir.

Kaydedilmiş bir kopya canlı ekrandan farklı görünür:

  • Agent listesi soluktur, her durum geçmiş zamandadır ("çalışıyordu", "size ihtiyacı vardı") ve üst bilgi itibarıyla ile kaydedildiği zamanı gösterir.
  • Bir Chat bölmesi "Saved copy from" ve zamanı gösterir. Bridge daha eski sıraları tutmaya devam eder.
  • Komut butonları, kartlar ve gönder butonu kapalıdır. Kaydedilmiş bir kopyaya dokunulması agent'a ulaşamaz.

Bağlantı çubuğu üç nedenden birini belirtir:

ÇubukNedenTelefonun gösterdiği
ÇevrimdışısınızTelefon ağının olmadığını bildirirZamanıyla birlikte kaydedilmiş kopya
Bridge bağlantısı yok. Bağlantınızı veya Tailscale'i kontrol edin.Başarısız olan diğer tüm okumalarZamanıyla birlikte kaydedilmiş kopya
Eşleme ekranıBridge bu cihazı reddetti: eşlenmemiş, iptal edilmiş veya süresi dolmuşHiçbir şey kaydedilmedi. Reddetme işlemi kopyayı siler

Tailscale gibi bir VPN, uçak modunda telefonun ağ işaretini açık tutar; bu nedenle çubuk "ağ yok" durumu ile "köprü çöktü" durumunu her zaman ayırt edemez. Bu durumda yalnızca köprünün yanıt vermediğini belirtir.

Uygulama açıkken, çubuk ve kaydedilmiş kopya yanıt alınamayan ilk yoklamada görünür. Bir yoklama en fazla 6 saniye bekler; bu, köprünün çoğullayıcıyı bekleme süresinden bir saniye daha uzundur. Bir sunucu hatası (5xx), art arda ikinci kez alındığında geçerli sayılır. Ekrandaki içerik yerinde kalır ve gelen ilk canlı yanıt canlı görünümü geri getirir.

Uygulamaya döndüğünüz anda, yanıt alınamayan ilk yoklama tek başına sayılmaz. Bir Tailscale bağlantısının geri gelmesi biraz zaman alabilir; bu nedenle telefon yarım saniye sonra tekrar sorar ve çubuğu yalnızca bu yoklama da yanıt alamazsa gösterir.

Ayarlar → Cihaz içindeki Sohbeti bu telefonda tut, Sohbet turlarının telefonda ne kadar süre kalacağını belirler:

Değerİşlevi
KapalıHiçbir Sohbet turunu tutmaz ve önceden tutulanları siler
1 günVarsayılan
7 günBunları bir hafta boyunca tutar

Terminal metninin 24 saatlik kendi kullanım ömrü vardır ve bu ayar bunu değiştirmez. Terminal görünümünde, tek çevrimdışı kopya bu terminal metnidir.

Not. Telefon yalnızca köprünün önceden maskelediği metinleri tutar ve bölme bir parola istediğinde o bölmenin kopyasını siler. Telefonun sakladıkları, her öğeyi, boyut sınırını ve kullanım ömrünü listeler.

Değişiklikler

Files ekranı, Değişiklikler segmenti altında bir ajanın çalışma alanındaki git depolarında neleri değiştirdiğini gösterir. Ayarlar → Cihaz → Değişiklikler içindeki cihaz başına iki ayar, depoları ne kadar derinde arayacağını belirler:

AyarVarsayılanİşlevi
Bu klasörün içindeki depoları araaçıkÜst deponun yoksaydıkları dahil olmak üzere, çalışma alanı klasörünün altındaki klasörlerde bulunan depoları da listeler
Ne kadar derine bakılacağı2Aramanın çalışma alanı klasörünün kaç klasör seviyesi altına ineceği, 1 ila 4

Aramanın nasıl çalıştığını görmek için Hangi klasör ve hangi depolar bölümüne bakın.

Dil

Collie arayüzü on iki dilde kullanılabilir. Bunu Ayarlar → Görünüm → Dil altından yapılandırın.

  • English
  • Deutsch
  • Español
  • 한국어
  • 日本語
  • 中文
  • Русский
  • Italiano
  • Français
  • Português
  • Türkçe

Seçim, cihaz başına tarayıcıda yerel olarak kaydedilir. Terminal yansıması çevrilmeden kalır: ajanın ham çıktısını görüntüler; hızlı yanıtlar, menü etiketleri ve tuş başlıkları ise temel ekran veya klavye adlarıyla eşleşir.

Bildirim başlıkları da aynı seçimi takip eder: Koreceye ayarlanmış bir cihazda "claude needs you" bildirimi "claude 입력 대기" olarak gelir. Cihaz, yeni seçimi Collie üzerinde bir sonraki açılışında uygular; o zamana kadar başlıklar önceki dilde kalır. Başlığın altındaki gövde metni bölmenin kendi adı ve konumudur, asla çevrilmez (Web Push).

Bu sayfayı GitHub üzerinde düzenleyin

The rest of the documentation