alou 0.1.0

High-performance Rust implementation of Alou AI agent with MCP tool integration and DeepSeek API support
Documentation
# Alou Rust - 高性能AI智能体


这是Alou项目的Rust语言重新实现版本,提供更快的运行速度和更好的性能。该项目是一个在终端运行的AI智能体,支持MCP工具集成和DeepSeek API。

## 🚀 特性


- **高性能**: 使用Rust语言实现,提供更快的启动速度和运行性能
- **MCP工具支持**: 完整的MCP (Model Context Protocol) 工具集成
- **DeepSeek API**: 支持DeepSeek AI模型的API调用
- **异步处理**: 基于Tokio的异步运行时,支持高并发
- **内存安全**: Rust的内存安全保证,避免常见的内存错误
- **跨平台**: 支持Windows、macOS和Linux
- **命令行界面**: 友好的CLI界面,支持交互式聊天

## 📋 系统要求


- Rust 1.70+ 
- 网络连接(用于API调用)
- DeepSeek API密钥

## 🛠️ 安装


### 1. 克隆项目


```bash
git clone <repository-url>
cd alou3-rust
```

### 2. 安装依赖


```bash
cargo build --release
```

### 3. 配置环境变量


创建 `.env` 文件或设置环境变量:

```bash
# 必需

export DEEPSEEK_API_KEY=your_deepseek_api_key_here

# 可选

export DEEPSEEK_API_ENDPOINT=https://api.deepseek.com/v1
export ALOU_DEBUG=false
export ALOU_WORKSPACE_DIRS=/path/to/workspace1,/path/to/workspace2
```

## 🎯 使用方法


### 基本用法


```bash
# 启动交互式聊天模式

cargo run

# 执行单个命令

cargo run -- exec "读取文件 /path/to/file.txt"

# 列出可用工具

cargo run -- tools

# 测试MCP连接

cargo run -- test

# 初始化配置

cargo run -- init
```

### 命令行选项


```bash
# 启用调试模式

cargo run -- --debug

# 启用详细输出

cargo run -- --verbose

# 指定工作目录

cargo run -- --workdir /path/to/project

# 指定配置文件

cargo run -- --config /path/to/config.json
```

### 交互式命令


在聊天模式下,您可以使用以下命令:

- `help``h` - 显示帮助信息
- `tools``t` - 列出所有可用工具
- `clear``c` - 清屏
- `exit``quit``q` - 退出程序

## 🔧 配置


### MCP配置 (mcp.json)


项目使用 `mcp.json` 文件配置MCP服务器:

```json
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["@modelcontextprotocol/server-filesystem", "/Users"],
      "timeout": 30000,
      "trust": true
    },
    "memory": {
      "command": "npx",
      "args": ["@modelcontextprotocol/server-memory"],
      "timeout": 30000,
      "trust": true
    }
  }
}
```

### 环境变量


| 变量名 | 必需 | 默认值 | 描述 |
|--------|------|--------|------|
| `DEEPSEEK_API_KEY` || - | DeepSeek API密钥 |
| `DEEPSEEK_API_ENDPOINT` || `https://api.deepseek.com/v1` | DeepSeek API端点 |
| `ALOU_DEBUG` || `false` | 启用调试模式 |
| `ALOU_WORKSPACE_DIRS` || 当前目录 | 工作区目录列表 |

## 🏗️ 项目结构


```
alou3-rust/
├── src/
│   ├── main.rs              # 主入口文件
│   ├── lib.rs               # 库入口文件
│   ├── types.rs             # 类型定义
│   ├── tools.rs             # 工具trait和实现
│   ├── workspace_context.rs # 工作区上下文
│   ├── mcp_config.rs        # MCP配置管理
│   ├── mcp_tool.rs          # MCP工具实现
│   ├── mcp_client.rs        # MCP客户端
│   ├── tool_registry.rs     # 工具注册表
│   ├── deepseek_client.rs   # DeepSeek客户端
│   └── agent.rs             # 智能体实现
├── Cargo.toml               # 项目配置
└── README.md                # 项目说明
```

## 🔌 工具集成


### 内置工具


- **文件操作**: 读取、写入、搜索文件
- **代码分析**: 分析代码结构、查找问题
- **系统命令**: 执行shell命令
- **网络请求**: 获取网页内容、API调用
- **内存管理**: 保存和检索重要信息

### MCP工具


通过MCP协议集成的工具:

- **filesystem**: 文件系统操作
- **memory**: 内存管理
- **fetch**: 网络请求
- **其他**: 根据配置自动发现

## 🚀 性能优化


### 编译优化


```bash
# 发布版本(推荐)

cargo build --release

# 启用所有优化

RUSTFLAGS="-C target-cpu=native" cargo build --release
```

### 运行时优化


- 使用 `--release` 标志运行
- 设置合适的超时时间
- 启用连接池
- 使用异步I/O

## 🧪 测试


```bash
# 运行所有测试

cargo test

# 运行特定测试

cargo test test_name

# 运行集成测试

cargo test --test integration_tests
```

## 📊 基准测试


```bash
# 运行基准测试

cargo bench

# 性能分析

cargo install cargo-flamegraph
cargo flamegraph --bin alou3-rust
```

## 🐛 故障排除


### 常见问题


1. **API密钥错误**
   ```
   错误: DeepSeek API key is required
   解决: 设置 DEEPSEEK_API_KEY 环境变量
   ```

2. **MCP服务器连接失败**
   ```
   错误: Error connecting to MCP server 'filesystem'
   解决: 检查MCP服务器是否正确安装和配置
   ```

3. **工具发现失败**
   ```
   错误: No tools found
   解决: 检查mcp.json配置文件
   ```

### 调试模式


启用调试模式获取详细日志:

```bash
cargo run -- --debug --verbose
```

## 🤝 贡献


欢迎贡献代码!请遵循以下步骤:

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

## 📄 许可证


本项目采用 Apache-2.0 许可证。详见 [LICENSE](LICENSE) 文件。

## 🙏 致谢


- 原Alou3 TypeScript项目
- Rust社区
- MCP协议规范
- DeepSeek团队

## 📞 支持


如果您遇到问题或有建议,请:

1. 查看 [Issues]https://github.com/your-repo/issues
2. 创建新的Issue
3. 联系维护者

---

**注意**: 这是Alou3项目的Rust重新实现版本,专注于性能和稳定性。如果您需要更多功能,请参考原TypeScript版本。