霓虹灯终端-人工智能聊天应用
现代AI聊天界面 黑色+霓虹绿黑客风格 主题。在多个AI模型(OpenAI、Anthropic、Gemini)之间切换,并实时流式响应。
特性
- �� 黑客风格的用户界面 -黑色+霓虹绿色主题,具有终端美学
- 🤖 多型号支持 -在OpenAI、Anthropic和Gemini之间切换
- ⚡ 实时流媒体 -查看生成的AI响应
- 💾 聊天记录 -会话在MongoDB中持续存在
- 🎯 每条消息的型号 -查看每个响应是由哪个模型生成的
技术栈
前端
- Vite+React+TypeScript
- 尾风CSS
- shadcn/ui组件
- Vercel AI SDK(流媒体)
后端
- Bun运行时
- Hono web框架
- MongoDB与Mongoose
- Vercel人工智能SDK(人工智能提供商)
入门指南
先决条件
- OpenAI API密钥 - 无烟煤API密钥 - 谷歌人工智能(Gemini)API密钥
安装
- 克隆仓库
git clone
cd neon-terminal- 设置环境变量
cp .env.example .env编辑 .env 并添加您的API密钥:
MONGODB_URI=mongodb://localhost:27017/neon-terminal
OPENAI_API_KEY=your-openai-key
ANTHROPIC_API_KEY=your-anthropic-key
GEMINI_API_KEY=your-gemini-key- 安装后端依赖项
cd api
bun install- 安装前端依赖项
cd ../app
bun install运行应用程序
- 启动后端 (从
api目录)
cd api
bun run devAPI将于 http://localhost:3001
- 启动前端 (从
app新终端中的目录)
cd app
bun run dev该应用程序将在 http://localhost:5173
- 打开浏览器 并导航到
http://localhost:5173
项目结构
├── api/ # Backend (Bun + Hono)
│ ├── src/
│ │ ├── models/ # MongoDB models
│ │ ├── routes/ # API routes
│ │ ├── services/ # AI service abstraction
│ │ ├── types/ # TypeScript types
│ │ └── index.ts # Entry point
│ └── package.json
│
├── app/ # Frontend (Vite + React)
│ ├── src/
│ │ ├── components/ # React components
│ │ │ ├── ui/ # shadcn/ui components
│ │ │ └── ... # App components
│ │ ├── hooks/ # Custom hooks
│ │ ├── lib/ # Utilities
│ │ ├── types/ # TypeScript types
│ │ ├── App.tsx # Main app component
│ │ └── main.tsx # Entry point
│ └── package.json
│
├── .env.example # Environment variables template
└── README.mdAPI终点
| 方法 | 端点 | 描述 |
|---|---|---|
| 得到 | /api/models | 获取可用的AI模型 |
| 得到 | /api/sessions | 获取所有聊天会话 |
| 得到 | /api/sessions/:id | 获取包含消息的会话 |
| 删除 | /api/sessions/:id | 删除会话 |
| 职位 | /api/chat/stream | 流式聊天响应 |
可用型号
- 开放人工智能:GPT-4.1、GPT-4o
- Anthropic克劳德·十四行诗4、克劳德·3.5
- 双子座:1.5 Pro,2.0 Flash
许可证
麻省理工学院
