Clarify editor integration mechanisms

This commit is contained in:
Ollie Agent 2026-08-16 20:43:42 +02:00
parent 8402a85bd9
commit 5b621dccb8
1 changed files with 12 additions and 2 deletions

View File

@ -125,8 +125,6 @@ win o acme/6c460de7 prompt
`OllieHere` prints the `session/agent` path. `win` starts the command line in Acme. The remainder is the command and its arguments; `win` runs it and exits when the command exits. The first command displays the agent chat stream in the embedded terminal. The second runs the prompt REPL there. These are ordinary terminal commands, not special Acme UI components.
### Kate
The Kate plugin implements the same pattern natively. It obtains the active document and selection through KTextEditor, ensures a project agent, and writes directly to the agent’s `prompt` file through `libollie9p`.
Its context-menu actions are concrete examples:
@ -146,3 +144,15 @@ Its context-menu actions are concrete examples:
Kate also provides an optional one-shot completion path. It sends a bounded prefix and suffix around the cursor to the root `generate` operation and displays the returned code as ghost text. This is separate from the project agent’s prompt stream.
The Kate implementation is a native plugin, but the integration boundary is unchanged: obtain editor context, write a 9P prompt, and use a separate Ollie client for output and control. Other editors and IDEs can use shell commands, plugins, key bindings, or automation APIs with the same operations.
## Summary
An editor integration is a 9P client:
```text
editor context → agent/.../prompt → Ollie agent → files/chat/state
```
Read context from the editor, select an agent for the project, construct a prompt, and write it to `prompt`. Observe the agent with any existing client: `o`, `ollie-9p`, `ollie-gui`, a terminal, or the editor itself.
A shell command is sufficient when the editor exposes the needed context and command execution. Otherwise, use its extension or plugin mechanism. Vim, Emacs, Acme, Kate, and other editors can use the same pattern through whatever integration mechanism they provide. The editor need only provide context and a way to issue a 9P request.