169 lines
3.3 KiB
Markdown
169 lines
3.3 KiB
Markdown
|
|
# MineNASAI 开发步骤文档
|
|||
|
|
|
|||
|
|
**生成日期**: 2025-02-04
|
|||
|
|
**更新日期**: 2025-02-04
|
|||
|
|
**项目**: MineNASAI - 基于NAS的智能个人AI助理
|
|||
|
|
**技术方案**: Web TUI集成(方案C)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Phase 0: 项目初始化 (2-3天)
|
|||
|
|
|
|||
|
|
### 0.1 项目结构创建
|
|||
|
|
- [ ] 创建根目录和基础结构
|
|||
|
|
- [ ] 初始化Python项目(pyproject.toml)
|
|||
|
|
- [ ] 配置依赖管理(poetry/pip)
|
|||
|
|
- [ ] 设置Git仓库
|
|||
|
|
|
|||
|
|
### 0.2 开发环境配置
|
|||
|
|
- [ ] Python虚拟环境
|
|||
|
|
- [ ] 代码格式化工具(black/ruff)
|
|||
|
|
- [ ] 类型检查(mypy)
|
|||
|
|
- [ ] 测试框架(pytest)
|
|||
|
|
|
|||
|
|
### 0.3 基础配置
|
|||
|
|
- [ ] 配置文件模板(config.json5)
|
|||
|
|
- [ ] 日志系统初始化
|
|||
|
|
- [ ] 环境变量管理(.env)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Phase 1: Gateway + 通讯接入 (14-21天)
|
|||
|
|
|
|||
|
|
### 1.1 FastAPI基础服务
|
|||
|
|
- [ ] FastAPI项目搭建
|
|||
|
|
- [ ] WebSocket服务器
|
|||
|
|
- [ ] 基础路由和健康检查
|
|||
|
|
|
|||
|
|
### 1.2 企业微信/飞书接入
|
|||
|
|
- [ ] Webhook接收器
|
|||
|
|
- [ ] 消息解析和验证
|
|||
|
|
- [ ] 消息发送封装
|
|||
|
|
|
|||
|
|
### 1.3 智能路由
|
|||
|
|
- [ ] 启发式规则实现(基于PoC)
|
|||
|
|
- [ ] 任务复杂度评估
|
|||
|
|
- [ ] 路由决策逻辑
|
|||
|
|
|
|||
|
|
### 1.4 Redis + Celery
|
|||
|
|
- [ ] Redis连接配置
|
|||
|
|
- [ ] Celery任务队列
|
|||
|
|
- [ ] 异步任务处理
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Phase 2: Agent运行时 (10-14天)
|
|||
|
|
|
|||
|
|
### 2.1 Anthropic API集成
|
|||
|
|
- [ ] anthropic SDK集成
|
|||
|
|
- [ ] 对话管理
|
|||
|
|
- [ ] 流式响应处理
|
|||
|
|
|
|||
|
|
### 2.2 基础工具实现
|
|||
|
|
- [ ] 文件读写工具
|
|||
|
|
- [ ] 命令执行工具(安全封装)
|
|||
|
|
- [ ] Python沙箱工具
|
|||
|
|
|
|||
|
|
### 2.3 会话管理
|
|||
|
|
- [ ] SQLite数据库设计
|
|||
|
|
- [ ] 会话CRUD
|
|||
|
|
- [ ] 消息历史存储(JSONL)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Phase 3: Web TUI集成 (7-10天)
|
|||
|
|
|
|||
|
|
### 3.1 Web终端前端
|
|||
|
|
- [ ] xterm.js集成
|
|||
|
|
- [ ] Web界面设计(HTML/CSS)
|
|||
|
|
- [ ] 前端JavaScript逻辑
|
|||
|
|
|
|||
|
|
### 3.2 WebSocket终端通信
|
|||
|
|
- [ ] WebSocket服务器(终端I/O)
|
|||
|
|
- [ ] 双向数据传输
|
|||
|
|
- [ ] 终端尺寸自适应
|
|||
|
|
|
|||
|
|
### 3.3 SSH连接管理
|
|||
|
|
- [ ] paramiko集成
|
|||
|
|
- [ ] SSH连接池
|
|||
|
|
- [ ] localhost SSH配置
|
|||
|
|
|
|||
|
|
### 3.4 用户认证
|
|||
|
|
- [ ] Token/Session认证
|
|||
|
|
- [ ] 权限验证
|
|||
|
|
- [ ] 会话管理
|
|||
|
|
|
|||
|
|
### 3.5 消息通知链接
|
|||
|
|
- [ ] 生成Web TUI访问链接
|
|||
|
|
- [ ] 通讯工具发送提示
|
|||
|
|
- [ ] 任务上下文传递
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Phase 4: 高级特性 (10-14天)
|
|||
|
|
|
|||
|
|
### 4.1 定时任务
|
|||
|
|
- [ ] Cron任务调度
|
|||
|
|
- [ ] 定时任务配置
|
|||
|
|
- [ ] 任务执行监控
|
|||
|
|
|
|||
|
|
### 4.2 权限控制
|
|||
|
|
- [ ] 工具危险级别定义
|
|||
|
|
- [ ] 确认机制
|
|||
|
|
- [ ] 审计日志
|
|||
|
|
|
|||
|
|
### 4.3 (可选) MCP扩展
|
|||
|
|
- [ ] MCP Server加载框架
|
|||
|
|
- [ ] 基础MCP集成测试
|
|||
|
|
|
|||
|
|
### 4.4 (可选) RAG知识库
|
|||
|
|
- [ ] Qdrant集成
|
|||
|
|
- [ ] 向量化和检索
|
|||
|
|
- [ ] 知识库管理
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Phase 5: 生产就绪 (7-10天)
|
|||
|
|
|
|||
|
|
### 5.1 错误处理与监控
|
|||
|
|
- [ ] 完善错误处理
|
|||
|
|
- [ ] 日志优化
|
|||
|
|
- [ ] 监控告警
|
|||
|
|
|
|||
|
|
### 5.2 性能优化
|
|||
|
|
- [ ] 并发优化
|
|||
|
|
- [ ] 缓存策略
|
|||
|
|
- [ ] 资源限制
|
|||
|
|
|
|||
|
|
### 5.3 Docker部署
|
|||
|
|
- [ ] Dockerfile编写
|
|||
|
|
- [ ] docker-compose配置
|
|||
|
|
- [ ] 部署文档
|
|||
|
|
|
|||
|
|
### 5.4 测试与文档
|
|||
|
|
- [ ] 集成测试
|
|||
|
|
- [ ] 用户文档
|
|||
|
|
- [ ] 运维文档
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 总时间估算
|
|||
|
|
|
|||
|
|
**总计**: 52-81天
|
|||
|
|
|
|||
|
|
## 技术栈总结
|
|||
|
|
|
|||
|
|
| 组件 | 技术选择 |
|
|||
|
|
|------|----------|
|
|||
|
|
| 后端 | FastAPI + Anthropic SDK |
|
|||
|
|
| 通讯 | 企业微信API + 飞书API |
|
|||
|
|
| 消息队列 | Redis + Celery |
|
|||
|
|
| Web终端 | xterm.js + WebSocket |
|
|||
|
|
| SSH | paramiko (Python) |
|
|||
|
|
| 存储 | SQLite + JSONL |
|
|||
|
|
| 部署 | Docker |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
*当真正开始开发时,每个Phase会展开详细的子任务和验收标准*
|