# olliesrv A 9P server that exposes [ollie](https://github.com/lneely/ollie) agent sessions as a virtual filesystem. Mount it with `9pfuse` and interact with AI sessions using ordinary shell tools. The goal is integration, not self-sufficiency. Rather than providing orchestration, scheduling, or workflow primitives, olliesrv exposes a stable surface — sessions as directories, conversation as files — and defers everything else to the surrounding environment. Scripting, chaining, monitoring, and automation come from composing olliesrv with tools that already exist, not from building those capabilities into the server. For usage examples, see [doc/USAGE.md](https://github.com/lneely/ollie/blob/main/doc/USAGE.md) in the monorepo. ## Filesystem layout ``` ollie/ a/ dir: agent configs (r/w, backed by ~/.config/ollie/agents/) .json r/w: agent config; supports mv, cp, rm backends read: list of ollie-provided backends help read: help file (backed by ~/.config/ollie/help.md) p/ dir: prompt templates (read, backed by ~/.config/ollie/prompts/) 00_base.md read: tone, accuracy, task execution, environment 01_ollie.md read: session identity, filesystem layout, session lifecycle 02_reasoning.md read: reasoning instructions 03_memory.md read: memory instructions 04_task.md read: task planning instructions 05_edit-text.md read: text editing instructions 06_skills.md read: skill discovery and loading 07_tools.md read: tool script usage Prompt files are assembled in lexical order and rendered as Go templates at session start. Changes take effect the next time the system prompt is rebuilt: on new session creation, `/cwd` change, or `/agent` switch. b/ dir: batch jobs and job scripts new r/w: read: KV template; write: submit a job spec idx read: job index (id, status, cwd, agent — one per line) job exec: core batch job runner (submit, wait, print result) q exec: foreground one-shot query; thin wrapper around job sched exec: submit background job; prints b/ path; wrapper around job / rm -r to cancel and remove spec read: original job spec as submitted status read: running | done | failed: result read: assistant reply (populated when done) usage read: token counts ctxsz read: context size pl/ dir: plans s/ dir: sessions and session management scripts new r/w: read: KV template; write: create session idx read: session index (id, state, cwd, backend, model — one per line) sh exec: interactive chat shell ls exec: list active sessions kill exec: kill a session by ID / rm -r to kill session; mv to rename agent r/w: active agent name backend r/w: active backend name chat read: cumulative conversation history ctl write: stop | ctxsz read: estimated context size vs context window dequeue read: pop the next queued prompt enqueue write: queue a prompt for later execution mcp read: MCP server list model r/w: active model name models read: available models from the backend prompt write: submit a prompt to the agent state read: current agent state (idle, thinking, calling: ) systemprompt read: fully rendered system prompt for this session usage read: token counts (input, output, requests; [estimated] if not reported by backend) cwd r/w: working directory for tool execution and system prompt sk/ dir: skills (r/w, from OLLIE_SKILLS_PATH or ~/.config/ollie/skills/) .md r/w: skill SKILL.md content t/ dir: tool scripts (r/w, backed by ~/.config/ollie/tools/)