Version 1.10.6 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.10.6 ════════════════ • Added json-encode wrapping to `ellama-tools-read-file-tool', `ellama-tools-grep-tool', `ellama-tools-grep-in-file-tool' and `ellama-tools-lines-range-tool' outputs for consistent JSON format. 2 Version 1.10.5 ════════════════ • Added `count_lines' and `lines_range' tools for counting lines and retrieving file content by line range. • Introduced `grep_in_file' tool with confirmation prompt and updated `ellama-tools-available' list. 3 Version 1.10.4 ════════════════ • Added a new tool called "ask_user" that allows the system to pose questions to the user and receive clarifications. • Added a new tool to append content to files, including `ellama-tools-append-file-tool' and `ellama-tools-append-file-tool-confirm'. • Registered the new append file tool in `ellama-tools-available' with appropriate arguments and description. 4 Version 1.10.3 ════════════════ • Removed redundant checks for function arguments and streamlined the execution logic in ellama-tools.el, making the code more concise and maintainable by using the apply function directly in all cases. 5 Version 1.10.2 ════════════════ • Added directory tracking to sessions, including a directory path in the extra data field and setting the default directory when a session is initialized to maintain working directory context. 6 Version 1.10.1 ════════════════ • Added option to allow all tools without confirmation using new `ellama-tools-allow-all' variable marked as dangerous. • Introduced `ellama-tools-allowed' option to specify a list of allowed tools that execute without user confirmation. • Updated execution logic to check for tool's presence in the allowed list and properly encode non-string results using `json-encode'. • Added documentation for new tool access configuration options in README.org and ellama.info. • Refactored tool functions to use new naming conventions with "-tool" suffix and confirmation wrappers with "-tool-confirm" suffix. • Added support for processing and displaying tool uses and their results in LLM responses. • Updated response handler function signature to accept a result-handler and filter function. • Modified response processing logic to handle tool results and continue processing with updated prompts. • Adjusted async and streaming request handling to pass new parameters for better tool integration. 7 Version 1.10.0 ════════════════ • Added comprehensive tool support, enabling filesystem operations, shell commands, and utilities through LLM tools, including tool registration, file operations, directory tree exploration, and date/time utilities. • Integrated tool system into `ellama.el', adding dependencies, modifying session creation, and refactoring error and response handlers. • Implemented a new transient menu for managing tools with enable/disable functionalities, accessible via the main transient interface. • Added user confirmation system for potentially dangerous operations like file and shell command executions. • Refactored tool confirmation logic and response handling in `ellama-tools.el' and `ellama.el' for improved structure and JSON encoding. • Fixed directory tree function errors, ensuring proper checks and formatted output. 8 Version 1.9.1 ═══════════════ • Restricted template variable expansion to self-contained variables that don't span multiple lines to avoid conflicts with code snippets. • Created a variable for the regular expression to simplify future changes. • Made template variable matching less aggressive to accommodate various programming languages that use {} as function markers. 9 Version 1.9.0 ═══════════════ • Added new `ellama-response-process-method' customization option to choose between streaming and async response processing methods. • Implemented async processing as an alternative to streaming for potentially lower resource usage. • Added support for skipping every N messages in streaming responses to reduce resource usage. 10 Version 1.8.8 ════════════════ • Added new static method to indicate quotes in ellama-context module. • Enhanced ellama-transient to display richer context information including … …
