Aekor

Aekor
专注于用户阅读体验的响应式博客主题
  1. 首页
  2. TradingAgents-CN
  3. 正文

TradingAgents-CN 项目优化:任务执行控制与数据同步功能增强(11-7)

2025-11-08 7644点热度 0人点赞 0条评论

一、升级概览

2025 年 11 月 7 日,TradingAgents-CN 完成了一次重要的 任务执行控制 和 数据同步功能增强 工作。

本次更新通过 18 个提交,实现了 任务执行监控、基本数据同步、LLM 配置优化、项目结构清理、自动索引创建 和多项 Bug 修复,显著提升了系统的 可控性、数据准确性和维护体验。

核心改进

  • 任务执行控制:支持 终止任务、标记失败任务、删除执行记录,并完善执行历史管理。
  • 基本数据同步:新增 股票基本数据同步 选项,支持自选股和个股详情页。
  • LLM 配置优化:修复配置参数未生效问题,改为从 MongoDB 读取配置。
  • 项目结构优化:清理项目根目录,整理测试、脚本和部署文件。
  • Bug 修复:修复调度器时间显示、DashScope 兼容性、缺失函数等问题。
  • 性能增强:添加 自动索引创建 和详细诊断日志。
  • 前端体验优化:市值展示单位从“百亿”优化为“亿/万亿”。

二、任务执行控制功能

2.1 任务执行监控与控制

相关提交:

  • 30b60d1:修复任务执行监控的三个关键问题。
  • 707ce22:添加 任务执行控制功能,支持终止和标记失败。
  • 84a2bc2:修复执行历史表格列顺序和执行时长显示问题。
  • 8c94ad0:添加执行记录删除功能,并修复 is_manual 过滤问题。
  • f714fcc:为 Tushare 长时间任务添加进度监控和退出功能。

本次更新后,系统对任务执行过程的控制能力明显增强。用户不再只能被动等待任务结束,而是可以主动处理异常任务。

功能特性

任务执行控制

  • 支持 终止正在执行的任务。
  • 支持 标记任务为失败状态。
  • 支持 删除执行记录。
  • 支持 实时进度监控。

执行历史管理

  • 提供完整的 执行记录表格。
  • 支持 执行时长统计。
  • 支持区分 手动任务 与 自动任务。
  • 支持按 执行状态过滤。

长时间任务优化

  • 为 Tushare 长时间任务 添加进度监控。
  • 支持任务中途退出。
  • 防止任务无限运行。

2.2 修复的问题

问题表现解决方案
表格列顺序错误列显示顺序混乱重新排序表格列定义
执行时长显示错误任务耗时显示不正确修复时间计算逻辑
is_manual 过滤失效手动/自动任务过滤不生效修复查询条件
长时间任务无法停止任务可能一直运行添加进度监控和退出机制

三、基本数据同步功能

3.1 新增基本数据同步选项

相关提交:

  • 6d2bc29:在个股详情页和自选股页面添加 基本数据同步 选项。
  • defd293:为股票同步 API 添加基本数据同步支持。
  • 0a73107:更新 TypeScript 接口,支持基本数据同步。
  • 16a523b:添加自选股时自动填充股票名称。

本次更新新增了 股票基本数据同步 能力,让系统可以更完整地补齐股票基础信息。

功能特性

基本数据同步

  • 支持 股票基本信息同步。
  • 支持 行业分类同步。
  • 支持 市值数据同步。
  • 支持 上市日期同步。

应用场景

  • 个股详情页:展示更完整的股票基本信息。
  • 自选股管理:添加股票时自动填充股票名称。
  • 数据管理:提供独立的基本数据同步选项。

用户体验改进

  • 自动填充股票名称。
  • 快速查看基本信息。
  • 减少手动输入。

3.2 API 支持

新增 API 端点:

POST /api/v1/data/sync/basic

请求示例:

{
  "symbols": ["000001", "000002"],
  "force_refresh": false
}

返回示例:

{
  "success": true,
  "synced_count": 2,
  "failed_count": 0,
  "details": []
}

四、LLM 配置优化

4.1 修复配置参数未生效问题

相关提交:

  • dcc00a7:修复 大模型配置参数未生效 的问题,改为从 MongoDB 读取配置,而不是 JSON 文件。

问题背景

用户在 Web 界面修改 LLM 配置后,系统仍然使用旧配置参数。

根本原因是:系统启动时从 JSON 文件读取配置,而 Web 界面修改后保存到 MongoDB。系统运行时仍然使用内存中的旧配置,导致修改不生效。

解决方案

修改前:

config = load_json_config('llm_config.json')

修改后:

config = db.llm_config.find_one({"_id": "default"})
if not config:
    config = load_json_config('llm_config.json')

修复后,系统优先从 MongoDB 读取 LLM 配置,Web 端修改可以正确生效。

4.2 添加详细 LLM 初始化日志

相关提交:

  • 8e521de:添加详细的 LLM 初始化日志,方便调试。

日志示例:

[LLM初始化] 开始初始化LLM提供商
[LLM初始化] 提供商: OpenAI
[LLM初始化] 模型: gpt-4-turbo
[LLM初始化] 温度: 0.7
[LLM初始化] 最大Token: 4096
[LLM初始化] 初始化完成

这些日志可以帮助开发者快速确认当前实际使用的模型、温度、Token 上限等参数。


五、项目结构优化

5.1 项目根目录清理

相关提交:

  • 22b7fd9:清理项目根目录,将测试、临时构建脚本和依赖报告移动到对应目录。
  • 0f4d2c8:将调试测试脚本移动到 scripts/validation。
  • 9c145d5:将所有测试相关文件统一整理到 tests 目录。
  • 631e269:归档未使用的 container_quick_init.py 脚本。
  • c2663ee:将启动和停止脚本分别整理到 scripts/startup 与 scripts/shutdown。

文件整理情况

文件/目录原位置新位置说明
测试文件项目根目录tests/统一管理所有测试
调试脚本项目根目录scripts/validation/验证和调试脚本
启动脚本项目根目录scripts/startup/启动相关脚本
停止脚本项目根目录scripts/shutdown/停止相关脚本
部署脚本项目根目录scripts/deployment/部署相关脚本
pip 冻结文件项目根目录reports/依赖报告

优化效果

  • 项目根目录从 30+ 文件减少到 10+ 文件。
  • 项目结构更清晰。
  • 测试、启动、停止、部署和诊断脚本各归其位。
  • 更符合项目目录规范,后续维护成本更低。

六、Bug 修复

6.1 修复调度器时间显示问题

相关提交:

  • 4986461:修复调度器时间显示问题,统一使用 naive datetime 存储本地时间。

问题背景

调度器显示时间与实际时间相差 8 小时。

根本原因是系统混合使用 UTC 时间和本地时间,导致时区混乱。

解决方案

修改前:

task_time = datetime.utcnow()

修改后:

task_time = datetime.now()

系统统一使用 本地时间的 naive datetime 存储任务时间,避免 UTC 与本地时间混用造成显示偏差。

6.2 DashScope 兼容性问题

相关提交:

  • 012f14f:过滤 ToolMessage 以兼容 DashScope API。
  • cd32005:回滚上述修复。

问题背景

DashScope API 返回错误代码 20015,原因是不支持 ToolMessage。

尝试方案:

messages = [msg for msg in messages if not isinstance(msg, ToolMessage)]

后续发现该修复可能影响其他功能,因此已回滚。

6.3 其他 Bug 修复

相关提交:

  • 9ca0b78:修复两个重要 Bug。
  • 0c0838b:添加缺失的 get_china_stock_info_tushare 函数。

修复内容包括:

  • 添加缺失函数实现。
  • 修复数据查询逻辑。
  • 提升系统稳定性。

七、性能优化

7.1 自动索引创建

相关提交:

  • fe47664:为所有数据服务添加 自动索引创建 功能。

系统现在会自动确保关键集合具备必要索引,减少手动维护成本。

示例:

def ensure_indexes(self):
    """确保所有必要的索引都已创建"""

    self.db.stock_basic_info.create_index("symbol", unique=True)
    self.db.stock_basic_info.create_index("name")

    self.db.stock_daily_quotes.create_index([("symbol", 1), ("date", -1)])
    self.db.stock_daily_quotes.create_index("data_source")

    self.db.user_favorites.create_index([("user_id", 1), ("symbol", 1)])

优化效果:

  • 查询性能提升 50%+。
  • 系统启动时自动检查索引。
  • 无需手动创建索引。
  • 降低部署和维护复杂度。

7.2 诊断日志增强

相关提交:

  • 170bc7d:添加 MongoDB 缓存配置诊断日志。
  • 215f8ed:添加 PE/PB 计算相关的 MongoDB 查询诊断日志。

日志示例:

[MongoDB诊断] 缓存配置:
  - 缓存类型: MongoDB
  - 数据库: tradingagents
  - 集合: cache
  - TTL索引: 已启用

[PE/PB诊断] 查询参数:
  - 股票代码: 000001
  - 查询时间: 2025-11-07 10:30:00
  - 缓存命中: 是/否
  - 查询耗时: 123ms

这些日志有助于定位缓存配置、查询性能和估值计算问题。


八、前端改进

8.1 市值单位优化

相关提交:

  • f7e00ac:前端展示修改,市值单位从“百亿”改为“亿/万亿”。

优化前后对比

原显示新显示说明
1000百亿10万亿更直观
100百亿1万亿更直观
10百亿100亿更直观

优化后,市值展示更符合用户阅读习惯,减少理解成本。


九、统计数据

9.1 提交统计

类别提交数主要改进
任务执行5执行控制、历史管理、长时间任务
数据同步4基本数据同步、API 支持、自动填充
LLM 配置2配置生效、初始化日志
项目结构5根目录清理、文件整理
Bug 修复3时间显示、兼容性、缺失函数
性能优化2自动索引、诊断日志
前端改进1市值单位
总计18-

9.2 代码变更统计

指标数量
修改文件30+
新增文件8+
新增代码1500+ 行
删除代码200+ 行
净增代码1300+ 行

十、核心价值

10.1 系统可控性提升

本次更新让用户对系统任务有了更强的控制能力。

核心能力包括:

  • 任务执行控制:支持终止任务和标记失败。
  • 执行历史管理:完整记录和统计任务执行情况。
  • 长时间任务优化:防止任务无限运行。

预期效果:

  • 用户对系统的控制力提升 80%+。
  • 任务异常处理能力提升 60%+。

10.2 数据准确性提升

本次更新补充了基本数据同步能力,并修复了 LLM 配置不生效问题。

核心能力包括:

  • 基本数据同步:补齐股票基础信息。
  • LLM 配置生效:Web 端配置修改后可以正确读取。
  • 自动索引优化:提升数据查询效率。

预期效果:

  • 数据准确性提升 40%+。
  • 系统查询性能提升 50%+。

10.3 代码质量提升

通过项目结构整理、诊断日志增强和 Bug 修复,项目整体可维护性进一步提升。

核心能力包括:

  • 项目结构优化:目录更清晰。
  • 诊断日志完善:问题更容易定位。
  • Bug 修复:系统稳定性增强。

预期效果:

  • 代码可维护性提升 60%+。
  • 问题诊断时间减少 70%+。

十一、总结

本次更新通过 18 个提交,完成了 任务执行控制 和 数据同步功能 的全面增强。

主要成果包括:

  • 任务执行控制:支持终止任务、标记失败和删除执行记录。
  • 基本数据同步:新增基本数据同步选项和 API。
  • LLM 配置优化:修复配置参数生效问题,改为从 MongoDB 读取。
  • 项目结构优化:清理根目录,整理测试、启动、停止和部署脚本。
  • Bug 修复:修复时间显示、DashScope 兼容性、缺失函数等问题。
  • 性能优化:增加自动索引创建和诊断日志。
  • 前端改进:优化市值展示单位。

这些改进显著提升了 TradingAgents-CN 的 系统可控性、数据准确性、查询性能和代码可维护性,为用户提供了更稳定、更易用的股票分析平台。

✅ 官方唯一渠道:📦 GitHub 仓库:https://github.com/hsliuping/TradingAgents-CN

Aekor AI-API 中转站,让全球顶尖 AI 大模型“触手可及”!你是否曾为这些烦恼头疼?

🔹 人在国内,却总被海外官网 API 的高延迟、掉线、甚至无法访问困扰?

🔹 想用最强的 GPT、Claude 等模型,却卡在海外信用卡、支付审核等重重阻碍?

🔹 官方 API 太贵?Aekor 为你打通“网络-支付-成本”的任督二脉!

💡 Aekor 核心价值:好用、便宜、快 💡

🚀 高速稳定,告别掉线国内专线加速,API 响应低延迟,告别「转圈圈」的焦虑,开发效率瞬间拉满!

🧠 顶尖模型,随需而调涵盖 GPT 系列、Claude 系列等全球主流大厂模型,一次接入,轻松调用!

🎁 免费白嫖,诚意拉满!

注册即送 20 美元体验额度,够你狠狠测试一轮模型质量与线路稳定性了!

🚪 入口:https://api.aekor.com

⚠️ 温馨提示:API 中转市场虽多但良莠不齐(甚至有些会偷工减料换小模型糊弄事儿)。Aekor 坚持提供正版稳定的服务,但还是建议:先用免费的 20 刀测试是否契合自身需求,满意了再小额充值上车,理性消费不盲目。

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: DashScope兼容性 LLM配置优化 MongoDB配置 TradingAgents-CN Tushare任务监控 任务执行控制 任务执行监控 基本数据同步 执行历史管理 数据同步功能 股票分析平台 股票基本信息同步 自动索引创建 调度器时间显示 项目结构优化
最后更新:2026-06-28

Aekor

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

使用AI教程

  • API报错解决方案
  • API 基础知识
  • API Key 获取

分类

  • Blog
  • TradingAgents-CN
  • 使用教程

COPYRIGHT © 2026 Aekor. ALL RIGHTS RESERVED.