Experimental project to the experimental reed.el.
Clone and Build reed
git clone https://github.com/knilink/reed.el
cd reed.el
git checkout ace8f38
cargo build --releaseClone this repo
git clone https://github.com/knilink/oh-puhn-text-ui.elLoad the dynamic module and elisp script to emacs.d as well as customize completion endpoint and model.
(load "/path/to/reed.el/target/release/libreed.so")
(add-to-list 'load-path "/path/to/reed.el/lisp")
(load "/path/to/oh-puhn-text-ui.el/oh-puhn-text-ui.el")
(setq oh-puhn-text-ui-model "gemma3:27b")
(setq oh-puhn-text-ui-completion-endpoint "http://localhost:11434/v1/chat/completions")M-x oh-puhn-text-ui to run the app.
RET:oh-puhn-text-ui-handle-click, open input buffer for user message content at cursor position<tab>:oh-puhn-text-ui-handle-tab, expand/collapse reasoning block[:oh-puhn-text-ui-swipe-left, swipe to previous message at cursor position]:oh-puhn-text-ui-swipe-right, swipe to next message at cursor positionC-r:oh-puhn-text-ui-regenerate, regenerate assistant message at cursor positionC-c C-c:oh-puhn-text-ui-abort, abort streamingC-x e:oh-puhn-text-open-editoropen new message input editorM-p:oh-puhn-hover-previous-messagemove cursor to previous chat messageM-n:oh-puhn-hover-next-messagemove cursor to previous chat message
C-x s: save and submit user message contentC-g: abort editing