diff --git a/data/prompts/session-9p.md b/data/prompts/session-9p.md index 1c7cefd..b1fc3fe 100644 --- a/data/prompts/session-9p.md +++ b/data/prompts/session-9p.md @@ -13,7 +13,7 @@ Access 9P files using the `ollie-9p` command (which auto-discovers the server vi | `models` | read | Available models (backend\tmodel per line) | | `help` | read | Help text | | `ctl` | write | Server control commands (e.g. `invalidate` to refresh model cache) | -| `s/` | dir | Sessions (see below) | +| `session/` | dir | Sessions (see below) | | `complete` | r/w | Write: JSON `{"file","prefix","suffix"}`. Read: code completion result. | | `generate` | r/w | Write: JSON `{"prompt"}` or plain text. Read: one-shot LLM generation result. | | `route` | r/w | Write: task description. Read: `backend=X model=Y` recommendation. | @@ -41,29 +41,26 @@ echo '{"file":"main.go","prefix":"func "}' | ollie-9p rdwr complete ## Peer Agent Discovery -Sessions sharing your `cwd` are your peer agents. Read `s/idx` to discover other sessions available for cooperation: +Sessions sharing your `cwd` are your peer agents. Read `session/idx` to discover other sessions available for cooperation: ``` {id}\t{state}\t{cwd}\t{backend}\t{model} ``` -**Inter-Agent Communication**: To send a prompt to another session: `echo "your prompt" | ollie-9p write s/{id}/prompt`. Always provide a return path (e.g., [message from $OLLIE_SESSION_ID]). +**Inter-Agent Communication**: To send a prompt to another session: `echo "your prompt" | ollie-9p write session/{id}/prompt`. Always provide a return path (e.g., [message from $OLLIE_SESSION_ID]). -## Session Management (`s/`) +## Session Management (`session/`) -Sessions live at `s/`. Each session is a directory; all operations are 9P reads and writes. +Sessions live at `session/`. Each session is a directory; all operations are 9P reads and writes. ### Session Store Files | File | Mode | Purpose | |---|---|---| -| `s/new` | r/w | Read: key=value template. Write: create a new session. | -| `s/idx` | read | Session index (id\tstate\tcwd\tbackend\tmodel) | -| `s/ls` | exec | List sessions | -| `s/kill` | exec | Kill a session | -| `s/cleanup` | exec | Kill idle sessions | +| `session/new` | r/w | Read: key=value template. Write: create a new session. | +| `session/idx` | read | Session index (id\tstate\tcwd\tbackend\tmodel) | -### Session Directory (`s/{id}/`) +### Session Directory (`session/{id}/`) | File | Mode | Purpose | |---|---|---| @@ -93,25 +90,22 @@ Sessions live at `s/`. Each session is a directory; all operations are 9P reads ```bash # Discover sessions -ollie-9p read s/idx - -# Discover sessions in same cwd -ollie-9p read s/idx | grep "$PWD" +ollie-9p read session/idx # Spawn a session (minimal, generated ID) -echo "cwd=$PWD" | ollie-9p write s/new +echo "cwd=$PWD" | ollie-9p write session/new # Spawn a session (named) -printf 'name=reviewer\ncwd=%s\n' "$PWD" | ollie-9p write s/new +printf 'name=reviewer\ncwd=%s\n' "$PWD" | ollie-9p write session/new # Kill a session -ollie-9p remove s/{id} +ollie-9p rm session/{id} # Rename a session -echo "rn newname" | ollie-9p write s/{id}/ctl +echo "rn newname" | ollie-9p write session/{id}/ctl # Send a prompt -echo "your prompt here" | ollie-9p write s/{id}/prompt +echo "your prompt here" | ollie-9p write session/{id}/prompt # Control commands via ctl: # stop — interrupt the current agent turn @@ -122,30 +116,30 @@ echo "your prompt here" | ollie-9p write s/{id}/prompt # cwd — change the working directory # model — switch model # backend — switch backend -echo "model gpt-4o" | ollie-9p write s/{id}/ctl +echo "model gpt-4o" | ollie-9p write session/{id}/ctl # Read session config (backend, model, agent, cwd, params) -ollie-9p read s/{id}/cfg +ollie-9p read session/{id}/cfg # Write config changes -echo "temperature=0.7" | ollie-9p write s/{id}/cfg +echo "temperature=0.7" | ollie-9p write session/{id}/cfg # Read most recent response -offset=$(ollie-9p read s/{id}/offset) -ollie-9p read s/{id}/chat | tail -c +$((offset + 1)) +offset=$(ollie-9p read session/{id}/offset) +ollie-9p read session/{id}/chat | tail -c +$((offset + 1)) # Read current state -ollie-9p read s/{id}/state +ollie-9p read session/{id}/state # Discover available models -ollie-9p read s/{id}/models +ollie-9p read session/{id}/models # Add a peer link (bidirectional) -ollie-9p create s/{id}/peer/{peerid} +ollie-9p create session/{id}/peer/{peerid} # Send a prompt to a peer -echo "your message" | ollie-9p write s/{id}/peer/{peerid} +echo "your message" | ollie-9p write session/{id}/peer/{peerid} # Remove a peer link (bidirectional) -ollie-9p remove s/{id}/peer/{peerid} +ollie-9p rm session/{id}/peer/{peerid} ``` diff --git a/doc/USAGE.md b/doc/USAGE.md index cd2233e..1dccb3f 100644 --- a/doc/USAGE.md +++ b/doc/USAGE.md @@ -74,20 +74,6 @@ echo 'implement login page' | ollie-9p rdwr route Use this to dispatch work to the appropriate tier without hardcoding model names. -### Session cleanup - -Remove all idle sessions: - -```sh -ollie-9p exec session/cleanup -``` - -Schedule regular cleanup with a cron job: - -``` -*/15 * * * * /path/to/mnt/ollie/session/cleanup -``` - ### Raw session access ```sh diff --git a/doc/help.md b/doc/help.md index d505ac4..91e95a8 100644 --- a/doc/help.md +++ b/doc/help.md @@ -25,12 +25,9 @@ ollie/ help this file (ro) cat models available models (ro) cat: backend\tmodel per line route task routing (r/w) write task, read backend=X model=Y - s/ sessions ls + session/ sessions ls idx session index (ro) cat: id state cwd backend model, one per line new create session (r/w) cat: KV template; echo "cwd=/path" > - ls list sessions (x) exec s/ls - kill kill session (x) exec s/kill - cleanup kill idle sessions (x) exec s/cleanup / session directory rm -r to kill; mv to rename cfg session config (r/w) cat: KV (backend, model, agent, cwd, params); write KV to change chat conversation log (r/w; write to save transcript to tr/) diff --git a/prompts/session_9p.md b/prompts/session_9p.md index 01f7c6b..b0b3c54 100644 --- a/prompts/session_9p.md +++ b/prompts/session_9p.md @@ -30,9 +30,6 @@ echo '{"file":"main.go","prefix":"func "}' | ollie-9p rdwr complete |---|---|---| | `session/new` | r/w | Write key=value to create a new session | | `session/idx` | read | Session index (id\tstate\tcwd\tbackend\tmodel) | -| `session/ls` | exec | List sessions | -| `session/kill` | exec | Kill a session | -| `session/cleanup` | exec | Kill idle sessions | ## Session Directory (`session/{sid}/`)