核心用法
Palaia 是专为 OpenClaw 代理设计的本地记忆系统,以 SQLite 为默认后端,通过 CLI 和 OpenClaw 插件提供完整的记忆生命周期管理。
基础工作流程:
- 初始化:
palaia init创建.palaia/目录,配置 WAL 模式保证崩溃安全 - 自动捕获:OpenClaw 插件激活后,对话自动提取为记忆、任务或流程,无需手动干预
- 语义检索:混合 BM25 关键词 + 向量搜索,支持 fastembed(默认)、sentence-transformers、Ollama、OpenAI、Gemini 等多级嵌入链
- 分级存储:HOT(<7天)、WARM(7-30天)、COLD(>30天)三级自动轮换,平衡性能与容量
关键命令:
palaia write:显式写入外部知识、流程 SOP、结构化任务palaia query:语义搜索,支持项目过滤、时间范围、RAG 格式输出palaia list/get/edit:浏览、读取、修改条目palaia doctor --fix:健康诊断与自动修复palaia gc:垃圾回收与层级轮换
多智能体协作:
- 三级作用域:private(单代理)、team(工作空间共享)、public(跨实例导出)
- 代理隔离模式:通过
priorities.json配置作用域可见性、注入阈值、捕获范围 - 预配置模板:Isolated Worker、Orchestrator、Lean Worker 三种典型配置
v2.4 新特性:
- 会话连续性:自动会话摘要与启动简报
- 隐私标记:
<private>块排除敏感内容 - 新鲜度加权:
recallRecencyBoost提升近期记忆排名 - 渐进披露:大数据集自动紧凑展示
显著优点
1. 完全本地优先:SQLite 零配置运行,数据不出本机,满足隐私敏感场景
2. 崩溃安全设计:WAL 模式 + 自动恢复机制,中断写入可通过 palaia recover 回放
3. 弹性嵌入链:fastembed 本地 CPU 推理(~10ms)为默认,API provider 为后备,无需网络即可工作
4. 智能自动捕获:LLM 提取 + 规则回退,自动识别关键知识,支持提示级覆盖 <palaia-hint>
5. 多宿主兼容:OpenClaw 插件、MCP 服务器(Claude Desktop/Cursor)、独立 CLI 三种接入方式
6. 团队知识沉淀:流程与任务结构化存储,支持 Git 同步与知识包导出/导入
潜在局限
1. Python 依赖链:fastembed 及可选组件(scikit-learn、pgvector)需 pip/uv/pipx 管理,版本冲突可能影响启动
2. 嵌入性能瓶颈:无 embed-server 时每次 CLI 冷启动加载模型(3-5秒),虽已自动守护进程优化,但首次查询仍有延迟
3. 语义搜索质量:本地模型(fastembed/sentence-transformers)在领域特定术语上可能弱于云端大模型嵌入
4. 无原生分布式同步:PostgreSQL 后端支持多主机,但冲突解决、离线合并依赖 Git 工作流而非实时同步
5. 记忆膨胀风险: aggressive 捕获模式或长期运行后,COLD 层级累积可能影响查询性能,需定期 palaia curate 或 gc
适合人群
- 隐私优先的开发者:拒绝云端记忆服务,要求数据本地可控
- 多智能体工作流团队:需要代理间共享上下文、隔离敏感任务、协调复杂流程
- 长期项目维护者:跨越多次会话追踪决策、技术债务、待办任务
- OpenClaw/MCP 生态用户:已使用 OpenClaw 代理或 Claude Desktop/Cursor 等 MCP 宿主工具
常规风险
| 风险场景 | 说明与缓解 |
|---------|-----------|
| 敏感数据泄露 | 避免在记忆中存储密码、API 密钥;使用 `<private>` 标记;谨慎使用 `--scope public` |
| 数据丢失 | 定期 `palaia sync export` 或备份 `.palaia/palaia.db`;WAL 文件需一并保存 |
| 代理身份混淆 | 多代理环境必须设置唯一 `PALAIA_AGENT`,否则作用域过滤失效 |
| 破坏性操作 | `palaia gc --aggressive` 永久删除 COLD 条目,执行前必须使用 `--dry-run` 确认 |
| 版本漂移 | `palaia upgrade` 自动处理,但 v2.3 之前需手动迁移;`palaia doctor` 检测兼容性 |
| 嵌入服务器僵尸进程 | `palaia embed-server --stop` 或配置 `embed_server_idle_timeout` 自动回收 |