Skip to content

一个基于 Rust 的 AI Agent 系统,集成了大语言模型、MCP 服务器管理、语义分析和现代化的 Web 界面。

htui-tech/ai-agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

AI Agent 项目

一个基于 Rust 的 AI Agent 系统,集成了大语言模型、MCP 服务器管理、语义分析和现代化的 Web 界面。

🚀 功能特性

  • 🤖 AI 聊天: 支持多种 LLM 提供商(OpenAI、DeepSeek、Anthropic、Ollama)
  • 🔌 MCP 集成: Model Context Protocol 服务器管理和工具调用
  • 🧠 语义分析: 智能意图识别和实体提取
  • 🌐 Web 界面: 现代化的 SvelteKit + Tailwind CSS 界面
  • ⚙️ 配置管理: 灵活的 JSON 配置文件
  • 📊 系统监控: 健康检查和服务器状态监控

📋 系统要求

必需环境

  • Rust: 1.70+ (推荐使用 rustup 安装)
  • Node.js: 18+ (bun 需要)
  • bun: 1.0+ (JavaScript 运行时和包管理器)

可选环境

  • Ollama: 本地 LLM 运行环境
  • MCP 服务器: 各种 MCP 兼容服务器

🛠️ 安装步骤

1. 克隆项目

git clone <repository-url>
cd ai-agent

2. 安装 Rust 依赖

cargo build

3. 安装前端依赖

cd apps/ui
bun install
cd ../..

4. 配置 API 密钥

编辑 config/agent.json 文件,配置你的 LLM API 密钥:

{
    "llm": {
        "provider": "deepseek",
        "api_key": "your-api-key-here",
        "base_url": "https://api.deepseek.com",
        "model": "deepseek-chat"
    }
}

🚀 快速启动

一键启动脚本

# 给脚本执行权限
chmod +x scripts/start.sh

# 启动所有服务
./scripts/start.sh

使用 Makefile (推荐)

# 查看所有可用命令
make help

# 安装依赖
make install

# 启动所有服务
make start

# 开发模式启动
make dev

# 运行测试
make test

# 停止服务
make stop

手动启动

启动后端服务

# 编译并启动 Agent 服务
cargo run --bin agent

启动前端界面

# 在新终端中启动 UI
cd apps/ui
npm run dev

📖 使用指南

访问界面

主要功能

1. 聊天功能

  • 支持与 AI 进行自然语言对话
  • 支持多种 LLM 模型切换
  • 会话历史记录

2. 配置管理

  • LLM 配置: 设置 API 密钥、模型参数
  • MCP 服务器: 管理 MCP 服务器连接
  • UI 设置: 界面主题和偏好设置

3. Ollama 管理

  • 查看已安装的模型
  • 下载新模型
  • 系统信息监控

4. 个人设置

  • 用户资料管理
  • 安全设置
  • 通知偏好

🔧 配置说明

LLM 提供商配置

DeepSeek

{
    "llm": {
        "provider": "deepseek",
        "api_key": "sk-xxx",
        "base_url": "https://api.deepseek.com",
        "model": "deepseek-chat"
    }
}

OpenAI

{
    "llm": {
        "provider": "openai",
        "api_key": "sk-xxx",
        "base_url": "https://api.openai.com/v1",
        "model": "gpt-4o-mini"
    }
}

Ollama (本地)

{
    "llm": {
        "provider": "ollama",
        "api_key": "",
        "base_url": "http://localhost:11434",
        "model": "llama3.1:8b"
    }
}

MCP 服务器配置

{
    "mcp": {
        "servers": [
            {
                "id": "hello-world-mcp-server",
                "name": "Hello World MCP Server",
                "command": "hello-world-mcp-server",
                "args": [],
                "auto_start": true
            }
        ]
    }
}

🏗️ 项目结构

ai-agent/
├── apps/
│   └── ui/                 # SvelteKit 前端应用
├── crates/
│   ├── agent-core/         # AI Agent 核心逻辑
│   ├── llm/               # LLM 客户端
│   ├── mcp/               # MCP 协议客户端
│   ├── semantic/          # 语义分析
│   ├── server-manager/    # 服务器管理
│   ├── utils/             # 工具库
│   └── web/               # Web 服务器
├── config/
│   └── agent.json         # 主配置文件
├── docs/                  # 项目文档
├── examples/              # 示例代码
├── scripts/               # 管理脚本
│   ├── install.sh         # 自动安装脚本
│   ├── start.sh           # 启动脚本
│   ├── stop.sh            # 停止脚本
│   ├── dev.sh             # 开发模式脚本
│   ├── test.sh            # 测试脚本
│   └── README.md          # 脚本说明
└── mcp-server/            # MCP 服务器实现

🔌 API 接口

聊天接口

POST /api/chat
Content-Type: application/json

{
    "message": "Hello, how are you?",
    "context": {}
}

健康检查

GET /api/health

配置管理

GET /api/config              # 获取配置
POST /api/config/llm         # 更新 LLM 配置
POST /api/config/mcp         # 更新 MCP 配置

用户管理

GET /api/user/profile        # 获取用户资料
PUT /api/user/profile        # 更新用户资料
PUT /api/user/password       # 修改密码
PUT /api/user/notifications  # 更新通知设置

Ollama 管理

GET /api/ollama/models       # 获取已安装模型
GET /api/ollama/available    # 获取可用模型
POST /api/ollama/pull        # 下载模型
POST /api/ollama/delete      # 删除模型
GET /api/ollama/progress     # 获取下载进度

📜 脚本说明

项目提供了多个便捷脚本来简化开发和部署:

核心脚本

  • scripts/install.sh - 自动安装所有依赖 (Rust, Node.js, 项目依赖)
  • scripts/start.sh - 一键启动所有服务 (后端 + 前端)
  • scripts/stop.sh - 停止所有服务并清理端口
  • scripts/dev.sh - 开发模式启动 (提供详细日志)
  • scripts/test.sh - 运行功能测试

使用示例

# 首次安装
./scripts/install.sh

# 日常开发
./scripts/dev.sh

# 生产环境
./scripts/start.sh

# 运行测试
./scripts/test.sh

# 停止服务
./scripts/stop.sh

Makefile 命令

make help          # 查看所有命令
make install       # 安装依赖
make build         # 构建项目
make start         # 启动服务
make dev           # 开发模式
make test          # 运行测试
make clean         # 清理构建产物
make status        # 查看服务状态

🐛 故障排除

常见问题

1. 端口占用

# 检查端口占用
lsof -i :8099
lsof -i :5173

# 杀死占用进程
kill -9 <PID>

2. API 连接失败

  • 检查 config/agent.json 中的 API 密钥配置
  • 确认网络连接正常
  • 查看 Agent 服务日志

3. 前端构建失败

# 清理并重新安装依赖
cd apps/ui
rm -rf node_modules bun.lockb
bun install

4. Rust 编译错误

# 更新 Rust 工具链
rustup update

# 清理并重新构建
cargo clean
cargo build

🤝 贡献指南

  1. Fork 项目
  2. 创建功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开 Pull Request

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。

🙏 致谢

📞 支持

如有问题或建议,请:


注意: 请确保在使用前配置正确的 API 密钥,并遵守各服务提供商的使用条款。

About

一个基于 Rust 的 AI Agent 系统,集成了大语言模型、MCP 服务器管理、语义分析和现代化的 Web 界面。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published