123 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
			
		
		
	
	
			123 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
| # 炼妖壶项目清理与重构需求文档
 | ||
| 
 | ||
| ## 介绍
 | ||
| 
 | ||
| 炼妖壶项目经过长期开发,积累了大量代码和配置文件,但项目结构变得混乱,存在安全隐患(密钥泄露)和维护困难。本规范旨在系统性地清理和重构项目,建立清晰的架构和安全的开发流程。
 | ||
| 
 | ||
| ## 需求
 | ||
| 
 | ||
| ### 需求1:项目结构清理
 | ||
| 
 | ||
| **用户故事:** 作为开发者,我希望项目有清晰的目录结构和文件组织,以便快速理解和维护代码。
 | ||
| 
 | ||
| #### 验收标准
 | ||
| 
 | ||
| 1. WHEN 查看项目根目录 THEN 应该只包含必要的核心文件和目录
 | ||
| 2. WHEN 查看任何目录 THEN 应该有清晰的README说明其用途
 | ||
| 3. WHEN 寻找特定功能代码 THEN 应该能在预期的目录中找到
 | ||
| 4. WHEN 删除无用文件后 THEN 项目仍能正常运行
 | ||
| 5. IF 文件超过6个月未使用 THEN 应该被归档或删除
 | ||
| 
 | ||
| ### 需求2:安全配置管理
 | ||
| 
 | ||
| **用户故事:** 作为开发者,我希望所有密钥和敏感配置都安全管理,不会意外泄露到代码库中。
 | ||
| 
 | ||
| #### 验收标准
 | ||
| 
 | ||
| 1. WHEN 扫描代码库 THEN 不应该发现任何硬编码的密钥或敏感信息
 | ||
| 2. WHEN 开发者需要密钥 THEN 应该从环境变量或Doppler获取
 | ||
| 3. WHEN 提交代码 THEN 应该自动检查是否包含敏感信息
 | ||
| 4. WHEN 新开发者加入 THEN 应该有清晰的密钥管理指南
 | ||
| 5. IF 发现密钥泄露 THEN 应该有自动化的处理流程
 | ||
| 
 | ||
| ### 需求3:核心功能保留
 | ||
| 
 | ||
| **用户故事:** 作为用户,我希望在项目重构后,所有核心功能(AI辩论、数据分析、Streamlit界面)仍然可用。
 | ||
| 
 | ||
| #### 验收标准
 | ||
| 
 | ||
| 1. WHEN 启动Streamlit应用 THEN 应该能正常访问所有功能页面
 | ||
| 2. WHEN 运行AI辩论 THEN 应该能正常生成辩论内容
 | ||
| 3. WHEN 连接数据库 THEN 应该能正常读写数据
 | ||
| 4. WHEN 调用外部API THEN 应该能正常获取响应
 | ||
| 5. WHEN 运行测试 THEN 所有核心功能测试应该通过
 | ||
| 
 | ||
| ### 需求4:开发体验优化
 | ||
| 
 | ||
| **用户故事:** 作为开发者,我希望有良好的开发体验,包括清晰的文档、简单的启动流程和有效的调试工具。
 | ||
| 
 | ||
| #### 验收标准
 | ||
| 
 | ||
| 1. WHEN 新开发者克隆项目 THEN 应该能在10分钟内启动应用
 | ||
| 2. WHEN 查看文档 THEN 应该能找到所有必要的设置和使用说明
 | ||
| 3. WHEN 遇到问题 THEN 应该有清晰的故障排除指南
 | ||
| 4. WHEN 添加新功能 THEN 应该有明确的开发规范可遵循
 | ||
| 5. WHEN 部署应用 THEN 应该有自动化的部署流程
 | ||
| 
 | ||
| ### 需求5:技术债务清理
 | ||
| 
 | ||
| **用户故事:** 作为维护者,我希望清理技术债务,移除过时的代码和依赖,提高代码质量。
 | ||
| 
 | ||
| #### 验收标准
 | ||
| 
 | ||
| 1. WHEN 检查依赖 THEN 不应该有未使用或过时的包
 | ||
| 2. WHEN 运行代码分析 THEN 不应该有严重的代码质量问题
 | ||
| 3. WHEN 查看代码 THEN 应该有一致的编码风格和注释
 | ||
| 4. WHEN 运行性能测试 THEN 应用响应时间应该在可接受范围内
 | ||
| 5. IF 发现重复代码 THEN 应该被重构为可复用的模块
 | ||
| 
 | ||
| ### 需求6:部署和运维简化
 | ||
| 
 | ||
| **用户故事:** 作为运维人员,我希望部署和监控应用变得简单可靠。
 | ||
| 
 | ||
| #### 验收标准
 | ||
| 
 | ||
| 1. WHEN 部署到生产环境 THEN 应该使用一键部署脚本
 | ||
| 2. WHEN 应用运行异常 THEN 应该有清晰的日志和监控信息
 | ||
| 3. WHEN 需要扩展 THEN 应该支持水平扩展
 | ||
| 4. WHEN 备份数据 THEN 应该有自动化的备份策略
 | ||
| 5. WHEN 回滚版本 THEN 应该能快速回滚到稳定版本
 | ||
| 
 | ||
| ## 优先级
 | ||
| 
 | ||
| 1. **P0 (紧急)**: 安全配置管理 - 立即解决密钥泄露问题
 | ||
| 2. **P1 (高)**: 项目结构清理 - 建立清晰的项目架构
 | ||
| 3. **P2 (中)**: 核心功能保留 - 确保重构不影响核心功能
 | ||
| 4. **P3 (中)**: 开发体验优化 - 改善开发流程
 | ||
| 5. **P4 (低)**: 技术债务清理 - 长期代码质量改进
 | ||
| 6. **P5 (低)**: 部署和运维简化 - 运维流程优化
 | ||
| 
 | ||
| ## 迁移策略
 | ||
| 
 | ||
| 鉴于当前项目状态混乱,采用**全新开始**的策略:
 | ||
| 
 | ||
| 1. **文档先行** - 完善所有需求和设计文档
 | ||
| 2. **干净迁移** - 在新目录 `/home/ben/liurenchaxin` 重新开始
 | ||
| 3. **选择性迁移** - 只迁移核心功能代码,抛弃历史包袱
 | ||
| 4. **安全优先** - 从一开始就建立安全的配置管理
 | ||
| 
 | ||
| ## 核心功能清单(需要保留)
 | ||
| 
 | ||
| ### 必须迁移的功能
 | ||
| - 🤖 **稷下学宫AI辩论系统** (八仙辩论)
 | ||
| - 📊 **Streamlit主界面** 
 | ||
| - 🔗 **Doppler配置管理**
 | ||
| - 💾 **数据库连接** (PostgreSQL, MongoDB, Zilliz)
 | ||
| - 🔌 **外部API集成** (OpenRouter, Anthropic等)
 | ||
| 
 | ||
| ### 可选迁移的功能  
 | ||
| - 📈 **金融数据分析**
 | ||
| - 🔄 **N8N工作流**
 | ||
| - 📱 **MCP服务器**
 | ||
| - 🧪 **实验性功能**
 | ||
| 
 | ||
| ## 成功标准
 | ||
| 
 | ||
| 项目重构成功的标志:
 | ||
| - ✅ 通过GitGuardian安全扫描,无密钥泄露
 | ||
| - ✅ 项目目录结构清晰,符合最佳实践
 | ||
| - ✅ 所有核心功能正常工作
 | ||
| - ✅ 新开发者能在10分钟内启动项目
 | ||
| - ✅ 代码质量评分达到B级以上
 | ||
| - ✅ 部署时间缩短到5分钟以内
 | ||
| - ✅ 完全摆脱历史技术债务 |