From 491f259a2b1866a5b1a9aa62e84865dc89e23ad4 Mon Sep 17 00:00:00 2001 From: Ollie Agent Date: Tue, 4 Aug 2026 20:18:22 +0200 Subject: [PATCH] README: strip all D-Bus references, 9P is the only surface --- README.md | 59 +++++++--------------------------------------------- doc/usage.md | 2 +- 2 files changed, 9 insertions(+), 52 deletions(-) diff --git a/README.md b/README.md index 6ec83ad..6a15645 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,9 @@ # ollie Ollie is an AI agent runtime. A single binary (`olliesrv`) exposes agent sessions -over two surfaces: a **9P2000 filesystem** (the canonical interface) and a -**D-Bus service** (`org.ollie.SessionManager`). Both are thin adapters over the -same core — the agent loop, tool dispatch, sandboxing, and multi-backend routing. -Choice of surface is per-deployment: 9P for its Unix composability, D-Bus for -desktop integration, or both. - -The core is deliberately minimal. Capabilities come from composing small pieces — -tool executables, skill files, metadata sidecars — rather than building a -monolithic framework. +over a single surface: a **9P2000 filesystem**. The core is deliberately minimal; +capabilities come from composing small pieces — tool executables, skill files, +metadata sidecars — rather than building a monolithic framework. ## Getting started @@ -70,7 +64,7 @@ Single Go module with one Git submodule (kde). | `cmd/olliesrv/` | Go | The main binary | | `cmd/ollie-9p/` | Go | 9P client | | `cmd/ollie-remote/` | Go | Remote execution binary | -| `kde/` | C++/Qt6 | KDE plasmoid, GUI, Kate plugin, KRunner, tray *(submodule)* | +| `kde/` | C++/Qt6 | KDE plasmoid, GUI, Kate plugin, KRunner *(submodule)* | | `data/agents/` | JSON | Agent configs | | `data/prompts/` | Markdown | System prompt templates | | `data/tools/` | Mixed | Tool executables (scripts + compiled) + `.meta` sidecar files | @@ -120,13 +114,9 @@ graph TB TOOLS -->|SSH| REMOTE ``` -`olliesrv` is a single binary. Which surface it exposes is a flag: - -| Mode | Flags | Interface | Frontends | -|------|-------|-----------|-----------| -| +9p +dbus | (default) | 9P filesystem + D-Bus signals | All | -| +9p -dbus | `-nodbus` | 9P filesystem only | Terminal, acme, Emacs, web | -| -9p +dbus | `-no9p` | D-Bus only | KDE (plasmoid, GUI, Kate, KRunner, tray) | +`olliesrv` exposes the agent runtime over a single surface: a 9P2000 filesystem. +The KDE GUI, Kate plugin, and KRunner use 9P internally to communicate with the +server — there is no D-Bus interface. ## 9P: everything is a file @@ -249,44 +239,11 @@ with a 10-line shell script instead of a framework. - **Multiplexing** — multiple clients mount the same server simultaneously, each with an independent view through per-fid state -## D-Bus: desktop integration - -The D-Bus interface (`org.ollie.SessionManager`) is embedded in `olliesrv` -(enabled by default, or exclusively via `-no9p`). It provides typed method -calls and real-time signals. - -```sh -# Create a session -dbus-send --session --dest=org.ollie.SessionManager --type=method_call --print-reply \ - /org/ollie/SessionManager org.ollie.SessionManager.CreateSession \ - string:"$PWD" string:"" string:"" string:"default" string:"" string:"" - -# Submit a prompt -dbus-send --session --dest=org.ollie.SessionManager --type=method_call \ - /org/ollie/SessionManager org.ollie.SessionManager.Submit \ - string:"SESSION_ID" string:"fix the bug" - -# Read state -dbus-send --session --dest=org.ollie.SessionManager --type=method_call --print-reply \ - /org/ollie/SessionManager org.ollie.SessionManager.GetState string:"SESSION_ID" -``` - -### Signals - -D-Bus signals push events without polling: -- **`ChatUpdated`** — new chat output (session_id, offset, text) -- **`StateChanged`** — transition notifications -- **`SessionCreated` / `SessionKilled` / `SessionRenamed`** — lifecycle events -- **`ProcessDetached` / `ProcessExited`** — background process events - -GUI frontends subscribe once and react — no timers, no file watches, no busy loops. - -### KDE integration +### KDE frontends - **Plasmoid** — embed an agent chat widget in the Plasma panel - **Kate plugin** — inline AI assistance in the text editor - **KRunner** — launch prompts from the desktop search bar -- **System tray** — status indicator and quick actions - **Standalone GUI** — full-featured Qt6 chat application ## Tool registry: zero built-in tools diff --git a/doc/usage.md b/doc/usage.md index 1921520..247570a 100644 --- a/doc/usage.md +++ b/doc/usage.md @@ -196,7 +196,7 @@ state transition via `statewait` — zero CPU when idle. ## Other front-ends - **[ellie](ellie.md)** — Emacs session tree, chat, multi-agent -- **KDE** — plasmoid, standalone GUI, Kate plugin, KRunner, system tray +- **KDE** — plasmoid, standalone GUI, Kate plugin, KRunner For technical details (generation parameters, sandboxing, multi-agent workflows, tool discovery, and the raw 9P filesystem), see [doc/whitepaper.md](whitepaper.md). \ No newline at end of file