Skip to content

Configuration Schema

This page documents the complete configuration schema for ~/.mooshik/config.toml and every key supported by mooshik config set.

Settable Keys Reference

The following 19 keys can be updated using mooshik config set <key> <value>:

KeyExpected TypeDescription
store.kindsqlite | postgresGraph storage backend.
store.dsn_secretSecret NameVault secret name holding PostgreSQL connection DSN.
store.pathFile PathSQLite database file path.
embedder.kindfixture | bge_m3 | geminiEmbedding provider.
embedder.dimPositive IntegerVector embedding dimension (e.g. 1024 or 1536).
embedder.gemini_projectStringGoogle Cloud project ID for embeddings.
embedder.gemini_locationStringGoogle Cloud region for embeddings (us-central1).
embedder.gemini_modelStringEmbedding model name (gemini-embedding-001).
embedder.gemini_credentialsFile PathPath to service account JSON for embeddings.
daemon.flush_interval_msPositive IntegerBackground flush interval in milliseconds.
companion.base_urlURLEndpoint URL for OpenAI-compatible /v1 companion.
companion.modelStringLanguage model identifier. On the Google posture this needs the publisher prefix: google/gemini-3.7-flash.
companion.api_key_secretSecret NameVault secret name holding companion API bearer key.
companion.authnone | bearer | googleAuthentication method for the companion endpoint.
companion.google_projectStringGoogle Cloud project ID for Vertex AI companion.
companion.google_locationStringGoogle Cloud location for Vertex AI (global).
companion.google_credentialsFile PathPath to service account JSON for Vertex AI companion.
companion.context_windowPositive IntegerMaximum context window tokens.
companion.temperatureNumberSampling temperature for model completions.

TOML Tables Structure

[vault]

Configures the local secret vault encryption provider.

[vault]
provider = "keyring" # "keyring" or "passphrase"

[store]

Defines graph storage persistence.

[store]
kind = "postgres"
dsn_secret = "store-dsn"

[embedder]

Defines vector generation parameters.

[embedder]
kind = "gemini"
dim = 1536
gemini_location = "us-central1"
gemini_model = "gemini-embedding-001"

[companion]

Configures the language model for conversational turns and tool execution.

[companion]
auth = "google"
google_project = "my-project"
google_location = "global"
model = "google/gemini-3.7-flash"
context_window = 32768
temperature = 0.2

[permissions]

Controls tool execution policies.

[permissions]
memory = ["recall", "derive"]
scratch = "prompt"
"mcp.news.*" = "allow"
"mcp.coder.*" = "prompt"

[mcp_servers.<name>]

Configures external stdio Model Context Protocol servers.

[mcp_servers.news]
command = "/home/you/.local/share/mooshik/venv/bin/mooshik-news-mcp"
expose = ["search_news", "fetch_article"]
[mcp_servers.news.env]
MOOSHIK_GEMINI_PROJECT = "gemini-project"