Valitud kontekst ja selgesõnalised teenusepakkujad
Need funktsioonid ilmusid Bee 1.1.0-ga ja on saadaval praeguses versioonis. Kontrolli paigaldust bee --version abil. Valitud sisendi töötlemine ei tõesta üksi lähtekoodi mõistmist, testide käivitamist ega mudelikulu vähenemist.
Vali lähtekontekst
Jaotis „Vali lähtekontekst”context packet loeb ühe checkout’i selgelt valitud failid ja read. See ei kutsu mudelit, ei algata andmebaasi ega värskenda graafi. Vali ülesande jaoks vajalik vahemik; vajadusel leia sümbol enne koodigraafist. Muuda järgmise selection.json tegelikud teed ja read:
{ "selections": [ {"id":"rules","path":"AGENTS.md","required":true}, {"id":"source","path":"src/Example.cs","representation":"body", "startLine":10,"endLine":30,"dependsOn":["rules"]} ]}bee context packet --root /absolute/checkout --manifest selection.json --budget 8192--budget hõlmab tervet UTF-8 JSON-paketti koos lõpu reavahetusega. Kohustuslikud allikad ja sõltuvused peavad mahtuma; liiga väike eelarve annab väljumise 5 ja selgituse stderr-is. Kontrolli complete, omitted, lähteräsisid ning vahemikke. --cache-dir DIR kirjutab valikulise privaatse kohaliku vahemälu; lähteräsisid kontrollitakse iga kord. Vahemälu tabamus ei tõesta teenusepakkuja tokenisäästu. bee mcp serve kirjutuskaitstud bee_context_packet võtab sama valiku manifestJson kaudu; tööriista eelarve katab kogu serialiseeritud vastuse.
Püütud käsuväljund
Jaotis „Püütud käsuväljund”Salvesta algse käsu stdout/stderr-failid ja tegelik väljumiskood ise. output reduce ei käivita teste uuesti; see loeb capture.json suhtelised failiteed:
{"argv":["dotnet","test"],"cwd":"/absolute/checkout","exitCode":1, "stdoutPath":"test.stdout","stderrPath":"test.stderr","captureComplete":true}bee output reduce --manifest capture.json --store /private/raw-output --budget 8192 > reduced.jsonbee output recover --packet reduced.json --out /private/recovered-runAlgse salvestuse sisendipiir on kokku 8 MiB. Katkenud salvestuse korral märgi captureComplete: false. Vähendatud kokkuvõte eelistab diagnostikaridu, teatab väljajätud ja säilitab kaks algset voogu räsitud privaatses artefaktis. Edukas vähendus ei tähenda algse käsu edu. recover kontrollib räsisid ning kirjutab uude kataloogi täpsed stdout.bin ja stderr.bin; olemasolevat sihti ei kirjutata üle. Nurjunud kirjutus võib jätta pooliku kataloogi; kohaletoimetamist tõendab ainult edukas receipt.
Teenusepakkuja profiilid
Jaotis „Teenusepakkuja profiilid”Profiil määrab selgesõnaliselt protokolli, mudeli, autentimise, töökataloogi ja native kliendi käivitatava faili. Bee ei vaheta vaikimisi mudelit ega autentimisviisi. Kohaliku Ollama näide:
{"profiles":[{"id":"local-model","provider":"ollama","protocol":"OllamaChat", "model":"your-installed-model","authMode":"None", "workingDirectory":"/absolute/checkout","endpoint":"http://localhost:11434"}], "aliases":{"local":"local-model"}}bee providers inspect --profiles profiles.json --profile localbee providers run --profiles profiles.json --profile local --context selection.json --prompt-file question.txt --budget 8192bee providers run --profiles profiles.json --profile local --context selection.json --prompt-file question.txt --stream --jsoninspect kontrollib vaid profiili kuju; runnable: not_verified ei tõenda mudelile ligipääsu. run koostab kohaliku paketi ja kutsub valitud teenusepakkujat ühe korra; puuduva kohustusliku konteksti korral kutset ei tehta. Receipt eristab lähte päritolu ja kasutuse. --session-out NEW_FILE salvestab privaatse vestlusoleku; --session FILE jätkab sama profiili seosega. Nurjunud salvestuse järel mudelikutset ei korrata. --budget piirab sisendpaketti, mitte vastust ega receipt’i.
Reaalajas vastuseks lisa --stream ja skriptis --json. JSON-voog annab InvocationStarted, TextDelta, InvocationFinished; kuva iga delta üks kord ning kontrolli lõplikku receipt’i ja väljumiskoodi. Ctrl+C ei taga kauge teenusepakkuja arvelduse peatumist. API-võti ei kuulu profiili ega argv-sse: secretSource viitab keskkonnamuutujale või olemasolevale vault-kirjele; API endpoint peab olema HTTPS või selge loopback. Native konto kasutab NativeAccount ja selget nativeHome; inspekteerimine ei tõenda autentimist.
Protokolli, seansi ja autentimise piirid
Jaotis „Protokolli, seansi ja autentimise piirid”Toetatud API-protokollid on OpenAiResponses, OpenAiChatCompletions, AnthropicMessages, GeminiGenerateContent, GeminiInteractions, AntigravityInteractions ja OllamaChat. API voogedastus töötab OpenAI, Anthropicu, Gemini ja Ollama teedel. Native protokollid on Codex, ClaudeCode, GeminiCli ja AntigravityCli; esimesed kolm toetavad voogu. Antigravity voo korral vastab Unsupported. Codexi voog kasutab paigaldatud kliendi app-server liidest ning nõuab NativeAccount-i; säilitamatud native valikud lükatakse enne kutset tagasi.
Kasuta authMode: "ApiKey" koos secretSource: {"kind":"environment","name":"VARIABLE"} või olemasoleva vault viitega. Profiili maxInputBytes vaikimisi piir on 1 MiB, suurim 16 MiB; sama piir hõlmab tervet serialiseeritud jätkuseansi faili. savedPath: null tähendab, et fail ei jõudnud kohale. Seansifail sisaldab vestlusandmeid ja peab jääma privaatseks. Native Claude Code’i vaikekonto jaoks vali selgelt nativeHomeMode: "Default" ja tegelik vaikimisi ~/.claude; Explicit on eraldi seadistusnimeruum. Profiili vaatlus ei tõenda sisselogimist ega mudeli kasutusõigust.
Valikuline kokkuvõte ja kandidaat-worker
Jaotis „Valikuline kokkuvõte ja kandidaat-worker”worker summarize teeb eraldi mudelikutse; kokkuvõte on kadudega. Sisendit piirab --context-budget, kogu worker JSON-vastust --budget. Vaata context.complete, selectionComplete ja väljajätud. Native kokkuvõte nõuab --allow-native-authority; native kliendi load jäävad jõusse. Hallatava agendi kokkuvõte lükatakse tagasi, sest tööriistaõigusi pole kinnitatud.
bee worker summarize --profiles profiles.json --profile local --context selection.json --prompt-file summary-request.txt --context-budget 8192 --budget 6000bee worker generate --profiles profiles.json --profile local --context selection.json --prompt-file generation-request.txt --store /private/worker-artifacts --target src/Example.cs --expected-sha256 TARGET_SHA --budget 16384 --diff-budget 4096bee worker apply --store /private/worker-artifacts --root /absolute/checkout --target src/Example.cs --expected-sha256 TARGET_SHA --artifact ARTIFACT_ID --candidate-sha256 CANDIDATE_SHAworker generate loob kandidaadi vaid tööriistavaba API-profiiliga. Mudel peab tagastama JSON-objekti ühe string-väljaga content. Tulemus salvestatakse privaatselt, sihtfail ei muutu. Vaata kogu kandidaati üle ning anna receipt’i artifact.id ja candidateSha256 käsule apply. apply kontrollib lähte/sihtfaili/kandidaadi räsisid ega kutsu mudelit; see pole failisüsteemi compare-and-swap garantii. Uue faili korral kasuta mõlemas sammus --expected-sha256 absent. Kandidaat kuni 256 KiB, juhis 64 KiB ja diff 16 KiB. Nurjunud või tühi stdout ei tõenda null mudelikasutust.
Valikuline hosti suunamine
Jaotis „Valikuline hosti suunamine”bee context claude-hook-config --root /absolute/checkout prindib Claude Code’i valikulise seadistuskatke; see ei paigalda ega muuda seadeid. Hook suunab vähemalt 32 KiB lähtefaili piiramatu Read-i selgesõnalisele kontekstivalikule ega möödu hosti lubadest. Codexi/Hermese jaoks üldist väljundi asendamise hook’i ei väideta; kasuta CLI/MCP pakette otseselt. Täpsem CLI ja käsuviide selgitavad muid toiminguid.
Täpsem kasutus ja piirid
Jaotis „Täpsem kasutus ja piirid”Paketi, vahemälu ja MCP täpsed piirid
Jaotis „Paketi, vahemälu ja MCP täpsed piirid”Paketi eelarve hõlmab kogu UTF-8 JSON-i ja lõpureavahetust. Kohustusliku valiku sõltuvuste tervik peab mahtuma muutmata kujul. Kui isegi metaandmed ei mahu, on stdout tühi, väljumiskood 5 ja stderr annab täpsustamissoovituse. Kontrolli complete, omitted, tegelikke reavahemikke ja lähteräsisid. Kohalik tokenihinnang ei ole teenusepakkuja arvestus; lähtefaili tekst ei anna käskude täitmise õigust.
Valikuline –cache-dir /private/bee-context-cache kirjutab valitud teksti privaatsesse kohalikku vahemällu. Bee kontrollib lähteräsisid igal päringul; vahemälu tabamus ei tõesta teenusepakkuja tokenisäästu. Kataloogi eemaldamine viskab vahemälu ära. Vahemälu receipt kirjutatakse stderr-i ning see ei kuulu stdout-paketi eelarvesse. Ilma valikuta vahemälu ei kirjutata; kirjutuskaitstud MCP tööriist hoiab selle välja lülitatud.
MCP bee_context_packet võtab sama valiku väljal manifestJson; juur on serveri käivituskataloog. budgetBytes on 512–262144 ja hõlmab kogu serialiseeritud tööriistatulemust koos JSON-paomärkide ja metaandmetega, kuid mitte JSON-RPC raamimist. Paketi oma budgetBytes on väiksem sisuline piir. Kohalik tööriist ei vaja Bee algseadistust ega autentimist. MCP tööriistad kirjeldavad teisi lepinguid.
Toorväljundi taastamine
Jaotis „Toorväljundi taastamine”capture.json rajad on manifesti suhtes. Püütud sisendite kogupiir on 8 MiB; katkise salvestuse puhul pane captureComplete väärtuseks false. Vähendus eelistab diagnostikaplokke, teatab vahele jäetud read ja hoiab algseid vooge eraldi räsitud privaatses artefaktis. Kui säilitamine nurjub, hoia algsed stdout/stderr-failid alles. Vähenduse õnnestumine ei muuda algse käsu nurjunud väljumiskoodi.
output recover kontrollib artefakti ja mõlema voo räsi enne uude kataloogi stdout.bin ning stderr.bin kirjutamist. Olemasolev siht lükatakse tagasi. Receipt säilitab algse exitCode, signal ja captureComplete; failid võivad sisaldada suvalisi baite. Nurjunud kirjutus võib jätta pooliku kataloogi: kohaletoimetamist kinnitab ainult edukas taastamisreceipt. Puuduva diagnostika jaoks taasta toorvoog.
Selgesõnaline API- ja native-konto profiil
Jaotis „Selgesõnaline API- ja native-konto profiil”Teenusepakkuja käivitus on eraldi toiming, mis võib põhjustada tasu või native-tööriista tegevust. Profiil fikseerib protokolli, mudeli, autentimise ja töökataloogi; native-kliendil ka käivitatava faili ja konto kodu. Bee ei vaheta vaikselt teenusepakkujat, mudelit, kontot ega tasulist API-t. providers inspect kontrollib kuju; runnable not_verified ei tõenda sisselogimist ega mudelile ligipääsu. Vaja on edukat providers run receipt’i.
API-profiili näide; kinnita oma konto mudel ja protokoll enne käivitust:
{ "profiles": [{ "id": "openai-api", "provider": "openai", "protocol": "OpenAiResponses", "model": "gpt-6", "authMode": "ApiKey", "secretSource": { "kind": "environment", "name": "TOOL_OPENAI" }, "workingDirectory": "/absolute/checkout", "endpoint": "https://api.openai.com/v1/", "maxInputBytes": 1048576, "maxOutputBytes": 1048576, "maxOutputTokens": 4096, "timeout": "00:05:00" }]}secretSource viitab olemasolevale environment-muutujale või vault-kirjele; saladuse väärtus ei kuulu profiili ega käsureale. Vault kasutab olemasolevat identiteeti, ei loo ega pööra võtmeid. API endpoint peab olema HTTPS, erandiks selgesõnaline loopback. API-protokollid: OpenAiResponses, OpenAiChatCompletions, AnthropicMessages, GeminiGenerateContent, GeminiInteractions, AntigravityInteractions, OllamaChat. Hallatav AntigravityInteractions vajab ka managedAgent väärtust; see on agendi identiteet, model on soovitud mudel. API-seansid kasutavad Microsoft Agent Frameworki; raamistiku tööriistatsükkel pole toetatud.
Native Codex profiil viitab tegelikule programmile ja olemasolevale konto kodule, mitte shelli alias’ele:
{ "profiles": [{ "id": "codex-account", "provider": "openai", "protocol": "Codex", "model": "gpt-6", "authMode": "NativeAccount", "workingDirectory": "/absolute/checkout", "executable": "/absolute/path/to/codex", "nativeHome": "/absolute/private/codex-home", "arguments": ["--sandbox", "read-only", "--config", "model_reasoning_effort=\"xhigh\""] }], "aliases": { "codex-external": "codex-account" }}Native-protokollid on Codex, ClaudeCode, GeminiCli, AntigravityCli. Adapter juhib mudelit, autentimist, väljundvormingut ja jätkamisargumente ning lubab vaid kontrollitud lisavalikud. Ära lisa arguments väljale login’i, saladust ega mudeli ülekirjutust. Usalduse ja lubade vead jäävad vigadeks; Bee ei logi sisse, muuda usaldust ega lülitu tasulisele API-le. AntigravityCli kohandatud koduvalik pole toetatud.
Claude Code’i vaikekontol on eraldi native-võtmehoidla nimeruum. Olemasoleva vaikekonto jaoks määra päris kasutaja vaikimisi tee selgelt:
{ "profiles": [{ "id": "claude-default-account", "provider": "anthropic", "protocol": "ClaudeCode", "model": "your-entitled-model", "authMode": "NativeAccount", "workingDirectory": "/absolute/checkout", "executable": "/absolute/path/to/claude", "nativeHome": "/absolute/your-home/.claude", "nativeHomeMode": "Default", "arguments": ["--permission-mode", "plan", "--tools", ""] }]}Bee kontrollib enne Claude konfiguratsioonikataloogi override’ide eemaldamist, kas tee vastab praeguse kasutaja vaikekodule. Vaikimisi nativeHomeMode Explicit valib eraldi override-nimeruumi ka siis, kui tee tekst on sama. Autentimisvea järel režiimi ei muudeta. Vanad profiilid säilitavad oma seose; Default on praegu toetatud ainult ClaudeCode native-kontole.
Voogedastus, seansid ja receipt
Jaotis „Voogedastus, seansid ja receipt”bee providers run --profiles profiles.json --profile openai-api \ --context selection.json --prompt-file question.txt --streambee providers run --profiles profiles.json --profile openai-api \ --context selection.json --prompt-file question.txt --stream --jsonJSON-voog sisaldab InvocationStarted, null või rohkem TextDelta sündmusi ja InvocationFinished. Kuva iga textDelta ühe korra; lõplik receipt ei korda teenusepakkuja teksti. Osaline vastus on ajutine: kontrolli lõplikku receipt’i ning väljumiskoodi. Sisendiviga võib lõppeda ilma teenusepakkuja kutseta. Ilma –stream valikuta jääb üks JSON-receipt. Ctrl+C ei taga kaugteenuse genereerimise või arvelduse peatumist.
API voog: OpenAiResponses, OpenAiChatCompletions, AnthropicMessages, GeminiGenerateContent, GeminiInteractions, OllamaChat. Native voog: ClaudeCode, GeminiCli, Codex. AntigravityCli ja AntigravityInteractions annavad voos Unsupported. Codex kasutab paigaldatud app-server liidest ja NativeAccount autentimist, kannab edasi selgesõnalise –sandbox ning -c/–config model_reasoning_effort seaded ja lükkab säilitamatud lipud enne kutset tagasi. Voogudeta Codex kasutab exec’i. inspect näitab protokolli lubatud võimet; päris kontot ja klienti kinnita käivitusega.
–session-out NEW_FILE salvestab privaatse jätkufaili, –session FILE laeb ainult sama profiiliseosega; olemasolevat faili üle ei kirjutata. maxInputBytes on vaikimisi 1 MiB, kuni 16 MiB, ning piirab kogu serialiseeritud seansifaili koos välise ümbrise ja JSON-paomärkidega. Manifestidel on eraldi 256 KiB piir. Kui salvestus ebaõnnestub pärast kutset, ei kutsu Bee mudelit uuesti; tegelik tekst, kasutus ja call ID jäävad receipt’i. savedPath null tähendab, et fail ei jõudnud kohale; returnedWithSuccessfulTurn eristab eduka ja nurjunud vooru jätku. –cache-dir kohaliku tabamuse näitab localCache.status; teenusepakkuja käivitatakse ikka. run –budget piirab sisendpaketti, mitte mudelivastust.
Worker-kandidaadi kontroll ja rakendamine
Jaotis „Worker-kandidaadi kontroll ja rakendamine”worker summarize puhul kontrolli context.complete, selectionComplete, vahele jäetud lähteridu/üksusi ja summaryOmittedBytes. Kohalik tokenihinnang ei hõlma worker’i juhist, raamimist, väljundit ega teenusepakkuja arvet. Native-kokkuvõte vajab –allow-native-authority; kliendi olemasolevad tööriista- ja kirjutusload jäävad jõusse, Bee ei loo kirjutuskaitstud liivakasti. AntigravityInteractions hallatava agendi kokkuvõte lükatakse enne kutset tagasi, sest tööriistaõigus pole kinnitatud. Nurjunud abikutseid ei arvata kogukulust välja.
Arvuta sihtfaili SHA-256 ja asenda TARGET_SHA tegeliku väiketähelise räsiga:
shasum -a 256 src/Example.csbee worker generate --profiles profiles.json --profile local \ --context selection.json --prompt-file generation-request.txt \ --store /private/worker-artifacts --target src/Example.cs \ --expected-sha256 TARGET_SHA --budget 16384 --diff-budget 4096Juhis kirjeldab soovitud asendust. Mudel peab tagastama ühe JSON-objekti ainult string-väljaga content. Bee salvestab privaatse kandidaadi ning annab manifesti/räsi ja piiratud diff-katkendi; siht ei muutu. Vaata artifact.candidatePath täielikku sisu, sest diff ei ole käivitatav patch. Native- ja hallatud agendi kandidaatgenereerimine pole toetatud, sest tööriista/kirjutusõigust ei saa piirata; kasuta tööriistadeta API-profiili.
Anna receipt’i artifact.id ja artifact.candidateSha256 apply käsule sama algse sihträsiga. Uue faili korral kasuta mõlemas etapis –expected-sha256 absent; ülemkataloog peab juba olemas olema. apply kontrollib lähte-, siht- ja kandidaadiräsisid, keeldub muudetud sisendist ega kutsu mudelit. Snapshot-kontroll ja atomaarne asendus ei anna failisüsteemi compare-and-swap garantiid. Kandidaadi piir 256 KiB, CLI juhis 64 KiB, diff 16 KiB, worker stdout 1 MiB. Kui kutsejärgne receipt ei mahu stdout’i, jäävad call ja artefakti viited stderr-i; tühi stdout ei tähenda nullkasutust. Unixis lükatakse mitteprivaatne hoidla tagasi; Windowsi ACL-privaatsust pole sõltumatult kinnitatud.
Hosti suunamise piirid
Jaotis „Hosti suunamise piirid”Lisa Claude’i seadistuskatke projektile alles pärast kontrolli. Hook uurib vähemalt 32 KiB lähtefaili piiramatu Read puhul ainult metaandmeid; enne hosti luba ei loe ega sisesta lähtekoodi. Selge offset/limit lugemine, dokumendid ja juhisefailid jäävad tavalisse lubade voogu. Suunamisviga seda ei katkesta. Käsu ning väljastatud hosti timeout on kaks sekundit; hook ei kutsu mudelit ega ehita graafi.
| Host | Tee | Piir |
|---|---|---|
| Claude Code | Valikuline PreToolUse suunamine ja CLI/MCP paketid | Järgmine tööriistakutse tuleb eraldi teha; katke sihib POSIX shell’i. |
| Codex | Selgesõnalised CLI/MCP paketid | Üldist tulemuse asendamise hook’i ei väideta. |
| Hermes | Selgesõnalised CLI/MCP paketid | Olemasolev retained-context on eraldi; üldist interception’it ei paigaldata. |