文件最后提交记录最后更新时间
chore: archive unused container_quick_init.py script 6 个月前
config(A): sanitize on import + add DB cleanup script\n\n- config_service.import_config: ignore secrets in input\n- scripts: add scripts/config/cleanup_sensitive_in_db.py (dry-run by default) 7 个月前
chore: relocate debug test scripts to scripts/validation for hygiene and consistency 6 个月前
chore: clean project root by moving tests to tests/, archiving temp_original_build.ps1 to scripts/deployment, and relocating pip_freeze_local.txt to reports/ 6 个月前
feat: 港股数据添加财务指标(PE、PB、ROE等)+ fix: 修复亏损股PE显示问题 新增功能(港股): 1. 添加 get_financial_indicators() 方法获取36个财务指标 - 数据来源:AKShare stock_financial_hk_analysis_indicator_em 接口 - 包含:EPS、BPS、ROE、ROA、营收、负债率等 2. 自动计算 PE 和 PB - PE = 当前股价 / EPS_TTM - PB = 当前股价 / BPS 3. 集成到 get_hk_stock_data_akshare() 输出中 - 在历史数据报告中添加完整的财务指标部分 4. 添加 _rate_limit() 方法支持速率限制 5. 处理 None 值的格式化(避免格式化错误) 修复问题(A股): 1. 修复亏损股 PE/PE_TTM 显示错误的问题 - 问题:亏损股(净利润<0)仍然显示PE值 - 修复:添加净利润正负判断,亏损股PE设置为N/A 2. 修复静态PE使用逻辑 - 只接受正数的PE/PE_TTM值 - 负数或零的PE自动设置为N/A 3. 添加详细的日志说明 - 明确标注亏损股的处理逻辑 测试验证: - ✅ 港股财务指标获取成功(00005、00700、01810) - ✅ PE、PB 计算准确(误差<0.01) - ✅ 历史数据报告包含完整财务指标 - ✅ None 值处理正确 影响范围: - tradingagents/dataflows/providers/hk/improved_hk.py - tradingagents/dataflows/optimized_china_data.py - tradingagents/agents/utils/agent_utils.py(缩进修复) 6 个月前
feat: 完善Web界面实时进度显示和用户体验 主要改进: - 实现异步进度跟踪和实时显示 - 添加查看分析报告按钮功能 - 修复已完成分析的时间计算问题 - 清理重复的刷新按钮 - 优化会话管理和状态持久化 - 改进移动端和响应式布局 - 增强错误处理和回退机制 - 完善文档和启动脚本 技术细节: - 新增异步进度显示组件 - 实现智能会话管理系统 - 修复导入路径和时间计算逻辑 - 优化UI组件和用户交互 - 清理临时测试文件39个 9 个月前
chore: 清理根目录并整理脚本 移动 test_*.py 至 tests/;整理 debug/fix/check/verify/extract/calculate_valuation_* 至 scripts/;删除 config/admin_password.json;移除 .env 中多余 JWT 配置 7 个月前
统一日志系统:将所有print语句替换为标准日志记录 本次大规模重构统一了整个系统的日志记录方式: ## 主要改进内容 ### 1. 核心代理模块 (tradingagents/agents/) - market_analyst.py: 替换print为logger.info/error - fundamentals_analyst.py: 统一日志记录格式 - 所有分析师模块现在使用标准日志系统 ### 2. 数据流模块 (tradingagents/dataflows/) - db_cache_manager.py: 数据库缓存操作日志标准化 - optimized_us_data.py: 美股数据获取日志优化 - 提高数据处理过程的可追踪性 ### 3. Web应用模块 (web/) - app.py: Web应用主程序日志标准化 - components/: 所有组件模块日志统一 - utils/: 工具模块日志记录优化 - 提升Web界面操作的可监控性 ### 4. 工具脚本 (utils/, scripts/) - 所有维护脚本和工具的日志标准化 - 提高系统维护和调试效率 ### 5. 测试模块 (tests/) - 所有测试脚本的日志记录统一 - 便于测试过程的问题定位 ## 技术改进效果 **统一日志格式**: 所有模块使用相同的日志记录标准 **可配置日志级别**: 支持不同环境的日志级别控制 **结构化日志**: 便于日志分析和监控 **性能优化**: 减少不必要的控制台输出 **调试友好**: 提供更详细的上下文信息 **生产就绪**: 符合生产环境日志管理要求 ## 代码质量提升 - 移除了所有临时性的print调试语句 - 建立了统一的错误处理和日志记录模式 - 提高了代码的专业性和可维护性 - 为后续的监控和运维奠定了基础 这次重构显著提升了系统的可观测性和专业化程度。 10 个月前
fix: 修复 Nginx 配置更新问题 - 修复 Nginx 配置文件 UTF-8 BOM 编码问题 - NSIS 安装脚本使用 UTF8Encoding(False) 写入配置文件,避免 BOM - 启动脚本使用 [System.IO.File]::WriteAllText() 避免 BOM - 修复 Nginx 配置更新不完整问题 - 添加 upstream backend 端口更新的正则表达式 - 同时更新 listen 端口、upstream 端口和 proxy_pass 端口 - 添加详细的调试信息 - 显示更新前后的端口值 - 显示配置更新是否成功 - 同步修改到绿色版启动脚本 - release/TradingAgentsCN-portable/start_all.ps1 - scripts/installer/start_all.ps1 6 个月前
fix: 修复update_progress_sync函数的事件循环冲突 问题: update_progress_sync在线程池中使用Motor异步客户端导致事件循环冲突 解决方案: 使用同步PyMongo客户端更新MongoDB 影响: 彻底解决进度更新时的事件循环冲突问题 6 个月前
backend(paper): auto-migrate legacy scalar cash/realized_pnl on read\n\n- Ensure buy/sell updates to cash.<currency> work for old records\n- Add migration script to batch-fix paper_accounts structure\n\nContext: fix Mongo error 'Cannot create field CNY in element {cash: ...}' 6 个月前
fix: 修复多数据源同步的 MongoDB 连接和索引冲突问题 核心修复: 1. BaoStock 同步服务初始化问题: - 修改 BaoStockSyncService.__init__() 延迟初始化数据库连接 - 在 initialize() 异步方法中调用 get_mongo_db() - 所有调用点添加 await service.initialize() 2. BaoStock 初始化服务同样问题: - 修改 BaoStockInitService.__init__() 延迟初始化 - 添加 initialize() 异步方法 - 所有调用点添加 await service.initialize() 3. 多数据源同步批量操作超时: - 添加分批处理逻辑(每批 500 条) - 避免一次性处理 5000+ 股票导致超时 - 添加详细的批量写入日志 4. full_symbol 唯一索引冲突: - 删除 full_symbol_1_unique 唯一索引 - 允许同一 full_symbol 有多个数据源记录 - 更新迁移脚本和索引初始化脚本 影响文件: - app/worker/baostock_sync_service.py - app/worker/baostock_init_service.py - app/services/multi_source_basics_sync_service.py - scripts/setup/init_mongodb_indexes.py - scripts/migrations/migrate_stock_basic_info_add_source_index.py 测试结果: - 迁移脚本成功删除 full_symbol_1_unique 索引 - 创建 (code, source) 联合唯一索引 - 数据源隔离设计完整实现 6 个月前
docs: 添加 portable 脚本目录说明文档 6 个月前
优化股票筛选视图 6 个月前
chore: organize start and stop scripts into scripts/startup and scripts/shutdown 6 个月前
feat: 实现多市场多数据源基础架构 (Phase 0) - 创建港股和美股MongoDB集合初始化脚本 - 实现统一股票数据访问服务 (UnifiedStockService) - 支持跨市场数据访问 (A股/港股/美股) - 从数据库动态读取数据源优先级 - 支持多数据源查询和自动降级 - 创建港股同步服务 (HKSyncService) - 支持 yfinance 和 akshare 数据源 - 基础信息同步和实时行情同步 - 创建美股同步服务 (USSyncService) - 支持 yfinance 数据源 - 基础信息同步和实时行情同步 - 扩展配置文件支持港股/美股同步配置 - 注册港股/美股定时同步任务到调度器 - 创建港股同步服务测试脚本 - 更新实施方案文档 参考设计: - 参考A股多数据源设计 - 同一股票可有多个数据源记录 - 通过 (code, source) 联合唯一索引区分 - 数据源优先级从数据库配置读取 6 个月前
fix: 修复所有核心代码的导入错误 修复内容: 1. app/worker/us_data_service.py (第28行) - 从: tradingagents.dataflows.providers.us.us_stock.USStockProvider - 改为: tradingagents.dataflows.providers.us.optimized.OptimizedUSDataProvider - 原因: us_stock 模块不存在,应使用 OptimizedUSDataProvider 2. cli/main.py (第1787行) - 从: from tradingagents.dataflows.config import get_data_dir, set_data_dir - 改为: 使用 config_manager.get_data_dir 和 config_manager.set_data_dir - 原因: tradingagents.dataflows.config 模块不存在 3. tradingagents/dataflows/cache/__init__.py (第59行) - 从: from .app_adapter import AppCacheAdapter - 改为: from .app_adapter import get_basics_from_cache, get_market_quote_dataframe - 原因: app_adapter.py 中没有 AppCacheAdapter 类,只有函数 4. web/modules/cache_management.py (第21-22行) - 从: tradingagents.dataflows.cache_manager - 改为: tradingagents.dataflows.cache - 从: tradingagents.dataflows.optimized_us_data - 改为: tradingagents.dataflows.providers.us.optimized - 原因: 模块路径错误 5. scripts/validation/check_imports.py - 修复相对导入检测:跳过 node.level > 0 的相对导入 - 原因: AST 解析器会将 .app_adapter 解析为 app_adapter,导致误报 检查结果: 已检查文件: 293 已检查导入: 2535 发现错误: 0 所有核心代码的导入错误已全部修复! 6 个月前
chore: 移除已废弃的 build_all.ps1(已迁移到 build/build_installer.ps1) 5 个月前
架构优化:统一配置管理和数据库管理器 主要改进: - 统一数据库配置管理,移除default_config.py中的硬编码 - 移除重复的数据库管理器,统一使用config.database_manager - 修复MONGODB_ENABLED和REDIS_ENABLED开关不生效问题 - 修复MongoDB布尔值判断错误 - 新增详细的架构优化文档 技术改进: - 删除tradingagents/dataflows/database_manager.py - 更新所有相关文件的导入引用 - 统一使用.env文件管理数据库配置 - 完善错误处理和自动降级机制 文档更新: - 新增docs/architecture/configuration-optimization.md - 更新CHANGELOG.md记录所有改进 - 更新相关API文档和使用示例 用户体验: - 配置更简单:只需编辑.env文件 - 行为更可预测:启用开关真正生效 - 架构更清晰:移除重复组件 - 错误更少:修复所有已知问题 10 个月前
feat: 配置导入脚本支持宿主机和 Docker 容器两种运行环境 优化内容: 1. 添加 --host 参数,支持在宿主机运行(连接 localhost:27017) 2. 默认在 Docker 容器内运行(连接 mongodb:27017) 3. 改进连接错误提示,根据运行环境给出不同的排查建议 4. 添加详细的使用文档(scripts/README_import_config.md) 使用方法: - Docker 容器内: python scripts/import_config_and_create_user.py - 宿主机: python scripts/import_config_and_create_user.py --host 相关 Issue: 区分运行环境,避免连接错误 6 个月前
feat: 添加用户密码管理工具 - 新增 user_password_manager.py 核心Python脚本 - 新增 user_manager.bat Windows批处理文件 - 新增 user_manager.ps1 PowerShell脚本 - 新增 USER_MANAGEMENT.md 详细使用说明 功能特性: - 支持修改用户密码 - 支持创建/删除用户 - 支持列出所有用户 - 支持重置为默认配置 - 密码使用SHA256哈希存储 - 多种使用方式(Python/批处理/PowerShell) - 完整的权限控制和安全检查 9 个月前
feat: 完成302.ai聚合平台接入 新增功能: - 添加302.ai到供应商列表和前端预设 - 优化模型过滤逻辑,支持识别gpt-/claude-/gemini-前缀 - 增强价格信息提取,支持多种API格式 问题修复: - 修复测试API时max_tokens过小导致推理模型无输出的问题 - 增加详细的响应日志,便于调试 - 将max_tokens从10增加到200,支持o1/gpt-5等推理模型 技术细节: - 模型过滤:识别不带厂商前缀的模型名(如gpt-4、claude-3-sonnet) - 价格提取:支持pricing和price两种字段格式 - 推理模型:为o1/gpt-5等模型预留足够的reasoning_tokens空间 6 个月前
feat: 添加 AKShare 股票同步优化工具 新增脚本: 1. scripts/akshare_sync_optimized.py: - 优化的 AKShare 股票同步脚本 - 预加载股票列表缓存,避免重复获取 - 批量处理,显示详细进度和速度 - 失败自动重试机制 - 保存失败列表到文件 - 实时显示 ETA 和处理速度 2. scripts/check_missing_stocks.py: - 检查数据库中缺失的股票 - 对比 AKShare 股票列表与数据库记录 - 识别需要补充同步的股票 - 生成缺失股票报告 3. scripts/akshare_force_sync_all.py: - 强制同步所有股票(忽略缓存) - 适用于数据修复场景 - 支持批量处理和进度跟踪 使用方法: python scripts/akshare_sync_optimized.py python scripts/akshare_sync_optimized.py --batch-size 50 --delay 0.5 python scripts/check_missing_stocks.py python scripts/akshare_force_sync_all.py --batch 100 性能提升: - 同步速度:从 2-3 秒/股 提升到 0.3-0.5 秒/股 - 总耗时:从 4.5 小时降低到 30 分钟(5438 只股票) 7 个月前
feat: 添加 AKShare 股票同步优化工具 新增脚本: 1. scripts/akshare_sync_optimized.py: - 优化的 AKShare 股票同步脚本 - 预加载股票列表缓存,避免重复获取 - 批量处理,显示详细进度和速度 - 失败自动重试机制 - 保存失败列表到文件 - 实时显示 ETA 和处理速度 2. scripts/check_missing_stocks.py: - 检查数据库中缺失的股票 - 对比 AKShare 股票列表与数据库记录 - 识别需要补充同步的股票 - 生成缺失股票报告 3. scripts/akshare_force_sync_all.py: - 强制同步所有股票(忽略缓存) - 适用于数据修复场景 - 支持批量处理和进度跟踪 使用方法: python scripts/akshare_sync_optimized.py python scripts/akshare_sync_optimized.py --batch-size 50 --delay 0.5 python scripts/check_missing_stocks.py python scripts/akshare_force_sync_all.py --batch 100 性能提升: - 同步速度:从 2-3 秒/股 提升到 0.3-0.5 秒/股 - 总耗时:从 4.5 小时降低到 30 分钟(5438 只股票) 7 个月前
优化股票筛选视图 6 个月前
统一日志系统:将所有print语句替换为标准日志记录 本次大规模重构统一了整个系统的日志记录方式: ## 主要改进内容 ### 1. 核心代理模块 (tradingagents/agents/) - market_analyst.py: 替换print为logger.info/error - fundamentals_analyst.py: 统一日志记录格式 - 所有分析师模块现在使用标准日志系统 ### 2. 数据流模块 (tradingagents/dataflows/) - db_cache_manager.py: 数据库缓存操作日志标准化 - optimized_us_data.py: 美股数据获取日志优化 - 提高数据处理过程的可追踪性 ### 3. Web应用模块 (web/) - app.py: Web应用主程序日志标准化 - components/: 所有组件模块日志统一 - utils/: 工具模块日志记录优化 - 提升Web界面操作的可监控性 ### 4. 工具脚本 (utils/, scripts/) - 所有维护脚本和工具的日志标准化 - 提高系统维护和调试效率 ### 5. 测试模块 (tests/) - 所有测试脚本的日志记录统一 - 便于测试过程的问题定位 ## 技术改进效果 **统一日志格式**: 所有模块使用相同的日志记录标准 **可配置日志级别**: 支持不同环境的日志级别控制 **结构化日志**: 便于日志分析和监控 **性能优化**: 减少不必要的控制台输出 **调试友好**: 提供更详细的上下文信息 **生产就绪**: 符合生产环境日志管理要求 ## 代码质量提升 - 移除了所有临时性的print调试语句 - 建立了统一的错误处理和日志记录模式 - 提高了代码的专业性和可维护性 - 为后续的监控和运维奠定了基础 这次重构显著提升了系统的可观测性和专业化程度。 10 个月前
优化Docker日志管理和文件组织 新功能: - 添加Docker日志目录映射到本地logs目录 - 修复Docker环境下日志文件不生成的问题 - 创建完整的日志管理工具集 修复: - 修复Dockerfile基础镜像网络连接问题 - 修复logging_docker.toml配置KeyError错误 - 修复Docker环境下文件日志被禁用的问题 文件整理: - 将所有脚本文件移动到scripts目录 - 删除根目录下的临时文件和重复文件 - 添加完整的Docker日志使用指南 改进: - 优化docker-compose.yml配置 - 添加日志轮转和健康检查 - 提供多平台日志获取脚本(Windows/Linux) 文档: - 添加DOCKER_LOGS_GUIDE.md详细使用指南 - 包含故障排除和最佳实践 10 个月前
feat: 添加开发和运维 PowerShell 脚本及测试环境配置 新增 PowerShell 脚本: 1. scripts/backup_volumes.ps1: - 备份 Docker 数据卷 - 支持 MongoDB 和 Redis 数据备份 2. scripts/restore_volumes.ps1: - 恢复 Docker 数据卷 - 从备份恢复数据库数据 3. scripts/clean_volumes.ps1: - 清理 Docker 数据卷 - 重置开发环境 4. scripts/start_test_db.ps1: - 启动测试数据库环境 - 使用 Docker Compose 管理 5. scripts/stop_test_db.ps1: - 停止测试数据库环境 6. scripts/cleanup_test_env.ps1: - 清理测试环境 - 删除测试数据和容器 7. scripts/switch_to_test_env.ps1: - 切换到测试环境配置 8. scripts/switch_to_prod_env.ps1: - 切换到生产环境配置 9. scripts/start_backend_with_proxy.ps1: - 使用代理启动后端服务 10. scripts/test_akshare_rate_limit.ps1: - PowerShell 版本的 AKShare 频率测试 11. scripts/test_proxy_config.ps1: - 测试代理配置 新增 Docker Compose 配置: 1. docker-compose.hub.test.db-only.yml: - 仅数据库的测试环境配置 - 适用于本地开发 2. docker-compose.hub.test.yml: - 完整的测试环境配置 - 包含所有服务 目的: - 简化开发和测试流程 - 提供环境管理工具 - 支持数据备份和恢复 7 个月前
docs: 重构文档架构,实现版本化管理 - 将所有架构和智能体文档迁移到 v0.1.13 版本目录 - 删除旧版本文档,避免版本冲突 - 新增文档批量更新和一致性检查脚本 - 完善图结构文档,解释 quick_thinking_llm 和 deep_thinking_llm 的区别 - 更新版本号到 v0.1.13 9 个月前
feat: 采用分架构独立仓库策略,提高发布效率 问题: - 当前多架构打包在同一仓库,每次更新必须同时打包 AMD64 + ARM64 - 构建时间长(30-60 分钟),影响发布效率 - ARM64 用户量少,但每次小更新都要打包,浪费时间 - 只更新一个架构会导致另一个架构用户无法使用 解决方案: 1. 分架构独立仓库 - AMD64: tradingagents-backend-amd64 (独立仓库) - ARM64: tradingagents-backend-arm64 (独立仓库) - 可以独立更新,互不影响 2. 优化构建脚本 - build-amd64.sh: 只构建 AMD64(5-10分钟) - build-arm64.sh: 只构建 ARM64(10-20分钟) - build-apple-silicon.sh: Apple Silicon 专用 - 移除架构后缀,使用仓库名区分 3. 灵活的发布策略 - AMD64: 高频更新(主要用户群) - ARM64: 按需更新(小众用户群) - 重大版本: 两个架构同步更新 新增文件: - scripts/build-amd64.sh: AMD64 独立构建脚本 - scripts/build-amd64.ps1: AMD64 Windows 构建脚本 - scripts/build-arm64.sh: ARM64 独立构建脚本 - scripts/build-apple-silicon.sh: Apple Silicon 构建脚本 - docs/BUILD_GUIDE.md: 构建指南 - docs/DOCKER_REGISTRY_STRATEGY.md: 仓库策略说明 修改文件: - scripts/build-amd64.sh: 使用独立仓库名 - scripts/build-arm64.sh: 使用独立仓库名 镜像命名: - 旧: tradingagents-backend:v1.0.0-amd64 - 新: tradingagents-backend-amd64:v1.0.0 使用示例: # AMD64 用户 docker pull hsliuping/tradingagents-backend-amd64:latest # ARM64 用户 docker pull hsliuping/tradingagents-backend-arm64:latest 预期效果: - AMD64 快速发布(5-10分钟) - ARM64 按需更新(节省时间) - 独立版本管理,灵活性高 - 用户根据架构选择对应仓库 6 个月前
feat: 采用分架构独立仓库策略,提高发布效率 问题: - 当前多架构打包在同一仓库,每次更新必须同时打包 AMD64 + ARM64 - 构建时间长(30-60 分钟),影响发布效率 - ARM64 用户量少,但每次小更新都要打包,浪费时间 - 只更新一个架构会导致另一个架构用户无法使用 解决方案: 1. 分架构独立仓库 - AMD64: tradingagents-backend-amd64 (独立仓库) - ARM64: tradingagents-backend-arm64 (独立仓库) - 可以独立更新,互不影响 2. 优化构建脚本 - build-amd64.sh: 只构建 AMD64(5-10分钟) - build-arm64.sh: 只构建 ARM64(10-20分钟) - build-apple-silicon.sh: Apple Silicon 专用 - 移除架构后缀,使用仓库名区分 3. 灵活的发布策略 - AMD64: 高频更新(主要用户群) - ARM64: 按需更新(小众用户群) - 重大版本: 两个架构同步更新 新增文件: - scripts/build-amd64.sh: AMD64 独立构建脚本 - scripts/build-amd64.ps1: AMD64 Windows 构建脚本 - scripts/build-arm64.sh: ARM64 独立构建脚本 - scripts/build-apple-silicon.sh: Apple Silicon 构建脚本 - docs/BUILD_GUIDE.md: 构建指南 - docs/DOCKER_REGISTRY_STRATEGY.md: 仓库策略说明 修改文件: - scripts/build-amd64.sh: 使用独立仓库名 - scripts/build-arm64.sh: 使用独立仓库名 镜像命名: - 旧: tradingagents-backend:v1.0.0-amd64 - 新: tradingagents-backend-amd64:v1.0.0 使用示例: # AMD64 用户 docker pull hsliuping/tradingagents-backend-amd64:latest # ARM64 用户 docker pull hsliuping/tradingagents-backend-arm64:latest 预期效果: - AMD64 快速发布(5-10分钟) - ARM64 按需更新(节省时间) - 独立版本管理,灵活性高 - 用户根据架构选择对应仓库 6 个月前
feat: 支持多架构 Docker 镜像构建(amd64 + arm64) 主要修改: 1. 修改 build-and-publish-linux.sh 脚本支持多架构构建 - 使用 docker buildx build 替代 docker build - 支持 linux/amd64 和 linux/arm64 架构 - 构建完成后自动推送到 Docker Hub - 推送完成后自动清理本地镜像和缓存,释放磁盘空间 2. 新增多架构构建脚本 - scripts/build-multiarch.sh (Linux/macOS) - scripts/build-multiarch.ps1 (Windows PowerShell) 3. 新增详细文档 - docs/deployment/docker/MULTIARCH_BUILD.md (多架构构建通用指南) - docs/deployment/docker/BUILD_MULTIARCH_GUIDE.md (Ubuntu 服务器专用指南) 功能特性: - 一次构建,支持 x86_64 和 ARM 架构 - 自动推送到 Docker Hub - 自动清理本地镜像,释放磁盘空间 - 支持自定义版本号和目标架构 - 详细的构建进度和错误提示 使用方法: ./scripts/build-and-publish-linux.sh your-dockerhub-username [version] [platforms] 解决问题: - 修复 Docker 镜像在 ARM 环境中无法运行的问题 - 支持 Apple Silicon、树莓派、AWS Graviton 等 ARM 平台 文件: - scripts/build-and-publish-linux.sh (修改) - scripts/build-multiarch.sh (新增) - scripts/build-multiarch.ps1 (新增) - docs/deployment/docker/MULTIARCH_BUILD.md (新增) - docs/deployment/docker/BUILD_MULTIARCH_GUIDE.md (新增) 6 个月前
feat: 采用分架构独立仓库策略,提高发布效率 问题: - 当前多架构打包在同一仓库,每次更新必须同时打包 AMD64 + ARM64 - 构建时间长(30-60 分钟),影响发布效率 - ARM64 用户量少,但每次小更新都要打包,浪费时间 - 只更新一个架构会导致另一个架构用户无法使用 解决方案: 1. 分架构独立仓库 - AMD64: tradingagents-backend-amd64 (独立仓库) - ARM64: tradingagents-backend-arm64 (独立仓库) - 可以独立更新,互不影响 2. 优化构建脚本 - build-amd64.sh: 只构建 AMD64(5-10分钟) - build-arm64.sh: 只构建 ARM64(10-20分钟) - build-apple-silicon.sh: Apple Silicon 专用 - 移除架构后缀,使用仓库名区分 3. 灵活的发布策略 - AMD64: 高频更新(主要用户群) - ARM64: 按需更新(小众用户群) - 重大版本: 两个架构同步更新 新增文件: - scripts/build-amd64.sh: AMD64 独立构建脚本 - scripts/build-amd64.ps1: AMD64 Windows 构建脚本 - scripts/build-arm64.sh: ARM64 独立构建脚本 - scripts/build-apple-silicon.sh: Apple Silicon 构建脚本 - docs/BUILD_GUIDE.md: 构建指南 - docs/DOCKER_REGISTRY_STRATEGY.md: 仓库策略说明 修改文件: - scripts/build-amd64.sh: 使用独立仓库名 - scripts/build-arm64.sh: 使用独立仓库名 镜像命名: - 旧: tradingagents-backend:v1.0.0-amd64 - 新: tradingagents-backend-amd64:v1.0.0 使用示例: # AMD64 用户 docker pull hsliuping/tradingagents-backend-amd64:latest # ARM64 用户 docker pull hsliuping/tradingagents-backend-arm64:latest 预期效果: - AMD64 快速发布(5-10分钟) - ARM64 按需更新(节省时间) - 独立版本管理,灵活性高 - 用户根据架构选择对应仓库 6 个月前
fix: 构建脚本同时推送 VERSION 和 latest 标签 问题原因: - 之前构建脚本只推送 v1.0.0-preview 标签 - docker-compose.hub.yml 使用 latest 标签 - 导致测试服务器拉取的是旧版本镜像,出现重复日志等问题 修复内容: 1. build-multiarch.sh: 同时推送 VERSION 和 latest 两个标签 2. build-multiarch.ps1: 同时推送 VERSION 和 latest 两个标签 3. 更新输出信息,显示所有推送的标签 影响: - 后端镜像: hsliup/tradingagents-backend:v1.0.0-preview + :latest - 前端镜像: hsliup/tradingagents-frontend:v1.0.0-preview + :latest - docker-compose.hub.yml 现在可以拉取到最新代码 相关 Issue: 测试服务器日志重复问题 6 个月前
fix: 构建脚本同时推送 VERSION 和 latest 标签 问题原因: - 之前构建脚本只推送 v1.0.0-preview 标签 - docker-compose.hub.yml 使用 latest 标签 - 导致测试服务器拉取的是旧版本镜像,出现重复日志等问题 修复内容: 1. build-multiarch.sh: 同时推送 VERSION 和 latest 两个标签 2. build-multiarch.ps1: 同时推送 VERSION 和 latest 两个标签 3. 更新输出信息,显示所有推送的标签 影响: - 后端镜像: hsliup/tradingagents-backend:v1.0.0-preview + :latest - 前端镜像: hsliup/tradingagents-frontend:v1.0.0-preview + :latest - docker-compose.hub.yml 现在可以拉取到最新代码 相关 Issue: 测试服务器日志重复问题 6 个月前
feat: 完善 PDF 导出功能,支持 Docker 环境 ## 主要改进 ### 1. 本地环境 PDF 导出优化 - 新增 WeasyPrint 支持(推荐,纯 Python 实现) - 新增 pdfkit + wkhtmltopdf 支持(备选方案) - 保留 Pandoc 作为回退方案 - 三层级 PDF 生成策略,自动选择最佳工具 - 完美解决中文竖排和表格分页问题 ### 2. Docker 环境支持 - 更新 Dockerfile.backend,添加 PDF 导出依赖 - libcairo2, libpango, libgdk-pixbuf(WeasyPrint 依赖) - wkhtmltopdf(从官方下载) - pandoc(从 GitHub 下载) - fonts-noto-cjk(中文字体) - 使用 python:3.10-slim-bookworm 稳定基础镜像 - 添加 apt 重试机制,提高构建成功率 - 自动安装 weasyprint 和 pdfkit Python 包 ### 3. 构建和测试工具 - scripts/build_docker_with_pdf.sh(Linux/macOS) - scripts/build_docker_with_pdf.ps1(Windows) - scripts/setup/install_pdf_tools.py(自动安装脚本) ### 4. 完善文档 - docs/docker/pdf-export-support.md(Docker 环境指南) - docs/guides/pdf_export_guide.md(完整使用指南) - docs/guides/installation/pdf_tools.md(安装指南) - docs/troubleshooting/pdf_word_export_issues.md(故障排查) - docs/troubleshooting/windows_cairo_fix.md(Windows Cairo 修复) - CHANGELOG_PDF_EXPORT.md(更新日志) ### 5. 依赖管理 - 更新 pyproject.toml,添加 [pdf] 可选依赖组 - 更新 requirements.txt,添加 weasyprint, pdfkit, python-docx ## 技术实现 ### PDF 生成流程 Markdown HTML (with CSS) PDF ### CSS 样式控制 - 强制横排显示:writing-mode: horizontal-tb !important - 表格分页控制:page-break-inside: auto - 表头重复显示:display: table-header-group ### 工具优先级 1. WeasyPrint(最推荐)- 中文支持最好 2. pdfkit + wkhtmltopdf(备选)- 渲染效果好 3. Pandoc(回退)- 兼容性方案 ## 测试验证 ### 本地环境 - Windows 环境测试通过(pdfkit + wkhtmltopdf) - 中文横排显示正常 - 表格分页正常 ### Docker 环境 - 待在服务器上构建测试 - Dockerfile 已更新 - 构建脚本已准备 ## 相关文件 ### 修改的文件 - app/utils/report_exporter.py - Dockerfile.backend - pyproject.toml - requirements.txt ### 新增的文件 - scripts/build_docker_with_pdf.sh - scripts/build_docker_with_pdf.ps1 - scripts/setup/install_pdf_tools.py - docs/docker/pdf-export-support.md - docs/guides/pdf_export_guide.md - docs/guides/installation/pdf_tools.md - docs/troubleshooting/pdf_word_export_issues.md - docs/troubleshooting/windows_cairo_fix.md - CHANGELOG_PDF_EXPORT.md - Dockerfile.backend.test(测试用) ### 删除的文件 - check_300750_data.py(临时测试文件) - check_volume_unit.py(临时测试文件) 6 个月前
统一日志系统:将所有print语句替换为标准日志记录 本次大规模重构统一了整个系统的日志记录方式: ## 主要改进内容 ### 1. 核心代理模块 (tradingagents/agents/) - market_analyst.py: 替换print为logger.info/error - fundamentals_analyst.py: 统一日志记录格式 - 所有分析师模块现在使用标准日志系统 ### 2. 数据流模块 (tradingagents/dataflows/) - db_cache_manager.py: 数据库缓存操作日志标准化 - optimized_us_data.py: 美股数据获取日志优化 - 提高数据处理过程的可追踪性 ### 3. Web应用模块 (web/) - app.py: Web应用主程序日志标准化 - components/: 所有组件模块日志统一 - utils/: 工具模块日志记录优化 - 提升Web界面操作的可监控性 ### 4. 工具脚本 (utils/, scripts/) - 所有维护脚本和工具的日志标准化 - 提高系统维护和调试效率 ### 5. 测试模块 (tests/) - 所有测试脚本的日志记录统一 - 便于测试过程的问题定位 ## 技术改进效果 **统一日志格式**: 所有模块使用相同的日志记录标准 **可配置日志级别**: 支持不同环境的日志级别控制 **结构化日志**: 便于日志分析和监控 **性能优化**: 减少不必要的控制台输出 **调试友好**: 提供更详细的上下文信息 **生产就绪**: 符合生产环境日志管理要求 ## 代码质量提升 - 移除了所有临时性的print调试语句 - 建立了统一的错误处理和日志记录模式 - 提高了代码的专业性和可维护性 - 为后续的监控和运维奠定了基础 这次重构显著提升了系统的可观测性和专业化程度。 10 个月前
feat: 完善 PDF 导出功能,支持 Docker 环境 ## 主要改进 ### 1. 本地环境 PDF 导出优化 - 新增 WeasyPrint 支持(推荐,纯 Python 实现) - 新增 pdfkit + wkhtmltopdf 支持(备选方案) - 保留 Pandoc 作为回退方案 - 三层级 PDF 生成策略,自动选择最佳工具 - 完美解决中文竖排和表格分页问题 ### 2. Docker 环境支持 - 更新 Dockerfile.backend,添加 PDF 导出依赖 - libcairo2, libpango, libgdk-pixbuf(WeasyPrint 依赖) - wkhtmltopdf(从官方下载) - pandoc(从 GitHub 下载) - fonts-noto-cjk(中文字体) - 使用 python:3.10-slim-bookworm 稳定基础镜像 - 添加 apt 重试机制,提高构建成功率 - 自动安装 weasyprint 和 pdfkit Python 包 ### 3. 构建和测试工具 - scripts/build_docker_with_pdf.sh(Linux/macOS) - scripts/build_docker_with_pdf.ps1(Windows) - scripts/setup/install_pdf_tools.py(自动安装脚本) ### 4. 完善文档 - docs/docker/pdf-export-support.md(Docker 环境指南) - docs/guides/pdf_export_guide.md(完整使用指南) - docs/guides/installation/pdf_tools.md(安装指南) - docs/troubleshooting/pdf_word_export_issues.md(故障排查) - docs/troubleshooting/windows_cairo_fix.md(Windows Cairo 修复) - CHANGELOG_PDF_EXPORT.md(更新日志) ### 5. 依赖管理 - 更新 pyproject.toml,添加 [pdf] 可选依赖组 - 更新 requirements.txt,添加 weasyprint, pdfkit, python-docx ## 技术实现 ### PDF 生成流程 Markdown HTML (with CSS) PDF ### CSS 样式控制 - 强制横排显示:writing-mode: horizontal-tb !important - 表格分页控制:page-break-inside: auto - 表头重复显示:display: table-header-group ### 工具优先级 1. WeasyPrint(最推荐)- 中文支持最好 2. pdfkit + wkhtmltopdf(备选)- 渲染效果好 3. Pandoc(回退)- 兼容性方案 ## 测试验证 ### 本地环境 - Windows 环境测试通过(pdfkit + wkhtmltopdf) - 中文横排显示正常 - 表格分页正常 ### Docker 环境 - 待在服务器上构建测试 - Dockerfile 已更新 - 构建脚本已准备 ## 相关文件 ### 修改的文件 - app/utils/report_exporter.py - Dockerfile.backend - pyproject.toml - requirements.txt ### 新增的文件 - scripts/build_docker_with_pdf.sh - scripts/build_docker_with_pdf.ps1 - scripts/setup/install_pdf_tools.py - docs/docker/pdf-export-support.md - docs/guides/pdf_export_guide.md - docs/guides/installation/pdf_tools.md - docs/troubleshooting/pdf_word_export_issues.md - docs/troubleshooting/windows_cairo_fix.md - CHANGELOG_PDF_EXPORT.md - Dockerfile.backend.test(测试用) ### 删除的文件 - check_300750_data.py(临时测试文件) - check_volume_unit.py(临时测试文件) 6 个月前
0.1.13版本正式上线。 9 个月前
fix: 修复package.json等配置文件未被Git跟踪的问题 - 移除.gitignore中的 *.json 全局排除规则 - 添加更精确的JSON文件排除规则(只排除运行时数据和敏感配置) - 添加frontend/package.json、tsconfig.json等必需配置文件 - 添加构建上下文检查脚本 - 保留config/*.json在本地(包含敏感信息),应创建.example文件 7 个月前
fix: 修复数据查询不按优先级的问题 问题: - app/routers/reports.py 中 get_stock_name() 函数直接查询 stock_basic_info,没有按数据源优先级 - app/services/database_screening_service.py 中的聚合查询没有按数据源过滤,导致混用不同数据源的数据 修复: 1. app/routers/reports.py - 添加按数据源优先级查询的逻辑 - 优先级:tushare > akshare > baostock - 如果所有数据源都没有,回退到不带 source 条件的查询(兼容旧数据) 2. app/services/database_screening_service.py - 在聚合查询中添加数据源过滤 - 只查询优先级最高的数据源的财务数据 - 避免混用不同数据源的数据 3. app/routers/stocks.py - 修复 get_fundamentals() 接口 - 按数据源优先级查询财务数据,而不是按时间戳 - 确保不混用不同数据源的数据 影响: - 所有数据查询现在都按数据源优先级进行 - 避免了混用不同数据源数据导致的问题 - 提高了数据一致性 6 个月前
feat: API速率限制和全历史数据同步支持 7 个月前
fix: 修复数据查询不按优先级的问题 问题: - app/routers/reports.py 中 get_stock_name() 函数直接查询 stock_basic_info,没有按数据源优先级 - app/services/database_screening_service.py 中的聚合查询没有按数据源过滤,导致混用不同数据源的数据 修复: 1. app/routers/reports.py - 添加按数据源优先级查询的逻辑 - 优先级:tushare > akshare > baostock - 如果所有数据源都没有,回退到不带 source 条件的查询(兼容旧数据) 2. app/services/database_screening_service.py - 在聚合查询中添加数据源过滤 - 只查询优先级最高的数据源的财务数据 - 避免混用不同数据源的数据 3. app/routers/stocks.py - 修复 get_fundamentals() 接口 - 按数据源优先级查询财务数据,而不是按时间戳 - 确保不混用不同数据源的数据 影响: - 所有数据查询现在都按数据源优先级进行 - 避免了混用不同数据源数据导致的问题 - 提高了数据一致性 6 个月前
fix: 修复数据查询不按优先级的问题 问题: - app/routers/reports.py 中 get_stock_name() 函数直接查询 stock_basic_info,没有按数据源优先级 - app/services/database_screening_service.py 中的聚合查询没有按数据源过滤,导致混用不同数据源的数据 修复: 1. app/routers/reports.py - 添加按数据源优先级查询的逻辑 - 优先级:tushare > akshare > baostock - 如果所有数据源都没有,回退到不带 source 条件的查询(兼容旧数据) 2. app/services/database_screening_service.py - 在聚合查询中添加数据源过滤 - 只查询优先级最高的数据源的财务数据 - 避免混用不同数据源的数据 3. app/routers/stocks.py - 修复 get_fundamentals() 接口 - 按数据源优先级查询财务数据,而不是按时间戳 - 确保不混用不同数据源的数据 影响: - 所有数据查询现在都按数据源优先级进行 - 避免了混用不同数据源数据导致的问题 - 提高了数据一致性 6 个月前
优化股票筛选视图 6 个月前
feat: 修复配置向导LLM厂家添加接口参数不匹配问题并添加新功能 - 修复App.vue中addLLMProvider调用参数与LLMProvider接口不匹配的问题 - 更新参数映射:provider_key->id, provider_name->display_name, base_url->default_base_url - 添加必需的supported_features字段 - 新增多个配置管理和测试脚本 - 添加使用统计和模型配置相关功能 - 完善文档和问题解决指南 7 个月前
feat: 完善Web界面实时进度显示和用户体验 主要改进: - 实现异步进度跟踪和实时显示 - 添加查看分析报告按钮功能 - 修复已完成分析的时间计算问题 - 清理重复的刷新按钮 - 优化会话管理和状态持久化 - 改进移动端和响应式布局 - 增强错误处理和回退机制 - 完善文档和启动脚本 技术细节: - 新增异步进度显示组件 - 实现智能会话管理系统 - 修复导入路径和时间计算逻辑 - 优化UI组件和用户交互 - 清理临时测试文件39个 9 个月前
新的前端实现 8 个月前
fix: 导入数据时自动转换日期字段格式 🐛 问题描述: - 导入的数据中日期字段是字符串格式(如 '2025-11-04T09:53:37.640000') - 但代码期望的是 datetime 对象 - 导致报告列表 API 报错:'str' object has no attribute 'tzinfo' ✅ 修复内容: **1. 添加日期字段转换函数** - app/services/database/backups.py: - 新增 _convert_date_fields() 函数 - 自动识别常见日期字段(created_at, updated_at, completed_at 等) - 使用 dateutil.parser 解析日期字符串并转换为 datetime 对象 **2. 在导入时自动转换** - 多集合导入模式:遍历所有文档,转换日期字段 - 单集合导入模式:遍历所有文档,转换日期字段 - 确保导入后的数据格式与数据库期望一致 **3. 常见日期字段列表** - created_at, updated_at, completed_at - started_at, finished_at, deleted_at - last_login, last_modified, timestamp 🎯 预期效果: - 导入数据后,日期字段自动转换为 datetime 对象 - 报告列表 API 不再报错 - 数据格式与直接保存到数据库的格式一致 6 个月前
fix: 修复数据源配置读取 - 集合名错误和激活状态检查 6 个月前
实现港股和美股支持功能 主要功能: 1. 新增 ForeignStockService 服务 - 支持港股和美股行情、基础信息、K线、新闻数据获取 - 数据库驱动的数据源优先级管理 - 三层缓存系统(Redis + MongoDB + File) - 自动降级和容错机制 2. 数据源集成 - Alpha Vantage: 美股行情、基础信息、K线、新闻 - Finnhub: 美股行情、基础信息、K线、新闻 - yfinance: 港股/美股行情、K线 - akshare: 港股行情、基础信息 3. API 接口增强 - /api/stocks/{code}/quote: 自动识别市场类型 - /api/stocks/{code}/fundamentals: 支持港股/美股 - /api/stocks/{code}/kline: 支持港股/美股 - /api/stocks/{code}/news: 支持美股新闻(Alpha Vantage/Finnhub) 4. 前端功能 - 股票详情页支持港股/美股展示 - 清除缓存按钮(一键清空 Redis/MongoDB/File 缓存) - K线图表支持多市场 - 新闻列表支持美股新闻 5. 缓存系统修复 - 修复 IntegratedCacheManager.clear_old_cache() 方法 - 修复 import 路径错误 - 修复 NoneType 加法运算错误 - 支持 Redis flushdb() 清空所有缓存 6. 数据格式修复 - K线数据添加 trade_date 字段(前端需要) - 基础信息字段映射(market_cap total_mv 等) - Alpha Vantage 字符串 'None' 安全转换 7. 设计文档 - 港股/美股支持实现文档 - 模拟交易多市场支持设计方案 新增文件: - app/services/foreign_stock_service.py: 港股/美股服务 - docs/implementation/foreign_stock_support.md: 实现文档 - docs/design/paper_trading_multi_market_design.md: 模拟交易设计 - scripts/test_*.py: 测试脚本 修改文件: - app/routers/stocks.py: 支持多市场路由 - frontend/src/views/Stocks/Detail.vue: 清除缓存按钮 - tradingagents/dataflows/cache/integrated.py: 缓存清理修复 技术亮点: - 数据库驱动的数据源优先级(datasource_groupings 集合) - 统一的错误处理和降级策略 - 完整的缓存管理(查询、保存、清理) - 前后端联动的市场类型识别 6 个月前
feat: 添加PS计算验证程序 功能: 1. 从数据库获取实际财务数据 2. 手动计算PS并与系统计算结果对比 3. 验证三个数据源的PS计算是否正确 使用方法: - python scripts/test_ps_calculation_verification.py 600036 - python scripts/test_ps_calculation_verification.py 000001 000002 600036 验证内容: - 从stock_basic_info获取股票信息和总市值 - 从stock_financial_data获取财务数据 - 从raw_data.balance_sheet获取总股本 - 从market_quotes获取最新股价 - 手动计算市值和PS - 对比数据库存储的PS值 - 检查是否使用TTM数据 测试结果(600036招商银行): - 市值: 10579.73亿元 - PS(单期): 6.22倍 - 没有TTM数据,建议重新同步 文件: - scripts/test_ps_calculation_verification.py - PS计算验证程序 - scripts/check_db_data.py - 数据库数据检查工具 6 个月前
docs: 重构文档架构,实现版本化管理 - 将所有架构和智能体文档迁移到 v0.1.13 版本目录 - 删除旧版本文档,避免版本冲突 - 新增文档批量更新和一致性检查脚本 - 完善图结构文档,解释 quick_thinking_llm 和 deep_thinking_llm 的区别 - 更新版本号到 v0.1.13 9 个月前
docs: 添加股票详情页功能文档和测试脚本 - SOLUTION_SUMMARY.md: 问题分析与解决方案总结 - docs/STOCK_DETAIL_REPORTS_FIX.md: 详细技术文档 - docs/STOCK_DETAIL_UI_OPTIMIZATION.md: UI优化文档 - scripts/check_existing_reports.py: 检查现有报告的脚本 - scripts/debug_frontend_api.py: 前端API调试脚本 - scripts/verify_reports_display.md: 验证指南 7 个月前
fix: 导入数据时自动转换日期字段格式 🐛 问题描述: - 导入的数据中日期字段是字符串格式(如 '2025-11-04T09:53:37.640000') - 但代码期望的是 datetime 对象 - 导致报告列表 API 报错:'str' object has no attribute 'tzinfo' ✅ 修复内容: **1. 添加日期字段转换函数** - app/services/database/backups.py: - 新增 _convert_date_fields() 函数 - 自动识别常见日期字段(created_at, updated_at, completed_at 等) - 使用 dateutil.parser 解析日期字符串并转换为 datetime 对象 **2. 在导入时自动转换** - 多集合导入模式:遍历所有文档,转换日期字段 - 单集合导入模式:遍历所有文档,转换日期字段 - 确保导入后的数据格式与数据库期望一致 **3. 常见日期字段列表** - created_at, updated_at, completed_at - started_at, finished_at, deleted_at - last_login, last_modified, timestamp 🎯 预期效果: - 导入数据后,日期字段自动转换为 datetime 对象 - 报告列表 API 不再报错 - 数据格式与直接保存到数据库的格式一致 6 个月前
fix: 修复股票详情页ROE和负债率显示问题+数据库字段统一 7 个月前
修复分析进度bug 7 个月前
修复分析进度bug 7 个月前
feat: 综合更新 - 进度追踪优化、模型能力系统、数据源改进等 ## 主要功能更新 ### 1. 进度追踪系统优化 - 修复进度跳跃问题(从50%直接跳到60%) - 调整手动进度值与RedisProgressTracker步骤权重对齐 - 修复预计总时长不一致问题(elapsed_time + remaining_time estimated_total_time) - 优化时间估算逻辑,确保数学一致性 - 文档: docs/progress_optimization.md, docs/progress_issue_analysis.md, docs/estimated_time_fix.md ### 2. 模型能力分级系统 - 实现模型能力评估和分级(基础/标准/高级/专业) - 添加模型能力管理API和前端界面 - 支持模型推荐和能力验证 - 新增模型能力常量定义 - 文档: docs/model-capability-ui-update.md, docs/model_capability_validation_fix.md ### 3. 操作日志系统改进 - 添加USER_MANAGEMENT操作类型 - 修复修改密码功能重复日志记录问题 - 改进OperationLogMiddleware的操作描述生成 - 统一日志记录机制,避免重复 - 文档: docs/user_management_action_type_fix.md, docs/change_password_duplicate_logs_fix.md ### 4. 数据源和配置优化 - 移除TDX数据源支持 - 修复AkShare导入错误 - 优化Google API代理配置 - 改进Tushare连接错误诊断 - 支持混合Provider模式 - 文档: docs/tdx_removal_complete.md, docs/bugfix_akshare_import_error.md, docs/google_api_proxy_setup.md ### 5. LLM配置和路由改进 - 支持Aggregator聚合模型 - 修复模型配置参数问题 - 改进模型路由逻辑 - 优化Google工具处理器 - 添加模型价格同步功能 - 文档: docs/AGGREGATOR_*.md, docs/model_config_params_fix.md, docs/model_routing_fix.md ### 6. 前端UI改进 - 更新LLM配置对话框 - 改进模型目录管理界面 - 优化单股分析页面 - 添加模型能力展示 - 价格格式优化 - 文档: docs/LLM_CONFIG_UI_UPDATE.md, docs/price-format-update.md ### 7. 日志系统优化 - 分离错误日志和常规日志 - 优化日志格式和输出 - 改进日志管理器 - 文档: docs/error_log_separation.md ### 8. 数据查询和分析优化 - 修复交易日期范围问题 - 解决周末交易数据问题 - 修复MongoDB日期格式bug - 优化研究深度映射 - 文档: docs/trading_date_range_fix.md, docs/weekend_trading_data_issue.md, docs/mongodb_date_format_bug_fix.md ## 新增文档 (30+) - Aggregator支持文档系列 - 各类bug修复文档 - 功能优化文档 - 配置更新文档 ## 新增调试脚本 (20+) - 模型配置测试脚本 - MongoDB连接测试脚本 - Google API测试脚本 - 时间估算测试脚本 - 各类调试工具 ## 删除 - tradingagents/dataflows/providers/china/tdx.py (TDX数据源) ## 统计 - 修改文件: 34个 - 新增文档: 30个 - 新增脚本: 23个 - 删除文件: 1个 7 个月前
feat: 综合更新 - 进度追踪优化、模型能力系统、数据源改进等 ## 主要功能更新 ### 1. 进度追踪系统优化 - 修复进度跳跃问题(从50%直接跳到60%) - 调整手动进度值与RedisProgressTracker步骤权重对齐 - 修复预计总时长不一致问题(elapsed_time + remaining_time estimated_total_time) - 优化时间估算逻辑,确保数学一致性 - 文档: docs/progress_optimization.md, docs/progress_issue_analysis.md, docs/estimated_time_fix.md ### 2. 模型能力分级系统 - 实现模型能力评估和分级(基础/标准/高级/专业) - 添加模型能力管理API和前端界面 - 支持模型推荐和能力验证 - 新增模型能力常量定义 - 文档: docs/model-capability-ui-update.md, docs/model_capability_validation_fix.md ### 3. 操作日志系统改进 - 添加USER_MANAGEMENT操作类型 - 修复修改密码功能重复日志记录问题 - 改进OperationLogMiddleware的操作描述生成 - 统一日志记录机制,避免重复 - 文档: docs/user_management_action_type_fix.md, docs/change_password_duplicate_logs_fix.md ### 4. 数据源和配置优化 - 移除TDX数据源支持 - 修复AkShare导入错误 - 优化Google API代理配置 - 改进Tushare连接错误诊断 - 支持混合Provider模式 - 文档: docs/tdx_removal_complete.md, docs/bugfix_akshare_import_error.md, docs/google_api_proxy_setup.md ### 5. LLM配置和路由改进 - 支持Aggregator聚合模型 - 修复模型配置参数问题 - 改进模型路由逻辑 - 优化Google工具处理器 - 添加模型价格同步功能 - 文档: docs/AGGREGATOR_*.md, docs/model_config_params_fix.md, docs/model_routing_fix.md ### 6. 前端UI改进 - 更新LLM配置对话框 - 改进模型目录管理界面 - 优化单股分析页面 - 添加模型能力展示 - 价格格式优化 - 文档: docs/LLM_CONFIG_UI_UPDATE.md, docs/price-format-update.md ### 7. 日志系统优化 - 分离错误日志和常规日志 - 优化日志格式和输出 - 改进日志管理器 - 文档: docs/error_log_separation.md ### 8. 数据查询和分析优化 - 修复交易日期范围问题 - 解决周末交易数据问题 - 修复MongoDB日期格式bug - 优化研究深度映射 - 文档: docs/trading_date_range_fix.md, docs/weekend_trading_data_issue.md, docs/mongodb_date_format_bug_fix.md ## 新增文档 (30+) - Aggregator支持文档系列 - 各类bug修复文档 - 功能优化文档 - 配置更新文档 ## 新增调试脚本 (20+) - 模型配置测试脚本 - MongoDB连接测试脚本 - Google API测试脚本 - 时间估算测试脚本 - 各类调试工具 ## 删除 - tradingagents/dataflows/providers/china/tdx.py (TDX数据源) ## 统计 - 修改文件: 34个 - 新增文档: 30个 - 新增脚本: 23个 - 删除文件: 1个 7 个月前
feat: 综合更新 - 进度追踪优化、模型能力系统、数据源改进等 ## 主要功能更新 ### 1. 进度追踪系统优化 - 修复进度跳跃问题(从50%直接跳到60%) - 调整手动进度值与RedisProgressTracker步骤权重对齐 - 修复预计总时长不一致问题(elapsed_time + remaining_time estimated_total_time) - 优化时间估算逻辑,确保数学一致性 - 文档: docs/progress_optimization.md, docs/progress_issue_analysis.md, docs/estimated_time_fix.md ### 2. 模型能力分级系统 - 实现模型能力评估和分级(基础/标准/高级/专业) - 添加模型能力管理API和前端界面 - 支持模型推荐和能力验证 - 新增模型能力常量定义 - 文档: docs/model-capability-ui-update.md, docs/model_capability_validation_fix.md ### 3. 操作日志系统改进 - 添加USER_MANAGEMENT操作类型 - 修复修改密码功能重复日志记录问题 - 改进OperationLogMiddleware的操作描述生成 - 统一日志记录机制,避免重复 - 文档: docs/user_management_action_type_fix.md, docs/change_password_duplicate_logs_fix.md ### 4. 数据源和配置优化 - 移除TDX数据源支持 - 修复AkShare导入错误 - 优化Google API代理配置 - 改进Tushare连接错误诊断 - 支持混合Provider模式 - 文档: docs/tdx_removal_complete.md, docs/bugfix_akshare_import_error.md, docs/google_api_proxy_setup.md ### 5. LLM配置和路由改进 - 支持Aggregator聚合模型 - 修复模型配置参数问题 - 改进模型路由逻辑 - 优化Google工具处理器 - 添加模型价格同步功能 - 文档: docs/AGGREGATOR_*.md, docs/model_config_params_fix.md, docs/model_routing_fix.md ### 6. 前端UI改进 - 更新LLM配置对话框 - 改进模型目录管理界面 - 优化单股分析页面 - 添加模型能力展示 - 价格格式优化 - 文档: docs/LLM_CONFIG_UI_UPDATE.md, docs/price-format-update.md ### 7. 日志系统优化 - 分离错误日志和常规日志 - 优化日志格式和输出 - 改进日志管理器 - 文档: docs/error_log_separation.md ### 8. 数据查询和分析优化 - 修复交易日期范围问题 - 解决周末交易数据问题 - 修复MongoDB日期格式bug - 优化研究深度映射 - 文档: docs/trading_date_range_fix.md, docs/weekend_trading_data_issue.md, docs/mongodb_date_format_bug_fix.md ## 新增文档 (30+) - Aggregator支持文档系列 - 各类bug修复文档 - 功能优化文档 - 配置更新文档 ## 新增调试脚本 (20+) - 模型配置测试脚本 - MongoDB连接测试脚本 - Google API测试脚本 - 时间估算测试脚本 - 各类调试工具 ## 删除 - tradingagents/dataflows/providers/china/tdx.py (TDX数据源) ## 统计 - 修改文件: 34个 - 新增文档: 30个 - 新增脚本: 23个 - 删除文件: 1个 7 个月前
feat: 完善混合许可证体系,统一版权信息 专有许可证更新: - 统一版权所有者为 hsliuping - 添加中英双语许可证条款 - 明确法律管辖为中华人民共和国 - 完善联系信息和商业许可说明 许可证文档完善: - 新增 COPYRIGHT.md 版权信息汇总 - 更新 LICENSING.md 许可证详细说明 - 完善 COMMERCIAL_LICENSE_TEMPLATE.md 商业许可证模板 - 添加 scripts/check_license.py 许可证检查工具 混合许可证策略: - 开源组件:Apache 2.0(tradingagents/, cli/, scripts/, docs/ 等) - 专有组件:专有许可证(app/, frontend/) - 商业使用专有组件需要单独授权 所有许可证文件已通过验证检查 7 个月前
feat: 修复配置向导LLM厂家添加接口参数不匹配问题并添加新功能 - 修复App.vue中addLLMProvider调用参数与LLMProvider接口不匹配的问题 - 更新参数映射:provider_key->id, provider_name->display_name, base_url->default_base_url - 添加必需的supported_features字段 - 新增多个配置管理和测试脚本 - 添加使用统计和模型配置相关功能 - 完善文档和问题解决指南 7 个月前
feat: 综合更新 - 进度追踪优化、模型能力系统、数据源改进等 ## 主要功能更新 ### 1. 进度追踪系统优化 - 修复进度跳跃问题(从50%直接跳到60%) - 调整手动进度值与RedisProgressTracker步骤权重对齐 - 修复预计总时长不一致问题(elapsed_time + remaining_time estimated_total_time) - 优化时间估算逻辑,确保数学一致性 - 文档: docs/progress_optimization.md, docs/progress_issue_analysis.md, docs/estimated_time_fix.md ### 2. 模型能力分级系统 - 实现模型能力评估和分级(基础/标准/高级/专业) - 添加模型能力管理API和前端界面 - 支持模型推荐和能力验证 - 新增模型能力常量定义 - 文档: docs/model-capability-ui-update.md, docs/model_capability_validation_fix.md ### 3. 操作日志系统改进 - 添加USER_MANAGEMENT操作类型 - 修复修改密码功能重复日志记录问题 - 改进OperationLogMiddleware的操作描述生成 - 统一日志记录机制,避免重复 - 文档: docs/user_management_action_type_fix.md, docs/change_password_duplicate_logs_fix.md ### 4. 数据源和配置优化 - 移除TDX数据源支持 - 修复AkShare导入错误 - 优化Google API代理配置 - 改进Tushare连接错误诊断 - 支持混合Provider模式 - 文档: docs/tdx_removal_complete.md, docs/bugfix_akshare_import_error.md, docs/google_api_proxy_setup.md ### 5. LLM配置和路由改进 - 支持Aggregator聚合模型 - 修复模型配置参数问题 - 改进模型路由逻辑 - 优化Google工具处理器 - 添加模型价格同步功能 - 文档: docs/AGGREGATOR_*.md, docs/model_config_params_fix.md, docs/model_routing_fix.md ### 6. 前端UI改进 - 更新LLM配置对话框 - 改进模型目录管理界面 - 优化单股分析页面 - 添加模型能力展示 - 价格格式优化 - 文档: docs/LLM_CONFIG_UI_UPDATE.md, docs/price-format-update.md ### 7. 日志系统优化 - 分离错误日志和常规日志 - 优化日志格式和输出 - 改进日志管理器 - 文档: docs/error_log_separation.md ### 8. 数据查询和分析优化 - 修复交易日期范围问题 - 解决周末交易数据问题 - 修复MongoDB日期格式bug - 优化研究深度映射 - 文档: docs/trading_date_range_fix.md, docs/weekend_trading_data_issue.md, docs/mongodb_date_format_bug_fix.md ## 新增文档 (30+) - Aggregator支持文档系列 - 各类bug修复文档 - 功能优化文档 - 配置更新文档 ## 新增调试脚本 (20+) - 模型配置测试脚本 - MongoDB连接测试脚本 - Google API测试脚本 - 时间估算测试脚本 - 各类调试工具 ## 删除 - tradingagents/dataflows/providers/china/tdx.py (TDX数据源) ## 统计 - 修改文件: 34个 - 新增文档: 30个 - 新增脚本: 23个 - 删除文件: 1个 7 个月前
fix: 补充 pyproject.toml 中缺失的 14 个依赖包 问题描述: - 用户反馈安装后运行时出现 ModuleNotFoundError - pyproject.toml 中缺少多个关键依赖包 新增依赖 (14个): 1. 核心框架依赖 - langchain>=0.3.0 (LangChain 核心库) - langchain-core>=0.3.0 (LangChain 核心组件) - pydantic>=2.0.0 (数据验证) - typer>=0.9.0 (CLI 框架) 2. 数据处理依赖 - numpy>=1.24.0 (数值计算) - python-dateutil>=2.8.0 (日期处理) - beautifulsoup4>=4.12.0 (HTML 解析) 3. AI/ML 依赖 - sentence-transformers>=2.2.0 (句子嵌入) - torch>=2.0.0 (PyTorch) - transformers>=4.30.0 (Hugging Face) 4. 工具库依赖 - tenacity>=8.0.0 (重试机制) - urllib3>=2.0.0 (HTTP 客户端) - toml>=0.10.0 (TOML 解析) - streamlit-cookies-manager>=0.2.0 (Cookie 管理) 工具脚本: - scripts/check_missing_dependencies.py - 自动扫描代码中使用的第三方包 - 与 pyproject.toml 对比找出缺失依赖 - 支持包名映射和内部模块过滤 验证结果: - 依赖包总数: 38 52 (+14) - 所有第三方包导入已完整声明 - 运行检查脚本验证通过 影响范围: - CLI 模块 (typer, rich) - Web 模块 (streamlit-cookies-manager, beautifulsoup4) - 核心库 (langchain, numpy, pydantic, torch, transformers) 文档: - docs/fixes/2025-10-21-pyproject-missing-dependencies.md - 详细说明缺失依赖和解决方案 - 依赖包用途说明 - 安装指南和维护建议 6 个月前
feat: 添加 AKShare 股票同步优化工具 新增脚本: 1. scripts/akshare_sync_optimized.py: - 优化的 AKShare 股票同步脚本 - 预加载股票列表缓存,避免重复获取 - 批量处理,显示详细进度和速度 - 失败自动重试机制 - 保存失败列表到文件 - 实时显示 ETA 和处理速度 2. scripts/check_missing_stocks.py: - 检查数据库中缺失的股票 - 对比 AKShare 股票列表与数据库记录 - 识别需要补充同步的股票 - 生成缺失股票报告 3. scripts/akshare_force_sync_all.py: - 强制同步所有股票(忽略缓存) - 适用于数据修复场景 - 支持批量处理和进度跟踪 使用方法: python scripts/akshare_sync_optimized.py python scripts/akshare_sync_optimized.py --batch-size 50 --delay 0.5 python scripts/check_missing_stocks.py python scripts/akshare_force_sync_all.py --batch 100 性能提升: - 同步速度:从 2-3 秒/股 提升到 0.3-0.5 秒/股 - 总耗时:从 4.5 小时降低到 30 分钟(5438 只股票) 7 个月前
feat: 修复配置向导LLM厂家添加接口参数不匹配问题并添加新功能 - 修复App.vue中addLLMProvider调用参数与LLMProvider接口不匹配的问题 - 更新参数映射:provider_key->id, provider_name->display_name, base_url->default_base_url - 添加必需的supported_features字段 - 新增多个配置管理和测试脚本 - 添加使用统计和模型配置相关功能 - 完善文档和问题解决指南 7 个月前
feat: 完善新闻数据同步功能,添加情绪分析和修复关键问题 ## 主要功能 ### 1. AKShare 新闻情绪分析 - 添加情绪分析功能(positive/negative/neutral) - 添加情绪分数计算(-1.0 到 1.0,基于关键词权重) - 添加关键词提取(最多10个财经关键词) - 添加新闻分类(6种类别:公司公告、政策新闻、行业新闻等) - 添加重要性评估(high/medium/low) - 扩展关键词库(积极28个,消极28个) ### 2. Tushare 新闻同步 - 添加新闻数据同步功能 - 支持9个新闻源 - 实现智能去重 - 更新 CLI 工具支持 --sync-items news ### 3. CLI 工具完善 - 修复 cli/akshare_init.py 数据库初始化问题 - 修复 skip_if_exists 逻辑,支持只同步新闻数据 - 修复股票列表查询问题 - 添加数据库连接关闭逻辑,避免资源泄漏 - 添加 --multi-period 和 --sync-items 参数支持 ## Bug 修复 ### 1. MongoDB 文本索引冲突 - 问题:language 字段值 'zh-CN' 不被 MongoDB 文本索引支持 - 解决:移除 language 字段,避免与文本索引冲突 - 结果:所有新闻数据成功保存(20/20,无错误) ### 2. 资源泄漏警告 - 问题:程序退出时未关闭数据库连接,产生 ResourceWarning - 解决:在 finally 块中调用 close_database() - 结果:无 ResourceWarning,连接正确关闭 ### 3. 错误日志改进 - 改进 BulkWriteError 错误日志,显示详细错误信息 - 使用 warning 级别记录错误,便于调试 ## 文档更新 - 新增 docs/NEWS_SYNC_FEATURE.md - 新闻同步功能完整文档 - 新增 docs/NEWS_SENTIMENT_ANALYSIS.md - 情绪分析详细说明 - 更新 docs/MULTI_PERIOD_DATA_SYNC_UPDATE.md 到 v1.4 - 添加功能对比表和使用示例 ## 测试脚本 - 新增 scripts/test_akshare_news_sync.py - AKShare 新闻同步测试 - 新增 scripts/test_news_sync.py - Tushare 新闻同步测试 - 新增 scripts/test_news_sentiment_analysis.py - 情绪分析测试 - 新增 scripts/debug_news_format.py - 新闻格式调试 - 新增 scripts/check_mongodb_data_range.py - 数据范围检查 - 新增 scripts/check_tushare_data_range.py - Tushare 数据范围检查 ## 功能对比 | 功能 | Tushare | AKShare | |------|---------|---------| | 新闻源数量 | 9个 | 2个 | | 情绪分析 | | | | 情绪分数 | | | | 关键词提取 | | | | 新闻分类 | | | | 重要性评估 | | | ## 使用方法 \\\ash # Tushare 新闻同步 python cli/tushare_init.py --full --sync-items news # AKShare 新闻同步 python cli/akshare_init.py --full --sync-items news # 测试情绪分析 python scripts/test_news_sentiment_analysis.py \\\ ## 测试结果 所有测试通过 数据库中已有 69,150+ 条新闻 无错误、无警告 资源正确释放 7 个月前
test: 添加财务数据和新闻数据测试脚本 新增测试脚本: 1. check_mongodb_financial_data.py - 检查 MongoDB 财务数据 - 验证数据存在性 - 检查数据结构 - 测试 mongodb_cache_adapter 2. test_financial_data_flow.py - 测试财务数据获取流程 - 验证 MongoDB 优先级 - 测试数据解析 - 检查降级逻辑 3. test_no_data_error.py - 测试无数据异常处理 - 验证异常抛出 - 确认不使用估算值 - 测试错误信息 4. test_akshare_news.py - 测试 AKShare 新闻接口 - 验证新闻数据获取 - 检查数据时效性 - 测试数据结构 7 个月前
feat: 综合更新 - 进度追踪优化、模型能力系统、数据源改进等 ## 主要功能更新 ### 1. 进度追踪系统优化 - 修复进度跳跃问题(从50%直接跳到60%) - 调整手动进度值与RedisProgressTracker步骤权重对齐 - 修复预计总时长不一致问题(elapsed_time + remaining_time estimated_total_time) - 优化时间估算逻辑,确保数学一致性 - 文档: docs/progress_optimization.md, docs/progress_issue_analysis.md, docs/estimated_time_fix.md ### 2. 模型能力分级系统 - 实现模型能力评估和分级(基础/标准/高级/专业) - 添加模型能力管理API和前端界面 - 支持模型推荐和能力验证 - 新增模型能力常量定义 - 文档: docs/model-capability-ui-update.md, docs/model_capability_validation_fix.md ### 3. 操作日志系统改进 - 添加USER_MANAGEMENT操作类型 - 修复修改密码功能重复日志记录问题 - 改进OperationLogMiddleware的操作描述生成 - 统一日志记录机制,避免重复 - 文档: docs/user_management_action_type_fix.md, docs/change_password_duplicate_logs_fix.md ### 4. 数据源和配置优化 - 移除TDX数据源支持 - 修复AkShare导入错误 - 优化Google API代理配置 - 改进Tushare连接错误诊断 - 支持混合Provider模式 - 文档: docs/tdx_removal_complete.md, docs/bugfix_akshare_import_error.md, docs/google_api_proxy_setup.md ### 5. LLM配置和路由改进 - 支持Aggregator聚合模型 - 修复模型配置参数问题 - 改进模型路由逻辑 - 优化Google工具处理器 - 添加模型价格同步功能 - 文档: docs/AGGREGATOR_*.md, docs/model_config_params_fix.md, docs/model_routing_fix.md ### 6. 前端UI改进 - 更新LLM配置对话框 - 改进模型目录管理界面 - 优化单股分析页面 - 添加模型能力展示 - 价格格式优化 - 文档: docs/LLM_CONFIG_UI_UPDATE.md, docs/price-format-update.md ### 7. 日志系统优化 - 分离错误日志和常规日志 - 优化日志格式和输出 - 改进日志管理器 - 文档: docs/error_log_separation.md ### 8. 数据查询和分析优化 - 修复交易日期范围问题 - 解决周末交易数据问题 - 修复MongoDB日期格式bug - 优化研究深度映射 - 文档: docs/trading_date_range_fix.md, docs/weekend_trading_data_issue.md, docs/mongodb_date_format_bug_fix.md ## 新增文档 (30+) - Aggregator支持文档系列 - 各类bug修复文档 - 功能优化文档 - 配置更新文档 ## 新增调试脚本 (20+) - 模型配置测试脚本 - MongoDB连接测试脚本 - Google API测试脚本 - 时间估算测试脚本 - 各类调试工具 ## 删除 - tradingagents/dataflows/providers/china/tdx.py (TDX数据源) ## 统计 - 修改文件: 34个 - 新增文档: 30个 - 新增脚本: 23个 - 删除文件: 1个 7 个月前
fix: 修复仪表台市场快讯显示为空的问题 问题描述: - 用户报告仪表台的市场快讯区域没有显示任何内容 - 数据库中有 214,288 条新闻数据,但最新的是 12 天前的 - 前端默认查询最近 24 小时的新闻,导致查询结果为空 根本原因: - 数据库中的新闻数据过期(最新的是 2025-10-11,今天是 2025-10-23) - 前端 loadMarketNews() 默认查询最近 24 小时的新闻 - 查询结果为空,导致市场快讯区域显示「暂无市场快讯」 修复方案: 1. 前端智能回退(已实施) - 先尝试获取最近 24 小时的新闻 - 如果结果为空,则回溯 1 年(24 * 365 小时) - 确保即使没有最新新闻,也能显示数据库中最新的 10 条新闻 2. 提供新闻数据检查脚本 - scripts/check_news_data.py:检查数据库中的新闻数据 - 显示新闻总数、数据源统计、最新新闻、最近 24 小时新闻数量 3. 添加详细的修复文档 - docs/fixes/DASHBOARD_MARKET_NEWS_EMPTY_FIX.md - 包含问题分析、解决方案、验证方法、定期同步建议 修复效果: - 用户立即可以看到新闻内容(即使是旧新闻) - 同步最新新闻后,显示实时新闻(运行 scripts/sync_market_news.py) - 定期同步确保新闻数据始终最新 修改文件: - frontend/src/views/Dashboard/index.vue:添加智能回退逻辑 - scripts/check_news_data.py:新增新闻数据检查脚本 - docs/fixes/DASHBOARD_MARKET_NEWS_EMPTY_FIX.md:新增修复文档 6 个月前
feat: 修复配置向导LLM厂家添加接口参数不匹配问题并添加新功能 - 修复App.vue中addLLMProvider调用参数与LLMProvider接口不匹配的问题 - 更新参数映射:provider_key->id, provider_name->display_name, base_url->default_base_url - 添加必需的supported_features字段 - 新增多个配置管理和测试脚本 - 添加使用统计和模型配置相关功能 - 完善文档和问题解决指南 7 个月前
feat: 修复配置向导LLM厂家添加接口参数不匹配问题并添加新功能 - 修复App.vue中addLLMProvider调用参数与LLMProvider接口不匹配的问题 - 更新参数映射:provider_key->id, provider_name->display_name, base_url->default_base_url - 添加必需的supported_features字段 - 新增多个配置管理和测试脚本 - 添加使用统计和模型配置相关功能 - 完善文档和问题解决指南 7 个月前
优化股票筛选视图 6 个月前
test: 添加测试脚本并验证修复效果 6 个月前
feat: 统一 Docker 数据卷配置并清理旧数据卷 - 统一所有 docker-compose 文件的数据卷名称 * docker-compose.hub.yml - 修改为统一数据卷名称 * docker-compose.hub.dev.yml - 修改为统一数据卷名称 * docker-compose.v1.0.0.yml - 修改为统一数据卷名称 * 统一使用: tradingagents_mongodb_data, tradingagents_redis_data - 添加数据卷管理脚本 * cleanup_unused_volumes.ps1 - 清理未使用的数据卷 * switch_and_cleanup_volumes.ps1 - 切换到统一数据卷并清理旧卷 * switch_volumes_simple.ps1 - 简化版切换脚本 * check_old_mongodb_volume.py - 检查旧数据卷内容 - 添加数据卷管理文档 * docker_volumes_analysis.md - 数据卷分析报告 * docker_volumes_unified.md - 数据卷统一配置说明 * volumes_cleanup_completed.md - 数据卷清理完成报告 * switch_to_old_mongodb_volume.md - 切换到旧数据卷的步骤 成果: - 从 20 个数据卷减少到 2 个 - 清理了 18 个无用数据卷(4个 _v1 数据卷 + 14个匿名数据卷) - 所有数据完整保留(15个LLM配置、47个集合) 7 个月前
修复报告详情页没法下单的问题 6 个月前
feat: 修复配置向导LLM厂家添加接口参数不匹配问题并添加新功能 - 修复App.vue中addLLMProvider调用参数与LLMProvider接口不匹配的问题 - 更新参数映射:provider_key->id, provider_name->display_name, base_url->default_base_url - 添加必需的supported_features字段 - 新增多个配置管理和测试脚本 - 添加使用统计和模型配置相关功能 - 完善文档和问题解决指南 7 个月前
fix: 修复缓存查找逻辑 - 按数据库配置的优先级查找缓存 6 个月前
fix: 修复 Redis 连接池配置和 PubSub 连接泄漏的根本原因 问题分析: 1. redis_client.py 中硬编码 max_connections=20 2. .env 中的 REDIS_MAX_CONNECTIONS=200 没有被使用 3. 实际连接池只有 20 个连接,很容易耗尽 4. 旧的泄漏连接还在占用连接池 5. 没有连接健康检查和超时机制 修复内容: 1. app/core/redis_client.py - 使用 settings.REDIS_MAX_CONNECTIONS 而不是硬编码 20 - 使用 settings.REDIS_RETRY_ON_TIMEOUT 配置 - 添加 TCP keepalive 配置,自动检测死连接 - 添加 health_check_interval=30,每 30 秒检查连接健康 - 在日志中显示实际的 max_connections 值 2. scripts/check_redis_connections.py(新增) - 检查 Redis 服务器信息(版本、客户端数、内存等) - 列出所有客户端连接,区分普通连接和 PubSub 连接 - 显示 PubSub 连接详情(地址、年龄、空闲时间、订阅数) - 显示活跃的 PubSub 频道和订阅者数量 - 提供分析和建议(连接数是否正常、是否有泄漏) - 支持 --kill-idle 参数,杀死空闲的 PubSub 连接 技术改进: - socket_keepalive=True: 启用 TCP keepalive - TCP_KEEPIDLE=60: 60秒后开始发送 keepalive 探测 - TCP_KEEPINTVL=10: 每10秒发送一次探测 - TCP_KEEPCNT=3: 最多发送3次探测 - health_check_interval=30: 每30秒检查一次连接健康 使用方法: `ash # 检查 Redis 连接状态 python scripts/check_redis_connections.py # 杀死空闲超过 5 分钟的 PubSub 连接 python scripts/check_redis_connections.py --kill-idle 300 ` 根本解决方案: 1. 修复连接池配置,使用正确的 max_connections 2. 添加连接健康检查,自动清理死连接 3. 提供工具检查和清理泄漏的连接 4. 重启后端服务以应用新配置 5. 如果问题仍然存在,需要重启 Redis 服务清理旧连接 6 个月前
修复分析进度bug 7 个月前
fix: 修复 AKShare 数据源 trade_date 字段格式错误的问题 问题描述: - 用户报告分析任务提示'未找到 daily 数据' - 数据库中存在 82,631 条 trade_date 格式错误的记录 - trade_date 值为 0, 1, 2, 3... 而不是标准日期格式 根本原因: 1. AKShare 返回的 DataFrame 使用 RangeIndex (0, 1, 2, 3...) 2. historical_data_service.py 中 save_historical_data() 使用 data.iterrows() 3. iterrows() 返回 (index, row),index 是 RangeIndex 的值 (0, 1, 2...) 4. _standardize_record() 优先使用 date_index 参数 5. _format_date() 对非日期类型直接 str(date_value) 6. 导致 trade_date 被设置为 '0', '1', '2'... 修复内容: 1. app/services/historical_data_service.py - 修改 _standardize_record() 方法的日期获取逻辑 - 优先从 row 的 'date' 或 'trade_date' 列获取日期 - 只有当列中没有日期且 date_index 是日期类型时才使用索引 - 添加类型检查:isinstance(date_index, (date, datetime, pd.Timestamp)) 2. scripts/check_stock_daily_data.py(新增) - 检查指定股票的 daily 数据 - 显示数据量、周期统计、数据源统计 - 显示最早和最新的数据记录 3. scripts/clean_invalid_trade_date.py(新增) - 清理 trade_date 格式错误的数据 - 使用聚合管道查找长度小于 8 的 trade_date - 批量删除错误数据(已删除 82,631 条) 4. scripts/test_akshare_date_format.py(新增) - 测试 AKShare 返回的日期格式 - 验证 date 列的数据类型 - 检查 DataFrame 索引类型 修复效果: - 新同步的数据 trade_date 格式正确(YYYY-MM-DD) - 查询 daily 数据不再返回空结果 - 分析任务可以正常获取历史数据 - 已清理 82,631 条格式错误的历史数据 技术细节: - AKShare DataFrame: date 列是 datetime64[ns],索引是 RangeIndex - Tushare DataFrame: trade_date 列是字符串,索引可能是日期 - 修复后兼容两种数据源的不同格式 6 个月前
feat: 添加数据维护和测试辅助脚本 新增脚本: 1. scripts/test_akshare_rate_limit.py: - 测试 AKShare API 频率限制 - 验证不同请求间隔的成功率 - 提供最佳请求频率建议 2. scripts/check_stock_daily_quotes_fields.py: - 检查 stock_daily_quotes 集合字段完整性 - 验证 code 和 symbol 字段是否存在 - 生成字段缺失报告 3. scripts/补充行业信息_akshare.py: - 补充股票行业信息 - 使用 AKShare API 获取行业分类 - 更新 stock_basic_info 集合中的 industry 字段 - 支持批量处理和进度跟踪 使用方法: python scripts/test_akshare_rate_limit.py python scripts/check_stock_daily_quotes_fields.py python scripts/补充行业信息_akshare.py python scripts/补充行业信息_akshare.py --limit 100 目的: - 数据质量检查和修复 - API 性能测试和优化 - 补充缺失的业务数据 7 个月前
fix: correct sector field mapping in stock detail page Problem: Stock detail page shows technical identifiers (e.g., 'sz', 'stock_cn') instead of user-friendly board names (e.g., 'Main Board', 'ChiNext', 'STAR Market'). Root Cause: Incorrect field mapping - Wrong: sector = sse (technical identifier 'sz') - Correct: sector = market (board name 'Main Board') Solution: 1. Fix backend API (app/routers/stocks.py) - Before: sector = b.get('sse') or b.get('sec') or b.get('sector') - After: sector = b.get('market') 2. Update test script (scripts/test_stock_fundamentals_enhanced.py) 3. Update documentation (docs/STOCK_DETAIL_FUNDAMENTALS_ENHANCEMENT.md) 4. Add field check script (scripts/check_stock_fields.py) Test Results: - Sector: Main Board (was: sz) - ROE: 4.9497 - Debt Ratio: 91.318 Field Mapping: - Industry: industry -> industry (e.g., Banking) - Sector: sector -> market (e.g., Main Board) - ROE: roe -> financial_indicators.roe - Debt Ratio: debt_ratio -> financial_indicators.debt_to_assets 7 个月前
feat: 添加 Windows 绿色版(便携版)打包支持 - 添加一键打包脚本 build_portable_package.ps1 - 自动清理 MongoDB 调试符号,优化包大小到 330 MB - 添加 Nginx 启动诊断脚本 - 添加绿色版部署文档和安装指南 - 优化启动流程和健康检查 - 首次启动自动导入配置和创建默认用户 6 个月前
feat: 修复配置向导LLM厂家添加接口参数不匹配问题并添加新功能 - 修复App.vue中addLLMProvider调用参数与LLMProvider接口不匹配的问题 - 更新参数映射:provider_key->id, provider_name->display_name, base_url->default_base_url - 添加必需的supported_features字段 - 新增多个配置管理和测试脚本 - 添加使用统计和模型配置相关功能 - 完善文档和问题解决指南 7 个月前
feat: 完善新闻数据同步功能,添加情绪分析和修复关键问题 ## 主要功能 ### 1. AKShare 新闻情绪分析 - 添加情绪分析功能(positive/negative/neutral) - 添加情绪分数计算(-1.0 到 1.0,基于关键词权重) - 添加关键词提取(最多10个财经关键词) - 添加新闻分类(6种类别:公司公告、政策新闻、行业新闻等) - 添加重要性评估(high/medium/low) - 扩展关键词库(积极28个,消极28个) ### 2. Tushare 新闻同步 - 添加新闻数据同步功能 - 支持9个新闻源 - 实现智能去重 - 更新 CLI 工具支持 --sync-items news ### 3. CLI 工具完善 - 修复 cli/akshare_init.py 数据库初始化问题 - 修复 skip_if_exists 逻辑,支持只同步新闻数据 - 修复股票列表查询问题 - 添加数据库连接关闭逻辑,避免资源泄漏 - 添加 --multi-period 和 --sync-items 参数支持 ## Bug 修复 ### 1. MongoDB 文本索引冲突 - 问题:language 字段值 'zh-CN' 不被 MongoDB 文本索引支持 - 解决:移除 language 字段,避免与文本索引冲突 - 结果:所有新闻数据成功保存(20/20,无错误) ### 2. 资源泄漏警告 - 问题:程序退出时未关闭数据库连接,产生 ResourceWarning - 解决:在 finally 块中调用 close_database() - 结果:无 ResourceWarning,连接正确关闭 ### 3. 错误日志改进 - 改进 BulkWriteError 错误日志,显示详细错误信息 - 使用 warning 级别记录错误,便于调试 ## 文档更新 - 新增 docs/NEWS_SYNC_FEATURE.md - 新闻同步功能完整文档 - 新增 docs/NEWS_SENTIMENT_ANALYSIS.md - 情绪分析详细说明 - 更新 docs/MULTI_PERIOD_DATA_SYNC_UPDATE.md 到 v1.4 - 添加功能对比表和使用示例 ## 测试脚本 - 新增 scripts/test_akshare_news_sync.py - AKShare 新闻同步测试 - 新增 scripts/test_news_sync.py - Tushare 新闻同步测试 - 新增 scripts/test_news_sentiment_analysis.py - 情绪分析测试 - 新增 scripts/debug_news_format.py - 新闻格式调试 - 新增 scripts/check_mongodb_data_range.py - 数据范围检查 - 新增 scripts/check_tushare_data_range.py - Tushare 数据范围检查 ## 功能对比 | 功能 | Tushare | AKShare | |------|---------|---------| | 新闻源数量 | 9个 | 2个 | | 情绪分析 | | | | 情绪分数 | | | | 关键词提取 | | | | 新闻分类 | | | | 重要性评估 | | | ## 使用方法 \\\ash # Tushare 新闻同步 python cli/tushare_init.py --full --sync-items news # AKShare 新闻同步 python cli/akshare_init.py --full --sync-items news # 测试情绪分析 python scripts/test_news_sentiment_analysis.py \\\ ## 测试结果 所有测试通过 数据库中已有 69,150+ 条新闻 无错误、无警告 资源正确释放 7 个月前
feat: 默认启用集成缓存策略(MongoDB/Redis) 新增功能: 1. **修改默认缓存策略** - 代码默认值从 'file' 改为 'integrated' - 优先使用 MongoDB 和 Redis 缓存,提升性能 - 自动降级:MongoDB/Redis 不可用时自动使用文件缓存 2. **添加环境变量配置** - .env.example: 添加 TA_CACHE_STRATEGY 配置说明 - .env: 添加 TA_CACHE_STRATEGY=integrated 配置 3. **新增检查脚本** - scripts/check_us_cache_status.py: 检查美股缓存状态 - 显示文件缓存和 MongoDB 缓存的数据量 - 帮助用户了解当前缓存策略和数据分布 解决的问题: - 美股数据只保存文件缓存,不保存 MongoDB 缓存 - 用户不知道如何配置缓存策略 - 缺少缓存状态检查工具 MongoDB 缓存集合说明: - stock_data: 历史行情数据缓存 - fundamentals_data: 基本面数据缓存 - news_data: 新闻数据缓存 - historical_data_us: 历史行情数据(持久化) - stock_basic_info_us: 股票基础信息(持久化) - market_quotes_us: 实时行情数据(持久化) 6 个月前
fix: 修复美股数据源优先级映射 - 字符串键替代枚举键 6 个月前
feat: 修复配置向导LLM厂家添加接口参数不匹配问题并添加新功能 - 修复App.vue中addLLMProvider调用参数与LLMProvider接口不匹配的问题 - 更新参数映射:provider_key->id, provider_name->display_name, base_url->default_base_url - 添加必需的supported_features字段 - 新增多个配置管理和测试脚本 - 添加使用统计和模型配置相关功能 - 完善文档和问题解决指南 7 个月前
fix: 修复 AKShare 数据源 trade_date 字段格式错误的问题 问题描述: - 用户报告分析任务提示'未找到 daily 数据' - 数据库中存在 82,631 条 trade_date 格式错误的记录 - trade_date 值为 0, 1, 2, 3... 而不是标准日期格式 根本原因: 1. AKShare 返回的 DataFrame 使用 RangeIndex (0, 1, 2, 3...) 2. historical_data_service.py 中 save_historical_data() 使用 data.iterrows() 3. iterrows() 返回 (index, row),index 是 RangeIndex 的值 (0, 1, 2...) 4. _standardize_record() 优先使用 date_index 参数 5. _format_date() 对非日期类型直接 str(date_value) 6. 导致 trade_date 被设置为 '0', '1', '2'... 修复内容: 1. app/services/historical_data_service.py - 修改 _standardize_record() 方法的日期获取逻辑 - 优先从 row 的 'date' 或 'trade_date' 列获取日期 - 只有当列中没有日期且 date_index 是日期类型时才使用索引 - 添加类型检查:isinstance(date_index, (date, datetime, pd.Timestamp)) 2. scripts/check_stock_daily_data.py(新增) - 检查指定股票的 daily 数据 - 显示数据量、周期统计、数据源统计 - 显示最早和最新的数据记录 3. scripts/clean_invalid_trade_date.py(新增) - 清理 trade_date 格式错误的数据 - 使用聚合管道查找长度小于 8 的 trade_date - 批量删除错误数据(已删除 82,631 条) 4. scripts/test_akshare_date_format.py(新增) - 测试 AKShare 返回的日期格式 - 验证 date 列的数据类型 - 检查 DataFrame 索引类型 修复效果: - 新同步的数据 trade_date 格式正确(YYYY-MM-DD) - 查询 daily 数据不再返回空结果 - 分析任务可以正常获取历史数据 - 已清理 82,631 条格式错误的历史数据 技术细节: - AKShare DataFrame: date 列是 datetime64[ns],索引是 RangeIndex - Tushare DataFrame: trade_date 列是字符串,索引可能是日期 - 修复后兼容两种数据源的不同格式 6 个月前
feat: 添加开发和运维 PowerShell 脚本及测试环境配置 新增 PowerShell 脚本: 1. scripts/backup_volumes.ps1: - 备份 Docker 数据卷 - 支持 MongoDB 和 Redis 数据备份 2. scripts/restore_volumes.ps1: - 恢复 Docker 数据卷 - 从备份恢复数据库数据 3. scripts/clean_volumes.ps1: - 清理 Docker 数据卷 - 重置开发环境 4. scripts/start_test_db.ps1: - 启动测试数据库环境 - 使用 Docker Compose 管理 5. scripts/stop_test_db.ps1: - 停止测试数据库环境 6. scripts/cleanup_test_env.ps1: - 清理测试环境 - 删除测试数据和容器 7. scripts/switch_to_test_env.ps1: - 切换到测试环境配置 8. scripts/switch_to_prod_env.ps1: - 切换到生产环境配置 9. scripts/start_backend_with_proxy.ps1: - 使用代理启动后端服务 10. scripts/test_akshare_rate_limit.ps1: - PowerShell 版本的 AKShare 频率测试 11. scripts/test_proxy_config.ps1: - 测试代理配置 新增 Docker Compose 配置: 1. docker-compose.hub.test.db-only.yml: - 仅数据库的测试环境配置 - 适用于本地开发 2. docker-compose.hub.test.yml: - 完整的测试环境配置 - 包含所有服务 目的: - 简化开发和测试流程 - 提供环境管理工具 - 支持数据备份和恢复 7 个月前
fix: 清理 MongoDB 重复集合命名问题 - 发现并清理重复的集合命名 * 旧集合: system_config (已废弃) * 新集合: system_configs (正在使用) - 添加清理脚本 * cleanup_old_system_config.py - 清理旧的 system_config 集合 - 添加问题分析文档 * mongodb_collection_naming_issue.md - 集合命名问题分析和解决方案 问题原因: - 历史遗留的命名不一致 - 两个集合同时存在导致混淆 解决方案: - 保留 system_configs (包含完整的 LLM 配置) - 删除 system_config (空集合) - 统一使用复数形式命名 7 个月前
feat: 添加开发和运维 PowerShell 脚本及测试环境配置 新增 PowerShell 脚本: 1. scripts/backup_volumes.ps1: - 备份 Docker 数据卷 - 支持 MongoDB 和 Redis 数据备份 2. scripts/restore_volumes.ps1: - 恢复 Docker 数据卷 - 从备份恢复数据库数据 3. scripts/clean_volumes.ps1: - 清理 Docker 数据卷 - 重置开发环境 4. scripts/start_test_db.ps1: - 启动测试数据库环境 - 使用 Docker Compose 管理 5. scripts/stop_test_db.ps1: - 停止测试数据库环境 6. scripts/cleanup_test_env.ps1: - 清理测试环境 - 删除测试数据和容器 7. scripts/switch_to_test_env.ps1: - 切换到测试环境配置 8. scripts/switch_to_prod_env.ps1: - 切换到生产环境配置 9. scripts/start_backend_with_proxy.ps1: - 使用代理启动后端服务 10. scripts/test_akshare_rate_limit.ps1: - PowerShell 版本的 AKShare 频率测试 11. scripts/test_proxy_config.ps1: - 测试代理配置 新增 Docker Compose 配置: 1. docker-compose.hub.test.db-only.yml: - 仅数据库的测试环境配置 - 适用于本地开发 2. docker-compose.hub.test.yml: - 完整的测试环境配置 - 包含所有服务 目的: - 简化开发和测试流程 - 提供环境管理工具 - 支持数据备份和恢复 7 个月前
feat: 统一 Docker 数据卷配置并清理旧数据卷 - 统一所有 docker-compose 文件的数据卷名称 * docker-compose.hub.yml - 修改为统一数据卷名称 * docker-compose.hub.dev.yml - 修改为统一数据卷名称 * docker-compose.v1.0.0.yml - 修改为统一数据卷名称 * 统一使用: tradingagents_mongodb_data, tradingagents_redis_data - 添加数据卷管理脚本 * cleanup_unused_volumes.ps1 - 清理未使用的数据卷 * switch_and_cleanup_volumes.ps1 - 切换到统一数据卷并清理旧卷 * switch_volumes_simple.ps1 - 简化版切换脚本 * check_old_mongodb_volume.py - 检查旧数据卷内容 - 添加数据卷管理文档 * docker_volumes_analysis.md - 数据卷分析报告 * docker_volumes_unified.md - 数据卷统一配置说明 * volumes_cleanup_completed.md - 数据卷清理完成报告 * switch_to_old_mongodb_volume.md - 切换到旧数据卷的步骤 成果: - 从 20 个数据卷减少到 2 个 - 清理了 18 个无用数据卷(4个 _v1 数据卷 + 14个匿名数据卷) - 所有数据完整保留(15个LLM配置、47个集合) 7 个月前
fix: 同步更新 requirements.txt 与 pyproject.toml 保持一致 主要修改: 1. requirements.txt - 新增 14 个缺失的依赖包(与 pyproject.toml 同步) - 重新组织依赖分类(核心框架、LLM、数据处理、AI/ML等) - 添加版本约束,确保与 pyproject.toml 一致 - 更新文件头部说明,推荐使用 pyproject.toml 2. scripts/compare_requirements.py - 新增依赖对比脚本 - 自动检查 requirements.txt 和 pyproject.toml 的一致性 - 检测缺失包、多余包和版本不一致 新增依赖包: - beautifulsoup4>=4.12.0 - langchain>=0.3.0 - langchain-core>=0.3.0 - numpy>=1.24.0 - pydantic>=2.0.0 - python-dateutil>=2.8.0 - sentence-transformers>=2.2.0 - streamlit-cookies-manager>=0.2.0 - tenacity>=8.0.0 - toml>=0.10.0 - torch>=2.0.0 - transformers>=4.30.0 - typer>=0.9.0 - urllib3>=2.0.0 验证结果: - requirements.txt: 52 个包 - pyproject.toml: 52 个包 - 两个文件完全一致 目的: - 兼容习惯使用 requirements.txt 的用户 - 确保两种安装方式得到相同的依赖 - 便于 CI/CD 和 Docker 构建 6 个月前
初始化问题修复 7 个月前
统一日志系统:将所有print语句替换为标准日志记录 本次大规模重构统一了整个系统的日志记录方式: ## 主要改进内容 ### 1. 核心代理模块 (tradingagents/agents/) - market_analyst.py: 替换print为logger.info/error - fundamentals_analyst.py: 统一日志记录格式 - 所有分析师模块现在使用标准日志系统 ### 2. 数据流模块 (tradingagents/dataflows/) - db_cache_manager.py: 数据库缓存操作日志标准化 - optimized_us_data.py: 美股数据获取日志优化 - 提高数据处理过程的可追踪性 ### 3. Web应用模块 (web/) - app.py: Web应用主程序日志标准化 - components/: 所有组件模块日志统一 - utils/: 工具模块日志记录优化 - 提升Web界面操作的可监控性 ### 4. 工具脚本 (utils/, scripts/) - 所有维护脚本和工具的日志标准化 - 提高系统维护和调试效率 ### 5. 测试模块 (tests/) - 所有测试脚本的日志记录统一 - 便于测试过程的问题定位 ## 技术改进效果 **统一日志格式**: 所有模块使用相同的日志记录标准 **可配置日志级别**: 支持不同环境的日志级别控制 **结构化日志**: 便于日志分析和监控 **性能优化**: 减少不必要的控制台输出 **调试友好**: 提供更详细的上下文信息 **生产就绪**: 符合生产环境日志管理要求 ## 代码质量提升 - 移除了所有临时性的print调试语句 - 建立了统一的错误处理和日志记录模式 - 提高了代码的专业性和可维护性 - 为后续的监控和运维奠定了基础 这次重构显著提升了系统的可观测性和专业化程度。 10 个月前
feat: 添加演示系统部署完整方案 - 添加配置数据导出文件 (install/database_export_config_2025-10-16.json) * 包含 9 个集合、48 个文档 * 包含 15 个 LLM 模型配置 (Gemini, DeepSeek, 千帆, 百炼, OpenRouter) * 不包含历史数据和业务数据 - 添加部署脚本 * deploy_demo.sh - 一键部署脚本 (Bash) * import_config_and_create_user.py - 导入配置并创建默认用户 * create_default_admin.py - 创建默认管理员用户 - 添加部署文档 * deploy_demo_system.md - 完整的部署指南 * import_config_with_script.md - 脚本导入使用说明 * export_config_for_demo.md - 配置导出指南 * demo_deployment_summary.md - 部署方案总结 * install/README.md - 安装目录说明 - 增强前端数据库管理功能 * 添加'配置数据(用于演示系统)'导出选项 * 支持选择性导出 9 个配置集合 * 优化导出文件命名 功能特性: - 支持一键自动化部署 (5-10 分钟) - 支持手动分步部署 - 自动从 install 目录读取配置文件 - 自动创建默认管理员 (admin/admin123) - 支持增量和覆盖两种导入模式 - 完整的文档和故障排除指南 7 个月前
新的前端实现 8 个月前
README.md

Scripts Directory

这个目录包含TradingAgentsCN项目的各种脚本工具,按功能分类组织。

目录结构

📦 setup/ - 安装和配置脚本

  • 环境设置
  • 依赖安装
  • API配置
  • 数据库设置

🔍 validation/ - 验证脚本

  • Git配置验证
  • 依赖检查
  • 配置验证
  • API连接测试

🔧 maintenance/ - 维护脚本

  • 缓存清理
  • 数据备份
  • 依赖更新
  • 上游同步
  • 分支管理

🛠️ development/ - 开发辅助脚本

  • 代码分析
  • 性能基准测试
  • 文档生成
  • 贡献准备
  • 数据下载

🚀 deployment/ - 部署脚本

  • GitHub发布
  • 版本发布
  • 打包部署

🐳 docker/ - Docker脚本

  • Docker服务管理
  • 容器启动停止
  • 数据库初始化

📋 git/ - Git工具脚本

  • 上游同步
  • Fork环境设置
  • 贡献工作流

使用原则

脚本分类

  • tests/ - 单元测试和集成测试(pytest运行)
  • scripts/ - 工具脚本和验证脚本(独立运行)
  • utils/ - 实用工具脚本

运行方式

# 从项目根目录运行
cd C:\code\TradingAgentsCN

# Python脚本
python scripts/validation/verify_gitignore.py

# PowerShell脚本  
powershell -ExecutionPolicy Bypass -File scripts/maintenance/cleanup.ps1

# Bash脚本
bash scripts/git/upstream_git_workflow.sh

目录说明

目录 用途 示例脚本
setup/ 环境配置和初始化 setup_databases.py
validation/ 验证和检查 verify_gitignore.py
maintenance/ 维护和管理 sync_upstream.py
development/ 开发辅助 prepare_upstream_contribution.py
deployment/ 部署发布 create_github_release.py
docker/ 容器管理 start_docker_services.bat
git/ Git工具 upstream_git_workflow.sh

注意事项

  • 所有脚本应该从项目根目录运行
  • 检查脚本的依赖要求
  • 某些脚本可能需要特殊权限
  • 保持脚本的独立性和可重用性

开发指南

添加新脚本

  1. 确定脚本类型和目标目录
  2. 创建脚本文件
  3. 添加适当的文档注释
  4. 更新相应目录的README
  5. 测试脚本功能

脚本模板

每个脚本应包含:

  • 文件头注释说明用途
  • 使用方法说明
  • 依赖要求
  • 错误处理
  • 日志输出