社区讨论 · 赛道

周末用 Swift 给 Mac 搭了个私人 AI 助手

晴姐晴姐8月12日2026/08/12 155 浏览

先说结论:macOS 自带的能力比大多数人以为的多,用 Swift 写一个常驻的 AI agent,跑在自己硬件上,配一个 Telegram bot 当遥控器,这事一个周末就能搞定。全程不用租服务器,不用装 Docker,不用碰 Python。

我上周看到有人用纯 Swift 写了这么个项目,把私人 Telegram bot 和你选的 LLM(大语言模型,就是 ChatGPT 背后那种东西)接在一起,整个程序是一个 daemon。daemon 是后台常驻进程的称呼,类似你 Mac 上那些开机自动跑、不占窗口的程序。我边看边试,踩了几个坑,写下来给想动手的人。

准备阶段

先确认三件事。

系统版本。Apple 的 FoundationModels 框架是 macOS 26 才内置的,这个框架让你能直接调用系统自带的语言模型能力,不用自己接 API。你可以在 左上角苹果图标 → 关于本机 里看版本号,低于 26 的建议先升级。

装 Xcode。App Store 搜 Xcode,安装,大概几个 GB。装完打开一次,让它初始化。Swift 是苹果家的编程语言,Xcode 是官方 IDE(集成开发环境,就是你写代码、跑程序的那个软件),两个都得有。

创建一个 Telegram bot。Telegram 里搜索 @BotFather,给它发 /newbot,按提示起名字,它会回你一串 token(一串字符,相当于你 bot 的钥匙)。把 token 复制到备忘录里,后面要用。

上手操作

打开 Xcode,选 Create New Project,选 macOS 下的 Command Line Tool,语言选 Swift。这个项目类型最适合做 daemon,没有窗口,纯命令行跑。

建好之后,Xcode 会生成一个 main.swift 文件。把里面默认代码清掉,先写一个最简单的 HTTP 服务,作用是向 Telegram 服务器确认「我活着」。Telegram bot 的机制是轮询,你的程序每隔一两秒去问一次服务器有没有新消息,不用自己开端口。

核心代码大概三部分:

  1. 用 URLSession 请求 Telegram API,带上你的 token
  2. 解析返回的 JSON(一种通用的数据交换格式),拿到消息文本
  3. 把文本发给 LLM,再把回复发回 Telegram

第一个能跑通的版本不用写复杂。我建议先写死一句回复,比如收到任何消息都回 “hello”,确认链路通了,再接模型。

在 Xcode 里按 Cmd + R 运行,控制台会打印日志。这时候去 Telegram 给你的 bot 发一条消息,看到它回了 hello,恭喜,链路通了。

踩坑记录

我在这里卡了三个地方。

第一个坑:程序一关就没了。Xcode 里跑起来的进程,关了 Xcode 就死。要让它常驻,得把编译好的二进制文件放到 /usr/local/bin/ 下,再用 launchctl 注册成开机自启。这一步不复杂,但新手容易漏。launchctl 是 macOS 自带的服务管理命令,相当于告诉系统「这个程序要一直跑」。

第二个坑:首次运行弹权限提示。macOS 对网络请求和通知有权限管控,第一次跑的时候会弹窗问是否允许,记得点允许。如果不小心点了拒绝,要去 系统设置 → 隐私与安全性 里手动打开。

第三个坑:模型选择。你可以接远程 API,比如 OpenAI,也可以接本地模型。本地模型用 MLX 框架,这是苹果出的机器学习工具包,好处是数据不出机器,坏处是跑大模型时风扇会狂转,我这边试下来 7B 参数(一个衡量模型大小的单位,越大越聪明也越吃资源)的模型已经能让 MacBook 发烫。素材里有人做到 35.5MB 的完整 agent 包,非常轻量,但那是把功能砍到很极致才做到的。我建议第一次先用远程 API 跑通,再研究本地。

学完这个,下一步可以试什么

把语音输入接进来,macOS 自带 Speech 框架,能让 bot 听懂语音消息。或者去 GitHub 搜 swift agent macos,看看别人开源的项目,找一个功能多的改一改。素材里有个开发者完全不懂 Swift,靠 AI 辅助在 Xcode 里写完了整个 app,说明这条路是通的。


:pushpin: 本文编译自 Hacker News,原文:GitHub - ivan-magda/swift-claw: Your AI. Your machine. Always on. A personal assistant in one pure-Swift binary. · GitHub
版权归原作者所有,本文为基于公开报道的编译与独立分析。

2 条回复

?
Ctrl + Enter 快速回复
薇薇的店
薇薇的店8月12日

哈哈我也卡在系统版本这了… 老Mac跑不起来FoundationModels,升级完才好的。

路过
路过8月12日

等等,系统自带的模型效果咋样?跟API比会不会差太多?我上周刚跑通AI Agent,有点好奇这个本地方案的实际体验。