AI Terminal 是一个现代化的、对话驱动的多终端运维工作台。它将传统的 SSH 终端与 LLM (Large Language Model) 深度集成,允许用户通过自然语言管理多个服务器、批量执行指令、审计关键操作,并利用 AI 辅助分析执行结果。
- 统一上下文:在一个浏览器标签页中管理多个 SSH 会话(Tab 切换)。
- 自然语言指令:直接告诉 AI "检查所有服务器的负载",它会自动生成并分发
uptime或top命令。 - 批量执行:一条指令可以选择在"当前终端"、"指定终端"或"所有 SSH 终端"执行。
- 异步运行:支持将耗时命令(如编译、备份、抓包)转为后台任务,页面关闭后仍继续运行。
- 持久化日志:任务日志实时流式回显,并持久化存储,随时回溯历史。
- 状态管理:清晰的任务状态流转(排队、运行中、成功、失败、取消),支持中途停止任务。
- 操作审计:所有关键操作(登录、SSH 连接、指令执行、配置变更)均有审计日志。
- 权限隔离:基于角色的访问控制 (RBAC),普通用户只能访问自己的会话和配置,管理员可查看全局审计。
- 密钥管理:SSH 私钥加密存储,支持 Passphrase。
- 自适应终端:基于 xterm.js,支持自动调整大小、亮/暗色主题。
- 即时反馈:流式响应,低延迟操作体验。
- 移动端适配:响应式布局,支持在移动设备上查看状态。
- Frontend: Next.js 14 (App Router), React, Tailwind CSS, shadcn/ui, xterm.js
- Backend: Next.js API Routes, Server-Sent Events (SSE)
- Database: PostgreSQL, Prisma ORM
- Security: bcryptjs, Jose (JWT), Web Crypto API
- SSH: ssh2
- Node.js 18+
- PostgreSQL Database
-
克隆项目:
git clone https://github.com/your-username/bot-terminal.git cd bot-terminal -
安装依赖:
npm install
-
配置环境变量: 复制
.env.example到.env.local并填入数据库连接信息。cp .env.example .env.local
确保设置
DATABASE_URL和NEXTAUTH_SECRET(用于加密会话)。 -
初始化数据库:
npx prisma migrate dev
-
启动开发服务器:
npm run dev
-
访问
http://localhost:3000。
项目支持标准的 Next.js 部署流程(Docker, Vercel, etc.)。
推荐使用 Docker 部署:
docker build -t ai-terminal .
docker run -p 3000:3000 -e DATABASE_URL=... ai-terminal本项目采用 Apache License 2.0 开源。


