我的 Personal AI Agent 技术栈
我一直在寻找一个完整的 AI 助手方案。
不是那种每次都要打开网页、重新解释上下文的 ChatGPT。也不是只能回答问题的语音助手。
我想要的是一个「数字分身」——它认识我,知道我在做什么,能主动帮我做事,还能跟着我一起成长。
经过几个月的尝试,我找到了一套方案。
技术栈
Moltbot 作为核心。这是一个开源的 AI Agent 框架,基于 Claude。它不只是一个聊天机器人,而是一个能读写文件、执行命令、调用 API 的 Agent。
iMessage 作为通信渠道。国内可用,无需翻墙,支持语音输入。通过 BlueBubbles 桥接,消息直接发到 Moltbot。
Obsidian 作为知识库。本地 Markdown 文件,支持双向链接。通过 Obsidian Sync 多设备同步。Moltbot 可以直接读写这些文件。
GitHub 作为版本控制。所有配置、规则、记忆都在 Git 管理下。可追溯,可回滚。
Cloudflare Pages 作为发布平台。国内可访问,免费,自动部署。想分享的内容直接发布成博客。
架构图
┌─────────────────────────────────────────────────┐
│ 我 (手机/电脑) │
│ │
│ iMessage ←──────────────────→ Moltbot │
│ (语音/文字) (Claude Agent) │
└─────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────┐
│ Mac mini │
│ │
│ ┌──────────────┐ ┌──────────────────────┐ │
│ │ Obsidian │◄──►│ Moltbot 工作区 │ │
│ │ (知识库) │ │ - SOUL.md (性格) │ │
│ │ │ │ - USER.md (用户) │ │
│ │ brain/ │ │ - memory/ (记忆) │ │
│ │ ├─ cards/ │ │ - HEARTBEAT.md │ │
│ │ ├─ daily/ │ │ │ │
│ │ └─ ... │ └──────────────────────┘ │
│ └──────────────┘ │ │
│ │ │ │
│ ▼ ▼ │
│ ┌──────────────┐ ┌──────────────────────┐ │
│ │ Obsidian Sync│ │ GitHub │ │
│ │ (多设备) │ │ (版本控制) │ │
│ └──────────────┘ └──────────────────────┘ │
│ │ │
└────────────────────────────────│────────────────┘
│
▼
┌──────────────────────┐
│ Cloudflare Pages │
│ (博客发布) │
│ seedblog.pages.dev │
└──────────────────────┘
一天的使用场景
早上醒来,拿起手机。
iMessage 里已经有一条消息。是 Moltbot 发来的「Seed Daily」——今天的 AI 圈新闻摘要。它在我睡觉的时候爬了 Twitter,整理了我关注的几个话题。
看到一条有趣的消息:某个新协议发布了。我直接语音回复:「这个协议和我们讨论的方案有什么关系?」
Moltbot 开始分析。它知道「我们讨论的方案」是什么——因为昨天的对话都在它的记忆里。它搜索了相关资料,给出了对比分析。
我觉得有些想法值得记下来。我说:「把这个想法存到卡片里。」
它就在 Obsidian 的 cards/ 目录下创建了一张新卡片,自动打上标签,链接到相关的旧卡片。
白天工作的时候,遇到一个技术问题。
我发消息给 Moltbot 描述问题。它帮我分析,给出几个可能的方案。我选了一个,它直接帮我执行——读取配置文件,修改代码,运行测试。
结果出错了。
我说:「做个 postmortem。」
它就开始分析出错的原因,把这次经验教训记录到它的 learnings/ 卡片里,然后问我:「要不要更新 AGENTS.md,以后避免这种错误?」
我说好。它就更新了自己的规则文件。
下次遇到类似情况,它会自动按新规则处理。
晚上,我想把今天的思考整理成一篇文章。
我说:「把今天关于 XX 的讨论整理成博客。」
它就读取今天的对话记录和相关卡片,生成一篇 HTML。注意是 HTML,不是 Markdown——因为我要直接发布,不需要再转换。
它用的是我喜欢的风格:干净、留白多、短句有节奏、优化阅读体验。这些偏好都写在它的配置文件里。
然后它自动:push 到 GitHub,deploy 到 Cloudflare Pages,把链接发给我。
整个过程不到一分钟。
为什么是这套方案?
iMessage 是关键。
国内可用,不需要翻墙。手机原生支持,不用装额外 App。支持语音输入,躺床上也能用。消息推送可靠,不会漏。
Obsidian 是关键。
本地文件,隐私安全。Markdown 格式,不依赖任何服务。双向链接,知识可以自然生长。有 Sync 可以多设备同步。最重要的是:Moltbot 可以直接读写这些文件,它就是我的「外脑」。
Cloudflare Pages 是关键。
国内可访问,不像 GitHub Pages 被墙。免费,无限流量。支持自定义域名。和 GitHub 集成,push 即部署。
Moltbot 是核心。
开源,可以自己部署。基于 Claude,能力足够强。有完整的工具调用能力:读写文件、执行命令、调用 API、浏览网页。有记忆系统,可以持续学习。有配置文件,可以定制个性和规则。
关键设计
记忆分层。
短期记忆在对话里。中期记忆在 daily/ 日记里。长期记忆在 cards/ 卡片里。最核心的认知在 SOUL.md 和 AGENTS.md 里。
每次对话结束,重要的内容会沉淀到更持久的层级。
规则可进化。
Moltbot 的行为由配置文件控制。出错了,做 postmortem,更新规则。下次就不会再犯同样的错。
这不是普通的 prompt engineering。这是让 AI 跟着你一起成长。
隐私保护。
所有敏感数据都在本地。Obsidian 文件在自己的机器上。发布的博客经过筛选,不含隐私信息。Moltbot 的规则里写死了:永远不要显示 API keys、tokens、passwords。
成本
Mac mini 一台。可以用旧的,常年开机。
Claude API。根据使用量计费,普通使用一个月几十美元。
Obsidian Sync。$4/月,可选。不用 Sync 也能工作,只是无法多设备同步笔记。
Cloudflare Pages。免费。
GitHub。免费(私有仓库)。
iMessage。免费(需要 Apple 设备)。
总结
这不是一个产品。这是一套方法论。
核心思想:用一个有记忆、可进化的 AI Agent 作为个人助手,通过熟悉的通信渠道交互,用本地文件系统作为知识库,用 Git 管理版本,用 Cloudflare 发布内容。
每个组件都可以替换。不喜欢 iMessage 可以用 Telegram。不喜欢 Obsidian 可以用其他 Markdown 编辑器。不喜欢 Claude 可以换 GPT。
但核心架构不变:Agent + 记忆 + 规则 + 发布。
这才是 Personal AI 应该有的样子。