Preskočiť na hlavný obsah

Rozšírte bea ask o zručnosti

Naučte bea ask svoje vlastné účtovnícke konvencie pomocou súboru SKILL.md: kde zručnosť žije, ktorá kópia vyhráva, čo musí obsahovať frontmatter a ako dokázať, že sa zručnosť načítala.

Umiestnite súbor SKILL.md vedľa svojho účtovného denníka a bea ask bude dodržiavať vaše vlastné účtovnícke konvencie — vaše názvy kategórií, vašu štruktúru výkazov, vaše interné pravidlá — bez toho, aby ste ich opakovali v každej otázke.

Zručnosť je obyčajný Markdown s malou YAML hlavičkou. bea ask ju objaví pri spustení a ponúkne ju hostovanému asistentovi, ktorý načíta celý text, keď si to otázka vyžiada.

Táto stránka predpokladá, že bea ask vám už funguje. Vyžaduje doplnok ask (uv tool install 'beancount-io[ask]') a prihlasovacie údaje Beancount.io z bea cloud login alebo BEA_TOKEN. Dotazy sa spúšťajú proti vášmu lokálnemu denníku, ale otázka a kontext zručnosti idú do hostovanej AI služby Beancount.io. bea ask nemá JSON výstup. Pozrite si Referenciu CLI pre úplný kontrakt príkazu.

Kde zručnosť žije

bea ask číta dva adresáre, v tomto poradí:

UmiestnenieRozsah
<adresár-denníka>/.agents/skills/Úroveň projektu — jeden denník, zvyčajne zahrnutý v jeho repozitári
~/.config/bea/skills/Úroveň používateľa — každý denník, ktorý otvoríte na tomto počítači

Adresár projektu sa určuje z pracovného adresára, v ktorom spúšťate bea ask, nie z --file. Keď oba adresáre obsahujú zručnosť s rovnakým name, víťazí projektová kópia a používateľská kópia sa ignoruje.

BEA_CONFIG_DIR premiestňuje adresár na úrovni používateľa: nastavte ho a zručnosti sa čítajú z $BEA_CONFIG_DIR/skills/. Inak platí $XDG_CONFIG_HOME/bea/skills/, s návratom na ~/.config/bea/skills/.

Napíšte súbor zručnosti

Jeden adresár na zručnosť, obsahujúci jeden súbor s názvom SKILL.md:

.agents/skills/
└── monthly-report/
    └── SKILL.md

Súbor je YAML hlavička nasledovaná vašimi inštrukciami:

---
name: monthly-report
description: Generates monthly expense summaries grouped by category.
---
 
When the user asks for a spending summary or monthly report:
1. Group all expenses by the top-level account category.
2. Show totals for each category, sorted highest to lowest.
3. Include a grand total at the end.
4. Always specify the currency next to each amount.

Dve polia sú povinné. Súbor, ktorému chýba ktorékoľvek z nich, sa ticho preskočí, takže chýbajúca zručnosť je zvyčajne problém s hlavičkou.

PolePovinnéČo robí
nameánoMalé písmená a pomlčky. Udržujte ho rovnaké ako názov adresára — priorita medzi dvoma umiestneniami sa určuje podľa tejto hodnoty, takže nezhoda robí prepísanie ťažko predvídateľným.
descriptionánoJeden riadok hovoriaci asistentovi, kedy použiť zručnosť. Toto asistent vidí predtým, než sa rozhodne načítať telo.
licensenieVoľný text, zaznamenaný so zručnosťou.
compatibilitynieVoľný text, zaznamenaný so zručnosťou.
metadatanieMap kľúč–hodnota, zaznamenaný so zručnosťou.
allowed-toolsnieZoznam oddelený medzerami, analyzovaný a zaznamenaný.

Napíšte telo ako inštrukcie kolegovi: čo robiť, v akom poradí a ako prezentovať výsledok. Obmedzte sa na konvencie, ktoré sú skutočne vaše. Fakty, ktoré asistent môže prečítať z vášho denníka, nepatria do zručnosti.

allowed-tools nie je hranicou povolení. bea 0.1.0 analyzuje pole a nič iné ho nečíta, takže nič neobmedzuje. Považujte ho za dokumentáciu zámeru. Kontroly, ktoré skutočne platia, sú tie v samotnom príkaze: interaktívne zápisy sa zobrazia, potvrdia a overia predtým, než sa dotknú súboru, globálne --yes neudeľuje povolenie na zápis a režim --print nikdy neaplikuje navrhovaný zápis.

Skontrolujte, že sa načítala

Dajte zručnosti na jedno použitie inštrukciu, ktorú nemôžete prehliadnuť, a potom sa spýtajte čokoľvek.

Vytvorte zručnosť:

mkdir -p .agents/skills/test-skill
cat > .agents/skills/test-skill/SKILL.md << 'EOF'
---
name: test-skill
description: Test skill to verify skill loading works.
---
 
IMPORTANT: Whenever the user asks any question, start your response with the exact phrase "SKILL LOADED".
EOF

Položte otázku v režime jednej odpovede:

bea ask "what accounts do I have?" --print

Odpoveď začínajúca SKILL LOADED znamená, že zručnosť bola objavená a ponúknutá asistentovi.

Potom dokážte, že fráza pochádza zo zručnosti, presunutím adresára mimo strom zručností a zopakovaním otázky:

mv .agents/skills/test-skill ./test-skill.off
bea ask "what accounts do I have?" --print
mv ./test-skill.off .agents/skills/test-skill

Fráza by mala zmiznúť. Presuňte adresár mimo .agents/skills/, nie ho premenujte na mieste: objavovanie sa určuje podľa poľa name v hlavičke, takže adresár premenovaný na test-skill.bak sa stále nájde a stále načíta.

Ak chcete skontrolovať zručnosť na úrovni používateľa, vložte rovnaký súbor pod ~/.config/bea/skills/test-skill/SKILL.md a zopakujte. Ak chcete skontrolovať prioritu, ponechajte obe kópie s rovnakým name a dajte im rôzne frázy: projektová fráza je tá, ktorú by ste mali vidieť.

Po skončení testovaciu zručnosť vyčistite. Platí pre každú otázku, ktorú položíte z tohto adresára.

Zručnosti pre bea ask nie sú zručnosti pre vášho agenta

Tieto zručnosti rozširujú iba vstavaného pomocníka bea ask. Sú iná vec ako kanonické zručnosti Beancount.io, ktoré inštalujete do externého kódovacieho agenta, ako je Claude Code alebo Codex, ktoré riadia príkazy bea zvonku. Ak hľadáte práve to, prečítajte si namiesto toho Účtovníctvo s AI agentmi — pokrýva recepty pre externých agentov od začiatku do konca a žiadny z nich nepotrebuje doplnok ask ani hostovaný účet.

Zdroj: https://beancount.io/sk/docs/Solutions/bea-ask-skills