|
|
||
|---|---|---|
| .. | ||
| el | ||
| .gitignore | ||
| README.md | ||
| ellie.el | ||
README.md
ellie
An ollie front-end, via ollie-9p, for our emacs friends. Provides a chat buffer, prompt composition, interrupt handling, and session management. The agent core, backends, and tools are handled by the ollie-9p server.
Background
ellie talks to ollie through the ollie-9p CLI tool, which speaks the 9P protocol directly over a Unix socket. No FUSE mount required.
Prerequisites
olliesrv must be running:
olliesrv
Installation
Add ellie.el to your load path:
(add-to-list 'load-path "/path/to/ellie")
(require 'ellie)
Or with use-package:
(use-package ellie
:load-path "/path/to/ellie")
Optionally set default session options:
(setq ellie-default-session-opts '(("backend" . "ollama") ("model" . "qwen3:8b")))
Usage
| Command | Description |
|---|---|
M-x ellie |
Open chat; attach to last session for default-directory, or create a new one |
M-x ellie-new-and-open |
Force-create a new session and open chat |
M-x ellie-attach-and-open |
Attach to an existing session by ID |
UI
In the *ellie* buffer:
| Key | Action |
|---|---|
RET |
Open input window and compose a prompt |
C-c C-q |
Open input window and compose a queued prompt |
C-c C-c |
Interrupt the running turn |
C-c C-k |
Kill the current session |
C-c C-r |
Rename the current session |
C-c C-n / n |
New session |
C-c C-a |
Attach to a different session |
C-c C-p |
Show the rendered system prompt |
g |
Force-refresh the chat log |
In the *ellie-input* window:
| Key | Action |
|---|---|
C-c C-c |
Submit |
C-c C-k |
Cancel |
The input window accepts multi-line prompts. Queued prompts are held until the current turn finishes.
The mode line shows the active session ID and current state (idle or the running state name).
Code Completion
ellie-complete-at-point requests a code completion via ollie-9p rdwr complete.
Configuration
| Variable | Env var | Description |
|---|---|---|
ellie-complete-backend |
OLLIE_COMPLETE_BACKEND |
Backend for completion (required) |
ellie-complete-model |
OLLIE_COMPLETE_MODEL |
Model for completion (required) |
ellie-complete-prefix-max |
— | Max chars of context before point (default: 4000) |
ellie-complete-suffix-max |
— | Max chars of context after point (default: 1000) |
Example:
(setq ellie-complete-backend "ollama")
(setq ellie-complete-model "qwen3:4b")
Or via environment / ~/.config/ollie/env:
OLLIE_COMPLETE_BACKEND=ollama
OLLIE_COMPLETE_MODEL=qwen3:4b
License
GPLv3