Mole for Windows is finally here, a Windows app that feels well made.
It cleans thoroughly, removes apps with their leftovers, maps your disk and shows live status, all on your PC, no ads. $15.20 at launch, $10 for Mole for Mac owners with MOLEAGAIN.
mole.fit/windows
书接上回,接着聊昨晚聊的多端技术选型,今天我们来聊第二篇,说说我是怎么在 Mac 上来开发原生 Windows 软件的,以及我是如何搭建编译、测试环境的,还有最近一个月做 Mole Windows 版踩过的一些有意思的坑。
技术栈上,Mac 版本的 Mole 使用的也是原生的 Swift + SwiftUI,能够让我很好调用系统能力以及非常好的性能体验,想着不将就,所以在 Windows 上我也是想着直接用本身写 Windows 软件最直接的语言, C# 加 WinUI 3,跑在 .NET 10 上,过程虽然难搞,但是相比十年前我了解轮子哥谈的 Windows 开发要简单好理解一些了。
Windows 上的原生界面框架其实挺多的,包括很多年前了解过的 Win32、WinForms、WPF、UWP 这一波,WPF 是 2006 年出的,到现在还在维护,但控件和设计语言不是很好看,非常上一代的感觉,然后 UWP 又被沙盒和应用商店给绑定住,现在微软主推的是 Windows App SDK 里的 WinUI 3,界面框架从系统里面拆出来单独发版,这样就有一个好处,普通的 Win32 程序也能用,基础组件就是 Windows 11 自己的 Fluent 风格,我还挺喜欢,高分屏缩放和 ARM64 都是原生支持。
然后这里 .NET 10 是去年 11 月发的长期支持版本,打包时我把运行时一起打进去,用户不需要另外装 .NET,x64 和 ARM64 这里各出了一个原生安装包,骁龙的 Windows 笔记本就不要走转译了,相当于尽量让用户使用简单不折腾。这里安装和更新用的是开源的 Velopack 框架,可以很方便做增量更新,也很好用。
工程师开始写代码时候肯定会想到能复用尽量复用,所以我开始写的时候也非常想复用 Mac 的 Swift 代码,后面让 AI 分析了一下,十几万行代码 Swift 代码可以脱离 AppKit、SwiftUI 这些系统框架使用的20%都没有,处理的逻辑也是 ~/Library 这类 macOS自己的路径规则,基本用不上,所以 Windows 版几乎是从零开始写的。
两边的关系其实非常简单,外观和交互我尽量完全一致,尽可能让大家意识里面认为的 Windows 软件不那么精致美观的感觉在这里也保持我认为好的水平,然后底层代码各写各的,关于视觉的一致性还原有了AI以后很简单,我把原本的 Mac 版写在 Swift 里的颜色、字号、间距、圆角这些设计 token,直接写了一个脚本生成为 Windows 里面XAML 资源,文案也是从 Mac 的多语言文件转成 Windows 的格式,11 种语言一起转过来,甚至大家看到的菜单栏里面的那个runner动画也是用的同一个脚本同步来的。
虽说同步,可能大家会觉得很简单,其实这里需要花点精力防止 AI 直接给你跑偏了,每次同步其实我会记录对应的是Mac的哪一个提交,这样两边就不会走偏去,然后功能上会有一份 SYNC.md 当做对账表,Mac 每加一个功能、修一个安全问题,Windows 这边都会标清楚哪些是已经实现、哪些是刻意不同还是不适用,以及为什么这样判断。
通过这两个机制,我可以很好的让两边的底层完全各写各的,但是又能很好地保持功能对齐,完全不需要刻意去硬写一层兼容去磨平,反而会变复杂,这里能复用的反而是设计、文案以及踩坑后定下来的各种规则,反而这些是 AI 非常喜欢的“能力抽象层”,也就是说随着时代发展,慢慢所谓的代码抽象没有那么重要了,反而是规则抽象更重要。
另外 Windows 开发还有一块比 Mac 要麻烦不少,就是证书签名,没有签名的,一打开会出现「Windows已保护你的电脑」,甚至 Windows 11 的智能应用控制会直接不让运行,国内不少安全软件也会把没签名的程序当成可疑报毒,这和 Mac 上没签名、没公证的软件提示「已损坏」差不多,平时 Mac 上大家还可以跑一条命令解掉,Windows 上想正规分发,这一步没有啥好办法,就是需要。
调研下来微软的签名生态的确比苹果差太多了,微软有自己的 Azure Artifact Signing,一个月 9.99 美元最省事,居然个人只开放给美国和加拿大的开发者,没办法使用,很奇葩的规定,然后行业还规定从 2023 年起签名私钥必须放在硬件或者云端 HSM 里,不能再是电脑上的一个文件,今年起单张证书最长只能用 460 天,差不多一年多就得换一次证书
最后我买的是 Certum 的云端 OV 证书,3 年 3百多美元,签名时登录电脑上的 SimplySign,再用手机上的 App 给一个动态码,SmartScreen 的信誉也跟着证书上审核过的名字慢慢积累。刚开始一段时间的签名包在 ThinkPad 上也会一样被 SmartScreen 拦了下来,后来我每次发版都把安装包提交到微软的恶意软件分析门户,让信誉慢慢积累起来,而且 SimplySign 的登录会话闲置几个小时就会断开,需要再次输入动态码才能继续签名,所以这里其实很难做成云端自动打包。
证书搞定后,就是开发环境的事情了,我的研发要求是代码和 AI 的上下文必须全留在 Mac 上,Mac 用习惯了,真的很难使用 Windows 去研发,这里 Windows 只负责编译和验证效果和各种测试,所以我在 Mac 上装了 Parallels Desktop,大概 3 百多块一年,之前也挺不少小伙伴吐槽过这个软件,不过在我的 M5 Pro 上跑 Windows 11 还挺顺滑,让我感觉这个钱花得很值。
它最好用的一点是我的 Claude 能很顺手地操作它,仓库直接作为 Parallels 的共享文件夹挂进虚拟机,变成一个 X 盘,Mac 上改完代码,虚拟机里直接编译,不需要来回 Copy 文件,只是两边的编译产物要分到不同的目录,对于编译、启动、看日志的工作都被我写成了脚本,通过 Parallels 自带的 prlctl exec 直接在虚拟机里执行,程序启动就崩的时候 Windows 只给一个 0xc000027b,Mole 会把真正的异常写进日志,脚本跑完顺手打印出来,Claude 直接就能读到。相当于写代码还是在 Mac 上的 Claude Code 里,调试和运行都在虚拟机里,脚本不能解决的地方,直接用 Codex 的 computer use 去点,只有少部分那种系统确定弹框点不了,我在这里就是这个职责,点点系统弹框确定,哈哈。
说到这里,可以和大伙分享一下 Mole Windows的架构分层,一共四层,最底下的 Core 只依赖 .NET,不碰任何 Windows 接口,清理规则、路径安全检查、卸载残留的判断都放到这里,测试用的是一个按 Windows 路径规则模拟出来的内存文件系统,这样在 Mac 上也可以很好的跑;往上是 Platform 层,注册表、文件系统、Win32 调用这些真正的系统接口都放在这一层,打开 EnableWindowsTargeting 以后,Mac 上也能编译通过;再往上就是写过应用同学非常熟悉的界面状态的 ViewModel 层,这里和 Mac 版本会一一对应,这样也能够在 Mac 上测,只有最上面这一层的 WinUI 界面必须去 Windows 里编译。
这也是让我一个月时间可以写8 万多行 Windows 代码、4000 多个测试,但是几乎大部分可以在 Mac 上完成的一个很方便的地方,也是架构设计的巧妙处,当然这里我只提供之前做架构时候的想法建议,大部分是 Opus 5.5 去帮我整的,很牛逼。
接着可以聊测试了,我反而认为 在 AI 时代,工程师最大的价值,除了架构设计外就是这个测试验证了,所以为了保证产品是可以售卖的,肯定需要在真实环境测试验证,反复找体验问题去修复的,所以我整了一台 ThinkPad X1 Carbon,这个机器质感还不错的,我把它当成真机环境,设置永不休眠,可以让我和我的Agent 24 小时去验证测试回归,包括获取各种真实系统环境的参数验证,400 多款 Windows 软件的卸载、残留清理、注册表、启动项测试,大部分在虚拟机里跑,x64 安装包、真实的高分屏、电池、SmartScreen 这些虚拟机看得不准确的,就直接放到这台机器上验,所以这台机器让我感觉也非常值。
然后为了不想在两台机器拷来拷去,最后还是用了 UU 远程,直接在 ThinkPad 那边开一个远程终端,我这边在 Mac 上直接操作,然后还把 ssh 连接当做备用,大部分软件的安装、卸载和调试,都是通过命令行脚本去完成的,剩下需要看界面的,直接通过远程桌面让 computer use 去操作,非常方便,最终相当于我还是在 Mac 上做的所有的事情。
差不多就是这些啦,这个过程下来,到最后成品让几个 Mole 天使用户去试用,大伙用着很爽,感觉这个过程的开发非常值,很有意思,而且可以帮助大家解决不少痛点,加上 Windows 上小白用户应该比 Mac 要多不少,让他们也享受到好软件的体验其实很值得开心。
差不多这两天这两篇文章算是把我这一个月的思考和想法聊完了,欢迎交流,有在做 Windows 开发的小伙伴也可以一起聊聊你们的最佳实践,假如还有空,下一篇我想着给大伙聊聊怎么在研发过程中借其他程序语言的生态来补桌面端的短板,这里也非常有意思。
书接上回,接着聊昨晚聊的多端技术选型,今天我们来聊第二篇,说说我是怎么在 Mac 上来开发原生 Windows 软件的,以及我是如何搭建编译、测试环境的,还有最近一个月做 Mole Windows 版踩过的一些有意思的坑。
技术栈上,Mac 版本的 Mole 使用的也是原生的 Swift + SwiftUI,能够让我很好调用系统能力以及非常好的性能体验,想着不将就,所以在 Windows 上我也是想着直接用本身写 Windows 软件最直接的语言, C# 加 WinUI 3,跑在 .NET 10 上,过程虽然难搞,但是相比十年前我了解轮子哥谈的 Windows 开发要简单好理解一些了。
Windows 上的原生界面框架其实挺多的,包括很多年前了解过的 Win32、WinForms、WPF、UWP 这一波,WPF 是 2006 年出的,到现在还在维护,但控件和设计语言不是很好看,非常上一代的感觉,然后 UWP 又被沙盒和应用商店给绑定住,现在微软主推的是 Windows App SDK 里的 WinUI 3,界面框架从系统里面拆出来单独发版,这样就有一个好处,普通的 Win32 程序也能用,基础组件就是 Windows 11 自己的 Fluent 风格,我还挺喜欢,高分屏缩放和 ARM64 都是原生支持。
然后这里 .NET 10 是去年 11 月发的长期支持版本,打包时我把运行时一起打进去,用户不需要另外装 .NET,x64 和 ARM64 这里各出了一个原生安装包,骁龙的 Windows 笔记本就不要走转译了,相当于尽量让用户使用简单不折腾。这里安装和更新用的是开源的 Velopack 框架,可以很方便做增量更新,也很好用。
工程师开始写代码时候肯定会想到能复用尽量复用,所以我开始写的时候也非常想复用 Mac 的 Swift 代码,后面让 AI 分析了一下,十几万行代码 Swift 代码可以脱离 AppKit、SwiftUI 这些系统框架使用的20%都没有,处理的逻辑也是 ~/Library 这类 macOS自己的路径规则,基本用不上,所以 Windows 版几乎是从零开始写的。
两边的关系其实非常简单,外观和交互我尽量完全一致,尽可能让大家意识里面认为的 Windows 软件不那么精致美观的感觉在这里也保持我认为好的水平,然后底层代码各写各的,关于视觉的一致性还原有了AI以后很简单,我把原本的 Mac 版写在 Swift 里的颜色、字号、间距、圆角这些设计 token,直接写了一个脚本生成为 Windows 里面XAML 资源,文案也是从 Mac 的多语言文件转成 Windows 的格式,11 种语言一起转过来,甚至大家看到的菜单栏里面的那个runner动画也是用的同一个脚本同步来的。
虽说同步,可能大家会觉得很简单,其实这里需要花点精力防止 AI 直接给你跑偏了,每次同步其实我会记录对应的是Mac的哪一个提交,这样两边就不会走偏去,然后功能上会有一份 SYNC.md 当做对账表,Mac 每加一个功能、修一个安全问题,Windows 这边都会标清楚哪些是已经实现、哪些是刻意不同还是不适用,以及为什么这样判断。
通过这两个机制,我可以很好的让两边的底层完全各写各的,但是又能很好地保持功能对齐,完全不需要刻意去硬写一层兼容去磨平,反而会变复杂,这里能复用的反而是设计、文案以及踩坑后定下来的各种规则,反而这些是 AI 非常喜欢的“能力抽象层”,也就是说随着时代发展,慢慢所谓的代码抽象没有那么重要了,反而是规则抽象更重要。
另外 Windows 开发还有一块比 Mac 要麻烦不少,就是证书签名,没有签名的,一打开会出现「Windows已保护你的电脑」,甚至 Windows 11 的智能应用控制会直接不让运行,国内不少安全软件也会把没签名的程序当成可疑报毒,这和 Mac 上没签名、没公证的软件提示「已损坏」差不多,平时 Mac 上大家还可以跑一条命令解掉,Windows 上想正规分发,这一步没有啥好办法,就是需要。
调研下来微软的签名生态的确比苹果差太多了,微软有自己的 Azure Artifact Signing,一个月 9.99 美元最省事,居然个人只开放给美国和加拿大的开发者,没办法使用,很奇葩的规定,然后行业还规定从 2023 年起签名私钥必须放在硬件或者云端 HSM 里,不能再是电脑上的一个文件,今年起单张证书最长只能用 460 天,差不多一年多就得换一次证书
最后我买的是 Certum 的云端 OV 证书,3 年 3百多美元,签名时登录电脑上的 SimplySign,再用手机上的 App 给一个动态码,SmartScreen 的信誉也跟着证书上审核过的名字慢慢积累。刚开始一段时间的签名包在 ThinkPad 上也会一样被 SmartScreen 拦了下来,后来我每次发版都把安装包提交到微软的恶意软件分析门户,让信誉慢慢积累起来,而且 SimplySign 的登录会话闲置几个小时就会断开,需要再次输入动态码才能继续签名,所以这里其实很难做成云端自动打包。
证书搞定后,就是开发环境的事情了,我的研发要求是代码和 AI 的上下文必须全留在 Mac 上,Mac 用习惯了,真的很难使用 Windows 去研发,这里 Windows 只负责编译和验证效果和各种测试,所以我在 Mac 上装了 Parallels Desktop,大概 3 百多块一年,之前也挺不少小伙伴吐槽过这个软件,不过在我的 M5 Pro 上跑 Windows 11 还挺顺滑,让我感觉这个钱花得很值。
它最好用的一点是我的 Claude 能很顺手地操作它,仓库直接作为 Parallels 的共享文件夹挂进虚拟机,变成一个 X 盘,Mac 上改完代码,虚拟机里直接编译,不需要来回 Copy 文件,只是两边的编译产物要分到不同的目录,对于编译、启动、看日志的工作都被我写成了脚本,通过 Parallels 自带的 prlctl exec 直接在虚拟机里执行,程序启动就崩的时候 Windows 只给一个 0xc000027b,Mole 会把真正的异常写进日志,脚本跑完顺手打印出来,Claude 直接就能读到。相当于写代码还是在 Mac 上的 Claude Code 里,调试和运行都在虚拟机里,脚本不能解决的地方,直接用 Codex 的 computer use 去点,只有少部分那种系统确定弹框点不了,我在这里就是这个职责,点点系统弹框确定,哈哈。
说到这里,可以和大伙分享一下 Mole Windows的架构分层,一共四层,最底下的 Core 只依赖 .NET,不碰任何 Windows 接口,清理规则、路径安全检查、卸载残留的判断都放到这里,测试用的是一个按 Windows 路径规则模拟出来的内存文件系统,这样在 Mac 上也可以很好的跑;往上是 Platform 层,注册表、文件系统、Win32 调用这些真正的系统接口都放在这一层,打开 EnableWindowsTargeting 以后,Mac 上也能编译通过;再往上就是写过应用同学非常熟悉的界面状态的 ViewModel 层,这里和 Mac 版本会一一对应,这样也能够在 Mac 上测,只有最上面这一层的 WinUI 界面必须去 Windows 里编译。
这也是让我一个月时间可以写8 万多行 Windows 代码、4000 多个测试,但是几乎大部分可以在 Mac 上完成的一个很方便的地方,也是架构设计的巧妙处,当然这里我只提供之前做架构时候的想法建议,大部分是 Opus 5.5 去帮我整的,很牛逼。
接着可以聊测试了,我反而认为 在 AI 时代,工程师最大的价值,除了架构设计外就是这个测试验证了,所以为了保证产品是可以售卖的,肯定需要在真实环境测试验证,反复找体验问题去修复的,所以我整了一台 ThinkPad X1 Carbon,这个机器质感还不错的,我把它当成真机环境,设置永不休眠,可以让我和我的Agent 24 小时去验证测试回归,包括获取各种真实系统环境的参数验证,400 多款 Windows 软件的卸载、残留清理、注册表、启动项测试,大部分在虚拟机里跑,x64 安装包、真实的高分屏、电池、SmartScreen 这些虚拟机看得不准确的,就直接放到这台机器上验,所以这台机器让我感觉也非常值。
然后为了不想在两台机器拷来拷去,最后还是用了 UU 远程,直接在 ThinkPad 那边开一个远程终端,我这边在 Mac 上直接操作,然后还把 ssh 连接当做备用,大部分软件的安装、卸载和调试,都是通过命令行脚本去完成的,剩下需要看界面的,直接通过远程桌面让 computer use 去操作,非常方便,最终相当于我还是在 Mac 上做的所有的事情。
差不多就是这些啦,这个过程下来,到最后成品让几个 Mole 天使用户去试用,大伙用着很爽,感觉这个过程的开发非常值,很有意思,而且可以帮助大家解决不少痛点,加上 Windows 上小白用户应该比 Mac 要多不少,让他们也享受到好软件的体验其实很值得开心。
差不多这两天这两篇文章算是把我这一个月的思考和想法聊完了,欢迎交流,有在做 Windows 开发的小伙伴也可以一起聊聊你们的最佳实践,假如还有空,下一篇我想着给大伙聊聊怎么在研发过程中借其他程序语言的生态来补桌面端的短板,这里也非常有意思。
Thank you Simply Well Executed for sponsoring me on @github, really appreciate the support for Mole and my open source work.
github.com/sponsors/tw93?o=n…
发现不少小伙伴很好奇我是怎么用 Mac 来开发Windows软件的,以及Windows软件现在一般用什么技术栈来实现,刚好有空,来和大伙随便聊聊关于多客户端下技术选择的思考以及我的一些想法。
以下是第一篇,给大伙介绍介绍各种桌面、移动端开发技术的选择以及对应选择的思考。
做过前端客户端的小伙伴应该都知道,这些年端的开发一般是这三条路。
第一种最简单方便的是,直接写 Web 代码,塞到浏览器就能跑,包括早年的 PhoneGap、Cordova 就是把网页塞进一个原生壳里,然后提供一些bridge的能力让js可以调用到一些原生的能力,比如唤起手机摄像头这类的 Web 不好做的事情。
第二种是跨端开发,也就是好多年前大家经常听到的一码多端,当时移动端有 React Native、Weex 这一类技术,当时主要是为了解决 Web 性能差的问题,一份代码同时打包出 iOS 和 Android,这里国内大厂使用跨端技术还有一个非常大的原因就是动态化和热更新,讲的土一点就是可以绕过商店审核直接下发新页面,这也是国内跨端在当时移动互联网高速发展时特别流行的重要原因。
桌面端大家熟悉的就是 Electron,大家熟知的现在不少AI桌面端、VS Code、Slack 是用这个做的,代价是相当于每个应用都自带一份 Chromium 和 Node.js,安装包一百多 MB,内存也占得多。但好处是在 Chromium 渲染引擎的统一下能够很好的保持多端的展示一致性,加上里面写的代码非常好写,后续不少桌面的速成就会用这个技术。
跨端后面也慢慢延伸出更多有趣的解决方案,类似Flutter 自己实现一套渲染引擎,早期靠 Skia,现在换成了自研的 Impeller 渲染引擎来保障多端一致和性能效率的均衡,包括桌面端上老牌的 Qt,和 Flutter 一样自己画界面。
这两年桌面跨端也出现了用 Rust 写的 Tauri、Go 写的 Wails,他们和 Electron 不一样的地方就是,他没有塞一个Chromium进去,而是使用的系统自带的 WebView,包会小非常多,但是整体还是基于 Web 这一套研发思路和对应实现语言去进行桥接交互,但是由于系统 Webview 每个平台不一样,Windows 上是 WebView2,Mac 上是 WKWebView,Linux 上是 WebKitGTK,所以多端显示的一致性反而不如 Electron,还是要写兼容代码。所以这种情况下,即使 Electron 很大内存占用也不低,还是会被选择更多。
第三种是原生开发,也是没有 AI之前,大家觉得开发难度很大的一种方式,特别是之前的苹果系使用的 Objective-C,Android 系使用的 Java、Windows 系 C、C#,均是我认为需要科班花非常多时间去学习、看书、手编代码,要想做得好,需要花大量时间研究对应的系统底层原理,能够方便你写出相比普通研发性能更好更稳定的代码,在我看来是前期投入大,后期用户很享受的技术,我当时17年时候刚工作 2 年多的时候,职业发展比较爽的一个很大原因是我抽了半年时间学习 Objective-C 和 iOS 研发,让我自己本质前端的工作提前往跨端方向走了,刚好可以解决一些这两个工种结合的不能解决的难题,也是我当时做一线开发非常快乐有趣的时间。
等到后面 Swift + SwiftUI、Kotlin + Jetpack Compose、C# + WinUI 3 慢慢出来成熟后,这些原生端语言的写法也慢慢像高级语言靠齐,也更易写了,声明式代码更短、更好读了。但是在国内完全被 React Native、Flutter、Electron 的广泛使用被盖过去了,导致开发者不多,生态发展完全靠官方推动,从而出现了出活很快,但是大家普通感觉怎么用久了卡卡的缘故的一个很大的原因,同时还占大头,而且想迁移到原生假如之前架构实现不好大概率只能重写,完全不能复用,实现得好比如说你把业务逻辑早就抽出,类似 Kotlin Multiplatform 这类方案把业务逻辑共享、界面各写各的原生,算是第四条路,也是最近几年的趋势。
聊到这里大家应该大概明白了,这里也有一个不可能三角,就是研发效率、体验、性能这三者,选择 Web 是多效率少性能,选原生是多性能体验少效率,选跨端就是刚好是这三者取一个中间,做得好容易都占,做得不好,容易没有一边占到好处的尴尬局面。
那么在 AI Coding 写代码已经不是问题的情况下,我们应该选择啥技术呢?很多时候也取决于你的场景,比如你就是一个 Web 场景的浏览、点点按钮、阅读这一类 Web1.0 阶段的东西,那还是非常建议直接 Web 技术来弄;假如你需要调用到系统底层的能力,或者需要操作更顺手更好分发,以及本身就是一个应用的场景,我还是非常建议使用原生技术来实现,这样可以第一时间享受到系统官方本身的众多调优,以及最原生的交互效果、最低的内存占用,加上 AI 让写两份原生代码的成本大幅下降,三角形的效率那一边被补上了,只是两个平台的调试和验证变成了新的成本,这里正是人需要重点做的事情了。
当然假如实在技术选型不那么重要,工作量非常之大,以及业务效果远大于技术体验选择,选择跨端技术也是可以的,这样快,迭代发布也快,可以第一时间让你的用户收到你的最新的特性更新。
不过说到底,技术是给业务服务的,最终还是需要往解决问题方向走,好比抢演唱会门票,大家不会关注你这个客户端怎么这么卡,只会关注我用你能不能抢到票,即使你做得十分顺畅,但是抢不到票也是会被骂得很惨,技术栈的选择在这里就选的好变成了锦上添花的工作,最终还是需要优先保障用户的最真实需求的解决,然后做好这里,再去想,我如何让用户体验更好,接下来才是考虑我是否需要使用原生技术来实现。
一下子居然写了这么多,明天继续来聊,想给大伙来分享我是如何在 Mac 上搭建了一套研发 Windows 原生软件的环境,以及我对于 Windows /Mac 多端研发上的一些踩过的坑以及最佳实践,哈哈,欢迎交流,我们来聊聊不问 AI 自己脑袋里面的技术栈选择,挺有意思。
最近养成了一个非常好的习惯,想推荐给小伙伴们,我想把它叫做刷新或者重置。
每次快到晚上,你从外面回来,第一件事其实就是去刷牙洗澡。把自己洗干净,吹干头发,换上干净的衣服,然后再去做自己的事情。
比如说,你 7 点到家,洗完澡 7 点半,到晚上这段时间,都是你非常新鲜、非常开始的时间。你的心态、你的心情会完全不一样。特别是对于上班族而言,这个时候下班直接回家立马洗澡,可以洗掉你很多“班味”。
正如此,这很像大模型里面的 reset 重置。所以我还有一个习惯,就是每天早上起来的第一件事情就是刷牙洗脸,然后泡一杯茶迎接新的一天。
那个时候你的感觉会特别特别好,会非常有新鲜感,就好比“哦,一天终于来了”。这样其实会让你的心情或者身体有一种“我要开始干活了”的仪式感。
非常推荐这个时候不要先刷手机,而是起来以后先把这两件事做了。然后吃完早饭再去干活,或者可以先不吃早饭,先干着活,等到吃早饭的时候再去吃,都没事。
比如说平时你坐得比较久了,也可以站起来走一圈,去接一杯茶、做杯饮料或咖啡,或者去上个厕所、洗个手,诸如此类。这就是给你长时间的专注注意力去重置一下,等到你回来以后,感觉会很好。
对长时间而言,家庭其实也是一样的。
比如说,每隔 20 天叫几个阿姨过来打扫卫生,把家里收拾得非常干净,就好比给家里也重置了一下。对于不用的东西,及时扔掉或者二手卖掉;包括到换季的时候,把旧衣服进行一次整理,把不要的东西扔掉,或者去买一些更新的,这也是一种很好的重置。
包括经常换被子被套,其实也是一个重置的办法。你会发现,换完被子被套以后,第一次睡上去的感觉是真的很爽。
可能人生也是这样,你得时不时地把你持续很长时间做的事情,或者做得有点疲累的事情尽快重置掉,然后重新开始。就好比洗去尘埃,重新开始做些事情的心态会好太多了。
在一个地方待久了,你可以去远一点的城市找一个好酒店住一晚,或者找个好一点的地方玩一玩、歇一歇,其实这也是一个重置地区的办法。
大概就是这个意思,不知道我有没有表达清楚。其实就是尽可能地把自己持续长时间的东西 reset 掉,然后等你重新来的时候,你会觉得有特别新的感觉。
上周 Mole 的 Windows 版本发布啦
在这之前其实就累计在小范围人群,迭代了差不多 14 个版本,手工自测了 372 款软件的卸载、更新、残留清理、启动等,然后经过 Mole 天使用户多天内测,提了非常多的建议,终于差不多可用了,非常感谢大伙帮助!
本次为了更好的用户使用体验,我使用了 Windows 原生的 C# 开发,开发和调试难度远大于熟悉的 Mac,为了保障测试效果整了一台 ThinkPad X1被我给玩起来了,挺不错。
加上本身代码和 Mac 版本由于系统的特性、清理内容完全不一样,除去皮肤外,几乎没有可以复用的代码,来来回回差不多写了一个月,大概 7.8 万行代码和 4000 多个测试案例。
除了桌面版,Mole 的 Windows 命令行版其实年初就开始做了,最早是一位印度开发者提的需求,还顺手给我提了 PR,非常感谢,到现在 9 个半月发了 9 个版本,最近一个月我也在密集迭代,用法和体验基本和 Mac 的命令行版对齐了,开源免费,有需要的小伙伴可以直接去 GitHub 上用。
价格上为了感谢大伙, Windows 版在 11 月 11 日之前是早鸟价 15.20 美元,之前买过 Mole Mac 的朋友,到 12 月 31 日结账时输入 MOLEAGAIN 只要 10 美元。
mole.fit/zh/windows
Just discovered this beautiful collection of 526 traditional Chinese colors, and I love it.
Each color has its own poetic name, inspired by nature, flowers, minerals, and centuries of Chinese culture. Such a lovely source of inspiration for design.
figma.com/design/5gJsBEyypBo…
突然感觉这个循环很有意思,当我 Codex 蹬完急需第二天用的时候他们又重置了,然后当一个 Claude 账号被快用完的时候,还有 3 天才到周额度,另外一个又有100% 额度了,循环起来了,珍惜还需要人来管 AI 干活的时代,说不定等再过一段时间,可能真不需要人管了,那就需要找新的来玩了。
我终于没有忍住,又冲了一个 Claude 250 刀的账号,终于够用了,想和大伙聊聊我是物尽其用的如何用完 2 个 Claude Max 账号加一个 ChatGPT Pro 账号的。
我记得从 ChatGPT 3.5 开始以后,玩大模型的一般会有两个流派,一个是坚持使用当前最好的模型的人,一把梭把事情做完,但看着有点“败家”。还有一类是尽可能使用当前性价比最好的模型,通过多模型调研以及工程解法把一般模型发挥出接近好模型的效果,不过这里一般会多花一点时间。
两种用法我感觉都挺好,属于不用工程师性格的选择,我平时时间不太够,加上当时在做业务 AI 落地的时候,会有一个习惯使用当前业界最好的模型去测试效果,这样心里有一个底,知道当前模型高度以及更好的业务判断,等到 25 年初 Claude CLI 出来,体验到了那种厉害模型写代码的效果后,一直就坚持选择当前最好的模型来做自己的事情,然后从 1 个 20 刀试试,到 2 个 20 刀,然后到 1 个 125 刀然后 250 刀的账号,然后到现在 2 个 250 刀账号,属实不敢想,当时 AI 没有出来前,包一个爱奇艺电视会员几十块一个月都会觉得贵的人怎么现在对 AI 这么能花钱,也是神奇。
当前对于 Claude 普通任务我会选择更快的 opus 5.5 medium 档位,复杂任务使用 high,然后对于 Codex 默认用 GPT-6-Astra medium,因为他的其他模型的确不是很好用,不过有一说一 Codex 的 computer use 是真的好用,所以在 Claude 里面我也会通过 lcu 这个工具让他去调用 Codex 的 computer use,效率效果都好不少。
聊起 computer use,以及 AI 操作设备,这一块就非常好玩了,最近开发一些 Window 软件,我买了 Parallels Desktop 这个装到 Mac 上,用 computer use 去操作他非常多的功能,完成代码编写以及 AI 都在 Mac 环境,但是调试验证在这个虚拟机里面,然后考虑到更真实的效果,我去整了一台 ThinkPad X1,也让他 24 小时开机,然后用 UU 远程连接,让我的 Mac 可以使用远程终端以及 ssh 还有 UU 也可以非常好的操作这台真实的 Windows 电脑,帮我去做大量的多环境测试验证、以及各种软件安装、卸载、清理的验收工作。除此之外,我的 Mac 还数据线连接了我的 Android 小平板,通过 Android 调试功能也可以让 AI 非常好的去操作这一台类手机设备,可以帮我打开 App 去查询操作一些没有 API/CLI 的服务,以及操作一些有意思的东西。
这样就好比 Mac 是我的研发主力端,但是他上面连接了一个虚拟机、一台 Windows 设备、以及一台 Android 平台,还有操作 Xcode 自带的 iPhone 模拟器,等到后面想开发 Linux,我甚至可以在 Windows 里面再装一个 Omarchy,那就配齐了,这样有一个好处就是我的 AI 工作上下文只在一台设备,外出的时候通过 UU 远程来操作 Mac 做所有的事情,甚至我感觉 UU 远程在命令行输入的时候不好用,我还自己用 Kaku 做了一个有意思的功能,可以在浏览器上完全镜像操作我 Mac 上的 Kaku,体验很不错,等后续放出给大伙试试。
一方面 AI 操作设备帮我验证各种环境、多维度的测试验证会消耗不少 Token,另外一方面的确开发工作量很大,平时一般是 Kaku 里面 7-10 个 Tab 的 Agent 在跑我的任务,这也是大伙看到我的 GitHub 为啥可以清空所有 issue 的原因了,哈哈哈。
然后平时也会使用 /loop 功能,帮我去做一些收集的事情,比如收集社交平台上大家对于我产品的建议、Bug 反馈,我会让 AI 连接我的 Notion 记录一个列表,收集各种问题建议,详细准备上下文,然后让我的 AI 解决后自动标记完成,以及完成记录。然后就是大家熟悉的 Waza,我基本上每周会用最好的 AI 模型去跑一遍我所有的对话、踩坑、以及最佳实践,然后沉淀到这个开源 Skills 合集里面去,这里也会消耗非常多 Token,不过好处是做了抽象沉淀,让这个东西自己进化起来了。
以及我自己的一些投资、记账记录等等,我会用 AI 自动化帮我去识别、查找、统计各种东西,节约了我的时间,给我做一些信息整理的工作,也非常好用。所以我的账号就是这么被用完了,欢迎小伙伴也说说你是怎么用的。
我终于没有忍住,又冲了一个 Claude 250 刀的账号,终于够用了,想和大伙聊聊我是物尽其用的如何用完 2 个 Claude Max 账号加一个 ChatGPT Pro 账号的。
我记得从 ChatGPT 3.5 开始以后,玩大模型的一般会有两个流派,一个是坚持使用当前最好的模型的人,一把梭把事情做完,但看着有点“败家”。还有一类是尽可能使用当前性价比最好的模型,通过多模型调研以及工程解法把一般模型发挥出接近好模型的效果,不过这里一般会多花一点时间。
两种用法我感觉都挺好,属于不用工程师性格的选择,我平时时间不太够,加上当时在做业务 AI 落地的时候,会有一个习惯使用当前业界最好的模型去测试效果,这样心里有一个底,知道当前模型高度以及更好的业务判断,等到 25 年初 Claude CLI 出来,体验到了那种厉害模型写代码的效果后,一直就坚持选择当前最好的模型来做自己的事情,然后从 1 个 20 刀试试,到 2 个 20 刀,然后到 1 个 125 刀然后 250 刀的账号,然后到现在 2 个 250 刀账号,属实不敢想,当时 AI 没有出来前,包一个爱奇艺电视会员几十块一个月都会觉得贵的人怎么现在对 AI 这么能花钱,也是神奇。
当前对于 Claude 普通任务我会选择更快的 opus 5.5 medium 档位,复杂任务使用 high,然后对于 Codex 默认用 GPT-6-Astra medium,因为他的其他模型的确不是很好用,不过有一说一 Codex 的 computer use 是真的好用,所以在 Claude 里面我也会通过 lcu 这个工具让他去调用 Codex 的 computer use,效率效果都好不少。
聊起 computer use,以及 AI 操作设备,这一块就非常好玩了,最近开发一些 Window 软件,我买了 Parallels Desktop 这个装到 Mac 上,用 computer use 去操作他非常多的功能,完成代码编写以及 AI 都在 Mac 环境,但是调试验证在这个虚拟机里面,然后考虑到更真实的效果,我去整了一台 ThinkPad X1,也让他 24 小时开机,然后用 UU 远程连接,让我的 Mac 可以使用远程终端以及 ssh 还有 UU 也可以非常好的操作这台真实的 Windows 电脑,帮我去做大量的多环境测试验证、以及各种软件安装、卸载、清理的验收工作。除此之外,我的 Mac 还数据线连接了我的 Android 小平板,通过 Android 调试功能也可以让 AI 非常好的去操作这一台类手机设备,可以帮我打开 App 去查询操作一些没有 API/CLI 的服务,以及操作一些有意思的东西。
这样就好比 Mac 是我的研发主力端,但是他上面连接了一个虚拟机、一台 Windows 设备、以及一台 Android 平台,还有操作 Xcode 自带的 iPhone 模拟器,等到后面想开发 Linux,我甚至可以在 Windows 里面再装一个 Omarchy,那就配齐了,这样有一个好处就是我的 AI 工作上下文只在一台设备,外出的时候通过 UU 远程来操作 Mac 做所有的事情,甚至我感觉 UU 远程在命令行输入的时候不好用,我还自己用 Kaku 做了一个有意思的功能,可以在浏览器上完全镜像操作我 Mac 上的 Kaku,体验很不错,等后续放出给大伙试试。
一方面 AI 操作设备帮我验证各种环境、多维度的测试验证会消耗不少 Token,另外一方面的确开发工作量很大,平时一般是 Kaku 里面 7-10 个 Tab 的 Agent 在跑我的任务,这也是大伙看到我的 GitHub 为啥可以清空所有 issue 的原因了,哈哈哈。
然后平时也会使用 /loop 功能,帮我去做一些收集的事情,比如收集社交平台上大家对于我产品的建议、Bug 反馈,我会让 AI 连接我的 Notion 记录一个列表,收集各种问题建议,详细准备上下文,然后让我的 AI 解决后自动标记完成,以及完成记录。然后就是大家熟悉的 Waza,我基本上每周会用最好的 AI 模型去跑一遍我所有的对话、踩坑、以及最佳实践,然后沉淀到这个开源 Skills 合集里面去,这里也会消耗非常多 Token,不过好处是做了抽象沉淀,让这个东西自己进化起来了。
以及我自己的一些投资、记账记录等等,我会用 AI 自动化帮我去识别、查找、统计各种东西,节约了我的时间,给我做一些信息整理的工作,也非常好用。所以我的账号就是这么被用完了,欢迎小伙伴也说说你是怎么用的。





















