New Project
Open source personal agent template. Web chat, Slack, iMessage, Linear, and long-term memory.
Template. Fork it, customize it, and deploy your own personal agent.
Open source personal agent template. Web chat, Slack, iMessage, Linear, and long-term memory — one codebase, durable sessions, user-approved memory saves.
Chat with your agent in the browser. Threads resume across sessions, tool calls render in real time, and save_memory proposals require explicit approval before anything is stored.
DMs and @mentions on Slack. Link your Slack account to your web profile so memory and context follow you across channels.
Reach V over iMessage via Sendblue. Add your phone number in Profile, then message the Sendblue line — same memory and context as web and Slack.
Connect Linear via Vercel Connect MCP. Ask about issues, projects, and cycles — the agent queries Linear tools, never guesses from memory.
Raycast-style import from ChatGPT or other assistants. Five fixed categories, one prose block each. Edit, delete, or let the agent propose updates via save_memory.
Morning briefing skill: active focus from memory, assigned Linear issues, and a suggested next action. Trigger from the home quick action or ask in chat.
┌─────────────────────────────────────────────────────────────────┐│ Web chat · Slack DMs / mentions · iMessage │└───────────────────────────────┬─────────────────────────────────┘▼┌─────────────────────────────────────────────────────────────────┐│ Eve agent (channels, tools, skills) │└───────────────────────────────┬─────────────────────────────────┘│ /api/internal/* (Bearer auth)▼┌─────────────────────────────────────────────────────────────────┐│ Nuxt (UI + Nitro API + Better Auth + SQLite) │└───────────────────────────────┬─────────────────────────────────┘▼Vercel Connect (Linear, Slack)
On Vercel, two services deploy from vercel.json [blocked]: web (Nuxt) and eve (agent runtime).
Requirements: Node.js 24+, pnpm
git clone https://github.com/vercel-labs/personal-agent-template.gitcd personal-agent-templatepnpm installcp .env.example .envpnpm db:migratepnpm dev
Open http://localhost:3000, create an account, and start chatting.
Required environment variables:
BETTER_AUTH_SECRET=... # openssl rand -base64 32BETTER_AUTH_URL=http://localhost:3000INTERNAL_API_SECRET=... # openssl rand -base64 32 — same on web + eve
See ENVIRONMENT.md for the full reference.
Fresh local database:
rm -rf .data/db && pnpm db:migrate
Personal Agent Template ships with V as the example persona. See the Customization Guide for how to:
Long-term memory is injected into every Eve session for authenticated users (web, linked Slack, and iMessage).
V can also propose facts via save_memory — approve or skip in chat. Edit or delete entries on Profile → Memory.
For the full technical deep-dive, see Architecture.
pnpm dev # Start Nuxt + Eve dev serverpnpm typecheck # TypeScript checkpnpm build # Production buildpnpm db:generate # Generate Drizzle migrationspnpm db:migrate # Apply migrations
See AGENTS.md for notes aimed at AI coding assistants.
See CONTRIBUTING.md for how to get involved.
