fengming 0.3.10 → 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 (761) hide show
  1. package/dist/build-info.json +2 -2
  2. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  3. package/dist/cli-startup-metadata.json +8 -8
  4. package/dist/control-ui/assets/{activity-D-mnRThU.js → activity-wgT0-JR0.js} +2 -2
  5. package/dist/control-ui/assets/{agents-U_KSP5I_.js → agents-DG5PobrT.js} +2 -2
  6. package/dist/control-ui/assets/{channels-ohK9_G1O.js → channels-CX28oM42.js} +2 -2
  7. package/dist/control-ui/assets/{cron-6ZCzfU29.js → cron-B8ixwBqU.js} +2 -2
  8. package/dist/control-ui/assets/{debug-CSsDLg_s.js → debug-CnkYZUXy.js} +2 -2
  9. package/dist/control-ui/assets/{index-jUDczxhd.js → index-DQRZJKbO.js} +4 -4
  10. package/dist/control-ui/assets/{instances-782ZoDT4.js → instances-BE3mV1JC.js} +2 -2
  11. package/dist/control-ui/assets/{nodes-BMX16BKM.js → nodes-Cou4PWRX.js} +2 -2
  12. package/dist/control-ui/assets/{sessions-jLGSApYa.js → sessions-DpAaBT21.js} +2 -2
  13. package/dist/control-ui/assets/{skills-DweBwUhs.js → skills-DjA_j_20.js} +2 -2
  14. package/dist/control-ui/assets/{workboard-BsU-FXIo.js → workboard-BFnvbS0k.js} +2 -2
  15. package/dist/control-ui/index.html +1 -1
  16. package/dist/control-ui/sw.js +1 -1
  17. package/dist/gateway/protocol/index.d.ts +1 -1
  18. package/dist/{index-AZzJCgph.d.ts → index-DuDY3bCZ.d.ts} +2 -2
  19. package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
  20. package/dist/plugin-sdk/agent-config-primitives.d.ts +1 -1
  21. package/dist/plugin-sdk/{bundled-channel-config-schema-Dfn3b8sF.d.ts → bundled-channel-config-schema-BPFNnbwu.d.ts} +23 -23
  22. package/dist/plugin-sdk/bundled-channel-config-schema.d.ts +3 -3
  23. package/dist/plugin-sdk/channel-config-primitives.d.ts +2 -2
  24. package/dist/plugin-sdk/channel-config-schema-legacy.d.ts +3 -3
  25. package/dist/plugin-sdk/channel-config-schema.d.ts +2 -2
  26. package/dist/plugin-sdk/channel-core.d.ts +1 -1
  27. package/dist/plugin-sdk/channel-plugin-common.d.ts +1 -1
  28. package/dist/plugin-sdk/compat.d.ts +2 -2
  29. package/dist/plugin-sdk/{config-schema-DUddICQM.d.ts → config-schema-D7cABQ6o.d.ts} +1 -1
  30. package/dist/plugin-sdk/config-schema.d.ts +2 -2
  31. package/dist/plugin-sdk/core.d.ts +1 -1
  32. package/dist/plugin-sdk/discord.d.ts +2 -2
  33. package/dist/plugin-sdk/tts-runtime.d.ts +1 -1
  34. package/dist/plugin-sdk/{zod-schema.core-B4_b2R5K.d.ts → zod-schema.core-CwBNqcXp.d.ts} +1 -1
  35. package/package.json +4 -409
  36. package/CHANGELOG.md +0 -42
  37. package/THIRD_PARTY_NOTICES.md +0 -37
  38. package/docs/.i18n/README.md +0 -81
  39. package/docs/.i18n/ar-navigation.json +0 -18
  40. package/docs/.i18n/de-navigation.json +0 -18
  41. package/docs/.i18n/es-navigation.json +0 -18
  42. package/docs/.i18n/fr-navigation.json +0 -18
  43. package/docs/.i18n/glossary.ar.json +0 -78
  44. package/docs/.i18n/glossary.de.json +0 -78
  45. package/docs/.i18n/glossary.es.json +0 -78
  46. package/docs/.i18n/glossary.fa.json +0 -78
  47. package/docs/.i18n/glossary.fr.json +0 -78
  48. package/docs/.i18n/glossary.id.json +0 -78
  49. package/docs/.i18n/glossary.it.json +0 -78
  50. package/docs/.i18n/glossary.ja-JP.json +0 -98
  51. package/docs/.i18n/glossary.ko.json +0 -78
  52. package/docs/.i18n/glossary.nl.json +0 -78
  53. package/docs/.i18n/glossary.pl.json +0 -78
  54. package/docs/.i18n/glossary.pt-BR.json +0 -78
  55. package/docs/.i18n/glossary.th.json +0 -78
  56. package/docs/.i18n/glossary.tr.json +0 -78
  57. package/docs/.i18n/glossary.uk.json +0 -78
  58. package/docs/.i18n/glossary.vi.json +0 -78
  59. package/docs/.i18n/glossary.zh-CN.json +0 -1122
  60. package/docs/.i18n/glossary.zh-TW.json +0 -78
  61. package/docs/.i18n/id-navigation.json +0 -18
  62. package/docs/.i18n/it-navigation.json +0 -18
  63. package/docs/.i18n/ja-navigation.json +0 -18
  64. package/docs/.i18n/ko-navigation.json +0 -18
  65. package/docs/.i18n/pl-navigation.json +0 -18
  66. package/docs/.i18n/pt-BR-navigation.json +0 -18
  67. package/docs/.i18n/tr-navigation.json +0 -18
  68. package/docs/.i18n/translation-workflow.md +0 -111
  69. package/docs/.i18n/zh-Hans-navigation.json +0 -552
  70. package/docs/AGENTS.md +0 -36
  71. package/docs/CLAUDE.md +0 -1
  72. package/docs/agent-runtime-architecture.md +0 -48
  73. package/docs/announcements/bluebubbles-imessage.md +0 -79
  74. package/docs/auth-credential-semantics.md +0 -124
  75. package/docs/automation/auth-monitoring.md +0 -11
  76. package/docs/automation/clawflow.md +0 -12
  77. package/docs/automation/cron-jobs.md +0 -534
  78. package/docs/automation/cron-vs-heartbeat.md +0 -11
  79. package/docs/automation/gmail-pubsub.md +0 -11
  80. package/docs/automation/hooks.md +0 -387
  81. package/docs/automation/index.md +0 -135
  82. package/docs/automation/poll.md +0 -12
  83. package/docs/automation/standing-orders.md +0 -250
  84. package/docs/automation/taskflow.md +0 -155
  85. package/docs/automation/tasks.md +0 -374
  86. package/docs/automation/troubleshooting.md +0 -12
  87. package/docs/automation/webhook.md +0 -12
  88. package/docs/brave-search.md +0 -11
  89. package/docs/channels/access-groups.md +0 -201
  90. package/docs/channels/ambient-room-events.md +0 -214
  91. package/docs/channels/bot-loop-protection.md +0 -131
  92. package/docs/channels/broadcast-groups.md +0 -472
  93. package/docs/channels/channel-routing.md +0 -162
  94. package/docs/channels/clickclack.md +0 -138
  95. package/docs/channels/discord.md +0 -1758
  96. package/docs/channels/feishu.md +0 -650
  97. package/docs/channels/googlechat.md +0 -284
  98. package/docs/channels/group-messages.md +0 -95
  99. package/docs/channels/groups.md +0 -524
  100. package/docs/channels/imessage-from-bluebubbles.md +0 -259
  101. package/docs/channels/imessage.md +0 -839
  102. package/docs/channels/index.md +0 -64
  103. package/docs/channels/irc.md +0 -253
  104. package/docs/channels/line.md +0 -243
  105. package/docs/channels/location.md +0 -71
  106. package/docs/channels/matrix-migration.md +0 -370
  107. package/docs/channels/matrix-presentation.md +0 -77
  108. package/docs/channels/matrix-push-rules.md +0 -150
  109. package/docs/channels/matrix.md +0 -921
  110. package/docs/channels/mattermost.md +0 -542
  111. package/docs/channels/msteams.md +0 -1096
  112. package/docs/channels/nextcloud-talk.md +0 -176
  113. package/docs/channels/nostr.md +0 -253
  114. package/docs/channels/pairing.md +0 -214
  115. package/docs/channels/qqbot.md +0 -314
  116. package/docs/channels/signal.md +0 -417
  117. package/docs/channels/slack.md +0 -1623
  118. package/docs/channels/synology-chat.md +0 -187
  119. package/docs/channels/telegram.md +0 -1124
  120. package/docs/channels/tlon.md +0 -296
  121. package/docs/channels/troubleshooting.md +0 -162
  122. package/docs/channels/twitch.md +0 -431
  123. package/docs/channels/wechat.md +0 -171
  124. package/docs/channels/whatsapp.md +0 -796
  125. package/docs/channels/yuanbao.md +0 -416
  126. package/docs/channels/zalo.md +0 -253
  127. package/docs/channels/zalouser.md +0 -217
  128. package/docs/ci.md +0 -657
  129. package/docs/clawhub/publishing.md +0 -96
  130. package/docs/cli/acp.md +0 -370
  131. package/docs/cli/agent.md +0 -109
  132. package/docs/cli/agents.md +0 -253
  133. package/docs/cli/approvals.md +0 -190
  134. package/docs/cli/backup.md +0 -98
  135. package/docs/cli/browser.md +0 -307
  136. package/docs/cli/channels.md +0 -154
  137. package/docs/cli/clawbot.md +0 -25
  138. package/docs/cli/commitments.md +0 -90
  139. package/docs/cli/completion.md +0 -39
  140. package/docs/cli/config.md +0 -504
  141. package/docs/cli/configure.md +0 -77
  142. package/docs/cli/crestodian.md +0 -337
  143. package/docs/cli/cron.md +0 -304
  144. package/docs/cli/daemon.md +0 -67
  145. package/docs/cli/dashboard.md +0 -33
  146. package/docs/cli/devices.md +0 -240
  147. package/docs/cli/directory.md +0 -68
  148. package/docs/cli/dns.md +0 -53
  149. package/docs/cli/docs.md +0 -63
  150. package/docs/cli/doctor.md +0 -241
  151. package/docs/cli/flows.md +0 -52
  152. package/docs/cli/gateway.md +0 -572
  153. package/docs/cli/health.md +0 -43
  154. package/docs/cli/hooks.md +0 -345
  155. package/docs/cli/index.md +0 -400
  156. package/docs/cli/infer.md +0 -364
  157. package/docs/cli/logs.md +0 -68
  158. package/docs/cli/mcp.md +0 -529
  159. package/docs/cli/memory.md +0 -183
  160. package/docs/cli/message.md +0 -317
  161. package/docs/cli/migrate.md +0 -334
  162. package/docs/cli/models.md +0 -239
  163. package/docs/cli/node.md +0 -177
  164. package/docs/cli/nodes.md +0 -76
  165. package/docs/cli/onboard.md +0 -250
  166. package/docs/cli/pairing.md +0 -77
  167. package/docs/cli/path.md +0 -511
  168. package/docs/cli/plugins.md +0 -459
  169. package/docs/cli/policy.md +0 -886
  170. package/docs/cli/proxy.md +0 -89
  171. package/docs/cli/qr.md +0 -56
  172. package/docs/cli/reset.md +0 -39
  173. package/docs/cli/sandbox.md +0 -208
  174. package/docs/cli/secrets.md +0 -202
  175. package/docs/cli/security.md +0 -136
  176. package/docs/cli/sessions.md +0 -164
  177. package/docs/cli/setup.md +0 -59
  178. package/docs/cli/skills.md +0 -122
  179. package/docs/cli/status.md +0 -45
  180. package/docs/cli/system.md +0 -89
  181. package/docs/cli/tasks.md +0 -111
  182. package/docs/cli/transcripts.md +0 -151
  183. package/docs/cli/tui.md +0 -91
  184. package/docs/cli/uninstall.md +0 -44
  185. package/docs/cli/update.md +0 -243
  186. package/docs/cli/voicecall.md +0 -204
  187. package/docs/cli/webhooks.md +0 -117
  188. package/docs/cli/wiki.md +0 -256
  189. package/docs/concepts/active-memory.md +0 -856
  190. package/docs/concepts/agent-loop.md +0 -185
  191. package/docs/concepts/agent-runtimes.md +0 -276
  192. package/docs/concepts/agent-workspace.md +0 -230
  193. package/docs/concepts/agent.md +0 -140
  194. package/docs/concepts/architecture.md +0 -154
  195. package/docs/concepts/channel-docking.md +0 -145
  196. package/docs/concepts/commitments.md +0 -150
  197. package/docs/concepts/compaction.md +0 -203
  198. package/docs/concepts/context-engine.md +0 -347
  199. package/docs/concepts/context.md +0 -199
  200. package/docs/concepts/delegate-architecture.md +0 -319
  201. package/docs/concepts/dreaming.md +0 -264
  202. package/docs/concepts/experimental-features.md +0 -109
  203. package/docs/concepts/features.md +0 -91
  204. package/docs/concepts/fengming-sdk.md +0 -323
  205. package/docs/concepts/mantis-slack-desktop-runbook.md +0 -231
  206. package/docs/concepts/mantis.md +0 -744
  207. package/docs/concepts/markdown-formatting.md +0 -139
  208. package/docs/concepts/memory-builtin.md +0 -148
  209. package/docs/concepts/memory-honcho.md +0 -144
  210. package/docs/concepts/memory-qmd.md +0 -271
  211. package/docs/concepts/memory-search.md +0 -167
  212. package/docs/concepts/memory.md +0 -299
  213. package/docs/concepts/message-lifecycle-refactor.md +0 -1126
  214. package/docs/concepts/messages.md +0 -214
  215. package/docs/concepts/model-failover.md +0 -384
  216. package/docs/concepts/model-providers.md +0 -719
  217. package/docs/concepts/models.md +0 -371
  218. package/docs/concepts/multi-agent.md +0 -625
  219. package/docs/concepts/oauth.md +0 -198
  220. package/docs/concepts/parallel-specialist-lanes.md +0 -127
  221. package/docs/concepts/personal-agent-benchmark-pack.md +0 -74
  222. package/docs/concepts/presence.md +0 -117
  223. package/docs/concepts/progress-drafts.md +0 -406
  224. package/docs/concepts/qa-e2e-automation.md +0 -947
  225. package/docs/concepts/qa-matrix.md +0 -139
  226. package/docs/concepts/queue-steering.md +0 -90
  227. package/docs/concepts/queue.md +0 -136
  228. package/docs/concepts/retry.md +0 -86
  229. package/docs/concepts/session-pruning.md +0 -104
  230. package/docs/concepts/session-tool.md +0 -188
  231. package/docs/concepts/session.md +0 -164
  232. package/docs/concepts/soul.md +0 -116
  233. package/docs/concepts/streaming.md +0 -257
  234. package/docs/concepts/system-prompt.md +0 -328
  235. package/docs/concepts/timezone.md +0 -47
  236. package/docs/concepts/typebox.md +0 -309
  237. package/docs/concepts/typing-indicators.md +0 -88
  238. package/docs/concepts/usage-tracking.md +0 -66
  239. package/docs/date-time.md +0 -126
  240. package/docs/debug/node-issue.md +0 -90
  241. package/docs/diagnostics/flags.md +0 -182
  242. package/docs/docs.json +0 -1862
  243. package/docs/fengming-agent-runtime.md +0 -82
  244. package/docs/gateway/authentication.md +0 -256
  245. package/docs/gateway/background-process.md +0 -147
  246. package/docs/gateway/bonjour.md +0 -303
  247. package/docs/gateway/bridge-protocol.md +0 -97
  248. package/docs/gateway/cli-backends.md +0 -439
  249. package/docs/gateway/config-agents.md +0 -1525
  250. package/docs/gateway/config-channels.md +0 -945
  251. package/docs/gateway/config-tools.md +0 -774
  252. package/docs/gateway/configuration-examples.md +0 -704
  253. package/docs/gateway/configuration-reference.md +0 -1391
  254. package/docs/gateway/configuration.md +0 -739
  255. package/docs/gateway/diagnostics.md +0 -213
  256. package/docs/gateway/discovery.md +0 -154
  257. package/docs/gateway/doctor.md +0 -575
  258. package/docs/gateway/gateway-lock.md +0 -37
  259. package/docs/gateway/health.md +0 -73
  260. package/docs/gateway/heartbeat.md +0 -498
  261. package/docs/gateway/index.md +0 -383
  262. package/docs/gateway/local-model-services.md +0 -205
  263. package/docs/gateway/local-models.md +0 -355
  264. package/docs/gateway/logging.md +0 -149
  265. package/docs/gateway/multiple-gateways.md +0 -178
  266. package/docs/gateway/network-model.md +0 -15
  267. package/docs/gateway/openai-http-api.md +0 -378
  268. package/docs/gateway/openresponses-http-api.md +0 -347
  269. package/docs/gateway/openshell.md +0 -316
  270. package/docs/gateway/opentelemetry.md +0 -433
  271. package/docs/gateway/operator-scopes.md +0 -119
  272. package/docs/gateway/pairing.md +0 -207
  273. package/docs/gateway/prometheus.md +0 -249
  274. package/docs/gateway/protocol.md +0 -826
  275. package/docs/gateway/remote-gateway-readme.md +0 -169
  276. package/docs/gateway/remote.md +0 -280
  277. package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +0 -148
  278. package/docs/gateway/sandboxing.md +0 -546
  279. package/docs/gateway/secrets-plan-contract.md +0 -159
  280. package/docs/gateway/secrets.md +0 -805
  281. package/docs/gateway/security/audit-checks.md +0 -127
  282. package/docs/gateway/security/exposure-runbook.md +0 -212
  283. package/docs/gateway/security/index.md +0 -1343
  284. package/docs/gateway/security/secure-file-operations.md +0 -76
  285. package/docs/gateway/security/shrinkwrap.md +0 -111
  286. package/docs/gateway/tailscale.md +0 -156
  287. package/docs/gateway/tools-invoke-http-api.md +0 -169
  288. package/docs/gateway/troubleshooting.md +0 -877
  289. package/docs/gateway/trusted-proxy-auth.md +0 -483
  290. package/docs/help/debugging.md +0 -341
  291. package/docs/help/environment.md +0 -233
  292. package/docs/help/faq-first-run.md +0 -870
  293. package/docs/help/faq-models.md +0 -556
  294. package/docs/help/faq.md +0 -2041
  295. package/docs/help/index.md +0 -39
  296. package/docs/help/scripts.md +0 -56
  297. package/docs/help/testing-live.md +0 -587
  298. package/docs/help/testing-updates-plugins.md +0 -299
  299. package/docs/help/testing.md +0 -977
  300. package/docs/help/troubleshooting.md +0 -449
  301. package/docs/index.md +0 -196
  302. package/docs/install/ansible.md +0 -233
  303. package/docs/install/azure.md +0 -315
  304. package/docs/install/bun.md +0 -59
  305. package/docs/install/clawdock.md +0 -112
  306. package/docs/install/development-channels.md +0 -148
  307. package/docs/install/digitalocean.md +0 -174
  308. package/docs/install/docker-vm-runtime.md +0 -154
  309. package/docs/install/docker.md +0 -564
  310. package/docs/install/exe-dev.md +0 -201
  311. package/docs/install/fly.md +0 -524
  312. package/docs/install/gcp.md +0 -418
  313. package/docs/install/hetzner.md +0 -285
  314. package/docs/install/hostinger.md +0 -98
  315. package/docs/install/index.md +0 -232
  316. package/docs/install/installer.md +0 -447
  317. package/docs/install/kubernetes.md +0 -196
  318. package/docs/install/macos-vm.md +0 -281
  319. package/docs/install/migrating-claude.md +0 -165
  320. package/docs/install/migrating-hermes.md +0 -178
  321. package/docs/install/migrating.md +0 -137
  322. package/docs/install/nix.md +0 -112
  323. package/docs/install/node.md +0 -142
  324. package/docs/install/northflank.mdx +0 -44
  325. package/docs/install/oracle.md +0 -218
  326. package/docs/install/podman.md +0 -216
  327. package/docs/install/railway.mdx +0 -92
  328. package/docs/install/raspberry-pi.md +0 -234
  329. package/docs/install/render.mdx +0 -167
  330. package/docs/install/uninstall.md +0 -131
  331. package/docs/install/updating.md +0 -284
  332. package/docs/install/upstash.md +0 -96
  333. package/docs/logging.md +0 -320
  334. package/docs/nav-tabs-underline.js +0 -100
  335. package/docs/network.md +0 -72
  336. package/docs/nodes/audio.md +0 -216
  337. package/docs/nodes/camera.md +0 -166
  338. package/docs/nodes/images.md +0 -77
  339. package/docs/nodes/index.md +0 -439
  340. package/docs/nodes/location-command.md +0 -102
  341. package/docs/nodes/media-understanding.md +0 -495
  342. package/docs/nodes/talk.md +0 -160
  343. package/docs/nodes/troubleshooting.md +0 -123
  344. package/docs/nodes/voicewake.md +0 -93
  345. package/docs/perplexity.md +0 -11
  346. package/docs/plan/codex-context-engine-harness.md +0 -624
  347. package/docs/plan/ui-channels.md +0 -284
  348. package/docs/platforms/digitalocean.md +0 -12
  349. package/docs/platforms/easyrunner.md +0 -109
  350. package/docs/platforms/index.md +0 -51
  351. package/docs/platforms/linux.md +0 -141
  352. package/docs/platforms/mac/bundled-gateway.md +0 -79
  353. package/docs/platforms/mac/canvas.md +0 -128
  354. package/docs/platforms/mac/child-process.md +0 -72
  355. package/docs/platforms/mac/dev-setup.md +0 -112
  356. package/docs/platforms/mac/health.md +0 -39
  357. package/docs/platforms/mac/icon.md +0 -36
  358. package/docs/platforms/mac/logging.md +0 -62
  359. package/docs/platforms/mac/menu-bar.md +0 -93
  360. package/docs/platforms/mac/peekaboo.md +0 -96
  361. package/docs/platforms/mac/permissions.md +0 -73
  362. package/docs/platforms/mac/remote.md +0 -123
  363. package/docs/platforms/mac/signing.md +0 -52
  364. package/docs/platforms/mac/skills.md +0 -43
  365. package/docs/platforms/mac/voice-overlay.md +0 -66
  366. package/docs/platforms/mac/voicewake.md +0 -73
  367. package/docs/platforms/mac/webchat.md +0 -54
  368. package/docs/platforms/mac/xpc.md +0 -66
  369. package/docs/platforms/oracle.md +0 -12
  370. package/docs/platforms/raspberry-pi.md +0 -13
  371. package/docs/platforms/windows.md +0 -286
  372. package/docs/plugins/adding-capabilities.md +0 -146
  373. package/docs/plugins/admin-http-rpc.md +0 -216
  374. package/docs/plugins/agent-tools.md +0 -13
  375. package/docs/plugins/architecture-internals.md +0 -1196
  376. package/docs/plugins/architecture.md +0 -483
  377. package/docs/plugins/building-extensions.md +0 -13
  378. package/docs/plugins/building-plugins.md +0 -335
  379. package/docs/plugins/bundles.md +0 -310
  380. package/docs/plugins/cli-backend-plugins.md +0 -310
  381. package/docs/plugins/codex-computer-use.md +0 -297
  382. package/docs/plugins/codex-harness-reference.md +0 -470
  383. package/docs/plugins/codex-harness-runtime.md +0 -268
  384. package/docs/plugins/codex-harness.md +0 -780
  385. package/docs/plugins/codex-native-plugins.md +0 -276
  386. package/docs/plugins/community.md +0 -77
  387. package/docs/plugins/compatibility.md +0 -167
  388. package/docs/plugins/copilot.md +0 -356
  389. package/docs/plugins/dependency-resolution.md +0 -176
  390. package/docs/plugins/google-meet.md +0 -1737
  391. package/docs/plugins/hooks.md +0 -484
  392. package/docs/plugins/install-overrides.md +0 -80
  393. package/docs/plugins/manage-plugins.md +0 -210
  394. package/docs/plugins/manifest.md +0 -1457
  395. package/docs/plugins/memory-lancedb.md +0 -385
  396. package/docs/plugins/memory-wiki.md +0 -529
  397. package/docs/plugins/message-presentation.md +0 -473
  398. package/docs/plugins/oc-path.md +0 -166
  399. package/docs/plugins/plugin-inventory.md +0 -189
  400. package/docs/plugins/plugin-permission-requests.md +0 -193
  401. package/docs/plugins/reference/acpx.md +0 -23
  402. package/docs/plugins/reference/admin-http-rpc.md +0 -23
  403. package/docs/plugins/reference/alibaba.md +0 -23
  404. package/docs/plugins/reference/amazon-bedrock-mantle.md +0 -23
  405. package/docs/plugins/reference/amazon-bedrock.md +0 -23
  406. package/docs/plugins/reference/anthropic-vertex.md +0 -19
  407. package/docs/plugins/reference/anthropic.md +0 -23
  408. package/docs/plugins/reference/arcee.md +0 -23
  409. package/docs/plugins/reference/azure-speech.md +0 -23
  410. package/docs/plugins/reference/bonjour.md +0 -19
  411. package/docs/plugins/reference/brave.md +0 -23
  412. package/docs/plugins/reference/browser.md +0 -23
  413. package/docs/plugins/reference/byteplus.md +0 -19
  414. package/docs/plugins/reference/canvas.md +0 -19
  415. package/docs/plugins/reference/cerebras.md +0 -23
  416. package/docs/plugins/reference/chutes.md +0 -23
  417. package/docs/plugins/reference/clickclack.md +0 -23
  418. package/docs/plugins/reference/cloudflare-ai-gateway.md +0 -23
  419. package/docs/plugins/reference/codex-supervisor.md +0 -27
  420. package/docs/plugins/reference/codex.md +0 -23
  421. package/docs/plugins/reference/comfy.md +0 -23
  422. package/docs/plugins/reference/copilot-proxy.md +0 -19
  423. package/docs/plugins/reference/copilot.md +0 -23
  424. package/docs/plugins/reference/deepgram.md +0 -23
  425. package/docs/plugins/reference/deepinfra.md +0 -23
  426. package/docs/plugins/reference/deepseek.md +0 -23
  427. package/docs/plugins/reference/diagnostics-otel.md +0 -19
  428. package/docs/plugins/reference/diagnostics-prometheus.md +0 -19
  429. package/docs/plugins/reference/diffs-language-pack.md +0 -19
  430. package/docs/plugins/reference/diffs.md +0 -19
  431. package/docs/plugins/reference/discord.md +0 -23
  432. package/docs/plugins/reference/document-extract.md +0 -23
  433. package/docs/plugins/reference/duckduckgo.md +0 -23
  434. package/docs/plugins/reference/elevenlabs.md +0 -23
  435. package/docs/plugins/reference/exa.md +0 -23
  436. package/docs/plugins/reference/fal.md +0 -23
  437. package/docs/plugins/reference/feishu.md +0 -23
  438. package/docs/plugins/reference/file-transfer.md +0 -19
  439. package/docs/plugins/reference/firecrawl.md +0 -23
  440. package/docs/plugins/reference/fireworks.md +0 -23
  441. package/docs/plugins/reference/github-copilot.md +0 -23
  442. package/docs/plugins/reference/gmi.md +0 -23
  443. package/docs/plugins/reference/google-meet.md +0 -23
  444. package/docs/plugins/reference/google.md +0 -23
  445. package/docs/plugins/reference/googlechat.md +0 -23
  446. package/docs/plugins/reference/gradium.md +0 -23
  447. package/docs/plugins/reference/groq.md +0 -23
  448. package/docs/plugins/reference/huggingface.md +0 -23
  449. package/docs/plugins/reference/imessage.md +0 -23
  450. package/docs/plugins/reference/inworld.md +0 -23
  451. package/docs/plugins/reference/irc.md +0 -23
  452. package/docs/plugins/reference/kilocode.md +0 -23
  453. package/docs/plugins/reference/kimi.md +0 -23
  454. package/docs/plugins/reference/line.md +0 -23
  455. package/docs/plugins/reference/litellm.md +0 -23
  456. package/docs/plugins/reference/llm-task.md +0 -19
  457. package/docs/plugins/reference/lmstudio.md +0 -23
  458. package/docs/plugins/reference/lobster.md +0 -19
  459. package/docs/plugins/reference/matrix.md +0 -23
  460. package/docs/plugins/reference/mattermost.md +0 -23
  461. package/docs/plugins/reference/memory-core.md +0 -19
  462. package/docs/plugins/reference/memory-lancedb.md +0 -23
  463. package/docs/plugins/reference/memory-wiki.md +0 -23
  464. package/docs/plugins/reference/microsoft-foundry.md +0 -19
  465. package/docs/plugins/reference/microsoft.md +0 -19
  466. package/docs/plugins/reference/migrate-claude.md +0 -19
  467. package/docs/plugins/reference/migrate-hermes.md +0 -19
  468. package/docs/plugins/reference/minimax.md +0 -23
  469. package/docs/plugins/reference/mistral.md +0 -23
  470. package/docs/plugins/reference/moonshot.md +0 -23
  471. package/docs/plugins/reference/msteams.md +0 -23
  472. package/docs/plugins/reference/nextcloud-talk.md +0 -23
  473. package/docs/plugins/reference/nostr.md +0 -23
  474. package/docs/plugins/reference/novita.md +0 -23
  475. package/docs/plugins/reference/nvidia.md +0 -23
  476. package/docs/plugins/reference/oc-path.md +0 -23
  477. package/docs/plugins/reference/ollama.md +0 -23
  478. package/docs/plugins/reference/open-prose.md +0 -19
  479. package/docs/plugins/reference/openai.md +0 -23
  480. package/docs/plugins/reference/opencode-go.md +0 -23
  481. package/docs/plugins/reference/opencode.md +0 -23
  482. package/docs/plugins/reference/openrouter.md +0 -23
  483. package/docs/plugins/reference/openshell.md +0 -19
  484. package/docs/plugins/reference/perplexity.md +0 -23
  485. package/docs/plugins/reference/pixverse.md +0 -23
  486. package/docs/plugins/reference/policy.md +0 -72
  487. package/docs/plugins/reference/qa-channel.md +0 -23
  488. package/docs/plugins/reference/qa-lab.md +0 -19
  489. package/docs/plugins/reference/qa-matrix.md +0 -19
  490. package/docs/plugins/reference/qianfan.md +0 -23
  491. package/docs/plugins/reference/qqbot.md +0 -23
  492. package/docs/plugins/reference/qwen.md +0 -23
  493. package/docs/plugins/reference/runway.md +0 -23
  494. package/docs/plugins/reference/searxng.md +0 -19
  495. package/docs/plugins/reference/senseaudio.md +0 -23
  496. package/docs/plugins/reference/sglang.md +0 -23
  497. package/docs/plugins/reference/signal.md +0 -23
  498. package/docs/plugins/reference/skill-workshop.md +0 -23
  499. package/docs/plugins/reference/slack.md +0 -23
  500. package/docs/plugins/reference/stepfun.md +0 -23
  501. package/docs/plugins/reference/synology-chat.md +0 -23
  502. package/docs/plugins/reference/synthetic.md +0 -23
  503. package/docs/plugins/reference/tavily.md +0 -23
  504. package/docs/plugins/reference/telegram.md +0 -23
  505. package/docs/plugins/reference/tencent.md +0 -23
  506. package/docs/plugins/reference/tlon.md +0 -23
  507. package/docs/plugins/reference/together.md +0 -23
  508. package/docs/plugins/reference/tokenjuice.md +0 -23
  509. package/docs/plugins/reference/tts-local-cli.md +0 -19
  510. package/docs/plugins/reference/twitch.md +0 -23
  511. package/docs/plugins/reference/venice.md +0 -23
  512. package/docs/plugins/reference/vercel-ai-gateway.md +0 -23
  513. package/docs/plugins/reference/vllm.md +0 -23
  514. package/docs/plugins/reference/voice-call.md +0 -23
  515. package/docs/plugins/reference/volcengine.md +0 -23
  516. package/docs/plugins/reference/voyage.md +0 -19
  517. package/docs/plugins/reference/vydra.md +0 -23
  518. package/docs/plugins/reference/web-readability.md +0 -19
  519. package/docs/plugins/reference/webhooks.md +0 -23
  520. package/docs/plugins/reference/whatsapp.md +0 -23
  521. package/docs/plugins/reference/workboard.md +0 -23
  522. package/docs/plugins/reference/xai.md +0 -23
  523. package/docs/plugins/reference/xiaomi.md +0 -23
  524. package/docs/plugins/reference/zai.md +0 -23
  525. package/docs/plugins/reference/zalo.md +0 -23
  526. package/docs/plugins/reference/zalouser.md +0 -24
  527. package/docs/plugins/reference.md +0 -145
  528. package/docs/plugins/sdk-agent-harness.md +0 -338
  529. package/docs/plugins/sdk-channel-inbound.md +0 -70
  530. package/docs/plugins/sdk-channel-ingress.md +0 -137
  531. package/docs/plugins/sdk-channel-message.md +0 -18
  532. package/docs/plugins/sdk-channel-outbound.md +0 -113
  533. package/docs/plugins/sdk-channel-plugins.md +0 -765
  534. package/docs/plugins/sdk-channel-turn.md +0 -9
  535. package/docs/plugins/sdk-entrypoints.md +0 -344
  536. package/docs/plugins/sdk-migration.md +0 -979
  537. package/docs/plugins/sdk-overview.md +0 -511
  538. package/docs/plugins/sdk-provider-plugins.md +0 -846
  539. package/docs/plugins/sdk-runtime.md +0 -676
  540. package/docs/plugins/sdk-setup.md +0 -550
  541. package/docs/plugins/sdk-subpaths.md +0 -391
  542. package/docs/plugins/sdk-testing.md +0 -403
  543. package/docs/plugins/skill-workshop.md +0 -713
  544. package/docs/plugins/tool-plugins.md +0 -411
  545. package/docs/plugins/voice-call.md +0 -942
  546. package/docs/plugins/webhooks.md +0 -192
  547. package/docs/plugins/workboard.md +0 -252
  548. package/docs/plugins/zalouser.md +0 -86
  549. package/docs/prose.md +0 -137
  550. package/docs/providers/alibaba.md +0 -158
  551. package/docs/providers/anthropic.md +0 -381
  552. package/docs/providers/arcee.md +0 -144
  553. package/docs/providers/azure-speech.md +0 -119
  554. package/docs/providers/bedrock-mantle.md +0 -211
  555. package/docs/providers/bedrock.md +0 -414
  556. package/docs/providers/cerebras.md +0 -130
  557. package/docs/providers/chutes.md +0 -153
  558. package/docs/providers/claude-max-api-proxy.md +0 -191
  559. package/docs/providers/cloudflare-ai-gateway.md +0 -119
  560. package/docs/providers/comfy.md +0 -362
  561. package/docs/providers/deepgram.md +0 -184
  562. package/docs/providers/deepinfra.md +0 -92
  563. package/docs/providers/deepseek.md +0 -146
  564. package/docs/providers/ds4.md +0 -309
  565. package/docs/providers/elevenlabs.md +0 -130
  566. package/docs/providers/fal.md +0 -240
  567. package/docs/providers/fireworks.md +0 -144
  568. package/docs/providers/github-copilot.md +0 -257
  569. package/docs/providers/gmi.md +0 -92
  570. package/docs/providers/google.md +0 -472
  571. package/docs/providers/gradium.md +0 -123
  572. package/docs/providers/groq.md +0 -171
  573. package/docs/providers/huggingface.md +0 -235
  574. package/docs/providers/index.md +0 -105
  575. package/docs/providers/inferrs.md +0 -272
  576. package/docs/providers/inworld.md +0 -120
  577. package/docs/providers/kilocode.md +0 -135
  578. package/docs/providers/litellm.md +0 -234
  579. package/docs/providers/lmstudio.md +0 -224
  580. package/docs/providers/minimax.md +0 -505
  581. package/docs/providers/mistral.md +0 -235
  582. package/docs/providers/models.md +0 -64
  583. package/docs/providers/moonshot.md +0 -413
  584. package/docs/providers/novita.md +0 -92
  585. package/docs/providers/nvidia.md +0 -158
  586. package/docs/providers/ollama-cloud.md +0 -115
  587. package/docs/providers/ollama.md +0 -1225
  588. package/docs/providers/openai.md +0 -1093
  589. package/docs/providers/opencode-go.md +0 -123
  590. package/docs/providers/opencode.md +0 -149
  591. package/docs/providers/openrouter.md +0 -349
  592. package/docs/providers/perplexity-provider.md +0 -123
  593. package/docs/providers/pixverse.md +0 -165
  594. package/docs/providers/qianfan.md +0 -132
  595. package/docs/providers/qwen-oauth.md +0 -115
  596. package/docs/providers/qwen.md +0 -364
  597. package/docs/providers/runway.md +0 -103
  598. package/docs/providers/senseaudio.md +0 -68
  599. package/docs/providers/sglang.md +0 -161
  600. package/docs/providers/stepfun.md +0 -229
  601. package/docs/providers/synthetic.md +0 -154
  602. package/docs/providers/tencent.md +0 -130
  603. package/docs/providers/together.md +0 -140
  604. package/docs/providers/venice.md +0 -312
  605. package/docs/providers/vercel-ai-gateway.md +0 -128
  606. package/docs/providers/vllm.md +0 -407
  607. package/docs/providers/volcengine.md +0 -199
  608. package/docs/providers/vydra.md +0 -180
  609. package/docs/providers/xai.md +0 -571
  610. package/docs/providers/xiaomi.md +0 -262
  611. package/docs/providers/zai.md +0 -224
  612. package/docs/refactor/access.md +0 -9
  613. package/docs/refactor/acp.md +0 -298
  614. package/docs/refactor/canvas.md +0 -131
  615. package/docs/refactor/database-first.md +0 -2256
  616. package/docs/refactor/ingress-core.md +0 -341
  617. package/docs/reference/AGENTS.default.md +0 -131
  618. package/docs/reference/RELEASING.md +0 -799
  619. package/docs/reference/api-usage-costs.md +0 -208
  620. package/docs/reference/application-modernization-plan.md +0 -208
  621. package/docs/reference/code-mode.md +0 -773
  622. package/docs/reference/credits.md +0 -33
  623. package/docs/reference/device-models.md +0 -50
  624. package/docs/reference/fengming-sdk-api-design.md +0 -390
  625. package/docs/reference/full-release-validation.md +0 -202
  626. package/docs/reference/memory-config.md +0 -604
  627. package/docs/reference/prompt-caching.md +0 -358
  628. package/docs/reference/release-performance-sweep.md +0 -360
  629. package/docs/reference/rich-output-protocol.md +0 -101
  630. package/docs/reference/rpc.md +0 -43
  631. package/docs/reference/secret-placeholder-conventions.md +0 -33
  632. package/docs/reference/secretref-credential-surface.md +0 -159
  633. package/docs/reference/secretref-user-supplied-credentials-matrix.json +0 -663
  634. package/docs/reference/session-management-compaction.md +0 -474
  635. package/docs/reference/templates/AGENTS.dev.md +0 -90
  636. package/docs/reference/templates/AGENTS.md +0 -227
  637. package/docs/reference/templates/BOOT.md +0 -16
  638. package/docs/reference/templates/BOOTSTRAP.md +0 -66
  639. package/docs/reference/templates/CLAUDE.md +0 -1
  640. package/docs/reference/templates/HEARTBEAT.md +0 -24
  641. package/docs/reference/templates/IDENTITY.dev.md +0 -52
  642. package/docs/reference/templates/IDENTITY.md +0 -34
  643. package/docs/reference/templates/SOUL.dev.md +0 -82
  644. package/docs/reference/templates/SOUL.md +0 -49
  645. package/docs/reference/templates/TOOLS.dev.md +0 -29
  646. package/docs/reference/templates/TOOLS.md +0 -51
  647. package/docs/reference/templates/USER.dev.md +0 -23
  648. package/docs/reference/templates/USER.md +0 -28
  649. package/docs/reference/test.md +0 -247
  650. package/docs/reference/token-use.md +0 -246
  651. package/docs/reference/transcript-hygiene.md +0 -214
  652. package/docs/reference/wizard.md +0 -252
  653. package/docs/security/CONTRIBUTING-THREAT-MODEL.md +0 -101
  654. package/docs/security/THREAT-MODEL-ATLAS.md +0 -611
  655. package/docs/security/formal-verification.md +0 -170
  656. package/docs/security/incident-response.md +0 -59
  657. package/docs/security/network-proxy.md +0 -268
  658. package/docs/snippets/plugin-publish/minimal-fengming.plugin.json +0 -12
  659. package/docs/snippets/plugin-publish/minimal-package.json +0 -16
  660. package/docs/specs/claw-supervisor.md +0 -247
  661. package/docs/start/bootstrapping.md +0 -49
  662. package/docs/start/docs-directory.md +0 -69
  663. package/docs/start/fengming.md +0 -252
  664. package/docs/start/getting-started.md +0 -152
  665. package/docs/start/hubs.md +0 -201
  666. package/docs/start/lore.md +0 -223
  667. package/docs/start/onboarding-overview.md +0 -72
  668. package/docs/start/onboarding.md +0 -98
  669. package/docs/start/quickstart.md +0 -25
  670. package/docs/start/setup.md +0 -178
  671. package/docs/start/showcase.md +0 -363
  672. package/docs/start/wizard-cli-automation.md +0 -232
  673. package/docs/start/wizard-cli-reference.md +0 -331
  674. package/docs/start/wizard.md +0 -141
  675. package/docs/style.css +0 -137
  676. package/docs/superpowers/specs/2026-04-22-tweakcn-custom-theme-import-design.md +0 -316
  677. package/docs/tools/acp-agents-setup.md +0 -351
  678. package/docs/tools/acp-agents.md +0 -854
  679. package/docs/tools/agent-send.md +0 -130
  680. package/docs/tools/apply-patch.md +0 -64
  681. package/docs/tools/brave-search.md +0 -139
  682. package/docs/tools/browser-control.md +0 -391
  683. package/docs/tools/browser-linux-troubleshooting.md +0 -173
  684. package/docs/tools/browser-login.md +0 -77
  685. package/docs/tools/browser-wsl2-windows-remote-cdp-troubleshooting.md +0 -219
  686. package/docs/tools/browser.md +0 -810
  687. package/docs/tools/btw.md +0 -159
  688. package/docs/tools/capability-cookbook.md +0 -12
  689. package/docs/tools/clawhub.md +0 -5
  690. package/docs/tools/code-execution.md +0 -173
  691. package/docs/tools/creating-skills.md +0 -158
  692. package/docs/tools/diffs.md +0 -525
  693. package/docs/tools/duckduckgo-search.md +0 -109
  694. package/docs/tools/elevated.md +0 -128
  695. package/docs/tools/exa-search.md +0 -152
  696. package/docs/tools/exec-approvals-advanced.md +0 -444
  697. package/docs/tools/exec-approvals.md +0 -494
  698. package/docs/tools/exec.md +0 -285
  699. package/docs/tools/firecrawl.md +0 -155
  700. package/docs/tools/gemini-search.md +0 -114
  701. package/docs/tools/goal.md +0 -217
  702. package/docs/tools/grok-search.md +0 -129
  703. package/docs/tools/image-generation.md +0 -493
  704. package/docs/tools/index.md +0 -178
  705. package/docs/tools/kimi-search.md +0 -105
  706. package/docs/tools/llm-task.md +0 -137
  707. package/docs/tools/lobster.md +0 -365
  708. package/docs/tools/loop-detection.md +0 -154
  709. package/docs/tools/media-overview.md +0 -160
  710. package/docs/tools/minimax-search.md +0 -102
  711. package/docs/tools/multi-agent-sandbox-tools.md +0 -409
  712. package/docs/tools/music-generation.md +0 -372
  713. package/docs/tools/ollama-search.md +0 -153
  714. package/docs/tools/pdf.md +0 -213
  715. package/docs/tools/perplexity-search.md +0 -220
  716. package/docs/tools/plugin.md +0 -363
  717. package/docs/tools/reactions.md +0 -100
  718. package/docs/tools/searxng-search.md +0 -141
  719. package/docs/tools/skills-config.md +0 -195
  720. package/docs/tools/skills.md +0 -569
  721. package/docs/tools/slash-commands.md +0 -487
  722. package/docs/tools/steer.md +0 -77
  723. package/docs/tools/subagents.md +0 -651
  724. package/docs/tools/tavily.md +0 -162
  725. package/docs/tools/thinking.md +0 -142
  726. package/docs/tools/tokenjuice.md +0 -84
  727. package/docs/tools/tool-search.md +0 -269
  728. package/docs/tools/trajectory.md +0 -229
  729. package/docs/tools/tts.md +0 -1009
  730. package/docs/tools/video-generation.md +0 -555
  731. package/docs/tools/web-fetch.md +0 -210
  732. package/docs/tools/web.md +0 -461
  733. package/docs/tts.md +0 -11
  734. package/docs/vps.md +0 -139
  735. package/docs/web/control-ui.md +0 -512
  736. package/docs/web/dashboard.md +0 -107
  737. package/docs/web/index.md +0 -133
  738. package/docs/web/tui.md +0 -250
  739. package/docs/web/webchat.md +0 -102
  740. package/npm-shrinkwrap.json +0 -12861
  741. package/patches/.gitkeep +0 -0
  742. package/patches/@agentclientprotocol__claude-agent-acp@0.37.0.patch +0 -41
  743. package/pnpm-workspace.yaml +0 -120
  744. package/scripts/crabbox-wrapper.mjs +0 -2004
  745. package/scripts/lib/official-external-channel-catalog.json +0 -560
  746. package/scripts/lib/official-external-plugin-catalog.json +0 -264
  747. package/scripts/lib/official-external-provider-catalog.json +0 -158
  748. package/scripts/lib/package-dist-imports.mjs +0 -171
  749. package/scripts/npm-runner.mjs +0 -91
  750. package/scripts/postinstall-bundled-plugins.mjs +0 -978
  751. package/scripts/preinstall-package-manager-warning.mjs +0 -64
  752. package/scripts/prepare-git-hooks.mjs +0 -72
  753. package/scripts/windows-cmd-helpers.mjs +0 -22
  754. package/skills/batch/SKILL.md +0 -118
  755. package/skills/code-review/SKILL.md +0 -107
  756. package/skills/debug/SKILL.md +0 -83
  757. package/skills/loop/SKILL.md +0 -118
  758. package/skills/run/SKILL.md +0 -79
  759. package/skills/run-skill-generator/SKILL.md +0 -179
  760. package/skills/verify/SKILL.md +0 -103
  761. 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)