Siclaw needs an LLM to power its investigation engine.
- TUI mode reads
.siclaw/config/settings.json
- Local Server / Gateway is typically configured through the Models page in the Web UI
Anthropic (Recommended)
{
"providers": {
"default": {
"baseUrl": "https://api.anthropic.com/v1",
"apiKey": "sk-ant-...",
"api": "anthropic",
"authHeader": true,
"models": [{
"id": "claude-sonnet-4-20250514",
"name": "Claude Sonnet 4",
"contextWindow": 200000,
"maxTokens": 16000
}]
}
}
}
Recommended models: claude-sonnet-4-20250514 (best balance) or claude-opus-4-20250514 (highest quality).
OpenAI
{
"providers": {
"default": {
"baseUrl": "https://api.openai.com/v1",
"apiKey": "sk-...",
"api": "openai-completions",
"authHeader": true,
"models": [{
"id": "gpt-4o",
"name": "GPT-4o",
"contextWindow": 128000,
"maxTokens": 16384
}]
}
}
}
OpenAI-Compatible Providers
Any API that implements the OpenAI chat completions format works with Siclaw — Ollama, vLLM, LiteLLM, Azure OpenAI, Moonshot, DeepSeek, and many others.
{
"providers": {
"default": {
"baseUrl": "http://localhost:11434/v1",
"apiKey": "ollama",
"api": "openai-completions",
"authHeader": true,
"models": [{
"id": "llama3.1:70b",
"name": "Llama 3.1 70B",
"contextWindow": 131072,
"maxTokens": 8192
}]
}
}
}
Common Providers
| Provider | baseUrl | Notes |
|---|
| Ollama | http://localhost:11434/v1 | Local, free. Use 70B+ for best results. |
| vLLM | http://localhost:8000/v1 | Self-hosted GPU inference |
| Moonshot (Kimi) | https://api.moonshot.cn/v1 | moonshot-v1-128k |
| DeepSeek | https://api.deepseek.com/v1 | deepseek-chat |
| Qwen (DashScope) | https://dashscope.aliyuncs.com/compatible-mode/v1 | qwen-plus |
Configuration Methods
- TUI mode: First-run wizard or
/setup command inside a session
- Local Server / Gateway: Configure providers and models in the Web UI
Embedding Provider
Without an embedding provider, Investigation Memory semantic search is disabled. All other features work normally.
Embedding is used for memory search — matching current symptoms against past investigation records. Any OpenAI-compatible embedding API works:
{
"embedding": {
"baseUrl": "https://api.example.com/v1",
"apiKey": "sk-...",
"model": "bge-m3",
"dimensions": 1024
}
}
If embedding.apiKey is omitted, Siclaw falls back to the default provider API key.
| Provider | Model | Dimensions | Notes |
|---|
| BGE-M3 (recommended) | bge-m3 | 1024 | Multilingual, good for technical content |
| OpenAI | text-embedding-3-small | 1536 | Easy setup if you already have an OpenAI key |
| Ollama | nomic-embed-text | 768 | Local, free |
Model Recommendations
| Use Case | Recommended | Notes |
|---|
| Production investigations | Claude Sonnet 4 / GPT-4o | Best quality-to-speed ratio |
| Complex root cause analysis | Claude Opus 4 | Highest reasoning capability |
| Cost-sensitive / air-gapped | Llama 3.1 70B+ via Ollama | Local, no API costs |
| Testing / development | Any available model | Smaller models work for basic checks |