İçeriğe geç

İleri CLI iş akışları

Bu komutlar Bee’nin güncel kararlı sürümü için belgelenmiştir. Amaçlanan checkout içinde çalıştırın. Kurulu ikiliyi bee --version ile kontrol edin; farklı sürümün davranışı değişebilir. Diğer komutlar için komut referansına, ajan okumaları için MCP araçlarına bakın.

artifact add, UTF-8 kaynak dosyayı fiziksel checkout kapsamındaki özel depoya kopyalar. JSON (varsayılan; alırken doğrulanır) veya metin kabul eder; kaynak başına sınır 1 MiB, checkout başına 64 artefakttır. Okuma manifesti ve saklanan baytları doğrular; kaynak dosyayı yeniden okumaz ve komutu yeniden çalıştırmaz. MCP erişimi de gerekiyorsa seçili Bee instansının artifacts dizinini kullanın.

Terminal window
# reports/results.json içeren Git checkout'unda çalıştırın.
checkout="$(git rev-parse --show-toplevel)"
artifact_store="$HOME/.bee/artifacts" # varsayılan instans; isimli instansta seçili kökü kullanın
bee artifact add --root "$checkout" --store "$artifact_store" --file reports/results.json --format json
# Dönen id (SHA-256) değerini artifact_id içine koyun.
artifact_id='<returned-id>'
bee artifact search --root "$checkout" --store "$artifact_store" --text 'failed' --limit 20 --offset 0 --budget 65536
bee artifact get --root "$checkout" --store "$artifact_store" --id "$artifact_id" --out "$checkout/recovered-results.json"

add çıktısı id, root, sourcePath, sourceSha256, sourceBytes, format ve ham kayıt metadatasını içerir. search, tüm checkout arşivinde veya tek --id üzerinde birebir satır araması yapar. Çıktıda schemaVersion, (arşiv aramasında) artifactsSearched, sayfalamadan önceki matchedRecords, offset, nextOffset ve artefakt kimliği, kaynak hash/yol, satır ve metin içeren rows vardır. Tek ID aramasında ayrıca artifactId, sourceSha256, operation: "search", totalRows yer alır. get yeni dosya oluşturur; mevcut dosyanın üzerine yazmaz. Başarılı yanıtta status: "recovered", id, sourceSha256, sourceBytes bulunur.

Saklanan JSON dizisini, kod veya SQL çalıştırmadan sorgulayın. Sorgu dosyası en çok 64 KiB olabilir. JSON Pointer, diziyi ve satır alanlarını seçer; boş arrayPointer en üst düzey diziyi seçer. eq/ne tür duyarlıdır, contains metni, exists alan varlığını sınar. Eksik alan JSON null değerinden farklıdır; ne yalnız mevcut alanlarla eşleşir. countOnly satır döndürmez; groupBy skaler pointer ister. limit 1–1000, varsayılan 100’dür.

{
"arrayPointer": "/results",
"filters": [{"pointer": "/outcome", "operation": "eq", "value": "failed"}],
"select": ["/name", "/outcome"],
"offset": 0,
"limit": 20,
"maximumOutputBytes": 65536
}

Bu nesneyi query.json olarak kaydedin:

Terminal window
bee artifact query --root "$checkout" --store "$artifact_store" --id "$artifact_id" --query-file query.json

Yanıt schemaVersion, artifactId, sourceSha256, operation: "query", matchedRecords, totalRows, offset, nextOffset, rows alanlarını taşır. Arama/sorgu tam JSON sonucu çıktı bütçesine sığmazsa kanıtı sessizce kesmek yerine hata verir. Kaynak, tam Git checkout içindeki normal bir dosya olmalı; symlink/hardlink kabul edilmez. Depo özel tutulmalıdır. Sözdizimi hatası çıkış 4; reddedilen girdi, eksik/bozuk kayıt, bütçe ve iptal çıkış 5; hata kodu stderr’de errorCode olarak verilir.

representation encode sürümlü JSON-değer paketi üretir; sütunlu temsil ancak tam zarfı daha küçükse seçilir. JSON değerleri ve sayıların yazımı korunur, özgün boşluklar ve alan sırası korunmaz. Tam kaynak baytı için artefakt geri yüklemeyi kullanın.

Terminal window
bee representation encode --file reports/results.json --encoding cl100k_base > packet.json
bee representation decode --file packet.json > decoded.json

Diğer desteklenen --encoding, o200k_base değeridir; varsayılan cl100k_base. Paket format, encoding, token sayıları ve içeriği bildirir. Sayılar seçili yerel kodlamayı anlatır, sağlayıcı faturasını değil. JSON girdi sınırı 1 MiB’dir. Hatalı paket veya aşırı büyük açılım kısmi JSON yerine hata döndürür. Komutlar yerel dosyayı okur, yalnız stdout’a yazar; yönlendirme dosya yazma işleminizdir.

İsteğe bağlı düzyazıyı sıkıştırma ve özgünü kurtarma

Bölüm başlığı “İsteğe bağlı düzyazıyı sıkıştırma ve özgünü kurtarma”

Sıkıştırma varsayılan olarak kapalıdır ve kayıplıdır. Yalnız açıkça prose olarak sınıflandırılan metni kabul eder. Kod, prompt, talimat, karma paket, hukuki veya tam test kanıtı vermeyin. setup, yerel Python runtime ve modeli kurup indirebilen tek adımdır; sıkıştırmayı açmaz.

Terminal window
bee compression settings show
bee compression setup --python python3
bee compression doctor
bee compression settings on
bee context compress --input notes.txt --content-kind prose --rate 0.5
# Sıkıştırma yanıtındaki originalSha256 değerini kullanın:
bee compression recover --sha256 '<originalSha256>'

--rate aralığı 0.1–0.9’dur. Yanıtta status, text, originalSha256, isteğe bağlı originalPath/compressedSha256, semanticRisk, yerel originalTokens/compressedTokens ve varsa runtime ölçümleri bulunur. Kurtarma status: "recovered", tam text ve doğrulanmış sha256 döndürür. Kapalı durum özgünü verir; başarılı sıkıştırma dahi semanticRisk: true işaretler. Anlamına güvenmeden önce özgünü inceleyin. Yerel adaptörde örtük bulut fallback’i yoktur. Girdi sınırı 64 KiB/8.192 yerel token, çıkarım süresi 120 saniyedir. Ayar ve özgünler seçili instans kökünde tutulur; bunlar yerel yazmalardır. Geçersiz kullanım çıkış 4; eksik runtime/sıkıştırma/kurtarma çıkış 5. Diğer seçenekler için bağlam ve sağlayıcı araçlarına bakın.

symbol, tek deklarasyonu bulmak için mevcut ve güncel C# graph’ı kullanır. Sembol ID’sini graph outline çıktısından, kaynak SHA-256 değerini graph/kaynak kanıtından alın. Hash, seçim ile yazma arasında değişmiş kaynağı korur. UTF-8 C# replacement metnini replacement.txt içine koyun; checkout içinde yeni .cs dosyası graph’ı bayatlatır. Öneriyi inceleyin:

Terminal window
checkout="$(git rev-parse --show-toplevel)"
bee graph build --json
bee graph outline src/Example.cs --json
shasum -a 256 src/Example.cs # ilk alanı <source-sha256> olarak kopyalayın
bee symbol preview --root "$checkout" --symbol '<symbol-id>' --expected-sha256 '<source-sha256>' \
--operation replace --replacement-file replacement.txt --budget 65536 --json
# Önizleme ve hash kontrolünden sonra:
bee symbol apply --root "$checkout" --symbol '<symbol-id>' --expected-sha256 '<source-sha256>' \
--operation replace --replacement-file replacement.txt --budget 65536 --json
bee graph build --json

İşlemler replace, insert-before, insert-after; --replacement-file - stdin okur. preview yazmaz. apply yalnız doğrulanmış deklarasyon satırlarını değiştirir ve UTF-8 BOM’u korur. Yanıt ok, applied, supportedLanguage: "csharp", varsa errorCode ve edit ayrıntıları (path, symbolId, graph/kaynak/aday hash’leri, işlem, bayt aralığı, before, after) içerir. apply graph’ı yeniden oluşturmaz, derleme/test yapmaz. Replacement 64 KiB, kaynak/aday 256 KiB, çıktı bütçesi 512–262144 bayt (varsayılan 65536). Belirsiz sembol, bayat graph veya hash uyuşmazlığı yazmayı reddeder. Geçersiz sözdizimi/girdi çıkış 4; reddedilen düzenleme çıkış 5’tir.

design HTML, klasör veya ZIP’i çevrimdışı okur; script çalıştırmaz. prepare sağlayıcı için yerel transfer paketi yazar, upload yapmaz. import tam ham mock ve indeks saklar. list kararlı ID’leri verir, slice bir ID’nin sınırlı kaynak/bağımlılık bağlamını, map kaynak ile implementasyon bağlantısını, verify bütünlük kontrolünü sağlar. Kaynak/çıktı için fiziksel yol kullanın; macOS’ta /tmp symlink olduğundan örnek home altında klasör açar.

Terminal window
bee design doctor
demo_dir="$(mktemp -d "$HOME/bee-doc-demo.XXXXXX")"
bee design prepare mock.zip --output "$demo_dir/transfer"
bee design import mock.zip --output "$demo_dir/bundle"
bee design list "$demo_dir/bundle"
bee design slice "$demo_dir/bundle" --id '<id-from-list>' --budget 65536
bee design map "$demo_dir/bundle" --mapping mapping.json
bee design verify "$demo_dir/bundle" --json

mapping.json içinde id, mutlak target ve fixture yolları, reuseStrategy (direct-extract, constrained-transform, existing-component, rebuild-region) ve isteğe bağlı route, expectedRevision, reason bulunur; rebuild-region gerekçe ister. prepare isteğe bağlı kullanıcı tanımlı --provider-file-limit-bytes ve --provider-total-limit-bytes alır; Bee sağlayıcının limitini keşfetmez. slice için --id zorunlu, bütçe 512–65536 bayttır. Çıktılar schemaVersion/status taşır; sonuç işlemlerinde veri result içindedir, import ise bundle, revision, dosya/öğe/sınır sayılarını ve visualAcceptance: false alanını bildirir. Slice complete, segments, dependencies, limitations ve atlananların sayısını taşır. Çıkış 0 tam, 4 geçersiz kullanım, 5 eksik/reddedilmiş. verify hash ve bağımlılık kapanışını kontrol eder; ekran görüntüsü eşleşmesi veya tasarım onayı değildir. Kaynak export için tasarım skill’ine bakın.

Görsel kontroller ayrı Node runner ister. doctor yalnız uygunluk bilgisidir; paket kurmaz, tarayıcı hazır olduğunu kanıtlamaz. demo_dir değerini korumak için aynı shell’de devam edin. Yeni klasöre export edip kilitli bağımlılıkları açıkça kurun; içe alınmış tasarım paketinden spec taslağı üretip tamamlayın:

Terminal window
bee visual doctor
bee visual export-runner --output "$demo_dir/visual-runner"
cd "$demo_dir/visual-runner" && npm ci
bee visual init --bundle "$demo_dir/bundle" --output "$demo_dir/visual-draft.json"
# Taslaktaki selector, runtime profili, fixture, recipe ve bölge kontrollerini tamamlayın.
bee visual reference --request /absolute/path/reference-request.json --runner-dir "$demo_dir/visual-runner"
bee visual capture --request /absolute/path/capture-request.json --runner-dir "$demo_dir/visual-runner"
bee visual compare --request /absolute/path/compare-request.json --runner-dir "$demo_dir/visual-runner"
bee visual report --request /absolute/path/report-request.json --runner-dir "$demo_dir/visual-runner"
İşlem Üretilen kanıt
select specPath, policyPath ve göreli changedPaths ile senaryoları seçer; coverage bildirir, görsel kontrol çalıştırmaz.
cache-clean Varsayılan olarak referans cache temizliğini önizler; yalnız remove: true içeren açık istek doğrulanmış Bee cache kayıtlarını siler.
reference Bildirilen tasarım kaynağını referans olarak yakalar; uygulama ekran görüntüsünü golden yapmaz.
capture Açık web.files hash’leri ve source build/artefakt kimliğiyle uygulamayı yakalar; uygulama kaydı her zaman tazedir.
compare Seçili bölgeleri, state/fixture/profile/kaynak/artefakt kimliğini denetler; sınırlı bulgularla comparison.json yazar.
report Var olan karşılaştırma artefaktlarını doğrular, script içermeyen HTML raporu yazar; upload yapmaz.

Referans/capture istekleri mutlak specPath ve outputDir, isteğe bağlı scenarioIds ve web kaynağı içerir. Capture ayrıca web.files: [{path, sha256}] ve source: {sourceId, buildId, artifactSha256} ister. Export edilen runner’da tam JSON şemaları ve tamamlanmış istekler üreten açık demo bulunur.

İstek şema sürümü 1 olmalı ve yol alanlarında mutlak yol kullanılmalı; browser capture için kurulu tarayıcı veya istekte açık browserExecutable gerekir. --node mutlak Node yolu seçer; --timeout 1–300 saniye (varsayılan 60). init, requiresCompletion: true, acceptance: false içeren taslak yazar; yer tutucuları tamamlayın. Runner yanıtları schemaVersion, operation, status, exitCode, trusted: false, acceptance: false taşır. Çıkış 0 runner geçişi, 3 görsel uyuşmazlık, 4 eksiklik, diğer sıfır dışı değerler hata demektir. Kullanıcının sunduğu kanıt hâlâ güvenilmezdir; rapor tanısaldır ve insan incelemesi ister.

Aynı makinede birden fazla Bee instansını ayırma

Bölüm başlığı “Aynı makinede birden fazla Bee instansını ayırma”

Eski varsayılan instans ~/.bee konumundadır. İsimli instansın ayrı bootstrap, veritabanı, collaboration alanı, persona, worker yapılandırması ve yerel durumu vardır. Checkout yolunu, gerekiyorsa remote desenini eşleyin. İş kaydetmeden önce gerçek çözülmüş kapsamı kontrol edin:

Terminal window
bee instance list --json
bee instance add demo --path /absolute/path/to/checkout --json
bee instance which /absolute/path/to/checkout --json
cd /absolute/path/to/checkout
bee instance show --verify --json
bee instance doctor --json
bee instance env demo --shell zsh

add tekrarlı --path/--remote alır; map ve unmap tek eşlemeyi (--path veya --remote) değiştirir. policy --unmatched legacy|hooks-silent|deny eşleşmeyen yolları yönetir. exec <name> [--cwd DIR] -- <cmd> seçili kapsamda alt süreç çalıştırır ve çıkış kodunu korur; çağıran oturumun pin’i geçerlidir. stamp veritabanı sahipliğini kontrol/kaydeder; worker-agent yerel worker yapılandırmasını üretir, yalnız --write ile yazar. doctor --scan DIR kapsamı genişletir, --fix-permissions açık yazmadır. remove yönlendirme kaydını kaldırır, instans verisini silmez. sessions prune --older-than DAYS --yes eski native oturum ID’lerini kalıcı engeller; çalışan harness’i algılayamaz. Bu komutu bilinçli temizlik için kullanın.

which, pin’den bağımsız yol yönlendirme önizlemesidir; JSON’da name, reason, matchedPath, matchedRemote, root verir. show --verify ise aktif instansı, bootstrap ve stamp tanılarıyla bildirir. Tek başına checkout yolu aktif kapsamı belirlemez: remote eşlemesi, --instance/BEE_INSTANCE veya canlı oturum pin’i etkileyebilir. Çakışma veriyi karıştırmak yerine çıkış 8 ile reddedilir. Kurumlar arası gerçek sınır için her instansa ayrı kapsamlı veritabanı ve broker hesabı verin. Yapılandırma ve sorun giderme bölümlerine bakın.

collaborate launch, görevi mevcut kimliği doğrulanmış collaboration oturumu üzerinden yerel worker başlatmayı açmış node’a yollar. Çalıştırılabilir dosyayı, argümanları, ortamı, workspace izin listesini ve kapasiteyi alıcı belirler. Önce yerel politikayı inceleyin; inceleme veya sıraya alınmış istek süreç başladığını kanıtlamaz.

Terminal window
bee worker profiles --json
bee worker inspect '<profile>' --space '<space>' --workspace '<workspace-key>' --json
BEE_COLLABORATE_SESSION_ID='<joined-session-id>' bee collaborate launch \
--request '<stable-uuid>' --node '<exact-node-id>' --profile '<profile>' \
--workspace '<workspace-key>' --prompt-file task.txt --ttl-seconds 300 --json
BEE_COLLABORATE_SESSION_ID='<joined-session-id>' bee collaborate launch-status --request '<stable-uuid>' --json

--prompt-file - stdin okur; görev metni en fazla 128 KiB’dir. --ttl-seconds 5–3600, varsayılan 300. Durumu incelemek veya launch-cancel --request ... ile iptal etmek için aynı kararlı UUID’yi kullanın; yeni UUID ile tekrar yeni niyet oluşturabilir. Başarılı yanıt requestId, scope, nodeId, profile, workspace, state, version, oluşturma/sona erme/güncelleme zamanı, cancelRequested, process metadata alanlarını taşır. nativeBinding: "not_verified", agentOutcome: "not_assessed", qa: "not_assessed" başlatma fişinin iş kabulü olmadığını gösterir. Gerçek harness oturumunu, dosyaları ve testleri doğrulayın. Belirsiz sonuç aynı node/space’te başka başlatmaları durdurur; ikinci istekle aşmayın. Collaboration ve planlar bölümlerine bakın.