一个用于构建具有LangGraph.js的AI代理的生产就绪Next.js模板,支持Model Context Protocol (MCP)集成、人工介入工具审批以及持久会话记忆。

完整的代理工作流程:用户输入 → 工具审批 → 执行 → 流式响应
git clone https://github.com/IBJunior/fullstack-langgraph-nextjs-agent.git
cd fullstack-langgraph-nextjs-agent
pnpm install
cp .env.example .env.local
编辑.env.local以配置您的设置:
# 数据库
DATABASE_URL="postgresql://user:password@localhost:5434/agent_db"
# AI模型(选择一个或两个)
OPENAI_API_KEY="sk-..."
GOOGLE_API_KEY="..."
# 可选:默认模型
DEFAULT_MODEL="gpt-4o-mini" # 或 "gemini-1.5-flash"
docker compose up -d
pnpm prisma:generate
pnpm prisma:migrate
pnpm dev
访问http://localhost:3000开始与您的AI代理聊天!
stdio 或 httpnpx @modelcontextprotocol/server-filesystem)["/path/to/allow"])
MCP服务器配置表单,带有示例文件系统服务器设置
{
"name": "filesystem",
"type": "stdio",
"command": "npx",
"args": ["@modelcontextprotocol/server-filesystem", "/Users/yourname/Documents"]
}
{
"name": "web-api",
"type": "http",
"url": "http://localhost:8080/mcp",
"headers": {
"Authorization": "Bearer your-token"
}
}
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Next.js UI │◄──►│ Agent Service │◄──►│ LangGraph.js │
│ (React 19) │ │ (SSE Streaming) │ │ Agent │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ React Query │ │ Prisma │ │ MCP Clients │
│ (状态管理) │ │ (数据库) │ │ (工具) │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│
▼
┌──────────────────┐
│ PostgreSQL │
│ (持久化) │
└──────────────────┘
src/lib/agent/builder.ts)src/lib/agent/mcp.ts)src/services/agentService.ts)src/hooks/useChatThread.ts)有关详细的架构文档,请参阅docs/ARCHITECTURE.md。
pnpm dev # 启动带有Turbopack的开发服务器
pnpm build # 生产构建
pnpm start # 启动生产服务器
pnpm lint # 运行ESLint
pnpm format # 使用Prettier格式化
pnpm format:check # 检查格式
# 数据库
pnpm prisma:generate # 生成Prisma客户端(在模式更改后)
pnpm prisma:migrate # 创建并应用迁移
pnpm prisma:studio # 打开Prisma Studio(数据库UI)
src/
├── app/ # Next.js App Router
│ ├── api/ # API路由
│ └── thread/ # 线程特定页面
├── components/ # React组件
├── hooks/ # 自定义React钩子
├── lib/ # 核心实用程序
│ └── agent/ # 代理相关逻辑
├── services/ # 业务逻辑
└── types/ # TypeScript定义
prisma/
├── schema.prisma # 数据库模式
└── migrations/ # 数据库迁移
src/lib/agent/builder.ts, src/lib/agent/mcp.tssrc/app/api/agent/stream/route.tsprisma/schema.prismasrc/components/Thread.tsxsrc/hooks/useChatThread.ts我们欢迎贡献!此项目旨在成为LangGraph.js开发的社区资源。
git checkout -b feature/amazing-featuregit commit -m '添加惊人的功能'git push origin feature/amazing-feature本项目采用MIT许可证 - 查看LICENSE文件了解详情。
准备好构建您的下一个AI代理了吗?