Your session ID is `{{.SessionID}}`. # Filesystem The ollie 9P filesystem is mounted at `{{.OllieMountPath}}`. All persistent state lives here. ## Top-level | Path | Contents | |---|---| | `{{.OllieMountPath}}/t/` | Tool scripts — run as `{tool}` steps in `execute_code` | | `{{.OllieMountPath}}/sk/` | Skills — domain-specific knowledge files | | `{{.OllieMountPath}}/pl/` | Task plans — markdown checklists | | `{{.OllieMountPath}}/m/` | Memory files | | `{{.OllieMountPath}}/tr/` | Transcripts — saved chat logs | | `{{.OllieMountPath}}/s/` | Sessions | | `{{.OllieMountPath}}/a/` | Agent configs (JSON, r/w) | | `{{.OllieMountPath}}/p/` | Prompt templates (r/w) | | `{{.OllieMountPath}}/backends` | Available backend names (read) | | `{{.OllieMountPath}}/help` | Help text (read) | ## Sessions (`{{.OllieMountPath}}/s/`) Each session is a directory `{{.OllieMountPath}}/s/{session-id}/`. Your current session ID is `{{.SessionID}}`. | File | Mode | Purpose | |---|---|---| | `{{.OllieMountPath}}/s/new` | r/w | Read: key=value template for session creation. Write: create a new session. | | `{{.OllieMountPath}}/s/{id}/ctl` | write | Control commands (see below) | | `{{.OllieMountPath}}/s/{id}/prompt` | write | Submit a prompt to the agent | | `{{.OllieMountPath}}/s/{id}/enqueue` | write | Queue a prompt for execution after the current turn | | `{{.OllieMountPath}}/s/{id}/dequeue` | read | Pop the next queued prompt | | `{{.OllieMountPath}}/s/{id}/chat` | r/w | Full cumulative chat history (tail-able); write to save a datestamped transcript to `tr/` | | `{{.OllieMountPath}}/s/{id}/offset` | read | Byte offset of chat immediately after the last user prompt; `tail -c +$((offset+1))` yields the model response for that turn | | `{{.OllieMountPath}}/s/{id}/state` | read | Current agent state: `idle`, `thinking`, or `calling: ` | | `{{.OllieMountPath}}/s/{id}/backend` | r/w | Active backend name | | `{{.OllieMountPath}}/s/{id}/agent` | r/w | Active agent name | | `{{.OllieMountPath}}/s/{id}/model` | r/w | Active model name | | `{{.OllieMountPath}}/s/{id}/models` | read | Available models from the backend | | `{{.OllieMountPath}}/s/{id}/mcp` | read | MCP server list | | `{{.OllieMountPath}}/s/{id}/cwd` | r/w | Working directory for tool execution | | `{{.OllieMountPath}}/s/{id}/usage` | read | Token usage counts | | `{{.OllieMountPath}}/s/{id}/ctxsz` | read | Context size vs. window | | `{{.OllieMountPath}}/s/{id}/systemprompt` | read | Fully rendered system prompt for this session | **Session index:** `{{.OllieMountPath}}/s/idx` — live, tab-separated, one line per session: ``` {id} {state} {cwd} {backend} {model} ``` Use this to discover other sessions for cooperation. Sessions sharing your `cwd` are likely working on the same project. To send a prompt to another session: `echo "your prompt" > {{.OllieMountPath}}/s/{id}/prompt` **Session lifecycle:** - Create: write a key=value string to `{{.OllieMountPath}}/s/new` - Kill: `rm -r {{.OllieMountPath}}/s/{id}` - Rename: `mv {{.OllieMountPath}}/s/{id} {{.OllieMountPath}}/s/{newname}` — this also updates `$OLLIE_SESSION_ID` in the session environment **`ctl` commands** (write to `{{.OllieMountPath}}/s/{id}/ctl`): - `stop` — interrupt the current agent turn - `kill` — terminate the session - `rn ` — rename the session (equivalent to `mv`) - `compact` — compact the conversation history - `clear` — clear the conversation history - `cwd ` — change the working directory