客户端配置
客户端配置页让 OSW 直接改本机 AI 客户端的配置文件,省去手抄 Base URL 和模型名。

支持的客户端
OSW 内置一份可自动配置的客户端清单。对每个客户端,它都知道配置文件在哪、是什么格式、以及哪些键把工具指向某个 provider。一次写入只动这些键——其余键、注释和文件原有的排版都原样保留。
| 客户端 | 协议 | 配置文件 | OSW 写入什么 |
|---|---|---|---|
| Claude Code | Anthropic Messages | ~/.claude/settings.json | env.ANTHROPIC_BASE_URL / ANTHROPIC_AUTH_TOKEN、model,以及全部 ANTHROPIC_DEFAULT_*_MODEL 别名 |
| Codex | OpenAI Responses | ~/.codex/config.toml | model、model_provider,以及 [model_providers.osw] 表 |
| VS Code | OpenAI Chat Completions | chatLanguageModels.json | 一条名为 OSW 的 Custom Endpoint provider 条目及其模型 |
| OpenCode | OpenAI Chat Completions | ~/.config/opencode/opencode.json | model、small_model,以及 osw provider 条目 |
| Pi | OpenAI Chat Completions | ~/.pi/agent/settings.json、~/.pi/agent/models.json | defaultProvider、defaultModel,以及 osw provider 条目 |
| DeepSeek Harness | OpenAI Chat Completions | ~/.dsh/settings.yaml | agent-default-model,以及 llm-pi-ai.providers.osw 路由 |
自动填充
为一个客户端点自动填充:它会写接入地址,并把当前逻辑模型写成 osw 这个本地 provider 的模型。每个客户端一次只写这一个,它在 OSW 里是唯一的落点。
一个客户端只写一份
自动填充不会遍历所有已配置的客户端,只处理你点的那个。要一次改多个,用下面的「全部生成配置并应用」。
开发版写的是另一个 provider 名
客户端配置文件在本机只有一份,所以开发版(pnpm dev 起的那套)写进去的 provider 名与正式版不同:正式写 osw / OSW,开发写 osw-dev / OSW Development。这样两套环境可以并存,开发时点「生成配置」不会把你正在用的正式配置改到开发端口上去。
一份配置里能并排放两条 provider 表项的客户端(Codex、OpenCode、VS Code、Pi、DeepSeek Harness)开发版写的是另一条表项;装不下第二套的 Claude Code(文件里只有一组 ANTHROPIC_*)在开发版里会被直接跳过——它没有地方放第二套地址与模型,写进去只会覆盖正式的配置。被跳过时列表会标出「当前环境不支持」,你也可以在下方手动编辑。
全部生成配置并应用
页头右上角的全部生成配置并应用会一次性处理所有已配置且支持写入的客户端,成功后逐条给出结果。
回退
每次写入前先备份,并且每个客户端保留可回退的历史版本:
- 点回退即可撤销自动填充,恢复原文件。
- 历史版本区域列出该客户端可回退到的时间点,可预览、手动选择,也可以删除不想留的备份。
先备份再写
回退基于写入前留下的备份,所以第一次自动填充之前的原始内容一定还原得回来。
手动配置
不想让 OSW 改文件,就手填这两行:
Base URL: http://127.0.0.1:9300 # Anthropic 用这个,不要 /v1
Base URL: http://127.0.0.1:9300/v1 # OpenAI 兼容用这个
API Key: 任意非空字符串 # 本地不校验,占位即可
Model: 任意非空模型名 # 不知道就用 defaultAPI Key 只是占位
本机不校验鉴权,真正的密钥是按供应商注入的。客户端非要求一个 Key,就给个占位符。
验证
配完在客户端里发一句话,然后去请求记录:出现这条请求就说明接上了。
请求进来之后,可能需要在路上做点改动——见请求重写。