openclaw关键设置技巧

问题1: 执行命令无法查到环境变量

agent 在跨服务器远程ssh操作或者在non-interactive shell的中执行命令的时候经常找不到一些你在环境变量或者key,你明明在zshrc配置文件里设置过。于是它会到处找,或者执行source ~/.zshrc,显得很笨。

关键在于非交互式shell中, ~/.zshrc 不会被自动加载,包括以下场景:

场景示例
执行脚本zsh script.sh / ./script.sh(shebang 是 #!/bin/zsh
SSH 带命令ssh user@host 'command' — 非交互式非登录 shell
make / CI/CD子进程执行命令,非交互式
OpenClaw exec 工具spawn 子进程执行命令
IDE 内置终端执行如 VS Code 的 task 运行命令
git hookspre-commit 等钩子脚本
find -exec / xargs通过子 shell 执行命令

解决方案一(最简单)

openclaw.json中要加上这个,解决环境变量不被龙虾载入的问题:

"env": {
  "shellEnv": {
    "enabled": true,
    "timeoutMs": 15000
  }
}

解决方案二(从根本上解决)

.zshenv 环境变量文件会在所有shell实例都会加载,包括上面提到的场景。在 .zshenv 中添加你认为重要的环境变量 exportPATHkey,而不是将他们存放在 .zshrc


问题二:飞书垃圾插件刷屏info日志

每次cli中执行openclaw命令的时候都会出现大量的飞书插件日志。

方法很简单,在 zshrczshenv 中添加一行即可(只显示warning or errors):

export OPENCLAW_LOG_LEVEL=warn

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注