来源:互联网 更新时间:2026-06-17 08:05
这篇不是官方文档,而是一份实战经验总结。配置 WorkBuddy 自定义模型时,最折腾人的往往不是“能不能接第三方模型”,而是一些小得不能再小的细节:models.json 路径找不到、JSON 里少一个逗号、base_url 少了 /v1、API Key 写错、WorkBuddy 没完全重启、模型 ID 服务端压根儿不存在、重复加模型搞得列表乱七八糟、改坏配置还没备份。这些问题单个看都不复杂,但挨个排查下来,时间就浪费了。

下面按“问题 → 原因 → 解决办法”的方式,把这些常见坑挨个儿捋清楚。文末还放了一个 PowerShell 一键配置脚本,适合不想手动改 JSON 的同学。
脚本仓库:
https://github.com/xujfcn/workbuddy-crazyrouter
WorkBuddy 的用户级模型配置文件,通常放在:
%USERPROFILE%.workbuddymodels.json
举个例子:
C:Users你的用户名.workbuddymodels.json
在 PowerShell 里可以这样快速定位:
$ConfigPath = Join-Path $HOME ".workbuddymodels.json"
Write-Host $ConfigPath
Test-Path $ConfigPath
如果返回 False,说明文件还没生成。别慌,这可能是 WorkBuddy 还没创建用户级配置,或者你之前压根没配置过自定义模型。
解决办法:手动创建 .workbuddy 目录,再手动创建 models.json;或者直接用一键脚本,它会自动处理目录不存在的状况。
手动编辑 JSON 最容易翻车。比如少写一个逗号:
{"id": "model-a""name": "model-a"}
这不是合法的 JSON。正确写法:
{"id": "model-a","name": "model-a"}
再比如末尾多一个逗号:
[{"id": "model-a"},]
标准 JSON 也不允许这样。
检查方法很简单,在 PowerShell 里跑一行:
Get-Content $HOME.workbuddymodels.json -Raw | ConvertFrom-Json
如果这里报错,WorkBuddy 多半也读不出来。
解决办法:用编辑器格式化 JSON,修改前先备份,或者尽量用脚本生成 JSON,减少手写错误。
有些配置文件要求是数组结构,比如:
[{"id": "example-model",
"name": "example-model",
"vendor": "Custom",
"url": "https://cn.crazyrouter.com/v1",
"apiKey": "sk-xxx"}]
如果你写成了单个对象:
{"id": "example-model","name": "example-model"}
可能就无法按预期读取。
排查时先确认一下类型:
$models = Get-Content $HOME.workbuddymodels.json -Raw | ConvertFrom-Json
$models.GetType().FullName
如果不是数组,就需要检查配置结构了。
/v1这是最容易忽略的坑。很多 OpenAI-compatible API 的基础地址需要带 /v1。
正确示例:
https://cn.crazyrouter.com/v1
容易写错成:
https://cn.crazyrouter.com
或者重复成:
https://cn.crazyrouter.com/v1/v1
这两种都可能导致调用失败。
推荐规则:先去掉末尾的 /,如果没有 /v1 就补上,千万别补重复。PowerShell 里可以这么处理:
$normalized = $BaseUrl.Trim().TrimEnd("/")
if ($normalized -notmatch "/v1$") {
$normalized = "$normalized/v1"
}
workbuddy-crazyrouter 脚本已经内置了这个逻辑。所以你传 https://cn.crazyrouter.com,它会自动写入 https://cn.crazyrouter.com/v1。
API Key 出问题时的常见表现:401 Unauthorized、403 Forbidden、模型能显示但无法调用、WorkBuddy 里请求失败。
如果你用环境变量方式:
$env:CRAZYROUTER_API_KEY="sk-你的CrazyrouterKey"
注意:这个变量只在当前 PowerShell 窗口有效。新开一个窗口,变量就没了。可以用 $env:CRAZYROUTER_API_KEY 确认一下,如果没有输出,说明当前窗口没有设置。一键脚本如果检测不到环境变量,会提示你手动输入 API Key。
配置写完后,一定要完全退出并重新打开 WorkBuddy。很多桌面程序关闭窗口后,后台进程还在。
建议做法:关闭 WorkBuddy → 打开任务管理器 → 确认 WorkBuddy 进程不存在 → 再重新打开。如果只是关窗口,配置可能不会重新读取。
模型 ID 不是随便写的。比如 claude-opus-4-8,这个 ID 必须是接口服务端真实支持的模型名。如果写错了,会出现 model not found、404、权限不足,或者 WorkBuddy 列表能显示但调用时失败。
建议先用默认模型列表测试:claude-opus-4-8、claude-opus-4-7、claude-sonnet-4-6、gpt-5.5、gpt-5.4。确认能正常使用后,再自己改模型列表。
手动编辑 JSON 时,很容易把同一个模型复制多次。比如:
[{"id": "gpt-5.5"},{"id": "gpt-5.5"},{"id": "gpt-5.5"}]
模型列表一多,后面排查就很麻烦。可以用 PowerShell 查重复:
$models = Get-Content $HOME.workbuddymodels.json -Raw | ConvertFrom-Json
$models | Group-Object id | Where-Object { $_.Count -gt 1 }
一键脚本会按模型 ID 去重,重复执行也不会一直追加同名模型。
这是最麻烦的情况。如果你手动改配置,第一步就该备份:
Copy-Item $HOME.workbuddymodels.json $HOME.workbuddymodels.json.bak
一键脚本默认会自动备份,备份文件类似 models.json.bak.20260605-140000。恢复方法:关闭 WorkBuddy → 删除当前 models.json → 把备份文件改名为 models.json → 重启 WorkBuddy。
如果你不想手动排这些坑,可以直接用脚本。打开 PowerShell:
iwr https://raw.githubusercontent.com/xujfcn/workbuddy-crazyrouter/main/setup-workbuddy-crazyrouter.ps1 -UseB | iex
或者先设置 API Key:
$env:CRAZYROUTER_API_KEY="sk-你的CrazyrouterKey"
iwr https://raw.githubusercontent.com/xujfcn/workbuddy-crazyrouter/main/setup-workbuddy-crazyrouter.ps1 -UseB | iex
脚本会写入 %USERPROFILE%.workbuddymodels.json,接口地址 https://cn.crazyrouter.com/v1,默认模型为 claude-opus-4-8、claude-opus-4-7、claude-sonnet-4-6、gpt-5.5、gpt-5.4。
如果你不想直接执行远程脚本,可以先下载:
iwr https://raw.githubusercontent.com/xujfcn/workbuddy-crazyrouter/main/setup-workbuddy-crazyrouter.ps1 -OutFile setup-workbuddy-crazyrouter.ps1
打开脚本看一遍,确认没问题后执行:
.setup-workbuddy-crazyrouter.ps1 -BaseUrl "https://cn.crazyrouter.com"
如果想清理旧配置:
.setup-workbuddy-crazyrouter.ps1 -BaseUrl "https://cn.crazyrouter.com" -ReplaceCrazyrouter
如果想自定义模型:
.setup-workbuddy-crazyrouter.ps1 ``
-BaseUrl "https://cn.crazyrouter.com" ``
-Models "claude-sonnet-4-6", "gpt-5.5"
如果你想手动配置,可以参考这个结构:
[{"id": "gpt-5.5",
"name": "gpt-5.5",
"vendor": "Custom",
"url": "https://cn.crazyrouter.com/v1",
"apiKey": "sk-xxx",
"supportsToolCall": true,
"supportsImages": false,
"supportsReasoning": false,
"useCustomProtocol": false}]
重点检查:外层是不是数组,url 是否带 /v1,apiKey 是否正确,id 是否是真实模型 ID,JSON 格式是否合法。
WorkBuddy 自定义模型配置失败,大多数不是大问题,而是小细节:配置文件路径不对、JSON 写坏、URL 少了 /v1、API Key 没写对、模型 ID 不存在、WorkBuddy 没重启、重复模型太多、没有备份。
如果希望省掉这些排查步骤,可以直接用这个脚本:
https://github.com/xujfcn/workbuddy-crazyrouter
它的核心价值不是“多复杂”,而是把容易出错的配置动作自动化:自动创建配置文件、自动备份、自动补 /v1、自动去重、默认写入常用模型、支持恢复旧配置。对新手来说,这比手动改 models.json 稳很多。
《Off Campus》第二季官宣:这对CP还在,但不再是主角
和平精英如何做到压枪稳-和平精英怎样才能压枪稳
客单价碾压宝马奥迪!极氪5月交付新车34377辆:连续4个月双增长
HBO 奇幻剧《龙之家族》第三季定档 6 月 22 日,最终预告片曝光喉道海战
币安Binance虚拟货币交易平台 币安官方APP安卓苹果下载入口
帅气继父网名女生可爱英文(精选100个)
帅到极致的网名女生霸气(精选100个)
DOTA2 TI时隔七年重返上海!门票6月10日开抢,国服享受优先购买!
蒙古上单是什么梗
韦一敏是什么梗
韩漫小少爷网名大全女生(精选100个)
网络热词聊污是什么意思
如何在夸克浏览器中开启网页视频的倍速播放功能?
欧易OKX官方网站直达入口 2026欧易官方App安卓版v7.1.0下载安装
作家助手如何上传自制封面 作家助手如何设置小说的封面
抖音最火沙雕男生网名(精选100个)
阿里发布Qwen3.7-Max大模型,全球第五、国产第一
三角洲行动卡战备怎么弄 三角洲行动卡战备攻略
因空难被判“过失杀人罪” 空客、法航均被顶格处罚22.5万欧元
有寓意的易经网名男生(精选100个)
手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc