You can now package tools, connections, skills, instructions, and hooks into extensions that any eve agent can import. Extensions can be published to package registries like npm, then installed, versioned, and upgraded like any other project dependency.
A browser-use extension might ship tools for navigating a site, a memory extension can capture context with hooks and recall it with tools, and a self-improvement extension pairs hooks with dynamic instructions.
Scaffold a new extension with a single command:
This creates the package, installs dependencies, and initializes Git. The generated package is shaped like an agent, with tools, connections, skills, and hooks following the same file conventions.
When the extension is ready, running
To use an extension, install the package and import it from a file in
The filename sets the namespace, so the extension's search tool runs in the agent as
Extensions allow you to:
Read the documentation to get started.
Read more
Continue reading...
A browser-use extension might ship tools for navigating a site, a memory extension can capture context with hooks and recall it with tools, and a self-improvement extension pairs hooks with dynamic instructions.
Scaffold a new extension with a single command:
This creates the package, installs dependencies, and initializes Git. The generated package is shaped like an agent, with tools, connections, skills, and hooks following the same file conventions.
When the extension is ready, running
eve extension build generates the publishable package.To use an extension, install the package and import it from a file in
agent/extensions/:The filename sets the namespace, so the extension's search tool runs in the agent as
crm__search.Extensions allow you to:
Declare a config schema using a standard schema library, such as Zod. Consumer settings are validated on import and typed everywhere the extension reads them.
Require approval before an extension's tool runs, replace it with your own, or remove it withdisableTool().
Narrow an extension tool's result type in hooks withtoolResultFrom.
Read the documentation to get started.
Read more
Continue reading...