一、缘起:Windows 用户的"心酸"
SOLO 桌面端和网页端开放内测的消息一出,社区里一片欢腾。然而,当我满怀期待地点开下载页面时,映入眼帘的却是这样一句话:
“Windows 版本已开启预约,输入手机号订阅上线通知。”
没错,当前 SOLO 桌面端仅支持 macOS,Windows 用户只能干等着。论坛里不少小伙伴也在吐槽:
- “求 Windows 端!”
- “什么时候支持 Windows 啊?”
- “作为 Windows 重度用户,看着 Mac 同学用桌面端,酸了……”
作为一个不想干等的急性子,我灵机一动——既然官方还没出,那我自己做一个不就行了?
于是,TraeSOLO_win 这个项目就这么诞生了。
二、项目简介
TraeSOLO_win 是一个基于 Electron 开发的跨平台桌面应用程序,将 SOLO 网页版(solo.trae.cn / solo.trae.ai)包装成一个原生桌面应用,提供更接近原生体验的使用感受。
核心功能一览
| 功能 | 说明 |
|---|---|
| 支持 Windows 和 Linux(Mac 也有官方版了所以优先 Windows) | |
| 无边框窗口设计,自定义标题栏和控制按钮 | |
| 国内版 (solo.trae.cn) 和国际版 (solo.trae.ai) 一键切换 | |
| 深色/浅色模式 | |
| 内置预约 Windows 版本的弹窗(虽然现在自己就是 Windows 版了 |
|
| 外部链接在新的自定义窗口中打开 | |
| 直接选择文件保存位置,无需打开浏览器 |
三、开发过程:TraeIDE + SOLO Web 的"双剑合璧"
整个开发过程,我用的是 TraeIDE + SOLO Web 的组合拳,全程几乎不需要手动写代码,真正体验了一把"AI 写代码,我来喝茶"的感觉。
第一步:用 SOLO MTC 模式做方案
首先在 SOLO Web 端(Code 模式)描述需求:
“帮我创建一个基于 Electron 的跨平台网页封装应用,包装 solo.trae.cn 的网页版,提供桌面端体验。”
SOLO 很快给出了完整的技术方案和项目结构,包括 main.js(主进程)、index.html(主窗口)、external-window.html(外部链接窗口)等文件的架构设计。
【没截到图】
第二步:用 TraeIDE Code 模式开发
拿到方案后,切换到 TraeIDE 的 Code 模式,让 SOLO 按照方案逐步实现:
- 初始化 Electron 项目 —— package.json、依赖安装
- 实现无边框窗口 —— 自定义标题栏,最小化/最大化/关闭按钮
- 嵌入 SOLO 网页 —— 用 BrowserWindow 加载 solo.trae.cn
- 实现服务器切换 —— 国内版/国际版切换逻辑
- 主题同步 —— 检测网页主题并同步窗口样式
- 外部链接处理 —— 拦截外部链接,在新窗口中打开
第三步:调试与修复
开发过程中也遇到了不少"磨难"……
四、踩坑实录:那些让人抓狂的瞬间
坑 1:标题栏按钮点击无反应
最初实现的自定义标题栏,最小化、最大化、关闭按钮全部"摆设"——点击毫无反应。
原因:使用了 Electron 已废弃的 remote 模块,在新版本中默认不可用。
解决方案:SOLO 帮我重构了代码,用 IPC(进程间通信)替代 remote 模块:
- 在
main.js中注册minimize-window、maximize-window、close-window三个 IPC handler - 在
src/js/main.js中通过ipcRenderer.send()发送消息 - 任务耗时 3 分 31 秒,修改 2 个文件,+26/-8 行
坑 2:外部链接打开失败
点击网页中的外部链接(如 trae.cn/download),应用直接崩溃,报错 ERR_FAILED。
原因:external-window.html 的 URL 编码问题,IPC 通信获取 URL 的逻辑有 bug。
解决方案:完全重构外部窗口创建逻辑:
- 重写
main.js中的外部窗口创建部分 - 重写
src/js/external-window.js,使用 IPC 获取 URL - 采用更宽松的策略:只有明确的非 TRAE 外部链接才在新窗口打开,内部链接保持当前窗口导航
- 修改 2 个文件,+41/-15 行
坑 3:SVG 图标不显示
标题栏按钮的 SVG 图标加载不出来,按钮变成了"空白方块"。
解决方案:重新设计了 SVG 图标,确保路径正确、viewBox 设置合理。
五、最终成果:Windows 版界面介绍
经过反复调试,TraeSOLO_win 终于可以正常运行了!下面是界面展示:
主界面
应用启动后,就是一个完整的 SOLO 桌面端体验:
- 左侧导航栏:新建任务、技能、历史等入口
- 中间工作区:SOLO 的完整网页功能,包括 Code 模式和 MTC 模式
- 右侧面板:待办事项、任务产物、参考信息
自定义标题栏
顶部标题栏集成了以下功能按钮:
| 按钮 | 功能 |
|---|---|
| 打开设置面板(服务器切换、主题切换) | |
| 打开 Windows 版预约弹窗 | |
| 最小化窗口 | |
| 最大化/还原窗口 | |
| ✕ 关闭 | 关闭应用 |
设置面板
点击设置按钮后,右侧滑出设置面板:
- 服务器选择:国内版 (solo.trae.cn) / 国际版 (solo.trae.ai)
- 深色模式:开关切换,支持自动检测网页主题
外部链接窗口
点击网页中的外部链接时,会在新的自定义窗口中打开,同样带有完整的标题栏控制。
六、技术架构
TraeSOLO_win/
├── main.js # Electron 主进程
├── index.html # 主窗口 HTML
├── external-window.html # 外部链接窗口 HTML
├── src/
│ ├── css/
│ │ ├── main.css # 主窗口样式
│ │ └── external-window.css # 外部链接窗口样式
│ └── js/
│ ├── main.js # 主窗口 JavaScript
│ └── external-window.js # 外部链接窗口 JavaScript
├── package.json # 项目配置和依赖
└── README.md # 项目说明文档
技术栈:Electron + HTML5 + CSS3 + JavaScript
七、项目数据
从 Git 提交记录来看,这个项目一共经历了 60+次提交,涉及:
- 3 个 Pull Request 的合并
- 多次 Bug 修复和功能迭代
- 从初始化到可用的完整开发周期
八、总结与展望
这次用 TraeIDE + SOLO Web 开发 TraeSOLO_win 的经历,让我深刻体会到了 AI 辅助开发的强大:
MTC 模式负责方案设计和需求分析,输出清晰的技术文档
Code 模式负责代码实现和 Bug 修复,交付可运行的代码
两个模式配合使用,真正实现了"从想法到产品"的全流程
当然,项目还有很多可以完善的地方。原本想加更多功能的,但是心有余而接口不足——毕竟本质上是一个网页封装应用,很多底层能力还是受限于 SOLO 网页端本身的接口。比如:
- 系统托盘通知
- 本地文件系统集成
- 快捷键自定义
- 多窗口管理优化
这些都需要 SOLO 网页端提供更多的 API 支持才能实现。
不过话说回来,自己动手丰衣足食,至少现在 Windows 用户也能用上桌面端了!![]()
想要自己编译体验的小伙伴,欢迎访问:https://github.com/wuke3/TraeSOLO_win
觉得有用的话,给个 Star 吧!





