乐于分享
好东西不私藏

Openclaw学习笔记 (2) 配置文件

Openclaw学习笔记 (2) 配置文件
Openclaw安装完毕,来看看它的安装目录上面有哪些文件和文件夹,默认的安装路径是在/home/username/.openclaw,
这里比较重要的一个文件是openclaw.json,相当于一个全局的配置文件,来看看里面有什么内容:
第一段是wizard(向导),看起来是记录了openclaw运行的一些基本信息,比如版本和时间什么的。
  "wizard": {    "lastRunAt": "2026-03-27T23:09:12.236Z",    "lastRunVersion": "2026.3.24",    "lastRunCommand": "onboard",    "lastRunMode": "local"  },
接下来是agent的配置,包括了使用哪个大模型和工作空间地址,模型配置有首选模型和所有模型的列表,这里我只配置了一个google-vertex的gemini 2.5 pro的模型。理论上可以添加多个模型,然后设置一个主要的模型和一个备份的模型。
  "agents": {    "defaults": {      "model": {        "primary": "google-vertex/gemini-2.5-pro"      },      "models": {        "google-vertex/gemini-2.5-pro": {}      },      "workspace": "/home/username/.openclaw/workspace"    }  },
下面是一个例子如何给代理配置首选模型和备选模型, fallback里面就是备选模型。首选模型跑不通或者没钱的时候就会调用备选模型。
      "model": {        "primary": "google-vertex/gemini-2.5-pro",        "fallbacks": [          "openai/gpt-4o"        ]      },      "models": {        "google-vertex/gemini-2.5-pro": {          "alias": "Gemini"        },        "openai/gpt-4o": {          "alias": "GPT-4o"        }      },
然后这句:
"workspace": "/home/username/.openclaw/workspace"
设置了Agent在openclaw的工作空间workspace,可以想象成代理在龙虾里住的地方。如果要创建多个代理,每个代理都会有一个单独的workspace(单独的房间)。
接下来这段话定义了代理的工作包:
  "tools": {    "profile": "coding"  },
这里的"coding" 是系统预设的一个配置,赋予了代理访问 Shell/终端、文件系统操作功能以及代码执行环境(例如 Python 解释器)的权限。
Command(命令)配置告诉代理如何处理底层系统命令及其自身的生命周期。比如"native": "auto" 告知 OpenClaw 如何处理原生系统命令。`auto` 模式允许代理自行决定何时需要执行系统级命令以完成请求。
  "commands": {    "native": "auto",    "nativeSkills": "auto",    "restart": true,    "ownerDisplay": "raw"  },
session(会话)配置定义了代理如何管理上下文窗口和记忆,per-channel-peer就是对每个channel每个用户单独开一个上下文窗口。
  "session": {    "dmScope": "per-channel-peer"  },
channel (渠道)配置了通信app的接入方式,这里以telegram为例,dmPolicy为"pairing"意味着只有完成配对的用户才能与机器人交谈。groupPolicy为"allowlist"意味着只有在名单里面的群组,机器人才有效。
  "channels": {    "telegram": {      "enabled": true,      "dmPolicy": "pairing",      "botToken": "YOUR_BOT_TOKEN_HERE",      "groups": {        "*": {          "requireMention": true        }      },      "groupPolicy": "allowlist",      "streaming": "partial"    }  },
gateway(网关)配置:配置了网关的端口,可以在这里查看网关的令牌用于登录网页版的控制面板。
  "gateway": {    "port": 18789,    "mode": "local",    "bind": "loopback",    "auth": {      "mode": "token",      "token": "YOUR_GATEWAY_TOEKN_HERE"    },    "tailscale": {      "mode": "off",      "resetOnExit": false    },
node(节点)配置,列出来AI模型不能做的一些动作,比如使用摄像头,录屏,添加联系人,发短信什么的,确保个人隐私。
    "nodes": {      "denyCommands": [        "camera.snap",        "camera.clip",        "screen.record",        "contacts.add",        "calendar.add",        "reminders.add",        "sms.send"      ]    }  },
最后一段是meta,元数据,没什么好说的,就是记录系统的版本和文件保存的时间。
  "meta": {    "lastTouchedVersion": "2026.3.24",    "lastTouchedAt": "2026-03-27T23:09:12.248Z"  }}
另外也可以在这个文件里添加一些提供环境参数,比如说我在配置Vetex AI的时候,因为不能使用api的方式,所以要在json文件里提供密钥文件地址,项目名称和区域。
  "env": {    "vars": {      "GOOGLE_APPLICATION_CREDENTIALS": "YOUR_CREDENTIAL_PATH",      "GOOGLE_CLOUD_PROJECT": "your_google_could_project_name",      "GOOGLE_CLOUD_LOCATION": "us-central1"    }  },
好了,以上就是对openclaw主配置文件openclaw.json的介绍。