ollie/contrib/elisp/README.md

2.6 KiB

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