Configuration Reference
Complete walrus.toml reference — every field for models, channels, MCP servers, and directories.
The OpenWalrus daemon is configured via ~/.openwalrus/walrus.toml. This page documents every available field.
# Default models by capability
[model.default]
text = "deepseek-chat"
vision = null
embedding = null
# Provider definitions
[model.providers.deepseek-chat]
model = "deepseek-chat"
api_key = "${DEEPSEEK_API_KEY}"
[model.providers.gpt-4o]
model = "gpt-4o"
api_key = "${OPENAI_API_KEY}"
[model.providers.local-qwen]
model = "Qwen/Qwen2.5-7B-Instruct"
# Messaging channels
[channel.telegram]
token = "${TELEGRAM_BOT_TOKEN}"
[channel.discord]
token = "${DISCORD_BOT_TOKEN}"
guild_id = "123456789"
channel_id = "987654321"
# MCP servers
[mcp_servers.filesystem]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/docs"]
[mcp_servers.github]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-github"]
env = { GITHUB_TOKEN = "${GITHUB_TOKEN}" }
# Sandbox directory (optional)
work_dir = "/home/user/walrus-work"
| Field | Type | Description |
|---|
text | string | Default model for text generation |
vision | string? | Default model for vision tasks |
embedding | string? | Default model for embeddings |
| Field | Type | Description |
|---|
model | string | Model identifier (determines provider via auto-detection) |
api_key | string? | API key (supports ${ENV_VAR} syntax) |
base_url | string? | Custom API endpoint |
| Field | Type | Description |
|---|
token | string | Telegram bot token from @BotFather |
| Field | Type | Description |
|---|
token | string | Discord bot token |
guild_id | string | Discord server ID |
channel_id | string | Discord channel ID |
| Field | Type | Description |
|---|
command | string | Command to start the MCP server |
args | string[] | Command arguments |
env | map? | Environment variables for the server process |
| Field | Type | Description | Default |
|---|
work_dir | string? | Override sandbox directory | ~/.openwalrus/work |
API keys and tokens support ${ENV_VAR} syntax. The daemon resolves these from your shell environment at startup.