一个基于 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 兼容服务器
git clone <repository-url>
cd ai-agentcargo buildcd apps/ui
bun install
cd ../..编辑 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# 查看所有可用命令
make help
# 安装依赖
make install
# 启动所有服务
make start
# 开发模式启动
make dev
# 运行测试
make test
# 停止服务
make stop# 编译并启动 Agent 服务
cargo run --bin agent# 在新终端中启动 UI
cd apps/ui
npm run dev- 前端界面: http://localhost:5173
- 后端 API: http://localhost:8099
- API 文档: http://localhost:8099/api/health
- 支持与 AI 进行自然语言对话
- 支持多种 LLM 模型切换
- 会话历史记录
- LLM 配置: 设置 API 密钥、模型参数
- MCP 服务器: 管理 MCP 服务器连接
- UI 设置: 界面主题和偏好设置
- 查看已安装的模型
- 下载新模型
- 系统信息监控
- 用户资料管理
- 安全设置
- 通知偏好
{
"llm": {
"provider": "deepseek",
"api_key": "sk-xxx",
"base_url": "https://api.deepseek.com",
"model": "deepseek-chat"
}
}{
"llm": {
"provider": "openai",
"api_key": "sk-xxx",
"base_url": "https://api.openai.com/v1",
"model": "gpt-4o-mini"
}
}{
"llm": {
"provider": "ollama",
"api_key": "",
"base_url": "http://localhost:11434",
"model": "llama3.1:8b"
}
}{
"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 服务器实现
POST /api/chat
Content-Type: application/json
{
"message": "Hello, how are you?",
"context": {}
}GET /api/healthGET /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 # 更新通知设置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.shmake help # 查看所有命令
make install # 安装依赖
make build # 构建项目
make start # 启动服务
make dev # 开发模式
make test # 运行测试
make clean # 清理构建产物
make status # 查看服务状态# 检查端口占用
lsof -i :8099
lsof -i :5173
# 杀死占用进程
kill -9 <PID>- 检查
config/agent.json中的 API 密钥配置 - 确认网络连接正常
- 查看 Agent 服务日志
# 清理并重新安装依赖
cd apps/ui
rm -rf node_modules bun.lockb
bun install# 更新 Rust 工具链
rustup update
# 清理并重新构建
cargo clean
cargo build- Fork 项目
- 创建功能分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 打开 Pull Request
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
- SvelteKit - 前端框架
- Tailwind CSS - CSS 框架
- Flowbite Svelte - UI 组件库
- Actix Web - Rust Web 框架
如有问题或建议,请:
- 提交 Issue
- 发送邮件至 contact@htui.tech
- 查看 文档 获取更多信息
注意: 请确保在使用前配置正确的 API 密钥,并遵守各服务提供商的使用条款。