oh-my-codex 0.11.2 → 0.11.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Cargo.lock +13 -5
- package/Cargo.toml +3 -1
- package/README.md +126 -655
- package/dist/cli/__tests__/index.test.js +8 -1
- package/dist/cli/__tests__/index.test.js.map +1 -1
- package/dist/cli/__tests__/packaged-script-resolution.test.d.ts +2 -0
- package/dist/cli/__tests__/packaged-script-resolution.test.d.ts.map +1 -0
- package/dist/cli/__tests__/packaged-script-resolution.test.js +18 -0
- package/dist/cli/__tests__/packaged-script-resolution.test.js.map +1 -0
- package/dist/cli/__tests__/ralph.test.js +32 -1
- package/dist/cli/__tests__/ralph.test.js.map +1 -1
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +15 -6
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/ralph.d.ts +6 -1
- package/dist/cli/ralph.d.ts.map +1 -1
- package/dist/cli/ralph.js +33 -7
- package/dist/cli/ralph.js.map +1 -1
- package/dist/team/__tests__/api-interop.test.js +13 -5
- package/dist/team/__tests__/api-interop.test.js.map +1 -1
- package/dist/team/__tests__/cross-rebase-smoke.test.d.ts +2 -0
- package/dist/team/__tests__/cross-rebase-smoke.test.d.ts.map +1 -0
- package/dist/team/__tests__/cross-rebase-smoke.test.js +161 -0
- package/dist/team/__tests__/cross-rebase-smoke.test.js.map +1 -0
- package/dist/team/__tests__/events.test.js +42 -3
- package/dist/team/__tests__/events.test.js.map +1 -1
- package/dist/team/api-interop.d.ts.map +1 -1
- package/dist/team/api-interop.js +49 -4
- package/dist/team/api-interop.js.map +1 -1
- package/dist/team/contracts.d.ts +1 -1
- package/dist/team/contracts.d.ts.map +1 -1
- package/dist/team/contracts.js +4 -0
- package/dist/team/contracts.js.map +1 -1
- package/package.json +4 -1
- package/src/scripts/demo-team-e2e.sh +10 -8
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<p align="center">
|
|
4
4
|
<img src="https://yeachan-heo.github.io/oh-my-codex-website/omx-character-nobg.png" alt="oh-my-codex character" width="280">
|
|
5
5
|
<br>
|
|
6
|
-
<em>
|
|
6
|
+
<em>Make Codex easier to steer, reuse, and scale up.</em>
|
|
7
7
|
</p>
|
|
8
8
|
|
|
9
9
|
[](https://www.npmjs.com/package/oh-my-codex)
|
|
@@ -11,731 +11,202 @@
|
|
|
11
11
|
[](https://nodejs.org)
|
|
12
12
|
[](https://discord.gg/qRJw62Gvh7)
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
**Website:** https://yeachan-heo.github.io/oh-my-codex-website/
|
|
15
|
+
**Docs:** [Getting Started](./docs/getting-started.html) · [Agents](./docs/agents.html) · [Skills](./docs/skills.html) · [Integrations](./docs/integrations.html) · [Demo](./DEMO.md) · [OpenClaw guide](./docs/openclaw-integration.md)
|
|
15
16
|
|
|
16
|
-
|
|
17
|
+
OMX is an operational layer for [OpenAI Codex CLI](https://github.com/openai/codex).
|
|
17
18
|
|
|
18
|
-
|
|
19
|
+
It keeps Codex as the execution engine and adds:
|
|
20
|
+
- installable **prompts** and **skills**
|
|
21
|
+
- durable **team orchestration** for bigger tasks
|
|
22
|
+
- operator commands like `setup`, `doctor`, `status`, and `cancel`
|
|
23
|
+
- project/runtime state under `.omx/`
|
|
19
24
|
|
|
20
|
-
|
|
21
|
-
- [Spark Initiative hotfix release notes (v0.9.1)](./docs/release-notes-0.9.1.md)
|
|
22
|
-
- [Spark Initiative hotfix release body (v0.9.1)](./docs/release-body-0.9.1.md)
|
|
25
|
+
## Who it is for
|
|
23
26
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
- [简体中文 (Chinese Simplified)](./README.zh.md)
|
|
30
|
-
- [繁體中文 (Chinese Traditional)](./README.zh-TW.md)
|
|
31
|
-
- [Tiếng Việt (Vietnamese)](./README.vi.md)
|
|
32
|
-
- [Español (Spanish)](./README.es.md)
|
|
33
|
-
- [Português (Portuguese)](./README.pt.md)
|
|
34
|
-
- [Русский (Russian)](./README.ru.md)
|
|
35
|
-
- [Türkçe (Turkish)](./README.tr.md)
|
|
36
|
-
- [Deutsch (German)](./README.de.md)
|
|
37
|
-
- [Français (French)](./README.fr.md)
|
|
38
|
-
- [Italiano (Italian)](./README.it.md)
|
|
39
|
-
|
|
40
|
-
OMX turns Codex into an operational runtime for real multi-step work:
|
|
41
|
-
- **Team Mode first** — coordinated multi-agent execution with shared visibility, resume, recovery, and lifecycle control
|
|
42
|
-
- **Role prompts + skills** — productized behaviors for planners, executors, reviewers, and reusable workflows
|
|
43
|
-
- **Persistent runtime state** — MCP-backed state, memory, mailbox, plans, and diagnostics in `.omx/`
|
|
44
|
-
- **Operator controls** — launch, inspect, verify, cancel, and resume long-running work without replacing Codex itself
|
|
45
|
-
|
|
46
|
-
## Why OMX
|
|
47
|
-
|
|
48
|
-
Codex CLI is unusually well suited to persistent orchestration: it is lightweight enough to stay alive across long sessions, tmux lanes, and repeated handoffs without burying coordination under a heavy shell stack.
|
|
49
|
-
|
|
50
|
-
That matters because orchestration is not just fanout. It needs durable state, shared situational awareness, visible recovery paths, and tight operator control. Heavier shell-centric wrappers can be fine for one-shot launches, but they are a poor fit for always-on coordination where every extra layer adds latency, noise, and failure surface.
|
|
51
|
-
|
|
52
|
-
OMX keeps Codex as the execution engine and adds the runtime around it.
|
|
53
|
-
|
|
54
|
-
## Runtime model
|
|
55
|
-
|
|
56
|
-
OMX is a small operational runtime layered around Codex:
|
|
57
|
-
- **Execution plane:** Codex runs the actual agent work
|
|
58
|
-
- **Control plane:** `omx` manages team workers, lifecycle commands, HUD/tmux integration, and recovery
|
|
59
|
-
- **State plane:** MCP servers back state, mailbox, memory, diagnostics, and project context
|
|
60
|
-
|
|
61
|
-
This keeps the stack simple: Codex stays in the loop, while OMX makes the work inspectable, resumable, and repeatable.
|
|
62
|
-
|
|
63
|
-
## Team Mode vs. Ultrawork
|
|
64
|
-
|
|
65
|
-
If you are deciding between the two, start with **Team Mode**.
|
|
27
|
+
Use OMX if you already like Codex and want one or more of these:
|
|
28
|
+
- reusable agent prompts such as `/prompts:architect`
|
|
29
|
+
- workflow shortcuts such as `$plan`, `$team`, and `$ralph`
|
|
30
|
+
- a durable team runtime for bigger tasks
|
|
31
|
+
- better visibility into long-running work
|
|
66
32
|
|
|
67
|
-
|
|
68
|
-
- **`$ultrawork`** — use it for lightweight parallel fanout when subtasks are mostly independent and the leader can merge results afterward.
|
|
33
|
+
If you just want plain Codex with no extra workflow layer, you probably do not need OMX.
|
|
69
34
|
|
|
70
|
-
|
|
35
|
+
## Quick start
|
|
71
36
|
|
|
72
|
-
|
|
37
|
+
### Requirements
|
|
73
38
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
OMX_TEAM_WORKER_LAUNCH_ARGS='-c model_reasoning_effort="low"' \
|
|
77
|
-
omx team 2:explore "short scoped analysis task"
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
## Requirements
|
|
81
|
-
|
|
82
|
-
- Node.js >= 20 (CI validates Node 20 and current LTS, currently Node 22)
|
|
83
|
-
- Codex CLI installed (`npm install -g @openai/codex`)
|
|
39
|
+
- Node.js 20+
|
|
40
|
+
- Codex CLI installed: `npm install -g @openai/codex`
|
|
84
41
|
- Codex auth configured
|
|
42
|
+
- `tmux` if you want `omx team` on macOS/Linux
|
|
43
|
+
- `psmux` if you want native Windows team mode
|
|
85
44
|
|
|
86
|
-
###
|
|
87
|
-
|
|
88
|
-
OMX features like `omx team` require **tmux**:
|
|
89
|
-
|
|
90
|
-
| Platform | tmux provider | Install |
|
|
91
|
-
| -------------- | -------------------------------------------------------- | ---------------------- |
|
|
92
|
-
| macOS | [tmux](https://github.com/tmux/tmux) | `brew install tmux` |
|
|
93
|
-
| Ubuntu/Debian | tmux | `sudo apt install tmux`|
|
|
94
|
-
| Fedora | tmux | `sudo dnf install tmux`|
|
|
95
|
-
| Arch | tmux | `sudo pacman -S tmux` |
|
|
96
|
-
| Windows | [psmux](https://github.com/marlocarlo/psmux) (native) | `winget install psmux` |
|
|
97
|
-
| Windows (WSL2) | tmux (inside WSL) | `sudo apt install tmux`|
|
|
98
|
-
|
|
99
|
-
> **Windows users:** [psmux](https://github.com/marlocarlo/psmux) provides a native `tmux` binary for Windows with 76 tmux-compatible commands. No WSL required.
|
|
100
|
-
|
|
101
|
-
## Quickstart (3 minutes)
|
|
45
|
+
### Install
|
|
102
46
|
|
|
103
47
|
```bash
|
|
104
48
|
npm install -g @openai/codex oh-my-codex
|
|
105
49
|
omx setup
|
|
106
|
-
omx doctor
|
|
107
|
-
omx team 3:executor "ship the scoped task with verification"
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
## Model defaults and local-model overrides
|
|
111
|
-
|
|
112
|
-
OMX treats default model selection as a small explicit contract:
|
|
113
|
-
|
|
114
|
-
- `OMX_DEFAULT_FRONTIER_MODEL` — canonical frontier/default leader model
|
|
115
|
-
- `OMX_DEFAULT_STANDARD_MODEL` — canonical standard subagent model
|
|
116
|
-
- `OMX_DEFAULT_SPARK_MODEL` — canonical spark / low-complexity worker model
|
|
117
|
-
|
|
118
|
-
If upstream defaults change, update the single canonical source instead of scattering model literals across prompts/docs/runtime.
|
|
119
|
-
|
|
120
|
-
For local-model setups, you can persist overrides in `~/.codex/.omx-config.json` (or `CODEX_HOME/.omx-config.json`) under the top-level `env` field:
|
|
121
|
-
|
|
122
|
-
```json
|
|
123
|
-
{
|
|
124
|
-
"env": {
|
|
125
|
-
"OMX_DEFAULT_FRONTIER_MODEL": "your-frontier-model",
|
|
126
|
-
"OMX_DEFAULT_STANDARD_MODEL": "your-standard-model",
|
|
127
|
-
"OMX_DEFAULT_SPARK_MODEL": "your-spark-model"
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
Resolution order:
|
|
133
|
-
|
|
134
|
-
1. Real shell env vars
|
|
135
|
-
2. `.omx-config.json` `env` overrides
|
|
136
|
-
3. OMX built-in canonical defaults
|
|
137
|
-
|
|
138
|
-
The same config-driven env overrides are forwarded when OMX launches native helpers such as `omx sparkshell`, so local-model routing stays consistent. By default OMX ships a three-lane split: frontier roles on `gpt-5.4`, standard subagents on `gpt-5.4-mini`, and spark/fast roles on `gpt-5.3-codex-spark`.
|
|
139
|
-
|
|
140
|
-
Recommended trusted-environment launch profile:
|
|
141
|
-
|
|
142
|
-
```bash
|
|
143
|
-
omx --xhigh --madmax
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
## New in v0.9.0 — Spark Initiative
|
|
147
|
-
|
|
148
|
-
<p align="center">
|
|
149
|
-
<img src="./docs/shared/omx-character-spark-initiative.jpg" alt="OMX character sparked for the Spark Initiative" width="720">
|
|
150
|
-
</p>
|
|
151
|
-
|
|
152
|
-
`0.9.0` is the **Spark Initiative** release: OMX now ships a stronger native fast path for read-only repository discovery, shell-native inspection, and cross-platform native distribution.
|
|
153
|
-
|
|
154
|
-
`0.9.1` is the clean superseding hotfix release for the Spark Initiative line: it carries the packed-install smoke hydration fix that was merged into `dev` after `v0.9.0`, while `v0.9.0` remains historically red.
|
|
155
|
-
|
|
156
|
-
- **`omx explore` native harness** — qualifying read-only exploration runs through a constrained native Rust helper with explicit allowlists and fallback behavior.
|
|
157
|
-
- **`omx sparkshell`** — a first-class operator surface for fast shell-native inspection, adaptive summaries, and explicit tmux-pane capture.
|
|
158
|
-
- **Cross-platform native release assets** — tagged releases now publish native archives for both `omx-explore-harness` and `omx-sparkshell`, plus `native-release-manifest.json` for hydration and checksum verification.
|
|
159
|
-
- **Release-oriented verification lanes** — `npm run build:full`, `npm run test:explore`, `npm run test:sparkshell`, and packed-install smoke verification now cover the new native surfaces.
|
|
160
|
-
- **Sharper install/runtime fallback order** — OMX prefers explicit `OMX_*_BIN` overrides, then hydrated per-user native cache, then repo-local development artifacts.
|
|
161
|
-
|
|
162
|
-
Spark Initiative references:
|
|
163
|
-
|
|
164
|
-
- [Release notes: `v0.9.1`](./docs/release-notes-0.9.1.md)
|
|
165
|
-
- [Release body: `v0.9.1`](./docs/release-body-0.9.1.md)
|
|
166
|
-
- [Release readiness draft: `v0.9.1`](./docs/qa/release-readiness-0.9.1.md)
|
|
167
|
-
|
|
168
|
-
Quick Spark Initiative smoke path:
|
|
169
|
-
|
|
170
|
-
```bash
|
|
171
|
-
npm run build:full
|
|
172
|
-
omx explore --prompt "git log --oneline -10"
|
|
173
|
-
omx sparkshell git --version
|
|
174
|
-
omx sparkshell --tmux-pane %12 --tail-lines 400
|
|
50
|
+
omx doctor
|
|
175
51
|
```
|
|
176
52
|
|
|
177
|
-
|
|
53
|
+
### Fastest useful example
|
|
178
54
|
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
```text
|
|
182
|
-
$plan "ship OAuth callback safely"
|
|
183
|
-
$team 3:executor "implement safely with shared verification"
|
|
184
|
-
/prompts:architect "review the boundary decisions"
|
|
185
|
-
/prompts:executor "take the next scoped task"
|
|
186
|
-
```
|
|
187
|
-
|
|
188
|
-
From terminal:
|
|
55
|
+
Launch Codex with OMX:
|
|
189
56
|
|
|
190
57
|
```bash
|
|
191
|
-
omx
|
|
192
|
-
omx team status <team-name>
|
|
193
|
-
omx team status <team-name> --json
|
|
194
|
-
omx team status <team-name> --tail-lines 600
|
|
195
|
-
omx team resume <team-name>
|
|
196
|
-
omx team shutdown <team-name>
|
|
58
|
+
omx
|
|
197
59
|
```
|
|
198
60
|
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
OMX installs and wires these layers:
|
|
61
|
+
Then try one command inside Codex:
|
|
202
62
|
|
|
203
63
|
```text
|
|
204
|
-
|
|
205
|
-
-> OMX runtime
|
|
206
|
-
-> Codex CLI (execution engine)
|
|
207
|
-
-> AGENTS.md (orchestration brain)
|
|
208
|
-
-> ~/.codex/prompts/*.md (installable active/internal agent prompt catalog)
|
|
209
|
-
-> ~/.codex/skills/*/SKILL.md (skill catalog)
|
|
210
|
-
-> ~/.codex/config.toml (features, notify, MCP)
|
|
211
|
-
-> .omx/ (runtime state, memory, plans, logs)
|
|
212
|
-
```
|
|
213
|
-
|
|
214
|
-
## Experimental: posture-aware routing
|
|
215
|
-
|
|
216
|
-
This branch includes an experimental routing layer that separates:
|
|
217
|
-
|
|
218
|
-
- `role`: agent responsibility (`executor`, `planner`, `architect`)
|
|
219
|
-
- `tier`: reasoning depth / cost (`LOW`, `STANDARD`, `THOROUGH`)
|
|
220
|
-
- `posture`: operating style (`frontier-orchestrator`, `deep-worker`, `fast-lane`)
|
|
221
|
-
|
|
222
|
-
Current intent of the experiment:
|
|
223
|
-
|
|
224
|
-
- **Frontier-orchestrator**: leader/router posture for steerable frontier models
|
|
225
|
-
- **Deep-worker**: implementation-first posture for executor-style roles
|
|
226
|
-
- **Fast-lane**: lightweight triage/search posture for fast models
|
|
227
|
-
|
|
228
|
-
This is designed to make OMX's initial routing behavior more Sisyphus-like without removing the existing Hephaestus-like execution lane.
|
|
229
|
-
|
|
230
|
-
### How to test this experiment
|
|
231
|
-
|
|
232
|
-
1. Build the project (TypeScript + native Rust helpers):
|
|
233
|
-
|
|
234
|
-
```bash
|
|
235
|
-
npm run build:full
|
|
236
|
-
```
|
|
237
|
-
|
|
238
|
-
If you only need the TypeScript output, `npm run build` still runs just `tsc`.
|
|
239
|
-
|
|
240
|
-
2. Reinstall native agent configs:
|
|
241
|
-
|
|
242
|
-
```bash
|
|
243
|
-
node bin/omx.js setup
|
|
244
|
-
```
|
|
245
|
-
|
|
246
|
-
3. Inspect generated native agent configs in `~/.omx/agents/` and confirm they now include:
|
|
247
|
-
- `## OMX Posture Overlay`
|
|
248
|
-
- `## Model-Class Guidance`
|
|
249
|
-
- `## OMX Agent Metadata`
|
|
250
|
-
|
|
251
|
-
4. Spot-check representative roles:
|
|
252
|
-
- `planner` / `architect` / `critic` -> `frontier-orchestrator`
|
|
253
|
-
- `executor` / `build-fixer` / `test-engineer` -> `deep-worker`
|
|
254
|
-
- `explore` / `writer` -> `fast-lane`
|
|
255
|
-
|
|
256
|
-
5. Run focused tests:
|
|
257
|
-
|
|
258
|
-
```bash
|
|
259
|
-
node --test dist/agents/__tests__/definitions.test.js dist/agents/__tests__/native-config.test.js
|
|
64
|
+
/prompts:architect "analyze the authentication flow"
|
|
260
65
|
```
|
|
261
66
|
|
|
262
|
-
|
|
67
|
+
That is the fastest way to feel what OMX changes: you get installable prompts, skills, and project guidance layered into a normal Codex session.
|
|
263
68
|
|
|
264
|
-
|
|
69
|
+
### First team run
|
|
265
70
|
|
|
266
|
-
|
|
267
|
-
omx # Launch Codex inside the OMX runtime (+ HUD in tmux when available)
|
|
268
|
-
omx team ... # Start/status/resume/shutdown coordinated team workers (default orchestration surface)
|
|
269
|
-
omx setup # Install prompts/skills/config by scope + project .omx + scope-specific AGENTS.md
|
|
270
|
-
omx agents-init . # Bootstrap lightweight AGENTS.md files for a repo/subtree
|
|
271
|
-
omx doctor # Installation/runtime diagnostics
|
|
272
|
-
omx cleanup # Kill orphaned OMX MCP server processes (--dry-run to inspect)
|
|
273
|
-
omx doctor --team # Team Mode diagnostics
|
|
274
|
-
omx ask ... # Ask local provider advisor (claude|gemini), writes .omx/artifacts/*
|
|
275
|
-
omx resume # Resume a previous interactive Codex session
|
|
276
|
-
omx explore ... # Default read-only exploration entrypoint (may use sparkshell backend)
|
|
277
|
-
omx ralph # Launch Codex with ralph persistence mode active
|
|
278
|
-
omx autoresearch <mission-dir> # Launch thin-supervisor autoresearch with keep/discard/reset parity
|
|
279
|
-
omx status # Show active modes
|
|
280
|
-
omx cancel # Cancel active execution modes
|
|
281
|
-
omx reasoning <mode> # low|medium|high|xhigh
|
|
282
|
-
omx tmux-hook ... # init|status|validate|test
|
|
283
|
-
omx hooks ... # init|status|validate|test (plugin extension workflow)
|
|
284
|
-
omx hud ... # --watch|--json|--preset
|
|
285
|
-
omx version # Show version information
|
|
286
|
-
omx help # Show help message
|
|
287
|
-
```
|
|
288
|
-
|
|
289
|
-
Ask command examples:
|
|
290
|
-
|
|
291
|
-
```bash
|
|
292
|
-
omx ask claude "review this diff"
|
|
293
|
-
omx ask gemini "brainstorm alternatives"
|
|
294
|
-
omx ask claude --agent-prompt executor "implement feature X with tests"
|
|
295
|
-
omx ask gemini --agent-prompt=planner --prompt "draft a rollout plan"
|
|
296
|
-
# underlying provider flags from CLI help:
|
|
297
|
-
# claude -p|--print "<prompt>"
|
|
298
|
-
# gemini -p|--prompt "<prompt>"
|
|
299
|
-
```
|
|
300
|
-
|
|
301
|
-
Explore command examples:
|
|
71
|
+
If you want coordinated multi-agent execution:
|
|
302
72
|
|
|
303
73
|
```bash
|
|
304
|
-
omx
|
|
305
|
-
omx explore --prompt-file prompts/explore-task.md
|
|
306
|
-
USE_OMX_EXPLORE_CMD=1 omx # advisory preference for simple read-only exploration prompts
|
|
74
|
+
omx team 3:executor "fix the failing tests with verification"
|
|
307
75
|
```
|
|
308
76
|
|
|
309
|
-
|
|
77
|
+
Check on it later with:
|
|
310
78
|
|
|
311
79
|
```bash
|
|
312
|
-
mkdir -p missions/demo
|
|
313
|
-
cat > missions/demo/mission.md <<'EOF'
|
|
314
|
-
# Mission
|
|
315
|
-
Solve the scoped task in this repository.
|
|
316
|
-
EOF
|
|
317
|
-
cat > missions/demo/sandbox.md <<'EOF'
|
|
318
|
-
---
|
|
319
|
-
evaluator:
|
|
320
|
-
command: node scripts/eval.js
|
|
321
|
-
format: json
|
|
322
|
-
---
|
|
323
|
-
Stay inside the mission boundary and stop when the evaluator passes.
|
|
324
|
-
EOF
|
|
325
|
-
omx autoresearch missions/demo
|
|
326
|
-
```
|
|
327
|
-
|
|
328
|
-
`omx autoresearch` now runs as a thin supervisor around one Codex experiment session at a time. A fresh launch creates a run-tagged `autoresearch/<slug>/<run-tag>` worktree lane, seeds the baseline evaluator row, writes authoritative per-run artifacts under `.omx/logs/autoresearch/<run-id>/`, and expects the session to hand back a repo-root `candidate.json` artifact. Each iteration's bootstrap instructions include the current baseline/last-kept state plus a bounded recent ledger summary, and `status=candidate` artifacts must point at the current worktree `HEAD` and last-kept base commit. After each session exit, OMX evaluates the candidate, records keep/discard/reset state, hard-resets discarded or ambiguous experiments back to the last kept commit, and relaunches the next iteration unless the run aborts. Use `omx autoresearch --resume <run-id>` to continue an existing run from its manifest/worktree.
|
|
329
|
-
|
|
330
|
-
Autoresearch showcase:
|
|
331
|
-
|
|
332
|
-
For the canonical autoresearch showcase — including completed research-style demos, missions, evaluators, and the lightweight runner script — see [`playground/README.md`](playground/README.md).
|
|
333
|
-
|
|
334
|
-
`omx explore` is the default OMX surface for simple read-only exploration. It stays intentionally read-only and shell-only, and qualifying shell-native read-only tasks may be routed through `omx sparkshell` as a backend when that is the cheaper/more direct fit. The routing flag only adds advisory steering in generated session instructions; ambiguous or implementation-heavy requests stay on the normal Codex path, and OMX falls back normally if the explore harness is unavailable. The harness constrains Codex through a temporary allowlisted shell/bin layer so only approved repository-inspection command families are available during the offloaded run.
|
|
335
|
-
|
|
336
|
-
- Current shell allowlist: `rg`, `grep`, `ls`, `find`, `wc`, `cat`, `head`, `tail`, `pwd`, `printf`
|
|
337
|
-
- Current shell restrictions: no pipes, redirection, `&&`, `||`, `;`, subshells, path-qualified binaries, non-allowlisted commands, stdin-fed inspection, or path escapes outside the target repository (including existing symlink-resolved escapes)
|
|
338
|
-
- `omx explore` is **not** a full parity surface for modern Codex read-only mode: it does not promise web search, MCP, images, or general-purpose tool access
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
Packaging / install notes:
|
|
342
|
-
|
|
343
|
-
- Published npm packages now include the Rust workspace files for the explore harness (`Cargo.toml`, `Cargo.lock`, `crates/`).
|
|
344
|
-
- npm publishes no longer rely on publisher-platform native binaries.
|
|
345
|
-
- Tagged releases build multi-platform native archives for both `omx-explore-harness` and `omx-sparkshell` via cargo-dist and attach them to the GitHub Release from `.github/workflows/release.yml`, with Linux published from musl-first targets for broader runtime compatibility.
|
|
346
|
-
- Runtime now prefers `OMX_*_BIN` overrides, then a hydrated per-user native cache, then repo-local development artifacts.
|
|
347
|
-
- `omx explore` keeps a source-install `cargo run --manifest-path crates/omx-explore/Cargo.toml -- ...` fallback in repository checkouts; packaged installs rely on release-asset hydration unless `OMX_EXPLORE_BIN` is set.
|
|
348
|
-
- `omx sparkshell` hydrates from release assets when no override or repo-local build output is available; the release gate now proves that hydrated Linux assets still work in an older Dockerized Linux runtime before npm publish.
|
|
349
|
-
- Release assets now include `native-release-manifest.json` with per-target download metadata and SHA-256 checksums.
|
|
350
|
-
- Helpful local commands:
|
|
351
|
-
|
|
352
|
-
```bash
|
|
353
|
-
npm run build:full
|
|
354
|
-
npm run build:explore
|
|
355
|
-
npm run build:explore:release
|
|
356
|
-
npm run test:explore
|
|
357
|
-
node scripts/smoke-packed-install.mjs --release-assets-dir ./release-assets
|
|
358
|
-
# release workflow also reruns the same smoke in node:20-bullseye as an older-Linux-runtime proof gate
|
|
359
|
-
node scripts/check-version-sync.mjs --tag v$(node -p "require('./package.json').version")
|
|
360
|
-
```
|
|
361
|
-
|
|
362
|
-
`npm run build:full` is the one-shot source build for TypeScript plus the packaged explore harness and sparkshell native binary.
|
|
363
|
-
|
|
364
|
-
Non-tmux team launch (advanced):
|
|
365
|
-
|
|
366
|
-
```bash
|
|
367
|
-
OMX_TEAM_WORKER_LAUNCH_MODE=prompt omx team 2:executor "task"
|
|
368
|
-
```
|
|
369
|
-
|
|
370
|
-
## Hooks Extension (Additive Surface)
|
|
371
|
-
|
|
372
|
-
OMX now includes `omx hooks` for plugin scaffolding and validation.
|
|
373
|
-
|
|
374
|
-
- `omx tmux-hook` remains supported and unchanged.
|
|
375
|
-
- `omx hooks` is additive and does not replace tmux-hook workflows.
|
|
376
|
-
- Plugin files live at `.omx/hooks/*.mjs`.
|
|
377
|
-
- Plugins are off by default; enable with `OMX_HOOK_PLUGINS=1`.
|
|
378
|
-
|
|
379
|
-
See `docs/hooks-extension.md` for the full extension workflow and event model.
|
|
380
|
-
|
|
381
|
-
## Sparkshell (Spark Initiative surface)
|
|
382
|
-
|
|
383
|
-
`omx sparkshell <command> [args...]` runs through a JS -> Rust sidecar bridge for fast command execution with adaptive summaries when output exceeds `OMX_SPARKSHELL_LINES`. In `0.9.0`, it became a first-class Spark Initiative surface: `omx explore` can use it as a backend for qualifying read-only shell-native tasks, while `omx sparkshell` remains the explicit operator-facing command for direct use.
|
|
384
|
-
|
|
385
|
-
It remains an explicit operator-facing command, but OMX may also use it as a backend for qualifying `omx explore` read-only shell-native tasks. That backend relationship does not relax read-only safety: non-read-only or unsupported shell execution should still stay blocked or on the normal path.
|
|
386
|
-
|
|
387
|
-
Current preview contract:
|
|
388
|
-
- Short output stays raw; long output is summarized into markdown sections limited to `summary:`, `failures:`, and `warnings:`.
|
|
389
|
-
- Summary mode uses the local Codex CLI via `codex exec` and prefers `OMX_SPARKSHELL_MODEL`, then `OMX_DEFAULT_SPARK_MODEL`, then the spark default model.
|
|
390
|
-
- `--spark` / `--madmax-spark` remain team-worker launch flags; sparkshell model routing is controlled by env vars instead.
|
|
391
|
-
- Native binary lookup order is `OMX_SPARKSHELL_BIN`, then the hydrated native cache, then packaged dev artifacts (when present), then repo-local workspace output `target/release/omx-sparkshell[.exe]`.
|
|
392
|
-
- Team/leader pane summarization is explicit opt-in via tmux pane mode, for example:
|
|
393
|
-
|
|
394
|
-
```bash
|
|
395
|
-
omx sparkshell --tmux-pane %12 --tail-lines 400
|
|
396
|
-
```
|
|
397
|
-
|
|
398
|
-
- tmux pane mode captures a larger pane tail (100-1000 lines) and applies the same raw-vs-summary behavior to worker/leader pane context.
|
|
399
|
-
- sparkshell pane summarization is not always-on; it is enabled only when explicitly requested.
|
|
400
|
-
|
|
401
|
-
Preview build helpers:
|
|
402
|
-
|
|
403
|
-
```bash
|
|
404
|
-
npm run build:sparkshell
|
|
405
|
-
npm run test:sparkshell
|
|
406
|
-
```
|
|
407
|
-
|
|
408
|
-
For a full local source build in one command, use `npm run build:full`.
|
|
409
|
-
|
|
410
|
-
## Launch Flags
|
|
411
|
-
|
|
412
|
-
```bash
|
|
413
|
-
--yolo # Launch Codex in yolo mode
|
|
414
|
-
--high # High reasoning effort (shorthand for -c model_reasoning_effort="high")
|
|
415
|
-
--xhigh # xhigh reasoning effort (shorthand for -c model_reasoning_effort="xhigh")
|
|
416
|
-
--madmax # DANGEROUS: bypass Codex approvals and sandbox
|
|
417
|
-
--spark # Use Codex spark model for team workers only (~1.3x faster)
|
|
418
|
-
--madmax-spark # spark model for workers + bypass approvals for leader and workers
|
|
419
|
-
-w, --worktree[=<name>] # Launch Codex in a git worktree (detached when no name given)
|
|
420
|
-
--force # Enable destructive maintenance (for example stale/deprecated skill cleanup)
|
|
421
|
-
--dry-run # Show what would be done without doing it
|
|
422
|
-
--keep-config # Skip config.toml cleanup during uninstall
|
|
423
|
-
--purge # Remove .omx/ cache directory during uninstall
|
|
424
|
-
--verbose # Show detailed output
|
|
425
|
-
--scope <user|project> # setup only
|
|
426
|
-
```
|
|
427
|
-
|
|
428
|
-
`--madmax` maps to Codex `--dangerously-bypass-approvals-and-sandbox`.
|
|
429
|
-
Use it only in trusted/external sandbox environments.
|
|
430
|
-
|
|
431
|
-
### MCP workingDirectory policy (optional hardening)
|
|
432
|
-
|
|
433
|
-
By default, MCP state/memory/trace tools accept caller-provided `workingDirectory`.
|
|
434
|
-
To constrain this, set an allowlist of roots:
|
|
435
|
-
|
|
436
|
-
```bash
|
|
437
|
-
export OMX_MCP_WORKDIR_ROOTS="/path/to/project:/path/to/another-root"
|
|
438
|
-
```
|
|
439
|
-
|
|
440
|
-
When set, `workingDirectory` values outside these roots are rejected.
|
|
441
|
-
|
|
442
|
-
## Codex-First Prompt Control
|
|
443
|
-
|
|
444
|
-
By default, OMX injects:
|
|
445
|
-
|
|
446
|
-
```text
|
|
447
|
-
-c model_instructions_file="<cwd>/AGENTS.md"
|
|
448
|
-
```
|
|
449
|
-
|
|
450
|
-
This merges `CODEX_HOME/AGENTS.md` with project `./AGENTS.md` guidance (when present), then appends the runtime overlay.
|
|
451
|
-
It extends Codex behavior, but does not replace/bypass Codex core system policies.
|
|
452
|
-
|
|
453
|
-
Controls:
|
|
454
|
-
|
|
455
|
-
```bash
|
|
456
|
-
OMX_BYPASS_DEFAULT_SYSTEM_PROMPT=0 omx # disable AGENTS.md injection
|
|
457
|
-
OMX_MODEL_INSTRUCTIONS_FILE=/path/to/instructions.md omx
|
|
458
|
-
```
|
|
459
|
-
|
|
460
|
-
## Team Mode
|
|
461
|
-
|
|
462
|
-
Use team mode for broad work that benefits from parallel workers.
|
|
463
|
-
|
|
464
|
-
Lifecycle:
|
|
465
|
-
|
|
466
|
-
```text
|
|
467
|
-
start -> assign scoped lanes -> monitor -> verify terminal tasks -> shutdown
|
|
468
|
-
```
|
|
469
|
-
|
|
470
|
-
Operational commands:
|
|
471
|
-
|
|
472
|
-
```bash
|
|
473
|
-
omx team <args>
|
|
474
|
-
omx team --help
|
|
475
|
-
omx team api --help
|
|
476
80
|
omx team status <team-name>
|
|
477
|
-
omx team status <team-name> --json
|
|
478
|
-
omx team status <team-name> --tail-lines 600
|
|
479
81
|
omx team resume <team-name>
|
|
480
82
|
omx team shutdown <team-name>
|
|
481
83
|
```
|
|
482
84
|
|
|
483
|
-
|
|
484
|
-
omx resume --last
|
|
485
|
-
```
|
|
85
|
+
## Core commands
|
|
486
86
|
|
|
487
|
-
|
|
87
|
+
### In the terminal
|
|
488
88
|
|
|
489
|
-
|
|
89
|
+
| Command | What it does |
|
|
90
|
+
| --- | --- |
|
|
91
|
+
| `omx` | Launch Codex with OMX wiring |
|
|
92
|
+
| `omx setup` | Install prompts, skills, config, and AGENTS scaffolding |
|
|
93
|
+
| `omx doctor` | Verify the install |
|
|
94
|
+
| `omx team 3:executor "..."` | Start a coordinated tmux-based team |
|
|
95
|
+
| `omx team status <team-name>` | Inspect a running team |
|
|
96
|
+
| `omx status` | Show active OMX modes |
|
|
97
|
+
| `omx cancel` | Cancel active modes |
|
|
98
|
+
| `omx explore --prompt "..."` | Read-only repository exploration |
|
|
99
|
+
| `omx sparkshell <command>` | Shell-native inspection helper |
|
|
100
|
+
| `omx version` | Show version info |
|
|
490
101
|
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
```text
|
|
494
|
-
ralplan -> team -> ralph
|
|
495
|
-
```
|
|
496
|
-
|
|
497
|
-
Why this combination works well:
|
|
498
|
-
- **`ralplan`** turns a rough request into a spec, acceptance checks, and a lane-ready breakdown before workers start.
|
|
499
|
-
- **`$team`** executes that plan with durable worker coordination, visible runtime state, and better handling of blockers than simple fanout.
|
|
500
|
-
- **`$ralph`** keeps the loop alive until verification is real, evidence is fresh, and cleanup is explicit.
|
|
501
|
-
|
|
502
|
-
In practice, this is the right workflow when you want to stay in control of planning and orchestration while still getting parallel execution. `autopilot` can chain these modes for you, but advanced users will often prefer running the sequence directly so they can tune worker roles, follow-up stages, and verification thresholds themselves.
|
|
503
|
-
|
|
504
|
-
Example:
|
|
505
|
-
|
|
506
|
-
```bash
|
|
507
|
-
omx ask --agent-prompt planner "ralplan: break this feature into worker lanes and acceptance checks"
|
|
508
|
-
omx team 3:executor "execute the approved ralplan with shared runtime coordination"
|
|
509
|
-
```
|
|
102
|
+
### Inside Codex
|
|
510
103
|
|
|
511
|
-
|
|
104
|
+
| Command | Use it for |
|
|
105
|
+
| --- | --- |
|
|
106
|
+
| `/prompts:architect "..."` | Analysis and boundary review |
|
|
107
|
+
| `/prompts:executor "..."` | Focused implementation work |
|
|
108
|
+
| `/skills` | Browse installed skills |
|
|
109
|
+
| `$plan "..."` | Build a plan before implementation |
|
|
110
|
+
| `$team 3:executor "..."` | Kick off coordinated team execution |
|
|
111
|
+
| `$ralph "..."` | Run persistent sequential execution |
|
|
512
112
|
|
|
513
|
-
|
|
113
|
+
## A simple mental model
|
|
514
114
|
|
|
515
|
-
|
|
516
|
-
one linked lifecycle, not as two unrelated commands.
|
|
115
|
+
OMX does **not** replace Codex.
|
|
517
116
|
|
|
518
|
-
It
|
|
519
|
-
|
|
520
|
-
|
|
117
|
+
It adds a lightweight runtime around it:
|
|
118
|
+
- **Codex** does the actual agent work
|
|
119
|
+
- **OMX prompts and skills** make common roles and workflows reusable
|
|
120
|
+
- **`omx team`** adds durable tmux/worktree orchestration for bigger jobs
|
|
121
|
+
- **`.omx/`** stores runtime state, plans, logs, and memory
|
|
521
122
|
|
|
522
|
-
|
|
523
|
-
creates/updates Ralph state with `linked_team=true`, and later terminal team
|
|
524
|
-
phases propagate into Ralph state. That gives one operator-visible chain for
|
|
525
|
-
resume/cancel/final verification instead of a manual handoff after the fact.
|
|
526
|
-
- **Cleanup/shutdown:** linked shutdown uses the Ralph-aware cleanup policy.
|
|
527
|
-
Team cleanup happens first, Ralph is terminalized from the linked team result,
|
|
528
|
-
branch rollback preserves worktree branches, and the run records linked
|
|
529
|
-
terminal metadata plus Ralph cleanup events.
|
|
530
|
-
- **Why not just `team` then later `ralph`:** if you start plain `team` and only
|
|
531
|
-
launch Ralph afterward, OMX treats them as separate runs. You do not get
|
|
532
|
-
linked terminal propagation, linked cancel ordering, or automatic Ralph-aware
|
|
533
|
-
shutdown semantics for that original team run.
|
|
123
|
+
## Start here if you are new
|
|
534
124
|
|
|
535
|
-
|
|
125
|
+
1. Run `omx setup`
|
|
126
|
+
2. Run `omx`
|
|
127
|
+
3. Try `/prompts:architect "analyze <something>"`
|
|
128
|
+
4. Try `/skills`
|
|
129
|
+
5. When work gets bigger, use `$plan` or `omx team`
|
|
536
130
|
|
|
537
|
-
|
|
538
|
-
|---|---|
|
|
539
|
-
| `omx team ...` | You want parallel worker coordination only; you will inspect/close the run yourself. |
|
|
540
|
-
| `omx team ralph ...` | You already know the team run should roll straight into persistent Ralph verification and linked cleanup. |
|
|
541
|
-
| `omx team ...` then later `omx ask ... ralph` | You intentionally want a separate, manual second pass after reviewing team output or changing scope. |
|
|
131
|
+
## Power-user notes
|
|
542
132
|
|
|
543
|
-
###
|
|
133
|
+
### Team Mode vs Ultrawork
|
|
544
134
|
|
|
545
|
-
|
|
546
|
-
|
|
135
|
+
- **Team Mode** is the default for bigger, shared-context tasks. It gives you durable tmux/state/worktree orchestration.
|
|
136
|
+
- **Ultrawork** is lighter parallel fanout for more independent subtasks.
|
|
547
137
|
|
|
548
|
-
|
|
549
|
-
|---|---|---|
|
|
550
|
-
| Force shutdown on failure | Throws `shutdown_gate_blocked` | Bypasses gate, logs `ralph_cleanup_policy` event |
|
|
551
|
-
| Auto branch deletion | Deletes worktree branches on rollback | Preserves branches (`skipBranchDeletion`) |
|
|
552
|
-
| Completion logging | Standard `shutdown_gate` event | Additional `ralph_cleanup_summary` event with task breakdown |
|
|
138
|
+
Short version: **Ultrawork is parallelism. Team Mode is orchestration.**
|
|
553
139
|
|
|
554
|
-
|
|
555
|
-
can be passed explicitly via `omx team shutdown <name> --ralph`.
|
|
140
|
+
### `omx explore` vs `omx sparkshell`
|
|
556
141
|
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
```bash
|
|
560
|
-
OMX_TEAM_WORKER_CLI=auto # default; uses claude when worker --model contains "claude"
|
|
561
|
-
OMX_TEAM_WORKER_CLI=codex # force Codex CLI workers
|
|
562
|
-
OMX_TEAM_WORKER_CLI=claude # force Claude CLI workers
|
|
563
|
-
OMX_TEAM_WORKER_CLI_MAP=codex,codex,claude,claude # per-worker CLI mix (len=1 or worker count)
|
|
564
|
-
OMX_TEAM_AUTO_INTERRUPT_RETRY=0 # optional: disable adaptive queue->resend fallback
|
|
565
|
-
```
|
|
566
|
-
|
|
567
|
-
Notes:
|
|
568
|
-
- Worker launch args are still shared via `OMX_TEAM_WORKER_LAUNCH_ARGS` for model/config inheritance.
|
|
569
|
-
- When no explicit worker model is provided, low-complexity worker fallback follows `OMX_DEFAULT_SPARK_MODEL` (legacy alias: `OMX_SPARK_MODEL`).
|
|
570
|
-
- `OMX_TEAM_WORKER_CLI_MAP` overrides `OMX_TEAM_WORKER_CLI` for per-worker selection.
|
|
571
|
-
- Team mode now allocates `model_reasoning_effort` per teammate from the resolved worker role (`low` / `medium` / `high`) unless an explicit reasoning override already exists in `OMX_TEAM_WORKER_LAUNCH_ARGS`.
|
|
572
|
-
- When a worker resolves to a concrete task role, OMX composes a per-worker startup instructions file that layers the corresponding role prompt on top of the shared team worker protocol; explicit `model_instructions_file` launch overrides still win.
|
|
573
|
-
- Trigger submission uses adaptive retries by default (queue/submit, then safe clear-line+resend fallback when needed).
|
|
574
|
-
- In Claude worker mode, OMX spawns workers as plain `claude` (no extra launch args) and ignores explicit `--model` / `--config` / `--effort` overrides so Claude uses default `settings.json`.
|
|
575
|
-
|
|
576
|
-
## What `omx setup` writes
|
|
577
|
-
|
|
578
|
-
- `.omx/setup-scope.json` (persisted setup scope)
|
|
579
|
-
- Scope-dependent installs:
|
|
580
|
-
- `user`: `~/.codex/prompts/`, `~/.codex/skills/`, `~/.codex/config.toml`, `~/.omx/agents/`, `~/.codex/AGENTS.md`
|
|
581
|
-
- `project`: `./.codex/prompts/`, `./.codex/skills/`, `./.codex/config.toml`, `./.omx/agents/`, `./AGENTS.md`
|
|
582
|
-
- Launch behavior: if persisted scope is `project`, `omx` launch auto-uses `CODEX_HOME=./.codex` (unless `CODEX_HOME` is already set).
|
|
583
|
-
- Launch instructions merge `~/.codex/AGENTS.md` (or `CODEX_HOME/AGENTS.md` when overridden) with project `./AGENTS.md`, then append the runtime overlay
|
|
584
|
-
- Managed OMX artifacts refresh by default in both interactive and non-interactive runs: prompts, skills, native agent configs, and the managed OMX portion of `config.toml`
|
|
585
|
-
- Existing `AGENTS.md` files are never overwritten silently: interactive setup asks before replacing them, non-interactive setup skips replacement unless you pass `--force`
|
|
586
|
-
- If a managed file differs and will be overwritten, setup creates a backup first under `.omx/backups/setup/<timestamp>/...` (project scope) or `~/.omx/backups/setup/<timestamp>/...` (user scope)
|
|
587
|
-
- Active-session safety still blocks `AGENTS.md` overwrite while an OMX session is running
|
|
588
|
-
- `config.toml` updates (for both scopes):
|
|
589
|
-
- `notify = ["node", "..."]`
|
|
590
|
-
- `model_reasoning_effort = "high"`
|
|
591
|
-
- `developer_instructions = "..."`
|
|
592
|
-
- `model = "<OMX_DEFAULT_FRONTIER_MODEL>"` when root `model` is absent
|
|
593
|
-
- if the existing root model matches the legacy pre-frontier default, interactive `omx setup` asks whether to upgrade it to `OMX_DEFAULT_FRONTIER_MODEL`; non-interactive runs preserve the existing model
|
|
594
|
-
- `model_context_window = 1000000` and `model_auto_compact_token_limit = 900000` only when the effective root model matches `OMX_DEFAULT_FRONTIER_MODEL` and both context keys are absent
|
|
595
|
-
- `[features] multi_agent = true, child_agents_md = true`
|
|
596
|
-
- MCP server entries (`omx_state`, `omx_memory`, `omx_code_intel`, `omx_trace`)
|
|
597
|
-
- If a shared MCP registry exists at `~/.omx/mcp-registry.json`, setup syncs those entries into a dedicated managed block in `config.toml` (skipping names already defined elsewhere to avoid duplicate TOML tables)
|
|
598
|
-
- User-scoped setup also syncs missing shared MCP entries into `~/.claude/settings.json` without overwriting existing Claude Code MCP server definitions
|
|
599
|
-
- `[tui] status_line`
|
|
600
|
-
- Scope-specific `AGENTS.md`
|
|
601
|
-
- `.omx/` runtime directories and HUD config
|
|
602
|
-
- Default setup output includes a compact per-category refresh summary; `--verbose` adds changed-file detail
|
|
603
|
-
- `--force` is reserved for stronger maintenance behavior such as stale/deprecated skill cleanup; it is no longer required for ordinary refresh
|
|
604
|
-
- The 1M GPT-5.4 context settings are experimental and can increase usage because requests beyond the standard context budget may count more heavily
|
|
605
|
-
|
|
606
|
-
## Lightweight AGENTS bootstrap
|
|
607
|
-
|
|
608
|
-
Use `omx agents-init [path]` when you only want a narrow AGENTS.md bootstrap helper instead of full OMX setup.
|
|
609
|
-
|
|
610
|
-
- creates or refreshes `AGENTS.md` in the target directory plus its immediate child directories
|
|
611
|
-
- skips generated/vendor/tooling directories such as `.git`, `.omx`, `.codex`, `node_modules`, `dist`, and `build`
|
|
612
|
-
- preserves the `<!-- OMX:AGENTS-MANUAL:* -->` section on refresh
|
|
613
|
-
- skips unmanaged existing `AGENTS.md` files unless you pass `--force`
|
|
614
|
-
- does **not** install prompts, skills, config, or replace planning/execution workflows such as `team`, `ralph`, or `ralplan`
|
|
142
|
+
- Use **`omx explore`** for read-only repo lookup driven by a prompt.
|
|
143
|
+
- Use **`omx sparkshell`** when you want direct shell-style inspection or tmux pane capture.
|
|
615
144
|
|
|
616
145
|
Examples:
|
|
617
146
|
|
|
618
147
|
```bash
|
|
619
|
-
omx
|
|
620
|
-
omx
|
|
621
|
-
omx
|
|
622
|
-
```
|
|
623
|
-
|
|
624
|
-
## Agents and Skills
|
|
625
|
-
|
|
626
|
-
- Prompts: `prompts/*.md` (installed to `~/.codex/prompts/` for `user`, `./.codex/prompts/` for `project`)
|
|
627
|
-
- Skills: `skills/*/SKILL.md` (installed to `~/.codex/skills/` for `user`, `./.codex/skills/` for `project`)
|
|
628
|
-
|
|
629
|
-
Examples:
|
|
630
|
-
- Agents: `architect`, `planner`, `executor`, `debugger`, `verifier`, `security-reviewer`
|
|
631
|
-
- Skills: `autopilot`, `plan`, `team`, `ralph`, `ultrawork`, `cancel`
|
|
632
|
-
|
|
633
|
-
### Notification Setup Skill (`$configure-notifications`)
|
|
634
|
-
|
|
635
|
-
Use `$configure-notifications` as the unified entry point for notification setup:
|
|
636
|
-
|
|
637
|
-
- Discord (webhook/bot)
|
|
638
|
-
- Telegram (bot)
|
|
639
|
-
- Slack (webhook)
|
|
640
|
-
- OpenClaw / custom webhook / custom CLI command
|
|
641
|
-
|
|
642
|
-
Examples:
|
|
643
|
-
|
|
644
|
-
```text
|
|
645
|
-
$configure-notifications "configure discord notifications"
|
|
646
|
-
$configure-notifications "configure slack notifications"
|
|
647
|
-
$configure-notifications "configure openclaw notifications"
|
|
148
|
+
omx explore --prompt "git log --oneline -10"
|
|
149
|
+
omx sparkshell git status
|
|
150
|
+
omx sparkshell --tmux-pane %12 --tail-lines 400
|
|
648
151
|
```
|
|
649
152
|
|
|
650
|
-
|
|
651
|
-
configure a command gateway using `clawdbot agent --deliver --reply-channel ... --reply-to ...`
|
|
652
|
-
and map hook events (`session-start`, `session-idle`, `ask-user-question`, `session-stop`, `session-end`).
|
|
653
|
-
|
|
654
|
-
For dev teams using `#omc-dev`, the OpenClaw guide includes a dedicated runbook for:
|
|
655
|
-
- Korean-only hook responses
|
|
656
|
-
- `sessionId` + `tmuxSession` tracing
|
|
657
|
-
- `SOUL.md`-based follow-up workflow
|
|
658
|
-
|
|
659
|
-
See: `docs/openclaw-integration.md` (Dev Guide section).
|
|
660
|
-
|
|
661
|
-
Required env gates for OpenClaw command mode:
|
|
662
|
-
|
|
663
|
-
```bash
|
|
664
|
-
export OMX_OPENCLAW=1
|
|
665
|
-
export OMX_OPENCLAW_COMMAND=1
|
|
666
|
-
```
|
|
153
|
+
### What `omx setup` writes
|
|
667
154
|
|
|
668
|
-
|
|
155
|
+
`omx setup` installs and updates the OMX surfaces Codex uses:
|
|
156
|
+
- prompts under `~/.codex/prompts/`
|
|
157
|
+
- skills under `~/.codex/skills/`
|
|
158
|
+
- OMX config entries in Codex config
|
|
159
|
+
- scope-aware `AGENTS.md` scaffolding
|
|
160
|
+
- runtime state under `.omx/`
|
|
669
161
|
|
|
670
|
-
|
|
162
|
+
### Model defaults
|
|
671
163
|
|
|
672
|
-
|
|
673
|
-
-
|
|
674
|
-
-
|
|
675
|
-
-
|
|
164
|
+
OMX uses explicit default model lanes:
|
|
165
|
+
- `OMX_DEFAULT_FRONTIER_MODEL`
|
|
166
|
+
- `OMX_DEFAULT_STANDARD_MODEL`
|
|
167
|
+
- `OMX_DEFAULT_SPARK_MODEL`
|
|
676
168
|
|
|
677
|
-
|
|
169
|
+
You can override them in your shell env or in `~/.codex/.omx-config.json`.
|
|
678
170
|
|
|
679
|
-
|
|
680
|
-
oh-my-codex/
|
|
681
|
-
bin/omx.js
|
|
682
|
-
src/
|
|
683
|
-
cli/
|
|
684
|
-
team/
|
|
685
|
-
mcp/
|
|
686
|
-
hooks/
|
|
687
|
-
hud/
|
|
688
|
-
config/
|
|
689
|
-
modes/
|
|
690
|
-
notifications/
|
|
691
|
-
verification/
|
|
692
|
-
prompts/
|
|
693
|
-
skills/
|
|
694
|
-
templates/
|
|
695
|
-
scripts/
|
|
696
|
-
```
|
|
171
|
+
## Platform notes
|
|
697
172
|
|
|
698
|
-
|
|
173
|
+
`omx team` needs a tmux-compatible backend:
|
|
699
174
|
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
175
|
+
| Platform | Install |
|
|
176
|
+
| --- | --- |
|
|
177
|
+
| macOS | `brew install tmux` |
|
|
178
|
+
| Ubuntu/Debian | `sudo apt install tmux` |
|
|
179
|
+
| Fedora | `sudo dnf install tmux` |
|
|
180
|
+
| Arch | `sudo pacman -S tmux` |
|
|
181
|
+
| Windows | `winget install psmux` |
|
|
182
|
+
| Windows (WSL2) | `sudo apt install tmux` |
|
|
708
183
|
|
|
709
184
|
## Documentation
|
|
710
185
|
|
|
711
|
-
-
|
|
712
|
-
-
|
|
713
|
-
-
|
|
714
|
-
-
|
|
715
|
-
-
|
|
716
|
-
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
- Full changelog: `CHANGELOG.md`
|
|
721
|
-
- Migration guide (post-v0.4.4 mainline): `docs/migration-mainline-post-v0.4.4.md`
|
|
722
|
-
- Coverage and parity notes: `COVERAGE.md`
|
|
723
|
-
- Hook extension workflow: `docs/hooks-extension.md`
|
|
724
|
-
- OpenClaw integration examples: `docs/openclaw-integration.md`
|
|
725
|
-
- Setup and contribution details: `CONTRIBUTING.md`
|
|
186
|
+
- [Getting Started](./docs/getting-started.html)
|
|
187
|
+
- [Demo guide](./DEMO.md)
|
|
188
|
+
- [Agent catalog](./docs/agents.html)
|
|
189
|
+
- [Skills reference](./docs/skills.html)
|
|
190
|
+
- [Integrations](./docs/integrations.html)
|
|
191
|
+
- [OpenClaw / notification gateway guide](./docs/openclaw-integration.md)
|
|
192
|
+
- [Contributing](./CONTRIBUTING.md)
|
|
193
|
+
- [Changelog](./CHANGELOG.md)
|
|
726
194
|
|
|
727
|
-
##
|
|
728
|
-
|
|
729
|
-
- [Yeachan-Heo](https://github.com/Yeachan-Heo)
|
|
730
|
-
- [HaD0Yun](https://github.com/HaD0Yun)
|
|
731
|
-
|
|
732
|
-
## Acknowledgments
|
|
733
|
-
|
|
734
|
-
Inspired by [oh-my-claudecode](https://github.com/Yeachan-Heo/oh-my-claudecode), adapted for Codex CLI.
|
|
735
|
-
|
|
736
|
-
## Star History
|
|
195
|
+
## Languages
|
|
737
196
|
|
|
738
|
-
[
|
|
197
|
+
- [English](./README.md)
|
|
198
|
+
- [한국어](./README.ko.md)
|
|
199
|
+
- [日本語](./README.ja.md)
|
|
200
|
+
- [简体中文](./README.zh.md)
|
|
201
|
+
- [繁體中文](./README.zh-TW.md)
|
|
202
|
+
- [Tiếng Việt](./README.vi.md)
|
|
203
|
+
- [Español](./README.es.md)
|
|
204
|
+
- [Português](./README.pt.md)
|
|
205
|
+
- [Русский](./README.ru.md)
|
|
206
|
+
- [Türkçe](./README.tr.md)
|
|
207
|
+
- [Deutsch](./README.de.md)
|
|
208
|
+
- [Français](./README.fr.md)
|
|
209
|
+
- [Italiano](./README.it.md)
|
|
739
210
|
|
|
740
211
|
## License
|
|
741
212
|
|