- Add MEMO_TOOLS=1 env var to memo script; when set, all printed instructions reference native tool names instead of memo paths - Set MEMO_TOOLS=1 in all memory tool .meta wrappers - Add memory_nap tool for compressions - Add memory_zoom tool for tree navigation - Add part/T pagination args to memory_wake - Update system prompt to use memory_zoom tool call - Fix inject ctl: submit as user message when agent is idle |
||
|---|---|---|
| .. | ||
| README.md | ||
| conductor.json | ||
| 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"],
"userPrompts": ["$XDG_CONFIG_HOME/ollie/prompts/rules.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 (system preamble). Env vars expanded. |
userPrompts |
File paths to concatenate as active global rules. Prepended to every user message at turn start. 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.
User prompts (active global rules)
Files listed in userPrompts are resolved the same way as prompt (file paths with env var expansion), but instead of being injected into the system preamble, they are prepended to every user message at turn start. This lets you define persistent "global rules" that appear alongside each user request without bloating the system prompt.
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
make install-datato install.