oh-my-codex 0.7.5 → 0.8.0

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 (374) hide show
  1. package/README.de.md +314 -0
  2. package/README.es.md +295 -17
  3. package/README.fr.md +314 -0
  4. package/README.it.md +314 -0
  5. package/README.ja.md +296 -18
  6. package/README.ko.md +295 -17
  7. package/README.md +68 -3
  8. package/README.pt.md +295 -17
  9. package/README.ru.md +295 -17
  10. package/README.tr.md +314 -0
  11. package/README.vi.md +296 -18
  12. package/README.zh.md +292 -17
  13. package/dist/catalog/__tests__/generator.test.js +2 -0
  14. package/dist/catalog/__tests__/generator.test.js.map +1 -1
  15. package/dist/catalog/__tests__/schema.test.js +7 -0
  16. package/dist/catalog/__tests__/schema.test.js.map +1 -1
  17. package/dist/cli/__tests__/ask.test.d.ts +2 -0
  18. package/dist/cli/__tests__/ask.test.d.ts.map +1 -0
  19. package/dist/cli/__tests__/ask.test.js +236 -0
  20. package/dist/cli/__tests__/ask.test.js.map +1 -0
  21. package/dist/cli/__tests__/doctor-warning-copy.test.d.ts +2 -0
  22. package/dist/cli/__tests__/doctor-warning-copy.test.d.ts.map +1 -0
  23. package/dist/cli/__tests__/doctor-warning-copy.test.js +45 -0
  24. package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -0
  25. package/dist/cli/__tests__/index.test.js +43 -1
  26. package/dist/cli/__tests__/index.test.js.map +1 -1
  27. package/dist/cli/__tests__/ralph-prd-deep-interview.test.d.ts +2 -0
  28. package/dist/cli/__tests__/ralph-prd-deep-interview.test.d.ts.map +1 -0
  29. package/dist/cli/__tests__/ralph-prd-deep-interview.test.js +15 -0
  30. package/dist/cli/__tests__/ralph-prd-deep-interview.test.js.map +1 -0
  31. package/dist/cli/__tests__/ralph.test.d.ts +2 -0
  32. package/dist/cli/__tests__/ralph.test.d.ts.map +1 -0
  33. package/dist/cli/__tests__/ralph.test.js +40 -0
  34. package/dist/cli/__tests__/ralph.test.js.map +1 -0
  35. package/dist/cli/__tests__/setup-scope.test.js +2 -0
  36. package/dist/cli/__tests__/setup-scope.test.js.map +1 -1
  37. package/dist/cli/__tests__/team-decompose.test.d.ts +2 -0
  38. package/dist/cli/__tests__/team-decompose.test.d.ts.map +1 -0
  39. package/dist/cli/__tests__/team-decompose.test.js +67 -0
  40. package/dist/cli/__tests__/team-decompose.test.js.map +1 -0
  41. package/dist/cli/__tests__/version.test.d.ts +2 -0
  42. package/dist/cli/__tests__/version.test.d.ts.map +1 -0
  43. package/dist/cli/__tests__/version.test.js +21 -0
  44. package/dist/cli/__tests__/version.test.js.map +1 -0
  45. package/dist/cli/ask.d.ts +13 -0
  46. package/dist/cli/ask.d.ts.map +1 -0
  47. package/dist/cli/ask.js +174 -0
  48. package/dist/cli/ask.js.map +1 -0
  49. package/dist/cli/constants.d.ts +10 -0
  50. package/dist/cli/constants.d.ts.map +1 -0
  51. package/dist/cli/constants.js +10 -0
  52. package/dist/cli/constants.js.map +1 -0
  53. package/dist/cli/doctor.js +16 -5
  54. package/dist/cli/doctor.js.map +1 -1
  55. package/dist/cli/index.d.ts +7 -1
  56. package/dist/cli/index.d.ts.map +1 -1
  57. package/dist/cli/index.js +117 -43
  58. package/dist/cli/index.js.map +1 -1
  59. package/dist/cli/ralph.d.ts +4 -0
  60. package/dist/cli/ralph.d.ts.map +1 -1
  61. package/dist/cli/ralph.js +89 -13
  62. package/dist/cli/ralph.js.map +1 -1
  63. package/dist/cli/setup.js +1 -1
  64. package/dist/cli/setup.js.map +1 -1
  65. package/dist/cli/team.d.ts +18 -0
  66. package/dist/cli/team.d.ts.map +1 -1
  67. package/dist/cli/team.js +108 -16
  68. package/dist/cli/team.js.map +1 -1
  69. package/dist/config/generator.d.ts.map +1 -1
  70. package/dist/config/generator.js +8 -0
  71. package/dist/config/generator.js.map +1 -1
  72. package/dist/hooks/__tests__/deep-interview-contract.test.d.ts +2 -0
  73. package/dist/hooks/__tests__/deep-interview-contract.test.d.ts.map +1 -0
  74. package/dist/hooks/__tests__/deep-interview-contract.test.js +55 -0
  75. package/dist/hooks/__tests__/deep-interview-contract.test.js.map +1 -0
  76. package/dist/hooks/__tests__/emulator.test.js +6 -0
  77. package/dist/hooks/__tests__/emulator.test.js.map +1 -1
  78. package/dist/hooks/__tests__/keyword-detector.test.js +44 -22
  79. package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
  80. package/dist/hooks/__tests__/notify-hook-session-scope.test.js +59 -0
  81. package/dist/hooks/__tests__/notify-hook-session-scope.test.js.map +1 -1
  82. package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js +88 -0
  83. package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js.map +1 -1
  84. package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js +199 -0
  85. package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js.map +1 -1
  86. package/dist/hooks/__tests__/notify-hook-visual-verdict.test.d.ts +11 -0
  87. package/dist/hooks/__tests__/notify-hook-visual-verdict.test.d.ts.map +1 -0
  88. package/dist/hooks/__tests__/notify-hook-visual-verdict.test.js +266 -0
  89. package/dist/hooks/__tests__/notify-hook-visual-verdict.test.js.map +1 -0
  90. package/dist/hooks/__tests__/openclaw-setup-contract.test.d.ts +2 -0
  91. package/dist/hooks/__tests__/openclaw-setup-contract.test.d.ts.map +1 -0
  92. package/dist/hooks/__tests__/openclaw-setup-contract.test.js +51 -0
  93. package/dist/hooks/__tests__/openclaw-setup-contract.test.js.map +1 -0
  94. package/dist/hooks/__tests__/pre-context-gate-skills.test.d.ts +2 -0
  95. package/dist/hooks/__tests__/pre-context-gate-skills.test.d.ts.map +1 -0
  96. package/dist/hooks/__tests__/pre-context-gate-skills.test.js +34 -0
  97. package/dist/hooks/__tests__/pre-context-gate-skills.test.js.map +1 -0
  98. package/dist/hooks/__tests__/tmux-hook-engine.test.js +36 -1
  99. package/dist/hooks/__tests__/tmux-hook-engine.test.js.map +1 -1
  100. package/dist/hooks/__tests__/visual-verdict-loop.test.d.ts +2 -0
  101. package/dist/hooks/__tests__/visual-verdict-loop.test.d.ts.map +1 -0
  102. package/dist/hooks/__tests__/visual-verdict-loop.test.js +35 -0
  103. package/dist/hooks/__tests__/visual-verdict-loop.test.js.map +1 -0
  104. package/dist/hooks/agents-overlay.d.ts.map +1 -1
  105. package/dist/hooks/agents-overlay.js +18 -16
  106. package/dist/hooks/agents-overlay.js.map +1 -1
  107. package/dist/hooks/codebase-map.d.ts.map +1 -1
  108. package/dist/hooks/codebase-map.js +6 -2
  109. package/dist/hooks/codebase-map.js.map +1 -1
  110. package/dist/hooks/emulator.d.ts.map +1 -1
  111. package/dist/hooks/emulator.js +2 -0
  112. package/dist/hooks/emulator.js.map +1 -1
  113. package/dist/hooks/extensibility/sdk.d.ts.map +1 -1
  114. package/dist/hooks/extensibility/sdk.js +2 -1
  115. package/dist/hooks/extensibility/sdk.js.map +1 -1
  116. package/dist/hooks/keyword-registry.d.ts.map +1 -1
  117. package/dist/hooks/keyword-registry.js +6 -0
  118. package/dist/hooks/keyword-registry.js.map +1 -1
  119. package/dist/hud/index.d.ts.map +1 -1
  120. package/dist/hud/index.js +2 -24
  121. package/dist/hud/index.js.map +1 -1
  122. package/dist/mcp/__tests__/team-server-cleanup.test.d.ts +2 -0
  123. package/dist/mcp/__tests__/team-server-cleanup.test.d.ts.map +1 -0
  124. package/dist/mcp/__tests__/team-server-cleanup.test.js +219 -0
  125. package/dist/mcp/__tests__/team-server-cleanup.test.js.map +1 -0
  126. package/dist/mcp/bootstrap.d.ts +1 -1
  127. package/dist/mcp/bootstrap.d.ts.map +1 -1
  128. package/dist/mcp/bootstrap.js +1 -0
  129. package/dist/mcp/bootstrap.js.map +1 -1
  130. package/dist/mcp/code-intel-server.d.ts.map +1 -1
  131. package/dist/mcp/code-intel-server.js +18 -8
  132. package/dist/mcp/code-intel-server.js.map +1 -1
  133. package/dist/mcp/memory-server.js +72 -11
  134. package/dist/mcp/memory-server.js.map +1 -1
  135. package/dist/mcp/state-paths.d.ts.map +1 -1
  136. package/dist/mcp/state-paths.js +4 -1
  137. package/dist/mcp/state-paths.js.map +1 -1
  138. package/dist/mcp/state-server.d.ts.map +1 -1
  139. package/dist/mcp/state-server.js +18 -5
  140. package/dist/mcp/state-server.js.map +1 -1
  141. package/dist/mcp/team-server.d.ts +24 -0
  142. package/dist/mcp/team-server.d.ts.map +1 -0
  143. package/dist/mcp/team-server.js +425 -0
  144. package/dist/mcp/team-server.js.map +1 -0
  145. package/dist/mcp/trace-server.d.ts.map +1 -1
  146. package/dist/mcp/trace-server.js +8 -3
  147. package/dist/mcp/trace-server.js.map +1 -1
  148. package/dist/notifications/__tests__/verbosity.test.js +35 -0
  149. package/dist/notifications/__tests__/verbosity.test.js.map +1 -1
  150. package/dist/notifications/config.d.ts.map +1 -1
  151. package/dist/notifications/config.js +12 -3
  152. package/dist/notifications/config.js.map +1 -1
  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/reply-listener.d.ts.map +1 -1
  157. package/dist/notifications/reply-listener.js +6 -2
  158. package/dist/notifications/reply-listener.js.map +1 -1
  159. package/dist/notifications/session-registry.d.ts.map +1 -1
  160. package/dist/notifications/session-registry.js +2 -2
  161. package/dist/notifications/session-registry.js.map +1 -1
  162. package/dist/notifications/tmux.d.ts.map +1 -1
  163. package/dist/notifications/tmux.js +13 -4
  164. package/dist/notifications/tmux.js.map +1 -1
  165. package/dist/notifications/types.d.ts +4 -0
  166. package/dist/notifications/types.d.ts.map +1 -1
  167. package/dist/openclaw/__tests__/index.test.js +40 -0
  168. package/dist/openclaw/__tests__/index.test.js.map +1 -1
  169. package/dist/openclaw/dispatcher.d.ts.map +1 -1
  170. package/dist/openclaw/dispatcher.js +5 -2
  171. package/dist/openclaw/dispatcher.js.map +1 -1
  172. package/dist/openclaw/index.d.ts.map +1 -1
  173. package/dist/openclaw/index.js +1 -0
  174. package/dist/openclaw/index.js.map +1 -1
  175. package/dist/openclaw/types.d.ts +2 -0
  176. package/dist/openclaw/types.d.ts.map +1 -1
  177. package/dist/ralph/__tests__/persistence.test.js +28 -1
  178. package/dist/ralph/__tests__/persistence.test.js.map +1 -1
  179. package/dist/ralph/persistence.d.ts +21 -0
  180. package/dist/ralph/persistence.d.ts.map +1 -1
  181. package/dist/ralph/persistence.js +85 -2
  182. package/dist/ralph/persistence.js.map +1 -1
  183. package/dist/state/paths.d.ts +3 -0
  184. package/dist/state/paths.d.ts.map +1 -0
  185. package/dist/state/paths.js +2 -0
  186. package/dist/state/paths.js.map +1 -0
  187. package/dist/team/__tests__/idle-nudge.test.d.ts +2 -0
  188. package/dist/team/__tests__/idle-nudge.test.d.ts.map +1 -0
  189. package/dist/team/__tests__/idle-nudge.test.js +225 -0
  190. package/dist/team/__tests__/idle-nudge.test.js.map +1 -0
  191. package/dist/team/__tests__/role-router.test.d.ts +2 -0
  192. package/dist/team/__tests__/role-router.test.d.ts.map +1 -0
  193. package/dist/team/__tests__/role-router.test.js +204 -0
  194. package/dist/team/__tests__/role-router.test.js.map +1 -0
  195. package/dist/team/__tests__/runtime-cli.test.d.ts +2 -0
  196. package/dist/team/__tests__/runtime-cli.test.d.ts.map +1 -0
  197. package/dist/team/__tests__/runtime-cli.test.js +72 -0
  198. package/dist/team/__tests__/runtime-cli.test.js.map +1 -0
  199. package/dist/team/__tests__/runtime.test.js +195 -9
  200. package/dist/team/__tests__/runtime.test.js.map +1 -1
  201. package/dist/team/__tests__/scaling.test.js +132 -2
  202. package/dist/team/__tests__/scaling.test.js.map +1 -1
  203. package/dist/team/__tests__/state-root.test.d.ts +2 -0
  204. package/dist/team/__tests__/state-root.test.d.ts.map +1 -0
  205. package/dist/team/__tests__/state-root.test.js +9 -0
  206. package/dist/team/__tests__/state-root.test.js.map +1 -0
  207. package/dist/team/__tests__/state.test.js +52 -17
  208. package/dist/team/__tests__/state.test.js.map +1 -1
  209. package/dist/team/__tests__/team-ops-contract.test.d.ts +2 -0
  210. package/dist/team/__tests__/team-ops-contract.test.d.ts.map +1 -0
  211. package/dist/team/__tests__/team-ops-contract.test.js +90 -0
  212. package/dist/team/__tests__/team-ops-contract.test.js.map +1 -0
  213. package/dist/team/__tests__/tmux-session.test.js +94 -7
  214. package/dist/team/__tests__/tmux-session.test.js.map +1 -1
  215. package/dist/team/__tests__/worker-bootstrap.test.js +59 -0
  216. package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -1
  217. package/dist/team/__tests__/worktree.test.js +81 -2
  218. package/dist/team/__tests__/worktree.test.js.map +1 -1
  219. package/dist/team/idle-nudge.d.ts +53 -0
  220. package/dist/team/idle-nudge.d.ts.map +1 -0
  221. package/dist/team/idle-nudge.js +140 -0
  222. package/dist/team/idle-nudge.js.map +1 -0
  223. package/dist/team/mcp-comm.d.ts +1 -1
  224. package/dist/team/mcp-comm.d.ts.map +1 -1
  225. package/dist/team/mcp-comm.js +6 -2
  226. package/dist/team/mcp-comm.js.map +1 -1
  227. package/dist/team/orchestrator.d.ts +1 -10
  228. package/dist/team/orchestrator.d.ts.map +1 -1
  229. package/dist/team/orchestrator.js +8 -0
  230. package/dist/team/orchestrator.js.map +1 -1
  231. package/dist/team/role-router.d.ts +32 -0
  232. package/dist/team/role-router.d.ts.map +1 -0
  233. package/dist/team/role-router.js +137 -0
  234. package/dist/team/role-router.js.map +1 -0
  235. package/dist/team/runtime-cli.d.ts +18 -0
  236. package/dist/team/runtime-cli.d.ts.map +1 -0
  237. package/dist/team/runtime-cli.js +244 -0
  238. package/dist/team/runtime-cli.js.map +1 -0
  239. package/dist/team/runtime.d.ts +6 -1
  240. package/dist/team/runtime.d.ts.map +1 -1
  241. package/dist/team/runtime.js +148 -60
  242. package/dist/team/runtime.js.map +1 -1
  243. package/dist/team/scaling.d.ts +1 -0
  244. package/dist/team/scaling.d.ts.map +1 -1
  245. package/dist/team/scaling.js +74 -32
  246. package/dist/team/scaling.js.map +1 -1
  247. package/dist/team/state/approvals.d.ts +25 -0
  248. package/dist/team/state/approvals.d.ts.map +1 -0
  249. package/dist/team/state/approvals.js +31 -0
  250. package/dist/team/state/approvals.js.map +1 -0
  251. package/dist/team/state/config.d.ts +2 -0
  252. package/dist/team/state/config.d.ts.map +1 -0
  253. package/dist/team/state/config.js +2 -0
  254. package/dist/team/state/config.js.map +1 -0
  255. package/dist/team/state/dispatch-lock.d.ts +3 -0
  256. package/dist/team/state/dispatch-lock.d.ts.map +1 -0
  257. package/dist/team/state/dispatch-lock.js +81 -0
  258. package/dist/team/state/dispatch-lock.js.map +1 -0
  259. package/dist/team/state/dispatch.d.ts +61 -0
  260. package/dist/team/state/dispatch.d.ts.map +1 -0
  261. package/dist/team/state/dispatch.js +158 -0
  262. package/dist/team/state/dispatch.js.map +1 -0
  263. package/dist/team/state/events.d.ts +2 -0
  264. package/dist/team/state/events.d.ts.map +1 -0
  265. package/dist/team/state/events.js +2 -0
  266. package/dist/team/state/events.js.map +1 -0
  267. package/dist/team/state/index.d.ts +11 -0
  268. package/dist/team/state/index.d.ts.map +1 -0
  269. package/dist/team/state/index.js +11 -0
  270. package/dist/team/state/index.js.map +1 -0
  271. package/dist/team/state/io.d.ts +2 -0
  272. package/dist/team/state/io.d.ts.map +1 -0
  273. package/dist/team/state/io.js +2 -0
  274. package/dist/team/state/io.js.map +1 -0
  275. package/dist/team/state/locks.d.ts +16 -0
  276. package/dist/team/state/locks.d.ts.map +1 -0
  277. package/dist/team/state/locks.js +201 -0
  278. package/dist/team/state/locks.js.map +1 -0
  279. package/dist/team/state/mailbox.d.ts +39 -0
  280. package/dist/team/state/mailbox.d.ts.map +1 -0
  281. package/dist/team/state/mailbox.js +58 -0
  282. package/dist/team/state/mailbox.js.map +1 -0
  283. package/dist/team/state/monitor.d.ts +96 -0
  284. package/dist/team/state/monitor.d.ts.map +1 -0
  285. package/dist/team/state/monitor.js +163 -0
  286. package/dist/team/state/monitor.js.map +1 -0
  287. package/dist/team/state/shutdown.d.ts +2 -0
  288. package/dist/team/state/shutdown.d.ts.map +1 -0
  289. package/dist/team/state/shutdown.js +2 -0
  290. package/dist/team/state/shutdown.js.map +1 -0
  291. package/dist/team/state/summary.d.ts +2 -0
  292. package/dist/team/state/summary.d.ts.map +1 -0
  293. package/dist/team/state/summary.js +2 -0
  294. package/dist/team/state/summary.js.map +1 -0
  295. package/dist/team/state/tasks.d.ts +49 -0
  296. package/dist/team/state/tasks.d.ts.map +1 -0
  297. package/dist/team/state/tasks.js +182 -0
  298. package/dist/team/state/tasks.js.map +1 -0
  299. package/dist/team/state/types.d.ts +281 -0
  300. package/dist/team/state/types.d.ts.map +1 -0
  301. package/dist/team/state/types.js +3 -0
  302. package/dist/team/state/types.js.map +1 -0
  303. package/dist/team/state/workers.d.ts +2 -0
  304. package/dist/team/state/workers.d.ts.map +1 -0
  305. package/dist/team/state/workers.js +2 -0
  306. package/dist/team/state/workers.js.map +1 -0
  307. package/dist/team/state-root.d.ts +5 -0
  308. package/dist/team/state-root.d.ts.map +1 -0
  309. package/dist/team/state-root.js +8 -0
  310. package/dist/team/state-root.js.map +1 -0
  311. package/dist/team/state.d.ts +6 -2
  312. package/dist/team/state.d.ts.map +1 -1
  313. package/dist/team/state.js +200 -881
  314. package/dist/team/state.js.map +1 -1
  315. package/dist/team/tmux-session.d.ts +42 -2
  316. package/dist/team/tmux-session.d.ts.map +1 -1
  317. package/dist/team/tmux-session.js +229 -74
  318. package/dist/team/tmux-session.js.map +1 -1
  319. package/dist/team/worker-bootstrap.d.ts +2 -0
  320. package/dist/team/worker-bootstrap.d.ts.map +1 -1
  321. package/dist/team/worker-bootstrap.js +47 -20
  322. package/dist/team/worker-bootstrap.js.map +1 -1
  323. package/dist/team/worktree.d.ts +5 -1
  324. package/dist/team/worktree.d.ts.map +1 -1
  325. package/dist/team/worktree.js +71 -17
  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/fixtures/ask-advisor-stub.js +12 -0
  351. package/scripts/notify-hook/log.js +5 -0
  352. package/scripts/notify-hook/team-dispatch.js +56 -1
  353. package/scripts/notify-hook/tmux-injection.js +45 -4
  354. package/scripts/notify-hook/visual-verdict.js +158 -0
  355. package/scripts/notify-hook.js +27 -0
  356. package/scripts/run-provider-advisor.js +179 -0
  357. package/scripts/tmux-hook-engine.js +24 -0
  358. package/skills/ask-claude/SKILL.md +61 -0
  359. package/skills/ask-gemini/SKILL.md +61 -0
  360. package/skills/autopilot/SKILL.md +34 -4
  361. package/skills/configure-notifications/SKILL.md +1 -1
  362. package/skills/configure-openclaw/SKILL.md +154 -157
  363. package/skills/deep-interview/SKILL.md +247 -0
  364. package/skills/doctor/SKILL.md +1 -1
  365. package/skills/help/SKILL.md +3 -3
  366. package/skills/ralph/SKILL.md +42 -11
  367. package/skills/ralplan/SKILL.md +17 -0
  368. package/skills/skill/SKILL.md +32 -32
  369. package/skills/team/SKILL.md +60 -0
  370. package/skills/visual-verdict/SKILL.md +76 -0
  371. package/skills/web-clone/SKILL.md +366 -0
  372. package/skills/worker/SKILL.md +5 -4
  373. package/templates/AGENTS.md +9 -0
  374. package/templates/catalog-manifest.json +39 -2
package/README.vi.md CHANGED
@@ -1,10 +1,59 @@
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)](./README.zh.md)
23
+ - [Tiếng Việt (Vietnamese)](./README.vi.md)
24
+ - [Español (Spanish)](./README.es.md)
25
+ - [Português (Portuguese)](./README.pt.md)
26
+ - [Русский (Russian)](./README.ru.md)
27
+ - [Türkçe (Turkish)](./README.tr.md)
28
+ - [Deutsch (German)](./README.de.md)
29
+ - [Français (French)](./README.fr.md)
30
+ - [Italiano (Italian)](./README.it.md)
31
+
32
+
33
+ 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:
34
+ - Role prompts (`/prompts:name`) cho các tác nhân chuyên biệt
35
+ - Workflow skills (`$name`) cho các chế độ thực thi lặp lại
36
+ - Điều phối đội ngũ trong tmux (`omx team`, `$team`)
37
+ - Trạng thái bền vững và bộ nhớ qua máy chủ MCP
38
+
39
+ ## Tại sao chọn OMX
40
+
41
+ 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:
42
+ - Phân tách và thực thi theo giai đoạn (`team-plan -> team-prd -> team-exec -> team-verify -> team-fix`)
43
+ - Trạng thái vòng đời chế độ bền vững (`.omx/state/`)
44
+ - Bề mặt bộ nhớ và sổ ghi chú cho phiên làm việc dài
45
+ - Điều khiển vận hành cho khởi chạy, xác minh và hủy bỏ
46
+
47
+ 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.
48
+
49
+ ## Yêu cầu hệ thống
50
+
51
+ - macOS hoặc Linux (Windows qua WSL2)
52
+ - Node.js >= 20
53
+ - Codex CLI đã cài đặt (`npm install -g @openai/codex`)
54
+ - Xác thực Codex đã cấu hình
55
+
56
+ ## Bắt đầu nhanh (3 phút)
8
57
 
9
58
  ```bash
10
59
  npm install -g oh-my-codex
@@ -12,25 +61,254 @@ omx setup
12
61
  omx doctor
13
62
  ```
14
63
 
15
- ## Tính năng chính
64
+ Cấu hình khởi chạy khuyến nghị cho môi trường tin cậy:
16
65
 
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
66
+ ```bash
67
+ omx --xhigh --madmax
68
+ ```
69
+
70
+ ## Mới trong v0.5.0
71
+
72
+ - **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.
73
+ - **Đị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.
74
+ - **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.
75
+ - **Mức độ chi tiết thông báo** cho kiểm soát chi tiết đầu ra CCNotifier.
76
+
77
+ ## Phiên đầu tiên
21
78
 
22
- ## Lệnh thường dùng
79
+ Trong Codex:
80
+
81
+ ```text
82
+ /prompts:architect "analyze current auth boundaries"
83
+ /prompts:executor "implement input validation in login"
84
+ $plan "ship OAuth callback safely"
85
+ $team 3:executor "fix all TypeScript errors"
86
+ ```
87
+
88
+ Từ terminal:
89
+
90
+ ```bash
91
+ omx team 4:executor "parallelize a multi-module refactor"
92
+ omx team status <team-name>
93
+ omx team shutdown <team-name>
94
+ ```
95
+
96
+ ## Mô hình cốt lõi
97
+
98
+ OMX cài đặt và kết nối các lớp sau:
99
+
100
+ ```text
101
+ User
102
+ -> Codex CLI
103
+ -> AGENTS.md (bộ não điều phối)
104
+ -> ~/.codex/prompts/*.md (danh mục prompt tác nhân)
105
+ -> ~/.agents/skills/*/SKILL.md (danh mục skill)
106
+ -> ~/.codex/config.toml (tính năng, thông báo, MCP)
107
+ -> .omx/ (trạng thái runtime, bộ nhớ, kế hoạch, nhật ký)
108
+ ```
109
+
110
+ ## Các lệnh chính
111
+
112
+ ```bash
113
+ omx # Khởi chạy Codex (+ HUD trong tmux khi có sẵn)
114
+ omx setup # Cài đặt prompt/skill/config theo phạm vi + dự án AGENTS.md/.omx
115
+ omx doctor # Chẩn đoán cài đặt/runtime
116
+ omx doctor --team # Chẩn đoán Team/swarm
117
+ omx team ... # Khởi động/trạng thái/tiếp tục/tắt worker tmux của đội
118
+ omx status # Hiển thị các chế độ đang hoạt động
119
+ omx cancel # Hủy các chế độ thực thi đang hoạt động
120
+ omx reasoning <mode> # low|medium|high|xhigh
121
+ omx tmux-hook ... # init|status|validate|test
122
+ omx hooks ... # init|status|validate|test (quy trình mở rộng plugin)
123
+ omx hud ... # --watch|--json|--preset
124
+ omx help
125
+ ```
126
+
127
+ ## Mở rộng Hooks (Bề mặt bổ sung)
128
+
129
+ OMX hiện bao gồm `omx hooks` cho scaffolding và xác thực plugin.
130
+
131
+ - `omx tmux-hook` vẫn được hỗ trợ và không thay đổi.
132
+ - `omx hooks` là bổ sung và không thay thế quy trình tmux-hook.
133
+ - Tệp plugin nằm tại `.omx/hooks/*.mjs`.
134
+ - Plugin tắt theo mặc định; kích hoạt bằng `OMX_HOOK_PLUGINS=1`.
135
+
136
+ Xem `docs/hooks-extension.md` cho quy trình mở rộng đầy đủ và mô hình sự kiện.
137
+
138
+ ## Cờ khởi chạy
139
+
140
+ ```bash
141
+ --yolo
142
+ --high
143
+ --xhigh
144
+ --madmax
145
+ --force
146
+ --dry-run
147
+ --verbose
148
+ --scope <user|project> # chỉ dành cho setup
149
+ ```
150
+
151
+ `--madmax` ánh xạ đến Codex `--dangerously-bypass-approvals-and-sandbox`.
152
+ Chỉ sử dụng trong môi trường sandbox tin cậy hoặc bên ngoài.
153
+
154
+ ### Chính sách workingDirectory MCP (tăng cường tùy chọn)
155
+
156
+ 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.
157
+ Để hạn chế điều này, đặt danh sách gốc được phép:
158
+
159
+ ```bash
160
+ export OMX_MCP_WORKDIR_ROOTS="/path/to/project:/path/to/another-root"
161
+ ```
162
+
163
+ Khi được đặt, các giá trị `workingDirectory` ngoài các gốc này sẽ bị từ chối.
164
+
165
+ ## Kiểm soát Prompt Codex-First
166
+
167
+ Theo mặc định, OMX tiêm:
168
+
169
+ ```text
170
+ -c model_instructions_file="<cwd>/AGENTS.md"
171
+ ```
172
+
173
+ Đ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.
174
+ 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.
175
+
176
+ Điều khiển:
177
+
178
+ ```bash
179
+ OMX_BYPASS_DEFAULT_SYSTEM_PROMPT=0 omx # tắt tiêm AGENTS.md
180
+ OMX_MODEL_INSTRUCTIONS_FILE=/path/to/instructions.md omx
181
+ ```
182
+
183
+ ## Chế độ đội
184
+
185
+ Sử dụng chế độ đội cho công việc lớn được hưởng lợi từ worker song song.
186
+
187
+ Vòng đời:
188
+
189
+ ```text
190
+ start -> assign scoped lanes -> monitor -> verify terminal tasks -> shutdown
191
+ ```
192
+
193
+ Các lệnh vận hành:
23
194
 
24
195
  ```bash
25
- omx
26
- omx setup
27
- omx doctor
28
196
  omx team <args>
29
- omx status
30
- omx cancel
197
+ omx team status <team-name>
198
+ omx team resume <team-name>
199
+ omx team shutdown <team-name>
200
+ ```
201
+
202
+ 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ỏ.
203
+
204
+ ### Chính sách dọn dẹp Ralph
205
+
206
+ Khi đội chạy trong chế độ ralph (`omx team ralph ...`), việc dọn dẹp khi tắt
207
+ áp dụng chính sách chuyên dụng khác với đường dẫn thông thường:
208
+
209
+ | Hành vi | Đội thông thường | Đội Ralph |
210
+ |---|---|---|
211
+ | 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` |
212
+ | Xóa nhánh tự động | Xóa nhánh worktree khi rollback | Giữ lại nhánh (`skipBranchDeletion`) |
213
+ | 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ụ |
214
+
215
+ Chính sách Ralph được phát hiện tự động từ trạng thái chế độ đội (`linked_ralph`) hoặc
216
+ có thể được truyền rõ ràng qua `omx team shutdown <name> --ralph`.
217
+
218
+ Chọn Worker CLI cho worker của đội:
219
+
220
+ ```bash
221
+ OMX_TEAM_WORKER_CLI=auto # mặc định; sử dụng claude khi worker --model chứa "claude"
222
+ OMX_TEAM_WORKER_CLI=codex # ép buộc worker Codex CLI
223
+ OMX_TEAM_WORKER_CLI=claude # ép buộc worker Claude CLI
224
+ OMX_TEAM_WORKER_CLI_MAP=codex,codex,claude,claude # hỗn hợp CLI theo worker (độ dài=1 hoặc số worker)
225
+ OMX_TEAM_AUTO_INTERRUPT_RETRY=0 # tùy chọn: tắt fallback thích ứng queue->resend
31
226
  ```
32
227
 
33
- ## Tìm hiểu thêm
228
+ Lưu ý:
229
+ - Tham số khởi chạy worker vẫn được chia sẻ qua `OMX_TEAM_WORKER_LAUNCH_ARGS`.
230
+ - `OMX_TEAM_WORKER_CLI_MAP` ghi đè `OMX_TEAM_WORKER_CLI` cho lựa chọn theo worker.
231
+ - 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).
232
+ - 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.
233
+
234
+ ## `omx setup` ghi những gì
235
+
236
+ - `.omx/setup-scope.json` (phạm vi cài đặt được lưu trữ)
237
+ - Cài đặt phụ thuộc phạm vi:
238
+ - `user`: `~/.codex/prompts/`, `~/.agents/skills/`, `~/.codex/config.toml`, `~/.omx/agents/`
239
+ - `project`: `./.codex/prompts/`, `./.agents/skills/`, `./.codex/config.toml`, `./.omx/agents/`
240
+ - 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).
241
+ - `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).
242
+ - Cập nhật `config.toml` (cho cả hai phạm vi):
243
+ - `notify = ["node", "..."]`
244
+ - `model_reasoning_effort = "high"`
245
+ - `developer_instructions = "..."`
246
+ - `[features] multi_agent = true, child_agents_md = true`
247
+ - Mục máy chủ MCP (`omx_state`, `omx_memory`, `omx_code_intel`, `omx_trace`)
248
+ - `[tui] status_line`
249
+ - `AGENTS.md` của dự án
250
+ - Thư mục `.omx/` runtime và cấu hình HUD
251
+
252
+ ## Tác nhân và skill
253
+
254
+ - Prompt: `prompts/*.md` (cài vào `~/.codex/prompts/` cho `user`, `./.codex/prompts/` cho `project`)
255
+ - Skill: `skills/*/SKILL.md` (cài vào `~/.agents/skills/` cho `user`, `./.agents/skills/` cho `project`)
256
+
257
+ Ví dụ:
258
+ - Tác nhân: `architect`, `planner`, `executor`, `debugger`, `verifier`, `security-reviewer`
259
+ - Skill: `autopilot`, `plan`, `team`, `ralph`, `ultrawork`, `cancel`
260
+
261
+ ## Cấu trúc dự án
262
+
263
+ ```text
264
+ oh-my-codex/
265
+ bin/omx.js
266
+ src/
267
+ cli/
268
+ team/
269
+ mcp/
270
+ hooks/
271
+ hud/
272
+ config/
273
+ modes/
274
+ notifications/
275
+ verification/
276
+ prompts/
277
+ skills/
278
+ templates/
279
+ scripts/
280
+ ```
281
+
282
+ ## Phát triển
283
+
284
+ ```bash
285
+ git clone https://github.com/Yeachan-Heo/oh-my-codex.git
286
+ cd oh-my-codex
287
+ npm install
288
+ npm run build
289
+ npm test
290
+ ```
291
+
292
+ ## Tài liệu
293
+
294
+ - **[Tài liệu đầy đủ](https://yeachan-heo.github.io/oh-my-codex-website/docs.html)** — Hướng dẫn hoàn chỉnh
295
+ - **[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ụ
296
+ - **[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
297
+ - **[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
298
+ - **[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
299
+
300
+ ## Ghi chú
301
+
302
+ - Nhật ký thay đổi đầy đủ: `CHANGELOG.md`
303
+ - Hướng dẫn di chuyển (sau v0.4.4 mainline): `docs/migration-mainline-post-v0.4.4.md`
304
+ - Ghi chú về độ bao phủ và tương đương: `COVERAGE.md`
305
+ - Quy trình mở rộng hook: `docs/hooks-extension.md`
306
+ - Chi tiết cài đặt và đóng góp: `CONTRIBUTING.md`
307
+
308
+ ## Lời cảm ơn
309
+
310
+ 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.
311
+
312
+ ## Giấy phép
34
313
 
35
- - Tài liệu chính: [README.md](./README.md)
36
- - Website: https://yeachan-heo.github.io/oh-my-codex-website/
314
+ MIT
package/README.zh.md CHANGED
@@ -1,10 +1,59 @@
1
- # oh-my-codex (OMX) — 简体中文
1
+ # oh-my-codex (OMX)
2
2
 
3
- > 英文原版 README: [README.md](./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 并不孤单。</em>
7
+ </p>
4
8
 
5
- `oh-my-codex (OMX)` 是 [OpenAI Codex CLI](https://github.com/openai/codex) 的多智能体编排层。
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
- ## 快速开始
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
+ [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)](./README.zh.md)
23
+ - [Tiếng Việt (Vietnamese)](./README.vi.md)
24
+ - [Español (Spanish)](./README.es.md)
25
+ - [Português (Portuguese)](./README.pt.md)
26
+ - [Русский (Russian)](./README.ru.md)
27
+ - [Türkçe (Turkish)](./README.tr.md)
28
+ - [Deutsch (German)](./README.de.md)
29
+ - [Français (French)](./README.fr.md)
30
+ - [Italiano (Italian)](./README.it.md)
31
+
32
+
33
+ OMX 将 Codex 从单会话代理转变为协调系统:
34
+ - 用于专业代理的 role prompts (`/prompts:name`)
35
+ - 用于可重复执行模式的 workflow skills (`$name`)
36
+ - 在 tmux 中的团队编排 (`omx team`, `$team`)
37
+ - 通过 MCP 服务器实现持久状态和记忆
38
+
39
+ ## 为什么选择 OMX
40
+
41
+ Codex CLI 擅长处理直接任务。OMX 为更大规模的工作添加结构:
42
+ - 分解和分阶段执行 (`team-plan -> team-prd -> team-exec -> team-verify -> team-fix`)
43
+ - 持久化的模式生命周期状态 (`.omx/state/`)
44
+ - 长时间会话的记忆和记事本表面
45
+ - 用于启动、验证和取消的操作控制
46
+
47
+ OMX 是一个插件,而非 fork。它使用 Codex 的原生扩展点。
48
+
49
+ ## 系统要求
50
+
51
+ - macOS 或 Linux(Windows 通过 WSL2)
52
+ - Node.js >= 20
53
+ - 已安装 Codex CLI (`npm install -g @openai/codex`)
54
+ - 已配置 Codex 身份验证
55
+
56
+ ## 快速开始(3 分钟)
8
57
 
9
58
  ```bash
10
59
  npm install -g oh-my-codex
@@ -12,28 +61,254 @@ omx setup
12
61
  omx doctor
13
62
  ```
14
63
 
15
- 推荐启动参数:
64
+ 推荐的可信环境启动配置:
16
65
 
17
66
  ```bash
18
67
  omx --xhigh --madmax
19
68
  ```
20
69
 
21
- ## OMX 提供的能力
70
+ ## v0.5.0 新功能
22
71
 
23
- - 角色提示词(`/prompts:name`)
24
- - 工作流技能(`$name`)
25
- - 基于 tmux 的团队编排(`omx team`, `$team`)
26
- - 基于 `.omx/` 的状态与记忆持久化
72
+ - 通过 `omx setup --scope user|project` 实现**作用域感知设置** — 灵活的安装模式。
73
+ - 通过 `--spark` / `--madmax-spark` 实现 **Spark worker 路由** — 团队 worker 可以使用 `gpt-5.3-codex-spark` 而无需强制使用领导者模型。
74
+ - **目录整合** 移除已弃用的 prompt(`deep-executor`、`scientist`)和 9 个已弃用的 skill,使表面更精简。
75
+ - **通知详细级别** 对 CCNotifier 输出的精细控制。
27
76
 
28
- ## 常用命令
77
+ ## 首次会话
78
+
79
+ 在 Codex 内部:
80
+
81
+ ```text
82
+ /prompts:architect "analyze current auth boundaries"
83
+ /prompts:executor "implement input validation in login"
84
+ $plan "ship OAuth callback safely"
85
+ $team 3:executor "fix all TypeScript errors"
86
+ ```
87
+
88
+ 从终端:
89
+
90
+ ```bash
91
+ omx team 4:executor "parallelize a multi-module refactor"
92
+ omx team status <team-name>
93
+ omx team shutdown <team-name>
94
+ ```
95
+
96
+ ## 核心模型
97
+
98
+ OMX 安装并连接以下层:
99
+
100
+ ```text
101
+ User
102
+ -> Codex CLI
103
+ -> AGENTS.md (编排大脑)
104
+ -> ~/.codex/prompts/*.md (代理 prompt 目录)
105
+ -> ~/.agents/skills/*/SKILL.md (skill 目录)
106
+ -> ~/.codex/config.toml (功能、通知、MCP)
107
+ -> .omx/ (运行时状态、记忆、计划、日志)
108
+ ```
109
+
110
+ ## 主要命令
111
+
112
+ ```bash
113
+ omx # 启动 Codex(在 tmux 中附带 HUD)
114
+ omx setup # 按作用域安装 prompt/skill/config + 项目 AGENTS.md/.omx
115
+ omx doctor # 安装/运行时诊断
116
+ omx doctor --team # Team/swarm 诊断
117
+ omx team ... # 启动/状态/恢复/关闭 tmux 团队 worker
118
+ omx status # 显示活动模式
119
+ omx cancel # 取消活动执行模式
120
+ omx reasoning <mode> # low|medium|high|xhigh
121
+ omx tmux-hook ... # init|status|validate|test
122
+ omx hooks ... # init|status|validate|test(插件扩展工作流)
123
+ omx hud ... # --watch|--json|--preset
124
+ omx help
125
+ ```
126
+
127
+ ## Hooks 扩展(附加表面)
128
+
129
+ OMX 现在包含用于插件脚手架和验证的 `omx hooks`。
130
+
131
+ - `omx tmux-hook` 继续支持且未更改。
132
+ - `omx hooks` 是附加的,不会替代 tmux-hook 工作流。
133
+ - 插件文件位于 `.omx/hooks/*.mjs`。
134
+ - 插件默认关闭;使用 `OMX_HOOK_PLUGINS=1` 启用。
135
+
136
+ 完整的扩展工作流和事件模型请参阅 `docs/hooks-extension.md`。
137
+
138
+ ## 启动标志
139
+
140
+ ```bash
141
+ --yolo
142
+ --high
143
+ --xhigh
144
+ --madmax
145
+ --force
146
+ --dry-run
147
+ --verbose
148
+ --scope <user|project> # 仅用于 setup
149
+ ```
150
+
151
+ `--madmax` 映射到 Codex `--dangerously-bypass-approvals-and-sandbox`。
152
+ 仅在可信/外部沙箱环境中使用。
153
+
154
+ ### MCP workingDirectory 策略(可选加固)
155
+
156
+ 默认情况下,MCP state/memory/trace 工具接受调用方提供的 `workingDirectory`。
157
+ 要限制此行为,请设置允许的根目录列表:
158
+
159
+ ```bash
160
+ export OMX_MCP_WORKDIR_ROOTS="/path/to/project:/path/to/another-root"
161
+ ```
162
+
163
+ 设置后,超出这些根目录的 `workingDirectory` 值将被拒绝。
164
+
165
+ ## Codex-First Prompt 控制
166
+
167
+ 默认情况下,OMX 注入:
168
+
169
+ ```text
170
+ -c model_instructions_file="<cwd>/AGENTS.md"
171
+ ```
172
+
173
+ 这将项目 `AGENTS.md` 指导添加到 Codex 启动指令中。
174
+ 扩展 Codex 行为,但不会替换/绕过 Codex 核心系统策略。
175
+
176
+ 控制:
177
+
178
+ ```bash
179
+ OMX_BYPASS_DEFAULT_SYSTEM_PROMPT=0 omx # 禁用 AGENTS.md 注入
180
+ OMX_MODEL_INSTRUCTIONS_FILE=/path/to/instructions.md omx
181
+ ```
182
+
183
+ ## 团队模式
184
+
185
+ 对于受益于并行 worker 的大规模工作,使用团队模式。
186
+
187
+ 生命周期:
188
+
189
+ ```text
190
+ start -> assign scoped lanes -> monitor -> verify terminal tasks -> shutdown
191
+ ```
192
+
193
+ 操作命令:
29
194
 
30
195
  ```bash
31
- omx
32
- omx setup
33
- omx doctor
34
196
  omx team <args>
35
- omx status
36
- omx cancel
197
+ omx team status <team-name>
198
+ omx team resume <team-name>
199
+ omx team shutdown <team-name>
37
200
  ```
38
201
 
39
- 更多细节请参考英文文档 [README.md](./README.md)。
202
+ 重要规则:除非中止,否则不要在任务仍处于 `in_progress` 状态时关闭。
203
+
204
+ ### Ralph 清理策略
205
+
206
+ 当团队在 ralph 模式下运行时(`omx team ralph ...`),关闭清理
207
+ 应用与常规路径不同的专用策略:
208
+
209
+ | 行为 | 普通团队 | Ralph 团队 |
210
+ |---|---|---|
211
+ | 失败时强制关闭 | 抛出 `shutdown_gate_blocked` | 绕过闸门,记录 `ralph_cleanup_policy` 事件 |
212
+ | 自动分支删除 | 回滚时删除 worktree 分支 | 保留分支 (`skipBranchDeletion`) |
213
+ | 完成日志 | 标准 `shutdown_gate` 事件 | 附带任务分解的 `ralph_cleanup_summary` 事件 |
214
+
215
+ Ralph 策略从团队模式状态(`linked_ralph`)自动检测,或
216
+ 可通过 `omx team shutdown <name> --ralph` 显式传递。
217
+
218
+ 团队 worker 的 Worker CLI 选择:
219
+
220
+ ```bash
221
+ OMX_TEAM_WORKER_CLI=auto # 默认;当 worker --model 包含 "claude" 时使用 claude
222
+ OMX_TEAM_WORKER_CLI=codex # 强制 Codex CLI worker
223
+ OMX_TEAM_WORKER_CLI=claude # 强制 Claude CLI worker
224
+ OMX_TEAM_WORKER_CLI_MAP=codex,codex,claude,claude # 每个 worker 的 CLI 混合(长度=1 或 worker 数量)
225
+ OMX_TEAM_AUTO_INTERRUPT_RETRY=0 # 可选:禁用自适应 queue->resend 回退
226
+ ```
227
+
228
+ 注意:
229
+ - Worker 启动参数仍通过 `OMX_TEAM_WORKER_LAUNCH_ARGS` 共享。
230
+ - `OMX_TEAM_WORKER_CLI_MAP` 覆盖 `OMX_TEAM_WORKER_CLI` 以实现每个 worker 的选择。
231
+ - 触发器提交默认使用自适应重试(queue/submit,需要时使用安全的 clear-line+resend 回退)。
232
+ - 在 Claude worker 模式下,OMX 以普通 `claude` 启动 worker(无额外启动参数),并忽略显式的 `--model` / `--config` / `--effort` 覆盖,使 Claude 使用默认 `settings.json`。
233
+
234
+ ## `omx setup` 写入的内容
235
+
236
+ - `.omx/setup-scope.json`(持久化的设置作用域)
237
+ - 依赖作用域的安装:
238
+ - `user`:`~/.codex/prompts/`、`~/.agents/skills/`、`~/.codex/config.toml`、`~/.omx/agents/`
239
+ - `project`:`./.codex/prompts/`、`./.agents/skills/`、`./.codex/config.toml`、`./.omx/agents/`
240
+ - 启动行为:如果持久化的作用域是 `project`,`omx` 启动时自动使用 `CODEX_HOME=./.codex`(除非 `CODEX_HOME` 已设置)。
241
+ - 现有 `AGENTS.md` 默认保留。在交互式 TTY 运行中,setup 会在覆盖前询问;`--force` 无需询问直接覆盖(活动会话安全检查仍然适用)。
242
+ - `config.toml` 更新(两种作用域均适用):
243
+ - `notify = ["node", "..."]`
244
+ - `model_reasoning_effort = "high"`
245
+ - `developer_instructions = "..."`
246
+ - `[features] multi_agent = true, child_agents_md = true`
247
+ - MCP 服务器条目(`omx_state`、`omx_memory`、`omx_code_intel`、`omx_trace`)
248
+ - `[tui] status_line`
249
+ - 项目 `AGENTS.md`
250
+ - `.omx/` 运行时目录和 HUD 配置
251
+
252
+ ## 代理和技能
253
+
254
+ - Prompt:`prompts/*.md`(`user` 安装到 `~/.codex/prompts/`,`project` 安装到 `./.codex/prompts/`)
255
+ - Skill:`skills/*/SKILL.md`(`user` 安装到 `~/.agents/skills/`,`project` 安装到 `./.agents/skills/`)
256
+
257
+ 示例:
258
+ - 代理:`architect`、`planner`、`executor`、`debugger`、`verifier`、`security-reviewer`
259
+ - 技能:`autopilot`、`plan`、`team`、`ralph`、`ultrawork`、`cancel`
260
+
261
+ ## 项目结构
262
+
263
+ ```text
264
+ oh-my-codex/
265
+ bin/omx.js
266
+ src/
267
+ cli/
268
+ team/
269
+ mcp/
270
+ hooks/
271
+ hud/
272
+ config/
273
+ modes/
274
+ notifications/
275
+ verification/
276
+ prompts/
277
+ skills/
278
+ templates/
279
+ scripts/
280
+ ```
281
+
282
+ ## 开发
283
+
284
+ ```bash
285
+ git clone https://github.com/Yeachan-Heo/oh-my-codex.git
286
+ cd oh-my-codex
287
+ npm install
288
+ npm run build
289
+ npm test
290
+ ```
291
+
292
+ ## 文档
293
+
294
+ - **[完整文档](https://yeachan-heo.github.io/oh-my-codex-website/docs.html)** — 完整指南
295
+ - **[CLI 参考](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#cli-reference)** — 所有 `omx` 命令、标志和工具
296
+ - **[通知指南](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#notifications)** — Discord、Telegram、Slack 和 webhook 设置
297
+ - **[推荐工作流](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#workflows)** — 用于常见任务的经过实战检验的 skill 链
298
+ - **[发行说明](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#release-notes)** — 每个版本的新功能
299
+
300
+ ## 备注
301
+
302
+ - 完整变更日志:`CHANGELOG.md`
303
+ - 迁移指南(v0.4.4 后的 mainline):`docs/migration-mainline-post-v0.4.4.md`
304
+ - 覆盖率和对等说明:`COVERAGE.md`
305
+ - Hook 扩展工作流:`docs/hooks-extension.md`
306
+ - 设置和贡献详情:`CONTRIBUTING.md`
307
+
308
+ ## 致谢
309
+
310
+ 受 [oh-my-claudecode](https://github.com/Yeachan-Heo/oh-my-claudecode) 启发,为 Codex CLI 适配。
311
+
312
+ ## 许可证
313
+
314
+ MIT
@@ -32,6 +32,8 @@ describe('catalog reader/contract', () => {
32
32
  assert.ok(contract.aliases.some((a) => a.name === 'swarm' && a.canonical === 'team'));
33
33
  assert.ok(contract.internalHidden.includes('worker'));
34
34
  assert.ok(contract.coreSkills.includes('autopilot'));
35
+ assert.ok(contract.skills.some((s) => s.name === 'ask-claude' && s.status === 'active'));
36
+ assert.ok(contract.skills.some((s) => s.name === 'ask-gemini' && s.status === 'active'));
35
37
  });
36
38
  it('template manifest can be synced from source manifest', async () => {
37
39
  const sourceRaw = await readFile(join(process.cwd(), 'src', 'catalog', 'manifest.json'), 'utf8');
@@ -1 +1 @@
1
- {"version":3,"file":"generator.test.js","sourceRoot":"","sources":["../../../src/catalog/__tests__/generator.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.test.js","sourceRoot":"","sources":["../../../src/catalog/__tests__/generator.test.ts"],"names":[],"mappings":"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"}