fengming 0.3.10 → 0.3.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build-info.json +2 -2
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/cli-startup-metadata.json +8 -8
- package/dist/control-ui/assets/{activity-D-mnRThU.js → activity-wgT0-JR0.js} +2 -2
- package/dist/control-ui/assets/{agents-U_KSP5I_.js → agents-DG5PobrT.js} +2 -2
- package/dist/control-ui/assets/{channels-ohK9_G1O.js → channels-CX28oM42.js} +2 -2
- package/dist/control-ui/assets/{cron-6ZCzfU29.js → cron-B8ixwBqU.js} +2 -2
- package/dist/control-ui/assets/{debug-CSsDLg_s.js → debug-CnkYZUXy.js} +2 -2
- package/dist/control-ui/assets/{index-jUDczxhd.js → index-DQRZJKbO.js} +4 -4
- package/dist/control-ui/assets/{instances-782ZoDT4.js → instances-BE3mV1JC.js} +2 -2
- package/dist/control-ui/assets/{nodes-BMX16BKM.js → nodes-Cou4PWRX.js} +2 -2
- package/dist/control-ui/assets/{sessions-jLGSApYa.js → sessions-DpAaBT21.js} +2 -2
- package/dist/control-ui/assets/{skills-DweBwUhs.js → skills-DjA_j_20.js} +2 -2
- package/dist/control-ui/assets/{workboard-BsU-FXIo.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-AZzJCgph.d.ts → index-DuDY3bCZ.d.ts} +2 -2
- 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 +2 -2
- 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/package.json +4 -409
- package/CHANGELOG.md +0 -42
- 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
package/docs/install/render.mdx
DELETED
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
summary: "Deploy OpenClaw on Render with Infrastructure-as-Code"
|
|
3
|
-
read_when:
|
|
4
|
-
- Deploying OpenClaw to Render
|
|
5
|
-
- You want a declarative cloud deploy with Render Blueprints
|
|
6
|
-
title: "Render"
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Render
|
|
10
|
-
|
|
11
|
-
Deploy OpenClaw on Render using Infrastructure as Code. The included `render.yaml` Blueprint defines your entire stack declaratively, service, disk, environment variables, so you can deploy with a single click and version your infrastructure alongside your code.
|
|
12
|
-
|
|
13
|
-
## Prerequisites
|
|
14
|
-
|
|
15
|
-
- A [Render account](https://render.com) (free tier available)
|
|
16
|
-
- An API key from your preferred [model provider](/providers)
|
|
17
|
-
|
|
18
|
-
## Deploy with a Render Blueprint
|
|
19
|
-
|
|
20
|
-
[Deploy to Render](https://render.com/deploy?repo=https://github.com/openclaw/openclaw)
|
|
21
|
-
|
|
22
|
-
Clicking this link will:
|
|
23
|
-
|
|
24
|
-
1. Create a new Render service from the `render.yaml` Blueprint at the root of this repo.
|
|
25
|
-
2. Build the Docker image and deploy
|
|
26
|
-
|
|
27
|
-
Once deployed, your service URL follows the pattern `https://<service-name>.onrender.com`.
|
|
28
|
-
|
|
29
|
-
## Understanding the Blueprint
|
|
30
|
-
|
|
31
|
-
Render Blueprints are YAML files that define your infrastructure. The `render.yaml` in this
|
|
32
|
-
repository configures everything needed to run OpenClaw:
|
|
33
|
-
|
|
34
|
-
```yaml
|
|
35
|
-
services:
|
|
36
|
-
- type: web
|
|
37
|
-
name: openclaw
|
|
38
|
-
runtime: docker
|
|
39
|
-
plan: starter
|
|
40
|
-
healthCheckPath: /health
|
|
41
|
-
envVars:
|
|
42
|
-
- key: OPENCLAW_GATEWAY_PORT
|
|
43
|
-
value: "8080"
|
|
44
|
-
- key: OPENCLAW_STATE_DIR
|
|
45
|
-
value: /data/.openclaw
|
|
46
|
-
- key: OPENCLAW_WORKSPACE_DIR
|
|
47
|
-
value: /data/workspace
|
|
48
|
-
- key: OPENCLAW_GATEWAY_TOKEN
|
|
49
|
-
generateValue: true # auto-generates a secure token
|
|
50
|
-
disk:
|
|
51
|
-
name: openclaw-data
|
|
52
|
-
mountPath: /data
|
|
53
|
-
sizeGB: 1
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
Key Blueprint features used:
|
|
57
|
-
|
|
58
|
-
| Feature | Purpose |
|
|
59
|
-
| --------------------- | ---------------------------------------------------------- |
|
|
60
|
-
| `runtime: docker` | Builds from the repo's Dockerfile |
|
|
61
|
-
| `healthCheckPath` | Render monitors `/health` and restarts unhealthy instances |
|
|
62
|
-
| `generateValue: true` | Auto-generates a cryptographically secure value |
|
|
63
|
-
| `disk` | Persistent storage that survives redeploys |
|
|
64
|
-
|
|
65
|
-
## Choosing a plan
|
|
66
|
-
|
|
67
|
-
| Plan | Spin-down | Disk | Best for |
|
|
68
|
-
| --------- | ----------------- | ------------- | ----------------------------- |
|
|
69
|
-
| Free | After 15 min idle | Not available | Testing, demos |
|
|
70
|
-
| Starter | Never | 1GB+ | Personal use, small teams |
|
|
71
|
-
| Standard+ | Never | 1GB+ | Production, multiple channels |
|
|
72
|
-
|
|
73
|
-
The Blueprint defaults to `starter`. To use free tier, change `plan: free` in
|
|
74
|
-
your fork's `render.yaml` (but note: no persistent disk means OpenClaw state
|
|
75
|
-
resets on each deploy).
|
|
76
|
-
|
|
77
|
-
## After deployment
|
|
78
|
-
|
|
79
|
-
### Access the Control UI
|
|
80
|
-
|
|
81
|
-
The web dashboard is available at `https://<your-service>.onrender.com/`.
|
|
82
|
-
|
|
83
|
-
Connect using the configured shared secret. This deploy template auto-generates
|
|
84
|
-
`OPENCLAW_GATEWAY_TOKEN` (find it in **Dashboard → your service →
|
|
85
|
-
Environment**); if you replace it with password auth, use that password
|
|
86
|
-
instead.
|
|
87
|
-
|
|
88
|
-
## Render Dashboard features
|
|
89
|
-
|
|
90
|
-
### Logs
|
|
91
|
-
|
|
92
|
-
View real-time logs in **Dashboard → your service → Logs**. Filter by:
|
|
93
|
-
|
|
94
|
-
- Build logs (Docker image creation)
|
|
95
|
-
- Deploy logs (service startup)
|
|
96
|
-
- Runtime logs (application output)
|
|
97
|
-
|
|
98
|
-
### Shell access
|
|
99
|
-
|
|
100
|
-
For debugging, open a shell session via **Dashboard → your service → Shell**. The persistent disk is mounted at `/data`.
|
|
101
|
-
|
|
102
|
-
### Environment variables
|
|
103
|
-
|
|
104
|
-
Modify variables in **Dashboard → your service → Environment**. Changes trigger an automatic redeploy.
|
|
105
|
-
|
|
106
|
-
### Auto-deploy
|
|
107
|
-
|
|
108
|
-
If you use the original OpenClaw repository, Render will not auto-deploy your OpenClaw. To update it, run a manual Blueprint sync from the dashboard.
|
|
109
|
-
|
|
110
|
-
## Custom domain
|
|
111
|
-
|
|
112
|
-
1. Go to **Dashboard → your service → Settings → Custom Domains**
|
|
113
|
-
2. Add your domain
|
|
114
|
-
3. Configure DNS as instructed (CNAME to `*.onrender.com`)
|
|
115
|
-
4. Render provisions a TLS certificate automatically
|
|
116
|
-
|
|
117
|
-
## Scaling
|
|
118
|
-
|
|
119
|
-
Render supports horizontal and vertical scaling:
|
|
120
|
-
|
|
121
|
-
- **Vertical**: Change the plan to get more CPU/RAM
|
|
122
|
-
- **Horizontal**: Increase instance count (Standard plan and above)
|
|
123
|
-
|
|
124
|
-
For OpenClaw, vertical scaling is usually sufficient. Horizontal scaling requires sticky sessions or external state management.
|
|
125
|
-
|
|
126
|
-
## Backups and migration
|
|
127
|
-
|
|
128
|
-
Export your state, config, auth profiles, and workspace at any time using the
|
|
129
|
-
shell access in the Render Dashboard:
|
|
130
|
-
|
|
131
|
-
```bash
|
|
132
|
-
openclaw backup create
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
This creates a portable backup archive with OpenClaw state plus any configured
|
|
136
|
-
workspace. See [Backup](/cli/backup) for details.
|
|
137
|
-
|
|
138
|
-
## Troubleshooting
|
|
139
|
-
|
|
140
|
-
### Service will not start
|
|
141
|
-
|
|
142
|
-
Check the deploy logs in the Render Dashboard. Common issues:
|
|
143
|
-
|
|
144
|
-
- Missing `OPENCLAW_GATEWAY_TOKEN` — verify it is set in **Dashboard → Environment**
|
|
145
|
-
- Port mismatch — ensure `OPENCLAW_GATEWAY_PORT=8080` is set so the gateway binds to the port Render expects
|
|
146
|
-
|
|
147
|
-
### Slow cold starts (free tier)
|
|
148
|
-
|
|
149
|
-
Free tier services spin down after 15 minutes of inactivity. The first request after spin-down takes a few seconds while the container starts. Upgrade to Starter plan for always-on.
|
|
150
|
-
|
|
151
|
-
### Data loss after redeploy
|
|
152
|
-
|
|
153
|
-
This happens on free tier (no persistent disk). Upgrade to a paid plan, or
|
|
154
|
-
regularly export a full backup via `openclaw backup create` in the Render shell.
|
|
155
|
-
|
|
156
|
-
### Health check failures
|
|
157
|
-
|
|
158
|
-
Render expects a 200 response from `/health` within 30 seconds. If builds succeed but deploys fail, the service may be taking too long to start. Check:
|
|
159
|
-
|
|
160
|
-
- Build logs for errors
|
|
161
|
-
- Whether the container runs locally with `docker build && docker run`
|
|
162
|
-
|
|
163
|
-
## Next steps
|
|
164
|
-
|
|
165
|
-
- Set up messaging channels: [Channels](/channels)
|
|
166
|
-
- Configure the Gateway: [Gateway configuration](/gateway/configuration)
|
|
167
|
-
- Keep OpenClaw up to date: [Updating](/install/updating)
|
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
summary: "Uninstall FengMing completely (CLI, service, state, workspace)"
|
|
3
|
-
read_when:
|
|
4
|
-
- You want to remove FengMing from a machine
|
|
5
|
-
- The gateway service is still running after uninstall
|
|
6
|
-
title: "Uninstall"
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
Two paths:
|
|
10
|
-
|
|
11
|
-
- **Easy path** if `fengming` is still installed.
|
|
12
|
-
- **Manual service removal** if the CLI is gone but the service is still running.
|
|
13
|
-
|
|
14
|
-
## Easy path (CLI still installed)
|
|
15
|
-
|
|
16
|
-
Recommended: use the built-in uninstaller:
|
|
17
|
-
|
|
18
|
-
```bash
|
|
19
|
-
fengming uninstall
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
Non-interactive (automation / npx):
|
|
23
|
-
|
|
24
|
-
```bash
|
|
25
|
-
fengming uninstall --all --yes --non-interactive
|
|
26
|
-
npx -y fengming uninstall --all --yes --non-interactive
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
Manual steps (same result):
|
|
30
|
-
|
|
31
|
-
1. Stop the gateway service:
|
|
32
|
-
|
|
33
|
-
```bash
|
|
34
|
-
fengming gateway stop
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
2. Uninstall the gateway service (launchd/systemd/schtasks):
|
|
38
|
-
|
|
39
|
-
```bash
|
|
40
|
-
fengming gateway uninstall
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
3. Delete state + config:
|
|
44
|
-
|
|
45
|
-
```bash
|
|
46
|
-
rm -rf "${FENGMING_STATE_DIR:-$HOME/.fengming}"
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
If you set `FENGMING_CONFIG_PATH` to a custom location outside the state dir, delete that file too.
|
|
50
|
-
|
|
51
|
-
4. Delete your workspace (optional, removes agent files):
|
|
52
|
-
|
|
53
|
-
```bash
|
|
54
|
-
rm -rf ~/.fengming/workspace
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
5. Remove the CLI install (pick the one you used):
|
|
58
|
-
|
|
59
|
-
```bash
|
|
60
|
-
npm rm -g fengming
|
|
61
|
-
pnpm remove -g fengming
|
|
62
|
-
bun remove -g fengming
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
6. If you installed the macOS app:
|
|
66
|
-
|
|
67
|
-
```bash
|
|
68
|
-
rm -rf /Applications/FengMing.app
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
Notes:
|
|
72
|
-
|
|
73
|
-
- If you used profiles (`--profile` / `FENGMING_PROFILE`), repeat step 3 for each state dir (defaults are `~/.fengming-<profile>`).
|
|
74
|
-
- In remote mode, the state dir lives on the **gateway host**, so run steps 1-4 there too.
|
|
75
|
-
|
|
76
|
-
## Manual service removal (CLI not installed)
|
|
77
|
-
|
|
78
|
-
Use this if the gateway service keeps running but `fengming` is missing.
|
|
79
|
-
|
|
80
|
-
### macOS (launchd)
|
|
81
|
-
|
|
82
|
-
Default label is `ai.fengming.gateway` (or `ai.fengming.<profile>`; legacy `com.fengming.*` may still exist):
|
|
83
|
-
|
|
84
|
-
```bash
|
|
85
|
-
launchctl bootout gui/$UID/ai.fengming.gateway
|
|
86
|
-
rm -f ~/Library/LaunchAgents/ai.fengming.gateway.plist
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
If you used a profile, replace the label and plist name with `ai.fengming.<profile>`. Remove any legacy `com.fengming.*` plists if present.
|
|
90
|
-
|
|
91
|
-
### Linux (systemd user unit)
|
|
92
|
-
|
|
93
|
-
Default unit name is `fengming-gateway.service` (or `fengming-gateway-<profile>.service`):
|
|
94
|
-
|
|
95
|
-
```bash
|
|
96
|
-
systemctl --user disable --now fengming-gateway.service
|
|
97
|
-
rm -f ~/.config/systemd/user/fengming-gateway.service
|
|
98
|
-
systemctl --user daemon-reload
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
### Windows (Scheduled Task)
|
|
102
|
-
|
|
103
|
-
Default task name is `FengMing Gateway` (or `FengMing Gateway (<profile>)`).
|
|
104
|
-
The task script lives under your state dir.
|
|
105
|
-
|
|
106
|
-
```powershell
|
|
107
|
-
schtasks /Delete /F /TN "FengMing Gateway"
|
|
108
|
-
Remove-Item -Force "$env:USERPROFILE\.fengming\gateway.cmd"
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
If you used a profile, delete the matching task name and `~\.fengming-<profile>\gateway.cmd`.
|
|
112
|
-
|
|
113
|
-
## Normal install vs source checkout
|
|
114
|
-
|
|
115
|
-
### Normal install (install.sh / npm / pnpm / bun)
|
|
116
|
-
|
|
117
|
-
If you used `https://fengming.ai/install.sh` or `install.ps1`, the CLI was installed with `npm install -g fengming@latest`.
|
|
118
|
-
Remove it with `npm rm -g fengming` (or `pnpm remove -g` / `bun remove -g` if you installed that way).
|
|
119
|
-
|
|
120
|
-
### Source checkout (git clone)
|
|
121
|
-
|
|
122
|
-
If you run from a repo checkout (`git clone` + `fengming ...` / `bun run fengming ...`):
|
|
123
|
-
|
|
124
|
-
1. Uninstall the gateway service **before** deleting the repo (use the easy path above or manual service removal).
|
|
125
|
-
2. Delete the repo directory.
|
|
126
|
-
3. Remove state + workspace as shown above.
|
|
127
|
-
|
|
128
|
-
## Related
|
|
129
|
-
|
|
130
|
-
- [Install overview](/install)
|
|
131
|
-
- [Migration guide](/install/migrating)
|
package/docs/install/updating.md
DELETED
|
@@ -1,284 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
summary: "Updating FengMing safely (global install or source), plus rollback strategy"
|
|
3
|
-
read_when:
|
|
4
|
-
- Updating FengMing
|
|
5
|
-
- Something breaks after an update
|
|
6
|
-
title: "Updating"
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
Keep FengMing up to date.
|
|
10
|
-
|
|
11
|
-
## Recommended: `fengming update`
|
|
12
|
-
|
|
13
|
-
The fastest way to update. It detects your install type (npm or git), fetches the latest version, runs `fengming doctor`, and restarts the gateway.
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
fengming update
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
To switch channels or target a specific version:
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
fengming update --channel beta
|
|
23
|
-
fengming update --channel dev
|
|
24
|
-
fengming update --dry-run # preview without applying
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
`fengming update` does not accept `--verbose`. For update diagnostics, use
|
|
28
|
-
`--dry-run` to preview the planned actions, `--json` for structured results, or
|
|
29
|
-
`fengming update status --json` to inspect channel and availability state. The
|
|
30
|
-
installer has its own `--verbose` flag, but that flag is not part of
|
|
31
|
-
`fengming update`.
|
|
32
|
-
|
|
33
|
-
`--channel beta` prefers beta, but the runtime falls back to stable/latest when
|
|
34
|
-
the beta tag is missing or older than the latest stable release. Use `--tag beta`
|
|
35
|
-
if you want the raw npm beta dist-tag for a one-off package update.
|
|
36
|
-
|
|
37
|
-
Use `--channel dev` for a persistent moving GitHub `main` checkout. For package
|
|
38
|
-
updates, `--tag main` maps to `github:fengming/fengming#main` for one run, and
|
|
39
|
-
GitHub/git source specs are packed into a temporary tarball before the staged
|
|
40
|
-
npm install.
|
|
41
|
-
|
|
42
|
-
For managed plugins, beta-channel fallback is a warning: the core update can
|
|
43
|
-
still succeed while a plugin uses its recorded default/latest release because no
|
|
44
|
-
plugin beta is available.
|
|
45
|
-
|
|
46
|
-
See [Development channels](/install/development-channels) for channel semantics.
|
|
47
|
-
|
|
48
|
-
## Switch between npm and git installs
|
|
49
|
-
|
|
50
|
-
Use channels when you want to change the install type. The updater keeps your
|
|
51
|
-
state, config, credentials, and workspace in `~/.fengming`; it only changes
|
|
52
|
-
which FengMing code install the CLI and gateway use.
|
|
53
|
-
|
|
54
|
-
```bash
|
|
55
|
-
# npm package install -> editable git checkout
|
|
56
|
-
fengming update --channel dev
|
|
57
|
-
|
|
58
|
-
# git checkout -> npm package install
|
|
59
|
-
fengming update --channel stable
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
Run with `--dry-run` first to preview the exact install-mode switch:
|
|
63
|
-
|
|
64
|
-
```bash
|
|
65
|
-
fengming update --channel dev --dry-run
|
|
66
|
-
fengming update --channel stable --dry-run
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
The `dev` channel ensures a git checkout, builds it, and installs the global CLI
|
|
70
|
-
from that checkout. The `stable` and `beta` channels use package installs. If the
|
|
71
|
-
gateway is already installed, `fengming update` refreshes the service metadata
|
|
72
|
-
and restarts it unless you pass `--no-restart`.
|
|
73
|
-
|
|
74
|
-
For package installs with a managed Gateway service, `fengming update` targets
|
|
75
|
-
the package root used by that service. If the shell `fengming` command comes
|
|
76
|
-
from a different install, the updater prints both roots and the managed service
|
|
77
|
-
Node path. The package update uses the package manager that owns the service
|
|
78
|
-
root and checks the managed service Node against the target release engine
|
|
79
|
-
before replacing the package.
|
|
80
|
-
|
|
81
|
-
## Alternative: re-run the installer
|
|
82
|
-
|
|
83
|
-
```bash
|
|
84
|
-
curl -fsSL https://fengming.ai/install.sh | bash
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
Add `--no-onboard` to skip onboarding. To force a specific install type through
|
|
88
|
-
the installer, pass `--install-method git --no-onboard` or
|
|
89
|
-
`--install-method npm --no-onboard`.
|
|
90
|
-
|
|
91
|
-
If `fengming update` fails after the npm package install phase, re-run the
|
|
92
|
-
installer. The installer does not call the old updater; it runs the global
|
|
93
|
-
package install directly and can recover a partially updated npm install.
|
|
94
|
-
|
|
95
|
-
```bash
|
|
96
|
-
curl -fsSL https://fengming.ai/install.sh | bash -s -- --install-method npm
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
To pin the recovery to a specific version or dist-tag, add `--version`:
|
|
100
|
-
|
|
101
|
-
```bash
|
|
102
|
-
curl -fsSL https://fengming.ai/install.sh | bash -s -- --install-method npm --version <version-or-dist-tag>
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
## Alternative: manual npm, pnpm, or bun
|
|
106
|
-
|
|
107
|
-
```bash
|
|
108
|
-
npm i -g fengming@latest
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
Prefer `fengming update` for supervised installs because it can coordinate the
|
|
112
|
-
package swap with the running Gateway service. If you update manually on a
|
|
113
|
-
supervised install, stop the managed Gateway before the package manager starts.
|
|
114
|
-
Package managers replace files in place, and a running Gateway can otherwise try
|
|
115
|
-
to load core or plugin files while the package tree is temporarily half-swapped.
|
|
116
|
-
Restart the Gateway after the package manager finishes so the service picks up
|
|
117
|
-
the new install.
|
|
118
|
-
|
|
119
|
-
For a root-owned Linux system-global install, if `fengming update` fails with
|
|
120
|
-
`EACCES` and you recover with system npm, keep the Gateway stopped through the
|
|
121
|
-
manual package replacement. Use the same `fengming` profile flags or environment
|
|
122
|
-
you normally use for that Gateway. Replace `/usr/bin/npm` with the system npm
|
|
123
|
-
that owns the root-owned global prefix on your host:
|
|
124
|
-
|
|
125
|
-
```bash
|
|
126
|
-
fengming gateway stop
|
|
127
|
-
sudo /usr/bin/npm i -g fengming@latest
|
|
128
|
-
fengming gateway install --force
|
|
129
|
-
fengming gateway restart
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
Then verify the service:
|
|
133
|
-
|
|
134
|
-
```bash
|
|
135
|
-
fengming --version
|
|
136
|
-
curl -fsS http://127.0.0.1:18789/readyz
|
|
137
|
-
fengming plugins list --json
|
|
138
|
-
fengming gateway status --deep --json
|
|
139
|
-
fengming doctor --lint --json
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
When `fengming update` manages a global npm install, it installs the target into
|
|
143
|
-
a temporary npm prefix first, verifies the packaged `dist` inventory, then swaps
|
|
144
|
-
the clean package tree into the real global prefix. That avoids npm overlaying a
|
|
145
|
-
new package onto stale files from the old package. If the install command fails,
|
|
146
|
-
FengMing retries once with `--omit=optional`. That retry helps hosts where native
|
|
147
|
-
optional dependencies cannot compile, while keeping the original failure visible
|
|
148
|
-
if the fallback also fails.
|
|
149
|
-
|
|
150
|
-
FengMing-managed npm update and plugin-update commands also clear npm
|
|
151
|
-
`min-release-age` quarantine for the child npm process. npm may report that
|
|
152
|
-
policy as a derived `before` cutoff; both are useful for general supply-chain
|
|
153
|
-
quarantine policies, but an explicit FengMing update means "install the selected
|
|
154
|
-
FengMing release now."
|
|
155
|
-
|
|
156
|
-
```bash
|
|
157
|
-
pnpm add -g fengming@latest
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
```bash
|
|
161
|
-
bun add -g fengming@latest
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
### Advanced npm install topics
|
|
165
|
-
|
|
166
|
-
<AccordionGroup>
|
|
167
|
-
<Accordion title="Read-only package tree">
|
|
168
|
-
FengMing treats packaged global installs as read-only at runtime, even when the global package directory is writable by the current user. Plugin package installs live in FengMing-owned npm/git roots under the user config directory, and Gateway startup does not mutate the FengMing package tree.
|
|
169
|
-
|
|
170
|
-
Some Linux npm setups install global packages under root-owned directories such as `/usr/lib/node_modules/fengming`. FengMing supports that layout because plugin install/update commands write outside that global package directory.
|
|
171
|
-
|
|
172
|
-
</Accordion>
|
|
173
|
-
<Accordion title="Hardened systemd units">
|
|
174
|
-
Give FengMing write access to its config/state roots so explicit plugin installs, plugin updates, and doctor cleanup can persist their changes:
|
|
175
|
-
|
|
176
|
-
```ini
|
|
177
|
-
ReadWritePaths=/var/lib/fengming /home/fengming/.fengming /tmp
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
</Accordion>
|
|
181
|
-
<Accordion title="Disk-space preflight">
|
|
182
|
-
Before package updates and explicit plugin installs, FengMing tries a best-effort disk-space check for the target volume. Low space produces a warning with the checked path, but does not block the update because filesystem quotas, snapshots, and network volumes can change after the check. The actual package-manager install and post-install verification remain authoritative.
|
|
183
|
-
</Accordion>
|
|
184
|
-
</AccordionGroup>
|
|
185
|
-
|
|
186
|
-
## Auto-updater
|
|
187
|
-
|
|
188
|
-
The auto-updater is off by default. Enable it in `~/.fengming/fengming.json`:
|
|
189
|
-
|
|
190
|
-
```json5
|
|
191
|
-
{
|
|
192
|
-
update: {
|
|
193
|
-
channel: "stable",
|
|
194
|
-
auto: {
|
|
195
|
-
enabled: true,
|
|
196
|
-
stableDelayHours: 6,
|
|
197
|
-
stableJitterHours: 12,
|
|
198
|
-
betaCheckIntervalHours: 1,
|
|
199
|
-
},
|
|
200
|
-
},
|
|
201
|
-
}
|
|
202
|
-
```
|
|
203
|
-
|
|
204
|
-
| Channel | Behavior |
|
|
205
|
-
| -------- | ------------------------------------------------------------------------------------------------------------- |
|
|
206
|
-
| `stable` | Waits `stableDelayHours`, then applies with deterministic jitter across `stableJitterHours` (spread rollout). |
|
|
207
|
-
| `beta` | Checks every `betaCheckIntervalHours` (default: hourly) and applies immediately. |
|
|
208
|
-
| `dev` | No automatic apply. Use `fengming update` manually. |
|
|
209
|
-
|
|
210
|
-
The gateway also logs an update hint on startup (disable with `update.checkOnStart: false`).
|
|
211
|
-
For downgrade or incident recovery, set `FENGMING_NO_AUTO_UPDATE=1` in the gateway environment to block automatic applies even when `update.auto.enabled` is configured. Startup update hints can still run unless `update.checkOnStart` is also disabled.
|
|
212
|
-
|
|
213
|
-
Package-manager updates requested through the live Gateway control-plane handler
|
|
214
|
-
do not replace the package tree inside the running Gateway process. On managed
|
|
215
|
-
service installs, the Gateway starts a detached handoff, exits, and lets the
|
|
216
|
-
normal `fengming update --yes --json` CLI path stop the service, replace the
|
|
217
|
-
package, refresh service metadata, restart, verify the Gateway version and
|
|
218
|
-
reachability, and recover an installed-but-unloaded macOS LaunchAgent when
|
|
219
|
-
possible. If the Gateway cannot make that handoff safely, `update.run` reports a
|
|
220
|
-
safe shell command instead of running the package manager in-process.
|
|
221
|
-
|
|
222
|
-
## After updating
|
|
223
|
-
|
|
224
|
-
<Steps>
|
|
225
|
-
|
|
226
|
-
### Run doctor
|
|
227
|
-
|
|
228
|
-
```bash
|
|
229
|
-
fengming doctor
|
|
230
|
-
```
|
|
231
|
-
|
|
232
|
-
Migrates config, audits DM policies, and checks gateway health. Details: [Doctor](/gateway/doctor)
|
|
233
|
-
|
|
234
|
-
### Restart the gateway
|
|
235
|
-
|
|
236
|
-
```bash
|
|
237
|
-
fengming gateway restart
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
### Verify
|
|
241
|
-
|
|
242
|
-
```bash
|
|
243
|
-
fengming health
|
|
244
|
-
```
|
|
245
|
-
|
|
246
|
-
</Steps>
|
|
247
|
-
|
|
248
|
-
## Rollback
|
|
249
|
-
|
|
250
|
-
### Pin a version (npm)
|
|
251
|
-
|
|
252
|
-
```bash
|
|
253
|
-
npm i -g fengming@<version>
|
|
254
|
-
fengming doctor
|
|
255
|
-
fengming gateway restart
|
|
256
|
-
```
|
|
257
|
-
|
|
258
|
-
<Tip>
|
|
259
|
-
`npm view fengming version` shows the current published version.
|
|
260
|
-
</Tip>
|
|
261
|
-
|
|
262
|
-
### Pin a commit (source)
|
|
263
|
-
|
|
264
|
-
```bash
|
|
265
|
-
git fetch origin
|
|
266
|
-
git checkout "$(git rev-list -n 1 --before=\"2026-01-01\" origin/main)"
|
|
267
|
-
pnpm install && pnpm build
|
|
268
|
-
fengming gateway restart
|
|
269
|
-
```
|
|
270
|
-
|
|
271
|
-
To return to latest: `git checkout main && git pull`.
|
|
272
|
-
|
|
273
|
-
## If you are stuck
|
|
274
|
-
|
|
275
|
-
- Run `fengming doctor` again and read the output carefully.
|
|
276
|
-
- For `fengming update --channel dev` on source checkouts, the updater auto-bootstraps `pnpm` when needed. If you see a pnpm/corepack bootstrap error, install `pnpm` manually (or re-enable `corepack`) and rerun the update.
|
|
277
|
-
- Check: [Troubleshooting](/gateway/troubleshooting)
|
|
278
|
-
- Ask in Discord: [https://discord.gg/clawd](https://discord.gg/clawd)
|
|
279
|
-
|
|
280
|
-
## Related
|
|
281
|
-
|
|
282
|
-
- [Install overview](/install): all installation methods.
|
|
283
|
-
- [Doctor](/gateway/doctor): health checks after updates.
|
|
284
|
-
- [Migrating](/install/migrating): major version migration guides.
|
package/docs/install/upstash.md
DELETED
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
summary: "Host FengMing on Upstash Box with keep-alive and SSH tunnel access"
|
|
3
|
-
read_when:
|
|
4
|
-
- Deploying FengMing to Upstash Box
|
|
5
|
-
- You want a managed Linux environment for FengMing with SSH-tunneled dashboard access
|
|
6
|
-
title: "Upstash Box"
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
Run a persistent FengMing Gateway on Upstash Box, a managed Linux environment
|
|
10
|
-
with keep-alive lifecycle support.
|
|
11
|
-
|
|
12
|
-
Use an SSH tunnel for dashboard access. Do not expose the Gateway port directly
|
|
13
|
-
to the public internet.
|
|
14
|
-
|
|
15
|
-
## Prerequisites
|
|
16
|
-
|
|
17
|
-
- Upstash account
|
|
18
|
-
- Keep-alive Upstash Box
|
|
19
|
-
- SSH client on your local machine
|
|
20
|
-
|
|
21
|
-
## Create a Box
|
|
22
|
-
|
|
23
|
-
Create a keep-alive Box in the Upstash Console. Note the Box ID, such as
|
|
24
|
-
`right-flamingo-14486`, and your Box API key.
|
|
25
|
-
|
|
26
|
-
Upstash maintains its current FengMing Box walkthrough at
|
|
27
|
-
[FengMing Setup](https://upstash.com/docs/box/guides/fengming-setup).
|
|
28
|
-
|
|
29
|
-
## Connect with an SSH tunnel
|
|
30
|
-
|
|
31
|
-
Forward the FengMing dashboard port to your local machine. Use your Box API key
|
|
32
|
-
as the SSH password when prompted:
|
|
33
|
-
|
|
34
|
-
```bash
|
|
35
|
-
ssh -o ServerAliveInterval=15 -o ServerAliveCountMax=3 -L 18789:127.0.0.1:18789 <box-id>@us-east-1.box.upstash.com
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
The keepalive options reduce idle tunnel drops during onboarding.
|
|
39
|
-
|
|
40
|
-
## Install FengMing
|
|
41
|
-
|
|
42
|
-
Inside the Box:
|
|
43
|
-
|
|
44
|
-
```bash
|
|
45
|
-
sudo npm install -g fengming
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
## Run onboarding
|
|
49
|
-
|
|
50
|
-
```bash
|
|
51
|
-
fengming onboard --install-daemon
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
Follow the prompts. Copy the dashboard URL and token when onboarding finishes.
|
|
55
|
-
|
|
56
|
-
## Start the Gateway
|
|
57
|
-
|
|
58
|
-
Configure the Gateway for the Box network and start it in the background:
|
|
59
|
-
|
|
60
|
-
```bash
|
|
61
|
-
fengming config set gateway.bind lan
|
|
62
|
-
nohup fengming gateway > gateway.log 2>&1 &
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
With the SSH tunnel active, open the dashboard URL locally:
|
|
66
|
-
|
|
67
|
-
```text
|
|
68
|
-
http://127.0.0.1:18789/#token=<your-token>
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
## Auto-restart
|
|
72
|
-
|
|
73
|
-
Set this command as the Box init script so the Gateway restarts when the Box
|
|
74
|
-
starts:
|
|
75
|
-
|
|
76
|
-
```bash
|
|
77
|
-
nohup fengming gateway > gateway.log 2>&1 &
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
## Troubleshooting
|
|
81
|
-
|
|
82
|
-
If SSH freezes during onboarding, reconnect with a clean SSH config and
|
|
83
|
-
keepalives:
|
|
84
|
-
|
|
85
|
-
```bash
|
|
86
|
-
ssh -F /dev/null -o ControlMaster=no -o ServerAliveInterval=15 -o ServerAliveCountMax=3 -L 18789:127.0.0.1:18789 <box-id>@us-east-1.box.upstash.com
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
This bypasses stale local `~/.ssh/config` settings and keeps the tunnel active
|
|
90
|
-
through idle network periods.
|
|
91
|
-
|
|
92
|
-
## Related
|
|
93
|
-
|
|
94
|
-
- [Remote access](/gateway/remote)
|
|
95
|
-
- [Gateway security](/gateway/security)
|
|
96
|
-
- [Updating FengMing](/install/updating)
|