Skip to content

Latest commit

 

History

History
95 lines (70 loc) · 3.11 KB

File metadata and controls

95 lines (70 loc) · 3.11 KB
AI Terminal Logo

AI Terminal

Enterprise Ops Copilot

AI Terminal 是一个现代化的、对话驱动的多终端运维工作台。它将传统的 SSH 终端与 LLM (Large Language Model) 深度集成,允许用户通过自然语言管理多个服务器、批量执行指令、审计关键操作,并利用 AI 辅助分析执行结果。

核心特性

1. 对话驱动的多终端协作

  • 统一上下文:在一个浏览器标签页中管理多个 SSH 会话(Tab 切换)。
  • 自然语言指令:直接告诉 AI "检查所有服务器的负载",它会自动生成并分发 uptimetop 命令。
  • 批量执行:一条指令可以选择在"当前终端"、"指定终端"或"所有 SSH 终端"执行。

2. 后台任务系统 (Job System)

  • 异步运行:支持将耗时命令(如编译、备份、抓包)转为后台任务,页面关闭后仍继续运行。
  • 持久化日志:任务日志实时流式回显,并持久化存储,随时回溯历史。
  • 状态管理:清晰的任务状态流转(排队、运行中、成功、失败、取消),支持中途停止任务。

3. 企业级安全与审计

  • 操作审计:所有关键操作(登录、SSH 连接、指令执行、配置变更)均有审计日志。
  • 权限隔离:基于角色的访问控制 (RBAC),普通用户只能访问自己的会话和配置,管理员可查看全局审计。
  • 密钥管理:SSH 私钥加密存储,支持 Passphrase。

4. 现代化 UI/UX

  • 自适应终端:基于 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

安装

  1. 克隆项目:

    git clone https://github.com/your-username/bot-terminal.git
    cd bot-terminal
  2. 安装依赖:

    npm install
  3. 配置环境变量: 复制 .env.example.env.local 并填入数据库连接信息。

    cp .env.example .env.local

    确保设置 DATABASE_URLNEXTAUTH_SECRET (用于加密会话)。

  4. 初始化数据库:

    npx prisma migrate dev
  5. 启动开发服务器:

    npm run dev
  6. 访问 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 开源。