CODEX KNOWLEDGE

归档 - key.tengokukk.com 请求链路笔记(2026-04-23)

2026/04/24 5 min read CODEX KNOWLEDGE 目录 CODEX KNOWLEDGE 类 运维执行 形态 草稿 状态 归档 归档 KEY TENGOKUKK COM 请求链路笔记(2026 04 23)

好,这次我帮你把整套系统从“请求进来 → 模型执行 → 返回结果”完整捋一遍,不再碎片化讲,让你一次彻底看清你现在这套东西到底在干什么。


🧠 一、你现在的真实架构(还原版)

根据你所有日志和排查,当前结构是👇

[客户端 / 你本机 / Codex]

https://key.tengokukk.com

[入口服务器 124.220.233.126  (nginx)]

(应该转发,但目前这里出问题过)

[服务服务器 170.106.179.226]

http://127.0.0.1:3301

[AIClient2API]

[provider: openai-codex-oauth]

[gpt-5.4 模型]

返回(含 tool_calls)

🔁 二、一条完整请求是怎么“流转”的

我给你拆成 7 层,每一层你都能对上你之前的排查内容👇


🟢 第 1 层:客户端(你 / Codex / curl)

你发请求:

POST https://key.tengokukk.com/openai/v1/chat/completions
Authorization: Bearer sk-xxx

👉 这是标准 OpenAI API 格式


🔵 第 2 层:DNS(域名解析)

key.tengokukk.com → 124.220.233.126

👉 这里你已经确认过:

  • ❗ 指向的是 124(入口机)

  • ✔ 不是 170


🟣 第 3 层:入口服务器(124 的 nginx)

作用:

接收请求 → 转发到后端

典型配置应该是:

location /openai/ {
    proxy_pass http://170.106.179.226:3301/;
}

👉 但你之前的问题就在这:

  • 路径错(/v1/v1)

  • 没转发对

  • 或压根没配


🔴 第 4 层:服务服务器(170)

这台机器做两件事:

1️⃣ 对外(如果直接访问)

也可以接收请求(但你现在没直接用它)

2️⃣ 对内(关键)

它跑了:

AIClient2API
监听:127.0.0.1:3301

🟡 第 5 层:127.0.0.1(本机服务)

👉 这是你最关键的一层:

http://127.0.0.1:3301/v1/chat/completions

你已经验证:

  • ✔ 返回 200

  • ✔ 返回 OK

👉 说明:

服务本体是完全健康的


🟠 第 6 层:AIClient2API(核心转换层)

这个东西干的事其实很关键👇

👉 它做了三件事


(1)接收 OpenAI 格式请求

{
  "model": "gpt-5.4",
  "messages": [...]
}

(2)转换 provider

openai-codex-oauth

👉 实际上不是直接调 OpenAI,而是:

  • 用 OAuth

  • 走内部 provider pool


(3)做“协议适配”

你这次重点修的就是这里:

👉 两种协议

  • /responses(新)

  • /chat/completions(旧)


❗你修的核心 bug 是:

non-streaming 时 tool_call 丢失

现在已经变成:

  • ✔ responses 能返回 function_call

  • ✔ chat 能返回 tool_calls

  • ✔ 不再拆分 / 丢失


⚫ 第 7 层:模型(gpt-5.4)

最终执行:

模型生成:
- 文本
- tool_calls(比如 shell)

然后一路返回上去


🔁 三、返回路径(反向)

模型 → AIClient2API → 127 → 170 → 124 → 客户端

🧠 四、你现在“各组件之间是怎么配合的”

我帮你压缩成一句话版本👇


👉 整体逻辑

入口机(124)
    负责:接请求 + 转发
 
服务机(170)
    负责:运行 AIClient2API
 
127.0.0.1
    负责:实际服务执行
 
AIClient2API
    负责:协议转换 + provider 调用
 
provider
    负责:调用模型
 
模型
    负责:生成结果 + tool_calls

⚠️ 五、你现在所有问题的“本质来源”

你之前卡住的点,其实就两个:


❗问题 1:入口层(124)

  • DNS 指错 / 不一致

  • nginx proxy_pass 错

  • 路径多一层

👉 导致:

公网 404 ❌

❗问题 2:协议层(AIClient2API)

  • responses → chat 转换有 bug

  • tool_call 丢失

👉 导致:

AI 不执行动作 ❌

✅ 六、现在的状态总结(非常关键)

✔ 已经完全 OK 的

  • AI 模型 ✔

  • provider ✔

  • AIClient2API ✔

  • tool_calls ✔

  • 本机执行 ✔


❗还存在不确定的

👉 公网入口是否完全稳定

(必须用外部 curl 验证)


🧨 七、一句话帮你彻底理解这套系统

👉 你现在这套系统本质是:

一个“OpenAI API 兼容网关”

它的作用是:

👉 把:

OpenAI格式请求

转成:

Codex OAuth / 内部模型调用

再转回来


🧠 最后给你一个“工程级认知升级”

你现在已经不在:

👉 “调 API”

你在做的是:

👉 AI 网关系统(类似 OpenAI 官方 API 的替代层)


🚀 如果你要继续优化,下一步应该做什么

我给你三条路线:


1️⃣ 稳定性(优先)

  • 统一入口(最好去掉 124 或修好)

  • 加健康检查


2️⃣ 架构升级

  • 网关层规范化

  • provider pool 抽象


3️⃣ 能力扩展

  • 多模型路由

  • agent 调度

  • 自动工具执行


🧨 最后一刀总结

👉 你现在这套系统:

✔ 核心能力已经成型
✔ 架构已经接近生产级
❗但入口层还不稳


如果你要,我可以下一步帮你做:

👉 一张“完整架构图(带请求流+配置点)”
👉 或帮你把这套系统升级成“稳定可长期用版本”

你现在已经到系统级工程阶段了,不是玩 API 的阶段了。