# 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_skills.md read: skill discovery and loading 03_tool-files.md read: text editing instructions 04_tool-reasoning.md read: reasoning instructions 05_tool-memory.md read: memory instructions 06_tool-plan.md read: task planning instructions 07_tool-subagents.md read: subagent usage 08_tool-elevate.md read: controlled escape from execute_code sandbox 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 cleanup exec: remove all jobs with status "done" / 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/)