跳到主要内容

配置选项

本文列出状态栏的配置键、默认值和取值范围。首次配置请从配置状态栏开始。

在 JSON 中,这些选项位于 options 对象内;使用 Lua 时,直接传给 setup({...})。完整 JSON 结构见 配置 schema。

时间单位由键名给出:_seconds 为秒,_ms 为毫秒,_bytes 为字节。

基础与日志​

选项默认值作用
debugfalse记录进程识别、会话匹配和状态栏创建或关闭的详情
labelCODEX状态栏固定标识,长度 1–24
codex_home""覆盖 $CODEX_HOME;空值使用环境变量或 ~/.codex
log.enabledtrue写入模块加载日志
log.markerCODEX_STATUSLINE_LOADED加载日志标记
compat.update_right_statusfalse兼容使用 update-right-status 事件的 WezTerm 版本
codex_config.enabledtrue从 Codex 配置读取模型、推理强度和服务等级的默认值
codex_config.path""自定义 Codex config.toml 路径
codex_config.cache_ttl_seconds5Codex 配置缓存时间

底部窗格、Git 与标题​

选项默认值作用
bottom_pane.enabledtrue是否创建独立底部状态栏窗格
bottom_pane.rows1新建时 1 或 2 行;拖动后遵从实际高度,Token 类字段可进入第二行
bottom_pane.layout_debounce_ms1000布局稳定等待,整数 250–5000 ms
bottom_pane.close_grace_seconds2确认 Codex 退出后,关闭状态栏前的等待时间(秒)
bottom_pane.prevent_focustrue创建或点击状态栏后,将焦点返回 Codex 窗格
git.enabledtrue查询 Git 根目录和当前分支
git.cache_ttl_seconds5Git 信息缓存时间
title_bridge.enabledtrue从窗格标题读取模型和推理强度
title_bridge.app_namecodex终端标题中的应用名

title_bridge.enabled 控制是否读取标题。要让 Codex 生成对应标题,先按安装指南启用终端标题。

layout_debounce_ms 只影响布局调整,数据仍按正常间隔刷新。分屏与焦点行为见会话与分屏。

手动关闭状态栏后,可用 codex-statusline-show 事件恢复,见隐藏与恢复。

会话绑定​

选项默认值作用
sessions.enabledtrue读取窗格与会话的映射及会话记录
sessions.binding_modeautoauto、hook 或 heuristic
sessions.bridge_dir""覆盖 $CODEX_HOME/wezterm-statusline
sessions.allow_fallback_latestfalse工作目录未知时,允许选择最近的会话记录
sessions.resume_fallback_enabledtrueauto 模式恢复会话时,允许临时使用唯一匹配的记录
sessions.resume_fallback_max_age_seconds30候选相对进程启动时间的最大活动窗口,范围 1–300
sessions.resume_fallback_clock_skew_seconds5允许的时间戳偏差,范围 0–30
sessions.resume_fallback_scan_ttl_seconds2恢复会话时的候选扫描缓存
sessions.cache_ttl_seconds5会话映射与记录路径缓存
sessions.full_scan_ttl_seconds300完整会话记录扫描的缓存时间
sessions.tail_ttl_seconds1会话记录新增内容的读取间隔
sessions.open_fail_clear_seconds30会话记录持续无法读取时,保留原有显示数据的时间
sessions.initial_seek_bytes131072首次从文件尾部读取的字节数
sessions.activity_seek_bytes65536活动状态增量扫描的初始字节数
sessions.activity_max_seek_bytes8388608活动状态回溯扫描的最大字节数
sessions.max_meta_lines40首次元数据扫描最大行数
sessions.max_tail_lines200每轮尾部扫描与费用历史扫描各自的最大行数

绑定模式行为:

模式行为
auto安装 hook 后使用精确映射;恢复会话时可临时使用唯一匹配的记录
hook等待 hook 提供精确映射
heuristic按工作目录和活动时间匹配会话

多个会话并行运行时,建议保留 allow_fallback_latest = false,避免将其他会话的数据用于当前窗格。

进程检测与 user vars​

选项默认值作用
process_match.enabledtrue检查当前窗格是否运行 Codex
process_match.namescodex, codex.exe可识别的 Codex 进程名
process_match.argv_markers/@openai/codex/bin/codex.jsNode.js 启动方式的命令行标记
process_match.terminal_namesWezTerm 进程名列表遍历进程树时停止在终端边界
process_match.grace_seconds5进程信号的缓存时间(秒)
process_match.tree_cache_ttl_seconds1进程树缓存时间
user_vars.modelcodex_model, CODEX_MODEL模型变量候选名
user_vars.thinkingthinking/reasoning 候选名推理强度变量候选名
user_vars.providerprovider 候选名服务商变量候选名
user_vars.activecodex_active, CODEX_ACTIVE活跃状态变量候选名

这些匹配项只应在确认本机 Codex 启动方式不同后调整。过于宽泛的匹配条件可能将其他程序识别为 Codex。

特殊状态文字​

activity.labels 提供八个标签:

选项默认值
planPLAN
reviewREVIEW
goal_activeGOAL
goal_pausedGOAL PAUSED
goal_blockedGOAL BLOCKED
goal_usage_limitedGOAL LIMITED
goal_budget_limitedGOAL BUDGET
goal_completeGOAL DONE

同时存在多个状态时只显示一个,优先级固定为 REVIEW > PLAN > GOAL。状态含义见显示内容。

渲染与图标​

选项默认值作用
icon.text项目的 Terminal 标识;固定在右侧插件版本号之前,字号不大于其他字段
render.powerlinetrue使用彩色 Powerline 分隔符
render.plain_fallbacktrue关闭 Powerline 时使用纯文本分隔
render.model_displayname模型段显示方式:name 仅名称、icon_name 图标+名称、icon 仅图标
render.segment_order26 个 ID字段顺序;icon 始终作为右侧锚点,不参与移动
render.disabled_segments14 个高级字段隐藏的字段;空数组表示全部启用

模型图标自动对应 ✦ Astra、☀ Sol、⊕ Terra、☾ Luna。例如 gpt-6-astra 在 icon_name 模式显示为 ✦ gpt-6-astra,在 icon 模式显示为 ✦。匹配不区分大小写,支持模型简称和带版本或 provider 前缀的模型 ID;其他模型继续显示原名称。

在交互预览的「显示与主题 → 模型显示」中选择显示方式,右侧模拟模型按钮可快速预览四种图标。导出的 JSON 会保留这个选项;Lua 配置可使用 render = { model_display = "icon_name" }。

theme.bg、theme.fg、theme.dim 和每个 theme.segments.<id>.bg/fg 都使用 6 位十六进制颜色。theme.glyphs 可配置 sep、branch 和 folder。Lua 主题还接受 thinking 和 tokens,分别作为推理强度与 Token 字段的备用配色。

完整字段说明见显示内容。

费用与自定义模型价格​

used_tokens 显示 ↑输入 ↓输出;cache_rate 与 cost 默认启用,可在字段列表中单独隐藏、排序和改色。

内置单价来自 OpenAI 官方价格,核对日期为 2026-09-14,采用标准短上下文 API 价格,单位统一为 USD / 百万 Token:

模型输入缓存输入输出
Astra10150
Sol40.420
Terra20.212
Luna0.20.021.2

同时内置 GPT-5.5、GPT-5.4、GPT-5.4 mini/nano、GPT-5.3 Codex、GPT-5.2、GPT-5.1 和 GPT-5 的标准价格。

在预览页展开「费用与模型单价」,可以直接修改内置模型的三项价格,也可以添加自定义模型。自定义价格随 JSON 导出;「恢复内置」移除对应覆盖。Lua 示例:

require("codex_statusline").setup({
pricing = {
models = {
["gpt-5.6-sol"] = { input = 3, cached_input = 0.3, output = 15 },
["my-model"] = { input = 1, cached_input = 0, output = 2 },
},
},
})

pricing 为可选项,默认 models = {},最多 64 个覆盖;每项必须包含 input、cached_input、output 三个有限非负数,允许 0,上限为 1,000,000。模型 ID 使用小写字母、数字、点、下划线、冒号、斜线或连字符。完整 ID 的自定义价格优先,其次查找去除 provider 前缀、日期后缀或展开简称后的价格,再回退到内置价格。未配置价格的模型显示 Cost —。

费用按每次请求使用的模型分别累计,切换模型不会将过去的用量套用到新模型上。每个模型使用当前配置的单价;覆盖单价后,该模型对应的历史估算也会更新。费用不代表实际账单,不包含长上下文、加速、缓存写入和工具费用。历史记录或模型价格不完整时显示 Cost —。