fengming 0.3.10 → 0.3.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build-info.json +2 -2
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/cli/run-main.js +3 -3
- package/dist/cli-startup-metadata.json +8 -8
- package/dist/{command-registry-DMB-HKIk.js → command-registry-BHIBvpgR.js} +2 -2
- package/dist/{command-registry-C5ooX6PF.js → command-registry-BT5icv-c.js} +2 -2
- package/dist/{command-registry-core-B2w_XWvn.js → command-registry-core-C-a3GaYV.js} +2 -2
- package/dist/{completion-cli-Bf4mEw2W.js → completion-cli-BUfFF31m.js} +2 -2
- package/dist/control-ui/assets/{activity-D-mnRThU.js → activity-DF1iC1pF.js} +2 -2
- package/dist/control-ui/assets/{agents-U_KSP5I_.js → agents-CDGNJA8n.js} +2 -2
- package/dist/control-ui/assets/{channels-ohK9_G1O.js → channels-CAPFdCrE.js} +2 -2
- package/dist/control-ui/assets/{cron-6ZCzfU29.js → cron-DUUdUzzu.js} +2 -2
- package/dist/control-ui/assets/{debug-CSsDLg_s.js → debug-BwfVXGKK.js} +2 -2
- package/dist/control-ui/assets/{index-jUDczxhd.js → index-JWV4rMUy.js} +4 -4
- package/dist/control-ui/assets/{instances-782ZoDT4.js → instances-BqAPpn0Y.js} +2 -2
- package/dist/control-ui/assets/{nodes-BMX16BKM.js → nodes-gya-0PkG.js} +2 -2
- package/dist/control-ui/assets/{sessions-jLGSApYa.js → sessions-BdttyTpI.js} +2 -2
- package/dist/control-ui/assets/{skills-DweBwUhs.js → skills-D_rtwBjc.js} +2 -2
- package/dist/control-ui/assets/{workboard-BsU-FXIo.js → workboard-CIGDGkWB.js} +2 -2
- package/dist/control-ui/index.html +1 -1
- package/dist/control-ui/sw.js +1 -1
- package/dist/crestodian/crestodian.js +1 -1
- package/dist/crestodian/rescue-message.js +1 -1
- package/dist/{crestodian-C0x7JjF-.js → crestodian-CAxGCgHM.js} +3 -3
- package/dist/{dialogue-No0NvYX7.js → dialogue-CHuN9qet.js} +1 -1
- package/dist/gateway/protocol/index.d.ts +1 -1
- package/dist/{index-AZzJCgph.d.ts → index-DbpfOFUf.d.ts} +1 -1
- package/dist/{operations-Z85LFqsT.js → operations-Mvnrndji.js} +1 -1
- package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
- package/dist/plugin-sdk/{agent-harness-runtime-CgQiThzm.d.ts → agent-harness-runtime-Bkrjji63.d.ts} +2 -2
- package/dist/plugin-sdk/agent-harness-runtime.d.ts +4 -4
- package/dist/plugin-sdk/agent-harness-task-runtime.d.ts +1 -1
- package/dist/plugin-sdk/agent-harness.d.ts +4 -4
- package/dist/plugin-sdk/agent-runtime.d.ts +1 -1
- package/dist/plugin-sdk/{bundled-channel-config-schema-Dfn3b8sF.d.ts → bundled-channel-config-schema-ZTBQez8k.d.ts} +9 -9
- package/dist/plugin-sdk/bundled-channel-config-schema.d.ts +1 -1
- package/dist/plugin-sdk/channel-config-schema-legacy.d.ts +1 -1
- package/dist/plugin-sdk/channel-core.d.ts +2 -2
- package/dist/plugin-sdk/channel-entry-contract.d.ts +1 -1
- package/dist/plugin-sdk/{channel-pairing-CX6ncj1r.d.ts → channel-pairing-CzsPAHgH.d.ts} +1 -1
- package/dist/plugin-sdk/channel-pairing.d.ts +1 -1
- package/dist/plugin-sdk/channel-plugin-common.d.ts +2 -2
- package/dist/plugin-sdk/cli-backend.d.ts +1 -1
- package/dist/plugin-sdk/compat.d.ts +4 -4
- package/dist/plugin-sdk/{config-schema-DuJUjn6k.d.ts → config-schema-N64y7n8C.d.ts} +1 -1
- package/dist/plugin-sdk/config-schema.d.ts +4 -4
- package/dist/plugin-sdk/{core-CPtu2Ftl.d.ts → core-BWZB2hNB.d.ts} +1 -1
- package/dist/plugin-sdk/core.d.ts +7 -7
- package/dist/plugin-sdk/{delegate-uk6vAMkc.d.ts → delegate-o5xckIuc.d.ts} +1 -1
- package/dist/plugin-sdk/discord.d.ts +3 -3
- package/dist/plugin-sdk/{fengming-runtime-Dt2ZEVYX.d.ts → fengming-runtime-abXAXyq2.d.ts} +1 -1
- package/dist/plugin-sdk/gateway-runtime.d.ts +1 -1
- package/dist/plugin-sdk/{host-compat-CM0h9ODw.d.ts → host-compat-D2Ky8seZ.d.ts} +1 -1
- package/dist/plugin-sdk/{http-registry-BniL_epL.d.ts → http-registry-oxJbX3E-.d.ts} +2 -2
- package/dist/plugin-sdk/image-generation-core.d.ts +4 -4
- package/dist/plugin-sdk/image-generation-runtime.d.ts +3 -3
- package/dist/plugin-sdk/index.d.ts +4 -4
- package/dist/plugin-sdk/lmstudio.d.ts +1 -1
- package/dist/plugin-sdk/{loader-aELh60PE.d.ts → loader-CgJhYjxT.d.ts} +3 -3
- package/dist/plugin-sdk/{logger-BpB3--7Z.d.ts → logger-CyDIBtoX.d.ts} +1 -1
- package/dist/plugin-sdk/logging-core.d.ts +3 -3
- package/dist/plugin-sdk/memory-core-host-engine-embeddings.d.ts +2 -2
- package/dist/plugin-sdk/memory-core-host-engine-foundation.d.ts +3 -3
- package/dist/plugin-sdk/{memory-core-host-engine-storage-DYPjOQCg.d.ts → memory-core-host-engine-storage-DfW7ZqD0.d.ts} +1 -1
- package/dist/plugin-sdk/memory-core-host-engine-storage.d.ts +1 -1
- package/dist/plugin-sdk/memory-core-host-runtime-cli.d.ts +1 -1
- package/dist/plugin-sdk/memory-core-host-runtime-core.d.ts +3 -3
- package/dist/plugin-sdk/memory-core.d.ts +3 -3
- package/dist/plugin-sdk/memory-host-core.d.ts +3 -3
- package/dist/plugin-sdk/migration-runtime.d.ts +1 -1
- package/dist/plugin-sdk/migration.d.ts +1 -1
- package/dist/plugin-sdk/music-generation-core.d.ts +2 -2
- package/dist/plugin-sdk/{plugin-entry-DO9kQeTr.d.ts → plugin-entry-C9xM-ZA9.d.ts} +1 -1
- package/dist/plugin-sdk/plugin-entry.d.ts +3 -3
- package/dist/plugin-sdk/plugin-runtime.d.ts +3 -3
- package/dist/plugin-sdk/{provider-api-key-auth-DvIiojS6.d.ts → provider-api-key-auth-DOmYPTC2.d.ts} +1 -1
- package/dist/plugin-sdk/provider-auth-api-key.d.ts +4 -4
- package/dist/plugin-sdk/{provider-auth-helpers-CYkWZ0vq.d.ts → provider-auth-helpers-pqDNrZTd.d.ts} +1 -1
- package/dist/plugin-sdk/{provider-auth-input-DUV6ZTw4.d.ts → provider-auth-input-Ckt-cU4H.d.ts} +1 -1
- package/dist/plugin-sdk/provider-auth-result.d.ts +1 -1
- package/dist/plugin-sdk/provider-auth-runtime.d.ts +1 -1
- package/dist/plugin-sdk/provider-auth.d.ts +5 -5
- package/dist/plugin-sdk/provider-catalog-runtime.d.ts +2 -2
- package/dist/plugin-sdk/{provider-catalog-shared-Cm3SyFfL.d.ts → provider-catalog-shared-QvOT8Wz1.d.ts} +1 -1
- package/dist/plugin-sdk/provider-catalog-shared.d.ts +2 -2
- package/dist/plugin-sdk/provider-entry.d.ts +3 -3
- package/dist/plugin-sdk/{provider-model-shared-D5rgn7Gb.d.ts → provider-model-shared-Bnc8IMx5.d.ts} +1 -1
- package/dist/plugin-sdk/provider-model-shared.d.ts +2 -2
- package/dist/plugin-sdk/{provider-registry-DxdZT9UN.d.ts → provider-registry-Ba1nNfhA.d.ts} +1 -1
- package/dist/plugin-sdk/{provider-registry-DiKX35tc.d.ts → provider-registry-CqB5bSAD.d.ts} +1 -1
- package/dist/plugin-sdk/{provider-registry-D0vmhPWL.d.ts → provider-registry-CxdVib8g.d.ts} +1 -1
- package/dist/plugin-sdk/{provider-self-hosted-setup-BPx7JMDC.d.ts → provider-self-hosted-setup-eMoeVPnF.d.ts} +1 -1
- package/dist/plugin-sdk/provider-setup.d.ts +2 -2
- package/dist/plugin-sdk/{provider-stream-DcC2vn_N.d.ts → provider-stream-CGaLae9n.d.ts} +1 -1
- package/dist/plugin-sdk/provider-stream-family.d.ts +2 -2
- package/dist/plugin-sdk/{provider-stream-shared-ByDv3QKm.d.ts → provider-stream-shared-u5mt-8_i.d.ts} +1 -1
- package/dist/plugin-sdk/provider-stream-shared.d.ts +1 -1
- package/dist/plugin-sdk/provider-stream.d.ts +2 -2
- package/dist/plugin-sdk/provider-tools.d.ts +1 -1
- package/dist/plugin-sdk/provider-web-fetch-contract.d.ts +1 -1
- package/dist/plugin-sdk/provider-web-fetch.d.ts +1 -1
- package/dist/plugin-sdk/provider-web-search-config-contract.d.ts +2 -2
- package/dist/plugin-sdk/{provider-web-search-contract-fields-CY4v8kS-.d.ts → provider-web-search-contract-fields-BiWOSs_d.d.ts} +1 -1
- package/dist/plugin-sdk/provider-web-search-contract.d.ts +2 -2
- package/dist/plugin-sdk/provider-web-search.d.ts +1 -1
- package/dist/plugin-sdk/realtime-transcription.d.ts +1 -1
- package/dist/plugin-sdk/realtime-voice.d.ts +1 -1
- package/dist/plugin-sdk/{redact-identifier-CVwkabcI.d.ts → redact-identifier-CVqsKaEK.d.ts} +1 -1
- package/dist/plugin-sdk/{registry-CzaGoAKH.d.ts → registry-Gq9OFlb3.d.ts} +2 -2
- package/dist/plugin-sdk/{registry-types-DN1yiH3F.d.ts → registry-types-DyBkef1H.d.ts} +2 -2
- package/dist/plugin-sdk/reply-runtime.d.ts +1 -1
- package/dist/plugin-sdk/runtime-env.d.ts +3 -3
- package/dist/plugin-sdk/runtime-store.d.ts +1 -1
- package/dist/plugin-sdk/runtime.d.ts +3 -3
- package/dist/plugin-sdk/self-hosted-provider-setup.d.ts +2 -2
- package/dist/plugin-sdk/simple-completion-runtime.d.ts +1 -1
- package/dist/plugin-sdk/speech-core.d.ts +2 -2
- package/dist/plugin-sdk/speech.d.ts +2 -2
- package/dist/plugin-sdk/{subsystem-n4Y4vCcQ.d.ts → subsystem-Boo2DQIV.d.ts} +1 -1
- package/dist/plugin-sdk/text-runtime.d.ts +2 -2
- package/dist/plugin-sdk/tool-plugin.d.ts +2 -2
- package/dist/plugin-sdk/{types-BI8R-vGd.d.ts → types-DGF1KeaJ.d.ts} +2 -2
- package/dist/plugin-sdk/{types-CsqNt0j8.d.ts → types-DpaN54PS.d.ts} +1 -1
- package/dist/plugin-sdk/{unhandled-rejections-D9eBl3hT.d.ts → unhandled-rejections-Bez6JG0y.d.ts} +2 -2
- package/dist/plugin-sdk/video-generation-core.d.ts +3 -3
- package/dist/plugin-sdk/video-generation-runtime.d.ts +3 -3
- package/dist/plugin-sdk/webhook-ingress.d.ts +1 -1
- package/dist/plugin-sdk/webhook-targets.d.ts +1 -1
- package/dist/{program-D19g2jaa.js → program-BaCHjV-F.js} +1 -1
- package/dist/{register.crestodian-BhIukKDA.js → register.crestodian-DMJEPMf3.js} +1 -1
- package/dist/register.subclis-B0BgjwyK.js +3 -0
- package/dist/{register.subclis-DVk0HU4k.js → register.subclis-BuoWG93n.js} +2 -2
- package/dist/{register.subclis-core-BK7nVvl6.js → register.subclis-core-BGBFrWE3.js} +2 -2
- package/dist/{standalone-CHrieUsw.js → standalone-CV2Ud6F7.js} +1 -1
- package/dist/tui-Bvt7hhwe.js +3 -0
- package/dist/tui-CFSmzhsm.js +2 -0
- package/dist/{tui-backend-_Pn3Byj-.js → tui-backend-Bm_t5G7x.js} +4 -4
- package/dist/{tui-cli-CAiC39zd.js → tui-cli-9Ny23hmo.js} +1 -1
- package/dist/tui-ink-run-CuExfFLV.js +2 -0
- package/dist/{tui-ink-run-ChXEGj1h.js → tui-ink-run-qNL49iQn.js} +17 -1
- package/package.json +6 -410
- package/CHANGELOG.md +0 -42
- package/THIRD_PARTY_NOTICES.md +0 -37
- package/dist/register.subclis-Bsvdh8RI.js +0 -3
- package/dist/tui-C733Qov0.js +0 -2
- package/dist/tui-DqbscVN5.js +0 -3
- package/dist/tui-ink-run-D4mSfLHj.js +0 -2
- package/docs/.i18n/README.md +0 -81
- package/docs/.i18n/ar-navigation.json +0 -18
- package/docs/.i18n/de-navigation.json +0 -18
- package/docs/.i18n/es-navigation.json +0 -18
- package/docs/.i18n/fr-navigation.json +0 -18
- package/docs/.i18n/glossary.ar.json +0 -78
- package/docs/.i18n/glossary.de.json +0 -78
- package/docs/.i18n/glossary.es.json +0 -78
- package/docs/.i18n/glossary.fa.json +0 -78
- package/docs/.i18n/glossary.fr.json +0 -78
- package/docs/.i18n/glossary.id.json +0 -78
- package/docs/.i18n/glossary.it.json +0 -78
- package/docs/.i18n/glossary.ja-JP.json +0 -98
- package/docs/.i18n/glossary.ko.json +0 -78
- package/docs/.i18n/glossary.nl.json +0 -78
- package/docs/.i18n/glossary.pl.json +0 -78
- package/docs/.i18n/glossary.pt-BR.json +0 -78
- package/docs/.i18n/glossary.th.json +0 -78
- package/docs/.i18n/glossary.tr.json +0 -78
- package/docs/.i18n/glossary.uk.json +0 -78
- package/docs/.i18n/glossary.vi.json +0 -78
- package/docs/.i18n/glossary.zh-CN.json +0 -1122
- package/docs/.i18n/glossary.zh-TW.json +0 -78
- package/docs/.i18n/id-navigation.json +0 -18
- package/docs/.i18n/it-navigation.json +0 -18
- package/docs/.i18n/ja-navigation.json +0 -18
- package/docs/.i18n/ko-navigation.json +0 -18
- package/docs/.i18n/pl-navigation.json +0 -18
- package/docs/.i18n/pt-BR-navigation.json +0 -18
- package/docs/.i18n/tr-navigation.json +0 -18
- package/docs/.i18n/translation-workflow.md +0 -111
- package/docs/.i18n/zh-Hans-navigation.json +0 -552
- package/docs/AGENTS.md +0 -36
- package/docs/CLAUDE.md +0 -1
- package/docs/agent-runtime-architecture.md +0 -48
- package/docs/announcements/bluebubbles-imessage.md +0 -79
- package/docs/auth-credential-semantics.md +0 -124
- package/docs/automation/auth-monitoring.md +0 -11
- package/docs/automation/clawflow.md +0 -12
- package/docs/automation/cron-jobs.md +0 -534
- package/docs/automation/cron-vs-heartbeat.md +0 -11
- package/docs/automation/gmail-pubsub.md +0 -11
- package/docs/automation/hooks.md +0 -387
- package/docs/automation/index.md +0 -135
- package/docs/automation/poll.md +0 -12
- package/docs/automation/standing-orders.md +0 -250
- package/docs/automation/taskflow.md +0 -155
- package/docs/automation/tasks.md +0 -374
- package/docs/automation/troubleshooting.md +0 -12
- package/docs/automation/webhook.md +0 -12
- package/docs/brave-search.md +0 -11
- package/docs/channels/access-groups.md +0 -201
- package/docs/channels/ambient-room-events.md +0 -214
- package/docs/channels/bot-loop-protection.md +0 -131
- package/docs/channels/broadcast-groups.md +0 -472
- package/docs/channels/channel-routing.md +0 -162
- package/docs/channels/clickclack.md +0 -138
- package/docs/channels/discord.md +0 -1758
- package/docs/channels/feishu.md +0 -650
- package/docs/channels/googlechat.md +0 -284
- package/docs/channels/group-messages.md +0 -95
- package/docs/channels/groups.md +0 -524
- package/docs/channels/imessage-from-bluebubbles.md +0 -259
- package/docs/channels/imessage.md +0 -839
- package/docs/channels/index.md +0 -64
- package/docs/channels/irc.md +0 -253
- package/docs/channels/line.md +0 -243
- package/docs/channels/location.md +0 -71
- package/docs/channels/matrix-migration.md +0 -370
- package/docs/channels/matrix-presentation.md +0 -77
- package/docs/channels/matrix-push-rules.md +0 -150
- package/docs/channels/matrix.md +0 -921
- package/docs/channels/mattermost.md +0 -542
- package/docs/channels/msteams.md +0 -1096
- package/docs/channels/nextcloud-talk.md +0 -176
- package/docs/channels/nostr.md +0 -253
- package/docs/channels/pairing.md +0 -214
- package/docs/channels/qqbot.md +0 -314
- package/docs/channels/signal.md +0 -417
- package/docs/channels/slack.md +0 -1623
- package/docs/channels/synology-chat.md +0 -187
- package/docs/channels/telegram.md +0 -1124
- package/docs/channels/tlon.md +0 -296
- package/docs/channels/troubleshooting.md +0 -162
- package/docs/channels/twitch.md +0 -431
- package/docs/channels/wechat.md +0 -171
- package/docs/channels/whatsapp.md +0 -796
- package/docs/channels/yuanbao.md +0 -416
- package/docs/channels/zalo.md +0 -253
- package/docs/channels/zalouser.md +0 -217
- package/docs/ci.md +0 -657
- package/docs/clawhub/publishing.md +0 -96
- package/docs/cli/acp.md +0 -370
- package/docs/cli/agent.md +0 -109
- package/docs/cli/agents.md +0 -253
- package/docs/cli/approvals.md +0 -190
- package/docs/cli/backup.md +0 -98
- package/docs/cli/browser.md +0 -307
- package/docs/cli/channels.md +0 -154
- package/docs/cli/clawbot.md +0 -25
- package/docs/cli/commitments.md +0 -90
- package/docs/cli/completion.md +0 -39
- package/docs/cli/config.md +0 -504
- package/docs/cli/configure.md +0 -77
- package/docs/cli/crestodian.md +0 -337
- package/docs/cli/cron.md +0 -304
- package/docs/cli/daemon.md +0 -67
- package/docs/cli/dashboard.md +0 -33
- package/docs/cli/devices.md +0 -240
- package/docs/cli/directory.md +0 -68
- package/docs/cli/dns.md +0 -53
- package/docs/cli/docs.md +0 -63
- package/docs/cli/doctor.md +0 -241
- package/docs/cli/flows.md +0 -52
- package/docs/cli/gateway.md +0 -572
- package/docs/cli/health.md +0 -43
- package/docs/cli/hooks.md +0 -345
- package/docs/cli/index.md +0 -400
- package/docs/cli/infer.md +0 -364
- package/docs/cli/logs.md +0 -68
- package/docs/cli/mcp.md +0 -529
- package/docs/cli/memory.md +0 -183
- package/docs/cli/message.md +0 -317
- package/docs/cli/migrate.md +0 -334
- package/docs/cli/models.md +0 -239
- package/docs/cli/node.md +0 -177
- package/docs/cli/nodes.md +0 -76
- package/docs/cli/onboard.md +0 -250
- package/docs/cli/pairing.md +0 -77
- package/docs/cli/path.md +0 -511
- package/docs/cli/plugins.md +0 -459
- package/docs/cli/policy.md +0 -886
- package/docs/cli/proxy.md +0 -89
- package/docs/cli/qr.md +0 -56
- package/docs/cli/reset.md +0 -39
- package/docs/cli/sandbox.md +0 -208
- package/docs/cli/secrets.md +0 -202
- package/docs/cli/security.md +0 -136
- package/docs/cli/sessions.md +0 -164
- package/docs/cli/setup.md +0 -59
- package/docs/cli/skills.md +0 -122
- package/docs/cli/status.md +0 -45
- package/docs/cli/system.md +0 -89
- package/docs/cli/tasks.md +0 -111
- package/docs/cli/transcripts.md +0 -151
- package/docs/cli/tui.md +0 -91
- package/docs/cli/uninstall.md +0 -44
- package/docs/cli/update.md +0 -243
- package/docs/cli/voicecall.md +0 -204
- package/docs/cli/webhooks.md +0 -117
- package/docs/cli/wiki.md +0 -256
- package/docs/concepts/active-memory.md +0 -856
- package/docs/concepts/agent-loop.md +0 -185
- package/docs/concepts/agent-runtimes.md +0 -276
- package/docs/concepts/agent-workspace.md +0 -230
- package/docs/concepts/agent.md +0 -140
- package/docs/concepts/architecture.md +0 -154
- package/docs/concepts/channel-docking.md +0 -145
- package/docs/concepts/commitments.md +0 -150
- package/docs/concepts/compaction.md +0 -203
- package/docs/concepts/context-engine.md +0 -347
- package/docs/concepts/context.md +0 -199
- package/docs/concepts/delegate-architecture.md +0 -319
- package/docs/concepts/dreaming.md +0 -264
- package/docs/concepts/experimental-features.md +0 -109
- package/docs/concepts/features.md +0 -91
- package/docs/concepts/fengming-sdk.md +0 -323
- package/docs/concepts/mantis-slack-desktop-runbook.md +0 -231
- package/docs/concepts/mantis.md +0 -744
- package/docs/concepts/markdown-formatting.md +0 -139
- package/docs/concepts/memory-builtin.md +0 -148
- package/docs/concepts/memory-honcho.md +0 -144
- package/docs/concepts/memory-qmd.md +0 -271
- package/docs/concepts/memory-search.md +0 -167
- package/docs/concepts/memory.md +0 -299
- package/docs/concepts/message-lifecycle-refactor.md +0 -1126
- package/docs/concepts/messages.md +0 -214
- package/docs/concepts/model-failover.md +0 -384
- package/docs/concepts/model-providers.md +0 -719
- package/docs/concepts/models.md +0 -371
- package/docs/concepts/multi-agent.md +0 -625
- package/docs/concepts/oauth.md +0 -198
- package/docs/concepts/parallel-specialist-lanes.md +0 -127
- package/docs/concepts/personal-agent-benchmark-pack.md +0 -74
- package/docs/concepts/presence.md +0 -117
- package/docs/concepts/progress-drafts.md +0 -406
- package/docs/concepts/qa-e2e-automation.md +0 -947
- package/docs/concepts/qa-matrix.md +0 -139
- package/docs/concepts/queue-steering.md +0 -90
- package/docs/concepts/queue.md +0 -136
- package/docs/concepts/retry.md +0 -86
- package/docs/concepts/session-pruning.md +0 -104
- package/docs/concepts/session-tool.md +0 -188
- package/docs/concepts/session.md +0 -164
- package/docs/concepts/soul.md +0 -116
- package/docs/concepts/streaming.md +0 -257
- package/docs/concepts/system-prompt.md +0 -328
- package/docs/concepts/timezone.md +0 -47
- package/docs/concepts/typebox.md +0 -309
- package/docs/concepts/typing-indicators.md +0 -88
- package/docs/concepts/usage-tracking.md +0 -66
- package/docs/date-time.md +0 -126
- package/docs/debug/node-issue.md +0 -90
- package/docs/diagnostics/flags.md +0 -182
- package/docs/docs.json +0 -1862
- package/docs/fengming-agent-runtime.md +0 -82
- package/docs/gateway/authentication.md +0 -256
- package/docs/gateway/background-process.md +0 -147
- package/docs/gateway/bonjour.md +0 -303
- package/docs/gateway/bridge-protocol.md +0 -97
- package/docs/gateway/cli-backends.md +0 -439
- package/docs/gateway/config-agents.md +0 -1525
- package/docs/gateway/config-channels.md +0 -945
- package/docs/gateway/config-tools.md +0 -774
- package/docs/gateway/configuration-examples.md +0 -704
- package/docs/gateway/configuration-reference.md +0 -1391
- package/docs/gateway/configuration.md +0 -739
- package/docs/gateway/diagnostics.md +0 -213
- package/docs/gateway/discovery.md +0 -154
- package/docs/gateway/doctor.md +0 -575
- package/docs/gateway/gateway-lock.md +0 -37
- package/docs/gateway/health.md +0 -73
- package/docs/gateway/heartbeat.md +0 -498
- package/docs/gateway/index.md +0 -383
- package/docs/gateway/local-model-services.md +0 -205
- package/docs/gateway/local-models.md +0 -355
- package/docs/gateway/logging.md +0 -149
- package/docs/gateway/multiple-gateways.md +0 -178
- package/docs/gateway/network-model.md +0 -15
- package/docs/gateway/openai-http-api.md +0 -378
- package/docs/gateway/openresponses-http-api.md +0 -347
- package/docs/gateway/openshell.md +0 -316
- package/docs/gateway/opentelemetry.md +0 -433
- package/docs/gateway/operator-scopes.md +0 -119
- package/docs/gateway/pairing.md +0 -207
- package/docs/gateway/prometheus.md +0 -249
- package/docs/gateway/protocol.md +0 -826
- package/docs/gateway/remote-gateway-readme.md +0 -169
- package/docs/gateway/remote.md +0 -280
- package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +0 -148
- package/docs/gateway/sandboxing.md +0 -546
- package/docs/gateway/secrets-plan-contract.md +0 -159
- package/docs/gateway/secrets.md +0 -805
- package/docs/gateway/security/audit-checks.md +0 -127
- package/docs/gateway/security/exposure-runbook.md +0 -212
- package/docs/gateway/security/index.md +0 -1343
- package/docs/gateway/security/secure-file-operations.md +0 -76
- package/docs/gateway/security/shrinkwrap.md +0 -111
- package/docs/gateway/tailscale.md +0 -156
- package/docs/gateway/tools-invoke-http-api.md +0 -169
- package/docs/gateway/troubleshooting.md +0 -877
- package/docs/gateway/trusted-proxy-auth.md +0 -483
- package/docs/help/debugging.md +0 -341
- package/docs/help/environment.md +0 -233
- package/docs/help/faq-first-run.md +0 -870
- package/docs/help/faq-models.md +0 -556
- package/docs/help/faq.md +0 -2041
- package/docs/help/index.md +0 -39
- package/docs/help/scripts.md +0 -56
- package/docs/help/testing-live.md +0 -587
- package/docs/help/testing-updates-plugins.md +0 -299
- package/docs/help/testing.md +0 -977
- package/docs/help/troubleshooting.md +0 -449
- package/docs/index.md +0 -196
- package/docs/install/ansible.md +0 -233
- package/docs/install/azure.md +0 -315
- package/docs/install/bun.md +0 -59
- package/docs/install/clawdock.md +0 -112
- package/docs/install/development-channels.md +0 -148
- package/docs/install/digitalocean.md +0 -174
- package/docs/install/docker-vm-runtime.md +0 -154
- package/docs/install/docker.md +0 -564
- package/docs/install/exe-dev.md +0 -201
- package/docs/install/fly.md +0 -524
- package/docs/install/gcp.md +0 -418
- package/docs/install/hetzner.md +0 -285
- package/docs/install/hostinger.md +0 -98
- package/docs/install/index.md +0 -232
- package/docs/install/installer.md +0 -447
- package/docs/install/kubernetes.md +0 -196
- package/docs/install/macos-vm.md +0 -281
- package/docs/install/migrating-claude.md +0 -165
- package/docs/install/migrating-hermes.md +0 -178
- package/docs/install/migrating.md +0 -137
- package/docs/install/nix.md +0 -112
- package/docs/install/node.md +0 -142
- package/docs/install/northflank.mdx +0 -44
- package/docs/install/oracle.md +0 -218
- package/docs/install/podman.md +0 -216
- package/docs/install/railway.mdx +0 -92
- package/docs/install/raspberry-pi.md +0 -234
- package/docs/install/render.mdx +0 -167
- package/docs/install/uninstall.md +0 -131
- package/docs/install/updating.md +0 -284
- package/docs/install/upstash.md +0 -96
- package/docs/logging.md +0 -320
- package/docs/nav-tabs-underline.js +0 -100
- package/docs/network.md +0 -72
- package/docs/nodes/audio.md +0 -216
- package/docs/nodes/camera.md +0 -166
- package/docs/nodes/images.md +0 -77
- package/docs/nodes/index.md +0 -439
- package/docs/nodes/location-command.md +0 -102
- package/docs/nodes/media-understanding.md +0 -495
- package/docs/nodes/talk.md +0 -160
- package/docs/nodes/troubleshooting.md +0 -123
- package/docs/nodes/voicewake.md +0 -93
- package/docs/perplexity.md +0 -11
- package/docs/plan/codex-context-engine-harness.md +0 -624
- package/docs/plan/ui-channels.md +0 -284
- package/docs/platforms/digitalocean.md +0 -12
- package/docs/platforms/easyrunner.md +0 -109
- package/docs/platforms/index.md +0 -51
- package/docs/platforms/linux.md +0 -141
- package/docs/platforms/mac/bundled-gateway.md +0 -79
- package/docs/platforms/mac/canvas.md +0 -128
- package/docs/platforms/mac/child-process.md +0 -72
- package/docs/platforms/mac/dev-setup.md +0 -112
- package/docs/platforms/mac/health.md +0 -39
- package/docs/platforms/mac/icon.md +0 -36
- package/docs/platforms/mac/logging.md +0 -62
- package/docs/platforms/mac/menu-bar.md +0 -93
- package/docs/platforms/mac/peekaboo.md +0 -96
- package/docs/platforms/mac/permissions.md +0 -73
- package/docs/platforms/mac/remote.md +0 -123
- package/docs/platforms/mac/signing.md +0 -52
- package/docs/platforms/mac/skills.md +0 -43
- package/docs/platforms/mac/voice-overlay.md +0 -66
- package/docs/platforms/mac/voicewake.md +0 -73
- package/docs/platforms/mac/webchat.md +0 -54
- package/docs/platforms/mac/xpc.md +0 -66
- package/docs/platforms/oracle.md +0 -12
- package/docs/platforms/raspberry-pi.md +0 -13
- package/docs/platforms/windows.md +0 -286
- package/docs/plugins/adding-capabilities.md +0 -146
- package/docs/plugins/admin-http-rpc.md +0 -216
- package/docs/plugins/agent-tools.md +0 -13
- package/docs/plugins/architecture-internals.md +0 -1196
- package/docs/plugins/architecture.md +0 -483
- package/docs/plugins/building-extensions.md +0 -13
- package/docs/plugins/building-plugins.md +0 -335
- package/docs/plugins/bundles.md +0 -310
- package/docs/plugins/cli-backend-plugins.md +0 -310
- package/docs/plugins/codex-computer-use.md +0 -297
- package/docs/plugins/codex-harness-reference.md +0 -470
- package/docs/plugins/codex-harness-runtime.md +0 -268
- package/docs/plugins/codex-harness.md +0 -780
- package/docs/plugins/codex-native-plugins.md +0 -276
- package/docs/plugins/community.md +0 -77
- package/docs/plugins/compatibility.md +0 -167
- package/docs/plugins/copilot.md +0 -356
- package/docs/plugins/dependency-resolution.md +0 -176
- package/docs/plugins/google-meet.md +0 -1737
- package/docs/plugins/hooks.md +0 -484
- package/docs/plugins/install-overrides.md +0 -80
- package/docs/plugins/manage-plugins.md +0 -210
- package/docs/plugins/manifest.md +0 -1457
- package/docs/plugins/memory-lancedb.md +0 -385
- package/docs/plugins/memory-wiki.md +0 -529
- package/docs/plugins/message-presentation.md +0 -473
- package/docs/plugins/oc-path.md +0 -166
- package/docs/plugins/plugin-inventory.md +0 -189
- package/docs/plugins/plugin-permission-requests.md +0 -193
- package/docs/plugins/reference/acpx.md +0 -23
- package/docs/plugins/reference/admin-http-rpc.md +0 -23
- package/docs/plugins/reference/alibaba.md +0 -23
- package/docs/plugins/reference/amazon-bedrock-mantle.md +0 -23
- package/docs/plugins/reference/amazon-bedrock.md +0 -23
- package/docs/plugins/reference/anthropic-vertex.md +0 -19
- package/docs/plugins/reference/anthropic.md +0 -23
- package/docs/plugins/reference/arcee.md +0 -23
- package/docs/plugins/reference/azure-speech.md +0 -23
- package/docs/plugins/reference/bonjour.md +0 -19
- package/docs/plugins/reference/brave.md +0 -23
- package/docs/plugins/reference/browser.md +0 -23
- package/docs/plugins/reference/byteplus.md +0 -19
- package/docs/plugins/reference/canvas.md +0 -19
- package/docs/plugins/reference/cerebras.md +0 -23
- package/docs/plugins/reference/chutes.md +0 -23
- package/docs/plugins/reference/clickclack.md +0 -23
- package/docs/plugins/reference/cloudflare-ai-gateway.md +0 -23
- package/docs/plugins/reference/codex-supervisor.md +0 -27
- package/docs/plugins/reference/codex.md +0 -23
- package/docs/plugins/reference/comfy.md +0 -23
- package/docs/plugins/reference/copilot-proxy.md +0 -19
- package/docs/plugins/reference/copilot.md +0 -23
- package/docs/plugins/reference/deepgram.md +0 -23
- package/docs/plugins/reference/deepinfra.md +0 -23
- package/docs/plugins/reference/deepseek.md +0 -23
- package/docs/plugins/reference/diagnostics-otel.md +0 -19
- package/docs/plugins/reference/diagnostics-prometheus.md +0 -19
- package/docs/plugins/reference/diffs-language-pack.md +0 -19
- package/docs/plugins/reference/diffs.md +0 -19
- package/docs/plugins/reference/discord.md +0 -23
- package/docs/plugins/reference/document-extract.md +0 -23
- package/docs/plugins/reference/duckduckgo.md +0 -23
- package/docs/plugins/reference/elevenlabs.md +0 -23
- package/docs/plugins/reference/exa.md +0 -23
- package/docs/plugins/reference/fal.md +0 -23
- package/docs/plugins/reference/feishu.md +0 -23
- package/docs/plugins/reference/file-transfer.md +0 -19
- package/docs/plugins/reference/firecrawl.md +0 -23
- package/docs/plugins/reference/fireworks.md +0 -23
- package/docs/plugins/reference/github-copilot.md +0 -23
- package/docs/plugins/reference/gmi.md +0 -23
- package/docs/plugins/reference/google-meet.md +0 -23
- package/docs/plugins/reference/google.md +0 -23
- package/docs/plugins/reference/googlechat.md +0 -23
- package/docs/plugins/reference/gradium.md +0 -23
- package/docs/plugins/reference/groq.md +0 -23
- package/docs/plugins/reference/huggingface.md +0 -23
- package/docs/plugins/reference/imessage.md +0 -23
- package/docs/plugins/reference/inworld.md +0 -23
- package/docs/plugins/reference/irc.md +0 -23
- package/docs/plugins/reference/kilocode.md +0 -23
- package/docs/plugins/reference/kimi.md +0 -23
- package/docs/plugins/reference/line.md +0 -23
- package/docs/plugins/reference/litellm.md +0 -23
- package/docs/plugins/reference/llm-task.md +0 -19
- package/docs/plugins/reference/lmstudio.md +0 -23
- package/docs/plugins/reference/lobster.md +0 -19
- package/docs/plugins/reference/matrix.md +0 -23
- package/docs/plugins/reference/mattermost.md +0 -23
- package/docs/plugins/reference/memory-core.md +0 -19
- package/docs/plugins/reference/memory-lancedb.md +0 -23
- package/docs/plugins/reference/memory-wiki.md +0 -23
- package/docs/plugins/reference/microsoft-foundry.md +0 -19
- package/docs/plugins/reference/microsoft.md +0 -19
- package/docs/plugins/reference/migrate-claude.md +0 -19
- package/docs/plugins/reference/migrate-hermes.md +0 -19
- package/docs/plugins/reference/minimax.md +0 -23
- package/docs/plugins/reference/mistral.md +0 -23
- package/docs/plugins/reference/moonshot.md +0 -23
- package/docs/plugins/reference/msteams.md +0 -23
- package/docs/plugins/reference/nextcloud-talk.md +0 -23
- package/docs/plugins/reference/nostr.md +0 -23
- package/docs/plugins/reference/novita.md +0 -23
- package/docs/plugins/reference/nvidia.md +0 -23
- package/docs/plugins/reference/oc-path.md +0 -23
- package/docs/plugins/reference/ollama.md +0 -23
- package/docs/plugins/reference/open-prose.md +0 -19
- package/docs/plugins/reference/openai.md +0 -23
- package/docs/plugins/reference/opencode-go.md +0 -23
- package/docs/plugins/reference/opencode.md +0 -23
- package/docs/plugins/reference/openrouter.md +0 -23
- package/docs/plugins/reference/openshell.md +0 -19
- package/docs/plugins/reference/perplexity.md +0 -23
- package/docs/plugins/reference/pixverse.md +0 -23
- package/docs/plugins/reference/policy.md +0 -72
- package/docs/plugins/reference/qa-channel.md +0 -23
- package/docs/plugins/reference/qa-lab.md +0 -19
- package/docs/plugins/reference/qa-matrix.md +0 -19
- package/docs/plugins/reference/qianfan.md +0 -23
- package/docs/plugins/reference/qqbot.md +0 -23
- package/docs/plugins/reference/qwen.md +0 -23
- package/docs/plugins/reference/runway.md +0 -23
- package/docs/plugins/reference/searxng.md +0 -19
- package/docs/plugins/reference/senseaudio.md +0 -23
- package/docs/plugins/reference/sglang.md +0 -23
- package/docs/plugins/reference/signal.md +0 -23
- package/docs/plugins/reference/skill-workshop.md +0 -23
- package/docs/plugins/reference/slack.md +0 -23
- package/docs/plugins/reference/stepfun.md +0 -23
- package/docs/plugins/reference/synology-chat.md +0 -23
- package/docs/plugins/reference/synthetic.md +0 -23
- package/docs/plugins/reference/tavily.md +0 -23
- package/docs/plugins/reference/telegram.md +0 -23
- package/docs/plugins/reference/tencent.md +0 -23
- package/docs/plugins/reference/tlon.md +0 -23
- package/docs/plugins/reference/together.md +0 -23
- package/docs/plugins/reference/tokenjuice.md +0 -23
- package/docs/plugins/reference/tts-local-cli.md +0 -19
- package/docs/plugins/reference/twitch.md +0 -23
- package/docs/plugins/reference/venice.md +0 -23
- package/docs/plugins/reference/vercel-ai-gateway.md +0 -23
- package/docs/plugins/reference/vllm.md +0 -23
- package/docs/plugins/reference/voice-call.md +0 -23
- package/docs/plugins/reference/volcengine.md +0 -23
- package/docs/plugins/reference/voyage.md +0 -19
- package/docs/plugins/reference/vydra.md +0 -23
- package/docs/plugins/reference/web-readability.md +0 -19
- package/docs/plugins/reference/webhooks.md +0 -23
- package/docs/plugins/reference/whatsapp.md +0 -23
- package/docs/plugins/reference/workboard.md +0 -23
- package/docs/plugins/reference/xai.md +0 -23
- package/docs/plugins/reference/xiaomi.md +0 -23
- package/docs/plugins/reference/zai.md +0 -23
- package/docs/plugins/reference/zalo.md +0 -23
- package/docs/plugins/reference/zalouser.md +0 -24
- package/docs/plugins/reference.md +0 -145
- package/docs/plugins/sdk-agent-harness.md +0 -338
- package/docs/plugins/sdk-channel-inbound.md +0 -70
- package/docs/plugins/sdk-channel-ingress.md +0 -137
- package/docs/plugins/sdk-channel-message.md +0 -18
- package/docs/plugins/sdk-channel-outbound.md +0 -113
- package/docs/plugins/sdk-channel-plugins.md +0 -765
- package/docs/plugins/sdk-channel-turn.md +0 -9
- package/docs/plugins/sdk-entrypoints.md +0 -344
- package/docs/plugins/sdk-migration.md +0 -979
- package/docs/plugins/sdk-overview.md +0 -511
- package/docs/plugins/sdk-provider-plugins.md +0 -846
- package/docs/plugins/sdk-runtime.md +0 -676
- package/docs/plugins/sdk-setup.md +0 -550
- package/docs/plugins/sdk-subpaths.md +0 -391
- package/docs/plugins/sdk-testing.md +0 -403
- package/docs/plugins/skill-workshop.md +0 -713
- package/docs/plugins/tool-plugins.md +0 -411
- package/docs/plugins/voice-call.md +0 -942
- package/docs/plugins/webhooks.md +0 -192
- package/docs/plugins/workboard.md +0 -252
- package/docs/plugins/zalouser.md +0 -86
- package/docs/prose.md +0 -137
- package/docs/providers/alibaba.md +0 -158
- package/docs/providers/anthropic.md +0 -381
- package/docs/providers/arcee.md +0 -144
- package/docs/providers/azure-speech.md +0 -119
- package/docs/providers/bedrock-mantle.md +0 -211
- package/docs/providers/bedrock.md +0 -414
- package/docs/providers/cerebras.md +0 -130
- package/docs/providers/chutes.md +0 -153
- package/docs/providers/claude-max-api-proxy.md +0 -191
- package/docs/providers/cloudflare-ai-gateway.md +0 -119
- package/docs/providers/comfy.md +0 -362
- package/docs/providers/deepgram.md +0 -184
- package/docs/providers/deepinfra.md +0 -92
- package/docs/providers/deepseek.md +0 -146
- package/docs/providers/ds4.md +0 -309
- package/docs/providers/elevenlabs.md +0 -130
- package/docs/providers/fal.md +0 -240
- package/docs/providers/fireworks.md +0 -144
- package/docs/providers/github-copilot.md +0 -257
- package/docs/providers/gmi.md +0 -92
- package/docs/providers/google.md +0 -472
- package/docs/providers/gradium.md +0 -123
- package/docs/providers/groq.md +0 -171
- package/docs/providers/huggingface.md +0 -235
- package/docs/providers/index.md +0 -105
- package/docs/providers/inferrs.md +0 -272
- package/docs/providers/inworld.md +0 -120
- package/docs/providers/kilocode.md +0 -135
- package/docs/providers/litellm.md +0 -234
- package/docs/providers/lmstudio.md +0 -224
- package/docs/providers/minimax.md +0 -505
- package/docs/providers/mistral.md +0 -235
- package/docs/providers/models.md +0 -64
- package/docs/providers/moonshot.md +0 -413
- package/docs/providers/novita.md +0 -92
- package/docs/providers/nvidia.md +0 -158
- package/docs/providers/ollama-cloud.md +0 -115
- package/docs/providers/ollama.md +0 -1225
- package/docs/providers/openai.md +0 -1093
- package/docs/providers/opencode-go.md +0 -123
- package/docs/providers/opencode.md +0 -149
- package/docs/providers/openrouter.md +0 -349
- package/docs/providers/perplexity-provider.md +0 -123
- package/docs/providers/pixverse.md +0 -165
- package/docs/providers/qianfan.md +0 -132
- package/docs/providers/qwen-oauth.md +0 -115
- package/docs/providers/qwen.md +0 -364
- package/docs/providers/runway.md +0 -103
- package/docs/providers/senseaudio.md +0 -68
- package/docs/providers/sglang.md +0 -161
- package/docs/providers/stepfun.md +0 -229
- package/docs/providers/synthetic.md +0 -154
- package/docs/providers/tencent.md +0 -130
- package/docs/providers/together.md +0 -140
- package/docs/providers/venice.md +0 -312
- package/docs/providers/vercel-ai-gateway.md +0 -128
- package/docs/providers/vllm.md +0 -407
- package/docs/providers/volcengine.md +0 -199
- package/docs/providers/vydra.md +0 -180
- package/docs/providers/xai.md +0 -571
- package/docs/providers/xiaomi.md +0 -262
- package/docs/providers/zai.md +0 -224
- package/docs/refactor/access.md +0 -9
- package/docs/refactor/acp.md +0 -298
- package/docs/refactor/canvas.md +0 -131
- package/docs/refactor/database-first.md +0 -2256
- package/docs/refactor/ingress-core.md +0 -341
- package/docs/reference/AGENTS.default.md +0 -131
- package/docs/reference/RELEASING.md +0 -799
- package/docs/reference/api-usage-costs.md +0 -208
- package/docs/reference/application-modernization-plan.md +0 -208
- package/docs/reference/code-mode.md +0 -773
- package/docs/reference/credits.md +0 -33
- package/docs/reference/device-models.md +0 -50
- package/docs/reference/fengming-sdk-api-design.md +0 -390
- package/docs/reference/full-release-validation.md +0 -202
- package/docs/reference/memory-config.md +0 -604
- package/docs/reference/prompt-caching.md +0 -358
- package/docs/reference/release-performance-sweep.md +0 -360
- package/docs/reference/rich-output-protocol.md +0 -101
- package/docs/reference/rpc.md +0 -43
- package/docs/reference/secret-placeholder-conventions.md +0 -33
- package/docs/reference/secretref-credential-surface.md +0 -159
- package/docs/reference/secretref-user-supplied-credentials-matrix.json +0 -663
- package/docs/reference/session-management-compaction.md +0 -474
- package/docs/reference/templates/AGENTS.dev.md +0 -90
- package/docs/reference/templates/AGENTS.md +0 -227
- package/docs/reference/templates/BOOT.md +0 -16
- package/docs/reference/templates/BOOTSTRAP.md +0 -66
- package/docs/reference/templates/CLAUDE.md +0 -1
- package/docs/reference/templates/HEARTBEAT.md +0 -24
- package/docs/reference/templates/IDENTITY.dev.md +0 -52
- package/docs/reference/templates/IDENTITY.md +0 -34
- package/docs/reference/templates/SOUL.dev.md +0 -82
- package/docs/reference/templates/SOUL.md +0 -49
- package/docs/reference/templates/TOOLS.dev.md +0 -29
- package/docs/reference/templates/TOOLS.md +0 -51
- package/docs/reference/templates/USER.dev.md +0 -23
- package/docs/reference/templates/USER.md +0 -28
- package/docs/reference/test.md +0 -247
- package/docs/reference/token-use.md +0 -246
- package/docs/reference/transcript-hygiene.md +0 -214
- package/docs/reference/wizard.md +0 -252
- package/docs/security/CONTRIBUTING-THREAT-MODEL.md +0 -101
- package/docs/security/THREAT-MODEL-ATLAS.md +0 -611
- package/docs/security/formal-verification.md +0 -170
- package/docs/security/incident-response.md +0 -59
- package/docs/security/network-proxy.md +0 -268
- package/docs/snippets/plugin-publish/minimal-fengming.plugin.json +0 -12
- package/docs/snippets/plugin-publish/minimal-package.json +0 -16
- package/docs/specs/claw-supervisor.md +0 -247
- package/docs/start/bootstrapping.md +0 -49
- package/docs/start/docs-directory.md +0 -69
- package/docs/start/fengming.md +0 -252
- package/docs/start/getting-started.md +0 -152
- package/docs/start/hubs.md +0 -201
- package/docs/start/lore.md +0 -223
- package/docs/start/onboarding-overview.md +0 -72
- package/docs/start/onboarding.md +0 -98
- package/docs/start/quickstart.md +0 -25
- package/docs/start/setup.md +0 -178
- package/docs/start/showcase.md +0 -363
- package/docs/start/wizard-cli-automation.md +0 -232
- package/docs/start/wizard-cli-reference.md +0 -331
- package/docs/start/wizard.md +0 -141
- package/docs/style.css +0 -137
- package/docs/superpowers/specs/2026-04-22-tweakcn-custom-theme-import-design.md +0 -316
- package/docs/tools/acp-agents-setup.md +0 -351
- package/docs/tools/acp-agents.md +0 -854
- package/docs/tools/agent-send.md +0 -130
- package/docs/tools/apply-patch.md +0 -64
- package/docs/tools/brave-search.md +0 -139
- package/docs/tools/browser-control.md +0 -391
- package/docs/tools/browser-linux-troubleshooting.md +0 -173
- package/docs/tools/browser-login.md +0 -77
- package/docs/tools/browser-wsl2-windows-remote-cdp-troubleshooting.md +0 -219
- package/docs/tools/browser.md +0 -810
- package/docs/tools/btw.md +0 -159
- package/docs/tools/capability-cookbook.md +0 -12
- package/docs/tools/clawhub.md +0 -5
- package/docs/tools/code-execution.md +0 -173
- package/docs/tools/creating-skills.md +0 -158
- package/docs/tools/diffs.md +0 -525
- package/docs/tools/duckduckgo-search.md +0 -109
- package/docs/tools/elevated.md +0 -128
- package/docs/tools/exa-search.md +0 -152
- package/docs/tools/exec-approvals-advanced.md +0 -444
- package/docs/tools/exec-approvals.md +0 -494
- package/docs/tools/exec.md +0 -285
- package/docs/tools/firecrawl.md +0 -155
- package/docs/tools/gemini-search.md +0 -114
- package/docs/tools/goal.md +0 -217
- package/docs/tools/grok-search.md +0 -129
- package/docs/tools/image-generation.md +0 -493
- package/docs/tools/index.md +0 -178
- package/docs/tools/kimi-search.md +0 -105
- package/docs/tools/llm-task.md +0 -137
- package/docs/tools/lobster.md +0 -365
- package/docs/tools/loop-detection.md +0 -154
- package/docs/tools/media-overview.md +0 -160
- package/docs/tools/minimax-search.md +0 -102
- package/docs/tools/multi-agent-sandbox-tools.md +0 -409
- package/docs/tools/music-generation.md +0 -372
- package/docs/tools/ollama-search.md +0 -153
- package/docs/tools/pdf.md +0 -213
- package/docs/tools/perplexity-search.md +0 -220
- package/docs/tools/plugin.md +0 -363
- package/docs/tools/reactions.md +0 -100
- package/docs/tools/searxng-search.md +0 -141
- package/docs/tools/skills-config.md +0 -195
- package/docs/tools/skills.md +0 -569
- package/docs/tools/slash-commands.md +0 -487
- package/docs/tools/steer.md +0 -77
- package/docs/tools/subagents.md +0 -651
- package/docs/tools/tavily.md +0 -162
- package/docs/tools/thinking.md +0 -142
- package/docs/tools/tokenjuice.md +0 -84
- package/docs/tools/tool-search.md +0 -269
- package/docs/tools/trajectory.md +0 -229
- package/docs/tools/tts.md +0 -1009
- package/docs/tools/video-generation.md +0 -555
- package/docs/tools/web-fetch.md +0 -210
- package/docs/tools/web.md +0 -461
- package/docs/tts.md +0 -11
- package/docs/vps.md +0 -139
- package/docs/web/control-ui.md +0 -512
- package/docs/web/dashboard.md +0 -107
- package/docs/web/index.md +0 -133
- package/docs/web/tui.md +0 -250
- package/docs/web/webchat.md +0 -102
- package/npm-shrinkwrap.json +0 -12861
- package/patches/.gitkeep +0 -0
- package/patches/@agentclientprotocol__claude-agent-acp@0.37.0.patch +0 -41
- package/pnpm-workspace.yaml +0 -120
- package/scripts/crabbox-wrapper.mjs +0 -2004
- package/scripts/lib/official-external-channel-catalog.json +0 -560
- package/scripts/lib/official-external-plugin-catalog.json +0 -264
- package/scripts/lib/official-external-provider-catalog.json +0 -158
- package/scripts/lib/package-dist-imports.mjs +0 -171
- package/scripts/npm-runner.mjs +0 -91
- package/scripts/postinstall-bundled-plugins.mjs +0 -978
- package/scripts/preinstall-package-manager-warning.mjs +0 -64
- package/scripts/prepare-git-hooks.mjs +0 -72
- package/scripts/windows-cmd-helpers.mjs +0 -22
- package/skills/batch/SKILL.md +0 -118
- package/skills/code-review/SKILL.md +0 -107
- package/skills/debug/SKILL.md +0 -83
- package/skills/loop/SKILL.md +0 -118
- package/skills/run/SKILL.md +0 -79
- package/skills/run-skill-generator/SKILL.md +0 -179
- package/skills/verify/SKILL.md +0 -103
- package/src/agents/templates/HEARTBEAT.md +0 -3
package/docs/gateway/index.md
DELETED
|
@@ -1,383 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
summary: "Runbook for the Gateway service, lifecycle, and operations"
|
|
3
|
-
read_when:
|
|
4
|
-
- Running or debugging the gateway process
|
|
5
|
-
title: "Gateway runbook"
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
Use this page for day-1 startup and day-2 operations of the Gateway service.
|
|
9
|
-
|
|
10
|
-
<CardGroup cols={2}>
|
|
11
|
-
<Card title="Deep troubleshooting" icon="siren" href="/gateway/troubleshooting">
|
|
12
|
-
Symptom-first diagnostics with exact command ladders and log signatures.
|
|
13
|
-
</Card>
|
|
14
|
-
<Card title="Configuration" icon="sliders" href="/gateway/configuration">
|
|
15
|
-
Task-oriented setup guide + full configuration reference.
|
|
16
|
-
</Card>
|
|
17
|
-
<Card title="Secrets management" icon="key-round" href="/gateway/secrets">
|
|
18
|
-
SecretRef contract, runtime snapshot behavior, and migrate/reload operations.
|
|
19
|
-
</Card>
|
|
20
|
-
<Card title="Secrets plan contract" icon="shield-check" href="/gateway/secrets-plan-contract">
|
|
21
|
-
Exact `secrets apply` target/path rules and ref-only auth-profile behavior.
|
|
22
|
-
</Card>
|
|
23
|
-
</CardGroup>
|
|
24
|
-
|
|
25
|
-
## 5-minute local startup
|
|
26
|
-
|
|
27
|
-
<Steps>
|
|
28
|
-
<Step title="Start the Gateway">
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
fengming gateway --port 18789
|
|
32
|
-
# debug/trace mirrored to stdio
|
|
33
|
-
fengming gateway --port 18789 --verbose
|
|
34
|
-
# force-kill listener on selected port, then start
|
|
35
|
-
fengming gateway --force
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
</Step>
|
|
39
|
-
|
|
40
|
-
<Step title="Verify service health">
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
fengming gateway status
|
|
44
|
-
fengming status
|
|
45
|
-
fengming logs --follow
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
Healthy baseline: `Runtime: running`, `Connectivity probe: ok`, and `Capability: ...` that matches what you expect. Use `fengming gateway status --require-rpc` when you need read-scope RPC proof, not just reachability.
|
|
49
|
-
|
|
50
|
-
</Step>
|
|
51
|
-
|
|
52
|
-
<Step title="Validate channel readiness">
|
|
53
|
-
|
|
54
|
-
```bash
|
|
55
|
-
fengming channels status --probe
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
With a reachable gateway this runs live per-account channel probes and optional audits.
|
|
59
|
-
If the gateway is unreachable, the CLI falls back to config-only channel summaries instead
|
|
60
|
-
of live probe output.
|
|
61
|
-
|
|
62
|
-
</Step>
|
|
63
|
-
</Steps>
|
|
64
|
-
|
|
65
|
-
<Note>
|
|
66
|
-
Gateway config reload watches the active config file path (resolved from profile/state defaults, or `FENGMING_CONFIG_PATH` when set).
|
|
67
|
-
Default mode is `gateway.reload.mode="hybrid"`.
|
|
68
|
-
After the first successful load, the running process serves the active in-memory config snapshot; successful reload swaps that snapshot atomically.
|
|
69
|
-
</Note>
|
|
70
|
-
|
|
71
|
-
## Runtime model
|
|
72
|
-
|
|
73
|
-
- One always-on process for routing, control plane, and channel connections.
|
|
74
|
-
- Single multiplexed port for:
|
|
75
|
-
- WebSocket control/RPC
|
|
76
|
-
- HTTP APIs (`/v1/models`, `/v1/embeddings`, `/v1/chat/completions`, `/v1/responses`, `/tools/invoke`)
|
|
77
|
-
- Plugin HTTP routes, such as optional `/api/v1/admin/rpc`
|
|
78
|
-
- Control UI and hooks
|
|
79
|
-
- Default bind mode: `loopback`.
|
|
80
|
-
- Auth is required by default. Shared-secret setups use
|
|
81
|
-
`gateway.auth.token` / `gateway.auth.password` (or
|
|
82
|
-
`FENGMING_GATEWAY_TOKEN` / `FENGMING_GATEWAY_PASSWORD`), and non-loopback
|
|
83
|
-
reverse-proxy setups can use `gateway.auth.mode: "trusted-proxy"`.
|
|
84
|
-
|
|
85
|
-
## OpenAI-compatible endpoints
|
|
86
|
-
|
|
87
|
-
FengMing's highest-leverage compatibility surface is now:
|
|
88
|
-
|
|
89
|
-
- `GET /v1/models`
|
|
90
|
-
- `GET /v1/models/{id}`
|
|
91
|
-
- `POST /v1/embeddings`
|
|
92
|
-
- `POST /v1/chat/completions`
|
|
93
|
-
- `POST /v1/responses`
|
|
94
|
-
|
|
95
|
-
Why this set matters:
|
|
96
|
-
|
|
97
|
-
- Most Open WebUI, LobeChat, and LibreChat integrations probe `/v1/models` first.
|
|
98
|
-
- Many RAG and memory pipelines expect `/v1/embeddings`.
|
|
99
|
-
- Agent-native clients increasingly prefer `/v1/responses`.
|
|
100
|
-
|
|
101
|
-
Planning note:
|
|
102
|
-
|
|
103
|
-
- `/v1/models` is agent-first: it returns `fengming`, `fengming/default`, and `fengming/<agentId>`.
|
|
104
|
-
- `fengming/default` is the stable alias that always maps to the configured default agent.
|
|
105
|
-
- Use `x-fengming-model` when you want a backend provider/model override; otherwise the selected agent's normal model and embedding setup stays in control.
|
|
106
|
-
|
|
107
|
-
All of these run on the main Gateway port and use the same trusted operator auth boundary as the rest of the Gateway HTTP API.
|
|
108
|
-
|
|
109
|
-
Admin HTTP RPC (`POST /api/v1/admin/rpc`) is a separate, default-off plugin route for host tooling that cannot use WebSocket RPC. See [Admin HTTP RPC](/plugins/admin-http-rpc).
|
|
110
|
-
|
|
111
|
-
### Port and bind precedence
|
|
112
|
-
|
|
113
|
-
| Setting | Resolution order |
|
|
114
|
-
| ------------ | ------------------------------------------------------------- |
|
|
115
|
-
| Gateway port | `--port` → `FENGMING_GATEWAY_PORT` → `gateway.port` → `18789` |
|
|
116
|
-
| Bind mode | CLI/override → `gateway.bind` → `loopback` |
|
|
117
|
-
|
|
118
|
-
Installed gateway services record the resolved `--port` in supervisor metadata. After changing `gateway.port`, run `fengming doctor --fix` or `fengming gateway install --force` so launchd/systemd/schtasks starts the process on the new port.
|
|
119
|
-
|
|
120
|
-
Gateway startup uses the same effective port and bind when it seeds local
|
|
121
|
-
Control UI origins for non-loopback binds. For example, `--bind lan --port 3000`
|
|
122
|
-
seeds `http://localhost:3000` and `http://127.0.0.1:3000` before runtime
|
|
123
|
-
validation runs. Add any remote browser origins, such as HTTPS proxy URLs, to
|
|
124
|
-
`gateway.controlUi.allowedOrigins` explicitly.
|
|
125
|
-
|
|
126
|
-
### Hot reload modes
|
|
127
|
-
|
|
128
|
-
| `gateway.reload.mode` | Behavior |
|
|
129
|
-
| --------------------- | ------------------------------------------ |
|
|
130
|
-
| `off` | No config reload |
|
|
131
|
-
| `hot` | Apply only hot-safe changes |
|
|
132
|
-
| `restart` | Restart on reload-required changes |
|
|
133
|
-
| `hybrid` (default) | Hot-apply when safe, restart when required |
|
|
134
|
-
|
|
135
|
-
## Operator command set
|
|
136
|
-
|
|
137
|
-
```bash
|
|
138
|
-
fengming gateway status
|
|
139
|
-
fengming gateway status --deep # adds a system-level service scan
|
|
140
|
-
fengming gateway status --json
|
|
141
|
-
fengming gateway install
|
|
142
|
-
fengming gateway restart
|
|
143
|
-
fengming gateway stop
|
|
144
|
-
fengming secrets reload
|
|
145
|
-
fengming logs --follow
|
|
146
|
-
fengming doctor
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
`gateway status --deep` is for extra service discovery (LaunchDaemons/systemd system
|
|
150
|
-
units/schtasks), not a deeper RPC health probe.
|
|
151
|
-
|
|
152
|
-
## Multiple gateways (same host)
|
|
153
|
-
|
|
154
|
-
Most installs should run one gateway per machine. A single gateway can host multiple
|
|
155
|
-
agents and channels.
|
|
156
|
-
|
|
157
|
-
You only need multiple gateways when you intentionally want isolation or a rescue bot.
|
|
158
|
-
|
|
159
|
-
Useful checks:
|
|
160
|
-
|
|
161
|
-
```bash
|
|
162
|
-
fengming gateway status --deep
|
|
163
|
-
fengming gateway probe
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
What to expect:
|
|
167
|
-
|
|
168
|
-
- `gateway status --deep` can report `Other gateway-like services detected (best effort)`
|
|
169
|
-
and print cleanup hints when stale launchd/systemd/schtasks installs are still around.
|
|
170
|
-
- `gateway probe` can warn about `multiple reachable gateways` when more than one target
|
|
171
|
-
answers.
|
|
172
|
-
- If that is intentional, isolate ports, config/state, and workspace roots per gateway.
|
|
173
|
-
|
|
174
|
-
Checklist per instance:
|
|
175
|
-
|
|
176
|
-
- Unique `gateway.port`
|
|
177
|
-
- Unique `FENGMING_CONFIG_PATH`
|
|
178
|
-
- Unique `FENGMING_STATE_DIR`
|
|
179
|
-
- Unique `agents.defaults.workspace`
|
|
180
|
-
|
|
181
|
-
Example:
|
|
182
|
-
|
|
183
|
-
```bash
|
|
184
|
-
FENGMING_CONFIG_PATH=~/.fengming/a.json FENGMING_STATE_DIR=~/.fengming-a fengming gateway --port 19001
|
|
185
|
-
FENGMING_CONFIG_PATH=~/.fengming/b.json FENGMING_STATE_DIR=~/.fengming-b fengming gateway --port 19002
|
|
186
|
-
```
|
|
187
|
-
|
|
188
|
-
Detailed setup: [/gateway/multiple-gateways](/gateway/multiple-gateways).
|
|
189
|
-
|
|
190
|
-
## Remote access
|
|
191
|
-
|
|
192
|
-
Preferred: Tailscale/VPN.
|
|
193
|
-
Fallback: SSH tunnel.
|
|
194
|
-
|
|
195
|
-
```bash
|
|
196
|
-
ssh -N -L 18789:127.0.0.1:18789 user@host
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
Then connect clients locally to `ws://127.0.0.1:18789`.
|
|
200
|
-
|
|
201
|
-
<Warning>
|
|
202
|
-
SSH tunnels do not bypass gateway auth. For shared-secret auth, clients still
|
|
203
|
-
must send `token`/`password` even over the tunnel. For identity-bearing modes,
|
|
204
|
-
the request still has to satisfy that auth path.
|
|
205
|
-
</Warning>
|
|
206
|
-
|
|
207
|
-
See: [Remote Gateway](/gateway/remote), [Authentication](/gateway/authentication), [Tailscale](/gateway/tailscale).
|
|
208
|
-
|
|
209
|
-
## Supervision and service lifecycle
|
|
210
|
-
|
|
211
|
-
Use supervised runs for production-like reliability.
|
|
212
|
-
|
|
213
|
-
<Tabs>
|
|
214
|
-
<Tab title="macOS (launchd)">
|
|
215
|
-
|
|
216
|
-
```bash
|
|
217
|
-
fengming gateway install
|
|
218
|
-
fengming gateway status
|
|
219
|
-
fengming gateway restart
|
|
220
|
-
fengming gateway stop
|
|
221
|
-
```
|
|
222
|
-
|
|
223
|
-
Use `fengming gateway restart` for restarts. Do not chain `fengming gateway stop` and `fengming gateway start` as a restart substitute.
|
|
224
|
-
|
|
225
|
-
On macOS, `gateway stop` uses `launchctl bootout` by default — this removes the LaunchAgent from the current boot session without persisting a disable, so KeepAlive auto-recovery still works after unexpected crashes and `gateway start` re-enables cleanly. To persistently suppress auto-respawn across reboots, pass `--disable`: `fengming gateway stop --disable`.
|
|
226
|
-
|
|
227
|
-
LaunchAgent labels are `ai.fengming.gateway` (default) or `ai.fengming.<profile>` (named profile). `fengming doctor` audits and repairs service config drift.
|
|
228
|
-
|
|
229
|
-
</Tab>
|
|
230
|
-
|
|
231
|
-
<Tab title="Linux (systemd user)">
|
|
232
|
-
|
|
233
|
-
```bash
|
|
234
|
-
fengming gateway install
|
|
235
|
-
systemctl --user enable --now fengming-gateway[-<profile>].service
|
|
236
|
-
fengming gateway status
|
|
237
|
-
```
|
|
238
|
-
|
|
239
|
-
For persistence after logout, enable lingering:
|
|
240
|
-
|
|
241
|
-
```bash
|
|
242
|
-
sudo loginctl enable-linger <user>
|
|
243
|
-
```
|
|
244
|
-
|
|
245
|
-
Manual user-unit example when you need a custom install path:
|
|
246
|
-
|
|
247
|
-
```ini
|
|
248
|
-
[Unit]
|
|
249
|
-
Description=FengMing Gateway
|
|
250
|
-
After=network-online.target
|
|
251
|
-
Wants=network-online.target
|
|
252
|
-
|
|
253
|
-
[Service]
|
|
254
|
-
ExecStart=/usr/local/bin/fengming gateway --port 18789
|
|
255
|
-
Restart=always
|
|
256
|
-
RestartSec=5
|
|
257
|
-
TimeoutStopSec=30
|
|
258
|
-
TimeoutStartSec=30
|
|
259
|
-
SuccessExitStatus=0 143
|
|
260
|
-
KillMode=control-group
|
|
261
|
-
|
|
262
|
-
[Install]
|
|
263
|
-
WantedBy=default.target
|
|
264
|
-
```
|
|
265
|
-
|
|
266
|
-
</Tab>
|
|
267
|
-
|
|
268
|
-
<Tab title="Windows (native)">
|
|
269
|
-
|
|
270
|
-
```powershell
|
|
271
|
-
fengming gateway install
|
|
272
|
-
fengming gateway status --json
|
|
273
|
-
fengming gateway restart
|
|
274
|
-
fengming gateway stop
|
|
275
|
-
```
|
|
276
|
-
|
|
277
|
-
Native Windows managed startup uses a Scheduled Task named `FengMing Gateway`
|
|
278
|
-
(or `FengMing Gateway (<profile>)` for named profiles). If Scheduled Task
|
|
279
|
-
creation is denied, FengMing falls back to a per-user Startup-folder launcher
|
|
280
|
-
that points at `gateway.cmd` inside the state directory.
|
|
281
|
-
|
|
282
|
-
</Tab>
|
|
283
|
-
|
|
284
|
-
<Tab title="Linux (system service)">
|
|
285
|
-
|
|
286
|
-
Use a system unit for multi-user/always-on hosts.
|
|
287
|
-
|
|
288
|
-
```bash
|
|
289
|
-
sudo systemctl daemon-reload
|
|
290
|
-
sudo systemctl enable --now fengming-gateway[-<profile>].service
|
|
291
|
-
```
|
|
292
|
-
|
|
293
|
-
Use the same service body as the user unit, but install it under
|
|
294
|
-
`/etc/systemd/system/fengming-gateway[-<profile>].service` and adjust
|
|
295
|
-
`ExecStart=` if your `fengming` binary lives elsewhere.
|
|
296
|
-
|
|
297
|
-
Do not also let `fengming doctor --fix` install a user-level gateway service for the same profile/port. Doctor refuses that automatic install when it finds a system-level FengMing gateway service; use `FENGMING_SERVICE_REPAIR_POLICY=external` when the system unit owns the lifecycle.
|
|
298
|
-
|
|
299
|
-
</Tab>
|
|
300
|
-
</Tabs>
|
|
301
|
-
|
|
302
|
-
## Dev profile quick path
|
|
303
|
-
|
|
304
|
-
```bash
|
|
305
|
-
fengming --dev setup
|
|
306
|
-
fengming --dev gateway --allow-unconfigured
|
|
307
|
-
fengming --dev status
|
|
308
|
-
```
|
|
309
|
-
|
|
310
|
-
Defaults include isolated state/config and base gateway port `19001`.
|
|
311
|
-
|
|
312
|
-
## Protocol quick reference (operator view)
|
|
313
|
-
|
|
314
|
-
- First client frame must be `connect`.
|
|
315
|
-
- Gateway returns `hello-ok` snapshot (`presence`, `health`, `stateVersion`, `uptimeMs`, limits/policy).
|
|
316
|
-
- `hello-ok.features.methods` / `events` are a conservative discovery list, not
|
|
317
|
-
a generated dump of every callable helper route.
|
|
318
|
-
- Requests: `req(method, params)` → `res(ok/payload|error)`.
|
|
319
|
-
- Common events include `connect.challenge`, `agent`, `chat`,
|
|
320
|
-
`session.message`, `session.operation`, `session.tool`, `sessions.changed`,
|
|
321
|
-
`presence`, `tick`, `health`, `heartbeat`, pairing/approval lifecycle events,
|
|
322
|
-
and `shutdown`.
|
|
323
|
-
|
|
324
|
-
Agent runs are two-stage:
|
|
325
|
-
|
|
326
|
-
1. Immediate accepted ack (`status:"accepted"`)
|
|
327
|
-
2. Final completion response (`status:"ok"|"error"`), with streamed `agent` events in between.
|
|
328
|
-
|
|
329
|
-
See full protocol docs: [Gateway Protocol](/gateway/protocol).
|
|
330
|
-
|
|
331
|
-
## Operational checks
|
|
332
|
-
|
|
333
|
-
### Liveness
|
|
334
|
-
|
|
335
|
-
- Open WS and send `connect`.
|
|
336
|
-
- Expect `hello-ok` response with snapshot.
|
|
337
|
-
|
|
338
|
-
### Readiness
|
|
339
|
-
|
|
340
|
-
```bash
|
|
341
|
-
fengming gateway status
|
|
342
|
-
fengming channels status --probe
|
|
343
|
-
fengming health
|
|
344
|
-
```
|
|
345
|
-
|
|
346
|
-
### Gap recovery
|
|
347
|
-
|
|
348
|
-
Events are not replayed. On sequence gaps, refresh state (`health`, `system-presence`) before continuing.
|
|
349
|
-
|
|
350
|
-
## Common failure signatures
|
|
351
|
-
|
|
352
|
-
| Signature | Likely issue |
|
|
353
|
-
| -------------------------------------------------------------- | ------------------------------------------------------------------------------- |
|
|
354
|
-
| `refusing to bind gateway ... without auth` | Non-loopback bind without a valid gateway auth path |
|
|
355
|
-
| `another gateway instance is already listening` / `EADDRINUSE` | Port conflict |
|
|
356
|
-
| `Gateway start blocked: set gateway.mode=local` | Config set to remote mode, or local-mode stamp is missing from a damaged config |
|
|
357
|
-
| `unauthorized` during connect | Auth mismatch between client and gateway |
|
|
358
|
-
|
|
359
|
-
For full diagnosis ladders, use [Gateway Troubleshooting](/gateway/troubleshooting).
|
|
360
|
-
|
|
361
|
-
## Safety guarantees
|
|
362
|
-
|
|
363
|
-
- Gateway protocol clients fail fast when Gateway is unavailable (no implicit direct-channel fallback).
|
|
364
|
-
- Invalid/non-connect first frames are rejected and closed.
|
|
365
|
-
- Graceful shutdown emits `shutdown` event before socket close.
|
|
366
|
-
|
|
367
|
-
---
|
|
368
|
-
|
|
369
|
-
Related:
|
|
370
|
-
|
|
371
|
-
- [Troubleshooting](/gateway/troubleshooting)
|
|
372
|
-
- [Background Process](/gateway/background-process)
|
|
373
|
-
- [Configuration](/gateway/configuration)
|
|
374
|
-
- [Health](/gateway/health)
|
|
375
|
-
- [Doctor](/gateway/doctor)
|
|
376
|
-
- [Authentication](/gateway/authentication)
|
|
377
|
-
|
|
378
|
-
## Related
|
|
379
|
-
|
|
380
|
-
- [Configuration](/gateway/configuration)
|
|
381
|
-
- [Gateway troubleshooting](/gateway/troubleshooting)
|
|
382
|
-
- [Remote access](/gateway/remote)
|
|
383
|
-
- [Secrets management](/gateway/secrets)
|
|
@@ -1,205 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
summary: "Start local model servers on demand before FengMing model requests"
|
|
3
|
-
read_when:
|
|
4
|
-
- You want FengMing to start a local model server only when its model is selected
|
|
5
|
-
- You run ds4, inferrs, vLLM, llama.cpp, MLX, or another OpenAI-compatible local server
|
|
6
|
-
- You need to control cold start, readiness, and idle shutdown for local providers
|
|
7
|
-
title: "Local model services"
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
`models.providers.<id>.localService` lets FengMing start a provider-owned local
|
|
11
|
-
model server on demand. It is provider-level config: when the selected model
|
|
12
|
-
belongs to that provider, FengMing probes the service, starts the process if the
|
|
13
|
-
endpoint is down, waits for readiness, then sends the model request.
|
|
14
|
-
|
|
15
|
-
Use it for local servers that are expensive to keep running all day, or for
|
|
16
|
-
manual setups where model selection should be enough to bring the backend up.
|
|
17
|
-
|
|
18
|
-
## How it works
|
|
19
|
-
|
|
20
|
-
1. A model request resolves to a configured provider.
|
|
21
|
-
2. If that provider has `localService`, FengMing probes `healthUrl`.
|
|
22
|
-
3. If the probe succeeds, FengMing uses the existing server.
|
|
23
|
-
4. If the probe fails, FengMing starts `command` with `args`.
|
|
24
|
-
5. FengMing polls readiness until `readyTimeoutMs` expires.
|
|
25
|
-
6. The model request is sent through the normal provider transport.
|
|
26
|
-
7. If FengMing started the process and `idleStopMs` is positive, the process is
|
|
27
|
-
stopped after the last in-flight request has been idle for that long.
|
|
28
|
-
|
|
29
|
-
FengMing does not install launchd, systemd, Docker, or a daemon for this. The
|
|
30
|
-
server is a child process of the FengMing process that first needed it.
|
|
31
|
-
|
|
32
|
-
## Config shape
|
|
33
|
-
|
|
34
|
-
```json5
|
|
35
|
-
{
|
|
36
|
-
models: {
|
|
37
|
-
providers: {
|
|
38
|
-
local: {
|
|
39
|
-
baseUrl: "http://127.0.0.1:8000/v1",
|
|
40
|
-
apiKey: "local-model",
|
|
41
|
-
api: "openai-completions",
|
|
42
|
-
timeoutSeconds: 300,
|
|
43
|
-
localService: {
|
|
44
|
-
command: "/absolute/path/to/server",
|
|
45
|
-
args: ["--host", "127.0.0.1", "--port", "8000"],
|
|
46
|
-
cwd: "/absolute/path/to/working-dir",
|
|
47
|
-
env: { LOCAL_MODEL_CACHE: "/absolute/path/to/cache" },
|
|
48
|
-
healthUrl: "http://127.0.0.1:8000/v1/models",
|
|
49
|
-
readyTimeoutMs: 180000,
|
|
50
|
-
idleStopMs: 0,
|
|
51
|
-
},
|
|
52
|
-
models: [
|
|
53
|
-
{
|
|
54
|
-
id: "my-local-model",
|
|
55
|
-
name: "My Local Model",
|
|
56
|
-
reasoning: false,
|
|
57
|
-
input: ["text"],
|
|
58
|
-
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
|
59
|
-
contextWindow: 131072,
|
|
60
|
-
maxTokens: 8192,
|
|
61
|
-
},
|
|
62
|
-
],
|
|
63
|
-
},
|
|
64
|
-
},
|
|
65
|
-
},
|
|
66
|
-
}
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
## Fields
|
|
70
|
-
|
|
71
|
-
- `command`: absolute executable path. Shell lookup is not used.
|
|
72
|
-
- `args`: process arguments. No shell expansion, pipes, globbing, or quoting
|
|
73
|
-
rules are applied.
|
|
74
|
-
- `cwd`: optional working directory for the process.
|
|
75
|
-
- `env`: optional environment variables merged over the FengMing process
|
|
76
|
-
environment.
|
|
77
|
-
- `healthUrl`: readiness URL. If omitted, FengMing appends `/models` to
|
|
78
|
-
`baseUrl`, so `http://127.0.0.1:8000/v1` becomes
|
|
79
|
-
`http://127.0.0.1:8000/v1/models`.
|
|
80
|
-
- `readyTimeoutMs`: startup readiness deadline. Default: `120000`.
|
|
81
|
-
- `idleStopMs`: idle shutdown delay for FengMing-started processes. `0` or
|
|
82
|
-
omitted keeps the process alive until FengMing exits.
|
|
83
|
-
|
|
84
|
-
## Inferrs example
|
|
85
|
-
|
|
86
|
-
Inferrs is a custom OpenAI-compatible `/v1` backend, so the same local service
|
|
87
|
-
API works with the `inferrs` provider entry.
|
|
88
|
-
|
|
89
|
-
```json5
|
|
90
|
-
{
|
|
91
|
-
agents: {
|
|
92
|
-
defaults: {
|
|
93
|
-
model: { primary: "inferrs/google/gemma-4-E2B-it" },
|
|
94
|
-
},
|
|
95
|
-
},
|
|
96
|
-
models: {
|
|
97
|
-
mode: "merge",
|
|
98
|
-
providers: {
|
|
99
|
-
inferrs: {
|
|
100
|
-
baseUrl: "http://127.0.0.1:8080/v1",
|
|
101
|
-
apiKey: "inferrs-local",
|
|
102
|
-
api: "openai-completions",
|
|
103
|
-
timeoutSeconds: 300,
|
|
104
|
-
localService: {
|
|
105
|
-
command: "/opt/homebrew/bin/inferrs",
|
|
106
|
-
args: [
|
|
107
|
-
"serve",
|
|
108
|
-
"google/gemma-4-E2B-it",
|
|
109
|
-
"--host",
|
|
110
|
-
"127.0.0.1",
|
|
111
|
-
"--port",
|
|
112
|
-
"8080",
|
|
113
|
-
"--device",
|
|
114
|
-
"metal",
|
|
115
|
-
],
|
|
116
|
-
healthUrl: "http://127.0.0.1:8080/v1/models",
|
|
117
|
-
readyTimeoutMs: 180000,
|
|
118
|
-
idleStopMs: 0,
|
|
119
|
-
},
|
|
120
|
-
models: [
|
|
121
|
-
{
|
|
122
|
-
id: "google/gemma-4-E2B-it",
|
|
123
|
-
name: "Gemma 4 E2B (inferrs)",
|
|
124
|
-
reasoning: false,
|
|
125
|
-
input: ["text"],
|
|
126
|
-
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
|
127
|
-
contextWindow: 131072,
|
|
128
|
-
maxTokens: 4096,
|
|
129
|
-
compat: {
|
|
130
|
-
requiresStringContent: true,
|
|
131
|
-
},
|
|
132
|
-
},
|
|
133
|
-
],
|
|
134
|
-
},
|
|
135
|
-
},
|
|
136
|
-
},
|
|
137
|
-
}
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
Replace `command` with the result of `which inferrs` on the machine running
|
|
141
|
-
FengMing.
|
|
142
|
-
|
|
143
|
-
## ds4 example
|
|
144
|
-
|
|
145
|
-
For the full setup, context sizing guidance, and verification commands, see
|
|
146
|
-
[ds4](/providers/ds4).
|
|
147
|
-
|
|
148
|
-
```json5
|
|
149
|
-
{
|
|
150
|
-
models: {
|
|
151
|
-
providers: {
|
|
152
|
-
ds4: {
|
|
153
|
-
baseUrl: "http://127.0.0.1:18000/v1",
|
|
154
|
-
apiKey: "ds4-local",
|
|
155
|
-
api: "openai-completions",
|
|
156
|
-
timeoutSeconds: 300,
|
|
157
|
-
localService: {
|
|
158
|
-
command: "<DS4_DIR>/ds4-server",
|
|
159
|
-
args: [
|
|
160
|
-
"--model",
|
|
161
|
-
"<DS4_DIR>/ds4flash.gguf",
|
|
162
|
-
"--host",
|
|
163
|
-
"127.0.0.1",
|
|
164
|
-
"--port",
|
|
165
|
-
"18000",
|
|
166
|
-
"--ctx",
|
|
167
|
-
"32768",
|
|
168
|
-
"--tokens",
|
|
169
|
-
"128",
|
|
170
|
-
],
|
|
171
|
-
cwd: "<DS4_DIR>",
|
|
172
|
-
healthUrl: "http://127.0.0.1:18000/v1/models",
|
|
173
|
-
readyTimeoutMs: 300000,
|
|
174
|
-
idleStopMs: 0,
|
|
175
|
-
},
|
|
176
|
-
models: [],
|
|
177
|
-
},
|
|
178
|
-
},
|
|
179
|
-
},
|
|
180
|
-
}
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
## Operational notes
|
|
184
|
-
|
|
185
|
-
- One FengMing process manages the child it started. Another FengMing process
|
|
186
|
-
that sees the same health URL already live will reuse it without adopting it.
|
|
187
|
-
- Startup is serialized per provider command and argument set, so concurrent
|
|
188
|
-
requests do not spawn duplicate servers for the same config.
|
|
189
|
-
- Active streaming responses hold a lease; idle shutdown waits until response
|
|
190
|
-
body handling is complete.
|
|
191
|
-
- Use `timeoutSeconds` on slow local providers so cold starts and long generations
|
|
192
|
-
do not hit the default model request timeout.
|
|
193
|
-
- Use an explicit `healthUrl` if your server exposes readiness somewhere other
|
|
194
|
-
than `/v1/models`.
|
|
195
|
-
|
|
196
|
-
## Related
|
|
197
|
-
|
|
198
|
-
<CardGroup cols={2}>
|
|
199
|
-
<Card title="Local models" href="/gateway/local-models" icon="server">
|
|
200
|
-
Local model setup, provider choices, and safety guidance.
|
|
201
|
-
</Card>
|
|
202
|
-
<Card title="Inferrs" href="/providers/inferrs" icon="cpu">
|
|
203
|
-
Run FengMing through the inferrs OpenAI-compatible local server.
|
|
204
|
-
</Card>
|
|
205
|
-
</CardGroup>
|