Skip to main content

Module schema

Module schema 

Source
Expand description

Configuration schema — re-exported from zeroclaw-config.

Modules§

v1
v2

Structs§

AcpConfig
ACP (Agent Client Protocol) server configuration ([acp] section).
Ai21ModelProviderConfig
AihubmixModelProviderConfig
AliasedAgentConfig
Configuration for an aliased agent. Each [agents.<alias>] TOML block deserializes into one of these. The DelegateTool looks up entries here to dispatch a subtask to a named sibling agent.
AnthropicModelProviderConfig
Anthropic model model_provider config. No family-specific extras yet — typed slot reserved for future Anthropic-only knobs (cache_control, beta headers) so they land cleanly without another schema rework.
AnyscaleModelProviderConfig
AssemblyAiSttConfig
AssemblyAI STT model_provider configuration ([transcription.assemblyai]).
AssemblyAiTranscriptionProviderConfig
AstraiModelProviderConfig
AtomicChatModelProviderConfig
AuditConfig
Audit logging configuration
AvianModelProviderConfig
AzureModelProviderConfig
Azure OpenAI model model_provider config. Carries the Azure-specific connection fields (resource, deployment, api_version) — the URI template substitutes {resource} and {deployment} at runtime. Operators can still override the entire endpoint via base.uri.
BackupConfig
Backup tool configuration ([backup] section).
BaichuanModelProviderConfig
BasetenModelProviderConfig
BedrockModelProviderConfig
AWS Bedrock model model_provider config. Carries the AWS region (the URI template substitutes {region} from this field). Bedrock auth is SigV4 — credentials come from the standard AWS credential chain (env vars, instance metadata, profile), not from api_key.
BlueskyConfig
Bluesky channel configuration (AT Protocol).
BoxedIo
A boxed async IO stream used when a WebSocket connection is tunnelled through a proxy. The concrete type varies depending on the proxy kind (HTTP CONNECT vs SOCKS5) and the target scheme (ws vs wss).
BrowserComputerUseConfig
Computer-use sidecar configuration ([browser.computer_use] section).
BrowserConfig
Browser automation configuration ([browser] section).
BuiltinHooksConfig
CerebrasModelProviderConfig
ChannelAliasInfo
One [channels.<type>.<alias>] block, with the owning agent (if any) resolved via agents.<agent>.channels. Returned by Config::channels_by_alias().
ChannelsConfig
Top-level channel configurations ([channels] section).
ClassificationRule
A single classification rule mapping message patterns to a model hint.
ClaudeCodeConfig
Claude Code CLI tool configuration ([claude_code] section).
ClaudeCodeRunnerConfig
Claude Code task runner configuration ([claude_code_runner] section).
CloudOpsConfig
Controls the read-only cloud transformation analysis tools: IaC review, migration assessment, cost analysis, and architecture review.
CloudflareModelProviderConfig
CloudflareTunnelConfig
CodexCliConfig
Codex CLI tool configuration ([codex_cli] section).
CohereModelProviderConfig
ComposioConfig
Composio managed OAuth tools integration ([composio] section).
Config
Top-level ZeroClaw configuration, loaded from config.toml.
ConversationalAiConfig
Conversational AI agent builder configuration ([conversational_ai] section).
CopilotModelProviderConfig
CostConfig
Cost tracking and budget enforcement configuration ([cost] section).
CostEnforcementConfig
Configuration for cost enforcement behavior when budget limits are reached.
CostRatesConfig
[cost.rates] — top-level rate-sheet namespace. Mirrors the [providers.*] shape so each subsection here points at the same kind of resource its [providers.*] counterpart configures.
CronJobDecl
A declarative cron job definition ([cron.<alias>]).
CustomModelProviderConfig
CustomTunnelConfig
DataRetentionConfig
Data retention and purge configuration ([data_retention] section).
DeepgramSttConfig
Deepgram STT model_provider configuration ([transcription.deepgram]).
DeepgramTranscriptionProviderConfig
DeepinfraModelProviderConfig
DeepmystModelProviderConfig
DeepseekModelProviderConfig
DelegateToolConfig
Global delegate tool configuration for default timeout values.
DeliveryConfigDecl
Delivery configuration for declarative cron jobs.
DingTalkConfig
DingTalk configuration for Stream Mode messaging
DiscordConfig
Discord bot channel configuration.
DockerRuntimeConfig
Docker runtime configuration ([runtime.docker] section).
DoubaoModelProviderConfig
EdgeTtsProviderConfig
ElevenLabsTtsProviderConfig
EmbeddingRouteConfig
Route an embedding hint to a specific model_provider + model.
EscalationConfig
Escalation routing configuration ([escalation] section).
EstopConfig
Emergency stop configuration.
FileDownloadConfig
Standalone file download tool configuration ([file_download]).
FileUploadBundleConfig
Standalone multi-file bundle upload tool configuration ([file_upload_bundle]).
FileUploadConfig
Standalone file upload tool configuration ([file_upload]).
FirecrawlConfig
Firecrawl fallback configuration for JS-heavy and bot-blocked sites.
FireworksModelProviderConfig
FriendliModelProviderConfig
GatewayClientAuthConfig
Client certificate authentication (mTLS) configuration ([gateway.tls.client_auth]).
GatewayConfig
Gateway server configuration ([gateway] section).
GatewayTlsConfig
TLS configuration for the gateway server ([gateway.tls]).
GeminiCliConfig
Gemini CLI tool configuration ([gemini_cli] section).
GeminiCliModelProviderConfig
GeminiModelProviderConfig
GlmModelProviderConfig
GoogleSttConfig
Google Cloud Speech-to-Text model_provider configuration ([transcription.google]).
GoogleTranscriptionProviderConfig
GoogleTtsProviderConfig
GoogleWorkspaceAllowedOperation
Google Workspace CLI (gws) tool configuration ([google_workspace] section).
GoogleWorkspaceConfig
Google Workspace CLI (gws) tool configuration ([google_workspace] section).
GroqModelProviderConfig
GroqTranscriptionProviderConfig
HardwareConfig
Wizard-driven hardware configuration for physical world interaction.
HeartbeatConfig
Heartbeat configuration for periodic health pings ([heartbeat] section).
HooksConfig
HttpRequestConfig
HTTP request tool configuration ([http_request] section).
HuggingfaceModelProviderConfig
HunyuanModelProviderConfig
HyperbolicModelProviderConfig
IMessageConfig
iMessage channel configuration (macOS only).
IdentityConfig
Identity format configuration ([identity] section).
ImageGenConfig
Standalone image generation tool configuration ([image_gen]).
ImageProviderDalleConfig
OpenAI DALL-E settings ([linkedin.image.dalle]).
ImageProviderFluxConfig
Flux (fal.ai) image generation settings ([linkedin.image.flux]).
ImageProviderImagenConfig
Google Imagen (Vertex AI) settings ([linkedin.image.imagen]).
ImageProviderStabilityConfig
Stability AI image generation settings ([linkedin.image.stability]).
IrcConfig
IRC channel configuration.
JiraConfig
Jira integration configuration ([jira]).
KiloCliModelProviderConfig
KnowledgeBundleConfig
Named knowledge bundle ([knowledge_bundles.<alias>]).
KnowledgeConfig
Knowledge graph configuration for capturing and reusing expertise.
LarkConfig
Lark/Feishu configuration for messaging integration. Lark is the international version; Feishu is the Chinese version.
LeptonModelProviderConfig
LineConfig
LINE Messaging API channel configuration.
LinkEnricherConfig
Automatic link understanding for inbound channel messages ([link_enricher]).
LinkedInConfig
LinkedIn integration configuration ([linkedin] section).
LinkedInContentConfig
Content strategy configuration for LinkedIn auto-posting ([linkedin.content]).
LinkedInImageConfig
Image generation configuration for LinkedIn posts ([linkedin.image]).
LinqConfig
LitellmModelProviderConfig
LlamacppModelProviderConfig
LmstudioModelProviderConfig
LocalWhisperConfig
Local/self-hosted Whisper-compatible STT endpoint ([transcription.local_whisper]).
LocalWhisperTranscriptionProviderConfig
Local / self-hosted Whisper-compatible transcription endpoint. Skips the shared TranscriptionProviderConfig base because it uses a bearer-token scheme and a per-instance URL rather than a vendor API key.
LucidStorageConfig
Lucid CLI sync backend ([storage.lucid.<alias>]).
MarkdownStorageConfig
Markdown directory storage ([storage.markdown.<alias>]).
MatrixConfig
Matrix channel configuration.
MattermostConfig
Mattermost bot channel configuration.
McpBundleConfig
Named MCP server bundle ([mcp_bundles.<alias>]).
McpConfig
External MCP client configuration ([mcp] section).
McpServerConfig
Configuration for a single external MCP server.
MediaPipelineConfig
Automatic media understanding pipeline configuration ([media_pipeline]).
MemoryConfig
Memory backend configuration ([memory] section).
MemoryPolicyConfig
Memory policy configuration ([memory.policy] section).
Microsoft365Config
Microsoft 365 integration via Microsoft Graph API ([microsoft365] section).
MinimaxModelProviderConfig
MistralModelProviderConfig
MochatConfig
Mochat channel configuration (Mochat customer service API)
ModelCostRates
Token-cost rates for a single chat / completion model, in USD per 1M tokens. Every field optional so partial sheets work without ceremony (an operator who only knows the input rate can record it).
ModelProviderConfig
Named model_provider profile definition.
ModelRouteConfig
Route a task hint to a specific model_provider + model.
MoonshotModelProviderConfig
Moonshot model model_provider config. The endpoint field is required (no implicit default) — operators must pick a region explicitly. Migration fills it in from collapsed moonshot-cn / moonshot-intl outer keys.
MqttConfig
MQTT channel configuration (SOP listener).
MultimodalConfig
Multimodal (image) handling configuration ([multimodal] section).
NebiusModelProviderConfig
NevisConfig
Nevis IAM integration configuration.
NevisRoleMappingConfig
Maps a Nevis role to ZeroClaw tool permissions and workspace access.
NextcloudTalkConfig
Nextcloud Talk bot configuration (webhook receive + OCS send API).
NgrokTunnelConfig
NodeTransportConfig
Secure transport configuration for inter-node communication ([node_transport]).
NodesConfig
Configuration for the dynamic node discovery system ([nodes]).
NostrConfig
Nostr channel configuration (NIP-04 + NIP-17 private messages)
NotionConfig
Notion integration configuration ([notion]).
NovitaModelProviderConfig
NscaleModelProviderConfig
NvidiaModelProviderConfig
ObservabilityConfig
Observability backend configuration ([observability] section).
OllamaModelProviderConfig
OnboardStateConfig
Multi-client workspace isolation configuration.
OpenAIModelProviderConfig
OpenAI model model_provider config. The OpenAI-family extras (wire_api, requires_openai_auth) live on the shared ModelProviderConfig base because they’re consumed by validation and runtime helpers that operate on the base struct without family awareness; this wrapper is a thin typed slot, no extra fields.
OpenAITtsProviderConfig
OpenAiSttConfig
OpenAI Whisper STT model_provider configuration ([transcription.openai]).
OpenAiTranscriptionProviderConfig
OpenCodeCliConfig
OpenCode CLI tool configuration ([opencode_cli] section).
OpenRouterModelProviderConfig
OpenVpnTunnelConfig
OpenVPN tunnel configuration ([tunnel.openvpn]).
OpencodeModelProviderConfig
OsaurusModelProviderConfig
OtpConfig
Security OTP configuration.
OvhModelProviderConfig
PacingConfig
Pacing controls for slow/local LLM workloads ([pacing] section).
PairingDashboardConfig
Pairing dashboard configuration ([gateway.pairing_dashboard]).
PeripheralBoardConfig
Configuration for a single peripheral board (e.g. STM32, RPi GPIO).
PeripheralsConfig
Peripheral board integration configuration ([peripherals] section).
PerplexityModelProviderConfig
PinggyTunnelConfig
PipelineConfig
Pipeline tool configuration ([pipeline] section).
PiperTtsProviderConfig
PluginSecurityConfig
Plugin signature verification configuration ([plugins.security]).
PluginsConfig
Plugin system configuration.
PostgresStorageConfig
PostgreSQL storage backend ([storage.postgres.<alias>]).
ProjectIntelConfig
Project delivery intelligence configuration ([project_intel] section).
ProviderCostRates
[cost.rates.providers.*] — provider-shaped rate sheets. Each field here mirrors a corresponding field on [providers.*] with the trailing alias segment replaced by the resource the rate prices. The inner typed wrappers carry the per-provider-type slot layout and own dispatch (their slot list is the single source of truth, shared with their providers counterpart via the for_each_*_provider_slot! macros in crate::providers).
ProxyConfig
Proxy configuration for outbound HTTP/HTTPS/SOCKS5 traffic ([proxy] section).
QQConfig
QQ Official Bot configuration (Tencent QQ Bot SDK)
QdrantStorageConfig
Qdrant vector database backend ([storage.qdrant.<alias>]).
QianfanModelProviderConfig
QueryClassificationConfig
Automatic query classification — classifies user messages by keyword/pattern and routes to the appropriate model hint. Disabled by default.
QwenModelProviderConfig
Qwen model model_provider config. Multi-region (endpoint required) and supports both API key and OAuth flows (auth_mode chooses which).
RedditConfig
Reddit channel configuration (OAuth2 bot).
RekaModelProviderConfig
ReliabilityConfig
Reliability and supervision configuration ([reliability] section).
RiskProfileConfig
Named risk/autonomy profile ([risk_profiles.<alias>]).
RuntimeConfig
Runtime adapter configuration ([runtime] section).
RuntimeProfileConfig
Named runtime/LLM execution profile ([runtime_profiles.<alias>]).
SambanovaModelProviderConfig
SandboxConfig
Sandbox configuration for OS-level isolation
SchedulerConfig
Scheduler configuration for periodic task execution ([scheduler] section).
SecretsConfig
Secrets encryption configuration ([secrets] section).
SecurityConfig
Security configuration for audit logging, OTP, e-stop, IAM/SSO, and WebAuthn.
SecurityOpsConfig
Managed Cybersecurity Service (MCSS) dashboard agent configuration ([security_ops]).
SglangModelProviderConfig
ShellToolConfig
Shell tool configuration ([shell_tool] section).
SignalConfig
SiliconflowModelProviderConfig
SkillBundleConfig
Named skill bundle ([skill_bundles.<alias>]).
SkillCreationConfig
Autonomous skill creation configuration ([skills.skill_creation] section).
SkillImprovementConfig
Skill self-improvement configuration ([skills.auto_improve] section).
SkillInstallSuggestionsConfig
Prompt-triggered skill install suggestions ([skills.install_suggestions] section).
SkillsConfig
Skills loading configuration ([skills] section).
SlackConfig
Slack bot channel configuration.
SopConfig
Standard Operating Procedures engine configuration ([sop]).
SqliteStorageConfig
SQLite storage backend ([storage.sqlite.<alias>]).
StepfunModelProviderConfig
StorageConfig
Persistent storage configuration ([storage] section).
SyntheticModelProviderConfig
TailscaleTunnelConfig
TelegramConfig
Telegram bot channel configuration.
TelnyxModelProviderConfig
TextBrowserConfig
Text browser tool configuration ([text_browser] section).
TogetherModelProviderConfig
ToolCostRates
Rates for a tool that hits a paid external API. Keyed in [cost.rates.tools.<name>] by the tool’s registered name.
ToolFilterGroup
A named group of MCP tool patterns with an activation mode.
ToolReceiptsConfig
HMAC tool execution receipt configuration, per agent ([agents.<alias>.tool_receipts]).
TranscriptionConfig
Voice transcription configuration with multi-provider support.
TranscriptionCostRates
Rates for a transcription model, in USD per minute of audio.
TranscriptionProviderConfig
Shared base for cloud transcription providers. Each cloud family composes this via #[serde(flatten)] base: TranscriptionProviderConfig.
TtsConfig
Text-to-Speech subsystem configuration ([tts]).
TtsCostRates
Rates for a TTS model, in USD per 1M characters.
TtsProviderConfig
Per-instance TTS model_provider configuration ([tts_providers.<type>.<alias>]).
TunnelConfig
Tunnel configuration for exposing the gateway publicly ([tunnel] section).
TwitterConfig
X/Twitter channel configuration (Twitter API v2)
VeniceModelProviderConfig
VercelModelProviderConfig
VerifiableIntentConfig
Verifiable Intent (VI) credential verification and issuance ([verifiable_intent] section).
VllmModelProviderConfig
VoiceDuplexConfig
Voice duplex configuration ([channels.voice_duplex]).
VoiceWakeConfig
Voice wake word detection channel configuration.
WatiConfig
WATI WhatsApp Business API channel configuration.
WeChatConfig
WeChat personal iLink Bot channel configuration.
WeComConfig
WeCom (WeChat Enterprise) Bot Webhook configuration
WeComWsConfig
WeCom AI Bot WebSocket configuration.
WebAuthnConfig
WebAuthn / FIDO2 hardware key authentication configuration ([security.webauthn]).
WebFetchConfig
Web fetch tool configuration ([web_fetch] section).
WebSearchConfig
Web search tool configuration ([web_search] section).
WebhookAuditConfig
Configuration for the webhook-audit builtin hook.
WebhookConfig
Webhook channel configuration.
WhatsAppConfig
WhatsApp channel configuration (Cloud API or Web mode).
XaiModelProviderConfig
YiModelProviderConfig
ZaiModelProviderConfig

Enums§

ActiveStorage
Resolved storage backend variant.
Ai21Endpoint
AihubmixEndpoint
AnthropicEndpoint
Anthropic canonical endpoint.
AnyscaleEndpoint
AssemblyAiTranscriptionEndpoint
AstraiEndpoint
AtomicChatEndpoint
AuthMode
Authentication mode for model model_provider families that support more than one (e.g. Qwen, Minimax can use API key OR OAuth). Families that only support a single auth flow simply omit this field from their config struct.
AvianEndpoint
AzureEndpoint
Azure OpenAI endpoint template. Single variant; the URL is computed at runtime by substituting {resource} and {deployment} from the typed config fields.
BaichuanEndpoint
BasetenEndpoint
BedrockEndpoint
AWS Bedrock endpoint template. Single variant; the URL is computed at runtime by substituting {region} from the typed config field.
CerebrasEndpoint
CloudflareEndpoint
CohereEndpoint
CopilotEndpoint
CronScheduleDecl
Schedule variant for declarative cron jobs.
CustomEndpoint
Custom catch-all for operator-defined endpoints. The endpoint variant has no canonical URL — operators must always set base.uri. The trait return is a sentinel string; the runtime constructor must verify base.uri is set for custom entries and fail with a clear error if not.
DeepgramTranscriptionEndpoint
DeepinfraEndpoint
DeepmystEndpoint
DeepseekEndpoint
DoubaoEndpoint
EdgeTtsEndpoint
ElevenLabsTtsEndpoint
FirecrawlMode
Firecrawl fallback mode: scrape a single page or crawl linked pages.
FireworksEndpoint
FriendliEndpoint
GeminiCliEndpoint
GeminiEndpoint
GlmEndpoint
GoogleTranscriptionEndpoint
GoogleTtsEndpoint
GroqEndpoint
GroqTranscriptionEndpoint
HardwareTransport
Hardware transport mode.
HuggingfaceEndpoint
HunyuanEndpoint
HyperbolicEndpoint
KiloCliEndpoint
LarkReceiveMode
How ZeroClaw receives events from Feishu / Lark.
LeptonEndpoint
LineDmPolicy
DM (1:1 chat) access policy for the LINE channel.
LineGroupPolicy
Group / multi-person chat policy for the LINE channel.
LitellmEndpoint
LlamacppEndpoint
LmstudioEndpoint
LocalWhisperTranscriptionEndpoint
McpTransport
Transport type for MCP server connections.
MinimaxEndpoint
MistralEndpoint
MoonshotEndpoint
Moonshot endpoint variants. Operators pick the region that matches their account; the runtime resolves the URI from the chosen variant unless overridden by base.uri. Code variant is intl-only.
NebiusEndpoint
NovitaEndpoint
NscaleEndpoint
NvidiaEndpoint
OllamaEndpoint
OpenAIEndpoint
OpenAI canonical endpoint. Single variant — OpenAI publishes one base URL.
OpenAITtsEndpoint
OpenAiTranscriptionEndpoint
OpenRouterEndpoint
OpencodeEndpoint
OsaurusEndpoint
OtpMethod
OTP validation strategy.
OvhEndpoint
PerplexityEndpoint
PiperTtsEndpoint
ProxyScope
Proxy application scope — determines which outbound traffic uses the proxy.
QianfanEndpoint
QwenEndpoint
Qwen endpoint variants. Operators pick the region matching their account.
RekaEndpoint
SambanovaEndpoint
SandboxBackend
Sandbox backend selection
SearchMode
Search strategy for memory recall.
SglangEndpoint
SiliconflowEndpoint
SkillsPromptInjectionMode
Skills loading configuration ([skills] section).
StepfunEndpoint
StreamMode
Streaming mode for channels that support progressive message updates.
SyntheticEndpoint
TelnyxEndpoint
TogetherEndpoint
ToolFilterGroupMode
Determines when a ToolFilterGroup is active.
VeniceEndpoint
VercelEndpoint
VllmEndpoint
WhatsAppChatPolicy
Policy for a particular WhatsApp chat type (DMs or groups) when mode = "personal".
WhatsAppWebMode
WhatsApp Web usage mode.
WireApi
Wire protocol flavor for the model_provider client. responses routes through OpenAI’s Codex/Responses API (POST /v1/responses); chat_completions routes through the legacy /v1/chat/completions (or the family’s chat-completions-compatible endpoint). Auto-selected per family when unset.
XaiEndpoint
YiEndpoint
ZaiEndpoint

Constants§

DEFAULT_DELEGATE_AGENTIC_TIMEOUT_SECS
Default delegate tool timeout for agentic runs: 300 seconds.
DEFAULT_DELEGATE_TIMEOUT_SECS
Default delegate tool timeout for non-agentic calls: 120 seconds.
DEFAULT_GWS_SERVICES
Built-in default service allowlist for the google_workspace tool.
TEMPERATURE_RANGE
Valid temperature range for all paths (config, CLI, env override).

Traits§

FamilyEndpoint
Implemented by every *ModelProviderConfig. Multi-region families override to return Some(self.endpoint.uri()); single-endpoint families inherit the None default. Drives ModelProviders::resolved_endpoint_uri, which is itself driven by the for_each_model_provider_slot! macro — so adding a new family without an impl is a compile error.
ModelEndpoint
One trait per family-endpoint enum. Returns the URI template for the chosen variant — a literal URL for fixed endpoints (https://api.openai.com/v1), or a substitution template for computed endpoints (Azure’s https://{resource}.openai.azure.com/...). Substitution happens family-side in the runtime constructor; for non-templated families the return value is the final URL.
TranscriptionEndpoint
Trait that every transcription endpoint enum implements. Mirrors ModelEndpoint / TtsEndpoint for parity.
TtsEndpoint
One trait per family-endpoint enum. Returns the URI for the chosen variant. Mirrors ModelEndpoint for parity across model and TTS.

Functions§

apply_channel_proxy_to_builder
Apply an explicit proxy URL to a reqwest::ClientBuilder, returning the modified builder. Used by channels that specify a per-channel proxy_url.
apply_runtime_proxy_to_builder
build_channel_proxy_client
Build an HTTP client for a channel, using an explicit per-channel proxy URL when configured. Falls back to the global runtime proxy when proxy_url is None or empty.
build_channel_proxy_client_with_timeouts
Build an HTTP client for a channel with custom timeouts, using an explicit per-channel proxy URL when configured. Falls back to the global runtime proxy when proxy_url is None or empty.
build_runtime_proxy_client
build_runtime_proxy_client_with_timeouts
default_nostr_relays
ensure_bootstrap_files
Ensure that essential bootstrap files exist in the workspace directory.
resolve_config_dir_for_data
resolve_runtime_dirs_for_onboarding
Resolve the current runtime config/data directories for onboarding flows.
runtime_proxy_config
set_runtime_proxy_config
validate_temperature
Validate that a temperature value is within the allowed range.
ws_connect_with_proxy
Connect a WebSocket through the configured proxy (if any).

Type Aliases§

ProxiedWsStream
Convenience alias for the WebSocket stream returned by the proxy-aware connect helpers.