WitNote 2.0.1:一次 macOS 原生重构,也把本地 AI 放回了自己的 Mac

hashtome 2026-08-07 18:16 1

大家好,我是 WitNote 的独立开发者。


这是 WitNote 2.0.1 。对我来说,它不是一次普通更新,而是一次把自己第一个 Vibe Coding 项目推翻重做的记录。


去年开始做 WitNote 时,我会写 Markdown ,也会大量使用 AI ,于是想做一个真正围绕写作的工具:不把文章复制进网页,而是在自己的文件夹里写作,让 Markdown 、本地文件和 AI 放在同一个工作流里。为了快速验证想法,第一版用了 Electron 。


Electron 让我很快做出了能运行的产品,也让我第一次经历了开源、上架、审核、推广和有人付费。但真实用户出现以后,启动速度、内存、界面响应和 macOS 融合感的问题也一起出现了。“能用”和“真正好用”之间,还有很长一段距离。


当 WitNote 越来越强调本地 AI ,我开始重新想:既然它主要给 Mac 用户使用,为什么不真正用 Swift 和 Apple Silicon 的 MLX 路线重做?于是大约两个月前,我决定从 Electron 转向 Swift 原生 macOS 。文件系统、Markdown 编辑器、窗口状态、模型运行、权限、沙盒、StoreKit ,几乎都要重新处理。


这次重构里 Codex 也成了重要的开发搭档。我会先让它理解旧版功能,再一起讨论原生 macOS 应该怎么设计;它帮我写代码、查 Bug 、做重构,我负责判断哪些功能该留下,哪些应该删掉。Vibe Coding 并没有让产品自动变简单,却让我能一边做,一边更快理解架构、性能、权限和用户体验。


2.0.1 留下了什么



  • Swift 原生 macOS 写作工作区:本地 Markdown 文件夹、编辑/预览分栏、Focus Mode 、Finder 打开文稿。

  • 随 App 内置 Qwen3 0.6B 4-bit 模型,通过随包的 Swift MLX runner 和 Metal library 在 Apple Silicon 上运行,不依赖 Python 或额外开发工具。

  • AI 是可预览、可拒绝的辅助动作:标题、语法、润色、摘要、选区解释/改写、结构检查、阅读摘录、双语翻译和写回前 Diff 。

  • PDF 、Word 、表格、图片、EPUB 预览与 Markdown 旁注、多格式导出。


我最在意的是:用户选择的文件夹就是工作区,文章仍是普通 .md 文件,不被锁进私有格式。内置模型默认在本机推理,不把草稿默认交给第三方托管 AI ;但小模型有速度、内存和上下文边界,它不是万能 Agent ,也不宣称替代云端大模型。


2.0.1 已通过 App Store 审核:https://apps.apple.com/app/id6756833873


如果你是 Mac 用户、程序员或独立开发者,欢迎试试,也想听听内置 Qwen3 0.6B 的真实速度、Markdown 工作区和本地 AI 动作是否符合你的工作流。这个版本不是终点,而是 WitNote 真正开始长期维护的起点。


送 50 个 WitNote Pro 一次性内购兑换码


这是 App Store 的 IAP Offer Code,不是 App 下载码。兑换后用于解锁 WitNote Pro Lifetime ,一次性使用,有效期至 2026-09-30


兑换方式:在 App Store 或 App 的兑换入口选择“兑换礼品卡或代码”,输入下面任意一个代码。用过后请回复代码编号,避免后来的人重复尝试;如果兑换失败,也请说明代码编号和系统环境。


01  74R46J6E3RXRYMMJA3
02 8FFYLXEAH7A63E8XM3
03 JJRXENE4L4H4MN33MM
04 FW868TKKMNJYF4AR48
05 KLJPEXKKP3FNT4JXLL
06 WLMY66LAWKF7AM8RLJ
07 86FKFARNTPEELYY6J6
08 AYTHN3LNXL7PF7KR8H
09 T6PPWTXKTX4EEEXWXA
10 M474X7YAXWE3WXL8TA
11 7NEHPMF6MW668J3PXM
12 RFPERJE6KNFHFPEK7A
13 N34W6L34JTX8W7JT4W
14 KW4KJLNHERFY76P3TP
15 7WN6NWKM46K7867YXN
16 F67MJNXP6RE4NTF83M
17 RTKA48MRMFWHK8EM7R
18 PALE3F4LXANE74RPX6
19 JHKF76WXW888Y7M7WE
20 WJ87A637PTNK3JKPY3
21 XREWPF4F8LXP8P3LH8
22 W6MMRAPAN6PHR46JE7
23 FRXWKYYAJL8YEAAPJT
24 E867A4FEK8E4RRHPEP
25 FYELMAHKKLWAFJ74LE
26 8PT483AET77JLNANX6
27 AETMXXPL3JNJKY3744
28 NYNA8EWTEH4HYKX6HW
29 47E6R6WK8YXFMP7HMR
30 KP4LRYYYJ3J6EXNNJM
31 XP7AM7JXYNPN3XPYJY
32 RA3EJLHMKWLYMKJN6Y
33 JLJ4PTLRT63WWHK464
34 W66YHARHEXLL7M886W
35 HENXLRFYWRRYWRTAM7
36 K3KLXEHNRL367P6NM7
37 87LW4PE6M8LHNFXKWF
38 HFTWYH6H473Y37XTN4
39 RKH36MHNF8KAN7PW8Y
40 P8Y8XANJWMHT4YK4PY
41 F6T48KK4WWRJA7JW83
42 4EXELRT3AJPRL4MT7K
43 KRNXKKLRATTRWEKTTW
44 E7PHTA4LKPJ8NE4XMJ
45 JJKXXXX33MMPLREMLF
46 A4WF3HFAJKPNP446FP
47 6TYWPMKRH43JPJH8H6
48 NHPL83PLNFEEHXYKNY
49 863FN6XYAE8FW74YPA
50 4PEFP3F46HXMKPNM88

谢谢大家。如果你愿意试,欢迎把真实体验和不顺手的地方直接写在回复里。

最新回复 (37)
  • bao626 08-07 19:46
    1
    33 已,谢佬~先试用几天哈
  • Shayan 08-07 19:49
    2
    47 已用,感谢
  • nonozone 08-07 19:53
    3
    感谢 39 已用。
  • 83f420984 08-07 19:58
    4
    Markdown 开启编辑和预览快速滚动的时候感觉有点卡顿,看看能不能引用这个库进行优化?

    https://github.com/liyanan2004/MarkdownView
  • nonozone 08-07 19:58
    5
    首先反馈几个小 bug ,我加载了一个 以前用 typora 写的文件夹,可能里面文本有点多,点开目录的时候,有点卡,会卡住 。第二, 你看我的格式,明明 MD 没问题的,但是把第一段都识别成了标题,除非我再次回车一次才行。

  • NafIyIz 08-07 20:53
    6
    44 已用
  • hashtome 楼主 08-07 21:08
    7
    @83f420984 谢谢测评,这里我研究下,我做了一个性能优化,就是滚动结束右侧才会追踪,因为如果实时追踪就会真卡顿,这里牵扯万字长文的性能优化问题,谢谢您的反馈我下一步取舍一下这个算法。
  • hashtome 楼主 08-07 21:09
    8
    @nonozone 是的我看到了,这个我研究下,可能是其他 md 格式的识别出错了,我研究研究哈,谢谢大哥测试
  • iThink 08-07 21:43
    9
    #10 已用,谢谢
  • hashtome 楼主 08-07 21:50
    10
    @bao626 记得反馈 bug 谢谢老板
  • hashtome 楼主 08-07 21:50
    11
    @iThink 记得反馈 bug 谢谢老板
  • marcoseaver 08-07 23:26
    12
    #24 已用,谢谢
  • Rokaki 08-07 23:31
    13
    #28 已用,谢谢🙏
  • hashtome 楼主 08-07 23:48
    14
    @marcoseaver 得反馈 bug 谢谢老板
  • xingheng 08-07 23:49
    15
    #08 已用,谢谢
  • hashtome 楼主 08-07 23:51
    16
    @xingheng 谢谢测试,大家都是夜里才开始玩电脑么?
  • hellsakura 08-08 00:47
    17
    #17 已用,先试试看能不能习惯
  • Uinx 08-08 02:00
    18
    20 已用
  • zhs227 08-08 06:54
    19
    下载了一个简单试了一下,不记得用了 31 还是 37 ,挺好用,只是本地这个 AI 目前看来还是比较弱,其它探索中
  • lstt 08-08 07:34
    20
    45 已用,谢谢
  • org100 08-08 11:13
    21
    4EXELRT3AJPRL4MT7K 42 兑换了
  • hashtome 楼主 08-08 11:22
    22
    @zhs227 上一版本就是 AI 做的功能太多给人误导,这次我就弱化了 AI 场景、简单聊天润化都在聊天框引导一下,双语翻译座位重点
  • marcoseaver 08-08 11:25
    23
    @hashtome #14 发现一个情况,点 x 关不掉,窗口会自己还原打开(包括还原窗口大小)。是设置问题吗?
  • hashtome 楼主 08-08 11:43
    24
    @marcoseaver 这个不是,应该是程序问题 我最近收集奇怪 bug 最后统一更新 2.0.2
  • MicroPan 08-08 14:26
    25
    50 已用, 谢谢
  • wangbingxu 08-08 15:39
    26
    试试看,36 用了
  • Vvictor 08-08 17:05
    27
    离大谱了,为啥我用了优惠码,在 appstore 里点升级 pro 还花了 148 元,op 这是咋回事
  • hashtome 楼主 08-08 17:06
    28
    @Vvictor 你用错了!!!!!这个是直接在商店后台输入优惠码 直接下载的·····不是在里面点升级的····
  • hashtome 楼主 08-08 17:06
    29
    @Vvictor 你撤销订单就行了 苹果的政策很开放的 写一个退款邮件就行了
  • hashtome 楼主 08-08 17:12
    30
    @Vvictor 也就是在苹果商店右上角的充值礼品卡 然后把我给你输入 就是下载 内测版本了
  • Vvictor 08-08 17:14
    31
    @Vvictor 再次提醒大家别点应用里的升级 pro ,这里很有迷惑性。你即便用这个优惠码下载了应用,此位置并没有提醒你已经是 pro ,我就是误点了😫
  • Koma 08-08 20:31
    32
    奇怪的问题,45 号码我看 20 楼已经用过了,下午我兑换失败,一直卡住,可能代理有问题,然后换代理,报错失败(没说已使用),然后放弃。结果晚上发现下载好了, 购买记录也有。这不会对我账号有啥影响吧。
  • hashtome 楼主 08-08 21:19
    33
    @Koma 苹果后台并不完美,能用就行了,记得别点击升级,你已经是 vip 了,不用点的。
  • hashtome 楼主 08-08 21:20
    34
    @Koma 我的几的苹果开发者后台提醒,今天似乎是苹果的服务器升级的日子,会有这个问题的。不奇怪
  • CalledKingsley 08-08 21:29
    35
    奇怪,我本地下载过 app 了,而且一直也在用,之前也用过一次兑换,但是现在点击恢复购买居然说没有购买记录。 难道我失忆了吗
  • hashtome 楼主 08-08 21:32
    36
    @CalledKingsley 没事 现在苹果后台拉胯了 服务器崩了,然后我测序本身还在内测,这里也没做好,以后出现问题别怀疑 https://developer.apple.com/system-status/ 看看苹果服务器状态就知道了。你先用,这次 bug 多,升级后应该都能修复
  • CalledKingsley 08-08 21:39
    37
    @hashtome #36 感谢回复,叨扰了,祝您万事如意
* 帖子来源V2EX
返回