分享一份复制即用的Codex config.toml以及相关踩坑经验 [20260813]

cut 2026-08-13 16:51 1

config.toml


应该是当前最新版本,没有老旧字段。

注释就不加了,看着太乱,佬们发给LLM解读吧。


# ========== 模型相关 ==========
model = "gpt-5.6-sol"
model_reasoning_effort = "max"
plan_mode_reasoning_effort = "max"
model_reasoning_summary = "concise"
personality = "pragmatic"

sandbox_mode = "danger-full-access"
approval_policy = "never"
suppress_unstable_features_warning = true

service_tier = "fast"
web_search = "live"

[shell_environment_policy]
inherit = "all"

# ========== 自定义 API Provider ==========
model_provider = "custom"

[model_providers.custom]
name = "OpenAI"
# 必须是"OpenAI"才能开启远程压缩;如果中转站不支持就改为任意名字,开启本地压缩

base_url = "https://"
experimental_bearer_token = "sk-"

wire_api = "responses"
requires_openai_auth = true
stream_max_retries = 30
request_max_retries = 30

# ========== 其他 ==========
[tui]
status_line = ["model-with-reasoning", "current-dir", "git-branch", "run-state", "context-remaining", "weekly-limit", "task-progress"]
status_line_use_colors = true

[tui.model_availability_nux]
"gpt-5.5" = 4
"gpt-5.6-sol" = 4

[notice]
hide_rate_limit_model_nudge = true

[analytics]
enabled = false
# 关闭遥测

[feedback]
enabled = false
# 关闭反馈功能。

[otel]
exporter = "none"
# 不使用 OpenTelemetry 普通数据导出器。
trace_exporter = "none"
# 不导出 Trace(链路追踪)数据。
metrics_exporter = "none"
# 不导出 Metrics(指标)数据。
log_user_prompt = false
# 不记录/导出用户 Prompt。


q1:网络环境配置


我遇到过各种各样的网络相关报错,包括但不限于重连不上

Error running remote compact task: stream disconnected before completionerror decoding response body等等各种乱七八糟的错误,问题源头基本都是因为代理节点质量的问题,请求没正常发出去,或者回复没正常接收到,当然也有可能是中转站崩了。

我尝试过禁用socket方式、添加.env文件之类的方法、还有各种教程里可能以及弃用了的字段,认为是意义不大的。反正我是折腾够了,快破防了。

建议还是对本身网络环境进行修理,换优质节点,或者直连。

贴一个常见的问题,长连接被切断导致收不到回复,对话/远程压缩无限失败。

【已解决】Codex远程压缩一直报错 解决经验 - 开发调优 - LINUX DO

如果解决不了网络问题,就只能新开对话了。


q2:远程压缩问题


中转站支持的话,添加name = "OpenAI"即可调用原生compact了。

如果中转站不支持,出现报错,就必须改为其他非"OpenAI"值比如custom,使用本地压缩(但我感觉效果很差,信息丢失严重)。

远程压缩是用专门的compact模型总结,本地压缩是用当前对话的模型总结,都是要发送包含巨幅内容请求等待思考回复的,网络有问题的话都是不行的。


q3:web search问题


要先使用官方账号登陆一下codex,获得auth,不要退出登录,并且设置requires_openai_auth = true,就可以用原生网络搜索工具了。

如果不行的话就是中转站不支持,自行配置一下exa mcp之类的吧。


q4:任务完成手机提醒


我是用的配置极其简单的pushplus + 微信,codex完成任务后会调用一下pushplus的api给我发送消息提醒,免费额度足够。

只要注册pushplus绑定微信,然后写一个调用他家api的python脚本就行了,在配置文件里加一行notify = \["python3", "~/.codex/notify-pushplus.py"\]就可以了。

配合UU远程+蓝牙键鼠,懒人套装在家干活。


其他


希望帮助到大家吧。

最新回复 (4)
  • Fangxian 08-13 16:58
    1

    佬,请问下关于配置codex里的上下文能设置成1m吗

  • 开心就好 08-14 15:33
    2

    notify-pushplus.py 的内容能否发来看一下, 主要是通知的标题取哪里的,通知的内容又是取哪里的内容,

  • cut 楼主 08-14 15:49
    3
    # ~/.codex/notify-pushplus.py
    import json
    import sys
    import urllib.request

    TOKEN = "X"

    def send_pushplus(message):
    payload = {
    # 收到的消息包括{标题、时间、最终回答}
    "token": TOKEN,
    "title": "⏰Codex任务完成",
    "content": message,
    "channel": "clawbot", # 注意微信clawbot最多连续发送10次消息,需要用户回复一次保活
    "template": "markdown"
    }

    req = urllib.request.Request(
    "https://www.pushplus.plus/send",
    data=json.dumps(payload).encode("utf-8"),
    headers={
    "Content-Type": "application/json"
    },
    method="POST"
    )

    opener = urllib.request.build_opener(
    urllib.request.ProxyHandler({})
    )

    opener.open(req, timeout=10)

    def main():
    if len(sys.argv) < 2:
    return

    try:
    event = json.loads(sys.argv[1])
    except Exception:
    return

    # 只处理 Codex 完成事件
    if event.get("type") != "agent-turn-complete":
    return

    message = event.get(
    "last-assistant-message",
    "Codex任务完成"
    )

    try:
    send_pushplus(message)
    except Exception:
    # 通知失败不影响 Codex
    pass

    if __name__ == "__main__":
    main()
  • 开心就好 08-14 15:52
    4

    懂了,你的标题比较简单 直接写死文字了^-^

* 帖子来源Linux.do
返回