整体架构思路
这个方案把数据分成三层:
- vault/:加密级别的完整敏感数据(财务明细、健康记录、联系人),权限锁死,LLM 永远碰不到
- data/**/summary.json:脱敏摘要,只保留统计值和范围,供 Agent 日常调用
- memory/:对话记忆、决策记录等非敏感数据,正常索引和检索
这种分层设计的好处很直接——Agent 依然能回答"这个月花了多少钱"这类问题,但它看到的只是"支出约 8000-10000 元,餐饮占 35%",而不是你每一笔的银行流水。
第一步:创建目录结构
只建目录,不动现有文件,这是最安全的起手式:
mkdir -p ~/.openclaw/workspace/memory/full/conversations
mkdir -p ~/.openclaw/workspace/memory/full/decisions
mkdir -p ~/.openclaw/workspace/memory/full/personal
mkdir -p ~/.openclaw/workspace/memory/filtered
mkdir -p ~/.openclaw/workspace/vault
chmod 700 ~/.openclaw/workspace/vault
vault/ 目录权限设为 700,意味着只有当前用户可以访问。完成后用 ls -la ~/.openclaw/workspace/ 确认结构正确再往下走。
第二步:敏感数据迁移到 vault
关键原则:复制,不是移动。原文件先保留,确认一切正常后再清理。
# 根据你的实际数据情况,把完整数据复制到 vault
cp finance-full.json ~/.openclaw/workspace/vault/
cp health-full.json ~/.openclaw/workspace/vault/
cp contacts-full.json ~/.openclaw/workspace/vault/
# 锁定文件权限
chmod 600 ~/.openclaw/workspace/vault/*
这一步容易踩坑的地方在于:很多人会想着"反正都在本地,权限无所谓"。但如果你的机器上跑了多个服务或 Agent,没有权限隔离的文件就是裸奔状态。
第三步:创建脱敏摘要
这是整个方案最核心的环节。你需要在 data/ 下为每类敏感数据创建一个 summary.json,只保留 Agent 工作必需的信息:
财务摘要(data/finance/summary.json):
- 总资产范围(不要精确数字)
- 本月支出分类汇总
- 预算使用百分比
- 排除:具体账户号、卡号、精确金额
健康摘要(data/health/summary.json):
- 睡眠时长平均值
- 运动频率
- 体检项目状态
- 排除:具体医疗记录、病史详情
脱敏的粒度需要你自己拿捏——太粗了 Agent 没法给出有用建议,太细了等于没脱敏。一般来说,保留"趋势和比例"、去掉"精确值和标识符"是个不错的平衡点。
第四步:更新索引配置
QMD(OpenClaw 的检索索引)需要明确排除 vault 目录:
- 确认当前 QMD 配置的索引路径
- 更新配置,将
vault/加入排除列表 - 重建索引
- 用
qmd search "测试"验证搜索功能正常
这步的目的很明确:即使 Agent 通过检索增强(RAG)去找信息,也永远不会命中 vault 里的原始数据。
第五步:给 Agent 写入安全规则
最后一步是在 Agent 的配置(SOUL md)中硬编码安全规则:
vault/下的文件永远不放进 LLM 上下文- 需要完整数据时,本地读取 vault 文件、本地处理,只返回结果
- 发送任何输出前,自动检查是否包含手机号、银行卡、身份证、API Key、具体地址
- 发现敏感信息立即替换:手机号 →
[PHONE],卡号 →[CARD],地址 →[ADDRESS]
同时通知财务和健康相关的子 Agent:完整数据从 vault 读取,LLM 上下文只用 summary.json,对话中不暴露完整数据。
执行纪律比架构更重要
这套方案在技术上并不复杂,但它附带的执行规则设计得很实用:
- 每一步改完都测试,确认正常再进行下一步
- 不要同时改多个东西——出了问题你都不知道是哪步搞的
- 改配置前先备份:
cp openclaw.json openclaw.json.bak - 任何步骤失败立即停止,恢复备份
- 不确定的操作先问,不要猜
这些规则看起来像是给新手写的,但实际上越是熟练的人越需要这种约束。本地 Agent 系统不像云服务有回滚机制,一个误操作可能就是数据丢失。
对于正在用 OpenClaw 或类似本地 Agent 框架的独立开发者来说,隐私分层不是锦上添花,而是你把 Agent 从"玩具"升级到"真正的个人助理"的必经之路。数据越多、越私密,这套过滤层的价值就越大。