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
  …  …

Reply via email to