OpenWalrusOpenWalrus

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.

Full example

# 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"

model

model.default

FieldTypeDescription
textstringDefault model for text generation
visionstring?Default model for vision tasks
embeddingstring?Default model for embeddings

model.providers.<name>

FieldTypeDescription
modelstringModel identifier (determines provider via auto-detection)
api_keystring?API key (supports ${ENV_VAR} syntax)
base_urlstring?Custom API endpoint

channel

channel.telegram

FieldTypeDescription
tokenstringTelegram bot token from @BotFather

channel.discord

FieldTypeDescription
tokenstringDiscord bot token
guild_idstringDiscord server ID
channel_idstringDiscord channel ID

mcp_servers.<name>

FieldTypeDescription
commandstringCommand to start the MCP server
argsstring[]Command arguments
envmap?Environment variables for the server process

Top-level

FieldTypeDescriptionDefault
work_dirstring?Override sandbox directory~/.openwalrus/work

Environment variables

API keys and tokens support ${ENV_VAR} syntax. The daemon resolves these from your shell environment at startup.

What's next

On this page