本地离线AI Agent落地实践:Mac M2+Ollama+Pi+Titan持久记忆搭建全流程
本地离线AI Agent落地实践:Mac M2+Ollama+Pi+Titan持久记忆搭建全流程
标签:Ollama本地大模型 | Pi Agent | Titan长期记忆 | MacBook本地AI开发
一、我的本地硬件基础环境
设备:MacBook M2 24G
本地大模型服务:Ollama(完全离线运行,不依赖外网API)
当前使用模型:gemma4:e4b
选择这套硬件做本地AI Agent的核心原因:
- M2芯片统一内存架构,24G大内存可流畅承载本地嵌入模型+对话大模型,无交换磁盘卡顿;
- Ollama轻量化部署,一键拉取量化模型,离线即可完成推理、向量嵌入;
- 不想依赖OpenAI、Gemini等云端API,所有对话、记忆数据本地存储,隐私可控。
二、为什么选择 Pi 作为本地AI Agent
Pi(pi-coding-agent)是面向本地Ollama的命令行智能代理工具,相比直接调用ollama run有三大优势:
- 支持插件技能扩展,可安装记忆、检索、代码工具等拓展能力;
- 原生适配终端工作流,可直接调用bash、读取本地项目文件;
- 支持持久化记忆插件,解决原生Ollama会话关闭上下文丢失的痛点。
安装基础Pi环境前置命令:
123456789101112
# 全局安装Pi Agent
npm install -g @mariozechner/pi-coding-agent
# 后台常驻Ollama服务
ollama serve &
# 拉取本地向量嵌入模型(记忆功能必备)
ollama pull nomic-embed-text
三、Titan记忆技能完整部署踩坑&落地流程
3.1 安装Titan记忆技能
进入Pi交互终端,执行技能安装:
12 pi install npm:titan-pi-memory
3.2 Mac系统核心坑:Python外部托管环境报错
Mac新版系统自带Python禁止全局pip安装包,直接部署会提示externally-managed-environment,导致Titan服务启动失败。
解决方案:为Titan单独创建虚拟环境
12345678910111213141516
# 进入Titan工作目录
cd /Users/hjc/.titan/agents/pi
# 创建独立虚拟环境
python3 -m venv venv_titan
# 激活环境
source venv_titan/bin/activate
# 安装向量依赖库
pip install chromadb sentence-transformers python-dotenv requests numpy
修改.env配置文件,指定虚拟环境Python路径,规避系统Python冲突。
3.3 切换本地Ollama向量模式(关键步骤)
执行配置指令:
12
/titan-key
工具默认弹出Gemini/OpenAI等云端服务商菜单,无本地Ollama选项,需要手动修改~/.titan/agents/pi/.env写入本地向量配置:
1234567891011121314
EMBEDDING_PROVIDER=ollama
OLLAMA_URL=http://127.0.0.1:11434
OLLAMA_EMBED_MODEL=nomic-embed-text
# 清空云端密钥,禁用外网依赖
OPENAI_API_KEY=
GEMINI_API_KEY=
DEEPSEEK_API_KEY=
3.4 初始化并启动记忆服务
123456789101112
# 初始化本地向量数据库
/titan-setup
# 开启对话自动记忆存储、自动检索
/titan auto-recall on
# 优化Mac内存占用,单次最多调取2条历史记忆
/titan recall-limit 2
执行/titan-status验证部署成功:
- Server: running(8002端口后台常驻)
- Config: configured(本地Ollama向量配置生效)
- 全部记忆文件持久化存储于
/Users/hjc/.titan/agents/pi目录,离线本地留存。
四、本地持久记忆功能实测验证
4.1 存入设备环境长期记忆
两种存储方式区分:
- 对话自动存储(推荐,支持向量检索)
直接对话输入:记住我的设备是MacBook M2 24G,本地Ollama离线运行gemma4:e4b
-
手动写入会话日志(仅对话可见,无法用query检索)
12
/titan add-memory 我当前运行你使用的设备是MacBook M2 24G,本地Ollama离线运行gemma4:e4b
4.2 跨会话长期记忆测试流程
- Ctrl+D完全退出Pi终端,清空当前会话;
- 重新执行
pi启动全新会话; - 直接提问:
我使用什么设备,本地跑的什么Ollama模型?
Agent自动读取本地向量库存储的历史信息,精准输出设备与模型配置,证明长期离线记忆功能完全可用。
4.3 常用Titan记忆操作指令汇总
1234567891011121314151617181920
# 查看Titan后台运行状态
/titan-status
# 手动语义检索历史记忆
/titan query 关键词
# 开启/关闭自动记忆
/titan auto-recall on/off
# 清空全部本地记忆(不可逆)
/titan clear-memories
# 写入可检索的永久配置记忆
/titan-config store "自定义长期信息"
五、后续本地Agent应用规划
整套离线AI环境搭建完成后,后续将基于Pi+Titan本地Agent实现全离线本地工作流:
- 项目知识库记忆:将本地Obsidian笔记、工艺项目文档存入Titan向量库,实现本地私有知识库问答;
- 终端自动化操作:依靠Pi原生bash调用能力,自动化处理文件、脚本、树莓派/本地服务运维;
- 课题专属记忆沉淀:存储液体火箭发动机工艺博士课题相关参数、文献、需求,形成专属本地AI助手;
- 完全隐私闭环:所有对话、文档、记忆数据仅存在本机,无任何外网上传,满足工程涉密内容本地处理需求。
六、避坑总结
- Mac部署Titan必须搭建独立Python虚拟环境,不要使用系统Python安装依赖;
- /titan-key菜单无本地Ollama选项,需手动修改.env强制切换本地向量模式;
- /titan add-memory仅存入会话日志,如需支持关键词检索,优先使用对话自动记忆或
titan-config store; - 内存有限设备建议调低
recall-limit数值,减少向量检索内存占用。
留言区
如果你也想把认知梳理成行动,欢迎在 关于 页找到我。