CPA反代codex是不是很容易出现这种上下文超限制

li han jin121 2026-05-20 16:08 1

Request failed: Bad Gateway, error: upstream response failed: {“type”:“error”,“error”:{“type”:“invalid_request_error”,“code”:“context_length_exceeded”,“message”:“Your input exceeds the context window of this model. Please adjust your input and try again.”,“param”:“input”},“sequence_number”:2}, type: server_error

最新回复 (15)
  • Linus Torvalds 05-20 16:12
    1

    gpt-5.4是1m,gpt-5.5是400k,是不是改模型了,但没改上下文配置?

  • 希望的葱 05-20 16:25
    2

    佬我在codex app上gpt5.5只有258k的上下文,是我有什么配置没开的问题吗

  • li han jin121 楼主 05-20 16:29
    3

    再opencode使用会有这个问题

  • Linus Torvalds 05-20 16:32
    4


    没错的,400K=272K+128K,然后95%自动压缩,272K*0.95=258K

  • deepcake 05-20 16:42
    5

    258k输入是没错的,输出占了128k,上下文略小,只有API用户能用1M

  • umbilical 05-20 18:07
    6

    佬儿,这个95%自动压缩是指上下文总长度到了95%自动压缩吗,我刚用两天,每次我看那个圈快到头了,刚打算新开一个会话,它又有空间了 ^-^


    是不是说我上下文很长,我问一句话,那些前文只要到了272K的长度,就会被压缩一次捏?


    那比如我快用满了小圈圈的上下文,为了节省token,正确的做法:

    a. 继续问,让它自动压缩,这样至少GPT还是知道上下文的

    b. 新开一个对话,让它重新读一次上下文(例如我的项目代码)

  • Hhhhhha 05-20 18:11
    7

    这个在哪里显示的呢?佬。我用codex的官方oauth登录的时候还有上下文的提示,改用new api + cpa的时候cli不显示了,我还奇怪好长时间

  • Linus Torvalds 05-20 18:35
    8

    config.toml里面配置就行了,也可以codex cli输入/statusline自定义


    [tui]
    status_line = [
    "project-name",
    "git-branch",
    "branch-changes",
    "model-with-reasoning",
    "fast-mode",
    "run-state",
    "task-progress",
    "context-window-size",
    "context-used",
    "used-tokens",
    "context-remaining",
    "permissions",
    "approval-mode",
    ]
    status_line_use_colors = true
  • LinuxDog 05-20 18:51
    9

    codex远程压缩做得好,所以通常选a。除非本次会话真的很长,你都感觉到幻觉了,或者这个任务已经完全独立了,选b

  • Linus Torvalds 05-20 18:57
    10

    据我观察,一般85%就触发自动压缩了,分为本地压缩和远程压缩,根据name是不是**“OpenAI”**这里来判断的,大小写不能错。官方号支持远程压缩,有的公益站支持远程压缩,走的openai官方接口/gpt-5.x-openai-compact模型,有的公益站不行。


    本地压缩name = “custom”


    model_provider = "custom"
    model = "gpt-5.5"

    [model_providers.custom]
    name = "custom"
    base_url = "http://localhost:8317/v1"
    wire_api = "responses"
    requires_openai_auth = true

    远程压缩name = “OpenAI”


    model_provider = "OpenAI"
    model = "gpt-5.5"

    [model_providers.OpenAI]
    name = "OpenAI"
    base_url = "http://localhost:8317/v1"
    wire_api = "responses"
    requires_openai_auth = true



    我习惯一路干到黑,让它自动压缩即可,搭配上subagent即可,每个subagent有自己的上下文,不会污染主上下文,所以可以一路干到黑

  • 为人民服务 05-22 09:48
    11

    我今早也遇到这个情况了,然后上下文直接搞到了200多万。网上各种包括换模型什么之类的修复办法都用了,不管用,因为就算换模型也不会支持这么多上下文。 最后还是让codex自己修自己,把它修好了. 下面是从那个对话里面总结出来的修复过程。

    问:为什么昨天还能跑,今天突然 compact 爆了?


    答:不是普通上下文满了,而是历史里混进了大量 data:image/…;base64 图片。健康会话是 227K / 258K,还能 compact;坏会话已经是 2.31M / 258K,连“用来 compact 的请求”本身都塞不进模型窗口。


    问:为什么分支一句话没发也爆?


    答:分支会继承父会话历史。父会话里那些 base64 图片和 compact 的 replacement_history 一起被带过去,所以新分支出生就超大。


    问:怎么验证原因?


    答:查本地 .codex/sessions/*.jsonl,发现坏分支里有多条几百万字符的 image_url,最大单行约 5.2M 字符。


    问:怎么修?


    答:拿一个可牺牲分支 019e4a61… 做实验:先备份原 JSONL,再把所有内嵌 base64 图片替换成短占位文本,保留对话、工具调用和普通文字。


    问:修完效果?


    答:文件从 44.5MB 降到 20.0MB;记录数不变 12540;JSON 解析错误 0;input_image 残留 0;最大单行从 5.2M 降到 78K。


    问:结论?


    答:这不是“模型突然不行了”,而是 session 历史被图片 payload 撑爆。救法是:备份会话文件,清掉历史里的 base64 图片,让 compact 重新能跑。

  • YongLoy 06-08 17:48
    12

    佬,只有 CPA 能支持远程压缩吗?我试了下好像不太行

  • Linus Torvalds 06-08 18:06
    13

    支不支持远程压缩,看中转站有没有gpt-5.5-openai-compact模型,没有的话就自己模型映射,不行的话就改成本地压缩


  • li han jin121 楼主 06-08 18:09
    14

    contextWindow: 272000:一次请求里 输入 + 输出 + system prompt + 工具/消息结构 总共不能超过约 272k tokens

  • RamboK9 06-08 18:13
    15

    我选c,如果前面的内容和你接下来要问的内容不是强连续,先手动压缩一遍

* 帖子来源Linux.do
返回