oh-my-codex 0.7.6 → 0.8.1

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.
Files changed (376) hide show
  1. package/README.de.md +315 -0
  2. package/README.es.md +296 -17
  3. package/README.fr.md +315 -0
  4. package/README.it.md +315 -0
  5. package/README.ja.md +297 -18
  6. package/README.ko.md +296 -17
  7. package/README.md +110 -13
  8. package/README.pt.md +296 -17
  9. package/README.ru.md +296 -17
  10. package/README.tr.md +315 -0
  11. package/README.vi.md +297 -18
  12. package/README.zh-TW.md +362 -0
  13. package/README.zh.md +293 -17
  14. package/dist/catalog/__tests__/generator.test.js +2 -0
  15. package/dist/catalog/__tests__/generator.test.js.map +1 -1
  16. package/dist/catalog/__tests__/schema.test.js +7 -0
  17. package/dist/catalog/__tests__/schema.test.js.map +1 -1
  18. package/dist/cli/__tests__/ask.test.d.ts +2 -0
  19. package/dist/cli/__tests__/ask.test.d.ts.map +1 -0
  20. package/dist/cli/__tests__/ask.test.js +236 -0
  21. package/dist/cli/__tests__/ask.test.js.map +1 -0
  22. package/dist/cli/__tests__/doctor-warning-copy.test.d.ts +2 -0
  23. package/dist/cli/__tests__/doctor-warning-copy.test.d.ts.map +1 -0
  24. package/dist/cli/__tests__/doctor-warning-copy.test.js +45 -0
  25. package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -0
  26. package/dist/cli/__tests__/index.test.js +85 -2
  27. package/dist/cli/__tests__/index.test.js.map +1 -1
  28. package/dist/cli/__tests__/ralph-prd-deep-interview.test.d.ts +2 -0
  29. package/dist/cli/__tests__/ralph-prd-deep-interview.test.d.ts.map +1 -0
  30. package/dist/cli/__tests__/ralph-prd-deep-interview.test.js +15 -0
  31. package/dist/cli/__tests__/ralph-prd-deep-interview.test.js.map +1 -0
  32. package/dist/cli/__tests__/ralph.test.js +19 -43
  33. package/dist/cli/__tests__/ralph.test.js.map +1 -1
  34. package/dist/cli/__tests__/setup-scope.test.js +2 -0
  35. package/dist/cli/__tests__/setup-scope.test.js.map +1 -1
  36. package/dist/cli/__tests__/team.test.js +219 -1
  37. package/dist/cli/__tests__/team.test.js.map +1 -1
  38. package/dist/cli/__tests__/version.test.d.ts +2 -0
  39. package/dist/cli/__tests__/version.test.d.ts.map +1 -0
  40. package/dist/cli/__tests__/version.test.js +21 -0
  41. package/dist/cli/__tests__/version.test.js.map +1 -0
  42. package/dist/cli/ask.d.ts +13 -0
  43. package/dist/cli/ask.d.ts.map +1 -0
  44. package/dist/cli/ask.js +174 -0
  45. package/dist/cli/ask.js.map +1 -0
  46. package/dist/cli/constants.d.ts +10 -0
  47. package/dist/cli/constants.d.ts.map +1 -0
  48. package/dist/cli/constants.js +10 -0
  49. package/dist/cli/constants.js.map +1 -0
  50. package/dist/cli/doctor.js +16 -5
  51. package/dist/cli/doctor.js.map +1 -1
  52. package/dist/cli/index.d.ts +8 -2
  53. package/dist/cli/index.d.ts.map +1 -1
  54. package/dist/cli/index.js +150 -52
  55. package/dist/cli/index.js.map +1 -1
  56. package/dist/cli/ralph.d.ts +3 -11
  57. package/dist/cli/ralph.d.ts.map +1 -1
  58. package/dist/cli/ralph.js +64 -45
  59. package/dist/cli/ralph.js.map +1 -1
  60. package/dist/cli/setup.d.ts.map +1 -1
  61. package/dist/cli/setup.js +17 -18
  62. package/dist/cli/setup.js.map +1 -1
  63. package/dist/cli/team.d.ts.map +1 -1
  64. package/dist/cli/team.js +257 -0
  65. package/dist/cli/team.js.map +1 -1
  66. package/dist/hooks/__tests__/deep-interview-contract.test.d.ts +2 -0
  67. package/dist/hooks/__tests__/deep-interview-contract.test.d.ts.map +1 -0
  68. package/dist/hooks/__tests__/deep-interview-contract.test.js +55 -0
  69. package/dist/hooks/__tests__/deep-interview-contract.test.js.map +1 -0
  70. package/dist/hooks/__tests__/emulator.test.js +6 -0
  71. package/dist/hooks/__tests__/emulator.test.js.map +1 -1
  72. package/dist/hooks/__tests__/keyword-detector.test.js +44 -22
  73. package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
  74. package/dist/hooks/__tests__/notify-hook-all-workers-idle.test.js +23 -7
  75. package/dist/hooks/__tests__/notify-hook-all-workers-idle.test.js.map +1 -1
  76. package/dist/hooks/__tests__/notify-hook-session-scope.test.js +59 -0
  77. package/dist/hooks/__tests__/notify-hook-session-scope.test.js.map +1 -1
  78. package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js +264 -1
  79. package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js.map +1 -1
  80. package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js +61 -1
  81. package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js.map +1 -1
  82. package/dist/hooks/__tests__/notify-hook-worker-idle.test.js +17 -7
  83. package/dist/hooks/__tests__/notify-hook-worker-idle.test.js.map +1 -1
  84. package/dist/hooks/__tests__/openclaw-setup-contract.test.d.ts +2 -0
  85. package/dist/hooks/__tests__/openclaw-setup-contract.test.d.ts.map +1 -0
  86. package/dist/hooks/__tests__/openclaw-setup-contract.test.js +61 -0
  87. package/dist/hooks/__tests__/openclaw-setup-contract.test.js.map +1 -0
  88. package/dist/hooks/__tests__/pre-context-gate-skills.test.d.ts +2 -0
  89. package/dist/hooks/__tests__/pre-context-gate-skills.test.d.ts.map +1 -0
  90. package/dist/hooks/__tests__/pre-context-gate-skills.test.js +34 -0
  91. package/dist/hooks/__tests__/pre-context-gate-skills.test.js.map +1 -0
  92. package/dist/hooks/__tests__/visual-verdict-loop.test.d.ts +2 -0
  93. package/dist/hooks/__tests__/visual-verdict-loop.test.d.ts.map +1 -0
  94. package/dist/hooks/__tests__/visual-verdict-loop.test.js +35 -0
  95. package/dist/hooks/__tests__/visual-verdict-loop.test.js.map +1 -0
  96. package/dist/hooks/agents-overlay.d.ts.map +1 -1
  97. package/dist/hooks/agents-overlay.js +18 -16
  98. package/dist/hooks/agents-overlay.js.map +1 -1
  99. package/dist/hooks/codebase-map.d.ts.map +1 -1
  100. package/dist/hooks/codebase-map.js +6 -2
  101. package/dist/hooks/codebase-map.js.map +1 -1
  102. package/dist/hooks/emulator.d.ts.map +1 -1
  103. package/dist/hooks/emulator.js +2 -0
  104. package/dist/hooks/emulator.js.map +1 -1
  105. package/dist/hooks/extensibility/sdk.d.ts.map +1 -1
  106. package/dist/hooks/extensibility/sdk.js +2 -1
  107. package/dist/hooks/extensibility/sdk.js.map +1 -1
  108. package/dist/hooks/keyword-registry.d.ts.map +1 -1
  109. package/dist/hooks/keyword-registry.js +6 -0
  110. package/dist/hooks/keyword-registry.js.map +1 -1
  111. package/dist/hud/index.d.ts.map +1 -1
  112. package/dist/hud/index.js +2 -24
  113. package/dist/hud/index.js.map +1 -1
  114. package/dist/mcp/__tests__/path-traversal.test.js +9 -227
  115. package/dist/mcp/__tests__/path-traversal.test.js.map +1 -1
  116. package/dist/mcp/__tests__/state-server-schema.test.js +16 -20
  117. package/dist/mcp/__tests__/state-server-schema.test.js.map +1 -1
  118. package/dist/mcp/__tests__/state-server-team-tools.test.js +30 -487
  119. package/dist/mcp/__tests__/state-server-team-tools.test.js.map +1 -1
  120. package/dist/mcp/code-intel-server.d.ts.map +1 -1
  121. package/dist/mcp/code-intel-server.js +18 -8
  122. package/dist/mcp/code-intel-server.js.map +1 -1
  123. package/dist/mcp/memory-server.js +72 -11
  124. package/dist/mcp/memory-server.js.map +1 -1
  125. package/dist/mcp/state-paths.d.ts.map +1 -1
  126. package/dist/mcp/state-paths.js +4 -1
  127. package/dist/mcp/state-paths.js.map +1 -1
  128. package/dist/mcp/state-server.d.ts +179 -0
  129. package/dist/mcp/state-server.d.ts.map +1 -1
  130. package/dist/mcp/state-server.js +221 -1111
  131. package/dist/mcp/state-server.js.map +1 -1
  132. package/dist/mcp/team-server.d.ts.map +1 -1
  133. package/dist/mcp/team-server.js +9 -3
  134. package/dist/mcp/team-server.js.map +1 -1
  135. package/dist/mcp/trace-server.d.ts.map +1 -1
  136. package/dist/mcp/trace-server.js +8 -3
  137. package/dist/mcp/trace-server.js.map +1 -1
  138. package/dist/notifications/__tests__/dispatch-cooldown.test.d.ts +5 -0
  139. package/dist/notifications/__tests__/dispatch-cooldown.test.d.ts.map +1 -0
  140. package/dist/notifications/__tests__/dispatch-cooldown.test.js +100 -0
  141. package/dist/notifications/__tests__/dispatch-cooldown.test.js.map +1 -0
  142. package/dist/notifications/__tests__/temp-mode.test.d.ts +2 -0
  143. package/dist/notifications/__tests__/temp-mode.test.d.ts.map +1 -0
  144. package/dist/notifications/__tests__/temp-mode.test.js +172 -0
  145. package/dist/notifications/__tests__/temp-mode.test.js.map +1 -0
  146. package/dist/notifications/config.d.ts.map +1 -1
  147. package/dist/notifications/config.js +67 -7
  148. package/dist/notifications/config.js.map +1 -1
  149. package/dist/notifications/dispatch-cooldown.d.ts +36 -0
  150. package/dist/notifications/dispatch-cooldown.d.ts.map +1 -0
  151. package/dist/notifications/dispatch-cooldown.js +109 -0
  152. package/dist/notifications/dispatch-cooldown.js.map +1 -0
  153. package/dist/notifications/dispatcher.d.ts.map +1 -1
  154. package/dist/notifications/dispatcher.js +4 -4
  155. package/dist/notifications/dispatcher.js.map +1 -1
  156. package/dist/notifications/index.d.ts +5 -0
  157. package/dist/notifications/index.d.ts.map +1 -1
  158. package/dist/notifications/index.js +39 -8
  159. package/dist/notifications/index.js.map +1 -1
  160. package/dist/notifications/reply-listener.d.ts.map +1 -1
  161. package/dist/notifications/reply-listener.js +6 -2
  162. package/dist/notifications/reply-listener.js.map +1 -1
  163. package/dist/notifications/session-registry.d.ts.map +1 -1
  164. package/dist/notifications/session-registry.js +2 -2
  165. package/dist/notifications/session-registry.js.map +1 -1
  166. package/dist/notifications/temp-contract.d.ts +22 -0
  167. package/dist/notifications/temp-contract.d.ts.map +1 -0
  168. package/dist/notifications/temp-contract.js +147 -0
  169. package/dist/notifications/temp-contract.js.map +1 -0
  170. package/dist/notifications/tmux.js +2 -2
  171. package/dist/notifications/tmux.js.map +1 -1
  172. package/dist/notifications/types.d.ts +18 -0
  173. package/dist/notifications/types.d.ts.map +1 -1
  174. package/dist/openclaw/__tests__/config.test.js +81 -0
  175. package/dist/openclaw/__tests__/config.test.js.map +1 -1
  176. package/dist/openclaw/__tests__/dispatcher.test.js +40 -1
  177. package/dist/openclaw/__tests__/dispatcher.test.js.map +1 -1
  178. package/dist/openclaw/config.d.ts +4 -0
  179. package/dist/openclaw/config.d.ts.map +1 -1
  180. package/dist/openclaw/config.js +110 -16
  181. package/dist/openclaw/config.js.map +1 -1
  182. package/dist/openclaw/dispatcher.d.ts +9 -3
  183. package/dist/openclaw/dispatcher.d.ts.map +1 -1
  184. package/dist/openclaw/dispatcher.js +42 -9
  185. package/dist/openclaw/dispatcher.js.map +1 -1
  186. package/dist/openclaw/types.d.ts +5 -1
  187. package/dist/openclaw/types.d.ts.map +1 -1
  188. package/dist/ralph/__tests__/persistence.test.js +28 -1
  189. package/dist/ralph/__tests__/persistence.test.js.map +1 -1
  190. package/dist/ralph/persistence.d.ts +21 -0
  191. package/dist/ralph/persistence.d.ts.map +1 -1
  192. package/dist/ralph/persistence.js +85 -2
  193. package/dist/ralph/persistence.js.map +1 -1
  194. package/dist/state/paths.d.ts +3 -0
  195. package/dist/state/paths.d.ts.map +1 -0
  196. package/dist/state/paths.js +2 -0
  197. package/dist/state/paths.js.map +1 -0
  198. package/dist/team/__tests__/api-interop.test.d.ts +2 -0
  199. package/dist/team/__tests__/api-interop.test.d.ts.map +1 -0
  200. package/dist/team/__tests__/api-interop.test.js +1052 -0
  201. package/dist/team/__tests__/api-interop.test.js.map +1 -0
  202. package/dist/team/__tests__/idle-nudge.test.d.ts +2 -0
  203. package/dist/team/__tests__/idle-nudge.test.d.ts.map +1 -0
  204. package/dist/team/__tests__/idle-nudge.test.js +225 -0
  205. package/dist/team/__tests__/idle-nudge.test.js.map +1 -0
  206. package/dist/team/__tests__/mcp-comm.test.js +30 -0
  207. package/dist/team/__tests__/mcp-comm.test.js.map +1 -1
  208. package/dist/team/__tests__/runtime.test.js +33 -26
  209. package/dist/team/__tests__/runtime.test.js.map +1 -1
  210. package/dist/team/__tests__/state-root.test.d.ts +2 -0
  211. package/dist/team/__tests__/state-root.test.d.ts.map +1 -0
  212. package/dist/team/__tests__/state-root.test.js +9 -0
  213. package/dist/team/__tests__/state-root.test.js.map +1 -0
  214. package/dist/team/__tests__/state.test.js +52 -17
  215. package/dist/team/__tests__/state.test.js.map +1 -1
  216. package/dist/team/__tests__/team-ops-contract.test.d.ts +2 -0
  217. package/dist/team/__tests__/team-ops-contract.test.d.ts.map +1 -0
  218. package/dist/team/__tests__/team-ops-contract.test.js +90 -0
  219. package/dist/team/__tests__/team-ops-contract.test.js.map +1 -0
  220. package/dist/team/__tests__/tmux-claude-workers-demo.test.d.ts +2 -0
  221. package/dist/team/__tests__/tmux-claude-workers-demo.test.d.ts.map +1 -0
  222. package/dist/team/__tests__/tmux-claude-workers-demo.test.js +176 -0
  223. package/dist/team/__tests__/tmux-claude-workers-demo.test.js.map +1 -0
  224. package/dist/team/__tests__/tmux-session.test.js +8 -0
  225. package/dist/team/__tests__/tmux-session.test.js.map +1 -1
  226. package/dist/team/__tests__/worker-bootstrap.test.js +29 -0
  227. package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -1
  228. package/dist/team/__tests__/worktree.test.js +54 -1
  229. package/dist/team/__tests__/worktree.test.js.map +1 -1
  230. package/dist/team/api-interop.d.ts +19 -0
  231. package/dist/team/api-interop.d.ts.map +1 -0
  232. package/dist/team/api-interop.js +578 -0
  233. package/dist/team/api-interop.js.map +1 -0
  234. package/dist/team/mcp-comm.d.ts.map +1 -1
  235. package/dist/team/mcp-comm.js +32 -2
  236. package/dist/team/mcp-comm.js.map +1 -1
  237. package/dist/team/orchestrator.d.ts +1 -10
  238. package/dist/team/orchestrator.d.ts.map +1 -1
  239. package/dist/team/orchestrator.js +8 -0
  240. package/dist/team/orchestrator.js.map +1 -1
  241. package/dist/team/runtime-cli.js +14 -8
  242. package/dist/team/runtime-cli.js.map +1 -1
  243. package/dist/team/runtime.d.ts +2 -1
  244. package/dist/team/runtime.d.ts.map +1 -1
  245. package/dist/team/runtime.js +103 -30
  246. package/dist/team/runtime.js.map +1 -1
  247. package/dist/team/scaling.d.ts.map +1 -1
  248. package/dist/team/scaling.js +33 -12
  249. package/dist/team/scaling.js.map +1 -1
  250. package/dist/team/state/approvals.d.ts +25 -0
  251. package/dist/team/state/approvals.d.ts.map +1 -0
  252. package/dist/team/state/approvals.js +31 -0
  253. package/dist/team/state/approvals.js.map +1 -0
  254. package/dist/team/state/config.d.ts +2 -0
  255. package/dist/team/state/config.d.ts.map +1 -0
  256. package/dist/team/state/config.js +2 -0
  257. package/dist/team/state/config.js.map +1 -0
  258. package/dist/team/state/dispatch-lock.d.ts +3 -0
  259. package/dist/team/state/dispatch-lock.d.ts.map +1 -0
  260. package/dist/team/state/dispatch-lock.js +81 -0
  261. package/dist/team/state/dispatch-lock.js.map +1 -0
  262. package/dist/team/state/dispatch.d.ts +61 -0
  263. package/dist/team/state/dispatch.d.ts.map +1 -0
  264. package/dist/team/state/dispatch.js +158 -0
  265. package/dist/team/state/dispatch.js.map +1 -0
  266. package/dist/team/state/events.d.ts +2 -0
  267. package/dist/team/state/events.d.ts.map +1 -0
  268. package/dist/team/state/events.js +2 -0
  269. package/dist/team/state/events.js.map +1 -0
  270. package/dist/team/state/index.d.ts +11 -0
  271. package/dist/team/state/index.d.ts.map +1 -0
  272. package/dist/team/state/index.js +11 -0
  273. package/dist/team/state/index.js.map +1 -0
  274. package/dist/team/state/io.d.ts +2 -0
  275. package/dist/team/state/io.d.ts.map +1 -0
  276. package/dist/team/state/io.js +2 -0
  277. package/dist/team/state/io.js.map +1 -0
  278. package/dist/team/state/locks.d.ts +16 -0
  279. package/dist/team/state/locks.d.ts.map +1 -0
  280. package/dist/team/state/locks.js +201 -0
  281. package/dist/team/state/locks.js.map +1 -0
  282. package/dist/team/state/mailbox.d.ts +39 -0
  283. package/dist/team/state/mailbox.d.ts.map +1 -0
  284. package/dist/team/state/mailbox.js +58 -0
  285. package/dist/team/state/mailbox.js.map +1 -0
  286. package/dist/team/state/monitor.d.ts +96 -0
  287. package/dist/team/state/monitor.d.ts.map +1 -0
  288. package/dist/team/state/monitor.js +163 -0
  289. package/dist/team/state/monitor.js.map +1 -0
  290. package/dist/team/state/shutdown.d.ts +2 -0
  291. package/dist/team/state/shutdown.d.ts.map +1 -0
  292. package/dist/team/state/shutdown.js +2 -0
  293. package/dist/team/state/shutdown.js.map +1 -0
  294. package/dist/team/state/summary.d.ts +2 -0
  295. package/dist/team/state/summary.d.ts.map +1 -0
  296. package/dist/team/state/summary.js +2 -0
  297. package/dist/team/state/summary.js.map +1 -0
  298. package/dist/team/state/tasks.d.ts +49 -0
  299. package/dist/team/state/tasks.d.ts.map +1 -0
  300. package/dist/team/state/tasks.js +182 -0
  301. package/dist/team/state/tasks.js.map +1 -0
  302. package/dist/team/state/types.d.ts +281 -0
  303. package/dist/team/state/types.d.ts.map +1 -0
  304. package/dist/team/state/types.js +3 -0
  305. package/dist/team/state/types.js.map +1 -0
  306. package/dist/team/state/workers.d.ts +2 -0
  307. package/dist/team/state/workers.d.ts.map +1 -0
  308. package/dist/team/state/workers.js +2 -0
  309. package/dist/team/state/workers.js.map +1 -0
  310. package/dist/team/state-root.d.ts +5 -0
  311. package/dist/team/state-root.d.ts.map +1 -0
  312. package/dist/team/state-root.js +8 -0
  313. package/dist/team/state-root.js.map +1 -0
  314. package/dist/team/state.d.ts +4 -1
  315. package/dist/team/state.d.ts.map +1 -1
  316. package/dist/team/state.js +200 -881
  317. package/dist/team/state.js.map +1 -1
  318. package/dist/team/tmux-session.d.ts.map +1 -1
  319. package/dist/team/tmux-session.js +11 -10
  320. package/dist/team/tmux-session.js.map +1 -1
  321. package/dist/team/worker-bootstrap.d.ts.map +1 -1
  322. package/dist/team/worker-bootstrap.js +58 -26
  323. package/dist/team/worker-bootstrap.js.map +1 -1
  324. package/dist/team/worktree.d.ts.map +1 -1
  325. package/dist/team/worktree.js +43 -1
  326. package/dist/team/worktree.js.map +1 -1
  327. package/dist/utils/safe-json.d.ts +3 -0
  328. package/dist/utils/safe-json.d.ts.map +1 -0
  329. package/dist/utils/safe-json.js +19 -0
  330. package/dist/utils/safe-json.js.map +1 -0
  331. package/dist/utils/sleep.d.ts +3 -0
  332. package/dist/utils/sleep.d.ts.map +1 -0
  333. package/dist/utils/sleep.js +15 -0
  334. package/dist/utils/sleep.js.map +1 -0
  335. package/dist/visual/__tests__/verdict.test.d.ts +2 -0
  336. package/dist/visual/__tests__/verdict.test.d.ts.map +1 -0
  337. package/dist/visual/__tests__/verdict.test.js +81 -0
  338. package/dist/visual/__tests__/verdict.test.js.map +1 -0
  339. package/dist/visual/constants.d.ts +4 -0
  340. package/dist/visual/constants.d.ts.map +1 -0
  341. package/dist/visual/constants.js +3 -0
  342. package/dist/visual/constants.js.map +1 -0
  343. package/dist/visual/verdict.d.ts +17 -0
  344. package/dist/visual/verdict.d.ts.map +1 -0
  345. package/dist/visual/verdict.js +61 -0
  346. package/dist/visual/verdict.js.map +1 -0
  347. package/package.json +10 -3
  348. package/scripts/ask-claude.sh +17 -0
  349. package/scripts/ask-gemini.sh +14 -0
  350. package/scripts/demo-claude-workers.sh +241 -0
  351. package/scripts/demo-team-e2e.sh +179 -0
  352. package/scripts/fixtures/ask-advisor-stub.js +12 -0
  353. package/scripts/notify-hook/team-dispatch.js +234 -12
  354. package/scripts/notify-hook/team-leader-nudge.js +42 -2
  355. package/scripts/notify-hook/team-worker.js +63 -4
  356. package/scripts/notify-hook/visual-verdict.js +50 -1
  357. package/scripts/notify-hook.js +1 -0
  358. package/scripts/run-provider-advisor.js +179 -0
  359. package/skills/ask-claude/SKILL.md +61 -0
  360. package/skills/ask-gemini/SKILL.md +61 -0
  361. package/skills/autopilot/SKILL.md +32 -2
  362. package/skills/configure-notifications/SKILL.md +188 -186
  363. package/skills/deep-interview/SKILL.md +247 -0
  364. package/skills/omx-setup/SKILL.md +1 -1
  365. package/skills/ralph/SKILL.md +42 -11
  366. package/skills/ralplan/SKILL.md +17 -0
  367. package/skills/team/SKILL.md +64 -5
  368. package/skills/visual-verdict/SKILL.md +76 -0
  369. package/skills/web-clone/SKILL.md +366 -0
  370. package/skills/worker/SKILL.md +42 -11
  371. package/templates/AGENTS.md +9 -0
  372. package/templates/catalog-manifest.json +39 -18
  373. package/skills/configure-discord/SKILL.md +0 -256
  374. package/skills/configure-openclaw/SKILL.md +0 -267
  375. package/skills/configure-slack/SKILL.md +0 -226
  376. package/skills/configure-telegram/SKILL.md +0 -232
package/README.vi.md CHANGED
@@ -1,10 +1,60 @@
1
- # oh-my-codex (OMX) README tiếng Việt
1
+ # oh-my-codex (OMX)
2
2
 
3
- > Tài liệu đầy đủ bằng tiếng Anh: [English README](./README.md).
3
+ <p align="center">
4
+ <img src="https://yeachan-heo.github.io/oh-my-codex-website/omx-character-nobg.png" alt="oh-my-codex character" width="280">
5
+ <br>
6
+ <em>Codex của bạn không đơn độc.</em>
7
+ </p>
4
8
 
5
- OMX là lớp điều phối đa tác nhân cho OpenAI Codex CLI.
9
+ [![npm version](https://img.shields.io/npm/v/oh-my-codex)](https://www.npmjs.com/package/oh-my-codex)
10
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
11
+ [![Node.js](https://img.shields.io/badge/node-%3E%3D20-brightgreen)](https://nodejs.org)
6
12
 
7
- ## Bắt đầu nhanh
13
+ > **[Website](https://yeachan-heo.github.io/oh-my-codex-website/)** | **[Documentation](https://yeachan-heo.github.io/oh-my-codex-website/docs.html)** | **[CLI Reference](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#cli-reference)** | **[Workflows](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#workflows)** | **[GitHub](https://github.com/Yeachan-Heo/oh-my-codex)** | **[npm](https://www.npmjs.com/package/oh-my-codex)**
14
+
15
+ Lớp điều phối đa tác nhân cho [OpenAI Codex CLI](https://github.com/openai/codex).
16
+
17
+ ## Ngôn ngữ
18
+
19
+ - [English](./README.md)
20
+ - [한국어 (Korean)](./README.ko.md)
21
+ - [日本語 (Japanese)](./README.ja.md)
22
+ - [简体中文 (Chinese Simplified)](./README.zh.md)
23
+ - [繁體中文 (Chinese Traditional)](./README.zh-TW.md)
24
+ - [Tiếng Việt (Vietnamese)](./README.vi.md)
25
+ - [Español (Spanish)](./README.es.md)
26
+ - [Português (Portuguese)](./README.pt.md)
27
+ - [Русский (Russian)](./README.ru.md)
28
+ - [Türkçe (Turkish)](./README.tr.md)
29
+ - [Deutsch (German)](./README.de.md)
30
+ - [Français (French)](./README.fr.md)
31
+ - [Italiano (Italian)](./README.it.md)
32
+
33
+
34
+ OMX biến Codex từ một tác nhân phiên đơn thành một hệ thống phối hợp với:
35
+ - Role prompts (`/prompts:name`) cho các tác nhân chuyên biệt
36
+ - Workflow skills (`$name`) cho các chế độ thực thi lặp lại
37
+ - Điều phối đội ngũ trong tmux (`omx team`, `$team`)
38
+ - Trạng thái bền vững và bộ nhớ qua máy chủ MCP
39
+
40
+ ## Tại sao chọn OMX
41
+
42
+ Codex CLI mạnh mẽ cho các tác vụ trực tiếp. OMX thêm cấu trúc cho công việc lớn hơn:
43
+ - Phân tách và thực thi theo giai đoạn (`team-plan -> team-prd -> team-exec -> team-verify -> team-fix`)
44
+ - Trạng thái vòng đời chế độ bền vững (`.omx/state/`)
45
+ - Bề mặt bộ nhớ và sổ ghi chú cho phiên làm việc dài
46
+ - Điều khiển vận hành cho khởi chạy, xác minh và hủy bỏ
47
+
48
+ OMX là một tiện ích bổ sung, không phải fork. Nó sử dụng các điểm mở rộng gốc của Codex.
49
+
50
+ ## Yêu cầu hệ thống
51
+
52
+ - macOS hoặc Linux (Windows qua WSL2)
53
+ - Node.js >= 20
54
+ - Codex CLI đã cài đặt (`npm install -g @openai/codex`)
55
+ - Xác thực Codex đã cấu hình
56
+
57
+ ## Bắt đầu nhanh (3 phút)
8
58
 
9
59
  ```bash
10
60
  npm install -g oh-my-codex
@@ -12,25 +62,254 @@ omx setup
12
62
  omx doctor
13
63
  ```
14
64
 
15
- ## Tính năng chính
65
+ Cấu hình khởi chạy khuyến nghị cho môi trường tin cậy:
16
66
 
17
- - Chạy tác nhân chuyên biệt với role prompt (`/prompts:name`)
18
- - Tự động hóa workflow lặp lại bằng skill (`$name`)
19
- - Điều phối đội ngũ trong tmux (`omx team`, `$team`)
20
- - Lưu trạng thái + bộ nhớ lâu dài qua MCP servers
67
+ ```bash
68
+ omx --xhigh --madmax
69
+ ```
70
+
71
+ ## Mới trong v0.5.0
72
+
73
+ - **Thiết lập nhận biết phạm vi** qua `omx setup --scope user|project` cho các chế độ cài đặt linh hoạt.
74
+ - **Định tuyến Spark worker** qua `--spark` / `--madmax-spark` — worker của đội có thể sử dụng `gpt-5.3-codex-spark` mà không ép buộc model lãnh đạo.
75
+ - **Hợp nhất danh mục** — loại bỏ các prompt không dùng nữa (`deep-executor`, `scientist`) và 9 skill không dùng nữa để có bề mặt gọn hơn.
76
+ - **Mức độ chi tiết thông báo** cho kiểm soát chi tiết đầu ra CCNotifier.
77
+
78
+ ## Phiên đầu tiên
21
79
 
22
- ## Lệnh thường dùng
80
+ Trong Codex:
81
+
82
+ ```text
83
+ /prompts:architect "analyze current auth boundaries"
84
+ /prompts:executor "implement input validation in login"
85
+ $plan "ship OAuth callback safely"
86
+ $team 3:executor "fix all TypeScript errors"
87
+ ```
88
+
89
+ Từ terminal:
90
+
91
+ ```bash
92
+ omx team 4:executor "parallelize a multi-module refactor"
93
+ omx team status <team-name>
94
+ omx team shutdown <team-name>
95
+ ```
96
+
97
+ ## Mô hình cốt lõi
98
+
99
+ OMX cài đặt và kết nối các lớp sau:
100
+
101
+ ```text
102
+ User
103
+ -> Codex CLI
104
+ -> AGENTS.md (bộ não điều phối)
105
+ -> ~/.codex/prompts/*.md (danh mục prompt tác nhân)
106
+ -> ~/.agents/skills/*/SKILL.md (danh mục skill)
107
+ -> ~/.codex/config.toml (tính năng, thông báo, MCP)
108
+ -> .omx/ (trạng thái runtime, bộ nhớ, kế hoạch, nhật ký)
109
+ ```
110
+
111
+ ## Các lệnh chính
112
+
113
+ ```bash
114
+ omx # Khởi chạy Codex (+ HUD trong tmux khi có sẵn)
115
+ omx setup # Cài đặt prompt/skill/config theo phạm vi + dự án AGENTS.md/.omx
116
+ omx doctor # Chẩn đoán cài đặt/runtime
117
+ omx doctor --team # Chẩn đoán Team/swarm
118
+ omx team ... # Khởi động/trạng thái/tiếp tục/tắt worker tmux của đội
119
+ omx status # Hiển thị các chế độ đang hoạt động
120
+ omx cancel # Hủy các chế độ thực thi đang hoạt động
121
+ omx reasoning <mode> # low|medium|high|xhigh
122
+ omx tmux-hook ... # init|status|validate|test
123
+ omx hooks ... # init|status|validate|test (quy trình mở rộng plugin)
124
+ omx hud ... # --watch|--json|--preset
125
+ omx help
126
+ ```
127
+
128
+ ## Mở rộng Hooks (Bề mặt bổ sung)
129
+
130
+ OMX hiện bao gồm `omx hooks` cho scaffolding và xác thực plugin.
131
+
132
+ - `omx tmux-hook` vẫn được hỗ trợ và không thay đổi.
133
+ - `omx hooks` là bổ sung và không thay thế quy trình tmux-hook.
134
+ - Tệp plugin nằm tại `.omx/hooks/*.mjs`.
135
+ - Plugin tắt theo mặc định; kích hoạt bằng `OMX_HOOK_PLUGINS=1`.
136
+
137
+ Xem `docs/hooks-extension.md` cho quy trình mở rộng đầy đủ và mô hình sự kiện.
138
+
139
+ ## Cờ khởi chạy
140
+
141
+ ```bash
142
+ --yolo
143
+ --high
144
+ --xhigh
145
+ --madmax
146
+ --force
147
+ --dry-run
148
+ --verbose
149
+ --scope <user|project> # chỉ dành cho setup
150
+ ```
151
+
152
+ `--madmax` ánh xạ đến Codex `--dangerously-bypass-approvals-and-sandbox`.
153
+ Chỉ sử dụng trong môi trường sandbox tin cậy hoặc bên ngoài.
154
+
155
+ ### Chính sách workingDirectory MCP (tăng cường tùy chọn)
156
+
157
+ Theo mặc định, các công cụ MCP state/memory/trace chấp nhận `workingDirectory` do người gọi cung cấp.
158
+ Để hạn chế điều này, đặt danh sách gốc được phép:
159
+
160
+ ```bash
161
+ export OMX_MCP_WORKDIR_ROOTS="/path/to/project:/path/to/another-root"
162
+ ```
163
+
164
+ Khi được đặt, các giá trị `workingDirectory` ngoài các gốc này sẽ bị từ chối.
165
+
166
+ ## Kiểm soát Prompt Codex-First
167
+
168
+ Theo mặc định, OMX tiêm:
169
+
170
+ ```text
171
+ -c model_instructions_file="<cwd>/AGENTS.md"
172
+ ```
173
+
174
+ Điều này thêm hướng dẫn `AGENTS.md` của dự án vào lệnh khởi chạy Codex.
175
+ Mở rộng hành vi Codex, nhưng không thay thế/bỏ qua các chính sách hệ thống cốt lõi của Codex.
176
+
177
+ Điều khiển:
178
+
179
+ ```bash
180
+ OMX_BYPASS_DEFAULT_SYSTEM_PROMPT=0 omx # tắt tiêm AGENTS.md
181
+ OMX_MODEL_INSTRUCTIONS_FILE=/path/to/instructions.md omx
182
+ ```
183
+
184
+ ## Chế độ đội
185
+
186
+ Sử dụng chế độ đội cho công việc lớn được hưởng lợi từ worker song song.
187
+
188
+ Vòng đời:
189
+
190
+ ```text
191
+ start -> assign scoped lanes -> monitor -> verify terminal tasks -> shutdown
192
+ ```
193
+
194
+ Các lệnh vận hành:
23
195
 
24
196
  ```bash
25
- omx
26
- omx setup
27
- omx doctor
28
197
  omx team <args>
29
- omx status
30
- omx cancel
198
+ omx team status <team-name>
199
+ omx team resume <team-name>
200
+ omx team shutdown <team-name>
201
+ ```
202
+
203
+ Quy tắc quan trọng: không tắt khi các tác vụ vẫn đang ở trạng thái `in_progress` trừ khi đang hủy bỏ.
204
+
205
+ ### Chính sách dọn dẹp Ralph
206
+
207
+ Khi đội chạy trong chế độ ralph (`omx team ralph ...`), việc dọn dẹp khi tắt
208
+ áp dụng chính sách chuyên dụng khác với đường dẫn thông thường:
209
+
210
+ | Hành vi | Đội thông thường | Đội Ralph |
211
+ |---|---|---|
212
+ | Tắt cưỡng bức khi lỗi | Ném `shutdown_gate_blocked` | Bỏ qua cổng, ghi nhật ký sự kiện `ralph_cleanup_policy` |
213
+ | Xóa nhánh tự động | Xóa nhánh worktree khi rollback | Giữ lại nhánh (`skipBranchDeletion`) |
214
+ | Ghi nhật ký hoàn thành | Sự kiện `shutdown_gate` tiêu chuẩn | Sự kiện `ralph_cleanup_summary` bổ sung với phân tích tác vụ |
215
+
216
+ Chính sách Ralph được phát hiện tự động từ trạng thái chế độ đội (`linked_ralph`) hoặc
217
+ có thể được truyền rõ ràng qua `omx team shutdown <name> --ralph`.
218
+
219
+ Chọn Worker CLI cho worker của đội:
220
+
221
+ ```bash
222
+ OMX_TEAM_WORKER_CLI=auto # mặc định; sử dụng claude khi worker --model chứa "claude"
223
+ OMX_TEAM_WORKER_CLI=codex # ép buộc worker Codex CLI
224
+ OMX_TEAM_WORKER_CLI=claude # ép buộc worker Claude CLI
225
+ OMX_TEAM_WORKER_CLI_MAP=codex,codex,claude,claude # hỗn hợp CLI theo worker (độ dài=1 hoặc số worker)
226
+ OMX_TEAM_AUTO_INTERRUPT_RETRY=0 # tùy chọn: tắt fallback thích ứng queue->resend
31
227
  ```
32
228
 
33
- ## Tìm hiểu thêm
229
+ Lưu ý:
230
+ - Tham số khởi chạy worker vẫn được chia sẻ qua `OMX_TEAM_WORKER_LAUNCH_ARGS`.
231
+ - `OMX_TEAM_WORKER_CLI_MAP` ghi đè `OMX_TEAM_WORKER_CLI` cho lựa chọn theo worker.
232
+ - Gửi trigger sử dụng thử lại thích ứng theo mặc định (queue/submit, sau đó fallback an toàn clear-line+resend khi cần).
233
+ - Trong chế độ Claude worker, OMX khởi chạy worker dưới dạng `claude` thuần túy (không có tham số khởi chạy thêm) và bỏ qua các ghi đè rõ ràng `--model` / `--config` / `--effort` để Claude sử dụng `settings.json` mặc định.
234
+
235
+ ## `omx setup` ghi những gì
236
+
237
+ - `.omx/setup-scope.json` (phạm vi cài đặt được lưu trữ)
238
+ - Cài đặt phụ thuộc phạm vi:
239
+ - `user`: `~/.codex/prompts/`, `~/.agents/skills/`, `~/.codex/config.toml`, `~/.omx/agents/`
240
+ - `project`: `./.codex/prompts/`, `./.agents/skills/`, `./.codex/config.toml`, `./.omx/agents/`
241
+ - Hành vi khởi chạy: nếu phạm vi được lưu trữ là `project`, khởi chạy `omx` tự động sử dụng `CODEX_HOME=./.codex` (trừ khi `CODEX_HOME` đã được đặt).
242
+ - `AGENTS.md` hiện có được giữ nguyên theo mặc định. Trong các lần chạy TTY tương tác, setup hỏi trước khi ghi đè; `--force` ghi đè không hỏi (kiểm tra an toàn phiên hoạt động vẫn áp dụng).
243
+ - Cập nhật `config.toml` (cho cả hai phạm vi):
244
+ - `notify = ["node", "..."]`
245
+ - `model_reasoning_effort = "high"`
246
+ - `developer_instructions = "..."`
247
+ - `[features] multi_agent = true, child_agents_md = true`
248
+ - Mục máy chủ MCP (`omx_state`, `omx_memory`, `omx_code_intel`, `omx_trace`)
249
+ - `[tui] status_line`
250
+ - `AGENTS.md` của dự án
251
+ - Thư mục `.omx/` runtime và cấu hình HUD
252
+
253
+ ## Tác nhân và skill
254
+
255
+ - Prompt: `prompts/*.md` (cài vào `~/.codex/prompts/` cho `user`, `./.codex/prompts/` cho `project`)
256
+ - Skill: `skills/*/SKILL.md` (cài vào `~/.agents/skills/` cho `user`, `./.agents/skills/` cho `project`)
257
+
258
+ Ví dụ:
259
+ - Tác nhân: `architect`, `planner`, `executor`, `debugger`, `verifier`, `security-reviewer`
260
+ - Skill: `autopilot`, `plan`, `team`, `ralph`, `ultrawork`, `cancel`
261
+
262
+ ## Cấu trúc dự án
263
+
264
+ ```text
265
+ oh-my-codex/
266
+ bin/omx.js
267
+ src/
268
+ cli/
269
+ team/
270
+ mcp/
271
+ hooks/
272
+ hud/
273
+ config/
274
+ modes/
275
+ notifications/
276
+ verification/
277
+ prompts/
278
+ skills/
279
+ templates/
280
+ scripts/
281
+ ```
282
+
283
+ ## Phát triển
284
+
285
+ ```bash
286
+ git clone https://github.com/Yeachan-Heo/oh-my-codex.git
287
+ cd oh-my-codex
288
+ npm install
289
+ npm run build
290
+ npm test
291
+ ```
292
+
293
+ ## Tài liệu
294
+
295
+ - **[Tài liệu đầy đủ](https://yeachan-heo.github.io/oh-my-codex-website/docs.html)** — Hướng dẫn hoàn chỉnh
296
+ - **[Tham chiếu CLI](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#cli-reference)** — Tất cả lệnh `omx`, cờ và công cụ
297
+ - **[Hướng dẫn thông báo](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#notifications)** — Cài đặt Discord, Telegram, Slack và webhook
298
+ - **[Quy trình công việc khuyến nghị](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#workflows)** — Chuỗi skill đã thử nghiệm thực chiến cho các tác vụ phổ biến
299
+ - **[Ghi chú phát hành](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#release-notes)** — Tính năng mới trong mỗi phiên bản
300
+
301
+ ## Ghi chú
302
+
303
+ - Nhật ký thay đổi đầy đủ: `CHANGELOG.md`
304
+ - Hướng dẫn di chuyển (sau v0.4.4 mainline): `docs/migration-mainline-post-v0.4.4.md`
305
+ - Ghi chú về độ bao phủ và tương đương: `COVERAGE.md`
306
+ - Quy trình mở rộng hook: `docs/hooks-extension.md`
307
+ - Chi tiết cài đặt và đóng góp: `CONTRIBUTING.md`
308
+
309
+ ## Lời cảm ơn
310
+
311
+ Lấy cảm hứng từ [oh-my-claudecode](https://github.com/Yeachan-Heo/oh-my-claudecode), được điều chỉnh cho Codex CLI.
312
+
313
+ ## Giấy phép
34
314
 
35
- - Tài liệu chính: [README.md](./README.md)
36
- - Website: https://yeachan-heo.github.io/oh-my-codex-website/
315
+ MIT
@@ -0,0 +1,362 @@
1
+ # oh-my-codex (OMX)
2
+
3
+ <p align="center">
4
+ <img src="https://yeachan-heo.github.io/oh-my-codex-website/omx-character-nobg.png" alt="oh-my-codex character" width="280">
5
+ <br>
6
+ <em>你的 Codex,從不孤行。</em>
7
+ </p>
8
+
9
+ [![npm version](https://img.shields.io/npm/v/oh-my-codex)](https://www.npmjs.com/package/oh-my-codex)
10
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
11
+ [![Node.js](https://img.shields.io/badge/node-%3E%3D20-brightgreen)](https://nodejs.org)
12
+
13
+ > **[官方網站](https://yeachan-heo.github.io/oh-my-codex-website/)** | **[說明文件](https://yeachan-heo.github.io/oh-my-codex-website/docs.html)** | **[CLI 參考手冊](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#cli-reference)** | **[工作流程](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#workflows)** | **[GitHub](https://github.com/Yeachan-Heo/oh-my-codex)** | **[npm](https://www.npmjs.com/package/oh-my-codex)**
14
+
15
+ [OpenAI Codex CLI](https://github.com/openai/codex) 的多智能體編排層。
16
+
17
+ ## 語言
18
+
19
+ - [English](./README.md)
20
+ - [한국어 (Korean)](./README.ko.md)
21
+ - [日本語 (Japanese)](./README.ja.md)
22
+ - [简体中文 (Chinese Simplified)](./README.zh.md)
23
+ - [繁體中文 (Chinese Traditional)](./README.zh-TW.md)
24
+ - [Tiếng Việt (Vietnamese)](./README.vi.md)
25
+ - [Español (Spanish)](./README.es.md)
26
+ - [Português (Portuguese)](./README.pt.md)
27
+ - [Русский (Russian)](./README.ru.md)
28
+ - [Türkçe (Turkish)](./README.tr.md)
29
+ - [Deutsch (German)](./README.de.md)
30
+ - [Français (French)](./README.fr.md)
31
+ - [Italiano (Italian)](./README.it.md)
32
+
33
+
34
+ OMX 讓 Codex 從單一會話代理進化為協同運作的系統,具備以下能力:
35
+ - 角色提示詞 (`/prompts:name`),賦予代理各司其職的專業特質
36
+ - 工作流程技能 (`$name`),實現可重複執行的作業模式
37
+ - 透過 tmux 互動模式(預設)或非 tmux 提示模式進行團隊編排 (`omx team`、`$team`)
38
+ - 透過 MCP 伺服器實現持久化狀態與記憶
39
+
40
+ ## 為何選擇 OMX
41
+
42
+ Codex CLI 擅長處理直接明確的任務。OMX 為更大規模的工作注入結構:
43
+ - 分解任務並分階段執行 (`team-plan -> team-prd -> team-exec -> team-verify -> team-fix`)
44
+ - 持久化的模式生命週期狀態 (`.omx/state/`)
45
+ - 長時間運行會話所需的記憶與備忘錄介面
46
+ - 啟動、驗證與取消的作業控制
47
+
48
+ OMX 是插件,而非分支版本。它完全運用 Codex 的原生擴充點。
49
+
50
+ ## 定位:CLI 優先的編排層,MCP 支援的狀態管理
51
+
52
+ OMX 最適合作為**外層 CLI 編排層**使用:
53
+ - **控制平面(CLI/執行期):** `omx team`、tmux 工作進程、生命週期指令
54
+ - **能力/狀態平面(MCP):** 任務狀態、信箱、記憶、診斷工具
55
+
56
+ 實際模式分工:
57
+ - **`$team` / `omx team`**:耐久、可檢視、可恢復的多工作進程執行
58
+ - **`$ultrawork`**:針對獨立任務的輕量平行扇出(元件模式)
59
+
60
+ 低 Token 消耗的團隊設定範例:
61
+
62
+ ```bash
63
+ OMX_TEAM_WORKER_CLI=codex \
64
+ OMX_TEAM_WORKER_LAUNCH_ARGS='--model gpt-5.3-codex-spark -c model_reasoning_effort="low"' \
65
+ omx team 2:explore "短暫有界的分析任務"
66
+ ```
67
+
68
+ ## 系統需求
69
+
70
+ - macOS 或 Linux(Windows 可透過 WSL2 使用)
71
+ - Node.js >= 20(CI 驗證 Node 20 及目前 LTS,目前為 Node 22)
72
+ - 已安裝 Codex CLI(`npm install -g @openai/codex`)
73
+ - 已完成 Codex 身份驗證設定
74
+
75
+ ## 快速入門(3 分鐘)
76
+
77
+ ```bash
78
+ npm install -g oh-my-codex
79
+ omx setup
80
+ omx doctor
81
+ ```
82
+
83
+ 推薦的信任環境啟動設定:
84
+
85
+ ```bash
86
+ omx --xhigh --madmax
87
+ ```
88
+
89
+ ## v0.5.0 新功能
90
+
91
+ - 透過 `omx setup --scope user|project` 實現**範圍感知設定** — 彈性的安裝模式。
92
+ - 透過 `--spark` / `--madmax-spark` 實現 **Spark 工作進程路由** — 團隊工作進程可使用 `gpt-5.3-codex-spark`,無需強制套用領導者模型。
93
+ - **目錄整合** — 移除已棄用的提示詞(`deep-executor`、`scientist`)及 9 個已棄用的技能,讓介面更為精簡。
94
+ - **通知詳細程度等級** — 對 CCNotifier 輸出進行精細控制。
95
+
96
+ ## 首次會話
97
+
98
+ 在 Codex 內部:
99
+
100
+ ```text
101
+ /prompts:architect "analyze current auth boundaries"
102
+ /prompts:executor "implement input validation in login"
103
+ $plan "ship OAuth callback safely"
104
+ $team 3:executor "fix all TypeScript errors"
105
+ ```
106
+
107
+ 從終端機:
108
+
109
+ ```bash
110
+ omx team 4:executor "parallelize a multi-module refactor"
111
+ omx team status <team-name>
112
+ omx team shutdown <team-name>
113
+ ```
114
+
115
+ ## 核心模型
116
+
117
+ OMX 安裝並串接以下各層:
118
+
119
+ ```text
120
+ 使用者
121
+ -> Codex CLI
122
+ -> AGENTS.md(編排大腦)
123
+ -> ~/.codex/prompts/*.md(代理提示詞目錄)
124
+ -> ~/.agents/skills/*/SKILL.md(技能目錄)
125
+ -> ~/.codex/config.toml(功能、通知、MCP)
126
+ -> .omx/(執行期狀態、記憶、計畫、日誌)
127
+ ```
128
+
129
+ ## 主要指令
130
+
131
+ ```bash
132
+ omx # 啟動 Codex(可用時在 tmux 中附帶 HUD)
133
+ omx setup # 依範圍安裝提示詞/技能/設定 + 專案 AGENTS.md/.omx
134
+ omx doctor # 安裝/執行期診斷
135
+ omx doctor --team # 團隊/群集診斷
136
+ omx ask ... # 詢問本地供應商顧問(claude|gemini),結果寫入 .omx/artifacts/*
137
+ omx team ... # 啟動/狀態/恢復/關閉團隊工作進程(預設為互動式 tmux)
138
+ omx status # 顯示目前活動模式
139
+ omx cancel # 取消活動中的執行模式
140
+ omx reasoning <mode> # low|medium|high|xhigh
141
+ omx tmux-hook ... # init|status|validate|test
142
+ omx hooks ... # init|status|validate|test(插件擴充工作流程)
143
+ omx hud ... # --watch|--json|--preset
144
+ omx help
145
+ ```
146
+
147
+ Ask 指令範例:
148
+
149
+ ```bash
150
+ omx ask claude "review this diff"
151
+ omx ask gemini "brainstorm alternatives"
152
+ omx ask claude --agent-prompt executor "implement feature X with tests"
153
+ omx ask gemini --agent-prompt=planner --prompt "draft a rollout plan"
154
+ # 底層供應商 CLI 說明中的旗標:
155
+ # claude -p|--print "<prompt>"
156
+ # gemini -p|--prompt "<prompt>"
157
+ ```
158
+
159
+ 非 tmux 團隊啟動(進階):
160
+
161
+ ```bash
162
+ OMX_TEAM_WORKER_LAUNCH_MODE=prompt omx team 2:executor "task"
163
+ ```
164
+
165
+ ## Hooks 擴充(附加介面)
166
+
167
+ OMX 現已包含 `omx hooks`,用於插件鷹架建立與驗證。
168
+
169
+ - `omx tmux-hook` 持續受支援,行為不變。
170
+ - `omx hooks` 屬於附加功能,不會取代 tmux-hook 工作流程。
171
+ - 插件檔案位於 `.omx/hooks/*.mjs`。
172
+ - 插件預設關閉;使用 `OMX_HOOK_PLUGINS=1` 啟用。
173
+
174
+ 完整的擴充工作流程與事件模型,請參閱 `docs/hooks-extension.md`。
175
+
176
+ ## 啟動旗標
177
+
178
+ ```bash
179
+ --yolo
180
+ --high
181
+ --xhigh
182
+ --madmax
183
+ --force
184
+ --dry-run
185
+ --verbose
186
+ --scope <user|project> # 僅用於 setup
187
+ ```
188
+
189
+ `--madmax` 對應 Codex 的 `--dangerously-bypass-approvals-and-sandbox`。
190
+ 僅在信任環境或外部沙箱環境中使用。
191
+
192
+ ### MCP workingDirectory 策略(選用強化)
193
+
194
+ 預設情況下,MCP 狀態/記憶/追蹤工具接受呼叫方提供的 `workingDirectory`。
195
+ 若要限制此行為,請設定允許的根目錄清單:
196
+
197
+ ```bash
198
+ export OMX_MCP_WORKDIR_ROOTS="/path/to/project:/path/to/another-root"
199
+ ```
200
+
201
+ 設定後,超出這些根目錄的 `workingDirectory` 值將被拒絕。
202
+
203
+ ## Codex 優先的提示詞控制
204
+
205
+ 預設情況下,OMX 注入:
206
+
207
+ ```text
208
+ -c model_instructions_file="<cwd>/AGENTS.md"
209
+ ```
210
+
211
+ 這會將專案的 `AGENTS.md` 指引加入 Codex 啟動指令中。
212
+ 此舉擴充了 Codex 的行為,但不會取代或繞過 Codex 核心系統策略。
213
+
214
+ 控制方式:
215
+
216
+ ```bash
217
+ OMX_BYPASS_DEFAULT_SYSTEM_PROMPT=0 omx # 停用 AGENTS.md 注入
218
+ OMX_MODEL_INSTRUCTIONS_FILE=/path/to/instructions.md omx
219
+ ```
220
+
221
+ ## 團隊模式
222
+
223
+ 對於能從平行工作進程獲益的大規模工作,請使用團隊模式。
224
+
225
+ 生命週期:
226
+
227
+ ```text
228
+ 啟動 -> 分配有界通道 -> 監控 -> 驗證終端任務 -> 關閉
229
+ ```
230
+
231
+ 作業指令:
232
+
233
+ ```bash
234
+ omx team <args>
235
+ omx team status <team-name>
236
+ omx team resume <team-name>
237
+ omx team shutdown <team-name>
238
+ ```
239
+
240
+ 重要規則:除非要中止,否則請勿在任務仍處於 `in_progress` 狀態時關閉。
241
+
242
+ ### Ralph 清理策略
243
+
244
+ 當團隊以 ralph 模式執行(`omx team ralph ...`)時,關閉清理
245
+ 會套用與一般路徑不同的專屬策略:
246
+
247
+ | 行為 | 一般團隊 | Ralph 團隊 |
248
+ |---|---|---|
249
+ | 失敗時強制關閉 | 拋出 `shutdown_gate_blocked` | 略過閘門,記錄 `ralph_cleanup_policy` 事件 |
250
+ | 自動刪除分支 | 復原時刪除 worktree 分支 | 保留分支(`skipBranchDeletion`) |
251
+ | 完成日誌 | 標準 `shutdown_gate` 事件 | 附帶任務分解的 `ralph_cleanup_summary` 事件 |
252
+
253
+ Ralph 策略會從團隊模式狀態(`linked_ralph`)自動偵測,
254
+ 也可透過 `omx team shutdown <name> --ralph` 明確傳遞。
255
+
256
+ 團隊工作進程的 Worker CLI 選擇:
257
+
258
+ ```bash
259
+ OMX_TEAM_WORKER_CLI=auto # 預設;當 worker --model 包含 "claude" 時使用 claude
260
+ OMX_TEAM_WORKER_CLI=codex # 強制使用 Codex CLI 工作進程
261
+ OMX_TEAM_WORKER_CLI=claude # 強制使用 Claude CLI 工作進程
262
+ OMX_TEAM_WORKER_CLI_MAP=codex,codex,claude,claude # 每個工作進程的 CLI 混合(長度為 1 或等於工作進程數量)
263
+ OMX_TEAM_AUTO_INTERRUPT_RETRY=0 # 選用:停用自適應 queue->resend 回退機制
264
+ ```
265
+
266
+ 注意事項:
267
+ - 工作進程啟動參數仍透過 `OMX_TEAM_WORKER_LAUNCH_ARGS` 共享。
268
+ - `OMX_TEAM_WORKER_CLI_MAP` 會覆寫 `OMX_TEAM_WORKER_CLI`,以實現每個工作進程的個別選擇。
269
+ - 觸發提交預設使用自適應重試(queue/submit,必要時採用安全的清除行 + 重傳回退)。
270
+ - 在 Claude 工作進程模式下,OMX 以純 `claude` 啟動工作進程(無額外啟動參數),並忽略明確的 `--model` / `--config` / `--effort` 覆寫,讓 Claude 使用預設的 `settings.json`。
271
+
272
+ ## `omx setup` 寫入的內容
273
+
274
+ - `.omx/setup-scope.json`(持久化的設定範圍)
275
+ - 依範圍的安裝內容:
276
+ - `user`:`~/.codex/prompts/`、`~/.agents/skills/`、`~/.codex/config.toml`、`~/.omx/agents/`
277
+ - `project`:`./.codex/prompts/`、`./.agents/skills/`、`./.codex/config.toml`、`./.omx/agents/`
278
+ - 啟動行為:若持久化範圍為 `project`,`omx` 啟動時自動使用 `CODEX_HOME=./.codex`(除非已設定 `CODEX_HOME`)。
279
+ - 現有的 `AGENTS.md` 預設會保留。在互動式 TTY 執行時,setup 會在覆寫前詢問確認;`--force` 則不詢問直接覆寫(仍適用活動會話安全檢查)。
280
+ - `config.toml` 更新(兩種範圍均適用):
281
+ - `notify = ["node", "..."]`
282
+ - `model_reasoning_effort = "high"`
283
+ - `developer_instructions = "..."`
284
+ - `[features] multi_agent = true, child_agents_md = true`
285
+ - MCP 伺服器項目(`omx_state`、`omx_memory`、`omx_code_intel`、`omx_trace`)
286
+ - `[tui] status_line`
287
+ - 專案 `AGENTS.md`
288
+ - `.omx/` 執行期目錄與 HUD 設定
289
+
290
+ ## 代理與技能
291
+
292
+ - 提示詞:`prompts/*.md`(`user` 安裝至 `~/.codex/prompts/`,`project` 安裝至 `./.codex/prompts/`)
293
+ - 技能:`skills/*/SKILL.md`(`user` 安裝至 `~/.agents/skills/`,`project` 安裝至 `./.agents/skills/`)
294
+
295
+ 範例:
296
+ - 代理:`architect`、`planner`、`executor`、`debugger`、`verifier`、`security-reviewer`
297
+ - 技能:`autopilot`、`plan`、`team`、`ralph`、`ultrawork`、`cancel`
298
+
299
+ ### 視覺品管迴圈(`$visual-verdict`)
300
+
301
+ 當任務需要視覺保真度驗證(參考圖片 + 生成截圖)時,請使用 `$visual-verdict`。
302
+
303
+ - 回傳結構化 JSON:`score`、`verdict`、`category_match`、`differences[]`、`suggestions[]`、`reasoning`
304
+ - 建議通過門檻:**90 分以上**
305
+ - 對於視覺任務,在每次下一輪編輯前先執行 `$visual-verdict`
306
+ - 使用像素差異 / pixelmatch 疊加圖作為**輔助除錯工具**(而非主要通過/失敗判斷依據)
307
+
308
+ ## 專案結構
309
+
310
+ ```text
311
+ oh-my-codex/
312
+ bin/omx.js
313
+ src/
314
+ cli/
315
+ team/
316
+ mcp/
317
+ hooks/
318
+ hud/
319
+ config/
320
+ modes/
321
+ notifications/
322
+ verification/
323
+ prompts/
324
+ skills/
325
+ templates/
326
+ scripts/
327
+ ```
328
+
329
+ ## 開發
330
+
331
+ ```bash
332
+ git clone https://github.com/Yeachan-Heo/oh-my-codex.git
333
+ cd oh-my-codex
334
+ npm install
335
+ npm run lint
336
+ npm run build
337
+ npm test
338
+ ```
339
+
340
+ ## 說明文件
341
+
342
+ - **[完整說明文件](https://yeachan-heo.github.io/oh-my-codex-website/docs.html)** — 完整指南
343
+ - **[CLI 參考手冊](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#cli-reference)** — 所有 `omx` 指令、旗標與工具
344
+ - **[通知設定指南](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#notifications)** — Discord、Telegram、Slack 及 Webhook 設定
345
+ - **[推薦工作流程](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#workflows)** — 實戰驗證的技能鏈,適用常見任務
346
+ - **[版本發行說明](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#release-notes)** — 每個版本的新功能
347
+
348
+ ## 附註
349
+
350
+ - 完整變更日誌:`CHANGELOG.md`
351
+ - 遷移指南(v0.4.4 後的主線版本):`docs/migration-mainline-post-v0.4.4.md`
352
+ - 覆蓋率與同等性說明:`COVERAGE.md`
353
+ - Hook 擴充工作流程:`docs/hooks-extension.md`
354
+ - 設定與貢獻詳情:`CONTRIBUTING.md`
355
+
356
+ ## 致謝
357
+
358
+ 靈感來自 [oh-my-claudecode](https://github.com/Yeachan-Heo/oh-my-claudecode),為 Codex CLI 量身改編。
359
+
360
+ ## 授權條款
361
+
362
+ MIT