Complete field reference for Akshi’s main configuration file. Fields are grouped
by TOML section. All fields are optional unless marked required.
| Field | Type | Default | Description |
enabled | bool | true | Enable the HTTP dashboard and API |
port | u16 | 3210 | TCP port for the dashboard |
bind | string | "127.0.0.1" | Bind address |
token | string | – | Bearer token for API authentication |
auth | bool | true | Require authentication |
cors_origins | string[] | ["http://127.0.0.1:3210"] | Allowed CORS origins |
rate_limit | u32 | 300 | Requests per minute per IP |
rate_limit_burst | u32 | 50 | Burst request allowance |
tls_cert | string | – | Path to TLS certificate (PEM) |
tls_key | string | – | Path to TLS private key (PEM) |
| Field | Type | Default | Description |
enabled | bool | true | Enable inference routing |
profile | string | "default" | Name of the route profile to use |
profile_path | string | – | Path to a custom route profile JSON file |
threshold | f64 | 0.55 | Classification threshold for model selection |
fallback_model | string | – | Model to use when the router cannot classify |
timeout_secs | u64 | 120 | Per-request timeout for inference calls |
max_retries | u32 | 2 | Retry count on transient inference failures |
circuit_breaker_threshold | u32 | 5 | Consecutive failures before opening the circuit |
circuit_breaker_reset_secs | u64 | 60 | Seconds before a half-open retry |
| Field | Type | Default | Description |
log_level | string | "info" | Minimum log level: trace, debug, info, warn, error |
log_format | string | "pretty" | Log format: pretty, json, compact |
log_file | string | – | Write logs to file in addition to stderr |
otel_endpoint | string | – | OpenTelemetry collector endpoint |
otel_protocol | string | "grpc" | OTLP protocol: grpc or http |
metrics_enabled | bool | true | Expose Prometheus metrics on /api/v1/metrics |
| Field | Type | Default | Description |
tick_interval_ms | u64 | 1000 | Agent tick interval in milliseconds |
max_agents | u32 | 64 | Maximum number of concurrent agents |
fuel_limit | u64 | 1_000_000 | Default WASM fuel budget per tick |
memory_limit_mb | u32 | 64 | Per-agent WASM memory limit |
data_dir | string | "./data" | Directory for runtime state (journals, DBs) |
sandbox_mode | string | "wasm" | Sandbox backend: wasm or native |
kill_timeout_secs | u64 | 10 | Grace period before force-killing an agent |
| Field | Type | Default | Description |
enabled | bool | false | Enable mesh networking |
node_name | string | hostname | Human-readable node name |
listen_port | u16 | 7946 | Gossip protocol listen port |
advertise_addr | string | – | Address advertised to peers |
bootstrap_peers | string[] | [] | Initial peer addresses to join |
| Field | Type | Default | Description |
enabled | bool | true | Enable DHT-based peer discovery |
replication_factor | u32 | 3 | Number of replicas for DHT entries |
| Field | Type | Default | Description |
enabled | bool | false | Enable WireGuard tunnel between peers |
private_key | string | – | WireGuard private key (base64) |
listen_port | u16 | 51820 | WireGuard UDP listen port |
allowed_ips | string[] | [] | Allowed IP ranges for the tunnel |
| Field | Type | Default | Description |
strategy | string | "crdt" | Sync strategy: crdt or snapshot |
interval_secs | u64 | 5 | Sync interval between peers |
max_batch_size | u32 | 1000 | Maximum entries per sync batch |
conflict_resolution | string | "lww" | Conflict resolution: lww (last-writer-wins) or merge |
| Field | Type | Default | Description |
enabled | bool | false | Enable Slack notifications |
webhook_url | string | – | Slack incoming webhook URL |
channel | string | – | Override channel name |
notify_on | string[] | ["critical"] | Severity levels that trigger notifications |
| Field | Type | Default | Description |
enabled | bool | false | Enable Discord notifications |
webhook_url | string | – | Discord webhook URL |
notify_on | string[] | ["critical"] | Severity levels that trigger notifications |
| Field | Type | Default | Description |
enabled | bool | false | Enable email notifications |
smtp_host | string | – | SMTP server hostname |
smtp_port | u16 | 587 | SMTP port |
smtp_user | string | – | SMTP username |
smtp_pass | string | – | SMTP password (prefer env var or broker secret) |
from | string | – | Sender address |
to | string[] | – | Recipient addresses |
notify_on | string[] | ["critical"] | Severity levels that trigger notifications |
| Field | Type | Default | Description |
enabled | bool | false | Enable registry client |
url | string | – | Registry server URL |
token | string | – | Authentication token for the registry |
cache_dir | string | "./cache/registry" | Local cache for fetched packages |
| Field | Type | Default | Description |
enabled | bool | false | Enable approval gates |
default_policy | string | "deny" | Default policy when no rule matches: allow or deny |
timeout_secs | u64 | 3600 | Time before a pending approval auto-expires |
notify_channel | string | – | Channel name (slack/discord) to send approval requests |
rules | table[] | [] | Approval rule definitions (see Approval Gates) |