创建 .env.example:
EVE_GATEWAY_MODEL_ID=minimax/minimax-m3
AI_GATEWAY_API_KEY=
本地运行时复制一份:
cp .env.example .env
然后填入自己的 Vercel AI Gateway Key:
EVE_GATEWAY_MODEL_ID=minimax/minimax-m3
AI_GATEWAY_API_KEY=你的_Vercel_AI_Gateway_Key
.env 不应该提交到 Git。仓库里只保留 .env.example,让读者知道需要哪些变量。
如果还没有 API Key,也可以先运行:
npm exec -- eve info
这个命令只检查项目结构,不会真正发起模型调用。
验证 Eve 是否发现了 Agent
运行:
npm exec -- eve info
如果正常,会看到类似结果:
Application
App Root .../example/01-first-agent
Agent Root .../example/01-first-agent/agent
Layout nested
Compile ready
Diagnostics 0 errors, 0 warnings
Instructions instructions.md
Skills 0 skills
这里我们主要确认三件事:
- Eve 找到了
agent/目录; instructions.md被识别;- 当前还没有 skills,符合这一篇的目标。
也可以运行构建:
npm run build
构建通过,说明 Eve 可以把当前 Agent 编译成可运行输出。
启动 CLI chat
现在启动开发模式:
npm run dev
这个命令实际执行的是:
eve dev
启动后会进入 Eve 的交互式 TUI。在里面输入:
你是谁?你能帮 SpringForAll 做什么?

预期结果不是"模型能回复一句话"这么简单,而是要验证 instructions 是否生效。
一个合格的回答应该满足:
- 用中文回答;
- 知道自己是 SpringForAll 内容运营助手;
- 能说明可以帮助做选题、文章角度整理、提纲建议等工作;
- 不会声称自己能自动发布文章;
- 不会声称自己已经联网检索了资料。
这一步很关键。

我们不是只在验证 API Key 是否可用,而是在验证 agent/instructions.md 真的改变了 Agent 的行为。
这一版最小 Agent 有什么
回头看这个工程,它的能力非常克制:
example/01-first-agent/
package.json # npm 脚本和依赖
tsconfig.json # TypeScript 配置
.env.example # 环境变量模板
agent/
agent.ts # Agent 运行配置
instructions.md # Agent 角色和行为说明
channels/
eve.ts # eve init 生成的内置 channel
这一篇只完成下面几件事:
- 有一个主 Agent;
- 有一份 always-on instructions;
- 使用 Vercel AI Gateway 模型;
- 可以通过 Eve CLI chat 对话;
- 可以通过
eve info和eve build验证项目结构。