• 当前我这边可以理解为一个“编码代理运行栈”,大致分 7 层:
- 基础模型层 我是 Codex 风格的 GPT-5 系列编码代理,核心能力是理解需求、读代码、修改文件、运行命令、验证结果、总结交付。模型本身 不直接“常驻记忆”当前机器状态,主要依赖本轮上下文、工作区文件、工具输出和规则文件。
- 系统与开发者规则层 最上层有系统级规则和开发者规则,决定我必须如何行动。例如:什么时候必须联网、什么时候不能联网、怎么处理代码修改、不 能随意回滚用户改动、最终回答格式、工具使用边界等。这一层优先级最高。
- 你的全局 AGENTS.md 规则层 当前会话还加载了你在 C:\Users\ASUS-KL 下提供的全局 Codex 规则。它约束我的本地工作方式,比如:
- 默认中文说明。
- 非平凡实现要按 [STEP]、[WHY]、[ACTION]、[RESULT] 汇报。
- 修改前先识别真实任务类、目标、硬门槛和最小审计。
- 本地修复要执行到完成或明确 blocked。
- 文档、规则、配置、调试、前端、Git 都有专门门槛。
- 默认优先执行可行本地动作,而不是只给建议。
- 当前工作区层 当前工作目录是:
C:\Users\ASUS-KL
我可以通过 PowerShell 读取、搜索、修改本机文件,也可以运行命令。当前权限是 danger-full-access,审批策略是 never,也就 是说我不能弹出审批请求,但可以直接执行允许范围内的本地命令。按你的规则,涉及受保护区域或全局配置时我仍然要保持最小、可 回滚、可验证。
- 工具层 我主要有几类工具:
- shell_command:运行 PowerShell 命令、测试、构建、检查文件。
- apply_patch:实际编辑文件时必须优先用补丁方式。
- web:联网搜索、打开网页、查实时资料。
- agent-browser 相关技能:需要验证网页或浏览器交互时使用。
- MCP 资源读取工具:如果本地 MCP 暴露资源,优先用它们获取上下文。
- 子代理工具:只有你明确要求多代理、委托或并行 agent 工作时才会使用。
- 技能层 当前环境注册了很多技能,相当于可插拔工作流。例如:
- 前端改动:保留现有设计系统,否则要有明确视觉方向并做移动端/可见验证。
- Git 交付:识别真实 owning repo,只 stage 目标边界,按规则说明 push/commit 状态。
简化成一句话:我是一个受多层规则约束的本地编码代理,核心架构是“模型推理 + 规则门槛 + 本地工具执行 + 技能工作流 + 验证 闭环”,目标是在你的机器和当前仓库边界内尽量直接完成任务,而不是只提供建议。
- tool_call 到本机 shell / 文件动作的执行链
- 现阶段已确认正常的部分
- 现阶段仍存在问题的部分 • Ran Get-ChildItem Env: | Where-Object { $_.Name -match 'MODEL_PROVIDER|OPENAI|CODEX|BASE_URL|AI' } | Sort-Object Name │ | Select-Object Name,Value | Format-Table -Wrap
│ Id,ProcessName,Path | Sort-Object ProcessName,Id | Format-Table -Wrap
url = "https://api.githubcopilot.com/mcp/"
bearer_token_env_var = "GITHUB_PAT_TOKEN"
│ Name,Length,LastWriteTime | Format-Table -AutoSize └ Name Length LastWriteTime • [ACTION] 我做两个健康探测:本机 3000/v1/models 和公网 key.tengokukk.com/openai/v1/models。 [RESULT] 本机 3000 返回 200;公网入口在 10 秒内超时,说明公网 nginx/HTTPS/DNS 到后端这一段当前未确认正常。
• Ran Resolve-DnsName key.tengokukk.com -ErrorAction SilentlyContinue | Select-Object Name,Type,IPAddress,NameHost | │ Format-Table -AutoSize └ Name Type IPAddress NameHost … +15 lines (ctrl + t to view transcript) freesia.dnspod.net AAAA 2402:4e00:1470:2::e
• Ran Test-NetConnection key.tengokukk.com -Port 443 | Select-Object │ ComputerName,RemoteAddress,RemotePort,TcpTestSucceeded | Format-List └ ComputerName : key.tengokukk.com … +2 lines (ctrl + t to view transcript) TcpTestSucceeded : True
• Ran try { (Invoke-WebRequest -Uri 'https://key.tengokukk.com/openai/v1/models' -Headers @{Authorization='Bearer 12345 │ 6'} -UseBasicParsing -TimeoutSec 30).StatusCode } catch { if ($.Exception.Response) { 'HTTP ' + [int]$.Exceptio │ n.Response.StatusCode + ' ' + $.Exception.Response.StatusDescription } else { $.Exception.Message } } └ The request was canceled due to the configured HttpClient.Timeout of 30 seconds elapsing.
─ Worked for 1m 09s ────────────────────────────────────────────────────────────────────────────────────────────────────
• 下面按“端到端真实链路”描述当前架构。结论先说:当前真实可确认链路不是 Codex -> 3301,而是 Codex -> https://key.tengokukk.com/openai/v1 -> 公网 nginx/HTTPS/DNS -> 后端代理 -> AIClient2API:3000 -> openai-codex-oauth。3 301 目前在本机没有监听、Docker 也没有映射,属于未确认/不一致点。
客户端内部架构 本机 Codex 客户端层:
Codex UI / Codex CLI -> 本机 codex.exe 运行时 -> 读取 C:\Users\ASUS-KL.codex\config.toml -> 读取 C:\Users\ASUS-KL.codex\auth.json -> 使用 model_provider = "crs" -> 使用 model = "gpt-5.4" -> 发起 OpenAI-compatible 请求到 configured base_url
本机 config/auth 控制层:
C:\Users\ASUS-KL.codex\config.toml model_provider = "crs" model = "gpt-5.4"
[model_providers.crs]
base_url = "https://key.tengokukk.com/openai/v1"
requires_openai_auth = true
C:\Users\ASUS-KL.codex\auth.json auth_mode OPENAI_API_KEY
当前 base_url 和公网入口:
当前 base_url: https://key.tengokukk.com/openai/v1
公网 DNS: key.tengokukk.com -> 124.220.233.126
公网 443: TCP 可连通
公网 OpenAI-compatible /v1/models: 当前 30 秒超时,未确认 HTTP 应用层正常
外部服务链路架构 公网层大致是:
Codex 本机客户端 -> HTTPS 请求 https://key.tengokukk.com/openai/v1/... -> DNS: key.tengokukk.com -> 124.220.233.126 -> 公网 443 -> nginx / HTTPS 终止或反代层 -> 反向代理到后端 AIClient2API 服务
nginx / HTTPS / DNS 层当前确认情况:
DNS: 已确认,A 记录为 124.220.233.126 TCP 443: 已确认可连通 HTTPS 应用层: /openai/v1/models 当前超时,未确认正常 nginx 配置: 当前没有本机配置证据,无法确认具体 upstream 端口
3301 的 AIClient2API 层:
用户提到的 3301: 当前本机未监听 3301 当前 Docker 容器未映射 3301 当前 Codex config.toml 也没有指向 3301 所以 3301 目前不是我能从本机证据确认的真实活动层
实际已确认的 AIClient2API 层是 Docker 容器:
container: aiclient2api image: justlikemaki/aiclient-2-api:latest status: Up 14 hours, healthy
published ports: 3000 -> 3000 1455 -> 1455 8085 -> 8085 8086 -> 8086 19876-19880 -> 19876-19880
config mount: C:\Users\ASUS-KL\AIClient2API-Tutorial\configs -> /app/configs
AIClient2API 配置:
C:\Users\ASUS-KL\AIClient2API-Tutorial\configs\config.json
SERVER_PORT = 3000 HOST = 0.0.0.0 MODEL_PROVIDER = openai-codex-oauth REQUIRED_API_KEY = configured PROVIDER_POOLS_FILE_PATH = configs/provider_pools.json
MODEL_PROVIDER 层:
MODEL_PROVIDER = "openai-codex-oauth"
provider pool: openai-codex-oauth -> CODEX_OAUTH_CREDS_FILE_PATH = ./configs/codex/codex-default.json -> checkModelName = gpt-5.2-codex -> isHealthy = true -> isDisabled = false -> errorCount = 0
上游 3000 / openai-codex-oauth 层:
AIClient2API:3000 -> default-auth 插件校验 API key -> 根据 MODEL_PROVIDER 选择 openai-codex-oauth -> 读取 configs/codex/codex-default.json -> 使用 Codex OAuth 凭据 -> 转发到 OpenAI/Codex 上游
注意这里的“上游 3000”从当前证据看更准确叫:本机/容器暴露的 AIClient2API OpenAI-compatible 入口是 3000;它的 provider 上游是 openai-codex-oauth。
真实执行链路 一次正常模型请求的真实链路应是:
本机 Codex 客户端 -> C:\Users\ASUS-KL.codex\config.toml -> provider "crs" -> base_url https://key.tengokukk.com/openai/v1 -> auth.json 中的 OPENAI_API_KEY 作为 Bearer -> DNS key.tengokukk.com -> HTTPS 443 -> nginx / HTTPS / reverse proxy -> AIClient2API OpenAI-compatible API -> MODEL_PROVIDER=openai-codex-oauth -> configs/codex/codex-default.json OAuth 凭据 -> OpenAI/Codex 上游 -> 返回模型响应 -> Codex 客户端渲染/继续推理
tool_call 到本机 shell / 文件动作的执行链是另一条本地执行链,不经过 AIClient2API:
模型生成 tool_call 意图 -> Codex 客户端/运行时接收 tool_call -> 本地工具调度层 -> commentary channel 调用 shell_command / apply_patch / MCP / browser 工具 -> PowerShell 或文件补丁在本机执行 -> 工具输出回传给 Codex 运行时 -> 模型基于结果继续推理
也就是说:
模型推理请求链路: Codex -> base_url -> nginx/public -> AIClient2API -> openai-codex-oauth -> 上游模型
本机动作执行链路: 模型 tool_call -> Codex 本地工具调度 -> PowerShell / filesystem / MCP -> 本机结果
现阶段已确认正常的部分
- 本机 Codex 进程存在,当前会话可正常运行工具调用。
- config.toml 已确认使用 model_provider = "crs",base_url = "https://key.tengokukk.com/openai/v1"。
- auth.json 已确认存在 auth_mode 和 OPENAI_API_KEY 字段。
- aiclient2api Docker 容器存在且健康运行。
- AIClient2API 实际监听/映射的入口是 3000,不是 3301。
- http://127.0.0.1:3000/v1/models 携带本地 API key 探测返回 200。
- MODEL_PROVIDER = openai-codex-oauth 已确认。
- provider pool 中 openai-codex-oauth 当前标记 isHealthy = true、isDisabled = false。
- key.tengokukk.com DNS 已解析到 124.220.233.126。
- key.tengokukk.com:443 TCP 连接成功。
现阶段仍存在问题的部分
- https://key.tengokukk.com/openai/v1/models 当前从本机请求 30 秒超时,公网 HTTP 应用层未确认正常。
- 3301 未在本机监听,也未出现在 Docker 映射和当前 Codex 配置中;如果设计文档里写的是 3301,当前实现/运行态与设计不一 致。
- nginx 具体 upstream 配置当前没有直接证据,无法确认它到底反代到 3000、3301,还是其他远端端口。
- 公网入口虽然 DNS 和 443 TCP 正常,但 HTTPS -> nginx -> upstream -> AIClient2API 的完整应用层链路仍有断点。
- 当前 Codex 客户端配置指向公网域名,而不是直连 127.0.0.1:3000;因此本机 AIClient2API 健康不等于公网 base_url 健康。
- AIClient2API provider pool 的 checkHealth = false,所以 isHealthy = true 不能完全等价于实时上游健康检查通过。
当前最准确的状态判断是:本机 AIClient2API:3000 和 openai-codex-oauth 配置层看起来正常;公网 key.tengokukk.com/openai/v1 到后端的 HTTPS/nginx/upstream 应用层链路当前仍有问题或至少未验证通过;3301 不是当前本机证 据支持的真实活动入口。