Version 1.28.0 of package Ellama has just been released in GNU ELPA. You can now find it in M-x list-packages RET.
Ellama describes itself as: ============================== Tool for interacting with LLMs ============================== More at https://elpa.gnu.org/packages/ellama.html ## Summary: ━━━━━━━━ ELLAMA ━━━━━━━━ [file:https://img.shields.io/badge/license-GPL_3-green.svg] [file:https://melpa.org/packages/ellama-badge.svg] [file:https://stable.melpa.org/packages/ellama-badge.svg] [file:https://elpa.gnu.org/packages/ellama.svg] Ellama brings large language models into Emacs without turning Emacs into a web app. You can use it for ordinary chat, one-shot commands over the current buffer or region, and longer sessions that keep their history. It also has agent loops for work that needs several steps: make a plan, call tools, read project context, and continue from the previous turn. ## Recent NEWS: 1 Version 1.28.0 ════════════════ • Audio input support: audio files can now be attached alongside images in prompts, with provider capability validation. Includes transient entries, key bindings, a recording lighter in the mode line, and microphone recording commands. `ellama-read-file' can queue audio files for the next model turn, exposing audio mode in customization and tool metadata. • Audio recording backends: on startup, auto-selects the available recorder by platform — FFmpeg or SoX on macOS, arecord/FFmpeg/SoX on GNU/Linux. Fallback failures include the recorder's output and a macOS microphone-permission hint. • Recording normalization: default FFmpeg recordings are processed through a configurable dynamic audio normalization filter so quiet speech reaches audio models at a usable level. • Provider type selection: `ellama-transient' now supports selecting LLM provider types (Ollama, Claude, Gemini, etc.) via `ellama-transient-provider-types' and `ellama-transient-set-provider-type', with improved error handling during streamed responses. • Self-check step in plan-and-act: the workflow now appends an unstepped "Check yourself" entry to the checklist, allowing manual review before the acting phase. • Silent buffer revert after editing file: calls `revert-buffer' after `save-buffer' to stop Emacs from asking whether to revert a file that was just written. • File buffer refresh after shell commands: file-visiting buffers under the shell command working directory are refreshed silently after command completion, without prompting. • Non-interactive shell environment: `shell_command' sets `TERM=dumb' and `NO_COLOR=true' for subprocesses, preserving pager normalization. • Improved truncated output hints: line-range reporting now shows accurate output and source line counts, includes the configured line budget in guidance, and keeps saved-output hints scoped to results without known sources. • Line range edge cases: when the requested end exceeds the file length, `lines_range' returns available lines with a warning instead of failing. Ranges that start past EOF still error. • Documentation: README sections rewritten for clarity and brevity; audio input commands and workflows documented in a dedicated section; `ellama.info' regenerated from the updated Org source. • Updated `llm' dependency from 0.30.2 to 0.31.1. 2 Version 1.27.2 ════════════════ • Fixed `make' recipes when a sandboxed caller inherits a stale `TMPDIR'. Ellama now keeps valid temporary directories and falls back to `/tmp' only when the inherited directory no longer exists, which prevents Org from failing while loading during `srt make check-elisp'. 3 Version 1.27.1 ════════════════ • Added copyright notice to `extract-commands.el' script. 4 Version 1.27.0 ════════════════ • Added `ellama-undo-on-error'. Users can now choose whether failed LLM requests roll back partial buffer changes or leave the generated text in place. • Made plan-and-act and subagent loops more resilient after LLM failures. The loops continue after the first error, compact the session after repeated errors, resume after successful compaction, and stop cleanly when compaction cannot recover the session. • Made subagent tool errors part of the conversation instead of aborting the provider tool-use path. Synchronous and asynchronous tool failures are now returned as tool results so the worker can inspect the error and keep going. • Added preflight session compaction before oversized requests are sent. This covers regular `ellama-stream' calls and plan-and-act controller turns, and it resumes the deferred request in the target session buffer after compaction. • Changed edit tools to use asynchronous hook handling. Hooks no longer block the Emacs UI, while agents still receive the tool result only after the hooks have finished. • Tightened project checks. Byte and native compiler warnings now fail `make check-elisp', README custom-variable coverage is checked, and documented public commands are checked against real interactive commands. … …
