Skip to content

Support Codex#55

Open
zhenya-zhu wants to merge 5 commits intosix-ddc:mainfrom
zhenya-zhu:codex/codex-tmux
Open

Support Codex#55
zhenya-zhu wants to merge 5 commits intosix-ddc:mainfrom
zhenya-zhu:codex/codex-tmux

Conversation

@zhenya-zhu
Copy link

Summary

This PR adds native Codex support to CCBot and refines the Telegram/tmux UX so Claude Code and Codex behave correctly as separate runtimes.

What changed

  • add native Codex runtime support based on Codex hooks and native transcript parsing
  • add runtime selection plumbing across config, startup, hook install, session registration, and monitoring
  • resolve Codex sessions from ~/.codex metadata and transcripts instead of Claude-specific paths
  • add runtime-aware menus and text so Claude Code and Codex show different Telegram commands and descriptions
  • make Codex use /status in the menu and add /plan to the visible Codex command set
  • remove /model, /help, /cost, and /memory from the Codex menu while still allowing them to be forwarded when typed manually
  • keep Claude /kill as hard-kill behavior, but make Codex /kill send /exit before hard-killing the tmux window
  • improve Codex interactive UX by supporting request_user_input prompts, inline option selection, notes flow, and prompt state cleanup
  • improve interactive status polling so Codex modals and prompt transitions refresh correctly in Telegram
  • add runtime-specific parsing for Codex terminal UI and transcript events
  • update README, README_CN, and .env.example with Codex setup, hook setup, and runtime-specific command behavior

Testing

  • add and update tests for config, main, hook installation, session registration, session monitoring, transcript parsing, terminal parsing, command forwarding, kill behavior, and Codex interactive UI flows
  • verified runtime-specific menu behavior and Codex prompt handling with automated tests
  • Mannually tested create new codex session, talking to bot, bot answer normally and answer with selection, selection picking, and some commands for Codex. So the Codex function is basically works
  • Resuming, unbinding functions are not tested mannually, need maintainer's help, I'm not family with tmux

- add native Codex runtime support via hooks and transcript parsing
- split Telegram menus for Claude Code and Codex
- make Codex use /status instead of /usage in the menu
- add Codex /plan to the Telegram menu
- remove /model, /help, /cost, and /memory from the Codex menu while still forwarding them manually
- make Codex /kill send /exit before hard-killing the tmux window
- keep Claude /kill as hard-kill behavior
- improve Codex interactive prompt handling for request_user_input
- support Codex terminal modals and refresh interactive UI updates
- fix topic cleanup and window state removal when killing sessions
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant