随着openclaw的爆火,有人800元上门安装,也有人299上门完全卸载。说到底大家都想尝试使用,但是又担心安全问题,token用量无法控制。真正原因是openclaw是一个黑盒,它到底能干啥,如何限制它权限,都不是很清楚,本篇就想想介绍下openclaw如何配置。 熟悉完claude code的配置后,迁移到openclaw是非常容易的,但是两者之间也有一定的差别。openclaw能力扩展完全依赖skill,没有claudecode subagent、skill、command mcp等众多概念,这种简化也是合理的,因为这些东西只是概念理解上的差别,整体都可以封装抽象为skill。对应CLAUDE.md openclaw 对应的配置文件是SOUL.md命名更加直观易于理解。 OpenClaw的所有用户数据默认存储在 ~/.openclaw/ 目录下。其中,workspace/ 是智能体的工作空间,存放核心配置文件~/.openclaw/├── workspace/│ ├── SOUL.md # 人格定义│ ├── AGENTS.md # 安全边界│ ├── MEMORY.md # 长期记忆│ ├── memory/ # 记忆向量库(自动生成)│ └── sessions/ # 会话日志├── config.yaml # 全局配置├── skills/ # 自定义技能└── logs/ # 运行日志
OpenClaw启动时,会按以下顺序加载配置:读取全局 config.yaml,确定默认模型、渠道等。扫描 workspace/ 目录,加载 SOUL.md、AGENTS.md、MEMORY.md如果文件不存在,使用内置默认配置,运行时实时监控文件变更,修改后无需重启即可生效(热加载)。 SOUL.md 采用键值对 + 自由文本的格式,OpenClaw解析时会提取结构化字段,同时保留自由描述作为上下文注入。# 人格标签role: 技术文档助手style: 简洁、准确、专业tone: 正式language: 中文# 专业领域expertise: - golang编程 - 技术文档写作 - Git版本控制# 禁止行为forbidden: - 闲聊 - 回答非技术问题 - 使用表情符号# 自由描述(会完整注入上下文)你是一名资深技术文档工程师,擅长将复杂概念用简单语言表达。回复必须控制在100字以内,只回答技术相关问题。当被问及个人观点时,保持客观中立。
AGENTS.md - 安全边界定义。担心安全问题,重点关注下这个歌文件,它定义了openclaw可以做什么,不能做什么,每次对话最大消耗的token数量。# 高危操作确认机制dangerous_actions: delete_file: confirm # 删除文件前需用户确认 delete_folder: confirm # 删除文件夹前确认 execute_shell: confirm # 执行shell命令前确认 install_package: confirm # 安装软件包前确认 api_call: # API调用规则 openai: allow # OpenAI API允许 stripe: confirm # 支付类API需确认 unknown: deny # 未知API默认拒绝# 文件访问权限file_access: allow: - ~/Documents # 允许访问文档目录 - ~/Desktop # 允许访问桌面 - /tmp/openclaw # 临时目录 deny: - /etc # 禁止访问系统配置 - ~/.ssh # 禁止访问SSH密钥 - ~/.aws # 禁止访问云凭证 read_only: - /usr/bin # 只读访问# 命令执行权限command_permissions: allow: - ls, cat, grep # 安全命令允许 - python, node # 脚本解释器 - git status # Git只读操作 deny: - rm, rm -rf # 删除命令 - sudo, su # 权限提升 - chmod, chown # 修改权限 - dd, mkfs # 磁盘操作 need_confirm: - git push # Git推送需确认 - npm publish # 发布包需确认# 资源限制limits: max_tokens_per_session: 10000 # 每次对话最多消耗token max_concurrent_tasks: 5 # 最多同时执行5个任务 timeout_seconds: 300 # 单个任务最长5分钟 max_file_size_mb: 100 # 处理文件最大100MB# 隐私保护privacy: filter_patterns: - email: '\b[\w\.-]+@[\w\.-]+\.\w+\b' # 脱敏邮箱 - phone: '\b1[34578]\d{9}\b' # 脱敏手机号 - api_key: '(sk-[a-zA-Z0-9]{20,})' # 脱敏API Key mask_with: '***' # 替换为***
针对头疼的上下文长度问题,openclaw定义了一套自己的记忆体系,并且随着时间推移能自己进化更新自己记忆的内容。AI智能体最大的痛点之一是“对话失忆”——每次对话都是全新的开始。OpenClaw通过三层记忆架构解决了这个问题,而MEMORY.md是长期记忆的核心载体。自动压缩机制:当会话日志超过阈值时,OpenClaw会调用LLM生成摘要,将关键信息写入MEMORY.md,然后清空短期日志。- 短期记忆:存储在 sessions/ 目录下的JSONL文件,记录最近N条对话(默认100条),用于维持当前对话的连贯性。
- 近端记忆:存储在 memory/user_prefs.json,记录用户的长期偏好(如“我常用Python”、“我的工作目录是~/projects”),通过对话总结自动更新。
- 长期记忆:核心是 MEMORY.md,采用Markdown格式存储结构化的知识图谱。同时,OpenClaw会将其向量化存入 memory/ 下的sqlite-vec数据库,支持语义检索。
MEMORY.md 是一个人类可读、可编辑的Markdown文件,推荐使用以下结构:# 长期记忆库## 用户基本信息- 姓名:张三- 职业:后端开发工程师- 常用语言:Python, Go- 工作目录:/Users/zhangsan/projects- 邮箱:zhangsan@example.com(脱敏处理)## 项目记忆### 项目A:电商API- 仓库:github.com/zhangsan/ecom-api- 技术栈:FastAPI, PostgreSQL, Redis- 常用命令:`make dev` 启动开发环境- 注意事项:数据库迁移需先备份### 项目B:数据分析脚本- 位置:~/scripts/data_analysis/- 输入格式:CSV文件,第一列为日期- 输出:JSON报表,包含统计指标## 术语表- RAG:检索增强生成,我用于知识库问答的技术- LoRA:低秩适应,微调模型的方法- 智能体:能自主执行任务的AI程序## 偏好设置- 代码风格:使用4空格缩进,注释用中文- 回答格式:优先提供具体步骤,再给代码示例- 提醒:每天早上9点推送今日待办## 学习记录- 2026-03-01:学习了OpenClaw的Skill开发- 2026-03-05:配置了飞书渠道,实现远程控制
熟练掌握这3个核心的配置文件后,可以掌握openclaw的活动大方向,不再盲目,当然还得注意安装的skill,如果skill中有恶意的病毒性的描述,需要刻意防范,下一篇,介绍如何编写和使用openclaw的skill