logo
0
0
WeChat Login

🧠 Neural-Link OS Agent

我们相信,人与系统的交流本应如此自然——不必背诵繁复的命令参数,不必纠结精确的语法格式,只需像与同行交谈般描述你的意图,剩下的理解与执行,交由系统来承载。


📖 简介

Neural-Link

Neural-Link OS Agent 是一个基于大语言模型的智能代理,旨在弥合人类语言与机器命令之间的鸿沟。用户通过日常语言描述操作需求,系统即可自动理解意图、评估潜在风险、生成适配的命令并执行,最终将执行结果以结构化的方式清晰呈现。

✨ 核心特性

  • 💬 自然语言交互 — 用日常语言描述需求,无需记忆命令语法
  • 🎯 意图识别 — 规则匹配与 LLM 解析结合,区分查询、任务和风险操作
  • 🖥️ 多系统适配 — 识别 Linux、macOS、BSD 环境,生成对应命令
  • 🛡️ 风险控制 — 四级风险评估,高危操作需确认,极端危险命令自动拦截
  • 📝 会话上下文 — 支持多轮对话,理解指代和上下文
  • 🔄 任务规划 — 内置系统巡检、日志清理等任务模板
  • 🔗 本地与远程 — 支持本地执行和 SSH 远程管理
  • 实时反馈 — WebSocket 推送执行过程
  • 🎨 结果格式化 — 将命令输出整理为表格或摘要

🛠️ 技术栈

后端:🐍 Python 3.12、⚡ FastAPI、🚀 Uvicorn、🗄️ SQLite、🔐 Paramiko、🌐 HTTPX、🔌 WebSockets 前端:⚛️ React 18、📘 TypeScript、🔧 Vite、🎨 TailwindCSS、📈 ECharts 工具:⚡ uv(包管理)、📊 Loguru(日志)、⚡ orjson(JSON)、✅ Pydantic v2

系统架构

┌─────────────────────────────────────────────────────────┐ │ 前端 (React) │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────────┐ │ │ │ 💬 对话 │ │ ⚡ 执行 │ │ 📊 监控 │ │ │ │ ChatView │ │ Stream │ │ Charts │ │ │ └─────────────┘ └─────────────┘ └─────────────────┘ │ └──────────────────────────┬──────────────────────────────┘ │ REST API / WebSocket ┌──────────────────────────▼──────────────────────────────┐ │ 后端 (FastAPI) │ │ ┌─────────────────────────────────────────────────┐ │ │ │ 🧠 AgentCore 核心引擎 │ │ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────┐ │ │ │ │ │ 🎯 意图 │ │ 🛡️ 风险 │ │ 🔄 任务 │ │ │ │ │ │ Parser │ │ Assessor │ │ Planner │ │ │ │ │ └─────────────┘ └─────────────┘ └─────────┘ │ │ │ │ ┌─────────────┐ ┌─────────────┐ │ │ │ │ │ ⚙️ 命令 │ │ 📝 结果 │ │ │ │ │ │ Generator │ │ Formatter │ │ │ │ │ └─────────────┘ └─────────────┘ │ │ │ └─────────────────────────────────────────────────┘ │ │ ┌─────────────────┐ ┌─────────────────┐ │ │ │ 🖥️ Local │ │ 🔗 SSH │ │ │ │ Adapter │ │ Adapter │ │ │ │ (subprocess) │ │ (Paramiko) │ │ │ └─────────────────┘ └─────────────────┘ │ └─────────────────────────────────────────────────────────┘

🚀 快速开始

📋 环境要求

  • 🐍 Python 3.12
  • ⬢ Node.js 18+
  • 🗄️ SQLite(内置,无需额外安装)

📦 安装依赖

# 克隆仓库 git clone <repository-url> # 安装后端依赖 cd backend pip install -r requirements.txt # 安装前端依赖 cd ../frontend npm install

⚙️ 配置

创建后端环境变量文件 backend/.env

# LLM 配置(必须) LLM_API_KEY=your-api-key LLM_BASE_URL=https://open.bigmodel.cn/api/paas/v4 LLM_MODEL=glm-4.7 LLM_TEMPERATURE=0.1 # 可选配置 LOG_LEVEL=INFO

▶️ 启动服务

方式一:使用启动脚本(推荐)

# 一键启动前后端服务 ./start.sh

方式二:手动启动

# 终端 1:启动后端 cd backend python main.py # 终端 2:启动前端 cd frontend npm run dev

方式三:Docker 部署

# 构建镜像 docker build -t neural-link-os-agent . # 运行容器 docker run -p 8000:8000 -p 5173:5173 \ -e LLM_API_KEY=your-api-key \ -e LLM_BASE_URL=https://api.openai.com/v1 \ neural-link-os-agent

🌐 访问 http://localhost:5173 开始使用。

🧪 验证安装

# 运行完整测试套件 python tests/test_complete_suite.py # 后端语法检查 python -m py_compile backend/app/agent/*.py # 前端类型检查 cd frontend npm run type-check # 前端生产构建 cd frontend npm run build

📁 项目结构

neural-link-os-agent/ ├── 🔧 backend/ # 后端服务 │ ├── 📂 app/ │ │ ├── 🧠 agent/ # Agent 核心引擎 │ │ │ ├── __init__.py │ │ │ ├── core.py # 主调度器 │ │ │ ├── intent_parser.py # 意图解析(规则) │ │ │ ├── intent_parser_llm.py # 意图解析(LLM) │ │ │ ├── risk_assessor.py # 风险评估 │ │ │ ├── risk_assessor_llm.py # 风险评估(LLM) │ │ │ ├── command_generator.py # 命令生成 │ │ │ └── command_generator_llm.py # 命令生成(LLM) │ │ ├── 🔌 adapter/ # 执行适配器 │ │ │ ├── __init__.py │ │ │ ├── base.py # 抽象基类 │ │ │ ├── local.py # 本地执行 │ │ │ └── ssh.py # SSH 远程执行 │ │ ├── ⚙️ core/ # 核心服务 │ │ │ ├── __init__.py │ │ │ ├── environment.py # 环境检测 │ │ │ ├── session.py # 会话管理 │ │ │ ├── audit.py # 审计日志 │ │ │ ├── task_orchestrator.py # 任务编排 │ │ │ ├── intent_parser.py # 意图解析(兼容) │ │ │ ├── intent_parser_llm.py │ │ │ ├── risk_assessor.py # 风险评估(兼容) │ │ │ ├── command_generator.py │ │ │ └── exceptions.py # 异常定义 │ │ ├── 🤖 llm/ # LLM 客户端 │ │ │ ├── __init__.py │ │ │ ├── base.py # 基础接口 │ │ │ ├── client.py # 统一客户端 │ │ │ └── providers/ # 多提供商支持 │ │ │ ├── __init__.py │ │ │ └── generic.py │ │ ├── 🛠️ tools/ # 系统工具 │ │ │ ├── __init__.py │ │ │ ├── system.py # 系统信息 │ │ │ ├── process.py # 进程管理 │ │ │ ├── disk.py # 磁盘操作 │ │ │ ├── file.py # 文件操作 │ │ │ └── user.py # 用户管理 │ │ ├── 🌐 websocket/ # WebSocket 模块 │ │ │ └── __init__.py │ │ ├── 🛠️ utils/ # 工具函数 │ │ │ ├── __init__.py │ │ │ └── helpers.py │ │ ├── main.py # FastAPI 入口 │ │ ├── config.py # 配置管理 │ │ └── schemas.py # 数据模型 │ ├── main.py # 启动入口 │ ├── requirements.txt # Python 依赖 │ └── .env.template # 环境变量模板 │ ├── 🎨 frontend/ # 前端应用 │ ├── 📂 src/ │ │ ├── 🧩 components/ # UI 组件 │ │ │ ├── ResponseView.tsx # 结果展示 │ │ │ ├── OperationStream.tsx # 执行过程流 │ │ │ ├── SystemCharts.tsx # 系统监控图表 │ │ │ ├── TaskOrchestrator.tsx # 任务编排器 │ │ │ ├── RiskWarning.tsx # 风险警告 │ │ │ ├── ConfirmationDialog.tsx # 确认对话框 │ │ │ ├── AuditLogViewer.tsx # 审计日志查看器 │ │ │ ├── ErrorRecovery.tsx # 错误恢复 │ │ │ ├── SidePanelContent.tsx # 侧边面板 │ │ │ └── index.ts # 组件导出 │ │ ├── 🎣 hooks/ # 自定义 Hooks │ │ │ ├── index.ts │ │ │ ├── useOperationStream.ts │ │ │ ├── useSystemMonitor.ts │ │ │ └── useTaskOrchestrator.ts │ │ ├── 🎨 styles/ # 样式文件 │ │ │ └── index.css │ │ ├── 🛠️ utils/ # 工具函数 │ │ │ ├── index.ts │ │ │ ├── api.ts # API 客户端 │ │ │ ├── config.ts # 配置 │ │ │ └── echarts.ts # 图表配置 │ │ ├── App.tsx # 主应用 │ │ ├── main.tsx # 入口 │ │ └── vite-env.d.ts # Vite 类型声明 │ ├── public/ # 静态资源 │ │ └── favicon.svg │ ├── index.html # HTML 模板 │ ├── package.json # Node 依赖 │ ├── package-lock.json # 锁定文件 │ ├── vite.config.ts # Vite 配置 │ ├── tsconfig.json # TypeScript 配置 │ ├── tsconfig.node.json # Node TS 配置 │ ├── tailwind.config.js # Tailwind 配置 │ └── postcss.config.js # PostCSS 配置 │ ├── 🧪 tests/ # 测试套件 │ ├── __init__.py │ ├── test_complete_suite.py # 完整测试套件 │ ├── test_system_info_risk.py # 系统信息测试 │ └── test_task_flow.py # 任务流测试 │ ├── 📂 scripts/ # 脚本工具 │ └── init-codex.sh.example # 初始化脚本示例 │ ├── 📄 file/ # 文档资料 │ ├── AI_Hackathon_2026.pdf # 赛题文档 │ ├── DESIGN.md # 架构设计文档 │ ├── PROBLEM.md # 赛题背景 │ ├── TEST_LOCAL.md # 本地测试记录 │ └── TEST_WEB.md # Web 测试记录 │ ├── 🐳 Dockerfile # Docker 构建文件 ├── 📜 start.sh # 启动脚本 │ ├── ⚙️ .cnb.yml # CNB 配置 ├── 📄 .gitignore # Git 忽略规则 │ ├── 📄 settings.json # 编辑器配置 ├── 📜 LICENSE # 开源协议 └── 📖 README.md # 本文件

🔌 API 接口

REST API

接口方法说明
/api/chatPOST💬 发送消息,获取响应
/api/chat/confirmPOST✅ 确认执行待确认的操作
/api/ssh/connectPOST🔗 连接 SSH 服务器
/api/ssh/disconnectPOST👋 断开 SSH 连接
/api/ssh/statusGET📡 获取 SSH 连接状态
/api/system/infoGET🖥️ 获取系统信息
/api/system/diskGET💾 获取磁盘信息
/api/system/memoryGET🧠 获取内存信息
/api/system/cpuGET⚙️ 获取 CPU 信息
/api/system/netGET🌐 获取网络信息
/api/audit/logsGET📝 查询审计日志
/api/audit/statisticsGET📊 审计统计
/api/sessionsGET/POST💾 会话管理
/api/sessions/{id}GET📂 获取特定会话
/api/sessions/{id}/messagesPOST💬 发送会话消息
/api/healthGET🏥 健康检查
/api/configGET⚙️ 获取配置信息

WebSocket

端点说明
/ws/chat⚡ 实时对话与执行流

📚 相关文档


🛡️ 安全说明

🚫 风险拦截

  • rm -rf /mkfs.*dd if=/dev/zero 等极端危险命令自动拦截
  • 数据库删表、系统关键文件删除等高危操作需二次确认

📝 审计追踪

  • 所有操作记录审计日志(用户输入、意图、命令、结果、时间戳)
  • 支持按会话、时间、风险等级查询

📜 开源协议

LICENSE


🧠 Neural-Link OS Agent — 让系统管理像聊天一样简单 💬

⭐ 如果这个项目对你有帮助,欢迎点个 Star!

About

XFusion AI Hackathon 2026 Programming Competition

Language
Python61.9%
TypeScript31.5%
Shell2.5%
Dockerfile1.8%
Others2.3%