OmX 在 tmux 会话中 Shift+Enter 直接提交而不换行时怎么排查 extended-keys 与 terminal-features
OmX 在 tmux 会话中 ShiftEnter 直接提交而不换行时怎么排查 extended-keys 与 terminal-features【免费下载链接】oh-my-codexOmX - Oh My codeX: Your codex is not alone. Add hooks, agent teams, HUDs, and so much more.项目地址: https://gitcode.com/GitHub_Trending/oh/oh-my-codex如果你在一个由 OmXoh-my-codex拉起的 tmux 会话里运行 Codex输入多行内容时按ShiftEnter会像普通Enter一样直接提交而不是插入换行那么 Troubleshooting execution readiness 中专门有一节 “ShiftEnter submits instead of inserting a newline in tmux-backed OMX sessions” 来定位这类问题。这篇文档的核心结论是这通常不是OMX 缺功能——OMX 已经带有 issue#1271/ PR#12734405f58Preserve ShiftEnter inside tmux-backed OMX launches的 tmux 侧修复并且当前dev在 OMX 自己所有的 Codex 启动路径周围都会启用 tmux 的extended-keysalways。持续失效通常指向 tmux 的终端能力检测terminal capability detection环节。OMX 已经在哪些启动路径启用了 extended-keys文档给出的依据是源码层面的排查前先理解 OMX 覆盖了哪些路径才能判断自己是否踩在受保护的启动路径内in-tmux 启动已经在 tmux 内时直接启动通过 src/cli/index.ts 中的withTmuxExtendedKeys(...)包裹 Codex 启动detached tmux 启动通过同一文件中的 detached leader 引导/清理路径获得同样的保护启用/恢复/租约lease行为由 src/cli/tests/index.test.ts 中的回归测试持续覆盖。如果ShiftEnter仍然像普通Enter一样提交文档列出三个范围最窄的可能原因tmux 实际上没有为你的终端路径转发扩展键。tmux 只在检测到所附加的终端支持扩展键时才转发更丰富的按键事件tmux show -gv extended-keys显示always并不代表转发一定成功——终端能力缺失或未检测到时转发仍会失败。你不在 OMX 拥有的 tmux 启动路径里。例如在 OMX 拉起的那个 pane/session 之外的另一个 pane 复现或通过不同的客户端附加路径 attach 后再复现。特定终端的能力不匹配。有些终端需要一条显式的 tmuxterminal-features提示才能声明extkeys能力。在出问题的会话里运行检查命令以下命令必须在与失败现场相同的 tmux 客户端/会话里执行在别的 shell 里检查结果不可信tmux show -gv extended-keys tmux info | grep extkeys tmux show -gv terminal-features printf %s\n $TERM $TERM_PROGRAM前两条确认扩展键开关与extkeys能力的检测情况第三条查看terminal-features当前值最后一条打印当前终端环境变量方便判断客户端类型和 terminfo 名称。第一条的预期结果在 OMX 正在该 tmux 管理路径下运行 Codex 时输出应为always。根据检查输出区分责任方文档给出的判定顺序如下extended-keys不是always在出问题的会话中指向 OMX 启动路径的 bug/回归问题在 OMX 一侧。extended-keys是always但ShiftEnter仍然直接提交问题更可能在终端能力检测或上游 Codex 对终端输入的解释而不是 OMX 的提交逻辑。在 tmux 配置中补一条 extkeys 提示如果终端本身支持扩展键、但 tmux 没有自动检测到它在~/.tmux.conf中添加一条extkeys功能提示然后重启 tmux 使配置生效重启 tmux 会重建会话执行前确认没有需要保留的 tmux 会话状态set -as terminal-features ,xterm-256color:extkeys文档说明如果你的客户端上报的 terminfo 名称不同要相应调整这条配置里的终端模式匹配串即xterm-256color这一段。这正是上一条检查中打印$TERM/$TERM_PROGRAM的用途——确认你的客户端到底以什么名称被 tmux 识别。维护者分诊结论当你确认根因后文档给出的分诊原则用于判断这是该报代码问题还是环境问题只有能证明当前dev在真实的 OMX 拥有的 tmux 启动路径上没有设置extended-keysalways时才开代码修复当前dev已正确设置该 tmux 选项、但报告者的终端路径仍然不转发更丰富按键事件的按环境限制处理根因只是可发现性/操作指引而非 OMX 代码路径损坏时优先做文档跟进。README 的 Troubleshooting 章节对这一现象的表述与此一致当前 OMX 已经围绕自身 Codex 启动路径启用了 tmux 扩展键转发所以持续失效通常属于 tmux 终端能力/可检测性问题而不是 OMX 的新功能缺口。【免费下载链接】oh-my-codexOmX - Oh My codeX: Your codex is not alone. Add hooks, agent teams, HUDs, and so much more.项目地址: https://gitcode.com/GitHub_Trending/oh/oh-my-codex创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考