Seçili bağlamı inceleyin
context doctor komutunu içeren Bee 1.0.0-beta.16 veya üzeri gerekir. Komut desteğini bee context doctor --help ile kontrol edin.
Ajan, kural ve bağlam dosyalarının içeriklerini isteme eklemeden önce seçili dosyaların boyutunu ve okunabilirliğini inceleyebilir. Doctor, desteklenen araç ve hook bildirimlerini çalıştırmadan sayar. Yinelenen Markdown adayları için ayrı context audit komutunu kullanın. İki komut da kuralları değiştirmez veya hangi yükümlülüklerin kaldırılabileceğine karar vermez.
Geçici bir örnek deneyin
Bölüm başlığı “Geçici bir örnek deneyin”Bash veya zsh içinde çalıştırın. Bu hazırlık, çalışma ağacınızın dışında yapay dosyalar ve boş, özel bir Bee profili oluşturur. pwd -P, fiziksel dizini çözer: macOS’ta /tmp veya /var üzerinden geçen yol, okuyucunun reddettiği bir sembolik bağlantı içerebilir. mcp.json içindeki örnek komut özellikle kurgusaldır.
demo_dir="$(mktemp -d "${TMPDIR:-/tmp}/bee-doctor-demo.XXXXXX")"demo_dir="$(cd "$demo_dir" && pwd -P)"mkdir "$demo_dir/profile"printf '# Review 🐝\nRead selected files, keep required checks, and ask for review before changing any shared rule.\n' > "$demo_dir/rules.md"cp "$demo_dir/rules.md" "$demo_dir/comparison.md"cat > "$demo_dir/mcp.json" <<'JSON'{"mcpServers":{"example":{"command":"bee-docs-example-only","args":["DEMO"],"env":{"EXAMPLE_MODE":"demo"}}}}JSONcat > "$demo_dir/manifest.json" <<JSON{ "schemaVersion": 1, "snapshotId": "doctor-demo", "rootPath": "$demo_dir", "inputs": [ {"id": "rules", "path": "rules.md", "dialect": "markdown-atx-v1"}, {"id": "tools", "path": "mcp.json", "dialect": "mcp-servers-json-v1"} ]}JSONchmod 444 "$demo_dir/rules.md" "$demo_dir/comparison.md" "$demo_dir/mcp.json" "$demo_dir/manifest.json"printf '%s\n' "$demo_dir"Hazırlık yalnız örnek dosyaları yazar. Aşağıdaki Bee komutları, salt okunur izinlere sahip bu dosyaları okur. Doctor manifesti comparison.md dosyasını seçmez.
BEE_HOME="$demo_dir/profile" bee context doctor --helpBEE_HOME="$demo_dir/profile" bee context doctor --manifest "$demo_dir/manifest.json" --json --budget 16384İki komut da 0 ile çıkar. Raporda rules için bir bölümlü read satırı, tools için bir MCP sunucusu ve bir ortam girdisi içeren declared satırı bulunur. Markdown dosyası 109 UTF-8 baytı, 107 UTF-16 kod birimi ve 27 token tahmini içerir. Arı emojisi görünürde tek karakterdir; UTF-8’de dört bayt, UTF-16’da iki kod birimi kullanır. Dosya gövdeleri, başlıklar, komut dizeleri ve ortam değerleri rapora alınmaz.
Kaynağı açıkça seçin
Bölüm başlığı “Kaynağı açıkça seçin”--manifest, normal bir UTF-8 JSON dosyasının mutlak yolunu alır. rootPath mutlak fiziksel dizindir; her girdinin path değeri bu köke göredir. Doctor’da --root seçeneği yoktur. Ek dosya keşfetmez, dependsOn üzerinden yeni yollar açmaz ve özel günlükleri aramaz. Listeden çıkarılan dosya ölçülmemiştir.
Manifest; schemaVersion: 1, bir snapshotId ve benzersiz kimlik/yollarla 1–64 girdi ister. İsteğe bağlı dependsOn, seçili kimliklere başvurur ve döngü oluşturmamalıdır; yükleme sırasını kanıtlamaz. İsteğe bağlı, katı şemalı source, çağıranın verdiği kaynak bildirimidir. sourceBinding: caller_declared_not_verified_against_files, doğrulanmış kaynak veya teslim kaydı değildir; gerekli bildiriminiz yoksa source alanını eklemeyin.
| Diyalekt | Gözlenen bilgi |
|---|---|
markdown-atx-v1 |
.md dosya boyutları ve fiziksel ATX bölüm sayısı; kod çitleri içindeki başlıklar bölüm sınırı değildir |
mcp-servers-json-v1 |
Yalnız mcpServers içeren .json nesnesi; desteklenen komut/URL bildirimleri, ortam ve header girdi sayıları; devre dışı bildirimler de sayılır |
claude-hooks-json-v1 |
Yalnız hooks içeren .json nesnesi; SessionStart, UserPromptSubmit ve PreToolUse için komut hook’ları |
Bunlar sınırlı şemalardır; her yerel ayar dosyası desteklenmez. Bilinmeyen diyalekt unsupported_dialect, desteklenmeyen yapılandırma biçimi unsupported_config verir. Bozuk JSON, çözümlendikten sonra aynı olan özellik adları ve geçersiz Unicode reddedilir. Uygun yönlendirme dosyalarını seçin: yaygın kimlik bilgisi dosya adları reddedilir, ancak doctor genel bir sır tarayıcısı değildir. Kimlikler ve seçili yollar çıktıda görünür.
İşlemden önce bulguları okuyun
Bölüm başlığı “İşlemden önce bulguları okuyun”Her girdinin status ve errorCode alanını kontrol edin. Eksik veya reddedilen girdinin ölçüleri bilinmezdir; sıfır yerine null döner. Okunabilen satırlar korunur, ancak herhangi bir seçili satır okunamıyorsa declaredDiskTotals değeri null olur. Boş seçim geçersizdir. Kısmi gözlemleri tam envanter saymayın.
configuration.inclusion: declared_not_loaded, bildirimleri sayar; çalıştırmayı veya modele teslimi kanıtlamaz. Ayrı bir teslim kanıtı bile modelin kurala uyduğunu göstermez. utf16-ceil-div4 sürüm 1, her dosya için ceil(UTF-16 birimleri / 4) hesaplar ve bu tahminleri toplar. Bunlar gerçek sağlayıcı tüketimi, fatura veya kanıtlanmış tasarruf değildir. Sağlayıcıya atfedilemeyen kalan miktar bilinmezdir; bu CLI kullanım günlüğü eklemez.
Çıktıyı sınırlayın ve çıkışları işleyin
Bölüm başlığı “Çıktıyı sınırlayın ve çıkışları işleyin”--json olmadan da çıktı, sonunda satır sonu bulunan tek JSON belgesidir. --budget, son satır sonu dahil 512–262144 UTF-8 baytı kabul eder; varsayılan 262144’tür. Görünen karakterleri veya UTF-16 birimlerini değil, kodlanmış baytları sayın. Bu bir çıktı boyutu sınırıdır, katı token kotası değildir.
BEE_HOME="$demo_dir/profile" bee context doctor --manifest "$demo_dir/manifest.json" --budget 512Bu örnekte çıkış 5 ve errorCode: output_limit döner. Doctor büyük raporun yerine küçük, tam bir hata belgesi verir; satırları sessizce çıkarmaz, JSON’u kesmez ve --limit seçeneği yoktur. Bütçeyi izin verilen aralıkta artırın veya daha az girdiyi açıkça seçin. Çıktı akışı hataları ikinci JSON yayımlama denemesi olmadan dışarı iletilir.
| Çıkış | Anlamı ve sonraki adım |
|---|---|
0 |
Yardım veya tam gözlem; ölçüleri ve kısıtları inceleyin |
4 |
Geçersiz kullanım; manifesti, tam seçenek adlarını, tekrarları ve bütçe aralığını kontrol edin |
5 |
Geçersiz, eksik, desteklenmeyen veya reddedilen veri; iptal ya da çıktı sınırı; hata koduyla seçimi düzeltin |
Komut tam olarak context doctor ile başlamalıdır. Seçenekler tekrarlanmaz; --json değer almayan bir bayraktır. Baştaki bir bayrak veya --, doctor rotasına dönüştürülmez.
Sınırlar: 64 girdi, dosya başına 262144 bayt, toplam 1048576 seçili bayt, Markdown dosyası başına 64 bölüm ve JSON derinliği 16. Üst dizine geçiş, sembolik bağlantı/reparse point, hardlink ve normal olmayan dosyalar reddedilir. Açık tutulan dosya tanıtıcıları ve yeniden kontroller değişiklikleri saptar; checked_unchanged_not_atomic atomik anlık görüntü sözü vermez.
10 saniyelik süre işbirlikli iptaldir: okuma, ayrıştırma ve doğrulama sırasında iptal kontrol edilir. Takılan eşzamanlı dosya sistemi çağrısını zorla kesemez; takılan çıktı akışını da süreyle sınırlamaz. On saniyede kesin süreç çıkışı garantisi değildir.
Yinelenen adayları inceleyin
Bölüm başlığı “Yinelenen adayları inceleyin”BEE_HOME="$demo_dir/profile" bee context audit --help --jsonBEE_HOME="$demo_dir/profile" bee context audit --from "$demo_dir/rules.md" --against "$demo_dir/comparison.md" --root "$demo_dir" --jsonİki Markdown dosyası aynı olduğundan audit, aday içeren tam raporla 1 döndürür. Audit için 0, adaysız tam sonuç; 4, geçersiz kullanım; 5, eksik sonuçtur. Tüm sonuçları gördüğünüzü varsaymadan önce omittedFindings ve sourceInventory.omittedSections alanlarını inceleyin. Yinelenen aday, kural silme yetkisi değil inceleme dayanağıdır. Context audit ve sınırları.
Sağlayıcının bildirdiği sayaçlar gerektiğinde, desteklenen oturum günlüğünü açıkça seçerek bee budget --measured kullanın; doctor tahminleri bunların yerini tutmaz. Response/history akışlarını ve eksik kanıtları ayrı tutun. Bu kapsam kural önizleme, içe aktarma, uygulama veya kurtarma sağlamaz. Kuralları otomatik değiştirmez; ajan, hook veya bildirilen araçları başlatmaz.