Built-in Tools#

Enkaidu provides built-in tools (functions) with related ones organized into toolsets.

You can load and unload tools, either individually or as entire toolsets, before and after prompting the LLM. You can also configure Enkaidu to auto-load tools.

As of 0.8.7, removed list_files tool and replaced with find_files, and added search_files.

Always available session tools#

While the availability of toolsets and their tools are controllable by the user (using the /toolset... commands and auto_load:... configurations), as of version 0.8.10 Enkaidu includes tools that are built-in and available to all sessions all the time.

spawn_agent#

  • A tool/function that can run a prompt in a completely fresh, isolated context window and receive the result as [query, response] based on the agent’s session outline (first request, last response).
  • The agent runs without any history from the current session by default, but offers an optional include_current_history boolean parameter that can be set to true

Local models don’t seem to be able to make the judgement call about when to spawn an agent easily on their own. However, with Enkaidu’s expanded default system prompt and the availability of the spawn_agent tool, the user can append Use an agent to their request to guide the model.

User-selectable session tools#

Toolset Description Tools
DateAndTime Tools for working with dates and times. get_current_datetime
Experimental Tools for experimental features. regex_text_edit_tool, apply_patch_to_text_file
FileManagement Tools for managing files and directories. search_files, find_files, create_directory, rename_file, delete_file
ImageEditing Tools for creating and reading image files. create_image_file, read_image_file
ShellAccess Tools for executing shell commands. shell_command
TextEditing Tools for reading and editing text files. read_text_file, write_text_file, replace_text_in_text_file
Web Tools for interacting with web resources. http_get_web_page, http_get_web_page_as_markdown