fengming 0.3.9 → 0.3.11

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 (763) hide show
  1. package/dist/build-info.json +2 -2
  2. package/dist/{bundled-channel-config-schema-DpdKMATU.d.ts → bundled-channel-config-schema-Bte--ZlY.d.ts} +26 -26
  3. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  4. package/dist/cli-startup-metadata.json +8 -8
  5. package/dist/control-ui/assets/{activity-B2W-IeAT.js → activity-wgT0-JR0.js} +2 -2
  6. package/dist/control-ui/assets/{agents-mRUyNVCz.js → agents-DG5PobrT.js} +2 -2
  7. package/dist/control-ui/assets/{channels-8QHOqBnt.js → channels-CX28oM42.js} +2 -2
  8. package/dist/control-ui/assets/{cron-H3unP_mO.js → cron-B8ixwBqU.js} +2 -2
  9. package/dist/control-ui/assets/{debug-CxLsQ9vH.js → debug-CnkYZUXy.js} +2 -2
  10. package/dist/control-ui/assets/{index-jtIYT0Eh.js → index-DQRZJKbO.js} +4 -4
  11. package/dist/control-ui/assets/{instances-B1JQeCRb.js → instances-BE3mV1JC.js} +2 -2
  12. package/dist/control-ui/assets/{nodes-RGOmq_1l.js → nodes-Cou4PWRX.js} +2 -2
  13. package/dist/control-ui/assets/{sessions-C2O-Jgpg.js → sessions-DpAaBT21.js} +2 -2
  14. package/dist/control-ui/assets/{skills-jyJOYA4I.js → skills-DjA_j_20.js} +2 -2
  15. package/dist/control-ui/assets/{workboard-uM_kK8cQ.js → workboard-BFnvbS0k.js} +2 -2
  16. package/dist/control-ui/index.html +1 -1
  17. package/dist/control-ui/sw.js +1 -1
  18. package/dist/gateway/protocol/index.d.ts +1 -1
  19. package/dist/{index-DhOQs6M_.d.ts → index-DuDY3bCZ.d.ts} +45 -45
  20. package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
  21. package/dist/plugin-sdk/agent-config-primitives.d.ts +1 -1
  22. package/dist/plugin-sdk/{bundled-channel-config-schema-Dfn3b8sF.d.ts → bundled-channel-config-schema-BPFNnbwu.d.ts} +23 -23
  23. package/dist/plugin-sdk/bundled-channel-config-schema.d.ts +3 -3
  24. package/dist/plugin-sdk/channel-config-primitives.d.ts +2 -2
  25. package/dist/plugin-sdk/channel-config-schema-legacy.d.ts +3 -3
  26. package/dist/plugin-sdk/channel-config-schema.d.ts +2 -2
  27. package/dist/plugin-sdk/channel-core.d.ts +1 -1
  28. package/dist/plugin-sdk/channel-plugin-common.d.ts +1 -1
  29. package/dist/plugin-sdk/compat.d.ts +2 -2
  30. package/dist/plugin-sdk/{config-schema-DUddICQM.d.ts → config-schema-D7cABQ6o.d.ts} +1 -1
  31. package/dist/plugin-sdk/config-schema.d.ts +4 -4
  32. package/dist/plugin-sdk/core.d.ts +1 -1
  33. package/dist/plugin-sdk/discord.d.ts +2 -2
  34. package/dist/plugin-sdk/tts-runtime.d.ts +1 -1
  35. package/dist/plugin-sdk/{zod-schema.core-B4_b2R5K.d.ts → zod-schema.core-CwBNqcXp.d.ts} +1 -1
  36. package/dist/{zod-schema.core-Cuz0lz6m.d.ts → zod-schema.core-BGLctDlK.d.ts} +1 -1
  37. package/package.json +7 -412
  38. package/CHANGELOG.md +0 -38
  39. package/THIRD_PARTY_NOTICES.md +0 -37
  40. package/docs/.i18n/README.md +0 -81
  41. package/docs/.i18n/ar-navigation.json +0 -18
  42. package/docs/.i18n/de-navigation.json +0 -18
  43. package/docs/.i18n/es-navigation.json +0 -18
  44. package/docs/.i18n/fr-navigation.json +0 -18
  45. package/docs/.i18n/glossary.ar.json +0 -78
  46. package/docs/.i18n/glossary.de.json +0 -78
  47. package/docs/.i18n/glossary.es.json +0 -78
  48. package/docs/.i18n/glossary.fa.json +0 -78
  49. package/docs/.i18n/glossary.fr.json +0 -78
  50. package/docs/.i18n/glossary.id.json +0 -78
  51. package/docs/.i18n/glossary.it.json +0 -78
  52. package/docs/.i18n/glossary.ja-JP.json +0 -98
  53. package/docs/.i18n/glossary.ko.json +0 -78
  54. package/docs/.i18n/glossary.nl.json +0 -78
  55. package/docs/.i18n/glossary.pl.json +0 -78
  56. package/docs/.i18n/glossary.pt-BR.json +0 -78
  57. package/docs/.i18n/glossary.th.json +0 -78
  58. package/docs/.i18n/glossary.tr.json +0 -78
  59. package/docs/.i18n/glossary.uk.json +0 -78
  60. package/docs/.i18n/glossary.vi.json +0 -78
  61. package/docs/.i18n/glossary.zh-CN.json +0 -1122
  62. package/docs/.i18n/glossary.zh-TW.json +0 -78
  63. package/docs/.i18n/id-navigation.json +0 -18
  64. package/docs/.i18n/it-navigation.json +0 -18
  65. package/docs/.i18n/ja-navigation.json +0 -18
  66. package/docs/.i18n/ko-navigation.json +0 -18
  67. package/docs/.i18n/pl-navigation.json +0 -18
  68. package/docs/.i18n/pt-BR-navigation.json +0 -18
  69. package/docs/.i18n/tr-navigation.json +0 -18
  70. package/docs/.i18n/translation-workflow.md +0 -111
  71. package/docs/.i18n/zh-Hans-navigation.json +0 -552
  72. package/docs/AGENTS.md +0 -36
  73. package/docs/CLAUDE.md +0 -1
  74. package/docs/agent-runtime-architecture.md +0 -48
  75. package/docs/announcements/bluebubbles-imessage.md +0 -79
  76. package/docs/auth-credential-semantics.md +0 -124
  77. package/docs/automation/auth-monitoring.md +0 -11
  78. package/docs/automation/clawflow.md +0 -12
  79. package/docs/automation/cron-jobs.md +0 -534
  80. package/docs/automation/cron-vs-heartbeat.md +0 -11
  81. package/docs/automation/gmail-pubsub.md +0 -11
  82. package/docs/automation/hooks.md +0 -387
  83. package/docs/automation/index.md +0 -135
  84. package/docs/automation/poll.md +0 -12
  85. package/docs/automation/standing-orders.md +0 -250
  86. package/docs/automation/taskflow.md +0 -155
  87. package/docs/automation/tasks.md +0 -374
  88. package/docs/automation/troubleshooting.md +0 -12
  89. package/docs/automation/webhook.md +0 -12
  90. package/docs/brave-search.md +0 -11
  91. package/docs/channels/access-groups.md +0 -201
  92. package/docs/channels/ambient-room-events.md +0 -214
  93. package/docs/channels/bot-loop-protection.md +0 -131
  94. package/docs/channels/broadcast-groups.md +0 -472
  95. package/docs/channels/channel-routing.md +0 -162
  96. package/docs/channels/clickclack.md +0 -138
  97. package/docs/channels/discord.md +0 -1758
  98. package/docs/channels/feishu.md +0 -650
  99. package/docs/channels/googlechat.md +0 -284
  100. package/docs/channels/group-messages.md +0 -95
  101. package/docs/channels/groups.md +0 -524
  102. package/docs/channels/imessage-from-bluebubbles.md +0 -259
  103. package/docs/channels/imessage.md +0 -839
  104. package/docs/channels/index.md +0 -64
  105. package/docs/channels/irc.md +0 -253
  106. package/docs/channels/line.md +0 -243
  107. package/docs/channels/location.md +0 -71
  108. package/docs/channels/matrix-migration.md +0 -370
  109. package/docs/channels/matrix-presentation.md +0 -77
  110. package/docs/channels/matrix-push-rules.md +0 -150
  111. package/docs/channels/matrix.md +0 -921
  112. package/docs/channels/mattermost.md +0 -542
  113. package/docs/channels/msteams.md +0 -1096
  114. package/docs/channels/nextcloud-talk.md +0 -176
  115. package/docs/channels/nostr.md +0 -253
  116. package/docs/channels/pairing.md +0 -214
  117. package/docs/channels/qqbot.md +0 -314
  118. package/docs/channels/signal.md +0 -417
  119. package/docs/channels/slack.md +0 -1623
  120. package/docs/channels/synology-chat.md +0 -187
  121. package/docs/channels/telegram.md +0 -1124
  122. package/docs/channels/tlon.md +0 -296
  123. package/docs/channels/troubleshooting.md +0 -162
  124. package/docs/channels/twitch.md +0 -431
  125. package/docs/channels/wechat.md +0 -171
  126. package/docs/channels/whatsapp.md +0 -796
  127. package/docs/channels/yuanbao.md +0 -416
  128. package/docs/channels/zalo.md +0 -253
  129. package/docs/channels/zalouser.md +0 -217
  130. package/docs/ci.md +0 -657
  131. package/docs/clawhub/publishing.md +0 -96
  132. package/docs/cli/acp.md +0 -370
  133. package/docs/cli/agent.md +0 -109
  134. package/docs/cli/agents.md +0 -253
  135. package/docs/cli/approvals.md +0 -190
  136. package/docs/cli/backup.md +0 -98
  137. package/docs/cli/browser.md +0 -307
  138. package/docs/cli/channels.md +0 -154
  139. package/docs/cli/clawbot.md +0 -25
  140. package/docs/cli/commitments.md +0 -90
  141. package/docs/cli/completion.md +0 -39
  142. package/docs/cli/config.md +0 -504
  143. package/docs/cli/configure.md +0 -77
  144. package/docs/cli/crestodian.md +0 -337
  145. package/docs/cli/cron.md +0 -304
  146. package/docs/cli/daemon.md +0 -67
  147. package/docs/cli/dashboard.md +0 -33
  148. package/docs/cli/devices.md +0 -240
  149. package/docs/cli/directory.md +0 -68
  150. package/docs/cli/dns.md +0 -53
  151. package/docs/cli/docs.md +0 -63
  152. package/docs/cli/doctor.md +0 -241
  153. package/docs/cli/flows.md +0 -52
  154. package/docs/cli/gateway.md +0 -572
  155. package/docs/cli/health.md +0 -43
  156. package/docs/cli/hooks.md +0 -345
  157. package/docs/cli/index.md +0 -400
  158. package/docs/cli/infer.md +0 -364
  159. package/docs/cli/logs.md +0 -68
  160. package/docs/cli/mcp.md +0 -529
  161. package/docs/cli/memory.md +0 -183
  162. package/docs/cli/message.md +0 -317
  163. package/docs/cli/migrate.md +0 -334
  164. package/docs/cli/models.md +0 -239
  165. package/docs/cli/node.md +0 -177
  166. package/docs/cli/nodes.md +0 -76
  167. package/docs/cli/onboard.md +0 -250
  168. package/docs/cli/pairing.md +0 -77
  169. package/docs/cli/path.md +0 -511
  170. package/docs/cli/plugins.md +0 -459
  171. package/docs/cli/policy.md +0 -886
  172. package/docs/cli/proxy.md +0 -89
  173. package/docs/cli/qr.md +0 -56
  174. package/docs/cli/reset.md +0 -39
  175. package/docs/cli/sandbox.md +0 -208
  176. package/docs/cli/secrets.md +0 -202
  177. package/docs/cli/security.md +0 -136
  178. package/docs/cli/sessions.md +0 -164
  179. package/docs/cli/setup.md +0 -59
  180. package/docs/cli/skills.md +0 -122
  181. package/docs/cli/status.md +0 -45
  182. package/docs/cli/system.md +0 -89
  183. package/docs/cli/tasks.md +0 -111
  184. package/docs/cli/transcripts.md +0 -151
  185. package/docs/cli/tui.md +0 -91
  186. package/docs/cli/uninstall.md +0 -44
  187. package/docs/cli/update.md +0 -243
  188. package/docs/cli/voicecall.md +0 -204
  189. package/docs/cli/webhooks.md +0 -117
  190. package/docs/cli/wiki.md +0 -256
  191. package/docs/concepts/active-memory.md +0 -856
  192. package/docs/concepts/agent-loop.md +0 -185
  193. package/docs/concepts/agent-runtimes.md +0 -276
  194. package/docs/concepts/agent-workspace.md +0 -230
  195. package/docs/concepts/agent.md +0 -140
  196. package/docs/concepts/architecture.md +0 -154
  197. package/docs/concepts/channel-docking.md +0 -145
  198. package/docs/concepts/commitments.md +0 -150
  199. package/docs/concepts/compaction.md +0 -203
  200. package/docs/concepts/context-engine.md +0 -347
  201. package/docs/concepts/context.md +0 -199
  202. package/docs/concepts/delegate-architecture.md +0 -319
  203. package/docs/concepts/dreaming.md +0 -264
  204. package/docs/concepts/experimental-features.md +0 -109
  205. package/docs/concepts/features.md +0 -91
  206. package/docs/concepts/fengming-sdk.md +0 -323
  207. package/docs/concepts/mantis-slack-desktop-runbook.md +0 -231
  208. package/docs/concepts/mantis.md +0 -744
  209. package/docs/concepts/markdown-formatting.md +0 -139
  210. package/docs/concepts/memory-builtin.md +0 -148
  211. package/docs/concepts/memory-honcho.md +0 -144
  212. package/docs/concepts/memory-qmd.md +0 -271
  213. package/docs/concepts/memory-search.md +0 -167
  214. package/docs/concepts/memory.md +0 -299
  215. package/docs/concepts/message-lifecycle-refactor.md +0 -1126
  216. package/docs/concepts/messages.md +0 -214
  217. package/docs/concepts/model-failover.md +0 -384
  218. package/docs/concepts/model-providers.md +0 -719
  219. package/docs/concepts/models.md +0 -371
  220. package/docs/concepts/multi-agent.md +0 -625
  221. package/docs/concepts/oauth.md +0 -198
  222. package/docs/concepts/parallel-specialist-lanes.md +0 -127
  223. package/docs/concepts/personal-agent-benchmark-pack.md +0 -74
  224. package/docs/concepts/presence.md +0 -117
  225. package/docs/concepts/progress-drafts.md +0 -406
  226. package/docs/concepts/qa-e2e-automation.md +0 -947
  227. package/docs/concepts/qa-matrix.md +0 -139
  228. package/docs/concepts/queue-steering.md +0 -90
  229. package/docs/concepts/queue.md +0 -136
  230. package/docs/concepts/retry.md +0 -86
  231. package/docs/concepts/session-pruning.md +0 -104
  232. package/docs/concepts/session-tool.md +0 -188
  233. package/docs/concepts/session.md +0 -164
  234. package/docs/concepts/soul.md +0 -116
  235. package/docs/concepts/streaming.md +0 -257
  236. package/docs/concepts/system-prompt.md +0 -328
  237. package/docs/concepts/timezone.md +0 -47
  238. package/docs/concepts/typebox.md +0 -309
  239. package/docs/concepts/typing-indicators.md +0 -88
  240. package/docs/concepts/usage-tracking.md +0 -66
  241. package/docs/date-time.md +0 -126
  242. package/docs/debug/node-issue.md +0 -90
  243. package/docs/diagnostics/flags.md +0 -182
  244. package/docs/docs.json +0 -1862
  245. package/docs/fengming-agent-runtime.md +0 -82
  246. package/docs/gateway/authentication.md +0 -256
  247. package/docs/gateway/background-process.md +0 -147
  248. package/docs/gateway/bonjour.md +0 -303
  249. package/docs/gateway/bridge-protocol.md +0 -97
  250. package/docs/gateway/cli-backends.md +0 -439
  251. package/docs/gateway/config-agents.md +0 -1525
  252. package/docs/gateway/config-channels.md +0 -945
  253. package/docs/gateway/config-tools.md +0 -774
  254. package/docs/gateway/configuration-examples.md +0 -704
  255. package/docs/gateway/configuration-reference.md +0 -1391
  256. package/docs/gateway/configuration.md +0 -739
  257. package/docs/gateway/diagnostics.md +0 -213
  258. package/docs/gateway/discovery.md +0 -154
  259. package/docs/gateway/doctor.md +0 -575
  260. package/docs/gateway/gateway-lock.md +0 -37
  261. package/docs/gateway/health.md +0 -73
  262. package/docs/gateway/heartbeat.md +0 -498
  263. package/docs/gateway/index.md +0 -383
  264. package/docs/gateway/local-model-services.md +0 -205
  265. package/docs/gateway/local-models.md +0 -355
  266. package/docs/gateway/logging.md +0 -149
  267. package/docs/gateway/multiple-gateways.md +0 -178
  268. package/docs/gateway/network-model.md +0 -15
  269. package/docs/gateway/openai-http-api.md +0 -378
  270. package/docs/gateway/openresponses-http-api.md +0 -347
  271. package/docs/gateway/openshell.md +0 -316
  272. package/docs/gateway/opentelemetry.md +0 -433
  273. package/docs/gateway/operator-scopes.md +0 -119
  274. package/docs/gateway/pairing.md +0 -207
  275. package/docs/gateway/prometheus.md +0 -249
  276. package/docs/gateway/protocol.md +0 -826
  277. package/docs/gateway/remote-gateway-readme.md +0 -169
  278. package/docs/gateway/remote.md +0 -280
  279. package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +0 -148
  280. package/docs/gateway/sandboxing.md +0 -546
  281. package/docs/gateway/secrets-plan-contract.md +0 -159
  282. package/docs/gateway/secrets.md +0 -805
  283. package/docs/gateway/security/audit-checks.md +0 -127
  284. package/docs/gateway/security/exposure-runbook.md +0 -212
  285. package/docs/gateway/security/index.md +0 -1343
  286. package/docs/gateway/security/secure-file-operations.md +0 -76
  287. package/docs/gateway/security/shrinkwrap.md +0 -111
  288. package/docs/gateway/tailscale.md +0 -156
  289. package/docs/gateway/tools-invoke-http-api.md +0 -169
  290. package/docs/gateway/troubleshooting.md +0 -877
  291. package/docs/gateway/trusted-proxy-auth.md +0 -483
  292. package/docs/help/debugging.md +0 -341
  293. package/docs/help/environment.md +0 -233
  294. package/docs/help/faq-first-run.md +0 -870
  295. package/docs/help/faq-models.md +0 -556
  296. package/docs/help/faq.md +0 -2041
  297. package/docs/help/index.md +0 -39
  298. package/docs/help/scripts.md +0 -56
  299. package/docs/help/testing-live.md +0 -587
  300. package/docs/help/testing-updates-plugins.md +0 -299
  301. package/docs/help/testing.md +0 -977
  302. package/docs/help/troubleshooting.md +0 -449
  303. package/docs/index.md +0 -196
  304. package/docs/install/ansible.md +0 -233
  305. package/docs/install/azure.md +0 -315
  306. package/docs/install/bun.md +0 -59
  307. package/docs/install/clawdock.md +0 -112
  308. package/docs/install/development-channels.md +0 -148
  309. package/docs/install/digitalocean.md +0 -174
  310. package/docs/install/docker-vm-runtime.md +0 -154
  311. package/docs/install/docker.md +0 -564
  312. package/docs/install/exe-dev.md +0 -201
  313. package/docs/install/fly.md +0 -524
  314. package/docs/install/gcp.md +0 -418
  315. package/docs/install/hetzner.md +0 -285
  316. package/docs/install/hostinger.md +0 -98
  317. package/docs/install/index.md +0 -232
  318. package/docs/install/installer.md +0 -447
  319. package/docs/install/kubernetes.md +0 -196
  320. package/docs/install/macos-vm.md +0 -281
  321. package/docs/install/migrating-claude.md +0 -165
  322. package/docs/install/migrating-hermes.md +0 -178
  323. package/docs/install/migrating.md +0 -137
  324. package/docs/install/nix.md +0 -112
  325. package/docs/install/node.md +0 -142
  326. package/docs/install/northflank.mdx +0 -44
  327. package/docs/install/oracle.md +0 -218
  328. package/docs/install/podman.md +0 -216
  329. package/docs/install/railway.mdx +0 -92
  330. package/docs/install/raspberry-pi.md +0 -234
  331. package/docs/install/render.mdx +0 -167
  332. package/docs/install/uninstall.md +0 -131
  333. package/docs/install/updating.md +0 -284
  334. package/docs/install/upstash.md +0 -96
  335. package/docs/logging.md +0 -320
  336. package/docs/nav-tabs-underline.js +0 -100
  337. package/docs/network.md +0 -72
  338. package/docs/nodes/audio.md +0 -216
  339. package/docs/nodes/camera.md +0 -166
  340. package/docs/nodes/images.md +0 -77
  341. package/docs/nodes/index.md +0 -439
  342. package/docs/nodes/location-command.md +0 -102
  343. package/docs/nodes/media-understanding.md +0 -495
  344. package/docs/nodes/talk.md +0 -160
  345. package/docs/nodes/troubleshooting.md +0 -123
  346. package/docs/nodes/voicewake.md +0 -93
  347. package/docs/perplexity.md +0 -11
  348. package/docs/plan/codex-context-engine-harness.md +0 -624
  349. package/docs/plan/ui-channels.md +0 -284
  350. package/docs/platforms/digitalocean.md +0 -12
  351. package/docs/platforms/easyrunner.md +0 -109
  352. package/docs/platforms/index.md +0 -51
  353. package/docs/platforms/linux.md +0 -141
  354. package/docs/platforms/mac/bundled-gateway.md +0 -79
  355. package/docs/platforms/mac/canvas.md +0 -128
  356. package/docs/platforms/mac/child-process.md +0 -72
  357. package/docs/platforms/mac/dev-setup.md +0 -112
  358. package/docs/platforms/mac/health.md +0 -39
  359. package/docs/platforms/mac/icon.md +0 -36
  360. package/docs/platforms/mac/logging.md +0 -62
  361. package/docs/platforms/mac/menu-bar.md +0 -93
  362. package/docs/platforms/mac/peekaboo.md +0 -96
  363. package/docs/platforms/mac/permissions.md +0 -73
  364. package/docs/platforms/mac/remote.md +0 -123
  365. package/docs/platforms/mac/signing.md +0 -52
  366. package/docs/platforms/mac/skills.md +0 -43
  367. package/docs/platforms/mac/voice-overlay.md +0 -66
  368. package/docs/platforms/mac/voicewake.md +0 -73
  369. package/docs/platforms/mac/webchat.md +0 -54
  370. package/docs/platforms/mac/xpc.md +0 -66
  371. package/docs/platforms/oracle.md +0 -12
  372. package/docs/platforms/raspberry-pi.md +0 -13
  373. package/docs/platforms/windows.md +0 -286
  374. package/docs/plugins/adding-capabilities.md +0 -146
  375. package/docs/plugins/admin-http-rpc.md +0 -216
  376. package/docs/plugins/agent-tools.md +0 -13
  377. package/docs/plugins/architecture-internals.md +0 -1196
  378. package/docs/plugins/architecture.md +0 -483
  379. package/docs/plugins/building-extensions.md +0 -13
  380. package/docs/plugins/building-plugins.md +0 -335
  381. package/docs/plugins/bundles.md +0 -310
  382. package/docs/plugins/cli-backend-plugins.md +0 -310
  383. package/docs/plugins/codex-computer-use.md +0 -297
  384. package/docs/plugins/codex-harness-reference.md +0 -470
  385. package/docs/plugins/codex-harness-runtime.md +0 -268
  386. package/docs/plugins/codex-harness.md +0 -780
  387. package/docs/plugins/codex-native-plugins.md +0 -276
  388. package/docs/plugins/community.md +0 -77
  389. package/docs/plugins/compatibility.md +0 -167
  390. package/docs/plugins/copilot.md +0 -356
  391. package/docs/plugins/dependency-resolution.md +0 -176
  392. package/docs/plugins/google-meet.md +0 -1737
  393. package/docs/plugins/hooks.md +0 -484
  394. package/docs/plugins/install-overrides.md +0 -80
  395. package/docs/plugins/manage-plugins.md +0 -210
  396. package/docs/plugins/manifest.md +0 -1457
  397. package/docs/plugins/memory-lancedb.md +0 -385
  398. package/docs/plugins/memory-wiki.md +0 -529
  399. package/docs/plugins/message-presentation.md +0 -473
  400. package/docs/plugins/oc-path.md +0 -166
  401. package/docs/plugins/plugin-inventory.md +0 -189
  402. package/docs/plugins/plugin-permission-requests.md +0 -193
  403. package/docs/plugins/reference/acpx.md +0 -23
  404. package/docs/plugins/reference/admin-http-rpc.md +0 -23
  405. package/docs/plugins/reference/alibaba.md +0 -23
  406. package/docs/plugins/reference/amazon-bedrock-mantle.md +0 -23
  407. package/docs/plugins/reference/amazon-bedrock.md +0 -23
  408. package/docs/plugins/reference/anthropic-vertex.md +0 -19
  409. package/docs/plugins/reference/anthropic.md +0 -23
  410. package/docs/plugins/reference/arcee.md +0 -23
  411. package/docs/plugins/reference/azure-speech.md +0 -23
  412. package/docs/plugins/reference/bonjour.md +0 -19
  413. package/docs/plugins/reference/brave.md +0 -23
  414. package/docs/plugins/reference/browser.md +0 -23
  415. package/docs/plugins/reference/byteplus.md +0 -19
  416. package/docs/plugins/reference/canvas.md +0 -19
  417. package/docs/plugins/reference/cerebras.md +0 -23
  418. package/docs/plugins/reference/chutes.md +0 -23
  419. package/docs/plugins/reference/clickclack.md +0 -23
  420. package/docs/plugins/reference/cloudflare-ai-gateway.md +0 -23
  421. package/docs/plugins/reference/codex-supervisor.md +0 -27
  422. package/docs/plugins/reference/codex.md +0 -23
  423. package/docs/plugins/reference/comfy.md +0 -23
  424. package/docs/plugins/reference/copilot-proxy.md +0 -19
  425. package/docs/plugins/reference/copilot.md +0 -23
  426. package/docs/plugins/reference/deepgram.md +0 -23
  427. package/docs/plugins/reference/deepinfra.md +0 -23
  428. package/docs/plugins/reference/deepseek.md +0 -23
  429. package/docs/plugins/reference/diagnostics-otel.md +0 -19
  430. package/docs/plugins/reference/diagnostics-prometheus.md +0 -19
  431. package/docs/plugins/reference/diffs-language-pack.md +0 -19
  432. package/docs/plugins/reference/diffs.md +0 -19
  433. package/docs/plugins/reference/discord.md +0 -23
  434. package/docs/plugins/reference/document-extract.md +0 -23
  435. package/docs/plugins/reference/duckduckgo.md +0 -23
  436. package/docs/plugins/reference/elevenlabs.md +0 -23
  437. package/docs/plugins/reference/exa.md +0 -23
  438. package/docs/plugins/reference/fal.md +0 -23
  439. package/docs/plugins/reference/feishu.md +0 -23
  440. package/docs/plugins/reference/file-transfer.md +0 -19
  441. package/docs/plugins/reference/firecrawl.md +0 -23
  442. package/docs/plugins/reference/fireworks.md +0 -23
  443. package/docs/plugins/reference/github-copilot.md +0 -23
  444. package/docs/plugins/reference/gmi.md +0 -23
  445. package/docs/plugins/reference/google-meet.md +0 -23
  446. package/docs/plugins/reference/google.md +0 -23
  447. package/docs/plugins/reference/googlechat.md +0 -23
  448. package/docs/plugins/reference/gradium.md +0 -23
  449. package/docs/plugins/reference/groq.md +0 -23
  450. package/docs/plugins/reference/huggingface.md +0 -23
  451. package/docs/plugins/reference/imessage.md +0 -23
  452. package/docs/plugins/reference/inworld.md +0 -23
  453. package/docs/plugins/reference/irc.md +0 -23
  454. package/docs/plugins/reference/kilocode.md +0 -23
  455. package/docs/plugins/reference/kimi.md +0 -23
  456. package/docs/plugins/reference/line.md +0 -23
  457. package/docs/plugins/reference/litellm.md +0 -23
  458. package/docs/plugins/reference/llm-task.md +0 -19
  459. package/docs/plugins/reference/lmstudio.md +0 -23
  460. package/docs/plugins/reference/lobster.md +0 -19
  461. package/docs/plugins/reference/matrix.md +0 -23
  462. package/docs/plugins/reference/mattermost.md +0 -23
  463. package/docs/plugins/reference/memory-core.md +0 -19
  464. package/docs/plugins/reference/memory-lancedb.md +0 -23
  465. package/docs/plugins/reference/memory-wiki.md +0 -23
  466. package/docs/plugins/reference/microsoft-foundry.md +0 -19
  467. package/docs/plugins/reference/microsoft.md +0 -19
  468. package/docs/plugins/reference/migrate-claude.md +0 -19
  469. package/docs/plugins/reference/migrate-hermes.md +0 -19
  470. package/docs/plugins/reference/minimax.md +0 -23
  471. package/docs/plugins/reference/mistral.md +0 -23
  472. package/docs/plugins/reference/moonshot.md +0 -23
  473. package/docs/plugins/reference/msteams.md +0 -23
  474. package/docs/plugins/reference/nextcloud-talk.md +0 -23
  475. package/docs/plugins/reference/nostr.md +0 -23
  476. package/docs/plugins/reference/novita.md +0 -23
  477. package/docs/plugins/reference/nvidia.md +0 -23
  478. package/docs/plugins/reference/oc-path.md +0 -23
  479. package/docs/plugins/reference/ollama.md +0 -23
  480. package/docs/plugins/reference/open-prose.md +0 -19
  481. package/docs/plugins/reference/openai.md +0 -23
  482. package/docs/plugins/reference/opencode-go.md +0 -23
  483. package/docs/plugins/reference/opencode.md +0 -23
  484. package/docs/plugins/reference/openrouter.md +0 -23
  485. package/docs/plugins/reference/openshell.md +0 -19
  486. package/docs/plugins/reference/perplexity.md +0 -23
  487. package/docs/plugins/reference/pixverse.md +0 -23
  488. package/docs/plugins/reference/policy.md +0 -72
  489. package/docs/plugins/reference/qa-channel.md +0 -23
  490. package/docs/plugins/reference/qa-lab.md +0 -19
  491. package/docs/plugins/reference/qa-matrix.md +0 -19
  492. package/docs/plugins/reference/qianfan.md +0 -23
  493. package/docs/plugins/reference/qqbot.md +0 -23
  494. package/docs/plugins/reference/qwen.md +0 -23
  495. package/docs/plugins/reference/runway.md +0 -23
  496. package/docs/plugins/reference/searxng.md +0 -19
  497. package/docs/plugins/reference/senseaudio.md +0 -23
  498. package/docs/plugins/reference/sglang.md +0 -23
  499. package/docs/plugins/reference/signal.md +0 -23
  500. package/docs/plugins/reference/skill-workshop.md +0 -23
  501. package/docs/plugins/reference/slack.md +0 -23
  502. package/docs/plugins/reference/stepfun.md +0 -23
  503. package/docs/plugins/reference/synology-chat.md +0 -23
  504. package/docs/plugins/reference/synthetic.md +0 -23
  505. package/docs/plugins/reference/tavily.md +0 -23
  506. package/docs/plugins/reference/telegram.md +0 -23
  507. package/docs/plugins/reference/tencent.md +0 -23
  508. package/docs/plugins/reference/tlon.md +0 -23
  509. package/docs/plugins/reference/together.md +0 -23
  510. package/docs/plugins/reference/tokenjuice.md +0 -23
  511. package/docs/plugins/reference/tts-local-cli.md +0 -19
  512. package/docs/plugins/reference/twitch.md +0 -23
  513. package/docs/plugins/reference/venice.md +0 -23
  514. package/docs/plugins/reference/vercel-ai-gateway.md +0 -23
  515. package/docs/plugins/reference/vllm.md +0 -23
  516. package/docs/plugins/reference/voice-call.md +0 -23
  517. package/docs/plugins/reference/volcengine.md +0 -23
  518. package/docs/plugins/reference/voyage.md +0 -19
  519. package/docs/plugins/reference/vydra.md +0 -23
  520. package/docs/plugins/reference/web-readability.md +0 -19
  521. package/docs/plugins/reference/webhooks.md +0 -23
  522. package/docs/plugins/reference/whatsapp.md +0 -23
  523. package/docs/plugins/reference/workboard.md +0 -23
  524. package/docs/plugins/reference/xai.md +0 -23
  525. package/docs/plugins/reference/xiaomi.md +0 -23
  526. package/docs/plugins/reference/zai.md +0 -23
  527. package/docs/plugins/reference/zalo.md +0 -23
  528. package/docs/plugins/reference/zalouser.md +0 -24
  529. package/docs/plugins/reference.md +0 -145
  530. package/docs/plugins/sdk-agent-harness.md +0 -338
  531. package/docs/plugins/sdk-channel-inbound.md +0 -70
  532. package/docs/plugins/sdk-channel-ingress.md +0 -137
  533. package/docs/plugins/sdk-channel-message.md +0 -18
  534. package/docs/plugins/sdk-channel-outbound.md +0 -113
  535. package/docs/plugins/sdk-channel-plugins.md +0 -765
  536. package/docs/plugins/sdk-channel-turn.md +0 -9
  537. package/docs/plugins/sdk-entrypoints.md +0 -344
  538. package/docs/plugins/sdk-migration.md +0 -979
  539. package/docs/plugins/sdk-overview.md +0 -511
  540. package/docs/plugins/sdk-provider-plugins.md +0 -846
  541. package/docs/plugins/sdk-runtime.md +0 -676
  542. package/docs/plugins/sdk-setup.md +0 -550
  543. package/docs/plugins/sdk-subpaths.md +0 -391
  544. package/docs/plugins/sdk-testing.md +0 -403
  545. package/docs/plugins/skill-workshop.md +0 -713
  546. package/docs/plugins/tool-plugins.md +0 -411
  547. package/docs/plugins/voice-call.md +0 -942
  548. package/docs/plugins/webhooks.md +0 -192
  549. package/docs/plugins/workboard.md +0 -252
  550. package/docs/plugins/zalouser.md +0 -86
  551. package/docs/prose.md +0 -137
  552. package/docs/providers/alibaba.md +0 -158
  553. package/docs/providers/anthropic.md +0 -381
  554. package/docs/providers/arcee.md +0 -144
  555. package/docs/providers/azure-speech.md +0 -119
  556. package/docs/providers/bedrock-mantle.md +0 -211
  557. package/docs/providers/bedrock.md +0 -414
  558. package/docs/providers/cerebras.md +0 -130
  559. package/docs/providers/chutes.md +0 -153
  560. package/docs/providers/claude-max-api-proxy.md +0 -191
  561. package/docs/providers/cloudflare-ai-gateway.md +0 -119
  562. package/docs/providers/comfy.md +0 -362
  563. package/docs/providers/deepgram.md +0 -184
  564. package/docs/providers/deepinfra.md +0 -92
  565. package/docs/providers/deepseek.md +0 -146
  566. package/docs/providers/ds4.md +0 -309
  567. package/docs/providers/elevenlabs.md +0 -130
  568. package/docs/providers/fal.md +0 -240
  569. package/docs/providers/fireworks.md +0 -144
  570. package/docs/providers/github-copilot.md +0 -257
  571. package/docs/providers/gmi.md +0 -92
  572. package/docs/providers/google.md +0 -472
  573. package/docs/providers/gradium.md +0 -123
  574. package/docs/providers/groq.md +0 -171
  575. package/docs/providers/huggingface.md +0 -235
  576. package/docs/providers/index.md +0 -105
  577. package/docs/providers/inferrs.md +0 -272
  578. package/docs/providers/inworld.md +0 -120
  579. package/docs/providers/kilocode.md +0 -135
  580. package/docs/providers/litellm.md +0 -234
  581. package/docs/providers/lmstudio.md +0 -224
  582. package/docs/providers/minimax.md +0 -505
  583. package/docs/providers/mistral.md +0 -235
  584. package/docs/providers/models.md +0 -64
  585. package/docs/providers/moonshot.md +0 -413
  586. package/docs/providers/novita.md +0 -92
  587. package/docs/providers/nvidia.md +0 -158
  588. package/docs/providers/ollama-cloud.md +0 -115
  589. package/docs/providers/ollama.md +0 -1225
  590. package/docs/providers/openai.md +0 -1093
  591. package/docs/providers/opencode-go.md +0 -123
  592. package/docs/providers/opencode.md +0 -149
  593. package/docs/providers/openrouter.md +0 -349
  594. package/docs/providers/perplexity-provider.md +0 -123
  595. package/docs/providers/pixverse.md +0 -165
  596. package/docs/providers/qianfan.md +0 -132
  597. package/docs/providers/qwen-oauth.md +0 -115
  598. package/docs/providers/qwen.md +0 -364
  599. package/docs/providers/runway.md +0 -103
  600. package/docs/providers/senseaudio.md +0 -68
  601. package/docs/providers/sglang.md +0 -161
  602. package/docs/providers/stepfun.md +0 -229
  603. package/docs/providers/synthetic.md +0 -154
  604. package/docs/providers/tencent.md +0 -130
  605. package/docs/providers/together.md +0 -140
  606. package/docs/providers/venice.md +0 -312
  607. package/docs/providers/vercel-ai-gateway.md +0 -128
  608. package/docs/providers/vllm.md +0 -407
  609. package/docs/providers/volcengine.md +0 -199
  610. package/docs/providers/vydra.md +0 -180
  611. package/docs/providers/xai.md +0 -571
  612. package/docs/providers/xiaomi.md +0 -262
  613. package/docs/providers/zai.md +0 -224
  614. package/docs/refactor/access.md +0 -9
  615. package/docs/refactor/acp.md +0 -298
  616. package/docs/refactor/canvas.md +0 -131
  617. package/docs/refactor/database-first.md +0 -2256
  618. package/docs/refactor/ingress-core.md +0 -341
  619. package/docs/reference/AGENTS.default.md +0 -131
  620. package/docs/reference/RELEASING.md +0 -799
  621. package/docs/reference/api-usage-costs.md +0 -208
  622. package/docs/reference/application-modernization-plan.md +0 -208
  623. package/docs/reference/code-mode.md +0 -773
  624. package/docs/reference/credits.md +0 -33
  625. package/docs/reference/device-models.md +0 -50
  626. package/docs/reference/fengming-sdk-api-design.md +0 -390
  627. package/docs/reference/full-release-validation.md +0 -202
  628. package/docs/reference/memory-config.md +0 -604
  629. package/docs/reference/prompt-caching.md +0 -358
  630. package/docs/reference/release-performance-sweep.md +0 -360
  631. package/docs/reference/rich-output-protocol.md +0 -101
  632. package/docs/reference/rpc.md +0 -43
  633. package/docs/reference/secret-placeholder-conventions.md +0 -33
  634. package/docs/reference/secretref-credential-surface.md +0 -159
  635. package/docs/reference/secretref-user-supplied-credentials-matrix.json +0 -663
  636. package/docs/reference/session-management-compaction.md +0 -474
  637. package/docs/reference/templates/AGENTS.dev.md +0 -90
  638. package/docs/reference/templates/AGENTS.md +0 -227
  639. package/docs/reference/templates/BOOT.md +0 -16
  640. package/docs/reference/templates/BOOTSTRAP.md +0 -66
  641. package/docs/reference/templates/CLAUDE.md +0 -1
  642. package/docs/reference/templates/HEARTBEAT.md +0 -24
  643. package/docs/reference/templates/IDENTITY.dev.md +0 -52
  644. package/docs/reference/templates/IDENTITY.md +0 -34
  645. package/docs/reference/templates/SOUL.dev.md +0 -82
  646. package/docs/reference/templates/SOUL.md +0 -49
  647. package/docs/reference/templates/TOOLS.dev.md +0 -29
  648. package/docs/reference/templates/TOOLS.md +0 -51
  649. package/docs/reference/templates/USER.dev.md +0 -23
  650. package/docs/reference/templates/USER.md +0 -28
  651. package/docs/reference/test.md +0 -247
  652. package/docs/reference/token-use.md +0 -246
  653. package/docs/reference/transcript-hygiene.md +0 -214
  654. package/docs/reference/wizard.md +0 -252
  655. package/docs/security/CONTRIBUTING-THREAT-MODEL.md +0 -101
  656. package/docs/security/THREAT-MODEL-ATLAS.md +0 -611
  657. package/docs/security/formal-verification.md +0 -170
  658. package/docs/security/incident-response.md +0 -59
  659. package/docs/security/network-proxy.md +0 -268
  660. package/docs/snippets/plugin-publish/minimal-fengming.plugin.json +0 -12
  661. package/docs/snippets/plugin-publish/minimal-package.json +0 -16
  662. package/docs/specs/claw-supervisor.md +0 -247
  663. package/docs/start/bootstrapping.md +0 -49
  664. package/docs/start/docs-directory.md +0 -69
  665. package/docs/start/fengming.md +0 -252
  666. package/docs/start/getting-started.md +0 -152
  667. package/docs/start/hubs.md +0 -201
  668. package/docs/start/lore.md +0 -223
  669. package/docs/start/onboarding-overview.md +0 -72
  670. package/docs/start/onboarding.md +0 -98
  671. package/docs/start/quickstart.md +0 -25
  672. package/docs/start/setup.md +0 -178
  673. package/docs/start/showcase.md +0 -363
  674. package/docs/start/wizard-cli-automation.md +0 -232
  675. package/docs/start/wizard-cli-reference.md +0 -331
  676. package/docs/start/wizard.md +0 -141
  677. package/docs/style.css +0 -137
  678. package/docs/superpowers/specs/2026-04-22-tweakcn-custom-theme-import-design.md +0 -316
  679. package/docs/tools/acp-agents-setup.md +0 -351
  680. package/docs/tools/acp-agents.md +0 -854
  681. package/docs/tools/agent-send.md +0 -130
  682. package/docs/tools/apply-patch.md +0 -64
  683. package/docs/tools/brave-search.md +0 -139
  684. package/docs/tools/browser-control.md +0 -391
  685. package/docs/tools/browser-linux-troubleshooting.md +0 -173
  686. package/docs/tools/browser-login.md +0 -77
  687. package/docs/tools/browser-wsl2-windows-remote-cdp-troubleshooting.md +0 -219
  688. package/docs/tools/browser.md +0 -810
  689. package/docs/tools/btw.md +0 -159
  690. package/docs/tools/capability-cookbook.md +0 -12
  691. package/docs/tools/clawhub.md +0 -5
  692. package/docs/tools/code-execution.md +0 -173
  693. package/docs/tools/creating-skills.md +0 -158
  694. package/docs/tools/diffs.md +0 -525
  695. package/docs/tools/duckduckgo-search.md +0 -109
  696. package/docs/tools/elevated.md +0 -128
  697. package/docs/tools/exa-search.md +0 -152
  698. package/docs/tools/exec-approvals-advanced.md +0 -444
  699. package/docs/tools/exec-approvals.md +0 -494
  700. package/docs/tools/exec.md +0 -285
  701. package/docs/tools/firecrawl.md +0 -155
  702. package/docs/tools/gemini-search.md +0 -114
  703. package/docs/tools/goal.md +0 -217
  704. package/docs/tools/grok-search.md +0 -129
  705. package/docs/tools/image-generation.md +0 -493
  706. package/docs/tools/index.md +0 -178
  707. package/docs/tools/kimi-search.md +0 -105
  708. package/docs/tools/llm-task.md +0 -137
  709. package/docs/tools/lobster.md +0 -365
  710. package/docs/tools/loop-detection.md +0 -154
  711. package/docs/tools/media-overview.md +0 -160
  712. package/docs/tools/minimax-search.md +0 -102
  713. package/docs/tools/multi-agent-sandbox-tools.md +0 -409
  714. package/docs/tools/music-generation.md +0 -372
  715. package/docs/tools/ollama-search.md +0 -153
  716. package/docs/tools/pdf.md +0 -213
  717. package/docs/tools/perplexity-search.md +0 -220
  718. package/docs/tools/plugin.md +0 -363
  719. package/docs/tools/reactions.md +0 -100
  720. package/docs/tools/searxng-search.md +0 -141
  721. package/docs/tools/skills-config.md +0 -195
  722. package/docs/tools/skills.md +0 -569
  723. package/docs/tools/slash-commands.md +0 -487
  724. package/docs/tools/steer.md +0 -77
  725. package/docs/tools/subagents.md +0 -651
  726. package/docs/tools/tavily.md +0 -162
  727. package/docs/tools/thinking.md +0 -142
  728. package/docs/tools/tokenjuice.md +0 -84
  729. package/docs/tools/tool-search.md +0 -269
  730. package/docs/tools/trajectory.md +0 -229
  731. package/docs/tools/tts.md +0 -1009
  732. package/docs/tools/video-generation.md +0 -555
  733. package/docs/tools/web-fetch.md +0 -210
  734. package/docs/tools/web.md +0 -461
  735. package/docs/tts.md +0 -11
  736. package/docs/vps.md +0 -139
  737. package/docs/web/control-ui.md +0 -512
  738. package/docs/web/dashboard.md +0 -107
  739. package/docs/web/index.md +0 -133
  740. package/docs/web/tui.md +0 -250
  741. package/docs/web/webchat.md +0 -102
  742. package/npm-shrinkwrap.json +0 -12861
  743. package/patches/.gitkeep +0 -0
  744. package/patches/@agentclientprotocol__claude-agent-acp@0.37.0.patch +0 -41
  745. package/pnpm-workspace.yaml +0 -120
  746. package/scripts/crabbox-wrapper.mjs +0 -2004
  747. package/scripts/lib/official-external-channel-catalog.json +0 -560
  748. package/scripts/lib/official-external-plugin-catalog.json +0 -264
  749. package/scripts/lib/official-external-provider-catalog.json +0 -158
  750. package/scripts/lib/package-dist-imports.mjs +0 -171
  751. package/scripts/npm-runner.mjs +0 -91
  752. package/scripts/postinstall-bundled-plugins.mjs +0 -978
  753. package/scripts/preinstall-package-manager-warning.mjs +0 -64
  754. package/scripts/prepare-git-hooks.mjs +0 -72
  755. package/scripts/windows-cmd-helpers.mjs +0 -22
  756. package/skills/batch/SKILL.md +0 -118
  757. package/skills/code-review/SKILL.md +0 -107
  758. package/skills/debug/SKILL.md +0 -83
  759. package/skills/loop/SKILL.md +0 -118
  760. package/skills/run/SKILL.md +0 -79
  761. package/skills/run-skill-generator/SKILL.md +0 -179
  762. package/skills/verify/SKILL.md +0 -103
  763. package/src/agents/templates/HEARTBEAT.md +0 -3
@@ -1,780 +0,0 @@
1
- ---
2
- summary: "Run FengMing embedded agent turns through the bundled Codex app-server harness"
3
- title: "Codex harness"
4
- read_when:
5
- - You want to use the bundled Codex app-server harness
6
- - You need Codex harness config examples
7
- - You want Codex-only deployments to fail instead of falling back to FengMing
8
- ---
9
-
10
- The bundled `codex` plugin lets FengMing run embedded OpenAI agent turns
11
- through Codex app-server instead of the built-in FengMing harness.
12
-
13
- Use the Codex harness when you want Codex to own the low-level agent session:
14
- native thread resume, native tool continuation, native compaction, and
15
- app-server execution. FengMing still owns chat channels, session files, model
16
- selection, FengMing dynamic tools, approvals, media delivery, and the visible
17
- transcript mirror.
18
-
19
- The normal setup uses canonical OpenAI model refs such as `openai/gpt-5.5`.
20
- Do not configure `openai-codex/gpt-*` model refs. Put OpenAI agent auth order
21
- under `auth.order.openai`; older `openai-codex:*` profiles and
22
- `auth.order.openai-codex` entries remain supported for existing installs.
23
-
24
- When no FengMing sandbox is active, FengMing starts Codex app-server threads
25
- with Codex native code mode enabled while leaving code-mode-only off by default.
26
- That keeps Codex native workspace and code capabilities available while
27
- FengMing dynamic tools continue through the app-server `item/tool/call` bridge.
28
- Active FengMing sandboxing and restricted tool policies disable native code mode
29
- entirely unless you opt into the experimental sandbox exec-server path.
30
-
31
- This Codex-native feature is separate from
32
- [FengMing code mode](/reference/code-mode), which is an opt-in QuickJS-WASI
33
- runtime for generic FengMing runs with a different `exec` input shape.
34
-
35
- For the broader model/provider/runtime split, start with
36
- [Agent runtimes](/concepts/agent-runtimes). The short version is:
37
- `openai/gpt-5.5` is the model ref, `codex` is the runtime, and Telegram,
38
- Discord, Slack, or another channel remains the communication surface.
39
-
40
- ## Requirements
41
-
42
- - FengMing with the bundled `codex` plugin available.
43
- - If your config uses `plugins.allow`, include `codex`.
44
- - Codex app-server `0.125.0` or newer. The bundled plugin manages a compatible
45
- Codex app-server binary by default, so local `codex` commands on `PATH` do not
46
- affect normal harness startup.
47
- - Codex auth available through `fengming models auth login --provider openai`,
48
- an app-server account in the agent's Codex home, or an explicit Codex API-key
49
- auth profile.
50
-
51
- For auth precedence, environment isolation, custom app-server commands, model
52
- discovery, and all config fields, see
53
- [Codex harness reference](/plugins/codex-harness-reference).
54
-
55
- ## Quickstart
56
-
57
- Most users who want Codex in FengMing want this path: sign in with a
58
- ChatGPT/Codex subscription, enable the bundled `codex` plugin, and use a
59
- canonical `openai/gpt-*` model ref.
60
-
61
- Sign in with Codex OAuth:
62
-
63
- ```bash
64
- fengming models auth login --provider openai
65
- ```
66
-
67
- Enable the bundled `codex` plugin and select an OpenAI agent model:
68
-
69
- ```json5
70
- {
71
- plugins: {
72
- entries: {
73
- codex: {
74
- enabled: true,
75
- },
76
- },
77
- },
78
- agents: {
79
- defaults: {
80
- model: "openai/gpt-5.5",
81
- },
82
- },
83
- }
84
- ```
85
-
86
- If your config uses `plugins.allow`, add `codex` there too:
87
-
88
- ```json5
89
- {
90
- plugins: {
91
- allow: ["codex"],
92
- entries: {
93
- codex: {
94
- enabled: true,
95
- },
96
- },
97
- },
98
- }
99
- ```
100
-
101
- Restart the gateway after changing plugin config. If an existing chat already
102
- has a session, use `/new` or `/reset` before testing runtime changes so the next
103
- turn resolves the harness from current config.
104
-
105
- ## Configuration
106
-
107
- The quickstart config is the minimum viable Codex harness config. Set Codex
108
- harness options in FengMing config, and use the CLI only for Codex auth:
109
-
110
- | Need | Set | Where |
111
- | -------------------------------------- | -------------------------------------------------------------------------------- | ---------------------------------- |
112
- | Enable the harness | `plugins.entries.codex.enabled: true` | FengMing config |
113
- | Keep an allowlisted plugin install | Include `codex` in `plugins.allow` | FengMing config |
114
- | Route OpenAI agent turns through Codex | `agents.defaults.model` or `agents.list[].model` as `openai/gpt-*` | FengMing agent config |
115
- | Sign in with ChatGPT/Codex OAuth | `fengming models auth login --provider openai` | CLI auth profile |
116
- | Add API-key backup for Codex runs | `openai:*` API-key profile listed after subscription auth in `auth.order.openai` | CLI auth profile + FengMing config |
117
- | Fail closed when Codex is unavailable | Provider or model `agentRuntime.id: "codex"` | FengMing model/provider config |
118
- | Use direct OpenAI API traffic | Provider or model `agentRuntime.id: "fengming"` with normal OpenAI auth | FengMing model/provider config |
119
- | Tune app-server behavior | `plugins.entries.codex.config.appServer.*` | Codex plugin config |
120
- | Enable native Codex plugin apps | `plugins.entries.codex.config.codexPlugins.*` | Codex plugin config |
121
- | Enable Codex Computer Use | `plugins.entries.codex.config.computerUse.*` | Codex plugin config |
122
-
123
- Use `openai/gpt-*` model refs for Codex-backed OpenAI agent turns. Prefer
124
- `auth.order.openai` for subscription-first/API-key-backup ordering. Existing
125
- `openai-codex:*` auth profiles and `auth.order.openai-codex` remain valid, but
126
- do not write new `openai-codex/gpt-*` model refs.
127
-
128
- Do not set `compaction.model` or `compaction.provider` on Codex-backed agents.
129
- Codex compacts through its native app-server thread state, so FengMing ignores
130
- those local summarizer overrides at runtime and `fengming doctor --fix` removes
131
- them when the agent uses Codex.
132
-
133
- Lossless remains supported as a context engine for assembly, ingestion, and
134
- maintenance around Codex turns. Configure it through
135
- `plugins.slots.contextEngine: "lossless-claw"` and
136
- `plugins.entries.lossless-claw.config.summaryModel`, not through
137
- `agents.defaults.compaction.provider`. `fengming doctor --fix` migrates the old
138
- `compaction.provider: "lossless-claw"` shape to the Lossless context-engine slot
139
- when Codex is the active runtime, but native Codex still owns compaction.
140
-
141
- The native Codex app-server harness supports context engines that require
142
- pre-prompt assembly. Generic CLI backends, including `codex-cli`, do not provide
143
- that host capability.
144
-
145
- For Codex-backed agents, `/compact` starts native Codex app-server compaction on
146
- the bound thread. FengMing does not wait for completion, impose an FengMing
147
- timeout, restart the shared app-server, or fall back to a context-engine or
148
- public OpenAI summarizer. If the native Codex thread binding is missing or
149
- stale, the command fails closed so the operator sees the real runtime boundary
150
- instead of silently switching compaction backends.
151
-
152
- ```json5
153
- {
154
- auth: {
155
- order: {
156
- openai: ["openai:user@example.com", "openai:api-key-backup"],
157
- },
158
- },
159
- }
160
- ```
161
-
162
- In that shape, both profiles still run through Codex for `openai/gpt-*` agent
163
- turns. The API key is only an auth fallback, not a request to switch to FengMing or
164
- plain OpenAI Responses.
165
-
166
- The rest of this page covers common variants users must choose between:
167
- deployment shape, fail-closed routing, guardian approval policy, native Codex
168
- plugins, and Computer Use. For full option lists, defaults, enums, discovery,
169
- environment isolation, timeouts, and app-server transport fields, see
170
- [Codex harness reference](/plugins/codex-harness-reference).
171
-
172
- ## Verify Codex runtime
173
-
174
- Use `/status` in the chat where you expect Codex. A Codex-backed OpenAI agent
175
- turn shows:
176
-
177
- ```text
178
- Runtime: OpenAI Codex
179
- ```
180
-
181
- Then check Codex app-server state:
182
-
183
- ```text
184
- /codex status
185
- /codex models
186
- ```
187
-
188
- `/codex status` reports app-server connectivity, account, rate limits, MCP
189
- servers, and skills. `/codex models` lists the live Codex app-server catalog for
190
- the harness and account. If `/status` is surprising, see
191
- [Troubleshooting](#troubleshooting).
192
-
193
- ## Routing and model selection
194
-
195
- Keep provider refs and runtime policy separate:
196
-
197
- - Use `openai/gpt-*` for OpenAI agent turns through Codex.
198
- - Do not use `openai-codex/gpt-*` in config. Run `fengming doctor --fix` to
199
- repair legacy refs and stale session route pins.
200
- - `agentRuntime.id: "codex"` is optional for normal OpenAI auto mode, but useful
201
- when a deployment should fail closed if Codex is unavailable.
202
- - `agentRuntime.id: "fengming"` opts a provider or model into the FengMing
203
- embedded runtime when that is intentional.
204
- - `/codex ...` controls native Codex app-server conversations from chat.
205
- - ACP/acpx is a separate external harness path. Use it only when the user asks
206
- for ACP/acpx or an external harness adapter.
207
-
208
- Common command routing:
209
-
210
- | User intent | Use |
211
- | ----------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
212
- | Attach the current chat | `/codex bind [--cwd <path>]` |
213
- | Resume an existing Codex thread | `/codex resume <thread-id>` |
214
- | List or filter Codex threads | `/codex threads [filter]` |
215
- | List native Codex plugins | `/codex plugins list` |
216
- | Enable or disable a configured native Codex plugin | `/codex plugins enable <name>`, `/codex plugins disable <name>` |
217
- | Attach an existing Codex CLI session on a paired node | `/codex sessions --host <node> [filter]`, then `/codex resume <session-id> --host <node> --bind here` |
218
- | Send Codex feedback only | `/codex diagnostics [note]` |
219
- | Start an ACP/acpx task | ACP/acpx session commands, not `/codex` |
220
-
221
- | Use case | Configure | Verify | Notes |
222
- | ---------------------------------------------------- | ---------------------------------------------------------------------- | --------------------------------------- | ------------------------------------- |
223
- | ChatGPT/Codex subscription with native Codex runtime | `openai/gpt-*` plus enabled `codex` plugin | `/status` shows `Runtime: OpenAI Codex` | Recommended path |
224
- | Fail closed if Codex is unavailable | Provider or model `agentRuntime.id: "codex"` | Turn fails instead of embedded fallback | Use for Codex-only deployments |
225
- | Direct OpenAI API-key traffic through FengMing | Provider or model `agentRuntime.id: "fengming"` and normal OpenAI auth | `/status` shows FengMing runtime | Use only when FengMing is intentional |
226
- | Legacy config | `openai-codex/gpt-*` | `fengming doctor --fix` rewrites it | Do not write new config this way |
227
- | ACP/acpx Codex adapter | ACP `sessions_spawn({ runtime: "acp" })` | ACP task/session status | Separate from native Codex harness |
228
-
229
- `agents.defaults.imageModel` follows the same prefix split. Use `openai/gpt-*`
230
- for the normal OpenAI route and `codex/gpt-*` only when image understanding
231
- should run through a bounded Codex app-server turn. Do not use
232
- `openai-codex/gpt-*`; doctor rewrites that legacy prefix to `openai/gpt-*`.
233
-
234
- ## Deployment patterns
235
-
236
- ### Basic Codex deployment
237
-
238
- Use the quickstart config when all OpenAI agent turns should use Codex by
239
- default.
240
-
241
- ```json5
242
- {
243
- plugins: {
244
- entries: {
245
- codex: {
246
- enabled: true,
247
- },
248
- },
249
- },
250
- agents: {
251
- defaults: {
252
- model: "openai/gpt-5.5",
253
- },
254
- },
255
- }
256
- ```
257
-
258
- ### Mixed provider deployment
259
-
260
- This shape keeps Claude as the default agent and adds a named Codex agent:
261
-
262
- ```json5
263
- {
264
- plugins: {
265
- entries: {
266
- codex: {
267
- enabled: true,
268
- },
269
- },
270
- },
271
- agents: {
272
- defaults: {
273
- model: "anthropic/claude-opus-4-6",
274
- },
275
- list: [
276
- {
277
- id: "main",
278
- default: true,
279
- model: "anthropic/claude-opus-4-6",
280
- },
281
- {
282
- id: "codex",
283
- name: "Codex",
284
- model: "openai/gpt-5.5",
285
- },
286
- ],
287
- },
288
- }
289
- ```
290
-
291
- With this config, the `main` agent uses its normal provider path and the
292
- `codex` agent uses Codex app-server.
293
-
294
- ### Fail-closed Codex deployment
295
-
296
- For OpenAI agent turns, `openai/gpt-*` already resolves to Codex when the
297
- bundled plugin is available. Add explicit runtime policy when you want a written
298
- fail-closed rule:
299
-
300
- ```json5
301
- {
302
- models: {
303
- providers: {
304
- openai: {
305
- agentRuntime: {
306
- id: "codex",
307
- },
308
- },
309
- },
310
- },
311
- agents: {
312
- defaults: {
313
- model: "openai/gpt-5.5",
314
- },
315
- },
316
- plugins: {
317
- entries: {
318
- codex: {
319
- enabled: true,
320
- },
321
- },
322
- },
323
- }
324
- ```
325
-
326
- With Codex forced, FengMing fails early if the Codex plugin is disabled, the
327
- app-server is too old, or the app-server cannot start.
328
-
329
- ## App-server policy
330
-
331
- By default, the plugin starts FengMing's managed Codex binary locally with stdio
332
- transport. Set `appServer.command` only when you intentionally want to run a
333
- different executable. Use WebSocket transport only when an app-server is already
334
- running elsewhere:
335
-
336
- ```json5
337
- {
338
- plugins: {
339
- entries: {
340
- codex: {
341
- enabled: true,
342
- config: {
343
- appServer: {
344
- transport: "websocket",
345
- url: "ws://gateway-host:39175",
346
- authToken: "${CODEX_APP_SERVER_TOKEN}",
347
- },
348
- },
349
- },
350
- },
351
- },
352
- }
353
- ```
354
-
355
- Local stdio app-server sessions default to the trusted local operator posture:
356
- `approvalPolicy: "never"`, `approvalsReviewer: "user"`, and
357
- `sandbox: "danger-full-access"`. If local Codex requirements disallow that
358
- implicit YOLO posture, FengMing selects allowed guardian permissions instead.
359
- When an FengMing sandbox is active for the session, FengMing disables Codex
360
- native Code Mode, user MCP servers, and app-backed plugin execution for that
361
- turn instead of relying on Codex host-side sandboxing. Shell access is exposed
362
- through FengMing sandbox-backed dynamic tools such as `sandbox_exec` and
363
- `sandbox_process` when the normal exec/process tools are available.
364
-
365
- Use normalized FengMing exec mode when you want Codex native auto-review before
366
- sandbox escapes or extra permissions:
367
-
368
- ```json5
369
- {
370
- tools: {
371
- exec: {
372
- mode: "auto",
373
- },
374
- },
375
- plugins: {
376
- entries: {
377
- codex: {
378
- enabled: true,
379
- },
380
- },
381
- },
382
- }
383
- ```
384
-
385
- For Codex app-server sessions, FengMing maps `tools.exec.mode: "auto"` to Codex
386
- Guardian-reviewed approvals, usually
387
- `approvalPolicy: "on-request"`, `approvalsReviewer: "auto_review"`, and
388
- `sandbox: "workspace-write"` when the local requirements allow those values.
389
- In `tools.exec.mode: "auto"`, FengMing does not preserve legacy unsafe Codex
390
- `approvalPolicy: "never"` or `sandbox: "danger-full-access"` overrides; use
391
- `tools.exec.mode: "full"` for an intentional no-approval Codex posture. The
392
- legacy `plugins.entries.codex.config.appServer.mode: "guardian"` preset still
393
- works, but `tools.exec.mode: "auto"` is the normalized FengMing surface.
394
-
395
- For every app-server field, auth order, environment isolation, discovery, and
396
- timeout behavior, see [Codex harness reference](/plugins/codex-harness-reference).
397
-
398
- ## Commands and diagnostics
399
-
400
- The bundled plugin registers `/codex` as a slash command on any channel that
401
- supports FengMing text commands.
402
-
403
- Common forms:
404
-
405
- - `/codex status` checks app-server connectivity, models, account, rate limits,
406
- MCP servers, and skills.
407
- - `/codex models` lists live Codex app-server models.
408
- - `/codex threads [filter]` lists recent Codex app-server threads.
409
- - `/codex resume <thread-id>` attaches the current FengMing session to an
410
- existing Codex thread.
411
- - `/codex compact` asks Codex app-server to compact the attached thread.
412
- - `/codex review` starts Codex native review for the attached thread.
413
- - `/codex diagnostics [note]` asks before sending Codex feedback for the
414
- attached thread.
415
- - `/codex account` shows account and rate-limit status.
416
- - `/codex mcp` lists Codex app-server MCP server status.
417
- - `/codex skills` lists Codex app-server skills.
418
-
419
- For most support reports, start with `/diagnostics [note]` in the conversation
420
- where the bug happened. It creates one Gateway diagnostics report and, for Codex
421
- harness sessions, asks for approval to send the relevant Codex feedback bundle.
422
- See [Diagnostics export](/gateway/diagnostics) for the privacy model and group
423
- chat behavior.
424
-
425
- Use `/codex diagnostics [note]` only when you specifically want the Codex
426
- feedback upload for the currently attached thread without the full Gateway
427
- diagnostics bundle.
428
-
429
- ### Inspect Codex threads locally
430
-
431
- The fastest way to inspect a bad Codex run is often to open the native Codex
432
- thread directly:
433
-
434
- ```bash
435
- codex resume <thread-id>
436
- ```
437
-
438
- Get the thread id from the completed `/diagnostics` reply, `/codex binding`, or
439
- `/codex threads [filter]`.
440
-
441
- For upload mechanics and runtime-level diagnostics boundaries, see
442
- [Codex harness runtime](/plugins/codex-harness-runtime#codex-feedback-upload).
443
-
444
- Auth is selected in this order:
445
-
446
- 1. Ordered OpenAI auth profiles for the agent, preferably under
447
- `auth.order.openai`. Run `fengming doctor --fix` to migrate older
448
- `openai-codex:*` profile ids and `auth.order.openai-codex`.
449
- 2. The app-server's existing account in that agent's Codex home.
450
- 3. For local stdio app-server launches only, `CODEX_API_KEY`, then
451
- `OPENAI_API_KEY`, when no app-server account is present and OpenAI auth is
452
- still required.
453
-
454
- When FengMing sees a ChatGPT subscription-style Codex auth profile, it removes
455
- `CODEX_API_KEY` and `OPENAI_API_KEY` from the spawned Codex child process. That
456
- keeps Gateway-level API keys available for embeddings or direct OpenAI models
457
- without making native Codex app-server turns bill through the API by accident.
458
- Explicit Codex API-key profiles and local stdio env-key fallback use app-server
459
- login instead of inherited child-process env. WebSocket app-server connections
460
- do not receive Gateway env API-key fallback; use an explicit auth profile or the
461
- remote app-server's own account.
462
-
463
- If a subscription profile hits a Codex usage limit, FengMing records the reset
464
- time when Codex reports one and tries the next ordered auth profile for the same
465
- Codex run. When the reset time passes, the subscription profile becomes eligible
466
- again without changing the selected `openai/gpt-*` model or Codex runtime.
467
-
468
- For local stdio app-server launches, FengMing sets `CODEX_HOME` to a per-agent
469
- directory so Codex config, auth/account files, plugin cache/data, and native
470
- thread state do not read or write the operator's personal `~/.codex` by
471
- default. FengMing preserves the normal process `HOME`; Codex-run subprocesses
472
- can still find user-home config and tokens, and Codex may discover shared
473
- `$HOME/.agents/skills` and `$HOME/.agents/plugins/marketplace.json` entries.
474
-
475
- If a deployment needs additional environment isolation, add those variables to
476
- `appServer.clearEnv`:
477
-
478
- ```json5
479
- {
480
- plugins: {
481
- entries: {
482
- codex: {
483
- enabled: true,
484
- config: {
485
- appServer: {
486
- clearEnv: ["CODEX_API_KEY", "OPENAI_API_KEY"],
487
- },
488
- },
489
- },
490
- },
491
- },
492
- }
493
- ```
494
-
495
- `appServer.clearEnv` only affects the spawned Codex app-server child process.
496
- FengMing removes `CODEX_HOME` and `HOME` from this list during local launch
497
- normalization: `CODEX_HOME` stays per-agent, and `HOME` stays inherited so
498
- subprocesses can use normal user-home state.
499
-
500
- Codex dynamic tools default to `searchable` loading. FengMing does not expose
501
- dynamic tools that duplicate Codex-native workspace operations: `read`, `write`,
502
- `edit`, `apply_patch`, `exec`, `process`, and `update_plan`. Most remaining
503
- FengMing integration tools such as messaging, media, cron, browser, nodes,
504
- gateway, `heartbeat_respond`, and `web_search` are available through Codex tool
505
- search under the `fengming` namespace, keeping the initial model context
506
- smaller.
507
- `sessions_yield` and message-tool-only source replies stay direct because
508
- those are turn-control contracts. `sessions_spawn` stays searchable so Codex's
509
- native `spawn_agent` remains the primary Codex subagent surface, while explicit
510
- FengMing or ACP delegation is still available through the `fengming` dynamic
511
- tool namespace. Heartbeat collaboration instructions tell Codex to search for
512
- `heartbeat_respond` before ending a heartbeat turn when the tool is not already
513
- loaded.
514
-
515
- Set `codexDynamicToolsLoading: "direct"` only when connecting to a custom Codex
516
- app-server that cannot search deferred dynamic tools or when debugging the full
517
- tool payload.
518
-
519
- Supported top-level Codex plugin fields:
520
-
521
- | Field | Default | Meaning |
522
- | -------------------------- | -------------- | ---------------------------------------------------------------------------------------- |
523
- | `codexDynamicToolsLoading` | `"searchable"` | Use `"direct"` to put FengMing dynamic tools directly in the initial Codex tool context. |
524
- | `codexDynamicToolsExclude` | `[]` | Additional FengMing dynamic tool names to omit from Codex app-server turns. |
525
- | `codexPlugins` | disabled | Native Codex plugin/app support for migrated source-installed curated plugins. |
526
-
527
- Supported `appServer` fields:
528
-
529
- | Field | Default | Meaning |
530
- | --------------------------------------------- | ------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
531
- | `transport` | `"stdio"` | `"stdio"` spawns Codex; `"websocket"` connects to `url`. |
532
- | `command` | managed Codex binary | Executable for stdio transport. Leave unset to use the managed binary; set it only for an explicit override. |
533
- | `args` | `["app-server", "--listen", "stdio://"]` | Arguments for stdio transport. |
534
- | `url` | unset | WebSocket app-server URL. |
535
- | `authToken` | unset | Bearer token for WebSocket transport. |
536
- | `headers` | `{}` | Extra WebSocket headers. |
537
- | `clearEnv` | `[]` | Extra environment variable names removed from the spawned stdio app-server process after FengMing builds its inherited environment. FengMing keeps per-agent `CODEX_HOME` and inherited `HOME` for local launches. |
538
- | `codeModeOnly` | `false` | Opt into Codex's code-mode-only tool surface. FengMing dynamic tools remain registered with Codex so nested `tools.*` calls return through the app-server `item/tool/call` bridge. |
539
- | `requestTimeoutMs` | `60000` | Timeout for app-server control-plane calls. |
540
- | `turnCompletionIdleTimeoutMs` | `60000` | Quiet window after Codex accepts a turn or after a turn-scoped app-server request while FengMing waits for `turn/completed`. Raise this for slow post-tool or status-only synthesis phases. |
541
- | `postToolRawAssistantCompletionIdleTimeoutMs` | `300000` | Completion-idle guard used after a tool handoff when Codex emits raw assistant completion or progress but does not send `turn/completed`. Use this for trusted or heavy workloads where post-tool synthesis can legitimately stay quiet longer than the final assistant release budget. |
542
- | `mode` | `"yolo"` unless local Codex requirements disallow YOLO | Preset for YOLO or guardian-reviewed execution. Local stdio requirements that omit `danger-full-access`, `never` approval, or the `user` reviewer make the implicit default guardian. |
543
- | `approvalPolicy` | `"never"` or an allowed guardian approval policy | Native Codex approval policy sent to thread start/resume/turn. Guardian defaults prefer `"on-request"` when allowed. |
544
- | `sandbox` | `"danger-full-access"` or an allowed guardian sandbox | Native Codex sandbox mode sent to thread start/resume. Guardian defaults prefer `"workspace-write"` when allowed, otherwise `"read-only"`. When an FengMing sandbox is active, `danger-full-access` turns use Codex `workspace-write` with network access derived from the FengMing sandbox egress setting. |
545
- | `approvalsReviewer` | `"user"` or an allowed guardian reviewer | Use `"auto_review"` to let Codex review native approval prompts when allowed, otherwise `guardian_subagent` or `user`. `guardian_subagent` remains a legacy alias. |
546
- | `serviceTier` | unset | Optional Codex app-server service tier. `"priority"` enables fast-mode routing, `"flex"` requests flex processing, `null` clears the override, and legacy `"fast"` is accepted as `"priority"`. |
547
- | `experimental.sandboxExecServer` | `false` | Preview opt-in that registers an FengMing sandbox-backed Codex environment with Codex app-server 0.132.0 or newer so native Codex execution can run inside the active FengMing sandbox. |
548
-
549
- FengMing-owned dynamic tool calls are bounded independently from
550
- `appServer.requestTimeoutMs`: Codex `item/tool/call` requests use a 90 second
551
- FengMing watchdog by default. A positive per-call `timeoutMs` argument extends
552
- or shortens that specific tool budget. The `image_generate` tool uses
553
- `agents.defaults.imageGenerationModel.timeoutMs` when the tool call does not
554
- provide its own timeout, or a 120 second image-generation default otherwise.
555
- The media-understanding `image` tool uses
556
- `tools.media.image.timeoutSeconds` or its 60 second media default. Dynamic tool
557
- budgets are capped at 600000 ms. On timeout, FengMing aborts the tool signal
558
- where supported and returns a failed dynamic-tool response to Codex so the turn
559
- can continue instead of leaving the session in `processing`.
560
-
561
- After Codex accepts a turn, and after FengMing responds to a turn-scoped
562
- app-server request, the harness expects Codex to make current-turn progress and
563
- eventually finish the native turn with `turn/completed`. If the app-server goes
564
- quiet for `appServer.turnCompletionIdleTimeoutMs`, FengMing best-effort
565
- interrupts the Codex turn, records a diagnostic timeout, and releases the
566
- FengMing session lane so follow-up chat messages are not queued behind a stale
567
- native turn. Most non-terminal notifications for the same turn disarm that short
568
- watchdog because Codex has proven the turn is still alive; raw
569
- `custom_tool_call_output` completions keep the short post-tool watchdog armed
570
- because they are the turn-scoped tool-result handoff. Global app-server
571
- notifications, such as rate-limit updates, do not reset turn-idle progress.
572
- Completed `agentMessage` items and pre-tool raw assistant
573
- `rawResponseItem/completed` items arm the assistant-output release: if Codex then
574
- goes quiet without `turn/completed`, FengMing best-effort interrupts the native
575
- turn and releases the session lane. Post-tool raw assistant progress keeps
576
- waiting for `turn/completed` while a completion-idle guard stays armed; the guard
577
- uses `appServer.postToolRawAssistantCompletionIdleTimeoutMs` when configured and
578
- defaults to five minutes otherwise. Replay-safe stdio app-server failures,
579
- including turn-completion idle timeouts without assistant, tool, active-item, or
580
- side-effect evidence, are retried once on a fresh app-server attempt. Unsafe
581
- timeouts still retire the stuck app-server client and release the FengMing
582
- session lane. They also clear the stale native thread binding and surface a
583
- recoverable timeout message for user or maintainer judgment instead of being
584
- replayed automatically. Timeout diagnostics include the last app-server
585
- notification method and, for raw assistant response items, the item type, role,
586
- id, and a bounded assistant text preview.
587
-
588
- Environment overrides remain available for local testing:
589
-
590
- - `FENGMING_CODEX_APP_SERVER_BIN`
591
- - `FENGMING_CODEX_APP_SERVER_ARGS`
592
- - `FENGMING_CODEX_APP_SERVER_MODE=yolo|guardian`
593
- - `FENGMING_CODEX_APP_SERVER_APPROVAL_POLICY`
594
- - `FENGMING_CODEX_APP_SERVER_SANDBOX`
595
-
596
- `FENGMING_CODEX_APP_SERVER_BIN` bypasses the managed binary when
597
- `appServer.command` is unset.
598
-
599
- `FENGMING_CODEX_APP_SERVER_GUARDIAN=1` was removed. Use
600
- `plugins.entries.codex.config.appServer.mode: "guardian"` instead, or
601
- `FENGMING_CODEX_APP_SERVER_MODE=guardian` for one-off local testing. Config is
602
- preferred for repeatable deployments because it keeps the plugin behavior in the
603
- same reviewed file as the rest of the Codex harness setup.
604
-
605
- ## Native Codex plugins
606
-
607
- Native Codex plugin support uses Codex app-server's own app and plugin
608
- capabilities in the same Codex thread as the FengMing harness turn. FengMing
609
- does not translate Codex plugins into synthetic `codex_plugin_*` FengMing
610
- dynamic tools.
611
-
612
- `codexPlugins` affects only sessions that select the native Codex harness. It
613
- has no effect on built-in harness runs, normal OpenAI provider runs, ACP conversation
614
- bindings, or other harnesses.
615
-
616
- Minimal migrated config:
617
-
618
- ```json5
619
- {
620
- plugins: {
621
- entries: {
622
- codex: {
623
- enabled: true,
624
- config: {
625
- codexPlugins: {
626
- enabled: true,
627
- allow_destructive_actions: true,
628
- plugins: {
629
- "google-calendar": {
630
- enabled: true,
631
- marketplaceName: "openai-curated",
632
- pluginName: "google-calendar",
633
- },
634
- },
635
- },
636
- },
637
- },
638
- },
639
- },
640
- }
641
- ```
642
-
643
- Thread app config is computed when FengMing establishes a Codex harness session
644
- or replaces a stale Codex thread binding. It is not recomputed on every turn.
645
- After changing `codexPlugins`, use `/new`, `/reset`, or restart the gateway so
646
- future Codex harness sessions start with the updated app set.
647
-
648
- For migration eligibility, app inventory, destructive action policy,
649
- elicitations, and native plugin diagnostics, see
650
- [Native Codex plugins](/plugins/codex-native-plugins).
651
-
652
- ## Computer Use
653
-
654
- Computer Use is covered in its own setup guide:
655
- [Codex Computer Use](/plugins/codex-computer-use).
656
-
657
- The short version: FengMing does not vendor the desktop-control app or execute
658
- desktop actions itself. It prepares Codex app-server, verifies that the
659
- `computer-use` MCP server is available, and then lets Codex own the native MCP
660
- tool calls during Codex-mode turns.
661
-
662
- ## Runtime boundaries
663
-
664
- The Codex harness changes the low-level embedded agent executor only.
665
-
666
- - FengMing dynamic tools are supported. Codex asks FengMing to execute those
667
- tools, so FengMing remains in the execution path.
668
- - Codex-native shell, patch, MCP, and native app tools are owned by Codex.
669
- FengMing can observe or block selected native events through the supported
670
- relay, but it does not rewrite native tool arguments.
671
- - Codex owns native compaction. FengMing keeps a transcript mirror for channel
672
- history, search, `/new`, `/reset`, and future model or harness switching, but
673
- it does not replace Codex compaction with an FengMing or context-engine
674
- summarizer.
675
- - Media generation, media understanding, TTS, approvals, and messaging-tool
676
- output continue through the matching FengMing provider/model settings.
677
- - `tool_result_persist` applies to FengMing-owned transcript tool results, not
678
- Codex-native tool result records.
679
-
680
- For hook layers, supported V1 surfaces, native permission handling, queue
681
- steering, Codex feedback upload mechanics, and compaction details, see
682
- [Codex harness runtime](/plugins/codex-harness-runtime).
683
-
684
- ## Troubleshooting
685
-
686
- **Codex does not appear as a normal `/model` provider:** that is expected for
687
- new configs. Select an `openai/gpt-*` model, enable
688
- `plugins.entries.codex.enabled`, and check whether `plugins.allow` excludes
689
- `codex`.
690
-
691
- **FengMing uses the built-in harness instead of Codex:** make sure the model ref is
692
- `openai/gpt-*` on the official OpenAI provider and that the Codex plugin is
693
- installed and enabled. If you need strict proof while testing, set provider or
694
- model `agentRuntime.id: "codex"`. A forced Codex runtime fails instead of
695
- falling back to FengMing.
696
-
697
- **OpenAI Codex runtime falls back to the API-key path:** collect a redacted
698
- gateway excerpt that shows the model, runtime, selected provider, and failure.
699
- Ask affected collaborators to run this read-only command on their FengMing host:
700
-
701
- ```bash
702
- (
703
- pattern='openai/gpt-5\.[45]|agentRuntime(\.id)?|harnessRuntime|Runtime: OpenAI Codex|openai-codex|resolveSelectedOpenAIRuntimeProvider|candidateProvider[": ]+openai|status[": ]+401|Incorrect API key|No API key|api-key path|API-key path|OAuth'
704
-
705
- if ls /tmp/fengming/fengming-*.log >/dev/null 2>&1; then
706
- grep -E -i -n "$pattern" /tmp/fengming/fengming-*.log 2>/dev/null || true
707
- else
708
- journalctl --user -u fengming-gateway --since today --no-pager 2>/dev/null \
709
- | grep -E -i "$pattern" || true
710
- fi
711
- ) | sed -E \
712
- -e 's/(Authorization: Bearer )[A-Za-z0-9._~+\/-]+/\1[REDACTED]/Ig' \
713
- -e 's/(Bearer )[A-Za-z0-9._~+\/-]+/\1[REDACTED]/Ig' \
714
- -e 's/(api[_ -]?key[=: ]+)[^ ,}"]+/\1[REDACTED]/Ig' \
715
- -e 's/(OPENAI_API_KEY[=: ]+)[^ ,}"]+/\1[REDACTED]/Ig' \
716
- -e 's/sk-[A-Za-z0-9_-]{12,}/sk-[REDACTED]/g' \
717
- -e 's/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}/[EMAIL-REDACTED]/g' \
718
- | tail -200
719
- ```
720
-
721
- Useful excerpts usually include `openai/gpt-5.5` or `openai/gpt-5.4`,
722
- `Runtime: OpenAI Codex`, `agentRuntime.id` or `harnessRuntime`,
723
- `candidateProvider: "openai"`, and a `401`, `Incorrect API key`, or
724
- `No API key` result. A corrected run should show the OpenAI OAuth
725
- path instead of a plain OpenAI API-key failure.
726
-
727
- **Legacy `openai-codex/*` config remains:** run `fengming doctor --fix`.
728
- Doctor rewrites legacy model refs to `openai/*`, removes stale session and
729
- whole-agent runtime pins, and preserves existing auth-profile overrides.
730
-
731
- **The app-server is rejected:** use Codex app-server `0.125.0` or newer.
732
- Same-version prereleases or build-suffixed versions such as
733
- `0.125.0-alpha.2` or `0.125.0+custom` are rejected because FengMing tests the
734
- stable `0.125.0` protocol floor.
735
-
736
- **`/codex status` cannot connect:** check that the bundled `codex` plugin is
737
- enabled, that `plugins.allow` includes it when an allowlist is configured, and
738
- that any custom `appServer.command`, `url`, `authToken`, or headers are valid.
739
-
740
- **Model discovery is slow:** lower
741
- `plugins.entries.codex.config.discovery.timeoutMs` or disable discovery. See
742
- [Codex harness reference](/plugins/codex-harness-reference#model-discovery).
743
-
744
- **WebSocket transport fails immediately:** check `appServer.url`, `authToken`,
745
- headers, and that the remote app-server speaks the same Codex app-server
746
- protocol version.
747
-
748
- **Native shell or patch tools are blocked with `Native hook relay unavailable`:**
749
- the Codex thread is still trying to use a native hook relay id that FengMing no
750
- longer has registered. This is a native Codex hook transport problem, not an ACP
751
- backend, provider, GitHub, or shell-command failure. Start a fresh session in
752
- the affected chat with `/new` or `/reset`, then retry a harmless command. If that
753
- works once but the next native tool call fails again, treat `/new` as a temporary
754
- workaround only: copy the prompt into a fresh session after restarting the Codex
755
- app-server or FengMing Gateway so old threads are dropped and native hook
756
- registrations are recreated.
757
-
758
- **A non-Codex model uses the built-in harness:** that is expected unless
759
- provider or model runtime policy routes it to another harness. Plain non-OpenAI
760
- provider refs stay on their normal provider path in `auto` mode.
761
-
762
- **Computer Use is installed but tools do not run:** check
763
- `/codex computer-use status` from a fresh session. If a tool reports
764
- `Native hook relay unavailable`, use the native hook relay recovery above. See
765
- [Codex Computer Use](/plugins/codex-computer-use#troubleshooting).
766
-
767
- ## Related
768
-
769
- - [Codex harness reference](/plugins/codex-harness-reference)
770
- - [Codex harness runtime](/plugins/codex-harness-runtime)
771
- - [Native Codex plugins](/plugins/codex-native-plugins)
772
- - [Codex Computer Use](/plugins/codex-computer-use)
773
- - [Agent runtimes](/concepts/agent-runtimes)
774
- - [Model providers](/concepts/model-providers)
775
- - [OpenAI provider](/providers/openai)
776
- - [Agent harness plugins](/plugins/sdk-agent-harness)
777
- - [Plugin hooks](/plugins/hooks)
778
- - [Diagnostics export](/gateway/diagnostics)
779
- - [Status](/cli/status)
780
- - [Testing](/help/testing-live#live-codex-app-server-harness-smoke)