Documentation Index
Fetch the complete documentation index at: https://docs.lukan.ai/llms.txt
Use this file to discover all available pages before exploring further.
Config File Locations
| Path | Description |
|---|
~/.config/lukan/config.json | Main configuration |
~/.config/lukan/credentials.json | API credentials |
~/.config/lukan/sessions/ | Chat sessions |
~/.config/lukan/reminders.md | Reminders |
~/.config/lukan/workers.json | Worker definitions |
~/.config/lukan/workers/ | Worker run history |
~/.config/lukan/trusted-dirs.json | Trusted directories |
~/.config/lukan/MEMORY.md | Global memory |
~/.config/lukan/memory.md | Global memory (alternative path) |
~/.config/lukan/indexes/ | Symbol index files |
~/.config/lukan/plugins/ | Installed plugins |
.lukan/config.json | Per-project permissions |
.lukan/memories/MEMORY.md | Per-project memory |
.lukan/memory.md | Per-project memory (alternative path) |
.lukan/.active | Project memory activation marker |
.lukan/skills/ | Per-project skills |
.lukan/plans/ | Implementation plans |
.lukan/tasks.md | Session task list |
Main Config (config.json)
{
"provider": "nebius",
"model": "MiniMaxAI/MiniMax-M2.1",
"maxTokens": 8192,
"temperature": 0.7,
"timezone": "Europe/Madrid",
"syntaxTheme": "vitesse-dark",
"models": ["anthropic:claude-sonnet-4-5-20250929", "nebius:MiniMaxAI/MiniMax-M2.1"],
"visionModel": "anthropic:claude-sonnet-4-5-20250929",
"visionModels": [],
"disabledTools": [],
"browserCdpUrl": null,
"browserAllowInternal": false,
"browserScreenshots": true,
"webPassword": null,
"webTokenTTL": 24,
"openaiCompatibleBaseURL": null,
"openaiCompatibleProviderName": null,
"openaiCompatibleProviderOptions": {},
"plugins": {
"enabled": ["whatsapp", "email"],
"overrides": {
"whatsapp": {
"provider": "anthropic",
"model": "claude-sonnet-4-5-20250929",
"tools": ["ReadFiles", "WebSearch"],
"maxResponseLen": 10000,
"autoRestart": true
}
}
}
}
New Config Fields
| Field | Type | Description |
|---|
disabledTools | string[] | List of tool names to disable globally |
visionModels | string[] | List of available vision models |
openaiCompatibleBaseURL | string | Base URL for OpenAI-compatible provider |
openaiCompatibleProviderName | string | Display name for OpenAI-compatible provider |
openaiCompatibleProviderOptions | object | Custom options for OpenAI-compatible provider |
plugins | object | Plugin system configuration |
plugins.enabled | string[] | List of plugin names to auto-start |
plugins.overrides | object | Per-plugin configuration overrides |
Credentials (credentials.json)
{
"nebiusApiKey": "...",
"anthropicApiKey": "...",
"fireworksApiKey": "...",
"githubToken": "...",
"copilotToken": "...",
"braveApiKey": "...",
"tavilyApiKey": "...",
"openaiApiKey": "...",
"codexAccessToken": "...",
"codexRefreshToken": "...",
"zaiApiKey": "...",
"ollamaCloudApiKey": "...",
"openaiCompatibleApiKey": "...",
"lukanCloudApiKey": "...",
"googleClientId": "...",
"googleClientSecret": "...",
"googleAccessToken": "...",
"googleRefreshToken": "...",
"skillCredentials": {
"my-skill": {
"CUSTOM_API_KEY": "..."
}
}
}
New Credential Fields
| Field | Description |
|---|
ollamaCloudApiKey | API key for Ollama Cloud provider |
openaiCompatibleApiKey | API key for OpenAI-compatible endpoint (optional) |
lukanCloudApiKey | API key for Lukan Cloud provider |
skillCredentials | Per-skill environment variables (injected when skill is loaded) |
Environment variables are checked first (e.g., NEBIUS_API_KEY, ANTHROPIC_API_KEY, OLLAMA_CLOUD_API_KEY, OPENAI_COMPATIBLE_API_KEY, LUKAN_CLOUD_URL).
Project Configuration (.lukan/config.json)
{
"permissionMode": "manual",
"permissions": {
"deny": [],
"ask": ["Bash(git push:*)", "Bash(git commit:*)", "Bash(rm:*)", "Bash(sudo:*)"],
"allow": ["Bash(git status:*)", "Bash(git diff:*)", "Bash(git log:*)", "Bash(npm:*)", "Bash(bun:*)"]
},
"trusted": false,
"allowedPaths": ["~/other-project"]
}
New Project Config Fields
| Field | Type | Description |
|---|
trusted | boolean | Marks workspace as trusted (reduces permission prompts) |
allowedPaths | string[] | Extra directories the agent can access (supports ~ expansion) |
Provider Configuration
You can override the provider per-channel (WhatsApp, Email) via plugin overrides in config.json:
{
"plugins": {
"overrides": {
"whatsapp": {
"provider": "anthropic",
"model": "claude-sonnet-4-5-20250929"
}
}
}
}
See Providers for available providers and models.