My most recent experiment has been porting an OpenClaw to a Mac mini to run Codex. This has been rather good; I had Codex rsync the OpenClaw configuration and then create all the automations from the OpenClaw config.
Things that seem to work really well:
Ask Codex to spawn multiple subagents with goals routing to smaller models where applicable
Ask Codex to routinely deduplicate automations and improve consistency
Ask Codex to run a heartbeat thread every few hours to check for failing automations
As much as I love the Codex app it was a bit easier to leave the OpenClaw hands off. I have been forcing myself to bootstrap the Codex automations by having a slack channel that Codex checks three times a day in a heartbeat thread (rather than me pinging codex directly). I opted for polling here instead of websockets to reduce complexity.
So far things are very good. Codex can use Browser and Computer to update Google Docs and pull requests where the API may not support things like adding images. This has added an additional layer of reliability on the tasks being completed and verification.
It is strange to see multiple hundreds of unread notifications when I do check the Codex threads on the Mac mini. I have one pinned heartbeat thread that monitors for things that need my input. This acts as the orchestration layer and I can be hands-off to all the other automations.