64 lines
2.4 KiB
Markdown
64 lines
2.4 KiB
Markdown
# Agents
|
|
|
|
Each `.json` file defines an agent configuration. Agent configs are installed to `~/.config/ollie/agents/` and selected at runtime via `/agent <name>`.
|
|
|
|
## Config format
|
|
|
|
```json
|
|
{
|
|
"prompt": ["$XDG_CONFIG_HOME/ollie/prompts/agent-coding.md"],
|
|
"autoLoad": ["shell", "file_read", "file_edit", "file_glob", "file_grep"],
|
|
"maxSteps": 25,
|
|
"temperature": 0.5,
|
|
"maxTokens": 16384,
|
|
"backend": "openrouter",
|
|
"model": "deepseek/deepseek-v4-flash",
|
|
"systemPrompt": "/path/to/override.md",
|
|
"compactionModel": "cheap-model-name"
|
|
}
|
|
```
|
|
|
|
| Field | Purpose |
|
|
|-------|---------|
|
|
| `prompt` | File paths to concatenate as the agent prompt. Env vars expanded. |
|
|
| `autoLoad` | Tools loaded at session start. |
|
|
| `maxSteps` | Cap on tool-call rounds per turn. 0 = unlimited. |
|
|
| `temperature` | Sampling temperature. |
|
|
| `maxTokens` | Max output tokens per response. |
|
|
| `backend` | Override backend for this agent. |
|
|
| `model` | Override model for this agent. |
|
|
| `systemPrompt` | Override the embedded system prompt with a file path. |
|
|
| `compactionModel` | Use a cheaper model for context compaction. |
|
|
|
|
## Agents
|
|
|
|
| Name | Role |
|
|
|------|------|
|
|
| `default` | Base coding agent. Also the base for JIT subagents. |
|
|
| `driver` | Full-featured agent with all tools, LSP, GUI, memory, subagents. |
|
|
| `copilot` | Read-only code copilot. Suggests changes as code fences. |
|
|
| `navigator` | Pair programming partner. Reads and advises, doesn't edit. |
|
|
| `explorer` | Code exploration and explanation. Read-only. |
|
|
| `librarian` | Document search and knowledge curation. Read-only. |
|
|
| `taskmanager` | TODO list management and planning. |
|
|
| `theo` | Security auditor (Theo de Raadt voice). Read-only. |
|
|
|
|
## System prompt assembly
|
|
|
|
The final system prompt sent to the model is assembled in sections:
|
|
|
|
1. **system** — embedded base prompt (`prompts/system_prompt.md`)
|
|
2. **env** — runtime environment (cwd, platform, date, git status)
|
|
3. **agent** — concatenated files from the `prompt` array
|
|
4. **tools** — auto-generated from loaded tools (name + `.meta` prompt)
|
|
|
|
The fully assembled prompt is readable at `session/{sname}/agent/{aname}/systemprompt`.
|
|
|
|
## Adding a new agent
|
|
|
|
1. Copy `default.json`, rename it.
|
|
2. Adjust the `prompt` array to reference your prompt files in `data/prompts/`.
|
|
3. Set `autoLoad` to the tools this agent needs.
|
|
4. Set generation parameters as needed.
|
|
5. Run `just install-data` to install.
|