Skills
Konfiguracja Skills
Większość konfiguracji ładowania/instalacji Skills znajduje się w sekcji skills w
~/.openclaw/openclaw.json. Widoczność Skills specyficzna dla agenta znajduje się w
agents.defaults.skills i agents.list[].skills.
{
skills: {
allowBundled: ["gemini", "peekaboo"],
load: {
extraDirs: ["~/Projects/agent-scripts/skills", "~/Projects/oss/some-skill-pack/skills"],
watch: true,
watchDebounceMs: 250,
},
install: {
preferBrew: true,
nodeManager: "npm", // npm | pnpm | yarn | bun (Gateway runtime still Node; bun not recommended)
},
entries: {
"image-lab": {
enabled: true,
apiKey: { source: "env", provider: "default", id: "GEMINI_API_KEY" }, // or plaintext string
env: {
GEMINI_API_KEY: "GEMINI_KEY_HERE",
},
},
peekaboo: { enabled: true },
sag: { enabled: false },
},
},
}
Do wbudowanego generowania/edycji obrazów preferuj agents.defaults.imageGenerationModel
wraz z podstawowym narzędziem image_generate. skills.entries.* jest przeznaczone tylko dla niestandardowych
lub zewnętrznych przepływów pracy Skills.
Jeśli wybierzesz konkretnego dostawcę/model obrazu, skonfiguruj też klucz
uwierzytelniania/API tego dostawcy. Typowe przykłady: GEMINI_API_KEY lub GOOGLE_API_KEY dla
google/*, OPENAI_API_KEY dla openai/* oraz FAL_KEY dla fal/*.
Przykłady:
- Natywna konfiguracja w stylu Nano Banana Pro:
agents.defaults.imageGenerationModel.primary: "google/gemini-3-pro-image-preview" - Natywna konfiguracja fal:
agents.defaults.imageGenerationModel.primary: "fal/fal-ai/flux/dev"
Listy dozwolonych Skills agenta
Użyj konfiguracji agenta, gdy chcesz mieć te same katalogi główne Skills na maszynie/w obszarze roboczym, ale inny widoczny zestaw Skills dla każdego agenta.
{
agents: {
defaults: {
skills: ["github", "weather"],
},
list: [
{ id: "writer" }, // inherits defaults -> github, weather
{ id: "docs", skills: ["docs-search"] }, // replaces defaults
{ id: "locked-down", skills: [] }, // no skills
],
},
}
Zasady:
agents.defaults.skills: wspólna bazowa lista dozwolonych Skills dla agentów, które pomijająagents.list[].skills.- Pomiń
agents.defaults.skills, aby domyślnie nie ograniczać Skills. agents.list[].skills: jawny końcowy zestaw Skills dla tego agenta; nie jest scalany z ustawieniami domyślnymi.agents.list[].skills: []: nie udostępnia żadnych Skills temu agentowi.
Pola
- Wbudowane katalogi główne Skills zawsze obejmują
~/.openclaw/skills,~/.agents/skills,<workspace>/.agents/skillsoraz<workspace>/skills. allowBundled: opcjonalna lista dozwolonych tylko dla pakietowanych Skills. Po ustawieniu kwalifikują się tylko pakietowane Skills z listy (Skills zarządzane, agenta i obszaru roboczego pozostają bez zmian).load.extraDirs: dodatkowe katalogi Skills do skanowania (najniższy priorytet).load.watch: obserwuj foldery Skills i odświeżaj migawkę Skills (domyślnie: true).load.watchDebounceMs: debounce dla zdarzeń obserwatora Skills w milisekundach (domyślnie: 250).install.preferBrew: preferuj instalatory brew, gdy są dostępne (domyślnie: true).install.nodeManager: preferencja instalatora node (npm|pnpm|yarn|bun, domyślnie: npm). Dotyczy to tylko instalacji Skills; środowisko wykonawcze Gateway nadal powinno być Node (Bun nie jest zalecany dla WhatsApp/Telegram).openclaw setup --node-managerma węższy zakres i obecnie akceptujenpm,pnpmlubbun. Ustawskills.install.nodeManager: "yarn"ręcznie, jeśli chcesz instalacje Skills oparte na Yarn.
entries.<skillKey>: nadpisania dla poszczególnych Skills.agents.defaults.skills: opcjonalna domyślna lista dozwolonych Skills dziedziczona przez agentów, które pomijająagents.list[].skills.agents.list[].skills: opcjonalna końcowa lista dozwolonych Skills dla danego agenta; jawne listy zastępują odziedziczone ustawienia domyślne zamiast je scalać.
Pola dla poszczególnych Skills:
enabled: ustawfalse, aby wyłączyć Skill, nawet jeśli jest pakietowany/zainstalowany.env: zmienne środowiskowe wstrzykiwane dla uruchomienia agenta (tylko jeśli nie są już ustawione).apiKey: opcjonalne ułatwienie dla Skills deklarujących główną zmienną env. Obsługuje zwykły ciąg tekstowy lub obiekt SecretRef ({ source, provider, id }).
Uwagi
- Klucze w
entriesdomyślnie mapują się na nazwę Skill. Jeśli Skill definiujemetadata.openclaw.skillKey, użyj zamiast tego tego klucza. - Priorytet ładowania to
<workspace>/skills→<workspace>/.agents/skills→~/.agents/skills→~/.openclaw/skills→ pakietowane Skills →skills.load.extraDirs. - Zmiany w Skills są wykrywane w następnej turze agenta, gdy obserwator jest włączony.
Skills w piaskownicy i zmienne env
Gdy sesja działa w piaskownicy, procesy Skills działają wewnątrz skonfigurowanego backendu piaskownicy. Piaskownica nie dziedziczy process.env hosta.
Użyj jednego z poniższych:
agents.defaults.sandbox.docker.envdla backendu Docker (lubagents.list[].sandbox.docker.envdla danego agenta).- Wbuduj env w niestandardowy obraz piaskownicy lub zdalne środowisko piaskownicy.