Version 1.25.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 is a tool for interacting with large language models from Emacs. It allows you to ask questions and receive responses from the LLMs. Ellama can perform various tasks such as translation, code review, summarization, enhancing grammar/spelling or wording and more through the Emacs interface. Ellama natively supports streaming output, making it effortless to use with your preferred text editor. ## Recent NEWS: 1 Version 1.25.0 ════════════════ • Add loop detection to `ellama-eval' harness that identifies repetitive tool call patterns indicating agents are stuck in evaluation loops. The harness returns recovery guidance on the first repeated identical tool call sequence, and falls back to hard loop detection for repeated loops after recovery. Configurable defcustoms control the behavior: `ellama-eval-loop-detection-enabled' (default: t), `ellama-eval-loop-detection-repeated-threshold' (default: 2), and `ellama-eval-loop-detection-max-traces' (default: 50). • Move loop recovery into task subagents by wrapping role tools with session-local repeated-call detection. Repeated identical tool calls return recovery guidance at the configured threshold and complete the subtask if the same consecutive chain continues. Document the new subagent loop-detection settings in README.org. • Extend evaluation cancellation with request context tracking. Store the active request context on the session for streaming, continuation, and compaction requests so that eval timeout cancellation can target the correct context directly. Cancel active eval worker requests when a run finishes with a non-completed status, and register asynchronous session compaction requests in the active request context so user cancellation and eval timeout stop the compact request itself. • Harden evaluation async buffer handling by scheduling timers from a stable internal buffer so callbacks do not inherit transient subagent buffers. Guard interactive summary rendering against stale target-window errors and fall back to display-buffer. • Render evaluation progress and final summaries into the selected window for interactive runs, keeping the existing display-buffer behavior as a fallback for noninteractive or stale-window calls. • Preserve triggering tool calls in public traces and final loop-detection results when loop detection triggers, and record recovery metadata in tool traces so recovered passing runs remain visible. Avoid false loop detection on later repeated reads by treating the repeated-call threshold as the recovery point for the current consecutive chain. 2 Version 1.24.1 ════════════════ • Added literal string matching support to `ellama-tools-grep-tool' and `ellama-tools-grep-in-file-tool' using `-F' (fixed-strings) and `-e' flags, treating the search string literally rather than as a regular expression. Added helper function `ellama-tools--grep-search-args' and corresponding unit tests. • Fixed `srt' command quoting for shell execution. Added `ellama-tools--shell-quote-command' helper and updated `ellama-tools--command-argv' to properly construct shell command strings when using `srt' sandbox. Commands are now wrapped with `srt -c' using `shell-quote-argument' to safely handle special characters in arguments. 3 Version 1.24.0 ════════════════ • Added plan-and-act agent loop for multi-agent code generation workflows. • Added plan-and-act agent to transient menu for easy access. • Added support for resuming plan-and-act after interruption. • Formatted plan-and-act tool arguments for better reliability. • Fixed plan-and-act test root path for correct test execution. • Documented plan-and-act agent loop functionality. 4 Version 1.23.0 ════════════════ • Add optional `timeout' support to `shell_command' with a default of five seconds. Long-running async shell commands are terminated when the timeout expires and return a timeout message with any collected output. • Add optional `timeout' support to `grep' with the same five-second default. Directory searches now use timeout-aware command execution and return a clear diagnostic when grep exceeds the configured limit. • Add optional `timeout' support to `directory_tree' with the same five-second default. Recursive directory traversal now stops when the timeout expires and returns a clear diagnostic with the partial tree collected so far. • Strengthen project git hook templates for local Elisp validation. Staged Elisp … …
