| 模型 | 请求 | 输入 | 输出 | 合计 tokens | 积分 |
|---|
| 时间 | 商品 | 价格 | 生效 |
|---|
id 合并进客户端配置——你自己加的模型一条都不会删;覆盖前自动备份(留最近 5 份),写完逐个目录回读校验,并装一个开机自动修复任务,防止客户端升级/重置后配置又没了。结尾会停住让你看结果和日志路径。POSIX sh 写成——鸿蒙的 toybox 里没有 bash,[[ ]]、数组、local 一律不用。配置明文内嵌(不依赖 base64 解码),用 awk 按模型 id 合并,同样会备份、不覆盖你已有的模型。必须用 LF 行尾保存,CRLF 会让它认不出解释器。%USERPROFILE%\.workbuddy\models.json(CodeBuddy 同理放 .codebuddy 或 %APPDATA%\CodeBuddy)。目录不存在就先建。models.json,请先把两边 models 数组合并(同名 id 以本网关为准),别直接覆盖。点上面「生成部署提示词」——它按你这一把钥匙现算一份部署指令并复制到剪贴板 (想留档就点右边的「下载 .md」)。把整段文字粘贴给任意一个能操作你本机的 AI 助手 (WorkBuddy / CodeBuddy / Cursor / Claude Code 等)。提示词里已经写实了网关地址、你的密钥、 模型清单、目标目录、下载端点,以及验收标准和排错表——它不需要再回头问你任何参数。 页面会按你的系统给对应的那一版(Windows 给 PowerShell 命令,macOS 给 bash 命令, 鸿蒙给 POSIX sh 命令)。
它拿到之后会:
deploy.ps1(Windows)/ config-mac.sh(macOS)/ config-harmony.sh(鸿蒙)——配置已内嵌,运行时不再联网取配置;id 合并写入已存在的配置目录——你原有的模型不会被冲掉;models.json.bak-yyyyMMdd-HHmmss(留最近 5 份);/healthz 做连通性自检;完成后你需要做一件事:重启客户端。
客户端按下列顺序探测配置目录,写到存在的那一个(一个都没有就创建第 2 条那个):
| 顺序 | Windows | macOS | 鸿蒙 HarmonyOS |
|---|---|---|---|
| 1 | %WORKBUDDY_CONFIG_DIR% / %CODEBUDDY_CONFIG_DIR% | $WORKBUDDY_CONFIG_DIR / $CODEBUDDY_CONFIG_DIR% | $WORKBUDDY_CONFIG_DIR / $CODEBUDDY_CONFIG_DIR |
| 2 | %USERPROFILE%\.workbuddy | ~/.workbuddy | ~/.workbuddy |
| 3 | %USERPROFILE%\.codebuddy | ~/.codebuddy | ~/.codebuddy |
| 4 | %APPDATA%\CodeBuddy | ~/Library/Application Support/CodeBuddy | — |
| 5 | — | ~/Library/Application Support/WorkBuddy | — |
第 1 条只在环境变量已设置时参与;重复的目录只处理一次。
macOS 的第 4、5 条路径里带空格,脚本按行读取(不是按空格切词),空格不会把它劈坏。
鸿蒙只探测前 3 条:客户端装进应用沙箱时真实目录只有它自己知道,脚本猜出来的路径写进去
客户端也永远不会读——那种情况请 export WORKBUDDY_CONFIG_DIR='客户端给的目录'
再跑脚本。
文件两种形态客户端都认:顶层数组 [{…}],或 {"models":[{…}]}。
本页给的一律是后者,UTF-8 无 BOM。
每个模型条目的字段:
id — 模型 id(写什么就调什么)name — 在客户端里显示的名字vendor — 来源,本网关统一为「小羊wb工具」apiKey — 你本人的分发密钥,别给别人url — —/v1/chat/completionsmaxInputTokens / maxOutputTokens — 上下文与输出上限supportsToolCall / supportsImages / supportsReasoning — 能力标记| 现象 | 多半是 | 怎么办 |
|---|---|---|
| 客户端里看不到模型 | 没重启,或写进了客户端不读的目录 | 完全退出(含托盘 / 菜单栏图标)再开;核对上面那张目录表 |
| 调用报 401 | 密钥没填全/多了空格 | 回本页重新复制 |
Windows:脚本中文乱码、报 ParseException | 文件少了 UTF-8 BOM,被按 GBK 读了 | 重新从本页下载,别手工另存 |
| Windows:提示「禁止运行脚本」 | PowerShell 执行策略限制 | 加 -ExecutionPolicy Bypass;本页脚本已自带该参数,别手工另存丢了它 |
Windows:双击 .bat 一闪而过 / 双击完全没反应 | ①从压缩包里直接双击(正文被抽走,脚本解不出安装器)②文件还带着「来自 Internet」封锁标记,被 SmartScreen 拦下 ③路径里有中文或空格 | 把 .bat 解压/另存到桌面再双击;脚本会自己摘封锁标记,若仍被拦:右键属性 → 勾「解除锁定」;路径带空格不影响它(脚本全程走环境变量,不拼命令行) |
| Windows:提示「另一个程序正在使用此文件」/「访问被拒绝」 | 客户端还开着,退出时会把自己的模型表写回去 | 先完全退出 WorkBuddy / CodeBuddy(含托盘图标),再运行脚本;脚本检测到进程在跑会提示你关 |
| Windows:提示配置成功,但客户端里模型没变,或重启后模型又没了 | 旧的覆盖式脚本会「假成功」(判据是文件在不在,不是写成功没),且客户端退出时覆盖回去 | 新版脚本是写完回读校验、逐个目录报真实结果,并装开机自动修复任务(启动文件夹 + 每 10 分钟检查一次)自动补回。若还是没变:看日志 %LOCALAPPDATA%\xiaoyang-wb\apply.log |
| Windows:配置完之后不定时弹出一个黑框,一闪而过 | 那是「自动修复」任务在工作 —— 启动项 + 每 10 分钟一次的计划任务,用来把被客户端升级/重置冲掉的配置补回来。老版本直接跑 powershell,它是控制台程序,Windows 会先给它开一个窗口,-WindowStyle Hidden 要等 PowerShell 起来才生效,中间那一下就是闪的黑框 | 重新从本页下载一次 .bat 并双击即可 —— 新版改走无控制台的静默启动器(wscript + 隐藏窗口),自愈照跑但不再有可见窗口,旧启动项会被自动换掉。不想再要自愈:powershell -File "%LOCALAPPDATA%\xiaoyang-wb\apply.ps1" -Uninstall |
| Windows:想关掉那个开机自动修复任务 | 它会常驻,防止配置被冲掉 | 重新运行脚本会覆盖它;要彻底移除执行 powershell -File "%LOCALAPPDATA%\xiaoyang-wb\apply.ps1" -Uninstall,或删掉启动文件夹里的 xiaoyang-wb-config.vbs(旧版是 .cmd)与计划任务 xiaoyang-wb-config |
macOS:双击 .command 说「来自身份不明的开发者」 | 下载文件带了 quarantine 隔离标记 | xattr -d com.apple.quarantine <文件>,或右键 →「打开」→「打开」 |
macOS:zsh: permission denied | 文件没有执行位 | chmod +x <文件>,或直接 bash <文件> |
| macOS:脚本报找不到 JSON 合并引擎 | 本机没有可用的 python3,也拿不到 osascript | 直接用页面上的 models.json 手工合并;脚本此时故意不写任何文件,原有模型不会被冲掉 |
鸿蒙:syntax error / [[: not found / bad substitution | 拿 bash 语法去跑 sh(鸿蒙的 toybox 里没有 bash) | 一律 sh 文件 显式调用;[[ ]] 改成 [ ],去掉数组与 local |
鸿蒙:报「内嵌配置没写出来」/ 第一行 #!/bin/sh 却 not found | 文件被存成了 CRLF 行尾,解释器名变成 sh\r | 用 LF 重新保存;或就地转:sed -i 's/\r$//' 文件 |
鸿蒙:command not found: curl | 精简版 toybox 没带 curl | 改用 wget -q -O 文件 '地址';两个都没有就在别的机器上取好传过去 |
| 鸿蒙:报「旧文件不是能逐行理解的 models.json」然后跳过 | 原有 models.json 是压成一行的紧凑 JSON,awk 读不出条目 | 脚本故意跳过该目录不写以保护原有模型。本机若有 python3 / node 会自动改走它们那条路 |
| 原有模型不见了 | 直接覆盖了 models.json | 用同目录 models.json.bak-* 恢复 |
回滚就是拿备份覆盖回去:把 models.json.bak-<时间戳> 改名成 models.json 即可。
只想撤掉本网关而不动别的:在 models.json 里删掉 vendor 为「小羊wb工具」的那些条目。