Skip to content

TradePilot AI v1.0.2 — 基于 v1.0/v1.0.1 的重大修复(含业务闭环)

Choose a tag to compare

@MLINK-70 MLINK-70 released this 15 Aug 14:38
· 7 commits to main since this release

🔴 重大修复说明

本版本基于 v1.0 与 v1.0.1,系统性修复了数据准确性、数据可信度、业务闭环与安全加固问题。

1. 数据准确性(UN Comtrade 聚合重大修复)

核心结论:UN Comtrade 原始接口的"明细行"不能直接求和。 平台按 customsCode(贸易方式)和 motCode(运输方式)把同一笔贸易拆成多条 + 成对重复行。此前所有"清洗"都在不理解字段语义的情况下进行,导致贸易额严重失真。

问题 根因 修复
德国进口 8525 被算成 55.07 亿(真实 6.88 亿,差 8 倍) 22 行明细直接求和 去重 + 取 customsCode=C00 且 motCode=0 唯一记录为总额;无则报错拒绝(宁缺勿错)
"mot=0 优先"仍错(27.5 亿) 只过滤 mot 仍保留 customsCode 拆分行 双条件同时命中
出口 vs 进口镜像不一致(4 倍差) 两国上报口径真实差异 标记 Suspicious,不覆盖替换(三态质量模型)
500 条截断被当完整结果 截断检测在过滤后 移到过滤前,触顶拒绝
preview/formal 切换旧缓存命中 缓存键无模式维度 缓存键加 mode
SEC 财务单位错误(苹果 0.00 亿) 百万美元当美元 SEC_VAL_SCALE=1e6
印度编码 699→356 UNCTAD 内部码 改 M49 标准码
索尼年报取不到 20-F + 百万日元 按公司配置 (form, 币种, 倍数)

2. 数据层架构收口(可信可追溯)

  • 数据血缘:trade_cache 新增 source/raw_count/clean_count/quality/reason/schema_version,每个数字可追溯来源
  • DataGate 总闸:rejected 数据禁止进入分析,AI 只解释数据不判定可信度
  • 四态质量:valid / suspicious / invalid / rejected(空数据 ≠ 数据没找到)
  • 计算审计 _audit:TC/份额公式展开 + 三腿质量,排查数字问题直接看审计字段
  • 数据新鲜度:前端 🟢🟡🟠🔴 徽章
  • REJECTED 防线:截断/C00 缺失留痕拒绝,不伪装成"暂无数据"

3. 🚀 业务闭环(销售漏斗 / 定价建议 / 我的订阅)

📈 销售漏斗:客户线索状态管理(new→sent→replied→quoted→won/lost),检索自动入库、状态流转白名单校验、漏斗看板

💰 定价建议:数据驱动定价(出口单价 + 市场进口均价 → 建议区间,AI 不参与算术),带 DataGate 血缘审计

📌 我的市场订阅:关注 (产品→市场) 组合,一键刷新看出口额变化(📈/📉)

🤖 AI 质量注入:数据置信度总览(✅可信/⚠️存疑/❌拒绝)+ 引用可信基础纪律 + 市场总进口作为市场规模推算底数

4. 安全与健壮性(多轮排查 36+20+13 处)

  • XSS 修复(chart-meta 纯 DOM)、Docker 密钥泄漏(.dockerignore)、422 错误可读化
  • SEARCH_BASE_URL 校验(带 Key 外发防线)、get_latest_year 429 熔断、Word COM 45s 超时
  • get_latest_year UnboundLocalError(熔断变量遮蔽)、同国查询明确报错(市场分析放开/贸易页拦截)
  • LLM 缓存 key 规范化(大小写双缓存烧 token)、AI HS 解析失败留痕
  • 静默失败排查(value=0 伪装修复 + 8 处日志)、计算审计、新鲜度

5. 测试

129 项 pytest 全绿(含脏数据 8 case、DataGate、血缘、定价、熔断、同国守卫、置信度总览等回归)