From b7f9171251e5427be8706ce0fb534f7654e7e22c Mon Sep 17 00:00:00 2001 From: Ollie Agent Date: Sat, 18 Jul 2026 17:25:13 +0200 Subject: [PATCH] doc: add /generate and /route to README features and examples --- README.md | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index aca4f74..c0978fe 100644 --- a/README.md +++ b/README.md @@ -72,9 +72,11 @@ Monorepo with Git submodules. Each submodule has its own Go module (except `el` - **Monitor** — list running processes, read their output (64KB ring buffer), check status - **Signal and dismiss** — send TERM/KILL to a detached process; remove finished processes from the list -### Code completion +### Stateless endpoints -- **Stateless completion endpoint** — write a JSON request (language, code, position), read back completions; works from any editor or script +- **Code completion** — write cursor context (prefix, suffix, file path), read back code to insert; works from any editor or script +- **One-shot generation** — write a prompt, read back a full LLM response; no session, no agent loop, no tools; scriptable from any language +- **Task routing** — write a task description, the system classifies complexity against all available models and returns the best backend+model for the job ### Frontends @@ -130,6 +132,13 @@ echo "signal 12345 TERM" > /mnt/ollie/s/worker/ctl # Get completions echo '{"language":"go","code":"func he"}' > /mnt/ollie/s/worker/complete cat /mnt/ollie/s/worker/complete + +# One-shot generation (no session needed) +exec 3<>/mnt/ollie/generate; echo 'explain monads in one sentence' >&3; cat <&3; exec 3>&- + +# Route a task to the best model +exec 3<>/mnt/ollie/route; echo 'redesign the auth system' >&3; cat <&3; exec 3>&- +# → backend=kiro model=claude-sonnet-4-20250514 ``` ### Network transparency @@ -174,7 +183,7 @@ Multiple clients — terminals, editors, scripts, other agents — can mount the The design follows Plan 9 conventions directly: -- **`/net/dns` pattern** — the `/complete` file is stateless per-fid: write a request, read back the result, like a DNS lookup +- **`/net/dns` pattern** — `/complete`, `/generate`, and `/route` are stateless per-fid: write a request, read back the result, like a DNS lookup - **`ctl` files** — control operations (stop, kill, rename, compact) are writes to a control file, not method calls - **Blocking reads** — `statewait` blocks until state changes, replacing event subscriptions with a simple `cat`