ollie/data/agents
Levi Neely b4baddd826 Memory tools: never expose raw memo commands to agents
- 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
2026-08-19 10:13:02 +02:00
..
README.md replace just build orchestration with make 2026-08-17 00:01:27 +02:00
conductor.json Integrate OptMem wake into agent memory prompting 2026-08-18 14:01:18 +02:00
copilot.json Integrate OptMem wake into agent memory prompting 2026-08-18 14:01:18 +02:00
default.json Memory tools: never expose raw memo commands to agents 2026-08-19 10:13:02 +02:00
driver.json Integrate OptMem wake into agent memory prompting 2026-08-18 14:01:18 +02:00
explorer.json Integrate OptMem wake into agent memory prompting 2026-08-18 14:01:18 +02:00
librarian.json Integrate OptMem wake into agent memory prompting 2026-08-18 14:01:18 +02:00
navigator.json Integrate OptMem wake into agent memory prompting 2026-08-18 14:01:18 +02:00
observer.json Integrate OptMem wake into agent memory prompting 2026-08-18 14:01:18 +02:00
taskmanager.json Integrate OptMem wake into agent memory prompting 2026-08-18 14:01:18 +02:00
theo.json Integrate OptMem wake into agent memory prompting 2026-08-18 14:01:18 +02:00

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:

  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.

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

  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 make install-data to install.