Skip to content

Releases: skloxo/TideTrading

v1.7.5.7 - A2A Concurrency & Cancel optimization

Choose a tag to compare

@skloxo skloxo released this 09 Jul 15:12

🚀 What's New

  • Asynchronous Execution: Replaced blocking subprocess.run with asyncio.create_subprocess_exec in VTAgentExecutor.execute.
  • Concurrency dict: Introduced self._running_processes to track and manage running subprocess instances concurrently.
  • SIGTERM/SIGKILL Cleanup: Implemented secure cascading cancellation using process.terminate() and process.kill() with asyncio.shield to avoid zombie processes.
  • Unit Tests: Added comprehensive test cases in agent/tests/test_a2a_server.py covering timeout, concurrency, execution, and cancellation flows.

v1.7.2 — 项目独立 · 数据底座全面重建 · 品牌双语统一 · 首页视觉升级

Choose a tag to compare

@skloxo skloxo released this 02 Jul 15:48

🚀 v1.7.2 发布说明

发布时间:2026-07-02 | 版本类型:Major Feature Release(含 v1.7.0 & v1.7.1 全量内容)

⚠️ 本版本为 v1.6.0 之后第一个正式 Tag,完整涵盖 v1.7.0 与 v1.7.1 阶段的所有工作。


🏗️ 项目独立与正名(v1.7.0)

  • 正式从上游 Fork 独立:项目从 �ibe-trading 上游 Fork 中独立出来,以自主的版本号体系(�x.y.z 语义化版本,历史对照:�0.1.10.cnx.1.x → �1.x.0)开展后续迭代。
  • 全项目品牌重命名:代码库、文档、Docker 镜像、路由配置、README 等全平台完成从 VibeTradingCNX → TideTrading(潮汐投研) 的品牌重命名,消除上游命名依赖。
  • 上游同步追踪机制:新增 sync-upstream.sh 跟踪脚本与
    ef-upstream 远程别名,建立本地开发与上游社区贡献之间的清晰隔离边界。
  • Docker 入口点与路径修正:修复 Dockerfile 中的入口点(entrypoint)配置与 /app/home 挂载路径,保证容器热升级后前端静态资源正确服务。
  • 项目独立清理:删除调试脚本,scratch/ 加入 .gitignore,CONTRIBUTING.md / README.md 全面重写为 TideTrading 视角。

📦 数据底座全面重建(v1.7.1)

🔴 A 股行情与持久化数据链

  • 通达信二进制行情高速冷启动导入:编写本地 .day 二进制行情文件导入器,摆脱外网限流与 IP 封禁,以 SQLite WAL 模式实现平均每秒 2.8 万条 的高速增量回填,累计为量化底座注入 510 万+ 条 历史日线数据;新增对北交所(�j)及概念题材板块指数(ds)的全套数据支持。
  • 写锁防死锁保护机制:冷启动写入期间,盘中看板或回测对同一 DB 的并发读请求遇到 database is locked 时自动跳过写冲突,保证大屏和回测服务全天候可用。
  • 腾讯实时行情分批(Chunk)抓取:将大容量自选股列表自动切分为 50 只为一组的分批请求,规避 COUNT: 289+ 超长 URL 被服务器拒绝的异常,保证秒级折线图与变动率完美刷新。

🟢 多租户数据库路由解耦

  • 共享/私有双层数据库路由解耦:股票基础元数据、全市场历史 K 线数据统归于共享库 stocks_market.db(回测/盘中读取强制只读模式防止锁竞争),用户自选股(watchlist)与回测运行轨迹严格物理隔离于租户库 stocks_<tenant_id>.db。
  • 本地 SQLite 占位符一键清洗脚本:集成
    epair_local_db_names.py,自动将 Watchlist / stock_meta 表中的 Stock xxx、股票xxxxxx、纯数字代码等临时占位名称批量替换为真实中文股票简称,实现本地数据层自愈。

🌐 大屏卡片视觉重构

  • 全卡片玻璃态去重重构:全面清理所有面板子组件(自选股、涨停板、游资、持仓、舆情监控、思考时间轴、智能终端等)的冗余白底及独立边框,将背景、圆角、遮罩与悬浮发光样式统一收拢至 ReactGridLayout 外层父容器(亮色:�g-card/90 border-slate-200/80 rounded-xl),根除双重框线与黑三角裁切泄露问题。
  • 仿真控制台双色主题适配:亮色/暗色模式下的日志控制台完美适配,亮色采用护眼灰底 + 高对比度等级文本,彻底消除黑块突兀视觉问题。
  • 首屏 i18n 中文默认拦截:首次访问自动预设 zh-CN,确保 100% 呈现中文看板大屏。

🔒 安全依赖修复

  • Dependabot CVE 修复:修复多个安全漏洞:langchain / langchain-core / langchain-openai 升级至 >=1.3.9,pydantic-settings 升级,前端 echarts / �ite 版本锁定修复。
  • SwarmAgentSpec 属性修复:修复
    ame 属性缺失导致 Swarm 初始化崩溃的 Bug。

🎨 i18n 品牌双语统一 & 首页视觉升级(v1.7.2 新增)

🌐 i18n 品牌命名分层统一

全平台落实「常用名 / 英文名」双语规范:

  • 中文模式(zh-CN):侧边栏、首页英雄区、大屏 Header、仿真终端、Footer 等所有位置统一展示 潮汐投研
  • 英文模式:自动切换为 TideTrading,彻底消除中英混合展示状态

🎨 首页视觉全面升级(蓝图视觉规范落地)

模块 升级内容
英雄区 超大渐变标题(橙→琥珀)、三色霓虹光晕(橙/青/粉)、双 CTA 按钮、实时行情 Ticker(宁德时代/茅台/比亚迪等,绿涨红跌符合A股配色铁律)
特性卡片 玻璃态容器 �ackdrop-blur-sm + 四色霓虹主题(青/橙/品红/琥珀)+ Hover 角落发光特效
LLM 编排 霓虹彩色数字圆环区分四步骤,整体置于毛玻璃背景卡片
A/H 数据链 A股玫瑰红霓虹主题(符合A股铁律),港股青色霓虹主题(赛博朋克),双卡带 Hover 发光阴影
路线图 发光时间线节点(�nimate-pulse),双栏已完成 vs 规划蓝图对照布局

📺 大屏 Header 品牌双语

  • 中文:潮汐投研 · 量化工作站 / 实时多智能体量化看板
  • 英文:TIDETRADING QUANT STATION / Real-time Multi-Agent Quant Dashboard

🔧 技术变更摘要

文件 变更
rontend/package.json 1.7.1 → 1.7.2
rontend/src/pages/Home.tsx 全量视觉重写
rontend/src/components/layout/Layout.tsx i18n 品牌双语
rontend/src/pages/GlobalDashboard.tsx 大屏 Header i18n
Dockerfile 入口点 & 路径修正
docker-compose*.yml 容器配置对齐
�gent/scripts/repair_local_db_names.py 新增 SQLite 清洗脚本
pyproject.toml 依赖安全版本锁定
README.md v1.7.2 动态插入,v1.7.1 折叠

📦 升级方式

v0.1.10.cnx.1.5 - 同花顺自选双向同步与秒级自选盯盘及收盘自愈系统

Choose a tag to compare

@skloxo skloxo released this 30 Jun 19:51

v0.1.10.cnx.1.5 — 同花顺自选双向同步、秒级自选盯盘与收盘对账自愈系统版本发布

本次版本(v0.1.10.cnx.1.5)深度完善了自选股同步系统、实时行情监控和日常数据维护机制,提供了从高频盯盘到盘后校准、自愈的全链路支持:

🔄 同花顺自选股双向同步优化

  • 双向差分对账:实现基于本地与云端差分自动计算的真双向同步(新增/删除),且日常轮询中只有在发生本地变更时才调用写接口,最大限度规避超频限制。
  • 自适应时间段调频
    • 📈 交易日盘中(周一至五 09:30 - 15:00)—— 每 5 分钟自动对账同步。
    • 🌙 盘前/盘后及周末 —— 每 30 分钟自动降频轮询。
  • 前端 UX 重构
    • 新增「立即同步自选股」手动同步按钮与同步成功自选数反馈。
    • 标签处增加「✓ 已配置」、「✓ 已保存」绿色指示徽章。
    • 将 Checkbox 替换为醒目的红色「清除 Cookie」二次确认按钮。
    • 增加了折叠面板详细解释自动同步的机制与规则。

🚨 自选股秒级实时盯盘预警 (watchlist_monitor.py)

  • 秒级高频监控:在交易时间内,以极高频的轮询监控所有租户的自选股最新价格波动。
  • 共享降载总线:基于 SharedMemoryHub 共享内存获取实时行情,防止并发轮询时通达信接口超频封禁 IP。
  • 即时警报推送:当股价波动或指标触及设定的预警规则时,自动将消息推送至配置的飞书/微信通道。

🧹 收盘数据维护与 Gap Healing 对账自愈 (close_maintenance.py)

  • 每日自动收盘任务:每天 15:35 自动扫描各租户 DB,补全当日收盘的主力资金、两融杠杆、行业板块映射等全量数据。
  • Gap Healing 对账自愈:在系统/容器启动时自动触发初次收盘维护,确保停机期间可能缺失的数据能被瞬间追平自愈。

📈 历史K线/元数据补全 (initialize_history_data.py)

  • 支持为各租户 DB 自动回填历史 A 股日K线、周K线及股票元数据。
  • 封装并集成东财反爬匿名流签名计算与指纹随机伪装算法,实现安全批量的历史数据调取。

🐛 缺陷修复

  • 修复 HTTP 500 崩溃:彻底修复多租户 Cookie 挂载在 Python 3.11 冻结模块 os.environ.pop 时 KeyError 导致的 HTTP 500 错误。

v0.1.10.cnx.1.4

Choose a tag to compare

@skloxo skloxo released this 30 Jun 14:35

变更目标

  • 实现平台级公用数据共享缓存层(SharedMemoryHub),防止多租户高并发访问时通达信服务器频繁封禁 IP 的隐患。
  • 绑定缓存单例到系统的生命周期事件(FastAPI startup/shutdown),实现平滑无感启动与销毁。
  • 对接 A 股交易时间的自动刷新调频逻辑,在交易时间开启高频刷新,非交易时间降低频率。
  • 修复测试用例 Mock 依赖以及路径常数映射问题,保证单元测试全量绿色通过。

变更明细

  1. 共享行情缓存层 (SharedMemoryHub)
    • 设计了线程安全的全局单例 SharedMemoryHub,行情缓存有效时间(TTL)配置为 3 秒,个股活跃判定为 30 秒。
    • 实现了后台轮询守护线程 _refresh_loop,常驻指数包括上证指数、深证成指、创业板指等。在 A 股交易时间(9:15-11:30,13:00-15:00)以 3 秒间隔轮询刷新缓存,其余非交易时间则自动降频到 60 秒轮询。
  2. API 拦截与重构
    • /api/quote/realtime/api/quote/realtime/{code} 的数据来源重构路由至 SharedMemoryHub().get_quotes,实现对高频网络调用的拦截过滤。
  3. 生命周期集成
    • SharedMemoryHub 绑定到 @app.on_event("startup")@app.on_event("shutdown") 钩子中,随服务同周期起停。
  4. 路径常数对齐与测试修复
    • 解决了 api_server.pySESSIONS_DIRRUNS_DIRUPLOADS_DIR 的前缀多一级目录分叉。在模块加载时使用核心 path 动态获取结果对常量进行初始化,在测试中依旧返回 monkeypatch 篡改值。
    • 修复了 test_tdx_bridge.py 中由于 API 行情层被 Hub 拦截导致的 mock 遗漏报错。

验证结果

  • 本地核心单元测试套件全部通过:test_shared_data_hub.py (5 passed), test_tdx_bridge.py (5 passed), test_monitor_api.py (3 passed), test_settings_api.py (11 passed)。
  • 容器实机 curl 验证,API 返回 401 鉴权正常,没有进程阻滞和挂起。

v0.1.10.cnx.1.0 - Vibe-Trading-CNX A股与港股智能交易多维分析工作站

Choose a tag to compare

@skloxo skloxo released this 29 Jun 02:45

Release v0.1.10.cnx.1.0 - Vibe-Trading-CNX A股与港股智能交易多维分析工作站

这是 Vibe-Trading-CNX 定制化分支版本的第一个正式发布版!本项目深度聚焦于 A股与港股市场,在技术指标与智能量化的基础上,重点强化了情绪面(雪球网舆情监控)、资金面(主力大单流向)、基本面(题材复盘)以及多通道通知与安全沙箱机制

🚀 新功能与重大更新

1. 项目全面品牌重命名与定制 (Vibe-Trading-CNX)

  • 运行时目录无缝迁移:数据根目录从原来的 ~/.vibe-trading 全面升级为 ~/.vibe-trading-cnx,包含配置、会话记录、缓存以及研究运行结果。
  • 前端与 CLI 全面包名升级:前端项目名更改为 vibe-trading-cnx-frontend,CLI 命令行入口注册为 vibe-trading-cnxvibe-trading-cnx-mcp
  • A股/港股汉化深度精细化:包含首屏量化应用范式模板、因子库类型主题、相关性热力图组件等的精细化中文本土化配置。

2. 微信 iLink 与企业微信网关深度集成 (WeChat iLink)

  • 登录会话状态与 Token 磁盘持久化:将 context_token 等状态由内存更改为磁盘 JSON 持久化,解决重启或平台重载后 proactive 主动消息被微信静默屏蔽的难题。
  • 主动投递逻辑退避优化:登录绑定/状态检测接口增加最大 10 秒的多轮退避轮询机制,确保背景 poller 接收到微信官方确认事件并在绑定成功后第一时间安全发送量化欢迎语。

3. 多租户安全沙箱与非回环 CORS 限制加固

  • 多租户安全数据沙箱:将不同租户的文件和会话内容严格限制在专属物理子目录,并在非默认租户下阻断任意 Bash 提权操作。
  • 远程 UI 跨域改写放行:优化了 _is_loopback_origin 校验逻辑,将 API_ALLOWED_HOSTS 中的公网/局域网可信 IP 自动纳入放行范围,彻底解决了远程访问设置页面提交修改时报 Cross-site request denied 拦截的安全问题。
  • 兼容性向前软链:Dockerfile 中部署了 /home/vibe/.vibe-trading -> /home/vibe/.vibe-trading-cnx 软链接守护,存量历史数据无缝向前平滑升级。

v0.1.10-s3: 多租户隔离沙箱加固与局域网Host头可信安全提权

Choose a tag to compare

@skloxo skloxo released this 26 Jun 08:14

Vibe-Trading v0.1.10-s3

本版本是 Vibe-Trading 高级定制分支的第三次增量迭代。本版本重点增强了多租户运行环境下的物理与执行沙箱隔离安全性,并解决了局域网/WSL端口转发环境下的管理员身份提权欺骗问题。

🚀 新特性与功能增强 (New Features & Enhancements)

  1. 局域网可信 Host 头校验与自动提权 (LAN Host Header Trusted Auto-Privilege):
    • 引入了基于 HTTP Host 请求头的多重校验机制,不仅检查客户端源 IP 属于本地/局域网私有网段(RFC 1918),还强制校验 Host 头是否为本网段地址。
    • 彻底解决了 WSL2 端口转发过程中由于源 IP 被重写为 127.0.0.1 导致公网访问(如使用公网 IP 8.129.0.26)被误判定为本地管理员并暴露系统项目设置的重大安全隐患。
  2. 多租户安全沙箱与文件隔离加固 (Hardened Multi-Tenant Isolation & Sandbox):
    • 为常规租户(active_tenant != "default"强制熔断并关闭 Shell 命令行执行工具 (BashTool),彻底杜绝命令注入与越权逃逸风险。
    • 用户级所有的会话、记忆数据库、影子账户配置以及自建技能被强制物理重定向并隔离在各自租户的独立私有目录下:~/.vibe-trading/tenants/{tenant_id}/
    • 加固了读写文件类工具的根路径(allowed_file_roots),防止使用 ../ 进行路径穿透。
  3. 飞书多通道配置与并发运行支持:
    • 实现了对多租户私有飞书通道配置的物理隔离读写(各租户的通道配置保存在其私有的 feishu_channels.json 中)。
    • PlatformManager 运行时并发启动所有活跃租户的飞书 Bot 接收器,并在接包时自动在 ContextVar 级绑定租户 Context。
  4. 弹窗遮罩悬浮与 Portal 挂载修复:
    • 前端设置页所有的模态弹窗(自助注册、添加通道、密钥修改等)重构为通过 React Portal 挂载至 document.body,彻底修复了因 Tailwind 布局继承样式导致遮罩容器向下偏移 24px、露出顶部漏洞的问题。

🧪 测试与发布状态 (Tests & Deployment)

  • 单元与安全测试:跑通并补齐了全部 69 个 pytest 单元及回归测试,100% 成功。
  • 数据兼容:老版本的单租户数据(包括 sessions.db 和记忆等)完全向前兼容,热重载后自动归于默认租户(default),保证生产数据无缝平移。
  • 部署状态:WSL 生产环境已于 :8899 API 和 :19340 MCP 端口平滑上线热更新。