一、背景与核心诉求

OpenClaw 默认将配置、日志、工作区等数据写入 C:\Users\你的用户名\.openclaw,长期使用会占用 C 盘空间。我们的目标是:

让所有可变数据(日志、工作区、配置)彻底迁移到 D 盘,同时不影响 OpenClaw 正常运行

二、踩坑全记录与解决方案

坑 1:环境变量 / 脚本修改无法覆盖硬编码路径

现象

  • 尝试设置 OPENCLAW_CONFIG 环境变量、修改启动脚本,网关仍读取 C 盘配置。

  • 日志、数据仍写入 C 盘。

原因

OpenClaw 底层硬编码了默认配置路径优先级C:\Users\你的用户名\.openclaw > 环境变量,上层修改无法绕过。

解决方案

使用 Windows 软链接(Junction),让系统 “欺骗” OpenClaw:

  • 对 OpenClaw:仍读写 C:\Users\Lenovo\.openclaw

  • 对系统:实际重定向到 D:\longxia\.openclaw

操作步骤

  1. 以管理员身份打开 PowerShell

  2. 先删除 C 盘原有目录(如果存在):

    Remove-Item -Recurse -Force C:\Users\Lenovo\.openclaw
  3. 创建软链接:

    New-Item -ItemType Junction -Path "C:\Users\Lenovo\.openclaw" -Target "D:\longxia\.openclaw"
  4. 验证软链接

    Get-Item C:\Users\Lenovo\.openclaw

    坑 2:配置文件名错误(config.json → openclaw.json)

    现象

    • 新建 config.json 后,网关完全不读取配置,仍用默认值。

    原因

    OpenClaw 仅识别 openclaw.json 作为配置文件名,config.json 是无效名称。

    解决方案

    直接修改 D:\longxia\.openclaw\openclaw.json,不要新建文件。


    坑 3:JSON 重复键导致启动报错

    现象

    • 网关启动时抛出 JSON 格式错误,提示重复键。

    • 日志中无任何有效输出。

    原因

    手动添加 gateway 节点时,与原有 gateway.auth 配置重复,JSON 不允许同名键。

    错误示例

"gateway": { "auth": { ... } },
"gateway": { "port": 19001 } // 重复键!

坑 4:无效配置字段导致程序异常

现象

  • 网关启动时提示 “未知配置键”,或直接忽略部分配置。

原因

  • 顶层 log_path 不是 OpenClaw 官方 Schema 字段,无效。

  • 日志路径应通过 logging.file 指定。

错误示例

"log_path": "D:\\longxia\\logs", // 无效!
"logging": {
  "file": "D:\\longxia\\logs\\openclaw.log"
}

解决方案

"logging": {
  "file": "D:\\longxia\\logs\\openclaw.log",
  "level": "info" // 建议添加,控制日志级别(可选:debug/info/warn/error)
}

删除 log_path,仅保留 logging.file

坑 5:工作区路径仍指向 C 盘

现象

  • 日志已迁 D 盘,但智能体工作区文件仍写入 C 盘。

原因

agents.defaults.workspace 路径未修改,仍为 C 盘默认值。

解决方案

修改为 D 盘路径:

"agents": {
  "defaults": {
    "workspace": "D:\\longxia\\workspace", // 改到 D 盘
    "compaction": { "mode": "safeguard" }
  }
}

三、最终验证:确认数据全在 D 盘

启动网关后,重点检查日志输出:

[gateway] log file: D:\longxia\logs\openclaw.log

同时确认:

  1. D:\longxia\logs 自动生成 openclaw.log 日志文件

  2. D:\longxia\workspace 自动创建智能体工作区文件

  3. C:\Users\Lenovo\.openclaw 仅为软链接,无实际数据写入

关键验证点

  • 日志中明确显示日志文件路径为 D 盘

  • 网关无 JSON 格式错误或未知字段报错

  • 所有可变数据(日志、工作区、配置)均存储在 D 盘

四、总结:核心结论

问题类型 解决方案 验证标志
硬编码 C 盘路径 软链接(Junction)重定向 Get-Item 显示 Mode: d----l
配置文件名错误 使用 openclaw.json 网关正常读取配置
JSON 重复键 合并 gateway 节点 启动无格式错误日志
无效配置字段 logging.file 替代 log_path 日志写入 D 盘路径
工作区路径未迁移 修改 agents.defaults.workspace 工作区文件出现在 D 盘

五、最终可用配置模板

{
  "meta": {
    "lastTouchedVersion": "2026.xx.xx",
    "lastTouchedAt": "2xxxxxxxxxxxxxxxZ"
  },
  "agents": {
    "defaults": {
      "workspace": "D:\\longxia\\workspace",
      "compaction": {
        "mode": "xxxxxxx"
      }
    }
  },
  "commands": {
    "native": "auto",
    "nativeSkills": "auto",
    "restart": true,
    "ownerDisplay": "raw"
  },
  "gateway": {
    "mode": "local",
    "port": 19001,
    "auth": {
      "mode": "token",
      "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    }
  },
  "logging": {
    "file": "D:\\longxia\\logs\\openclaw.log",
    "level": "info"
  }
}

六、写在最后

  • 静态资源 vs 可变数据:C 盘残留的 canvas 是前端静态代码,不会随使用增长,无需迁移;

  • 核心目标达成:日志、工作区、配置全在 D 盘,彻底解决 C 盘占用问题;

  • 软链接是银弹:面对硬编码路径,软链接是最可靠的 “欺骗” 方案,无需修改源码。


小贴士:后续升级 OpenClaw 时,只需保留软链接和 openclaw.json,所有数据仍会安全存储在 D 盘 ✅


补充:D 盘目录结构参考

最终你的 D:\longxia 目录应包含:

  • .openclaw:存放 openclaw.json 配置文件(通过软链接被 C 盘访问)

  • openclaw-main:OpenClaw 源码目录

  • logs:自动生成的日志文件目录

  • workspace:智能体工作区文件目录

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐