HTTP API服务器,用于替代Tauri桌面应用的后端功能。
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/envcd api-server
chmod +x run.sh
./run.sh或者手动编译运行:
cd api-server
cargo build --release
cargo run --release- API 服务器: http://localhost:3000
- API 文档 (Swagger UI): http://localhost:3000/docs
- 健康检查: http://localhost:3000/health
GET /api/agents- 获取所有智能体POST /api/agents- 创建新智能体GET /api/agents/{id}- 获取特定智能体DELETE /api/agents/{id}- 删除智能体
GET /api/claude/projects- 获取所有项目POST /api/claude/sessions- 启动新的 Claude 会话
GET /api/storage/usage- 获取存储使用统计
PORT- 服务器端口 (默认: 3000)RUST_LOG- 日志级别 (默认: info)
- Claude Code CLI: 需要安装 Claude Code 命令行工具
- SQLite: 自动包含,无需额外安装
这个API服务器从原始的Tauri桌面应用中提取了核心业务逻辑:
- Tauri IPC → HTTP REST API
- Tauri 状态管理 → Arc 依赖注入
- 桌面应用 → Web API + Swagger文档
- Web框架: Axum
- 文档生成: utoipa + Swagger UI
- 数据库: SQLite (rusqlite)
- 异步运行时: Tokio
- 跨域支持: tower-http CORS
- 在
src/models/中定义数据模型 - 在
src/services/中实现业务逻辑 - 在
src/handlers/中创建HTTP处理器 - 在
src/main.rs中注册路由
数据库文件位置: ~/.claude/opcode.db
主要表:
agents- 智能体配置agent_runs- 智能体执行记录mcp_servers- MCP服务器配置slash_commands- 斜杠命令配置
确保 Claude Code CLI 已安装并在 PATH 中:
which claude
# 或者安装 Claude Code
npm install -g @anthropic/claude确保 ~/.claude 目录有写权限:
mkdir -p ~/.claude
chmod 755 ~/.claudeAGPL-3.0 License