Two kinds of settings:
teach subcommand.
If you do not pass --config PATH and do not set
$OWNSONA_CONFIG, the CLI looks at an OS-specific default:
| OS | Default config path |
|---|---|
| Linux / BSD | ~/.config/ownsona/config.ini |
| macOS | ~/Library/Application Support/ownsona/config.ini |
| Windows | %LOCALAPPDATA%\ownsona\config.ini |
Create the parent directory if it doesn’t exist
(mkdir -p ~/.config/ownsona on Linux, etc.).
For every setting, highest priority wins:
--config, --server, --token, ...).
OWNSONA_SERVER, OWNSONA_TOKEN,
OWNSONA_LLM_API_KEY, etc.).
$OWNSONA_CONFIG or the OS-specific default.
INI-style. # and ; start comments. [sections]
are parsed but ignored. A template ships at
cli/config.ini.example:
# --- MCP server (required for every subcommand) --- server_url = https://your.host/mcp token = <bearer-token> # --- LLM (used only by `teach`) --- llm_api_key = sk-... llm_model = gpt-4o llm_base_url = https://api.openai.com/v1 subject_name = Blake
The token is the same bearer token any other MCP client uses against your OwnSona server. Treat it as a secret.