# 官方 ChatGPT Mac 应用接入家庭中转

更新：2026-09-18。适用于官方 ChatGPT Mac 应用的**本地 Work／Codex 任务**。

**API 已通过验收；官方应用的端到端接入尚未验收。** 本文提供配置与验证步骤，不表示配置后所有功能都已可用。普通 Chat、网页版和云端任务不在此配置的验证范围内。

## 1. 准备配置与专用密钥

向管理员私下领取专用客户端密钥。它不是 ChatGPT 密码，也不是上游登录文件；不要发到聊天、截图或共享文档中。

在使用者的 Mac 上，备份 `~/.codex/config.toml` 和已有的 `~/.codex/.env`。如果设置了自定义 `CODEX_HOME`，以该配置目录为准。备份中可能含有秘密，也应仅由本人保管。

模型接口认证与应用自身账户登录是两件事；以下配置不会替代应用的登录流程，也不代表获得全部 ChatGPT Pro 功能或独立额度。

## 2. 合并模型配置

用文本编辑器打开 `~/.codex/config.toml`，合并以下内容。文件不存在时可创建；保留其他已有配置，不要直接覆盖整个文件。

```toml
model = "gpt-5.6-luna"
model_provider = "family_proxy"

[model_providers.family_proxy]
name = "Family proxy"
base_url = "https://proxy.rick1.fun/v1"
wire_api = "responses"
supports_websockets = false
env_key = "FAMILY_PROXY_API_KEY"
```

已有同名键时修改原值，不要重复追加。顶层 `model`、`model_provider` 放在所有 TOML 表（`[ ... ]`）之前；已有 `[model_providers.family_proxy]` 时合并该表。

这里使用 **HTTP Responses 流式**，因此明确设置 `supports_websockets = false`。保留 HTTPS 域名地址，不要改成裸 IP 或关闭证书校验。

## 3. 在本机保存密钥

桌面应用可能不继承终端的环境变量。在 `~/.codex/.env` 中添加或更新以下一行，并保留其他设置：

```dotenv
FAMILY_PROXY_API_KEY=REPLACE_WITH_YOUR_CLIENT_KEY
```

**`REPLACE_WITH_YOUR_CLIENT_KEY` 只是占位符，必须替换成管理员私下提供的专用密钥。** 不要填入 ChatGPT 密码，不要复制整个 JSON 或 `Bearer ` 前缀。

保存后在终端执行以下命令，使文件仅由本人读写；自定义 `CODEX_HOME` 时改用实际 `.env` 路径：

```bash
chmod 600 ~/.codex/.env
```

本文和公开下载文件都不包含真实密钥。配置好密钥后，不要将 `.env` 一并分享。

## 4. 重启并新建本地任务

1. 彻底退出官方 ChatGPT 应用，再重新打开。
2. 选择 **Work 或 Codex**，新建在本机运行的任务。不要用旧任务的回复代替新配置验证。
3. 确认模型为 `gpt-5.6-luna`，提供商为 `family_proxy`。界面未显示提供商时，请管理员结合不含秘密的客户端日志与中转请求记录确认；回答成功本身不能证明走了中转。
4. 先问“只回答结果：17 + 26 等于多少？”，确认回答为 `43`，并观察流式输出正常结束。
5. 在同一任务中继续追问，随后单独验证较长对话及需要使用的其他能力。

## 已验证与待验证

| 项目 | 当前状态 |
|---|---|
| HTTPS API、鉴权、短文本与 Responses 流式请求 | 已通过 API 层验收 |
| 官方 Mac 应用读取配置并完成真实对话 | 端到端待验收 |
| 实际使用者的设备与网络 | 待验收 |
| 长对话及上下文压缩（compact） | 待验收；当前未开放 `/v1/responses/compact` |
| WebSocket、图片、文件、语音等能力 | 未验收 |

当前开放的接口为 `GET /v1/models`、`POST /v1/chat/completions` 和 `POST /v1/responses`。客户端需要其他接口时，应由管理员根据实际请求核验后处理，不要自行扩大开放范围。服务器不需要运行 Open WebUI 才能提供这个 API；本方案不使用 WebUI 登录。

## 遇到问题

- **401：**检查 `.env` 中密钥、变量名及是否已彻底重启应用，不要公开发送密钥。
- **403：**部分网络可能存在 DNS 或访问拦截，请管理员检查当前网络；更换模型配置不能解决网络拦截。
- **404 或长对话失败：**检查请求是否涉及未开放的接口，尤其是 `responses/compact`；不要将短流式成功当成全部功能通过。
- **证书错误或超时：**保持 HTTPS 域名与证书验证开启，请管理员排查网络和服务状态。
- **需要恢复：**恢复配置备份，保留备份的私密权限，再彻底退出并重启应用。

## 官方参考与适用边界

- [官方：本地桌面应用、配置与验证方式](https://learn.chatgpt.com/docs/amazon-bedrock)
- [官方：自定义模型提供商](https://learn.chatgpt.com/docs/config-file/config-advanced)

第一份文档以 Bedrock 为例；这里仅引用其对桌面客户端、本地配置及验证范围的说明，不将其服务商能力表套用到本中转。本文结合通用自定义提供商配置，实际兼容性仍以官方应用的端到端测试为准。
