Version 1.12.5 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: [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. The name "ellama" is derived from "Emacs Large LAnguage Model Assistant". Previous sentence was written by Ellama itself. <file:imgs/reasoning-models.gif> ## Recent NEWS: 1 Version 1.12.5 ════════════════ • Prevent duplicate tools in ellama-tools. Added a test function to add-to-list to check if a tool with the same name already exists before adding it to ellama-tools-available. This prevents duplicate tools from being registered when enabling tools by name. • Update changelog skill quoting style. Changed the changelog generation skill to use org-mode quoting (`text') instead of markdown backticks (`text`). Also use "MUST" instead of "must" to pay LLM's attention to the newline requirement. 2 Version 1.12.4 ════════════════ • Normalize file path in write-file function. Added expand-file-name to properly handle both absolute and relative paths when writing files, preventing potential issues with file path resolution. • Filter function objects from function call arguments. This prevents display of uncallable function objects in the confirmation prompt. • Make task tool unaccessible for general subagents. This change improves security and control over tool access. • Fix file write tool. Corrected the order of operations in ellama-tools-write-file-tool by setting the buffer file name before inserting content. • Fix async tools confirmation. Use callback function to return result to the agent. • Improve system message handling. Added optional MSG parameter to ellama-get-system-message to allow callers to provide custom system messages via the :system plist key. This allows sub-agents to use skills. • Improve agent response result handling. Updated result encoding to return "done" for nil results instead of causing potential errors. • Fix result handling in tool execution wrapper. Improved the logic for handling tool results by ensuring JSON encoding only occurs when a result exists. This change fixes async task execution. 3 Version 1.12.3 ════════════════ • Improve loop control in confirmation dialog. Refactored the while loop in the confirmation prompt to use explicit t/nil returns for loop continuation instead of throw/catch. This improves code readability and maintainability while preserving all existing functionality. 4 Version 1.12.2 ════════════════ • Add view and reply options to ellama-tools confirmation. • Remove tools list tool to minimize LLMs distraction. • Add automated NEWS formatting using `make refill-news'. 5 Version 1.12.1 ════════════════ • Simplify project root detection in `ellama-get-agents-md-path' to use `ellama-tools-project-root-tool'. This refactoring eliminates potential nil returns from project-current, making the function more robust when locating the AGENTS.md file. 6 Version 1.12.0 ════════════════ • Add asynchronous task delegation functionality via the new `task' tool that allows delegating descriptions to subagents with custom roles and max-steps limits. • Add configurable subagent roles with `ellama-tools-subagent-roles' customization variable, enabling custom providers, system prompts and tool access permissions for different agent types. • Add JSON support to answer variants in the `ellama-tools-ask-user-tool' to handle both list and string inputs. • Simplify tool result handling by adding nil checks before JSON encoding. • Remove redundant tool definitions including `enable_tool', `disable_tool', `search_tools', and `today' to streamline the tool management system. 7 Version 1.11.1 ════════════════ • Add AGENTS.md support to system message. Include the AGENTS.md file content from the current project or subproject in the system message by adding helper functions to locate and read the file from the directory tree up to the project root. • Refine style guidelines and remove old instructions. Updated docstring formatting rules in AGENTS.md and removed legacy instructions.org file. 8 Version 1.11.0 ════════════════ • Add skills system to Ellama. • Add Agent Skills to the documentation. • Add changelog generation skill to the project. 9 Version 1.10.12 ═════════════════ • Added prepend_file tool that allows prepending content to files. This expands the set of file manipulation utilities available through the ellama tools. • Introduced customizable global and local directories for storing blueprint … …
