乐于分享
好东西不私藏

openclaw 配置详解

openclaw 配置详解
        随着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:    - lscat, grep       # 安全命令允许    - python, node        # 脚本解释器    - git status          # Git只读操作  deny:    - rmrm -rf          # 删除命令    - sudo, su            # 权限提升    - chmodchown        # 修改权限    - 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