1. 让配置生效
| 操作 | 生效方式 |
|---|---|
| 加 / 改供应商、上游模型、模型映射、窗口模板 | 退出并重新打开 ChatGPT.app |
| 设置页切「默认模型」 | 即时:未钉住的会话下一轮对话跟随新默认模型 |
| 设置页「全局开关」 | 即时:关闭后包装器纯透传官方请求(等价原生行为) |
| 录入 / 修改 API key | 保存即写钥匙串,重启 app 后由中转读取 |
2. 选模型与切换模型
重启后打开 ChatGPT.app,点输入框右下角的模型名打开选择器——「模型映射」页建好的条目都在里面, 和官方模型并列显示:

- 新会话:直接在选择器里选目标模型;什么都不选则跟随默认模型;
- 会话中改选:只钉住当前会话,其它会话不受影响;切完时间线上会留一条 「模型已从 X 更改为 Y」的分隔线,说明之后的请求已经换了模型;
- 跨供应商改选:同样支持——本地中转按请求里的模型名路由到对应上游端点。
命令行等价操作:
coskey use qwen/glm-5.3-flash-540K # 切全局默认(未钉住的会话下一轮生效)
coskey use qwen/glm-5.3-flash-540K --thread <id> # 只钉住指定会话
coskey unpin <id> # 解除钉住,恢复跟随全局
3. 会话内切换:模型会变,窗口不变
上下文窗口只在会话建立时注入一次(新会话、fork 或重启 app 后的冷恢复)。会话中途改选 模型,回复照常走新模型,但窗口保持出生值。真机实测:
-
用 640K 的条目(生效 608K)起会话,输入框右下角显示「共 608k」:

-
同一会话里改选另一条 540K 的条目(生效 513K):回复正常,但窗口仍是 608k:

-
要让新窗口生效:在 ChatGPT.app 里 fork(时间线上的「从聊天中继续」)、克隆会话, 或重启 app 后冷恢复——续接出来的会话就是 513k:

Coskey 侧对同一件事有记账:会话页会给该会话打「窗口待生效」标记。
4. 常见问题
| 现象 | 原因 / 处理 |
|---|---|
| 加完模型,选择器里没有 | 配置改动要重启 ChatGPT.app;再确认该上游模型已经建了映射 |
| 供应商页某模型显示空「被谁使用」 | 它只在目录里,没建映射;去「模型映射」页新增一条 |
| 卡片显示「缺密钥」 | 钥匙串里没有该供应商的 key:编辑供应商补一次(不会回显旧值) |
| 模型标「转译」 | 上游不支持 /responses,由本地翻译层互转;翻译路径下图片/文件等富内容会被剥离,thinking 模型建议优先原生端点 |
| 窗口改大了,会话还是旧窗口 | 活跃会话的窗口覆盖不可更新,标「窗口待生效」;fork、克隆或重启 app 后生效 |
| 填了 1M,实际生效 608K | 生效窗口 = min(注入值, 目录上限) × 95%,界面已按此显示 |
| 窗口拖不过 272K | 该 id 没命中目录条目:先「+ 窗口模板」建一条以 id 前缀命名的条目 |
| 想换上游端点 | 编辑供应商改 Base URL,或改映射的「指向」——都不影响供应商本身 |
| 想临时全关 | 设置页「全局开关」关闭,包装器纯透传;排查完再打开 |
下一步:会话管理。