Operator reference
Reference
The paths, providers, commands, packaging steps, and publishing notes you usually need close at hand.
Paths
| Thing | Path |
|---|---|
| Linux config | ~/.config/zorai/config.json |
| macOS config | ~/Library/Application Support/zorai/config.json |
| Windows config | %APPDATA%\zorai\config.json |
| Unix runtime data | ~/.zorai/ |
| Windows runtime data | %LOCALAPPDATA%\zorai\ |
| Source build outputs | target/debug or target/release |
Providers
Zorai supports multiple upstream provider types, including OpenAI-compatible, Anthropic Messages, Alibaba Coding Plan, and custom endpoints. See Providers for the daemon-backed provider catalog and Custom Providers for custom-auth.yaml setup.
| Provider | ID | Default model | Base URL |
|---|---|---|---|
| Featherless | featherless | meta-llama/Llama-3.3-70B-Instruct | api.featherless.ai |
| OpenAI | openai | gpt-4o | api.openai.com |
| Anthropic | anthropic | claude-sonnet-4-20250514 | api.anthropic.com |
| Qwen | qwen | qwen-max | api.qwen.com |
| Qwen (DeepInfra) | qwen-deepinfra | Qwen/Qwen2.5-72B-Instruct | api.deepinfra.com |
| Kimi (Moonshot) | kimi | moonshot-v1-32k | api.moonshot.ai |
| Kimi Coding Plan | kimi-coding-plan | kimi-for-coding | api.kimi.com/coding |
| Z.AI | z.ai | glm-4-plus | api.z.ai |
| Z.AI Coding Plan | z.ai-coding-plan | glm-5 | api.z.ai/api/coding/paas/v4 |
| OpenRouter | openrouter | arcee-ai/trinity-large-thinking | openrouter.ai |
| Cerebras | cerebras | llama-3.3-70b | api.cerebras.ai |
| Together | together | meta-llama/Llama-3.3-70B-Instruct-Turbo | api.together.xyz |
| Groq | groq | llama-3.3-70b-versatile | api.groq.com |
| Ollama | ollama | llama3.1 | localhost:11434 |
| Chutes | chutes | deepseek-ai/DeepSeek-V3 | llm.chutes.ai |
| Hugging Face | huggingface | meta-llama/Llama-3.3-70B-Instruct | api-inference.huggingface.co |
| MiniMax | minimax | MiniMax-M1-80k | api.minimax.io |
| MiniMax Coding Plan | minimax-coding-plan | MiniMax-M2.7 | api.minimax.io/anthropic |
| Alibaba Coding Plan | alibaba-coding-plan | qwen3-coder | coding-intl.dashscope.aliyuncs.com |
| OpenCode Zen | opencode-zen | claude-sonnet-4-5 | opencode.ai/zen |
| Custom | custom | user-defined | user-defined |
Build
# Rust workspace
cargo build --release
# Individual crates
cargo build --release -p zorai-daemon
cargo build --release -p zorai-cli
cargo build --release -p zorai-gateway
cargo build --release -p zorai-mcp
cargo build --release -p zorai-protocol
# Frontend bundle
cd frontend
npm install
npm run build
# Electron package
cd frontend
npm run build:electron
Run
# Start the daemon
cargo run --release --bin zorai-daemon
# Launch Electron
cd frontend
npm run dev:electron
# CLI examples
cargo run --release --bin zorai -- list
cargo run --release --bin zorai -- new --shell bash
cargo run --release --bin zorai -- attach <session-id>
cargo run --release --bin zorai -- ping
Packaging
./scripts/build-release.sh
./scripts/build-production-releases.sh
./scripts/build-release-macos.sh
./scripts/build-release-wsl.sh
Typical output lands under dist-release/ with platform-specific Linux and Windows bundles, checksums, and release notes.
Webhook event ingest
The daemon can expose a narrow local HTTP webhook listener for Pack 1 event ingestion. It is disabled by default, configured through config.json extra keys, and routes accepted payloads into the same trigger engine used by internal webhook-event ingestion.
Current behavior is intentionally narrow:
- Binds
127.0.0.1:8787by default - Accepts
POST /webhook/eventonly - Requires JSON with
event_familyandevent_kind - Optionally enforces timestamped HMAC validation when a secret is configured
{
"extra": {
"webhook_listener_enabled": true,
"webhook_listener_bind": "127.0.0.1:8787",
"webhook_listener_secret": "replace-me",
"webhook_listener_max_age_secs": 300
}
}
Signed requests must include x-zorai-timestamp-ms and x-zorai-signature-256. The signature is computed as HMAC-SHA256 over <timestamp_ms> + "." + <raw_request_body>. Valid requests return 202 Accepted; stale, missing, or invalid signatures return 401 Unauthorized.
Notifications & voice
Zorai supports in-app attention notifications via OSC sequences and voice workflows through STT/TTS integrations.
printf ']9;Claude needs attention'
printf ']777;notify;Claude;Waiting for your input'
printf ']99;Codex finished task'
- TUI shortcuts for voice workflows include record/transcribe, speak selected message, and stop playback.
- Desktop app includes mic/speak controls backed by daemon configuration.