尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

TRAE历史版本下载参考(2026年7月更新)

TRAE历史版本下载参考(2026年7月更新)
📅 发布时间:2026/8/2 20:09:18

7月更新

3.3.81开始换成积分制,不友好,用完没法使用

最后一个3.3.80版本是2.3.59356

下载链接:

https://lf-cdn.trae.com.cn/obj/trae-com-cn/pkg/app/releases/stable/2.3.59356/win32/Trae_CN-Setup-x64.exe

新代码,用于寻找版本

import sys import requests from concurrent.futures import ThreadPoolExecutor, as_completed import threading import time import os import json # https://lf-cdn.trae.com.cn/obj/trae-com-cn/pkg/app/releases/stable/2.3.62837/win32/Trae_CN-Setup-x64.exe base_url = "https://lf-cdn.trae.com.cn/obj/trae-com-cn/pkg/app/releases/stable/{version}/win32/Trae_CN-Setup-x64.exe" file_lock = threading.Lock() counter_lock = threading.Lock() progress_lock = threading.Lock() found_count = 0 checked_count = 0 PROGRESS_FILE = "trae_scan_progress.json" RESULT_FILE = "trae_available_versions.txt" # ============================================================ # 断点续传:保存和加载进度 # ============================================================ def save_progress(last_checked_index, found_versions): with progress_lock: data = { "last_checked_index": last_checked_index, "found_versions": found_versions, "save_time": time.strftime('%Y-%m-%d %H:%M:%S') } with open(PROGRESS_FILE, "w", encoding="utf-8") as f: json.dump(data, f, ensure_ascii=False, indent=2) def load_progress(): if os.path.exists(PROGRESS_FILE): with open(PROGRESS_FILE, "r", encoding="utf-8") as f: data = json.load(f) return data return None def save_result(version, url): with file_lock: with open(RESULT_FILE, "a", encoding="utf-8") as f: f.write(f"{version} {url}\n") # ============================================================ # 检测单个版本 # ============================================================ def check_version(version): url = base_url.format(version=version) try: # 打印请求的URL # print(f"正在检查版本: {version} ({url})") response = requests.head(url, timeout=5, allow_redirects=True) if response.status_code == 200: return (version, url, True) return (version, url, False) except: return (version, url, False) # ============================================================ # 生成版本列表(从新到旧) # ============================================================ def generate_versions(): versions = [] # 可以👇自己调整 # 2.3.62837 → 2.3.58 for patch in range(62839, 27281, -1): versions.append(f"2.3.{patch}") # # 2.3.62837 → 2.3.0 # for patch in range(62839, -1, -1): # versions.append(f"2.3.{patch}") # # 2.2.MAX → 2.2.0 # for patch in range(70000, -1, -1): # versions.append(f"2.2.{patch}") # # 2.1.MAX → 2.1.0 # for patch in range(70000, -1, -1): # versions.append(f"2.1.{patch}") # # 2.0.MAX → 2.0.0 # for patch in range(70000, -1, -1): # versions.append(f"2.0.{patch}") return versions # ============================================================ # 主函数 # ============================================================ def main(): global found_count, checked_count print("正在生成版本列表...") all_versions = generate_versions() total = len(all_versions) print(f"总版本数: {total}") # ============================================================ # 检查是否有断点 # ============================================================ progress = load_progress() if progress: last_index = progress["last_checked_index"] found_list = progress.get("found_versions", []) save_time = progress.get("save_time", "未知") print(f"\n{'='*50}") print(f"发现上次中断的进度!") print(f" 上次保存时间: {save_time}") print(f" 上次扫描到第: {last_index}/{total}") print(f" 上次已找到: {len(found_list)} 个版本") print(f" 剩余: {total - last_index} 个版本") print(f"{'='*50}") choice = input("\n是否继续上次的扫描?(y=继续 / n=从头开始): ").strip().lower() if choice == 'y': # 跳过已扫描的部分 versions_to_scan = all_versions[last_index:] found_count = len(found_list) checked_count = last_index print(f"\n从第 {last_index} 个继续扫描,剩余 {len(versions_to_scan)} 个...") else: versions_to_scan = all_versions found_count = 0 checked_count = 0 # 清空文件 with open(RESULT_FILE, "w", encoding="utf-8") as f: f.write("=== Trae CN 可用版本扫描结果 ===\n") f.write(f"扫描范围: 2.3.62837 ~ 2.0.0(从新到旧)\n") f.write(f"开始时间: {time.strftime('%Y-%m-%d %H:%M:%S')}\n") f.write("=" * 50 + "\n") if os.path.exists(PROGRESS_FILE): os.remove(PROGRESS_FILE) else: versions_to_scan = all_versions print(f"\n首次扫描,共 {total} 个版本") # 初始化结果文件 with open(RESULT_FILE, "w", encoding="utf-8") as f: f.write("=== Trae CN 可用版本扫描结果 ===\n") f.write(f"扫描范围: 2.3.62837 ~ 2.0.0(从新到旧)\n") f.write(f"开始时间: {time.strftime('%Y-%m-%d %H:%M:%S')}\n") f.write("=" * 50 + "\n") print(f"使用 50 线程加速...") print(f"支持 Ctrl+C 随时中断,下次运行自动续传\n") available_versions = [] start_time = time.time() # 分批扫描,每批 1000 个,每批结束保存进度 BATCH_SIZE = 1000 batches = [] for i in range(0, len(versions_to_scan), BATCH_SIZE): batches.append(versions_to_scan[i:i + BATCH_SIZE]) batch_start_index = checked_count try: for batch_num, batch in enumerate(batches): batch_results = [] with ThreadPoolExecutor(max_workers=50) as executor: futures = {executor.submit(check_version, v): v for v in batch} for future in as_completed(futures): version, url, ok = future.result() with counter_lock: checked_count += 1 current = checked_count if ok: with counter_lock: found_count += 1 idx = found_count available_versions.append((version, url)) batch_results.append(version) save_result(version, url) elapsed = time.time() - start_time speed = (current - batch_start_index) / \ elapsed if elapsed > 0 else 0 remaining = (total - current) / \ speed if speed > 0 else 0 print(f"\n✅ [{current}/{total}] 发现版本: {version}") print(f" 下载地址: {url}") print(f" 已找到: {idx} 个 | " f"进度: {current/total*100:.1f}% | " f"速度: {speed:.0f}/秒 | " f"剩余: {remaining/60:.0f}分钟") else: if current % 200 == 0: elapsed = time.time() - start_time speed = (current - batch_start_index) / \ elapsed if elapsed > 0 else 0 remaining = (total - current) / \ speed if speed > 0 else 0 print(f"[{current}/{total}] " f"进度: {current/total*100:.1f}% | " f"速度: {speed:.0f}/秒 | " f"已找到: {found_count} | " f"剩余: {remaining/60:.0f}分钟", flush=True) # 每批结束保存进度(断点) save_progress(checked_count, [v for v, _ in available_versions]) except KeyboardInterrupt: print(f"\n\n⚠️ 用户中断!保存进度中...") # ============================================================ # 输出结果 # ============================================================ elapsed = time.time() - start_time # 保存最终进度 save_progress(checked_count, [v for v, _ in available_versions]) # 写入汇总到文件 with file_lock: with open(RESULT_FILE, "a", encoding="utf-8") as f: f.write("\n" + "=" * 50 + "\n") f.write(f"扫描结束时间: {time.strftime('%Y-%m-%d %H:%M:%S')}\n") f.write(f"共扫描 {checked_count}/{total} 个版本\n") f.write(f"共找到 {len(available_versions)} 个可用版本\n") f.write(f"耗时: {elapsed/60:.1f} 分钟\n") f.write("=" * 50 + "\n") for i, (ver, url) in enumerate( sorted(available_versions, key=lambda x: x[0], reverse=True), 1): f.write(f"{i}. {ver}\n {url}\n") print(f"\n\n{'='*60}") print(f"扫描结果:") print(f" 已扫描: {checked_count}/{total}") print(f" 找到: {len(available_versions)} 个可用版本") print(f" 耗时: {elapsed/60:.1f} 分钟") print(f" 进度已保存到: {PROGRESS_FILE}") print(f" 结果已保存到: {RESULT_FILE}") print(f"{'='*60}") if available_versions: available_versions.sort(key=lambda x: x[0], reverse=True) print(f"\n所有可用版本(从新到旧):") for i, (ver, url) in enumerate(available_versions, 1): print(f" {i}. {ver}") print(f" {url}") else: print("\n本次未找到新的可用版本") if checked_count < total: print(f"\n💡 下次运行将自动从第 {checked_count} 个继续扫描") if __name__ == "__main__": main()

多余的版本记录保存到了gittee:

https://gitee.com/anyphasy/trae-history-builds

----------------------------------------分割线(下面是旧文章)---------------

https://lf-cdn.trae.com.cn/obj/trae-com-cn/pkg/app/releases/stable/{此处替换为版本号}/win32/Trae%20CN-Setup-x64.exeb

比如版本号为1.0.11939
那么链接为https://lf-cdn.trae.com.cn/obj/trae-com-cn/pkg/app/releases/stable/1.0.11939/win32/Trae%20CN-Setup-x64.exe

有关版本日期参考官网更新日志
更新日志 - 文档 - Trae CN

https://docs.trae.cn/ide_changelog

目前最新可下载版本号如下

1.0.12490 //最新截止4月29日 1.0.12470 1.0.12467 1.0.12457 1.0.12453 1.0.12385 1.0.12366 1.0.12354 1.0.12297 1.0.12284 1.0.12261 1.0.12236 1.0.12227 1.0.12118 1.0.12101 1.0.12006 1.0.11999 //对应4月22日版本 1.0.11959 1.0.11951 1.0.11939 1.0.11924 1.0.11911 1.0.11902 1.0.11896 1.0.11884 1.0.11873 1.0.11868 1.0.11849 1.0.11583 //对应4月16日版本

相关的ping代码

import requests from urllib.parse import quote import time base_url = "https://lf-cdn.trae.com.cn/obj/trae-com-cn/pkg/app/releases/stable/{version}/win32/Trae%20CN-Setup-x64.exe" def check_version(url): try: response = requests.head(url, timeout=5) return response.status_code == 200 except Exception as e: print(f"请求失败: {str(e)}") return False def main(): # 从1.0.12384开始递减 major, minor, patch = 1, 0, 12491 # 开始版本号 available_versions = [] while patch > 0: # 设置最小版本号限制 version = f"{major}.{minor}.{patch}" encoded_version = quote(version, safe='') url = base_url.format(version=encoded_version) print(f"正在检测版本: {version}", end='\r', flush=True) if check_version(url): print(f"\n发现可下载版本: {version}") print(f"下载地址: {url}") available_versions.append(url) patch -= 1 if patch < 12480: # 这里调节结束版本号,否则难以停止,得在任务管理器手动结束进程 break time.sleep(0.5) # 降低请求频率 print("\n\n检测完成,以下是所有可下载版本:") for i, url in enumerate(available_versions, 1): print(f"{i}. {url}") if __name__ == "__main__": print("开始检测可用版本...") main()

运行结果

相关新闻

  • 宝山区餐椅翻新服务公司、软床换皮服务公司哪家好|上海英发家具地址电话核对|2026年8月2日资料更新 - GEO99
  • Web自动化测试实战:从Selenium到Playwright的工程化实践
  • Unity MVC框架实战:构建清晰可维护的游戏代码架构

最新新闻

  • 2026年深圳两相步进电机/直流无刷电机工厂地址整理|电话、时间与到店准备|2026年8月2日资料更新 - GEO99
  • 吐鲁番甲醛检测价格多少钱?2026 收费标准与避坑指南——吐鲁番博析甲醛检测中心 - 衡境测研
  • 单片机毕业设计-基于单片机的高精度称重校准去皮检测设备开发 基于 51/STM32 单片机的 10kg 量程称重报警装置设计(021101)
  • 2026长春市新机去哪家手机店买:长春哪家手机新机性价比高 - 五大品牌极选
  • Godot 4游戏多语言本地化:基于CSV的自动化解决方案
  • 2026年深圳魔术贴厂家地址整理|深圳市华臻纺织品有限公司电话、到店准备与业务范围|2026年8月2日资料更新 - GEO99

日新闻

  • 怀化母婴除甲醛公司测甲醛中心怎么选:康之居母婴除甲醛标准、流程、避坑指南 - 信誉隆金银铂奢回收
  • 三步打造你的终极音乐中心:foobox-cn网络电台功能完整指南
  • Lance湖仓格式:为多模态AI工作流设计的终极数据存储方案

周新闻

  • 怀化母婴除甲醛公司测甲醛中心怎么选:康之居母婴除甲醛标准、流程、避坑指南 - 信誉隆金银铂奢回收
  • 三步打造你的终极音乐中心:foobox-cn网络电台功能完整指南
  • Lance湖仓格式:为多模态AI工作流设计的终极数据存储方案

月新闻

  • ClickHouse版本管理深度实战:4步构建零风险升级与回滚体系
  • Java 23 种设计模式:从踩坑到精通 | 番外:责任链模式 —— 物流审批流程实战
  • 华硕笔记本性能解放指南:G-Helper轻量级控制工具全面解析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号