当前位置: 首页 > news >正文

告别手敲命令!个人开源 AI 运维神器 AITerm,用自然语言远程管理服务器

AITerm

AI 驱动的智能终端管理工具,通过自然语言指令远程管理服务器。
项目地址:https://gitee.com/newpc/aiterm

简介

在日常运维服务器过程中,经常需要手动输入大量命令。AITerm 旨在通过自然语言交互,让 AI 自动完成这些任务,提升运维效率。

虽然市面上已有 Claude Code、Openclaw、OpenCode、Codex 等自动化工具,但在部署、使用灵活性方面个人认为仍有不足。AITerm 专注于:

  • 快速部署- 一键启动,无需复杂配置
  • 模型配置简单- 支持 OpenAI 兼容 API,配置直观
  • 提示词自定义- 系统提示词支持完全自定义
  • 多端访问- Web 架构,PC 端、移动端均可访问

本系统使用 DeepSeek 官方 API 调试开发,支持/chat/completions接口,兼容 OpenAI API 格式。

功能特性

  • 自然语言交互- 用自然语言描述任务,AI 自动规划并执行
  • 多节点管理- 支持管理多台服务器,统一调度执行
  • 智能命令生成- AI 自动生成适配目标系统的命令
  • 风险评估- 高风险命令自动识别,需人工确认后执行
  • 实时执行反馈- SSE 流式输出命令执行过程
  • 跨平台支持- 兼容 Windows、Linux、macOS
  • 工具系统- 支持自定义工具,大模型可调用工具获取信息

界面展示

对话界面

自然语言交互界面,AI 实时展示思考过程和工具调用。

对话历史

查看历史对话记录,支持继续对话和重新生成。

终端界面

支持在终端中直接执行命令,实时查看执行结果。

节点管理

管理多台服务器节点,支持添加、编辑、删除节点。

技术栈

后端

  • Python 3.10+ / FastAPI
  • SQLite
  • OpenAI 兼容 API

前端

  • Vue 3 + TypeScript
  • Element Plus
  • xterm.js
  • CodeMirror 6

快速开始

环境要求

  • Python 3.10+
  • Node.js 18+

后端启动

cdaiterm-server-python pipinstall-rrequirements.txt python main.py

服务默认运行在http://localhost:18084

前端启动

cdaiterm-webyarninstallyarndev

前端开发服务器默认运行在 `http://localhost:18085

工具系统

初始化默认工具

运行以下脚本导入预设工具和默认配置提示词

cdaiterm-server-python python init_scripts/init_tools.py python init_scripts/init_settings.py

预设工具包括:

工具名称显示名称描述
get_current_time获取当前时间获取当前日期、时间和星期
read_file读取文件读取指定路径的文件内容
write_file写入文件将内容写入指定路径的文件
list_directory列出目录列出指定目录下的文件和子目录
delete_file删除文件删除指定的文件
copy_file复制文件复制文件到指定路径
move_file移动文件移动或重命名文件
http_requestHTTP请求发送HTTP请求,支持GET、POST等方法
download_file下载文件从URL下载文件到本地
create_directory创建目录创建目录,支持多级创建
get_file_info获取文件信息获取文件的详细信息,包括大小、修改时间等
search_files搜索文件在目录中搜索匹配的文件

工具管理


内置40+工具可以导入

工具编辑可以指定参数、工具名称、描述,自定义工具代码功能,可以测试工具的输入、输出。
系统可以借助 工具+大模型 灵活完成任务。

自定义工具配置,包括工具名称、描述、参数定义和执行代码。

工具调用流程

用户消息 → 大模型 → 判断是否需要调用工具 ↓ 返回 tool_calls(工具名+参数) ↓ 系统执行工具代码 → 返回结果 ↓ 结果返回大模型 → 生成最终回复

对话流程

消息展示结构

对话过程中,消息按照以下顺序展示:

┌─────────────────────────────────────────────────────────────┐ │ 用户输入 │ │ "写一个 HTTP Python 服务器文件并保存" │ └─────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ 🧠 思考中... (实时显示) │ │ ├─ 用户想要创建一个 HTTP 服务器文件... │ │ ├─ 我需要先查看当前目录结构... │ │ └─ 然后创建一个简单的 HTTP 服务器代码... │ │ │ │ ✅ 已思考 (耗时 2.3s) [展开/收起] │ └─────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ 🔧 调用工具: list_directory (2024-01-15 10:30:15) │ │ ├─ 参数: {"path": "/data/sandbox"} │ │ └─ 结果: {"files": ["test.py", "data.json"]} │ │ │ │ 🔧 调用工具: write_file (2024-01-15 10:30:18) │ │ ├─ 参数: {"path": "/data/sandbox/http_server.py", ...} │ │ └─ 结果: {"success": true} │ └─────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ 💬 AI 回答 │ │ 我已经为你创建了一个简单的 HTTP 服务器文件 `http_server.py`, │ │ 保存在沙盒目录中。你可以使用以下命令运行它: │ │ │ │ ```bash │ │ python http_server.py │ │ ```│ └─────────────────────────────────────────────────────────────┘

多轮工具调用

当任务复杂时,大模型可能进行多轮思考和工具调用:

输入 → 思考1 → 工具调用1 → 思考2 → 工具调用2 → ... → 回答

示例流程:

步骤类型内容说明
1输入用户发送消息
2思考大模型分析任务,规划执行步骤
3工具调用list_directory查看目录结构
4思考根据目录内容,决定下一步操作
5工具调用write_file创建文件
6思考确认文件创建成功,准备回答
7回答生成最终回复

实时显示特性

  • 思考过程实时流式输出- 用户可以看到大模型的思考过程
  • 工具调用即时反馈- 显示工具名称、参数和执行结果
  • 时间信息- 每个思考阶段和工具调用都显示时间戳
  • 独立展开控制- 思考和工具调用区域可独立展开/收起

配置选项

在全局设置中可以配置:

配置项说明
显示对话输入是否显示每次调用大模型时的输入内容
最大迭代次数工具调用的最大循环次数(默认 20)
沙盒路径文件操作允许的路径范围
模型配置


配置大模型 API,支持 OpenAI 兼容的 API 接口。

全局配置

系统全局设置,包括提示词模板、沙盒路径、迭代次数等。

用户配置


用户个人设置,包括主题、语言等偏好配置。

自定义工具

工具代码需要定义execute函数:

defexecute(arguments):""" arguments: dict - 工具参数 返回: 工具执行结果 """# 在这里编写你的工具逻辑return{"success":True,"result":"..."}

使用示例

  1. 访问 Web 界面,配置 LLM API
  2. 在聊天界面输入自然语言指令,如:
    • “查看系统内存使用情况”
    • “安装 nginx 并配置反向代理”
    • “检查磁盘空间并清理临时文件”
  3. AI 自动生成命令计划,确认后执行
  4. 实时查看执行结果

项目结构

AITerm/ ├── aiterm-server-python/ # 后端服务 │ ├── app/ # 应用模块 │ │ ├── api/ # API 路由 │ │ ├── db/ # 数据库模型 │ │ ├── models/ # Pydantic 模型 │ │ ├── repositories/ # 数据访问层 │ │ └── services/ # 业务逻辑层 │ ├── scripts/ # 脚本 │ │ └── init_tools.py # 工具初始化脚本 │ └── main.py # 入口文件 ├── aiterm-web/ # 前端应用 │ ├── src/ # 源代码 │ └── public/ # 静态资源 └── README.md

完整对话示例

以下是一个完整的对话示例,展示了从用户输入到 AI 回答的完整流程:

对话流程说明

用户请求:“写一个 HTTP Python 的代码文件并保存”

第 1 轮迭代:

阶段内容
思考分析用户需求,决定先查看沙盒目录结构
工具调用list_directory- 查看目录I:/sandbox
结果发现目录中已有flask_apphttp_server.pymain.py

第 2 轮迭代:

阶段内容
思考决定创建一个新的综合 HTTP 示例文件http_demo.py
工具调用write_file- 写入完整的 HTTP 服务器代码
结果成功创建 6.6 KB 的 Python 文件

第 3 轮迭代:

阶段内容
思考验证文件是否创建成功
工具调用get_file_info- 获取文件信息
结果确认文件创建成功,显示文件详情

最终回答:

AI 返回了文件创建成功的摘要,包括文件路径、大小、创建时间,以及文件内容说明和使用方法。

流程测试2

测试脚本


测试结果
系统自动规划步骤,逐步骤进行思考、调用工具、生成结果,最后得到答案

标题测试流程3

测试脚本

测试结果

测试过程

http://www.jsqmd.com/news/753681/

相关文章:

  • 解放游戏时间:MAA明日方舟助手如何让日常任务自动化成为现实
  • 2025届学术党必备的六大AI写作方案横评
  • 2026 环保设备工程厂家技术深度测评:从核心指标看行业优质供给 - 小艾信息发布
  • 招行:开始闯入“龙虾”圈,openclaw 应用正忙,《银行业务智能体构建:通用业务智能体OpenClaw+Skills+RAG+Agent构建案例实操》
  • 分类数据集 - 人脸遮挡检测图像分类数据集下载
  • 2026苏州卫生间免砸砖防水、外墙、地下室、楼顶渗漏+彩钢瓦、阳光房隔热 本地专业防水公司TOP5权威推荐(2026年5月本地最新深度调研) - 企业资讯
  • WSL2里systemctl用不了?试试这3种替代方案(含Docker Desktop配置)
  • 2026咸宁卫生间免砸砖防水、外墙、地下室、楼顶渗漏+彩钢瓦、阳光房隔热 本地专业防水公司TOP5权威推荐(2026年5月本地最新深度调研) - 企业资讯
  • 5分钟快速上手:ComfyUI-BiRefNet-ZHO实现高质量AI图像视频抠图
  • 2026南京卫生间免砸砖防水、外墙、地下室、楼顶渗漏+彩钢瓦、阳光房隔热 本地专业防水公司TOP5权威推荐(2026年5月本地最新深度调研) - 企业资讯
  • DataGridView 绑定数据、添加行、删除行、刷新表格
  • 初次使用 Taotoken 模型广场进行模型选型与测试的直观体验
  • 2026镇江卫生间免砸砖防水、外墙、地下室、楼顶渗漏+彩钢瓦、阳光房隔热 本地专业防水公司TOP5权威推荐(2026年5月本地最新深度调研) - 企业资讯
  • 2026柳州卫生间免砸砖防水、外墙、地下室、楼顶渗漏+彩钢瓦、阳光房隔热 本地专业防水公司TOP5权威推荐(2026年5月本地最新深度调研) - 企业资讯
  • 十款顶级跑分与排名软件全解析
  • 告别枯燥寄存器!用CCS+示波器调试DSP28335 PWM(从波形反推配置)
  • 深度解析安卓ROM解包技术:专业工具实战指南
  • PixelRefer:统一多模态区域级理解框架解析
  • 集省轮二东山6202
  • Dell G15散热控制终极指南:开源替代方案tcc-g15完整教程
  • 避坑指南:RK3588 GPIO驱动强度(drive-strength)配置实测,不同电平对信号完整性的影响
  • LLM 黑话手册:从 Token 到 Agent,一次搞懂 AI 时代的核心概念
  • PicAComic漫画下载器:多线程高速下载的终极解决方案
  • 3DGS训练速度实测:用Ubuntu 20.04 + RTX 4090跑官方数据集,看看30K轮要多久?
  • 5分钟掌握Xiaomusic:让小爱音箱变身智能音乐播放器的终极指南
  • 从一道CTF题学PHP安全:如何用php://filter绕过文件包含过滤(以BUUOJ Secret File为例)
  • Prompt Engineering与LangChain实战:从零构建AI应用开发指南
  • Python 统计学基础与高级应用
  • 计算机网络复习(第五章):传输层
  • 大语言模型文本中的文化特征与作者风格识别技术