ollie/data/agents
Ollie Agent c7aea0db59 rename elevate→bypass throughout
The sandbox escape mechanism is a bypass, not privilege elevation.
The old name caused the agent to confuse it with sudo.

- elevate/ → bypass/ (package, types, tests)
- elevate_notify.go → bypass_notify.go
- Namespace: /elevate → /bypass, session/*/elevate → session/*/bypass
- Tool arg: "elevated" → "bypass"
- Env: OLLIE_ELEVATE_SOCKET → OLLIE_BYPASS_SOCKET
- File: elevate-policy.yaml → bypass-policy.yaml
- All docs, prompts, and scripts updated
2026-08-09 02:22:39 +02:00
..
README.md rename elevate→bypass throughout 2026-08-09 02:22:39 +02:00
copilot.json remove hooks blocks and beads/freeloader refs from all agent JSON configs 2026-08-07 07:15:04 +02:00
default.json feat: add resetsCounter tool property to reset step budget on active progress 2026-08-07 17:13:14 +02:00
driver.json feat: add resetsCounter tool property to reset step budget on active progress 2026-08-07 17:13:14 +02:00
explorer.json remove hooks blocks and beads/freeloader refs from all agent JSON configs 2026-08-07 07:15:04 +02:00
librarian.json remove hooks blocks and beads/freeloader refs from all agent JSON configs 2026-08-07 07:15:04 +02:00
navigator.json remove hooks blocks and beads/freeloader refs from all agent JSON configs 2026-08-07 07:15:04 +02:00
taskmanager.json remove hooks blocks and beads/freeloader refs from all agent JSON configs 2026-08-07 07:15:04 +02:00
theo.json remove hooks blocks and beads/freeloader refs from all agent JSON configs 2026-08-07 07:15:04 +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>.

default

Base agent with no specializations. Provides the standard ollie toolset and prompt assembly. Also serves as the base for JIT-generated subagents — subagent_generate copies default.json and replaces the prompt with SYSTEM_PROMPT + the identity text.

coding

Coding-focused agent. Extends default with agent instructions covering code modification discipline, security practices, and exploratory reading habits. Also enables the execute_bypass_bash trusted tool for operations requiring bypass privileges, and configures an MCP server for bypass operations.

System prompt

The system prompt is assembled from the prompt array in the agent config. Each entry is a shell command whose stdout is appended to the prompt. Commands run in the session's working directory with access to $PWD.

The base system prompt is embedded in the binary and automatically prepended.

The fully assembled system prompt is visible at session/{sname}/agent/{aname}/systemprompt.

Hooks

Hooks are lifecycle callbacks executed at specific points:

Hook When Use case
agentSpawn Session creation Start bypass adapter, initialize state
postTurn After each turn Task list display, logging
preCompact Before context compaction Save state
postCompact After context compaction Notify user
turnError On turn error (rate limit, transient failure) Fallback handling, model switching

Hook commands run with OLLIE_SESSION_ID set to the current session ID.

MCP Servers

Agent configs can specify MCP (Model Context Protocol) servers for external tool providers:

{
  "mcpServers": {
    "server-name": {
      "command": "server-binary",
      "args": [],
      "env": {"KEY": "value"}
    }
  }
}

Tools from MCP servers are registered alongside built-in tools and can be invoked by the agent.

Adding a new agent

Copy default.json, rename it, and adjust the prompt array to include the prompts you want. Add hooks, trusted tools, MCP servers, and generation parameters as needed.