# 个人开发者tw93的开源实践与启示

- 来源：向阳乔木 (@vista8)
- 发布时间：2026-05-23 23:50
- AIHOT 分数：67
- AIHOT 链接：https://aihot.virxact.com/items/cmpij0u8l0xi9sljw2a72iqcr
- 原文链接：https://x.com/vista8/status/2058213893638689266

## AI 摘要

个人开发者tw93在全职工作与家庭之余，独立开发了妙言、Pake、Mole等六款深受海外用户欢迎的开源工具。其产品均始于解决自身痛点，如Mole因精准清理程序员电脑缓存，超过70%的用户来自海外。tw93强调产品美学与极致完成度，并将工程实践与AI协作经验沉淀为开源技能库Waza。他的实践展示了如何通过解决真实问题、坚持开源社区协作以及将AI作为协作伙伴，构建具有全球影响力的项目。

## 正文

http://x.com/i/article/2058212813622087680

# 「未来硅世界16期」访谈：tw93的开源故事和经验

一个人，有正职，有家庭，还有个小女儿。

却在 13 年里，靠着长假、早起、和游泳池边的笔记本，做出了六款被硅谷 CTO、Pinterest、YC 创始人都在用的开源工具。

这位大神的 X 账号是 HiTw93，GitHub ID 是 tw93。

> https://x.com/HiTw93

> https://github.com/tw93/

## 六个产品，六个"自己先用烦了"的故事

tw93的第一个产品妙言，起因很简单：找不到一款顺手的 Markdown 编辑器。

他本职是前端工程师，讨厌 Electron 那种重框架，就决定学 Swift 自己写一个。

边学边做，做完刚好学会了 Swift，顺手还摸透了 Apple 底层的渲染性能。

比如 Markdown 标题的语法高亮，直接用正则去写，性能远高于 Web 渲染的编辑器。

妙言到今年已经快 6 年了。

Pake 的起源也是很巧合。

他有个习惯，每年会分享一次自己电脑上装的好用工具。

那一年他喜欢用微信读书，但微信读书没有桌面端，就用 UI 框架打包了一个。

发出去以后，大家发现他分享的软件里将近三分之一是自己写的，纷纷来问微信读书那个怎么打包的。

代码也就几百行，他就顺手开源了。

没想到 Pake 在国外比国内火。

老外很喜欢把网页打包成 Mac 客户端，但用 Electron 打包太重，Pake 刚好解决了这个问题。

很多台湾的朋友帮他推广宣传，因为他们特别喜欢打包这件事。

潮流周刊的起源更早，大概七年前他开始带团队，发现团队的技术氛围不够强，就立了个 flag：每天早上看一些开源工具和技术资讯，整理成内部周刊发在公司语雀上。

后来很多人离职，问他能不能在外面看，他就顺手放到了 GitHub 的 README 里。

过了半年，国庆在老家，花了两天时间做了个网站，就这么发出去了。

Mole 的前身是他在本地跑了一年的 Shell 脚本，快 1000 行，专门清理程序员电脑上的垃圾缓存。

他每年会买很多正版清理软件，比如 iStatistica、CleanMyMac，但觉得太重。

去年国庆带宝宝去三亚度假，游泳池边放了台电脑，游一圈回来歇着的间隙，把 Mole 的第一个版本写出来了。

Kaku 是他 fork 了一个终端工具，在本地改了半年，过年期间才发出来。

他最早用一款极轻量的终端，配得很好看，但 AI 时代来了以后必须多窗口，那款工具不支持。

找来找去，只有一个项目改得动，就自己动手了。

Kami 的起源是他做投资。他七八年前开始投资美股，本地写了一套多 agent 的投资分析系统，但 AI 生成的报告太丑，就按自己的审美调了一版。

后来看到推特上大家发的报告也不够好看，就开源出去了。

顺带一提，他还在做一套自己的字体，目前完成了三分之一，因为他常用的那款字体（仓耳今楷TsangerJinKai）是商业字体，开源产品可以用，但涉及商务合作就麻烦了。

Waza 是他把将近一年、五六个 G 的 Claude 对话记录沉淀出来的工程技能库。

他用 AI 分析了所有对话，按项目维度、时间维度拆解，提炼出最佳实践，包括怎么回复海外用户的需求、哪些 PR 该合、哪些功能该做。

这个逻辑贯穿了他所有产品：不是先想"我要做什么"，而是先碰到了一个让自己难受的问题，顺手把它解掉。

## Mole 为什么 70% 的用户在海外？

Mole 发布后，超过 70% 的用户来自海外，原因有几层：

第一，老外其实更节俭。

欧美用户会把一台 Mac 用很多年，用久了会很卡。

用 Mole 清了 60G、100G 的垃圾，他们会非常激动，然后疯狂去推广。

tw93说，老外说话夸张，会直接说"我要给你跪下，你是个天才"。

第二，更懂程序员的"清理"工具。

传统清理软件不关心程序员的各种开发工具的缓存等，比如CleanMyMac等工具，出于安全考虑，不会去动那些深层的开发缓存。

但 Mole 是程序员写给程序员的，知道哪些东西可以清。

第三，开源本身就是最好的产品迭代机制。

Mole 有 300 个 PR，100 个贡献者，全是海外用户。

每个人的电脑环境不同，国家不同，技术工种不同，这些贡献让 Mole 能清理的东西越来越多，这是任何公司产品都做不到的。

当然也踩过坑。第一版发布时，因为tw93自己的环境偏前端，没有数据库相关配置，结果把一个用户 JetBrains 数据库工具里存在 cache 目录的账号密码全清掉了。

那个用户很生气，他也很抱歉。

这件事让他意识到，很多客户端产品的文件路径规范极其混乱，普通用户不关注，但清理工具必须关注。

Mole 后来给 JetBrains 全系产品开了白名单，也因为这个教训越做越严谨。

还有一个细节能说明 Mole 的热度。

他当时把两张图片放到了 Vercel 的 CDN 上加速，不到一周，Vercel 发来紧急通知说他欠了 80 美元。

他以为不可能，去查了一下，发现就是那两张图片，用了 80T 的流量，就几分钟时间。

他立刻意识到，这个 README 有大量的人在访问。

## 第一款付费产品，每 10 秒收一笔钱

Mole 推出桌面端时，tw93周一晚上 10 点发布，因为白天在上班。

发出去之后，手机大概每 10 秒响一次支付通知，后来连 iPhone 都开始发烫。

睡觉前，他不得不把 Google 的通知全部关掉，不然睡不着。。

定价 9 美元终身买断，很多人说他卖太便宜了。

当然也有喷子说，你不就把 CLI 包了一下吗？

他觉得无所谓。他本来就不是靠这个赚钱的。

他最开心的是，有人用了以后愿意主动打赏。免费的东西，有人愿意付钱，说明做的东西是有意义的。

手机弹出微信通知"谁谁谁又给你打赏了"，他说那种感觉真的会很开心。

支付对接用的是 Dodo Payment，一家印度小哥创立、注册地在美国的支付平台。

他之前试过 Stripe，走到最后一步，对方要香港身份证，卡死了。

Lemon Squeezy 也要求提供公司信息，个人用不了。

后来在推特上看到有人推荐 Dodo，花了一个下午接好，发布了。

不过支付平台会收 16%、17% 的税，后来 Dodo 的 CEO 办公室的人主动在推特上找到他，把他拉进了专属服务群，还给了一些费用减免。

关于收款，他有一个实操建议：超过 1 万美元，立刻会有很多人来找你核查，非常麻烦。尽量把钱放在香港卡或新加坡卡，不要直接汇回国内。

他自己就因为这个折腾了几次，最后把钱退回去重新想办法，不过他夸了招商银行的服务人员会为客户着想。

## Waza：把自己的工程经验，变成 AI 的本能

tw93有一个习惯：每周花一小时，让 AI 分析他过去一周的踩坑记录，然后更新 Waza。

Waza 是他的 Claude Code 技能库，但跟大多数人写的 Skills 不一样，他 70% 是代码，只有 30% 是 Markdown 文档。

原因是：MD 只是告诉 AI 怎么干活，代码是让 AI 能基于它去扩展。

他不喜欢那种把 AI 手脚拴住的框架，比如 Superpower、Spec 编程，觉得太重，而且会拖模型能力的后腿。

他更愿意把 AI 当朋友，而不是外包或下属。

他说，Claude 4.6、4.7 出来以后，模型能力越来越强，你越约束它，其实是在拖它的后腿。

Waza 里有 8 个 Skill，覆盖的不只是写代码，还有怎么推进项目、怎么做技术方案、怎么写让读者看得懂的文档、怎么画设计稿。

因为在他看来，一个工程师只有 30% 的时间在写代码，其余的能力同样重要。

Waza 本身也会自我迭代。

它知道自己的迭代方式，所以tw93只需要定期喂给它新的踩坑记录，它会自己更新。

现在 Waza 也支持了 Codex，因为他自己开始用 Codex 了，所以它也去分析 Codex 的对话记录。

他本地还有一个基于 Waza 的私人 agent，专门帮他处理开源项目的 issue 和 PR。

这个 agent 知道他对 Mole 的调性要求，知道哪些功能坚决不能合，哪些 PR 写得有问题但可以改好，哪些直接不合适。

他把自己从最耗时间的事情里解放出来，专注于写新功能。

## 为什么他的东西好看？

很多人用完tw93的工具，第一反应是：怎么这么好看？

他给了几个原因。

大学时保研后有大量空闲时间，把图书馆里所有前端和设计相关的书都看完了。

设计思维、极简主义、日本设计原理，那个阶段打下的审美底子，后来工作了才慢慢显现出来。

入职后，他最喜欢跟设计师玩，经常一起讨论设计细节，受他们审美影响很深。

后来负责整个部门的 ToB 产品，发现用文档跟人对齐方案，大家理解都不一样。

最后发现最有效的办法是直接画一张高保真 Sketch 稿，发群里拉个会，大家立刻就 get 了。

为了不让一件事反复讨论，他逼着自己学会了画稿。

还有一个更底层的原因：他是强迫症。

他说自己刚入职时，QA 同学测不出他写的页面有 bug，他的代码可以免提测直接上线。

这个习惯一直延续到做开源产品。做到 75 分没 bug 不够，他要做到 95 分。

不是为了炫技，是因为他受不了丑的东西，也不想让用户反复来问他。

他最近还在看元至清的中国古画，以及日本设计原理方面的书。

他说很多古画看不懂意境，但看画家怎么画马、怎么构图，还是能 get 到一些东西。

## 关于长期主义，他说的最实在的一句话

"长期主义能帮你更好地偷懒。"

他在一家公司工作了 11 年没换过。

他买特斯拉股票是在 100 多美元，买英伟达股票是在 80 多美元，买了以后从来不卖，一年只操作两三次。

他说他很讨厌做判断，因为一旦有多个选项就会很纠结，那几天都会很难受。

所以他尽量在需要做判断之前，就把很多事情提前决定好，这样就不用反复纠结了。

长期主义在他这里不是口号，是一种减少决策消耗的生活方式。

他的 GitHub 只有 6 个 pin 位，全占满了，不会再开新坑。

他认为，同时做 100 个产品，100 个都做不好。把现有的几个维护好，复利会越来越强。

Mole 发布半年，已经迭代了将近 40 个版本，用的人越来越多，知道这个产品的人越来越多，这才是真正的积累。

他还提到一个反直觉的观察：妙言在真正公布之前，已经迭代了半年多，用户量一直很少。

一推出去，数据直接从平线拉起来。

酒香也怕巷子深，你还是得在适当的时候把门面讲清楚。

## 给非技术人用 vibe coding 的建议

他说，非技术人做产品，最大的风险不是写不出代码，而是不懂通识，半年后代码跑不动了，自己也不知道出了什么问题。

他举了个例子：AI 能把一个产品做到 80% 很容易，但从 80% 到 100%，可能要花 80% 的时间。

很多人不懂这一点，觉得前端也就这么回事，后端也就这么回事，我什么都不会，app 就写出来了。

但这个 app 想从你能用到 100 个人能用，中间有大量你发现不了的 bug，因为你不具备找 bug 的能力。

他推荐了几本书：

- 《人月神话》：理解为什么软件项目不能靠堆人解决，AI 时代同样适用

- 《启示录》：理解怎么做产品取舍、怎么定义最小闭环、怎么规划里程碑

- 《左耳听风》（耗子哥的博客和书）：理解一个资深工程师是怎么看问题的

- 《Linux/Unix设计思想》：一本很薄的书，讲原子能力、管道、系统设计的底层逻辑，他说大学看完以后有种"功力大增"的感觉

他的核心观点是：你不需要会写 React，但你要知道什么时候该用 React、什么时候只需要一个静态服务器。

这种判断力，才是 vibe coding 时代真正的护城河。

## 最值得收藏的一个观点

他说，在 AI 时代，真正的壁垒不是你做出了什么工具，而是你和 AI 的聊天上下文。

别人可以把你的产品蒸馏走，但没办法蒸馏你踩过的坑、你的判断逻辑、你和 AI 反复打磨出来的那些失败路径。

他特别强调：记录失败比记录成功更重要。

成功的东西大家只看结果，失败的路径才能告诉你下次怎么绕开。

就像线上系统挂了，你一定会去查挂在哪里，但系统跑得好的时候，没人会去研究它为什么好。

关于记忆系统的设计，他有一个很有意思的框架：按照人类记忆的方式来设计。

大语言模型本来就是基于人类语言训练的，所以记忆系统也应该像人一样，有项目上下文记忆（当前在做什么）、短期记忆（最近遇到的卡点）、长期记忆（历史积累）。

他不太推荐直接给 AI 灌知识库，因为知识会过期，灌进去的人可能自己也不知道哪些已经过时了。

把你和 AI 的所有对话记录保护好，把 AI 帮你干成和干失败的记录都保存下来。

这些东西，才是别人学不走的东西。

## 出海商业化的几个实操细节

如果你打算做出海产品，他的经验是：

个人身份对接商业资源，天然处于劣势。

建议注册一家美国小公司，费用不高，每年记得报税就好。

有了美国公司主体，App Store 账号、支付平台、云服务商，都以公司名义对接，中国个人身份的限制就绕开了，税率也会低一些。

支付平台不要自建，也不要用那些知名大平台。

Stripe 对中国个人限制很多，走到最后一步会卡死。他推荐 Dodo Payment，印度小哥做的，注册地在美国，响应速度快，能处理全球支付和各国税务合规，包括欧盟要求的 14 天无理由退款政策。

售后系统不要过早做。

前期专注把主产品做好，用户量还不大的时候，手工回邮件、手工点退款就够了。

很多程序员喜欢把所有东西都自动化，但这个阶段的精力应该全放在产品本身。

这场对话里，tw93反复说的一件事是：他的所有产品，都是先解自己的问题，然后发现有人跟他有同样的问题，才开源出去的。

这个逻辑听起来简单，但能坚持 13 年、做出 6 个有人用的工具，背后是他对"不做什么"的极度克制，对"做好一件事"的极度专注。

如果你现在也在想做点什么，他的建议是：先找到那个让你自己最难受的问题，把它解掉。

不用想太多，先解自己的问题。
