Vercel — AI · · 1 min read

Extend eve agents with installable extensions

Mirrored from Vercel — AI for archival readability. Support the source by reading on the original site.

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:

npx eve@latest extension init crm

Scaffolding an extension named crm

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.

@acme/crm/
package.json
extension/
extension.ts # defineExtension + config schema
tools/search.ts
connections/api.ts
skills/triage/SKILL.md
instructions.md
hooks/audit.ts
lib/http.ts

The generated extension package

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/:

agent/extensions/crm.ts
import crm from "@acme/crm";
export default crm({ apiKey: process.env.CRM_API_KEY! });

Importing and configuring the extension in an agent

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 with disableTool().

  • Narrow an extension tool's result type in hooks with toolResultFrom.

Read the documentation to get started.

Contributors

Ben Sabic, Kevin Corbett

Discussion (0)

Sign in to join the discussion. Free account, 30 seconds — email code or GitHub.

Sign in →

No comments yet. Sign in and be the first to say something.

More from Vercel — AI