Venice's API doesn't support certain OpenAI-compatible parameters that Clawdbot sends by default: - `store`: Venice returns HTTP 400 with no body when this is present - `developer` role: Not supported by Venice's API This adds VENICE_COMPAT settings (supportsStore: false, supportsDeveloperRole: false) to all Venice model definitions, both from the static catalog and dynamically discovered models. Fixes issues reported in PR #1666 where users experienced silent failures (HTTP 400, no body) when using Venice models. Co-authored-by: jonisjongithub <jonisjongithub@users.noreply.github.com> Co-authored-by: Clawdbot <bot@clawd.bot>
2.5 KiB
2.5 KiB
| summary | read_when | ||
|---|---|---|---|
| Skills config schema and examples |
|
Skills Config
All skills-related configuration lives under skills in ~/.clawdbot/clawdbot.json.
{
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: {
"nano-banana-pro": {
enabled: true,
apiKey: "GEMINI_KEY_HERE",
env: {
GEMINI_API_KEY: "GEMINI_KEY_HERE"
}
},
peekaboo: { enabled: true },
sag: { enabled: false }
}
}
}
Fields
allowBundled: optional allowlist for bundled skills only. When set, only bundled skills in the list are eligible (managed/workspace skills unaffected).load.extraDirs: additional skill directories to scan (lowest precedence).load.watch: watch skill folders and refresh the skills snapshot (default: true).load.watchDebounceMs: debounce for skill watcher events in milliseconds (default: 250).install.preferBrew: prefer brew installers when available (default: true).install.nodeManager: node installer preference (npm|pnpm|yarn|bun, default: npm). This only affects skill installs; the Gateway runtime should still be Node (Bun not recommended for WhatsApp/Telegram).entries.<skillKey>: per-skill overrides.
Per-skill fields:
enabled: setfalseto disable a skill even if it’s bundled/installed.env: environment variables injected for the agent run (only if not already set).apiKey: optional convenience for skills that declare a primary env var.
Notes
- Keys under
entriesmap to the skill name by default. If a skill definesmetadata.clawdbot.skillKey, use that key instead. - Changes to skills are picked up on the next agent turn when the watcher is enabled.
Sandboxed skills + env vars
When a session is sandboxed, skill processes run inside Docker. The sandbox
does not inherit the host process.env.
Use one of:
agents.defaults.sandbox.docker.env(or per-agentagents.list[].sandbox.docker.env)- bake the env into your custom sandbox image
Global env and skills.entries.<skill>.env/apiKey apply to host runs only.