pub struct Config {Show 47 fields
pub agent: AgentConfig,
pub llm: LlmConfig,
pub skills: SkillsConfig,
pub memory: MemoryConfig,
pub telegram: Option<TelegramConfig>,
pub discord: Option<DiscordConfig>,
pub slack: Option<SlackConfig>,
pub tools: ToolsConfig,
pub execution: ExecutionConfig,
pub a2a: A2aServerConfig,
pub a2a_client: A2aClientConfig,
pub mcp: McpConfig,
pub index: IndexConfig,
pub vault: VaultConfig,
pub security: SecurityConfig,
pub timeouts: TimeoutConfig,
pub cost: CostConfig,
pub gateway: GatewayConfig,
pub daemon: DaemonConfig,
pub scheduler: SchedulerConfig,
pub tui: TuiConfig,
pub acp: AcpConfig,
pub agents: SubAgentConfig,
pub orchestration: OrchestrationConfig,
pub classifiers: ClassifiersConfig,
pub experiments: ExperimentConfig,
pub debug: DebugConfig,
pub logging: LoggingConfig,
pub hooks: HooksConfig,
pub lsp: LspConfig,
pub magic_docs: MagicDocsConfig,
pub telemetry: TelemetryConfig,
pub metrics: MetricsConfig,
pub session: SessionConfig,
pub serve: ServeConfig,
pub cli: CliConfig,
pub quality: QualityConfig,
pub notifications: NotificationsConfig,
pub goals: GoalConfig,
pub cocoon: CocoonConfig,
pub secrets: ResolvedSecrets,
pub worktree: WorktreeConfig,
pub durable: DurableConfig,
pub integrity: IntegrityConfig,
pub caveman: CavemanConfig,
pub knowledge: KnowledgeConfig,
pub plugins: PluginsConfig,
}Expand description
Top-level agent configuration.
Loaded from a TOML file via Config::load. Env-var overrides can be applied
via apply_env_overrides. Secret resolution via VaultProvider
is handled in zeph-core through the SecretResolver trait.
Fields§
§agent: AgentConfig§llm: LlmConfig§skills: SkillsConfig§memory: MemoryConfig§telegram: Option<TelegramConfig>§discord: Option<DiscordConfig>§slack: Option<SlackConfig>§tools: ToolsConfig§execution: ExecutionConfigNamed execution environments for per-turn CWD and env-var selection.
Opt-in — existing configs without [execution] deserialise with all defaults.
a2a: A2aServerConfig§a2a_client: A2aClientConfigClient-side security policy for zeph --connect <URL> (remote-TUI A2A attach).
Separate from [a2a], which governs this process’s own A2A server (#5878).
mcp: McpConfig§index: IndexConfig§vault: VaultConfig§security: SecurityConfig§timeouts: TimeoutConfig§cost: CostConfig§gateway: GatewayConfig§daemon: DaemonConfig§scheduler: SchedulerConfig§tui: TuiConfig§acp: AcpConfig§agents: SubAgentConfig§orchestration: OrchestrationConfig§classifiers: ClassifiersConfig§experiments: ExperimentConfig§debug: DebugConfig§logging: LoggingConfig§hooks: HooksConfig§lsp: LspConfig§magic_docs: MagicDocsConfigMagicDocs auto-maintained markdown (#2702).
telemetry: TelemetryConfigProfiling and distributed tracing configuration.
metrics: MetricsConfigPrometheus metrics export configuration.
session: SessionConfigSession UX settings (recap-on-resume, etc.).
serve: ServeConfigzeph serve persistent agent service settings (spec-068 §9).
cli: CliConfigSession-scoped CLI overrides (bare mode, JSON output, auto-approve).
quality: QualityConfigMARCH self-check quality pipeline configuration.
notifications: NotificationsConfigPer-turn completion notification settings (macOS banners, ntfy webhook).
goals: GoalConfigLong-horizon goal lifecycle configuration.
cocoon: CocoonConfigCocoon display and behaviour settings (independent of [[llm.providers]] Cocoon entry).
secrets: ResolvedSecretsResolved secrets from vault. Never serialized — populated at runtime.
worktree: WorktreeConfigGit worktree isolation configuration.
durable: DurableConfigDurable execution layer configuration ([durable]).
integrity: IntegrityConfigVault-anchor downgrade-resistance configuration ([integrity], issue #6449).
caveman: CavemanConfigUltra-compressed telegraphic output mode configuration ([caveman]).
Toggle at runtime with /caveman [on|off] or via the bundled caveman skill.
knowledge: KnowledgeConfigKnowledge-ingest subsystem configuration ([knowledge]).
Controls zeph knowledge ingest behaviour: provider selection, concurrency cap,
document limit, and recall inclusion of imported rows (spec-067).
plugins: PluginsConfigPlugin subsystem configuration ([plugins]), currently the install-time
name-similarity/typosquat check (spec-043, #5864).
Implementations§
Source§impl Config
impl Config
pub fn apply_env_overrides(&mut self)
Source§impl Config
impl Config
Sourcepub fn load(path: &Path) -> Result<Self, ConfigError>
pub fn load(path: &Path) -> Result<Self, ConfigError>
Load configuration from a TOML file with env var overrides.
Falls back to sensible defaults when the file does not exist.
§Errors
Returns an error if the file exists but cannot be read or parsed.
Sourcepub fn dump_defaults() -> Result<String, ConfigError>
pub fn dump_defaults() -> Result<String, ConfigError>
Serialize the default configuration to a TOML string.
Produces a pretty-printed TOML representation of Config::default().
Useful for bootstrapping a new config file or documenting available options.
The secrets field is always excluded from the output because it is
populated at runtime only and must never be written to disk.
§Errors
Returns an error if serialization fails (unlikely — the default value is always structurally valid).
§Examples
use zeph_config::Config;
let toml = Config::dump_defaults().expect("serialization failed");
assert!(toml.contains("[agent]"));
assert!(toml.contains("[memory]"));