ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

OpenClaw 接入大模型 API:用 WSL2 操作本地 Windows 文件的配置骨架

OpenClaw 接入大模型 API:用 WSL2 操作本地 Windows 文件的配置骨架 1. 为什么要在 WSL2 里让 OpenClaw 读 Windows 文件OpenClaw 这类本地 Agent 工具真正跑起来之后最常干的事不是聊天而是读写文件、改配置、跑脚本。它在 Windows 上安装时官方推荐走 WSL2原因很直接WSL2 本质是一个完整的 Linux 内核环境OpenClaw 的很多能力进程管理、文件权限、shell 调用在 Linux 下才完整而 WSL2 又天然能挂载 Windows 的盘符等于一边享受 Linux 的运行时一边直接操作你 Windows 上的项目目录。问题就出在这个「一边……一边……」上。很多人装完 WSL2 版 OpenClaw模型 API 也接上了聊天能回话但一让它读D:\project\config.json就报找不到文件或者写文件写到了 WSL 的/root里Windows 资源管理器里根本看不到。这不是模型笨是路径没打通WSL2 里访问 Windows 文件必须走/mnt/c、/mnt/d这种挂载路径而 OpenClaw 的配置文件里如果还写着 Windows 风格的C:\...它就会当成 Linux 相对路径去解析自然失败。这篇就聚焦这一件事OpenClaw 在 WSL2 下接入大模型 API 之后怎么把本地 Windows 文件的读写配通。我会给出config.toml和settings.json两份可复制骨架、WSL2 挂载路径的正确写法以及一次完整的文件读写验证动作。目标是一次配通、可复现不用来回猜。适合已经在 Windows 上装了 WSL2 版 OpenClaw、想让它真正操作本地文件的开发者。2. 前置准备TaoToken 接入信息与 WSL2 环境确认在动配置文件之前先把两件事确认掉模型 API 的接入信息以及 WSL2 里的挂载点。模型 API 这块我用的是 TaoToken 的兼容接口。它的好处是走 OpenAI 兼容协议baseUrl和apiKey填进去就能用OpenClaw 的 provider 配置不用改结构。你需要先去控制台拿一个 API Key地址是 https://taotoken.net/api-keys 拿到之后先存到环境变量里别直接写死在配置文件里后面切换模型或者换 Key 都方便。WSL2 环境确认打开你的 WSL 终端跑一条命令看挂载点ls /mnt正常会看到c d e wsl wslg这类目录/mnt/c就是你的 C 盘/mnt/d就是 D 盘。如果你只看到c说明其他盘符没自动挂载可以手动挂sudo mkdir -p /mnt/d sudo mount -t drvfs D: /mnt/ddrvfs是 WSL2 专门用来挂 Windows 文件系统的驱动读写 Windows 文件靠的就是它。挂好之后ls /mnt/d能列出你 D 盘的内容就说明路径通了。注意WSL2 默认会把 Windows 盘挂到/mnt/盘符小写但盘符里的中文路径、空格路径容易出问题建议项目目录用纯英文、无空格的路径比如/mnt/d/openclaw-workspace能省掉后面一堆转义麻烦。环境变量设置在 WSL 的~/.bashrc或~/.zshrc里加一行export TAOTOKEN_API_KEY你的真实key然后source ~/.bashrc生效。这样配置文件里就能用${TAOTOKEN_API_KEY}引用不用把明文 Key 提交到任何地方。3. 可复制配置config.toml 与 settings.json 骨架OpenClaw 的配置分两层config.toml管运行时和文件访问范围settings.json管模型 provider 和 agent 默认行为。两份都要对缺一个都会出问题。先看config.toml。这个文件一般在~/.openclaw/config.toml没有就新建[workspace] # 允许 OpenClaw 访问的根目录WSL2 挂载路径写法 root /mnt/d/openclaw-workspace # 是否允许写入false 时只能读 allow_write true # 允许访问的额外路径多个用逗号分隔 extra_paths [/mnt/c/Users/你的用户名/Documents/openclaw-test] [shell] # 用 bash 执行命令WSL2 默认就是 default bash timeout 120 [logging] level info file /mnt/d/openclaw-workspace/logs/openclaw.log这里的关键是root和extra_paths全部用/mnt/...形式不要出现D:\或C:\。allow_write true打开后 OpenClaw 才能改文件调试阶段建议先设false确认能读之后再放开写。再看settings.json这个文件在~/.openclaw/settings.json{ agents: { defaults: { model: { primary: taotoken/claude-sonnet }, models: { taotoken/claude-sonnet: { alias: TaoToken Claude } } } }, models: { mode: merge, providers: { taotoken: { baseUrl: https://taotoken.net/api, apiKey: ${TAOTOKEN_API_KEY}, api: openai-completions, models: [ { id: claude-sonnet, name: TaoToken Claude Sonnet, reasoning: false, input: [text], contextWindow: 200000, maxTokens: 8192 } ] } } } }几个容易踩的点apiKey里写${TAOTOKEN_API_KEY}是引用环境变量前提是你第 2 步真的 export 了否则会解析成空字符串请求直接 401。api字段必须是openai-completions这是 OpenAI 兼容协议TaoToken 的接口按这个走。baseUrl结尾不要多加/v1OpenClaw 会自己拼路径多写了会变成/v1/v1/chat/completions。注意JSON 不支持注释也不支持尾逗号。上面这份骨架你直接复制改id、name和baseUrl就行别手抖加逗号否则 OpenClaw 启动时会报 JSON 解析错误而且报错信息往往只告诉你「配置文件无效」不告诉你哪一行排查很痛苦。改完配置重启 OpenClawopenclaw restart或者如果你是用 systemd 起的sudo systemctl restart openclaw4. 验证请求一次完整的文件读写动作配置对不对光看日志没用直接让它读一个真实文件、写一个真实文件看结果落在哪。先在 Windows 侧建一个测试目录比如D:\openclaw-workspace里面放一个hello.txt内容写windows file from D drive。然后在 WSL 里确认能读到cat /mnt/d/openclaw-workspace/hello.txt能输出内容说明挂载没问题。接着打开 OpenClaw 的对话界面问它读取 /mnt/d/openclaw-workspace/hello.txt 的内容然后把内容追加一行 written by openclaw保存到同目录的 output.txt如果配置正确它会先调用读文件工具拿到windows file from D drive再调用写文件工具生成output.txt。你去 Windows 资源管理器打开D:\openclaw-workspace应该能看到output.txt内容两行。再验证一下模型连接是否真的走通了问它你现在使用的是哪个模型provider 是什么正常会回类似「当前使用 TaoToken Claude Sonnetprovider 为 taotoken」。如果它回「我不知道」或者报错说明settings.json里的 provider 没加载上回去检查 JSON 格式和baseUrl。想更直观地看模型对话效果也可以直接在 https://taotoken.net/models 里对比一下同一个 prompt 在不同模型下的输出确认你配的模型 id 是有效的。实测下来最容易出问题的不是模型配置而是路径。只要/mnt/d/...能cat出来OpenClaw 基本就能读写cat不出来先解决挂载别急着改 OpenClaw 配置。5. 本篇常见报错排查报错一File not found: D:\openclaw-workspace\hello.txt这是最典型的。OpenClaw 在 WSL2 里跑它看到的是 Linux 文件系统D:\这种写法它不认识。解决办法是把所有路径改成/mnt/d/openclaw-workspace/hello.txt。如果你在对话里习惯性写 Windows 路径可以在系统提示里加一句「所有文件路径使用 WSL 挂载格式 /mnt/盘符/...」让它自己转换。报错二Permission denied写文件失败两种可能。一是config.toml里allow_write false改成true重启。二是 Windows 侧目录权限问题WSL2 通过 drvfs 写 Windows 文件时如果目标目录是系统保护目录比如C:\Program Files会被拒绝。换成用户目录下的路径比如/mnt/c/Users/你的用户名/Documents/...一般就好了。报错三Invalid configuration file启动失败九成是settings.json的 JSON 格式错了。用python -m json.tool ~/.openclaw/settings.json校验一下它会告诉你具体哪一行有问题。常见的是尾逗号、中文引号、${TAOTOKEN_API_KEY}外面多套了一层引号导致变量没解析。报错四模型请求 401 或 404401 是 Key 没读到检查echo $TAOTOKEN_API_KEY有没有输出没有就重新source一下 shell 配置。404 是baseUrl写错了确认是https://taotoken.net/api结尾没有多余的/v1或/chat/completions。如果这两个都对了还是不通去 https://taotoken.net/doc 对一下最新的接入参数接口偶尔会有调整。报错五能读不能写或者写到了错误位置检查config.toml的root是不是你期望的目录。OpenClaw 写文件时如果给的是相对路径会相对于root解析。你让它写output.txt它可能写到了/mnt/d/openclaw-workspace/output.txt而不是你当前对话所在的目录。养成习惯读写都给绝对路径或者明确告诉它「写到 /mnt/d/openclaw-workspace/output.txt」。6. 配通之后把文件操作接进日常编码流路径和模型都通了之后OpenClaw 在 WSL2 下的价值才真正出来。你可以让它批量改 Windows 项目里的配置文件、读日志分析报错、根据需求生成代码文件直接落到D:\project里全程不用手动复制粘贴。对于长期跑编码任务或者 Agent 工作流的场景建议把模型调用走 Coding Plan地址是 https://taotoken.net/coding-plan 额度和并发更适合持续性的文件读写和代码生成不会聊几句就断。如果你只是想先验证模型对话和文件操作能不能配合用模型对话页面快速试几轮就行https://taotoken.net/models 。等确认路径、Key、provider 三样都对再回到 WSL2 里把config.toml的allow_write打开正式让它操作你的本地项目。最后留一个我自己的习惯每次改完config.toml或settings.json先跑一遍openclaw restart然后立刻让它读一个已知文件、写一个测试文件两个动作都成功再开始正式任务。这样能把配置问题和任务问题分开出错了也知道该查哪一层。
返回列表