- observer.json: read-only tool set (file_read, file_grep, file_glob, reasoning_think) - agent-observer.md: terse observation-only prompt - observer-feed: polls git diff, feeds changes to agent prompt - justfile: install new files |
||
|---|---|---|
| .. | ||
| README.md | ||
| copilot.json | ||
| default.json | ||
| driver.json | ||
| explorer.json | ||
| librarian.json | ||
| navigator.json | ||
| observer.json | ||
| taskmanager.json | ||
| theo.json | ||
README.md
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
{
"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:
- system — embedded base prompt (
prompts/system_prompt.md) - env — runtime environment (cwd, platform, date, git status)
- agent — concatenated files from the
promptarray - tools — auto-generated from loaded tools (name +
.metaprompt)
The fully assembled prompt is readable at session/{sname}/agent/{aname}/systemprompt.
Adding a new agent
- Copy
default.json, rename it. - Adjust the
promptarray to reference your prompt files indata/prompts/. - Set
autoLoadto the tools this agent needs. - Set generation parameters as needed.
- Run
just install-datato install.