Cactus: 运行在手机上的 Ollama!

Cactus: 运行在手机上的 Ollama!

你没看错,真的有一套“像 Ollama 一样强”的 AI 本地运行工具,可以跑在你的手机上,离线、不上传、不联网,还能跑 LLM、识图、语音合成!这个项目叫——Cactus

如果说 Ollama 是本地 AI 的“桌面大将军”,那 Cactus 就是“口袋 AI 武士”。它让你在 iPhone、安卓手机,甚至是树莓派等设备上本地运行大模型,彻底改变我们对“边缘设备只能做小事”的偏见。


🌵什么是 Cactus?

Cactus 是由 YC 2025 夏季创业营孵化的开源项目,全名叫 Cactus Compute,目标非常简单粗暴:

“让智能手机也能跑语言模型、图像识别、语音合成,离线、本地、快速。”

从 GitHub 可以看到,它不仅支持多模态模型(LLM + 图像 + 语音),还专为移动端深度优化。你甚至可以像用 Ollama 那样 cactus.chat(),只不过运行的不是 Mac,而是你手里那台安卓机。


🤖 它到底能干嘛?

✅ 本地大语言模型(LLM)

支持 Qwen、Gemma、Llama 等 GGUF 格式模型,本地运行无压力。比如:

  • Qwen 1.5 4B:在 iPhone 16 Pro 上能跑到 18 tokens/s
  • Gemma 1.1 2B:更快,达到 54 tokens/s

🖼 图文对话(VLM)

你可以用图+文字进行推理,比如让它看一张图问:“这是什么建筑?”或者“这张图里的人开心吗?”

🗣 本地语音合成(TTS)

直接在手机上生成语音,不用依赖云服务,适合做聊天机器人、语音播报等功能。

📎 各类系统工具接入

支持调用相册、相机、提醒、消息等本地 App 功能,这意味着你的 AI 助手真的可以提醒你喝水、拍照识物、自动回复短信!


🧠 Cactus 怎么和 Ollama 不一样?

功能 Ollama(桌面) Cactus(移动端)
是否本地运行 ✅ 是 ✅ 是
支持平台 macOS, Linux Android, iOS, 树莓派等
多模态支持 ❌ 仅限文本模型 ✅ 支持图像+语音
依赖网络 ❌ 无 ❌ 无(可选云回退)
接入系统功能 ❌ 无 ✅ 本地 API 可调用
社区活跃度 🔥 非常活跃 🌱 新兴但活跃

一句话总结:Ollama 是桌面端 AI,本地强者;Cactus 是移动端 Ollama,隐私卫士+多模态超人。


📊 性能表现实测

设备 模型 速度(tokens/s)
iPhone 16 Pro Qwen 4B 18
一加 13 Gemma 2B 43
Galaxy S24 Ultra Qwen 4B 14
Pixel 7 Qwen 4B 7

即使是中端机也能维持不错的推理速度,完全能满足日常对话、图片问答、语音生成需求。


🚀 怎么开始用?

只要你是 Flutter 或 React Native 开发者,用起来就跟调用一个 API 差不多:

final lm = await CactusLM.init(
    modelUrl: 'gguf://qwen-1.5-1b',
    contextSize: 2048,
);

final response = await lm.completion(
    [ChatMessage(role: 'user', content: '你好!')],
    maxTokens: 100,
);

C++ 开发者也有接口可用,未来还将支持 Kotlin 和 Swift。


🧩 模块化设计 + 云端备份(Optional)

  • 模块化结构:每个模型、API、系统接口都能按需引入,开发更灵活。
  • 云端降级模式:在本地推理失败时可回退到云 API,稳定性 +1。
  • 聊天模版系统:支持 Jinja2,自定义 Agent 非常容易。

📦 模型去哪找?

Cactus 提供了 Hugging Face 页面:https://huggingface.co/Cactus-Compute

支持各种预量化模型(Qwen、Gemma、LLaMA3、Phi3),都可以直接部署到手机。


💡 应用场景灵感

  • 私人语音助理(纯本地)
  • 旅行拍照识图助手
  • 离线中文聊天机器人
  • 本地搜索摘要引擎
  • 儿童故事讲述机器人
  • “不联网”的私密日记助手

🧃结语:手机也能做 AI 的事

别再以为“大模型只能跑在显卡上”。现在,你的手机,就可以是 Ollama 的继任者。Cactus 带来了真正“去中心化 AI 推理”的可能:没有 GPU、没有云、没有月费订阅,你的手机就是你的 AI 中心。

有趣的是,它还在快速进化中——如果你是开发者,不妨去 GitHub 看一眼;如果你是 AI 爱好者,不妨试着把它跑在你旧手机上,说不定你会发现一块宝藏:

👉 github.com/cactus-compute/cactus

Read more

一次意想不到的性能问题排查

一次意想不到的性能问题排查

最近几天遇到了一个令人头疼的问题:后端 API 接口响应越来越慢,有时甚至会出现假死状态,完全无法响应请求。唯一的临时解决方案是重启后端服务,但过不了多久问题又会重现。 初期症状: * API 响应时间从几十毫秒逐渐增长到几秒 * 随着服务运行时间增长,性能持续下降 * 最终会进入假死状态,必须重启才能恢复 * 重启后短时间内运行正常,然后重蹈覆辙 排查过程 这种"越跑越慢"的症状让我首先怀疑是内存泄漏或资源未释放。我尝试了多种方向: 1. 优化缓存策略 面对性能问题,第一反应是减少不必要的计算和请求: 后端 Redis 缓存 * 将频繁查询的数据加入 Redis 缓存 * 对热点接口实施缓存层 * 设置合理的缓存过期时间 前端静态资源优化 // 为静态文件添加版本号/随机码,实现持久化缓存 <script src="/app.js?v=a8f3c2d1">

By 王圆圆
理解爱

理解爱

一、童年的禁忌 童年时期,我对"爱"这个字有一种说不清的抗拒。那时候如果喜欢上某个女孩子,我会感到羞耻,仿佛这是一种不该有的情感。我不知道这种感觉从何而来,只是本能地觉得——这样不对。 中学时借宿在邻居家,几个同龄男孩在夜里聊起那些露骨的话题,讨论女人的身体如同讨论一件器物。我坐在黑暗里,心中涌起强烈的抗拒。我觉得女性是神圣的,怎么能被如此低俗地对待,被工具化成谈资和玩物?那一刻,我认定他们是"坏孩子",而我守护着某种更高尚的东西。 大学时代,周围充斥着粗俗的口头禅和随意的恋爱观。有人把恋爱当作满足生理需求的手段,我在心里不屑——这种爱不干净,这不是我理解的爱。 二、理想的碎片 毕业后独自生活,我始终与女孩子保持着某种距离。我心里有个信念:女孩子应该被保护、被关爱。这个信念像一面镜子,让我用特定的方式打量这个世界。 然而,当我真正进入职场,与形形色色的女性共事后,我的理想开始出现裂痕。我发现有些女孩子会利用自己的性别优势,她们结成小团体,排斥异己。

By 王圆圆