fengming 0.3.9 → 0.3.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build-info.json +2 -2
- package/dist/{bundled-channel-config-schema-DpdKMATU.d.ts → bundled-channel-config-schema-Bte--ZlY.d.ts} +26 -26
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/cli-startup-metadata.json +8 -8
- package/dist/control-ui/assets/{activity-B2W-IeAT.js → activity-wgT0-JR0.js} +2 -2
- package/dist/control-ui/assets/{agents-mRUyNVCz.js → agents-DG5PobrT.js} +2 -2
- package/dist/control-ui/assets/{channels-8QHOqBnt.js → channels-CX28oM42.js} +2 -2
- package/dist/control-ui/assets/{cron-H3unP_mO.js → cron-B8ixwBqU.js} +2 -2
- package/dist/control-ui/assets/{debug-CxLsQ9vH.js → debug-CnkYZUXy.js} +2 -2
- package/dist/control-ui/assets/{index-jtIYT0Eh.js → index-DQRZJKbO.js} +4 -4
- package/dist/control-ui/assets/{instances-B1JQeCRb.js → instances-BE3mV1JC.js} +2 -2
- package/dist/control-ui/assets/{nodes-RGOmq_1l.js → nodes-Cou4PWRX.js} +2 -2
- package/dist/control-ui/assets/{sessions-C2O-Jgpg.js → sessions-DpAaBT21.js} +2 -2
- package/dist/control-ui/assets/{skills-jyJOYA4I.js → skills-DjA_j_20.js} +2 -2
- package/dist/control-ui/assets/{workboard-uM_kK8cQ.js → workboard-BFnvbS0k.js} +2 -2
- package/dist/control-ui/index.html +1 -1
- package/dist/control-ui/sw.js +1 -1
- package/dist/gateway/protocol/index.d.ts +1 -1
- package/dist/{index-DhOQs6M_.d.ts → index-DuDY3bCZ.d.ts} +45 -45
- package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
- package/dist/plugin-sdk/agent-config-primitives.d.ts +1 -1
- package/dist/plugin-sdk/{bundled-channel-config-schema-Dfn3b8sF.d.ts → bundled-channel-config-schema-BPFNnbwu.d.ts} +23 -23
- package/dist/plugin-sdk/bundled-channel-config-schema.d.ts +3 -3
- package/dist/plugin-sdk/channel-config-primitives.d.ts +2 -2
- package/dist/plugin-sdk/channel-config-schema-legacy.d.ts +3 -3
- package/dist/plugin-sdk/channel-config-schema.d.ts +2 -2
- package/dist/plugin-sdk/channel-core.d.ts +1 -1
- package/dist/plugin-sdk/channel-plugin-common.d.ts +1 -1
- package/dist/plugin-sdk/compat.d.ts +2 -2
- package/dist/plugin-sdk/{config-schema-DUddICQM.d.ts → config-schema-D7cABQ6o.d.ts} +1 -1
- package/dist/plugin-sdk/config-schema.d.ts +4 -4
- package/dist/plugin-sdk/core.d.ts +1 -1
- package/dist/plugin-sdk/discord.d.ts +2 -2
- package/dist/plugin-sdk/tts-runtime.d.ts +1 -1
- package/dist/plugin-sdk/{zod-schema.core-B4_b2R5K.d.ts → zod-schema.core-CwBNqcXp.d.ts} +1 -1
- package/dist/{zod-schema.core-Cuz0lz6m.d.ts → zod-schema.core-BGLctDlK.d.ts} +1 -1
- package/package.json +7 -412
- package/CHANGELOG.md +0 -38
- package/THIRD_PARTY_NOTICES.md +0 -37
- 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
|
@@ -1,719 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
summary: "Model provider overview with example configs + CLI flows"
|
|
3
|
-
read_when:
|
|
4
|
-
- You need a provider-by-provider model setup reference
|
|
5
|
-
- You want example configs or CLI onboarding commands for model providers
|
|
6
|
-
title: "Model providers"
|
|
7
|
-
sidebarTitle: "Model providers"
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
Reference for **LLM/model providers** (not chat channels like WhatsApp/Telegram). For model selection rules, see [Models](/concepts/models).
|
|
11
|
-
|
|
12
|
-
## Quick rules
|
|
13
|
-
|
|
14
|
-
<AccordionGroup>
|
|
15
|
-
<Accordion title="Model refs and CLI helpers">
|
|
16
|
-
- Model refs use `provider/model` (example: `opencode/claude-opus-4-6`).
|
|
17
|
-
- `agents.defaults.models` acts as an allowlist when set.
|
|
18
|
-
- CLI helpers: `fengming onboard`, `fengming models list`, `fengming models set <provider/model>`.
|
|
19
|
-
- `models.providers.*.contextWindow` / `contextTokens` / `maxTokens` set provider-level defaults; `models.providers.*.models[].contextWindow` / `contextTokens` / `maxTokens` override them per model.
|
|
20
|
-
- Fallback rules, cooldown probes, and session-override persistence: [Model failover](/concepts/model-failover).
|
|
21
|
-
|
|
22
|
-
</Accordion>
|
|
23
|
-
<Accordion title="Adding provider auth does not change your primary model">
|
|
24
|
-
`fengming configure` preserves an existing `agents.defaults.model.primary` when you add or reauth a provider. `fengming models auth login` does the same unless you pass `--set-default`. Provider plugins may still return a recommended default model in their auth config patch, but FengMing treats that as "make this model available" when a primary model already exists, not "replace the current primary model."
|
|
25
|
-
|
|
26
|
-
To intentionally switch the default model, use `fengming models set <provider/model>` or `fengming models auth login --provider <id> --set-default`.
|
|
27
|
-
|
|
28
|
-
</Accordion>
|
|
29
|
-
<Accordion title="OpenAI provider/runtime split">
|
|
30
|
-
OpenAI-family routes are prefix-specific:
|
|
31
|
-
|
|
32
|
-
- `openai/<model>` uses the native Codex app-server harness for agent turns by default. This is the usual ChatGPT/Codex subscription setup.
|
|
33
|
-
- `openai-codex/<model>` is legacy config that doctor rewrites to `openai/<model>`.
|
|
34
|
-
- `openai/<model>` plus provider/model `agentRuntime.id: "fengming"` uses FengMing's built-in runtime for explicit API-key or compatibility routes.
|
|
35
|
-
|
|
36
|
-
See [OpenAI](/providers/openai) and [Codex harness](/plugins/codex-harness). If the provider/runtime split is confusing, read [Agent runtimes](/concepts/agent-runtimes) first.
|
|
37
|
-
|
|
38
|
-
Plugin auto-enable follows the same boundary: `openai/*` agent refs enable the Codex plugin for the default route, and explicit provider/model `agentRuntime.id: "codex"` or legacy `codex/<model>` refs also require it.
|
|
39
|
-
|
|
40
|
-
GPT-5.5 is available through the native Codex app-server harness by default on `openai/gpt-5.5`, and through the FengMing runtime when provider/model runtime policy explicitly selects `fengming`.
|
|
41
|
-
|
|
42
|
-
</Accordion>
|
|
43
|
-
<Accordion title="CLI runtimes">
|
|
44
|
-
CLI runtimes use the same split: choose canonical model refs such as `anthropic/claude-*` or `google/gemini-*`, then set provider/model runtime policy to `claude-cli` or `google-gemini-cli` when you want a local CLI backend.
|
|
45
|
-
|
|
46
|
-
Legacy `claude-cli/*` and `google-gemini-cli/*` refs migrate back to canonical provider refs with the runtime recorded separately. Legacy `codex-cli/*` refs migrate to `openai/*` and use the Codex app-server route; FengMing no longer keeps a bundled Codex CLI backend.
|
|
47
|
-
|
|
48
|
-
</Accordion>
|
|
49
|
-
</AccordionGroup>
|
|
50
|
-
|
|
51
|
-
## Plugin-owned provider behavior
|
|
52
|
-
|
|
53
|
-
Most provider-specific logic lives in provider plugins (`registerProvider(...)`) while FengMing keeps the generic inference loop. Plugins own onboarding, model catalogs, auth env-var mapping, transport/config normalization, tool-schema cleanup, failover classification, OAuth refresh, usage reporting, thinking/reasoning profiles, and more.
|
|
54
|
-
|
|
55
|
-
The full list of provider-SDK hooks and bundled-plugin examples lives in [Provider plugins](/plugins/sdk-provider-plugins). A provider that needs a totally custom request executor is a separate, deeper extension surface.
|
|
56
|
-
|
|
57
|
-
<Note>
|
|
58
|
-
Provider-owned runner behavior lives on explicit provider hooks such as replay policy, tool-schema normalization, stream wrapping, and transport/request helpers. The legacy `ProviderPlugin.capabilities` static bag is compatibility-only and is no longer read by shared runner logic.
|
|
59
|
-
</Note>
|
|
60
|
-
|
|
61
|
-
## API key rotation
|
|
62
|
-
|
|
63
|
-
<AccordionGroup>
|
|
64
|
-
<Accordion title="Key sources and priority">
|
|
65
|
-
Configure multiple keys via:
|
|
66
|
-
|
|
67
|
-
- `FENGMING_LIVE_<PROVIDER>_KEY` (single live override, highest priority)
|
|
68
|
-
- `<PROVIDER>_API_KEYS` (comma or semicolon list)
|
|
69
|
-
- `<PROVIDER>_API_KEY` (primary key)
|
|
70
|
-
- `<PROVIDER>_API_KEY_*` (numbered list, e.g. `<PROVIDER>_API_KEY_1`)
|
|
71
|
-
|
|
72
|
-
For Google providers, `GOOGLE_API_KEY` is also included as fallback. Key selection order preserves priority and deduplicates values.
|
|
73
|
-
|
|
74
|
-
</Accordion>
|
|
75
|
-
<Accordion title="When rotation kicks in">
|
|
76
|
-
- Requests are retried with the next key only on rate-limit responses (for example `429`, `rate_limit`, `quota`, `resource exhausted`, `Too many concurrent requests`, `ThrottlingException`, `concurrency limit reached`, `workers_ai ... quota limit exceeded`, or periodic usage-limit messages).
|
|
77
|
-
- Non-rate-limit failures fail immediately; no key rotation is attempted.
|
|
78
|
-
- When all candidate keys fail, the final error is returned from the last attempt.
|
|
79
|
-
|
|
80
|
-
</Accordion>
|
|
81
|
-
</AccordionGroup>
|
|
82
|
-
|
|
83
|
-
## Official provider plugins
|
|
84
|
-
|
|
85
|
-
Official provider plugins publish their own model catalog rows. These providers require **no** `models.providers` model entries; enable the provider plugin, set auth, and pick a model. Use `models.providers` only for explicit custom providers or narrow request settings such as timeouts.
|
|
86
|
-
|
|
87
|
-
### OpenAI
|
|
88
|
-
|
|
89
|
-
- Provider: `openai`
|
|
90
|
-
- Auth: `OPENAI_API_KEY`
|
|
91
|
-
- Optional rotation: `OPENAI_API_KEYS`, `OPENAI_API_KEY_1`, `OPENAI_API_KEY_2`, plus `FENGMING_LIVE_OPENAI_KEY` (single override)
|
|
92
|
-
- Example models: `openai/gpt-5.5`, `openai/gpt-5.4-mini`
|
|
93
|
-
- Verify account/model availability with `fengming models list --provider openai` if a specific install or API key behaves differently.
|
|
94
|
-
- CLI: `fengming onboard --auth-choice openai-api-key`
|
|
95
|
-
- Default transport is `auto`; FengMing passes the transport choice to the shared model runtime.
|
|
96
|
-
- Override per model via `agents.defaults.models["openai/<model>"].params.transport` (`"sse"`, `"websocket"`, or `"auto"`)
|
|
97
|
-
- OpenAI priority processing can be enabled via `agents.defaults.models["openai/<model>"].params.serviceTier`
|
|
98
|
-
- `/fast` and `params.fastMode` map direct `openai/*` Responses requests to `service_tier=priority` on `api.openai.com`
|
|
99
|
-
- Use `params.serviceTier` when you want an explicit tier instead of the shared `/fast` toggle
|
|
100
|
-
- Hidden FengMing attribution headers (`originator`, `version`, `User-Agent`) apply only on native OpenAI traffic to `api.openai.com`, not generic OpenAI-compatible proxies
|
|
101
|
-
- Native OpenAI routes also keep Responses `store`, prompt-cache hints, and OpenAI reasoning-compat payload shaping; proxy routes do not
|
|
102
|
-
- `openai/gpt-5.3-codex-spark` is intentionally suppressed in FengMing because live OpenAI API requests reject it and the current Codex catalog does not expose it
|
|
103
|
-
|
|
104
|
-
```json5
|
|
105
|
-
{
|
|
106
|
-
agents: { defaults: { model: { primary: "openai/gpt-5.5" } } },
|
|
107
|
-
}
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
### Anthropic
|
|
111
|
-
|
|
112
|
-
- Provider: `anthropic`
|
|
113
|
-
- Auth: `ANTHROPIC_API_KEY`
|
|
114
|
-
- Optional rotation: `ANTHROPIC_API_KEYS`, `ANTHROPIC_API_KEY_1`, `ANTHROPIC_API_KEY_2`, plus `FENGMING_LIVE_ANTHROPIC_KEY` (single override)
|
|
115
|
-
- Example model: `anthropic/claude-opus-4-6`
|
|
116
|
-
- CLI: `fengming onboard --auth-choice apiKey`
|
|
117
|
-
- Direct public Anthropic requests support the shared `/fast` toggle and `params.fastMode`, including API-key and OAuth-authenticated traffic sent to `api.anthropic.com`; FengMing maps that to Anthropic `service_tier` (`auto` vs `standard_only`)
|
|
118
|
-
- Preferred Claude CLI config keeps the model ref canonical and selects the CLI
|
|
119
|
-
backend separately: `anthropic/claude-opus-4-8` with
|
|
120
|
-
model-scoped `agentRuntime.id: "claude-cli"`. Legacy
|
|
121
|
-
`claude-cli/claude-opus-4-7` refs still work for compatibility.
|
|
122
|
-
|
|
123
|
-
<Note>
|
|
124
|
-
Anthropic staff told us FengMing-style Claude CLI usage is allowed again, so FengMing treats Claude CLI reuse and `claude -p` usage as sanctioned for this integration unless Anthropic publishes a new policy. Anthropic setup-token remains available as a supported FengMing token path, but FengMing now prefers Claude CLI reuse and `claude -p` when available.
|
|
125
|
-
</Note>
|
|
126
|
-
|
|
127
|
-
```json5
|
|
128
|
-
{
|
|
129
|
-
agents: { defaults: { model: { primary: "anthropic/claude-opus-4-6" } } },
|
|
130
|
-
}
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
### OpenAI ChatGPT/Codex OAuth
|
|
134
|
-
|
|
135
|
-
- Provider: `openai`
|
|
136
|
-
- Auth: OAuth (ChatGPT)
|
|
137
|
-
- Legacy OpenAI Codex model ref: `openai/gpt-5.5`
|
|
138
|
-
- Native Codex app-server harness ref: `openai/gpt-5.5`
|
|
139
|
-
- Native Codex app-server harness docs: [Codex harness](/plugins/codex-harness)
|
|
140
|
-
- Legacy model refs: `codex/gpt-*`
|
|
141
|
-
- Plugin boundary: `openai/*` loads the OpenAI plugin; the native Codex app-server plugin is selected by the Codex harness runtime.
|
|
142
|
-
- CLI: `fengming onboard --auth-choice openai` or `fengming models auth login --provider openai`
|
|
143
|
-
- Default transport is `auto` (WebSocket-first, SSE fallback)
|
|
144
|
-
- Override per OpenAI Codex model via `agents.defaults.models["openai/<model>"].params.transport` (`"sse"`, `"websocket"`, or `"auto"`)
|
|
145
|
-
- `params.serviceTier` is also forwarded on native Codex Responses requests (`chatgpt.com/backend-api`)
|
|
146
|
-
- Hidden FengMing attribution headers (`originator`, `version`, `User-Agent`) are only attached on native Codex traffic to `chatgpt.com/backend-api`, not generic OpenAI-compatible proxies
|
|
147
|
-
- Shares the same `/fast` toggle and `params.fastMode` config as direct `openai/*`; FengMing maps that to `service_tier=priority`
|
|
148
|
-
- `openai/gpt-5.5` uses the Codex catalog native `contextWindow = 400000` and default runtime `contextTokens = 272000`; override the runtime cap with `models.providers.openai.models[].contextTokens`
|
|
149
|
-
- Policy note: OpenAI Codex OAuth is explicitly supported for external tools/workflows like FengMing.
|
|
150
|
-
- For the common subscription plus native Codex runtime route, sign in with `openai` auth and configure `openai/gpt-5.5`; OpenAI agent turns select Codex by default.
|
|
151
|
-
- Use provider/model `agentRuntime.id: "fengming"` only when you want the built-in FengMing route; otherwise keep `openai/gpt-5.5` on the default Codex harness.
|
|
152
|
-
- `openai-codex/gpt-*` refs remain a legacy OpenAI Codex route. Prefer `openai/gpt-5.5` on the native Codex runtime for new agent config, and run `fengming doctor --fix` when you want to migrate old `openai-codex/*` refs to canonical `openai/*` refs.
|
|
153
|
-
|
|
154
|
-
```json5
|
|
155
|
-
{
|
|
156
|
-
plugins: { entries: { codex: { enabled: true } } },
|
|
157
|
-
agents: {
|
|
158
|
-
defaults: {
|
|
159
|
-
model: { primary: "openai/gpt-5.5" },
|
|
160
|
-
},
|
|
161
|
-
},
|
|
162
|
-
}
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
```json5
|
|
166
|
-
{
|
|
167
|
-
models: {
|
|
168
|
-
providers: {
|
|
169
|
-
openai: {
|
|
170
|
-
models: [{ id: "gpt-5.5", contextTokens: 160000 }],
|
|
171
|
-
},
|
|
172
|
-
},
|
|
173
|
-
},
|
|
174
|
-
}
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
### Other subscription-style hosted options
|
|
178
|
-
|
|
179
|
-
<CardGroup cols={3}>
|
|
180
|
-
<Card title="Z.AI (GLM)" href="/providers/zai">
|
|
181
|
-
Z.AI Coding Plan or general API endpoints.
|
|
182
|
-
</Card>
|
|
183
|
-
<Card title="MiniMax" href="/providers/minimax">
|
|
184
|
-
MiniMax Coding Plan OAuth or API key access.
|
|
185
|
-
</Card>
|
|
186
|
-
<Card title="Qwen Cloud" href="/providers/qwen">
|
|
187
|
-
Qwen Cloud provider surface plus Alibaba DashScope and Coding Plan endpoint mapping.
|
|
188
|
-
</Card>
|
|
189
|
-
</CardGroup>
|
|
190
|
-
|
|
191
|
-
### OpenCode
|
|
192
|
-
|
|
193
|
-
- Auth: `OPENCODE_API_KEY` (or `OPENCODE_ZEN_API_KEY`)
|
|
194
|
-
- Zen runtime provider: `opencode`
|
|
195
|
-
- Go runtime provider: `opencode-go`
|
|
196
|
-
- Example models: `opencode/claude-opus-4-6`, `opencode-go/kimi-k2.6`
|
|
197
|
-
- CLI: `fengming onboard --auth-choice opencode-zen` or `fengming onboard --auth-choice opencode-go`
|
|
198
|
-
|
|
199
|
-
```json5
|
|
200
|
-
{
|
|
201
|
-
agents: { defaults: { model: { primary: "opencode/claude-opus-4-6" } } },
|
|
202
|
-
}
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
### Google Gemini (API key)
|
|
206
|
-
|
|
207
|
-
- Provider: `google`
|
|
208
|
-
- Auth: `GEMINI_API_KEY`
|
|
209
|
-
- Optional rotation: `GEMINI_API_KEYS`, `GEMINI_API_KEY_1`, `GEMINI_API_KEY_2`, `GOOGLE_API_KEY` fallback, and `FENGMING_LIVE_GEMINI_KEY` (single override)
|
|
210
|
-
- Example models: `google/gemini-3.1-pro-preview`, `google/gemini-3-flash-preview`
|
|
211
|
-
- Compatibility: legacy FengMing config using `google/gemini-3.1-flash-preview` is normalized to `google/gemini-3-flash-preview`
|
|
212
|
-
- Alias: `google/gemini-3.1-pro` is accepted and normalized to Google's live Gemini API id, `google/gemini-3.1-pro-preview`
|
|
213
|
-
- CLI: `fengming onboard --auth-choice gemini-api-key`
|
|
214
|
-
- Thinking: `/think adaptive` uses Google dynamic thinking. Gemini 3/3.1 omit a fixed `thinkingLevel`; Gemini 2.5 sends `thinkingBudget: -1`.
|
|
215
|
-
- Direct Gemini runs also accept `agents.defaults.models["google/<model>"].params.cachedContent` (or legacy `cached_content`) to forward a provider-native `cachedContents/...` handle; Gemini cache hits surface as FengMing `cacheRead`
|
|
216
|
-
|
|
217
|
-
### Google Vertex and Gemini CLI
|
|
218
|
-
|
|
219
|
-
- Providers: `google-vertex`, `google-gemini-cli`
|
|
220
|
-
- Auth: Vertex uses gcloud ADC; Gemini CLI uses its OAuth flow
|
|
221
|
-
|
|
222
|
-
<Warning>
|
|
223
|
-
Gemini CLI OAuth in FengMing is an unofficial integration. Some users have reported Google account restrictions after using third-party clients. Review Google terms and use a non-critical account if you choose to proceed.
|
|
224
|
-
</Warning>
|
|
225
|
-
|
|
226
|
-
Gemini CLI OAuth is shipped as part of the bundled `google` plugin.
|
|
227
|
-
|
|
228
|
-
<Steps>
|
|
229
|
-
<Step title="Install Gemini CLI">
|
|
230
|
-
<Tabs>
|
|
231
|
-
<Tab title="brew">
|
|
232
|
-
```bash
|
|
233
|
-
brew install gemini-cli
|
|
234
|
-
```
|
|
235
|
-
</Tab>
|
|
236
|
-
<Tab title="npm">
|
|
237
|
-
```bash
|
|
238
|
-
npm install -g @google/gemini-cli
|
|
239
|
-
```
|
|
240
|
-
</Tab>
|
|
241
|
-
</Tabs>
|
|
242
|
-
</Step>
|
|
243
|
-
<Step title="Enable plugin">
|
|
244
|
-
```bash
|
|
245
|
-
fengming plugins enable google
|
|
246
|
-
```
|
|
247
|
-
</Step>
|
|
248
|
-
<Step title="Login">
|
|
249
|
-
```bash
|
|
250
|
-
fengming models auth login --provider google-gemini-cli --set-default
|
|
251
|
-
```
|
|
252
|
-
|
|
253
|
-
Default model: `google-gemini-cli/gemini-3-flash-preview`. You do **not** paste a client id or secret into `fengming.json`. The CLI login flow stores tokens in auth profiles on the gateway host.
|
|
254
|
-
|
|
255
|
-
</Step>
|
|
256
|
-
<Step title="Set project (if needed)">
|
|
257
|
-
If requests fail after login, set `GOOGLE_CLOUD_PROJECT` or `GOOGLE_CLOUD_PROJECT_ID` on the gateway host.
|
|
258
|
-
</Step>
|
|
259
|
-
</Steps>
|
|
260
|
-
|
|
261
|
-
Gemini CLI JSON replies are parsed from `response`; usage falls back to `stats`, with `stats.cached` normalized into FengMing `cacheRead`.
|
|
262
|
-
|
|
263
|
-
### Z.AI (GLM)
|
|
264
|
-
|
|
265
|
-
- Provider: `zai`
|
|
266
|
-
- Auth: `ZAI_API_KEY`
|
|
267
|
-
- Example model: `zai/glm-5.1`
|
|
268
|
-
- CLI: `fengming onboard --auth-choice zai-api-key`
|
|
269
|
-
- Model refs use the canonical `zai/*` provider ID.
|
|
270
|
-
- `zai-api-key` auto-detects the matching Z.AI endpoint; `zai-coding-global`, `zai-coding-cn`, `zai-global`, and `zai-cn` force a specific surface
|
|
271
|
-
|
|
272
|
-
### Vercel AI Gateway
|
|
273
|
-
|
|
274
|
-
- Provider: `vercel-ai-gateway`
|
|
275
|
-
- Auth: `AI_GATEWAY_API_KEY`
|
|
276
|
-
- Example models: `vercel-ai-gateway/anthropic/claude-opus-4.6`, `vercel-ai-gateway/moonshotai/kimi-k2.6`
|
|
277
|
-
- CLI: `fengming onboard --auth-choice ai-gateway-api-key`
|
|
278
|
-
|
|
279
|
-
### Kilo Gateway
|
|
280
|
-
|
|
281
|
-
- Provider: `kilocode`
|
|
282
|
-
- Auth: `KILOCODE_API_KEY`
|
|
283
|
-
- Example model: `kilocode/kilo/auto`
|
|
284
|
-
- CLI: `fengming onboard --auth-choice kilocode-api-key`
|
|
285
|
-
- Base URL: `https://api.kilo.ai/api/gateway/`
|
|
286
|
-
- Static fallback catalog ships `kilocode/kilo/auto`; live `https://api.kilo.ai/api/gateway/models` discovery can expand the runtime catalog further.
|
|
287
|
-
- Exact upstream routing behind `kilocode/kilo/auto` is owned by Kilo Gateway, not hard-coded in FengMing.
|
|
288
|
-
|
|
289
|
-
See [/providers/kilocode](/providers/kilocode) for setup details.
|
|
290
|
-
|
|
291
|
-
### Other bundled provider plugins
|
|
292
|
-
|
|
293
|
-
| Provider | Id | Auth env | Example model |
|
|
294
|
-
| --------------------------------------- | -------------------------------- | ------------------------------------------------------------ | ---------------------------------------------------------- |
|
|
295
|
-
| BytePlus | `byteplus` / `byteplus-plan` | `BYTEPLUS_API_KEY` | `byteplus-plan/ark-code-latest` |
|
|
296
|
-
| Cerebras | `cerebras` | `CEREBRAS_API_KEY` | `cerebras/zai-glm-4.7` |
|
|
297
|
-
| Cloudflare AI Gateway | `cloudflare-ai-gateway` | `CLOUDFLARE_AI_GATEWAY_API_KEY` | - |
|
|
298
|
-
| DeepInfra | `deepinfra` | `DEEPINFRA_API_KEY` | `deepinfra/deepseek-ai/DeepSeek-V4-Flash` |
|
|
299
|
-
| DeepSeek | `deepseek` | `DEEPSEEK_API_KEY` | `deepseek/deepseek-v4-flash` |
|
|
300
|
-
| GitHub Copilot | `github-copilot` | `COPILOT_GITHUB_TOKEN` / `GH_TOKEN` / `GITHUB_TOKEN` | - |
|
|
301
|
-
| GMI Cloud | `gmi` | `GMI_API_KEY` | `gmi/google/gemini-3.1-flash-lite` |
|
|
302
|
-
| Groq | `groq` | `GROQ_API_KEY` | - |
|
|
303
|
-
| Hugging Face Inference | `huggingface` | `HUGGINGFACE_HUB_TOKEN` or `HF_TOKEN` | `huggingface/deepseek-ai/DeepSeek-R1` |
|
|
304
|
-
| Kilo Gateway | `kilocode` | `KILOCODE_API_KEY` | `kilocode/kilo/auto` |
|
|
305
|
-
| Kimi Coding | `kimi` | `KIMI_API_KEY` or `KIMICODE_API_KEY` | `kimi/kimi-for-coding` |
|
|
306
|
-
| MiniMax | `minimax` / `minimax-portal` | `MINIMAX_API_KEY` / `MINIMAX_OAUTH_TOKEN` | `minimax/MiniMax-M2.7` |
|
|
307
|
-
| Mistral | `mistral` | `MISTRAL_API_KEY` | `mistral/mistral-large-latest` |
|
|
308
|
-
| Moonshot | `moonshot` | `MOONSHOT_API_KEY` | `moonshot/kimi-k2.6` |
|
|
309
|
-
| NVIDIA | `nvidia` | `NVIDIA_API_KEY` | `nvidia/nvidia/nemotron-3-super-120b-a12b` |
|
|
310
|
-
| NovitaAI | `novita` | `NOVITA_API_KEY` | `novita/deepseek/deepseek-v3-0324` |
|
|
311
|
-
| [Ollama Cloud](/providers/ollama-cloud) | `ollama-cloud` | `OLLAMA_API_KEY` | `ollama-cloud/kimi-k2.6` |
|
|
312
|
-
| OpenRouter | `openrouter` | `OPENROUTER_API_KEY` | `openrouter/auto` |
|
|
313
|
-
| Qianfan | `qianfan` | `QIANFAN_API_KEY` | `qianfan/deepseek-v3.2` |
|
|
314
|
-
| Qwen Cloud | `qwen` | `QWEN_API_KEY` / `MODELSTUDIO_API_KEY` / `DASHSCOPE_API_KEY` | `qwen/qwen3.5-plus` |
|
|
315
|
-
| [Qwen OAuth](/providers/qwen-oauth) | `qwen-oauth` | `QWEN_API_KEY` | `qwen-oauth/qwen3.5-plus` |
|
|
316
|
-
| StepFun | `stepfun` / `stepfun-plan` | `STEPFUN_API_KEY` | `stepfun/step-3.5-flash` |
|
|
317
|
-
| Together | `together` | `TOGETHER_API_KEY` | `together/meta-llama/Llama-3.3-70B-Instruct-Turbo` |
|
|
318
|
-
| Venice | `venice` | `VENICE_API_KEY` | - |
|
|
319
|
-
| Vercel AI Gateway | `vercel-ai-gateway` | `AI_GATEWAY_API_KEY` | `vercel-ai-gateway/anthropic/claude-opus-4.6` |
|
|
320
|
-
| Volcano Engine (Doubao) | `volcengine` / `volcengine-plan` | `VOLCANO_ENGINE_API_KEY` | `volcengine-plan/ark-code-latest` |
|
|
321
|
-
| xAI | `xai` | SuperGrok/X Premium OAuth or `XAI_API_KEY` | `xai/grok-4.3` |
|
|
322
|
-
| Xiaomi | `xiaomi` / `xiaomi-token-plan` | `XIAOMI_API_KEY` / `XIAOMI_TOKEN_PLAN_API_KEY` | `xiaomi/mimo-v2-flash` / `xiaomi-token-plan/mimo-v2.5-pro` |
|
|
323
|
-
|
|
324
|
-
#### Quirks worth knowing
|
|
325
|
-
|
|
326
|
-
<AccordionGroup>
|
|
327
|
-
<Accordion title="OpenRouter">
|
|
328
|
-
Applies its app-attribution headers and Anthropic `cache_control` markers only on verified `openrouter.ai` routes. DeepSeek, Moonshot, and ZAI refs are cache-TTL eligible for OpenRouter-managed prompt caching but do not receive Anthropic cache markers. As a proxy-style OpenAI-compatible path, it skips native-OpenAI-only shaping (`serviceTier`, Responses `store`, prompt-cache hints, OpenAI reasoning-compat). Gemini-backed refs keep proxy-Gemini thought-signature sanitation only.
|
|
329
|
-
</Accordion>
|
|
330
|
-
<Accordion title="Kilo Gateway">
|
|
331
|
-
Gemini-backed refs follow the same proxy-Gemini sanitation path; `kilocode/kilo/auto` and other proxy-reasoning-unsupported refs skip proxy reasoning injection.
|
|
332
|
-
</Accordion>
|
|
333
|
-
<Accordion title="MiniMax">
|
|
334
|
-
API-key onboarding writes explicit text-only M2.7 chat model definitions; image understanding stays on the plugin-owned `MiniMax-VL-01` media provider.
|
|
335
|
-
</Accordion>
|
|
336
|
-
<Accordion title="NVIDIA">
|
|
337
|
-
Model ids use a `nvidia/<vendor>/<model>` namespace (for example `nvidia/nvidia/nemotron-...` alongside `nvidia/moonshotai/kimi-k2.5`); pickers preserve the literal `<provider>/<model-id>` composition while the canonical key sent to the API stays single-prefixed.
|
|
338
|
-
</Accordion>
|
|
339
|
-
<Accordion title="xAI">
|
|
340
|
-
Uses the xAI Responses path. The recommended path is SuperGrok/X Premium OAuth; API keys still work via `XAI_API_KEY` or plugin config, and Grok `web_search` reuses the same auth profile before API-key fallback. `grok-4.3` is the bundled default chat model, and `grok-build-0.1` is selectable for build/coding-focused work. `/fast` or `params.fastMode: true` rewrites `grok-3`, `grok-3-mini`, `grok-4`, and `grok-4-0709` to their `*-fast` variants. `tool_stream` defaults on; disable via `agents.defaults.models["xai/<model>"].params.tool_stream=false`.
|
|
341
|
-
</Accordion>
|
|
342
|
-
<Accordion title="Cerebras">
|
|
343
|
-
Ships as the bundled `cerebras` provider plugin. GLM uses `zai-glm-4.7`; OpenAI-compatible base URL is `https://api.cerebras.ai/v1`.
|
|
344
|
-
</Accordion>
|
|
345
|
-
</AccordionGroup>
|
|
346
|
-
|
|
347
|
-
## Providers via `models.providers` (custom/base URL)
|
|
348
|
-
|
|
349
|
-
Use `models.providers` (or `models.json`) to add **custom** providers or OpenAI/Anthropic-compatible proxies.
|
|
350
|
-
|
|
351
|
-
Many of the bundled provider plugins below already publish a default catalog. Use explicit `models.providers.<id>` entries only when you want to override the default base URL, headers, or model list.
|
|
352
|
-
|
|
353
|
-
Gateway model capability checks also read explicit `models.providers.<id>.models[]` metadata. If a custom or proxy model accepts images, set `input: ["text", "image"]` on that model so WebChat and node-origin attachment paths pass images as native model inputs instead of text-only media refs.
|
|
354
|
-
|
|
355
|
-
`agents.defaults.models["provider/model"]` only controls model visibility, aliases, and per-model metadata for agents. It does not register a new runtime model by itself. For custom provider models, also add `models.providers.<provider>.models[]` with at least the matching `id`.
|
|
356
|
-
|
|
357
|
-
### Moonshot AI (Kimi)
|
|
358
|
-
|
|
359
|
-
Moonshot ships as a bundled provider plugin. Use the built-in provider by default, and add an explicit `models.providers.moonshot` entry only when you need to override the base URL or model metadata:
|
|
360
|
-
|
|
361
|
-
- Provider: `moonshot`
|
|
362
|
-
- Auth: `MOONSHOT_API_KEY`
|
|
363
|
-
- Example model: `moonshot/kimi-k2.6`
|
|
364
|
-
- CLI: `fengming onboard --auth-choice moonshot-api-key` or `fengming onboard --auth-choice moonshot-api-key-cn`
|
|
365
|
-
|
|
366
|
-
Kimi K2 model IDs:
|
|
367
|
-
|
|
368
|
-
[//]: # "moonshot-kimi-k2-model-refs:start"
|
|
369
|
-
|
|
370
|
-
- `moonshot/kimi-k2.6`
|
|
371
|
-
- `moonshot/kimi-k2.5`
|
|
372
|
-
- `moonshot/kimi-k2-thinking`
|
|
373
|
-
- `moonshot/kimi-k2-thinking-turbo`
|
|
374
|
-
- `moonshot/kimi-k2-turbo`
|
|
375
|
-
|
|
376
|
-
[//]: # "moonshot-kimi-k2-model-refs:end"
|
|
377
|
-
|
|
378
|
-
```json5
|
|
379
|
-
{
|
|
380
|
-
agents: {
|
|
381
|
-
defaults: { model: { primary: "moonshot/kimi-k2.6" } },
|
|
382
|
-
},
|
|
383
|
-
models: {
|
|
384
|
-
mode: "merge",
|
|
385
|
-
providers: {
|
|
386
|
-
moonshot: {
|
|
387
|
-
baseUrl: "https://api.moonshot.ai/v1",
|
|
388
|
-
apiKey: "${MOONSHOT_API_KEY}",
|
|
389
|
-
api: "openai-completions",
|
|
390
|
-
models: [{ id: "kimi-k2.6", name: "Kimi K2.6" }],
|
|
391
|
-
},
|
|
392
|
-
},
|
|
393
|
-
},
|
|
394
|
-
}
|
|
395
|
-
```
|
|
396
|
-
|
|
397
|
-
### Kimi coding
|
|
398
|
-
|
|
399
|
-
Kimi Coding uses Moonshot AI's Anthropic-compatible endpoint:
|
|
400
|
-
|
|
401
|
-
- Provider: `kimi`
|
|
402
|
-
- Auth: `KIMI_API_KEY`
|
|
403
|
-
- Example model: `kimi/kimi-for-coding`
|
|
404
|
-
|
|
405
|
-
```json5
|
|
406
|
-
{
|
|
407
|
-
env: { KIMI_API_KEY: "sk-..." },
|
|
408
|
-
agents: {
|
|
409
|
-
defaults: { model: { primary: "kimi/kimi-for-coding" } },
|
|
410
|
-
},
|
|
411
|
-
}
|
|
412
|
-
```
|
|
413
|
-
|
|
414
|
-
Legacy `kimi/kimi-code` and `kimi/k2p5` remain accepted as compatibility model ids and normalize to Kimi's stable API model id.
|
|
415
|
-
|
|
416
|
-
### Volcano Engine (Doubao)
|
|
417
|
-
|
|
418
|
-
Volcano Engine (火山引擎) provides access to Doubao and other models in China.
|
|
419
|
-
|
|
420
|
-
- Provider: `volcengine` (coding: `volcengine-plan`)
|
|
421
|
-
- Auth: `VOLCANO_ENGINE_API_KEY`
|
|
422
|
-
- Example model: `volcengine-plan/ark-code-latest`
|
|
423
|
-
- CLI: `fengming onboard --auth-choice volcengine-api-key`
|
|
424
|
-
|
|
425
|
-
```json5
|
|
426
|
-
{
|
|
427
|
-
agents: {
|
|
428
|
-
defaults: { model: { primary: "volcengine-plan/ark-code-latest" } },
|
|
429
|
-
},
|
|
430
|
-
}
|
|
431
|
-
```
|
|
432
|
-
|
|
433
|
-
Onboarding defaults to the coding surface, but the general `volcengine/*` catalog is registered at the same time.
|
|
434
|
-
|
|
435
|
-
In onboarding/configure model pickers, the Volcengine auth choice prefers both `volcengine/*` and `volcengine-plan/*` rows. If those models are not loaded yet, FengMing falls back to the unfiltered catalog instead of showing an empty provider-scoped picker.
|
|
436
|
-
|
|
437
|
-
<Tabs>
|
|
438
|
-
<Tab title="Standard models">
|
|
439
|
-
- `volcengine/doubao-seed-1-8-251228` (Doubao Seed 1.8)
|
|
440
|
-
- `volcengine/doubao-seed-code-preview-251028`
|
|
441
|
-
- `volcengine/kimi-k2-5-260127` (Kimi K2.5)
|
|
442
|
-
- `volcengine/glm-4-7-251222` (GLM 4.7)
|
|
443
|
-
- `volcengine/deepseek-v3-2-251201` (DeepSeek V3.2 128K)
|
|
444
|
-
|
|
445
|
-
</Tab>
|
|
446
|
-
<Tab title="Coding models (volcengine-plan)">
|
|
447
|
-
- `volcengine-plan/ark-code-latest`
|
|
448
|
-
- `volcengine-plan/doubao-seed-code`
|
|
449
|
-
- `volcengine-plan/kimi-k2.5`
|
|
450
|
-
- `volcengine-plan/kimi-k2-thinking`
|
|
451
|
-
- `volcengine-plan/glm-4.7`
|
|
452
|
-
|
|
453
|
-
</Tab>
|
|
454
|
-
</Tabs>
|
|
455
|
-
|
|
456
|
-
### BytePlus (International)
|
|
457
|
-
|
|
458
|
-
BytePlus ARK provides access to the same models as Volcano Engine for international users.
|
|
459
|
-
|
|
460
|
-
- Provider: `byteplus` (coding: `byteplus-plan`)
|
|
461
|
-
- Auth: `BYTEPLUS_API_KEY`
|
|
462
|
-
- Example model: `byteplus-plan/ark-code-latest`
|
|
463
|
-
- CLI: `fengming onboard --auth-choice byteplus-api-key`
|
|
464
|
-
|
|
465
|
-
```json5
|
|
466
|
-
{
|
|
467
|
-
agents: {
|
|
468
|
-
defaults: { model: { primary: "byteplus-plan/ark-code-latest" } },
|
|
469
|
-
},
|
|
470
|
-
}
|
|
471
|
-
```
|
|
472
|
-
|
|
473
|
-
Onboarding defaults to the coding surface, but the general `byteplus/*` catalog is registered at the same time.
|
|
474
|
-
|
|
475
|
-
In onboarding/configure model pickers, the BytePlus auth choice prefers both `byteplus/*` and `byteplus-plan/*` rows. If those models are not loaded yet, FengMing falls back to the unfiltered catalog instead of showing an empty provider-scoped picker.
|
|
476
|
-
|
|
477
|
-
<Tabs>
|
|
478
|
-
<Tab title="Standard models">
|
|
479
|
-
- `byteplus/seed-1-8-251228` (Seed 1.8)
|
|
480
|
-
- `byteplus/kimi-k2-5-260127` (Kimi K2.5)
|
|
481
|
-
- `byteplus/glm-4-7-251222` (GLM 4.7)
|
|
482
|
-
|
|
483
|
-
</Tab>
|
|
484
|
-
<Tab title="Coding models (byteplus-plan)">
|
|
485
|
-
- `byteplus-plan/ark-code-latest`
|
|
486
|
-
- `byteplus-plan/doubao-seed-code`
|
|
487
|
-
- `byteplus-plan/kimi-k2.5`
|
|
488
|
-
- `byteplus-plan/kimi-k2-thinking`
|
|
489
|
-
- `byteplus-plan/glm-4.7`
|
|
490
|
-
|
|
491
|
-
</Tab>
|
|
492
|
-
</Tabs>
|
|
493
|
-
|
|
494
|
-
### Synthetic
|
|
495
|
-
|
|
496
|
-
Synthetic provides Anthropic-compatible models behind the `synthetic` provider:
|
|
497
|
-
|
|
498
|
-
- Provider: `synthetic`
|
|
499
|
-
- Auth: `SYNTHETIC_API_KEY`
|
|
500
|
-
- Example model: `synthetic/hf:MiniMaxAI/MiniMax-M2.5`
|
|
501
|
-
- CLI: `fengming onboard --auth-choice synthetic-api-key`
|
|
502
|
-
|
|
503
|
-
```json5
|
|
504
|
-
{
|
|
505
|
-
agents: {
|
|
506
|
-
defaults: { model: { primary: "synthetic/hf:MiniMaxAI/MiniMax-M2.5" } },
|
|
507
|
-
},
|
|
508
|
-
models: {
|
|
509
|
-
mode: "merge",
|
|
510
|
-
providers: {
|
|
511
|
-
synthetic: {
|
|
512
|
-
baseUrl: "https://api.synthetic.new/anthropic",
|
|
513
|
-
apiKey: "${SYNTHETIC_API_KEY}",
|
|
514
|
-
api: "anthropic-messages",
|
|
515
|
-
models: [{ id: "hf:MiniMaxAI/MiniMax-M2.5", name: "MiniMax M2.5" }],
|
|
516
|
-
},
|
|
517
|
-
},
|
|
518
|
-
},
|
|
519
|
-
}
|
|
520
|
-
```
|
|
521
|
-
|
|
522
|
-
### MiniMax
|
|
523
|
-
|
|
524
|
-
MiniMax is configured via `models.providers` because it uses custom endpoints:
|
|
525
|
-
|
|
526
|
-
- MiniMax OAuth (Global): `--auth-choice minimax-global-oauth`
|
|
527
|
-
- MiniMax OAuth (CN): `--auth-choice minimax-cn-oauth`
|
|
528
|
-
- MiniMax API key (Global): `--auth-choice minimax-global-api`
|
|
529
|
-
- MiniMax API key (CN): `--auth-choice minimax-cn-api`
|
|
530
|
-
- Auth: `MINIMAX_API_KEY` for `minimax`; `MINIMAX_OAUTH_TOKEN` or `MINIMAX_API_KEY` for `minimax-portal`
|
|
531
|
-
|
|
532
|
-
See [/providers/minimax](/providers/minimax) for setup details, model options, and config snippets.
|
|
533
|
-
|
|
534
|
-
<Note>
|
|
535
|
-
On MiniMax's Anthropic-compatible streaming path, FengMing disables thinking by default unless you explicitly set it, and `/fast on` rewrites `MiniMax-M2.7` to `MiniMax-M2.7-highspeed`.
|
|
536
|
-
</Note>
|
|
537
|
-
|
|
538
|
-
Plugin-owned capability split:
|
|
539
|
-
|
|
540
|
-
- Text/chat defaults stay on `minimax/MiniMax-M2.7`
|
|
541
|
-
- Image generation is `minimax/image-01` or `minimax-portal/image-01`
|
|
542
|
-
- Image understanding is plugin-owned `MiniMax-VL-01` on both MiniMax auth paths
|
|
543
|
-
- Web search stays on provider id `minimax`
|
|
544
|
-
|
|
545
|
-
### LM Studio
|
|
546
|
-
|
|
547
|
-
LM Studio ships as a bundled provider plugin which uses the native API:
|
|
548
|
-
|
|
549
|
-
- Provider: `lmstudio`
|
|
550
|
-
- Auth: `LM_API_TOKEN`
|
|
551
|
-
- Default inference base URL: `http://localhost:1234/v1`
|
|
552
|
-
|
|
553
|
-
Then set a model (replace with one of the IDs returned by `http://localhost:1234/api/v1/models`):
|
|
554
|
-
|
|
555
|
-
```json5
|
|
556
|
-
{
|
|
557
|
-
agents: {
|
|
558
|
-
defaults: { model: { primary: "lmstudio/openai/gpt-oss-20b" } },
|
|
559
|
-
},
|
|
560
|
-
}
|
|
561
|
-
```
|
|
562
|
-
|
|
563
|
-
FengMing uses LM Studio's native `/api/v1/models` and `/api/v1/models/load` for discovery + auto-load, with `/v1/chat/completions` for inference by default. If you want LM Studio JIT loading, TTL, and auto-evict to own model lifecycle, set `models.providers.lmstudio.params.preload: false`. See [/providers/lmstudio](/providers/lmstudio) for setup and troubleshooting.
|
|
564
|
-
|
|
565
|
-
### Ollama
|
|
566
|
-
|
|
567
|
-
Ollama ships as a bundled provider plugin and uses Ollama's native API:
|
|
568
|
-
|
|
569
|
-
- Provider: `ollama`
|
|
570
|
-
- Auth: None required (local server)
|
|
571
|
-
- Example model: `ollama/llama3.3`
|
|
572
|
-
- Installation: [https://ollama.com/download](https://ollama.com/download)
|
|
573
|
-
|
|
574
|
-
```bash
|
|
575
|
-
# Install Ollama, then pull a model:
|
|
576
|
-
ollama pull llama3.3
|
|
577
|
-
```
|
|
578
|
-
|
|
579
|
-
```json5
|
|
580
|
-
{
|
|
581
|
-
agents: {
|
|
582
|
-
defaults: { model: { primary: "ollama/llama3.3" } },
|
|
583
|
-
},
|
|
584
|
-
}
|
|
585
|
-
```
|
|
586
|
-
|
|
587
|
-
Ollama is detected locally at `http://127.0.0.1:11434` when you opt in with `OLLAMA_API_KEY`, and the bundled provider plugin adds Ollama directly to `fengming onboard` and the model picker. See [/providers/ollama](/providers/ollama) for onboarding, cloud/local mode, and custom configuration.
|
|
588
|
-
|
|
589
|
-
### vLLM
|
|
590
|
-
|
|
591
|
-
vLLM ships as a bundled provider plugin for local/self-hosted OpenAI-compatible servers:
|
|
592
|
-
|
|
593
|
-
- Provider: `vllm`
|
|
594
|
-
- Auth: Optional (depends on your server)
|
|
595
|
-
- Default base URL: `http://127.0.0.1:8000/v1`
|
|
596
|
-
|
|
597
|
-
To opt in to auto-discovery locally (any value works if your server doesn't enforce auth):
|
|
598
|
-
|
|
599
|
-
```bash
|
|
600
|
-
export VLLM_API_KEY="vllm-local"
|
|
601
|
-
```
|
|
602
|
-
|
|
603
|
-
Then set a model (replace with one of the IDs returned by `/v1/models`):
|
|
604
|
-
|
|
605
|
-
```json5
|
|
606
|
-
{
|
|
607
|
-
agents: {
|
|
608
|
-
defaults: { model: { primary: "vllm/your-model-id" } },
|
|
609
|
-
},
|
|
610
|
-
}
|
|
611
|
-
```
|
|
612
|
-
|
|
613
|
-
See [/providers/vllm](/providers/vllm) for details.
|
|
614
|
-
|
|
615
|
-
### SGLang
|
|
616
|
-
|
|
617
|
-
SGLang ships as a bundled provider plugin for fast self-hosted OpenAI-compatible servers:
|
|
618
|
-
|
|
619
|
-
- Provider: `sglang`
|
|
620
|
-
- Auth: Optional (depends on your server)
|
|
621
|
-
- Default base URL: `http://127.0.0.1:30000/v1`
|
|
622
|
-
|
|
623
|
-
To opt in to auto-discovery locally (any value works if your server does not enforce auth):
|
|
624
|
-
|
|
625
|
-
```bash
|
|
626
|
-
export SGLANG_API_KEY="sglang-local"
|
|
627
|
-
```
|
|
628
|
-
|
|
629
|
-
Then set a model (replace with one of the IDs returned by `/v1/models`):
|
|
630
|
-
|
|
631
|
-
```json5
|
|
632
|
-
{
|
|
633
|
-
agents: {
|
|
634
|
-
defaults: { model: { primary: "sglang/your-model-id" } },
|
|
635
|
-
},
|
|
636
|
-
}
|
|
637
|
-
```
|
|
638
|
-
|
|
639
|
-
See [/providers/sglang](/providers/sglang) for details.
|
|
640
|
-
|
|
641
|
-
### Local proxies (LM Studio, vLLM, LiteLLM, etc.)
|
|
642
|
-
|
|
643
|
-
Example (OpenAI-compatible):
|
|
644
|
-
|
|
645
|
-
```json5
|
|
646
|
-
{
|
|
647
|
-
agents: {
|
|
648
|
-
defaults: {
|
|
649
|
-
model: { primary: "lmstudio/my-local-model" },
|
|
650
|
-
models: { "lmstudio/my-local-model": { alias: "Local" } },
|
|
651
|
-
},
|
|
652
|
-
},
|
|
653
|
-
models: {
|
|
654
|
-
providers: {
|
|
655
|
-
lmstudio: {
|
|
656
|
-
baseUrl: "http://localhost:1234/v1",
|
|
657
|
-
apiKey: "${LM_API_TOKEN}",
|
|
658
|
-
api: "openai-completions",
|
|
659
|
-
timeoutSeconds: 300,
|
|
660
|
-
models: [
|
|
661
|
-
{
|
|
662
|
-
id: "my-local-model",
|
|
663
|
-
name: "Local Model",
|
|
664
|
-
reasoning: false,
|
|
665
|
-
input: ["text"],
|
|
666
|
-
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
|
667
|
-
contextWindow: 200000,
|
|
668
|
-
maxTokens: 8192,
|
|
669
|
-
},
|
|
670
|
-
],
|
|
671
|
-
},
|
|
672
|
-
},
|
|
673
|
-
},
|
|
674
|
-
}
|
|
675
|
-
```
|
|
676
|
-
|
|
677
|
-
<AccordionGroup>
|
|
678
|
-
<Accordion title="Default optional fields">
|
|
679
|
-
For custom providers, `reasoning`, `input`, `cost`, `contextWindow`, and `maxTokens` are optional. When omitted, FengMing defaults to:
|
|
680
|
-
|
|
681
|
-
- `reasoning: false`
|
|
682
|
-
- `input: ["text"]`
|
|
683
|
-
- `cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }`
|
|
684
|
-
- `contextWindow: 200000`
|
|
685
|
-
- `maxTokens: 8192`
|
|
686
|
-
|
|
687
|
-
Recommended: set explicit values that match your proxy/model limits.
|
|
688
|
-
|
|
689
|
-
</Accordion>
|
|
690
|
-
<Accordion title="Proxy-route shaping rules">
|
|
691
|
-
- For `api: "openai-completions"` on non-native endpoints (any non-empty `baseUrl` whose host is not `api.openai.com`), FengMing forces `compat.supportsDeveloperRole: false` to avoid provider 400 errors for unsupported `developer` roles.
|
|
692
|
-
- Proxy-style OpenAI-compatible routes also skip native OpenAI-only request shaping: no `service_tier`, no Responses `store`, no Completions `store`, no prompt-cache hints, no OpenAI reasoning-compat payload shaping, and no hidden FengMing attribution headers.
|
|
693
|
-
- For OpenAI-compatible Completions proxies that need vendor-specific fields, set `agents.defaults.models["provider/model"].params.extra_body` (or `extraBody`) to merge extra JSON into the outbound request body.
|
|
694
|
-
- For vLLM chat-template controls, set `agents.defaults.models["provider/model"].params.chat_template_kwargs`. The bundled vLLM plugin automatically sends `enable_thinking: false` and `force_nonempty_content: true` for `vllm/nemotron-3-*` when the session thinking level is off.
|
|
695
|
-
- For slow local models or remote LAN/tailnet hosts, set `models.providers.<id>.timeoutSeconds`. This extends provider model HTTP request handling, including connect, headers, body streaming, and the total guarded-fetch abort, without increasing the whole agent runtime timeout. If `agents.defaults.timeoutSeconds` or a run-specific timeout is lower, raise that ceiling too; provider timeouts cannot extend the whole run.
|
|
696
|
-
- Model provider HTTP calls allow Surge, Clash, and sing-box fake-IP DNS answers in `198.18.0.0/15` and `fc00::/7` only for the configured provider `baseUrl` hostname. Custom/local provider endpoints also trust that exact configured `scheme://host:port` origin for guarded model requests, including loopback, LAN, and tailnet hosts. This is not a new config option; the `baseUrl` you configure extends the request policy only for that origin. Fake-IP hostname allowance and exact-origin trust are independent mechanisms. Other private, loopback, link-local, metadata destinations, and different ports still require an explicit `models.providers.<id>.request.allowPrivateNetwork: true` opt-in. Set `models.providers.<id>.request.allowPrivateNetwork: false` to opt out of the exact-origin trust.
|
|
697
|
-
- If `baseUrl` is empty/omitted, FengMing keeps the default OpenAI behavior (which resolves to `api.openai.com`).
|
|
698
|
-
- For safety, an explicit `compat.supportsDeveloperRole: true` is still overridden on non-native `openai-completions` endpoints.
|
|
699
|
-
- For `api: "anthropic-messages"` on non-direct endpoints (any provider other than canonical `anthropic`, or a custom `models.providers.anthropic.baseUrl` whose host is not a public `api.anthropic.com` endpoint), FengMing suppresses implicit Anthropic beta headers such as `claude-code-20250219`, `interleaved-thinking-2025-05-14`, and OAuth markers, so custom Anthropic-compatible proxies do not reject unsupported beta flags. Set `models.providers.<id>.headers["anthropic-beta"]` explicitly if your proxy needs specific beta features.
|
|
700
|
-
|
|
701
|
-
</Accordion>
|
|
702
|
-
</AccordionGroup>
|
|
703
|
-
|
|
704
|
-
## CLI examples
|
|
705
|
-
|
|
706
|
-
```bash
|
|
707
|
-
fengming onboard --auth-choice opencode-zen
|
|
708
|
-
fengming models set opencode/claude-opus-4-6
|
|
709
|
-
fengming models list
|
|
710
|
-
```
|
|
711
|
-
|
|
712
|
-
See also: [Configuration](/gateway/configuration) for full configuration examples.
|
|
713
|
-
|
|
714
|
-
## Related
|
|
715
|
-
|
|
716
|
-
- [Configuration reference](/gateway/config-agents#agent-defaults) - model config keys
|
|
717
|
-
- [Model failover](/concepts/model-failover) - fallback chains and retry behavior
|
|
718
|
-
- [Models](/concepts/models) - model configuration and aliases
|
|
719
|
-
- [Providers](/providers) - per-provider setup guides
|