Files
MineNasAI/开发步骤.md

169 lines
3.3 KiB
Markdown
Raw Normal View History

# 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会展开详细的子任务和验收标准*