ollie/data/agents/README.md

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.