Vercel's eve starts with an el-niño (work in progress)

Using Vercel's eve as agentic framework

Nowadays, AI engineering is about creating a harnass around a foundational model. In this article I explore a harnass created by Vercel: eve. Eve is a directory build on top of the agentic SDK framework. The advantage of using eve is the easy integration of the directory and the framework into your app. You could say the framework gives you a head start for building your agentic application. The directory includes a filestructure with instructions for your agent, model choice, tool definition and skill instructions. All these files have to be in a specific directory format and have to be aligned with eve's structure. You therefore lose some customizability.

For now I based my demo on the basics: tools, agents and a small front-end written in next.js, but there are more possibilities.

  1. You could include sandbox environments that have a security benefit. It spins an environment in which coding is isolated (Linux microVM) from the main application which is useful when the agent has to execute code it has created.
  2. You also can link third party systems (slack, figma or github) more easily by including channels. These channels are predefined and easy to import.
  3. Lastly, you could add multiple subagents to delegate specific tasks.

Using Openrouter

Openrouter is an LLM interface. It facilitates the connection between a foundation model and your application. It's easy to use and beneficial if you are not sure whether you want to switch models in the future. It integrates well with Eve's framework, see the code snippet below:

import { defineAgent } from "eve";
import { createOpenRouter } from "@openrouter/ai-sdk-provider";

const openrouter = createOpenRouter({
  apiKey: process.env.OPENROUTER_API_KEY,
  
});

const model = process.env.OPENROUTER_API_MAIN_MODEL	|| "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free"

export interface RunAgentMetadata {
	timestamp?: number;
	rawPayload?: unknown;
	sessionId: string;
}

export default defineAgent({
  model: openrouter(model),
  modelContextWindowTokens: 2_000,
});

A short impresssion

It worked smooth, specifically adding the tools and deploying it on Vercel easily. I especially liked the ease of creating the chat interface and showing the reasoning logic of the model to the user.

Please see my recently created chat bot with el-niño information:

https://el-nino-eve-kohl.vercel.app/"