CLIver reads its configuration from ~/.cliver/config.yaml. The config covers providers, models, permissions, and runtime behavior.
Config File Location
Section titled “Config File Location”~/.cliver/├── config.yaml # Main configuration├── identity.md # Agent profile (name, role, preferences)├── memory.md # Persistent knowledge├── skills/ # User-global skills├── tasks/ # Task definitions└── audit_logs/ # Token usage logsSecret Resolution
Section titled “Secret Resolution”API keys are resolved through three layers:
- KeyStore — encrypted secrets stored in CLIver’s database
- Environment variable — all-uppercase names resolve from
os.environ - Literal — used as-is if no match above
api_key: deepseek # 1. Looks up "deepseek" in KeyStoreapi_key: DEEPSEEK_API_KEY # 2. Falls back to env varapi_key: sk-abc123 # 3. Used literallyManage keys with:
cliver keys add deepseek # Store encrypted in KeyStorecliver keys list # List stored key namesMinimal Config
Section titled “Minimal Config”A working config needs one provider and one model:
providers: deepseek: type: openai api_url: https://api.deepseek.com api_key: DEEPSEEK_API_KEY
models: text: deepseek-chat: provider: deepseek model: deepseek-chat