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,247 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Claw Supervisor
|
|
3
|
-
description: Fleet supervision plan for Codex app-server sessions controlled by FengMing.
|
|
4
|
-
readWhen:
|
|
5
|
-
- Designing Codex fleet supervision
|
|
6
|
-
- Building FengMing tools that read, steer, or spawn Codex sessions
|
|
7
|
-
- Choosing between local, Cloudflare, and VPS deployment for supervised Codex
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Claw Supervisor
|
|
11
|
-
|
|
12
|
-
## Goal
|
|
13
|
-
|
|
14
|
-
Claw Supervisor lets one always-on FengMing instance monitor and drive a fleet of Codex sessions without changing the normal Codex user experience. A user can SSH into a host, start Codex, work in the TUI, and still have the supervisor read the session, steer it, interrupt it, spawn related sessions, and accept handoffs. Codex sessions can also call back into FengMing through MCP.
|
|
15
|
-
|
|
16
|
-
## Product Model
|
|
17
|
-
|
|
18
|
-
Codex remains the primary work surface. FengMing supervises Codex rather than hiding Codex inside an opaque FengMing subagent.
|
|
19
|
-
|
|
20
|
-
The FengMing plugin is named `codex-supervisor`. `crabfleet` remains the deployment
|
|
21
|
-
and host-fleet profile for CRAB machines rather than the reusable plugin name.
|
|
22
|
-
|
|
23
|
-
The model has three roles:
|
|
24
|
-
|
|
25
|
-
- Human-attached Codex: a normal interactive Codex TUI launched through a shared app-server.
|
|
26
|
-
- Autonomous Codex: a Codex app-server thread spawned by the supervisor that a human can later attach to.
|
|
27
|
-
- Supervisor Claw: an always-on FengMing agent with tools for fleet state, transcript reads, steering, interruption, spawning, and handoff.
|
|
28
|
-
|
|
29
|
-
FengMing may use its existing subagent machinery internally, but the external contract is an attachable Codex session with a Codex thread id.
|
|
30
|
-
|
|
31
|
-
## Architecture
|
|
32
|
-
|
|
33
|
-
```text
|
|
34
|
-
user SSH session
|
|
35
|
-
-> codex --remote unix://... or ws://...
|
|
36
|
-
-> local codex app-server daemon
|
|
37
|
-
<-> host sidecar / supervisor connector
|
|
38
|
-
<-> FengMing fleet supervisor
|
|
39
|
-
<-> supervisor MCP exposed back to Codex
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
Each Codex-capable host runs:
|
|
43
|
-
|
|
44
|
-
- Codex app-server daemon.
|
|
45
|
-
- A launcher that always starts interactive Codex with `--remote`.
|
|
46
|
-
- A connector that registers app-server endpoints and live threads with the supervisor.
|
|
47
|
-
|
|
48
|
-
The supervisor runs:
|
|
49
|
-
|
|
50
|
-
- Endpoint registry.
|
|
51
|
-
- Session registry.
|
|
52
|
-
- Codex app-server JSON-RPC client pool.
|
|
53
|
-
- MCP server for Codex-to-Claw calls.
|
|
54
|
-
- FengMing tools for Claw-to-Codex control.
|
|
55
|
-
- Policy engine for autonomous actions, approvals, and loop prevention.
|
|
56
|
-
|
|
57
|
-
## Codex App-Server Contract
|
|
58
|
-
|
|
59
|
-
Use Codex app-server APIs as the canonical control plane:
|
|
60
|
-
|
|
61
|
-
- `initialize`, `initialized`
|
|
62
|
-
- `thread/loaded/list`
|
|
63
|
-
- `thread/list`
|
|
64
|
-
- `thread/read`
|
|
65
|
-
- `thread/resume`
|
|
66
|
-
- `thread/start`
|
|
67
|
-
- `turn/start`
|
|
68
|
-
- `turn/steer`
|
|
69
|
-
- `turn/interrupt`
|
|
70
|
-
- `model/list`
|
|
71
|
-
|
|
72
|
-
Interactive Codex must be launched with `codex --remote <endpoint>` so the TUI and supervisor connect to the same app-server. Standalone `codex exec` is not a live-shared session today; use app-server APIs for autonomous work until Codex supports `exec --remote`.
|
|
73
|
-
|
|
74
|
-
## Session Registry
|
|
75
|
-
|
|
76
|
-
Supervisor stores one record per observed Codex thread:
|
|
77
|
-
|
|
78
|
-
```json
|
|
79
|
-
{
|
|
80
|
-
"sessionId": "codex-thread-id",
|
|
81
|
-
"endpointId": "host-a",
|
|
82
|
-
"host": "host-a.example",
|
|
83
|
-
"workspace": "/workspace/repo",
|
|
84
|
-
"repo": "owner/repo",
|
|
85
|
-
"branch": "feature/example",
|
|
86
|
-
"source": "vscode",
|
|
87
|
-
"status": "idle",
|
|
88
|
-
"humanAttached": true,
|
|
89
|
-
"lastSeenAt": "2026-05-28T10:00:00.000Z",
|
|
90
|
-
"summary": "Short working-state summary"
|
|
91
|
-
}
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
The local implementation can derive most fields from Codex thread metadata. Fleet deployment should enrich records with host identity, user attachment state, git state, and sidecar health.
|
|
95
|
-
|
|
96
|
-
## MCP Surface For Codex
|
|
97
|
-
|
|
98
|
-
Every supervised Codex gets an MCP server named `fengming-codex-supervisor`.
|
|
99
|
-
|
|
100
|
-
Tools:
|
|
101
|
-
|
|
102
|
-
- `codex_sessions_list`: list visible Codex sessions.
|
|
103
|
-
- `codex_session_read`: read one transcript.
|
|
104
|
-
- `codex_session_send`: send a message to an idle thread or steer an active thread.
|
|
105
|
-
- `codex_session_interrupt`: interrupt the active turn.
|
|
106
|
-
- `codex_endpoint_probe`: verify endpoint connectivity.
|
|
107
|
-
- `claw_report_progress`: publish current task state to the supervisor.
|
|
108
|
-
- `claw_ask`: ask the supervisor for help or delegation.
|
|
109
|
-
- `codex_spawn`: create a new autonomous Codex session.
|
|
110
|
-
- `codex_handoff`: request human or peer takeover.
|
|
111
|
-
|
|
112
|
-
Resources:
|
|
113
|
-
|
|
114
|
-
- `codex://sessions`
|
|
115
|
-
- `codex://sessions/{sessionId}`
|
|
116
|
-
- `codex://sessions/{sessionId}/transcript`
|
|
117
|
-
|
|
118
|
-
## Claw Control Surface
|
|
119
|
-
|
|
120
|
-
The always-on Claw gets the same primitives as internal tools:
|
|
121
|
-
|
|
122
|
-
- list sessions and endpoints
|
|
123
|
-
- read transcripts
|
|
124
|
-
- send/steer text
|
|
125
|
-
- interrupt active work
|
|
126
|
-
- spawn new sessions
|
|
127
|
-
- summarize and assign sessions
|
|
128
|
-
- broadcast instructions to a filtered group
|
|
129
|
-
- mark sessions blocked, done, or abandoned
|
|
130
|
-
|
|
131
|
-
Tool behavior:
|
|
132
|
-
|
|
133
|
-
- If a target thread is idle, `codex_session_send` maps to `turn/start`.
|
|
134
|
-
- If a target thread is active and an in-progress turn id is visible, it maps to `turn/steer`.
|
|
135
|
-
- If the active turn cannot be identified, the tool fails closed instead of creating an unrelated turn.
|
|
136
|
-
- Codex-exposed MCP write controls stay disabled unless a trusted supervisor-only policy enables them.
|
|
137
|
-
- Raw transcript reads stay disabled unless a trusted supervisor-only policy enables them.
|
|
138
|
-
- Autonomous approval defaults deny tool/file approvals unless an explicit policy says otherwise.
|
|
139
|
-
|
|
140
|
-
## Launch Flow
|
|
141
|
-
|
|
142
|
-
Interactive host login:
|
|
143
|
-
|
|
144
|
-
1. User SSHes into a CRAB host.
|
|
145
|
-
2. SSH service starts or verifies `codex app-server daemon start`.
|
|
146
|
-
3. Login wrapper launches `codex --remote unix:// --cd <workspace>`.
|
|
147
|
-
4. Host connector registers endpoint and loaded thread.
|
|
148
|
-
5. Supervisor emits a high-priority fleet event: new Codex session, workspace, human-attached state, current task preview.
|
|
149
|
-
6. Supervisor Claw can read and steer immediately.
|
|
150
|
-
|
|
151
|
-
Autonomous spawn:
|
|
152
|
-
|
|
153
|
-
1. Supervisor selects host and workspace.
|
|
154
|
-
2. Host connector opens or resumes a Codex app-server thread.
|
|
155
|
-
3. Supervisor starts the first turn with task text and MCP config.
|
|
156
|
-
4. Session registry marks it autonomous and attachable.
|
|
157
|
-
5. Human can later attach with `codex --remote <endpoint> resume <threadId>` once Codex supports that exact UX, or via current resume flow on the same app-server.
|
|
158
|
-
|
|
159
|
-
## Deployment
|
|
160
|
-
|
|
161
|
-
Preferred control plane:
|
|
162
|
-
|
|
163
|
-
- Host connectors keep outbound WebSocket connections to the supervisor.
|
|
164
|
-
- Supervisor state lives in FengMing Gateway storage.
|
|
165
|
-
- Codex app-server remains local to each host; never expose a raw unauthenticated app-server to the public internet.
|
|
166
|
-
|
|
167
|
-
Cloudflare viability:
|
|
168
|
-
|
|
169
|
-
- Good for registry, durable objects, WebSocket fan-in, lightweight event routing, and public MCP/gateway endpoints.
|
|
170
|
-
- Not enough by itself for direct private host control because Workers cannot dial arbitrary private Unix sockets or local loopback app-servers.
|
|
171
|
-
- Use Cloudflare when every host connector phones home over outbound WebSocket.
|
|
172
|
-
|
|
173
|
-
VPS fallback:
|
|
174
|
-
|
|
175
|
-
- Use a Hetzner service when long-lived process control, SSH tunnels, private network routing, or local filesystem access is needed.
|
|
176
|
-
- Keep the same protocol: host connectors outbound, supervisor registry central, Codex app-server local.
|
|
177
|
-
|
|
178
|
-
## Security
|
|
179
|
-
|
|
180
|
-
- Default bind is local Unix socket.
|
|
181
|
-
- Remote app-server uses token or signed bearer auth.
|
|
182
|
-
- Host connector authenticates to supervisor with a scoped host token.
|
|
183
|
-
- Supervisor tools enforce per-session policy: read, steer, interrupt, spawn, approval.
|
|
184
|
-
- Cross-agent messages include `originSessionId`; self-echo is dropped.
|
|
185
|
-
- Broadcast requires an explicit filter and bounded target count.
|
|
186
|
-
- Transcript reads redact secrets at FengMing boundary.
|
|
187
|
-
- Approval requests default to deny for supervisor-originated turns unless policy allows them.
|
|
188
|
-
|
|
189
|
-
## Implementation Plan
|
|
190
|
-
|
|
191
|
-
Phase 1: Local supervisor MVP
|
|
192
|
-
|
|
193
|
-
- Add Codex app-server JSON-RPC client for stdio proxy and WebSocket endpoints.
|
|
194
|
-
- Add supervisor endpoint/session registry.
|
|
195
|
-
- Add MCP tools: list, read, send, interrupt, probe.
|
|
196
|
-
- Add local env config for endpoints.
|
|
197
|
-
- Add fake app-server tests and one live local app-server smoke.
|
|
198
|
-
|
|
199
|
-
Phase 2: FengMing integration
|
|
200
|
-
|
|
201
|
-
- Register supervisor tools in the `codex-supervisor` plugin.
|
|
202
|
-
- Inject supervisor MCP into Codex thread config.
|
|
203
|
-
- Add session summaries to agent context.
|
|
204
|
-
- Add event notifications when new Codex threads appear.
|
|
205
|
-
- Add policy config for autonomous send/interrupt/spawn.
|
|
206
|
-
|
|
207
|
-
Phase 3: Fleet connector
|
|
208
|
-
|
|
209
|
-
- Host sidecar registers app-server endpoint, host metadata, git/workspace metadata, and human attachment state.
|
|
210
|
-
- Add outbound WebSocket connector for Cloudflare or VPS control plane.
|
|
211
|
-
- Add reconnect, heartbeat, and stale-session cleanup.
|
|
212
|
-
- Add CRAB SSH launcher wrapper.
|
|
213
|
-
|
|
214
|
-
Phase 4: Autonomous operation
|
|
215
|
-
|
|
216
|
-
- Add spawn/resume/takeover flows.
|
|
217
|
-
- Add broadcast and delegation.
|
|
218
|
-
- Add progress reports and task-state summaries.
|
|
219
|
-
- Add loop prevention and rate limits.
|
|
220
|
-
- Add dashboard views.
|
|
221
|
-
|
|
222
|
-
Phase 5: Multi-Claw
|
|
223
|
-
|
|
224
|
-
- Shard sessions by group.
|
|
225
|
-
- Add leadership/lease for each session.
|
|
226
|
-
- Add audit log and replay.
|
|
227
|
-
- Add escalation between Claw groups.
|
|
228
|
-
|
|
229
|
-
## Acceptance Tests
|
|
230
|
-
|
|
231
|
-
- A human launches Codex TUI through a shared app-server.
|
|
232
|
-
- Supervisor lists the live thread via `thread/loaded/list`.
|
|
233
|
-
- Supervisor reads transcript via `thread/read`.
|
|
234
|
-
- Supervisor sends text to an idle thread via `turn/start`.
|
|
235
|
-
- Supervisor steers an active thread via `turn/steer`.
|
|
236
|
-
- Supervisor interrupt stops an active turn via `turn/interrupt`.
|
|
237
|
-
- Codex calls supervisor MCP and lists peer sessions.
|
|
238
|
-
- An autonomous Codex is spawned and later human-attached.
|
|
239
|
-
- Lost host connector marks sessions stale without deleting history.
|
|
240
|
-
|
|
241
|
-
## Open Questions
|
|
242
|
-
|
|
243
|
-
- Exact Codex TUI attach UX for an app-server thread spawned without a TUI.
|
|
244
|
-
- Whether Codex should add `exec --remote` for headless live-shared runs.
|
|
245
|
-
- Durable state owner: FengMing Gateway DB, Cloudflare Durable Object, or VPS database.
|
|
246
|
-
- Approval policy granularity for supervisor-originated turns.
|
|
247
|
-
- How much transcript summary should be injected into the always-on Claw context versus kept as a tool/resource.
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
summary: "Agent bootstrapping ritual that seeds the workspace and identity files"
|
|
3
|
-
read_when:
|
|
4
|
-
- Understanding what happens on the first agent run
|
|
5
|
-
- Explaining where bootstrapping files live
|
|
6
|
-
- Debugging onboarding identity setup
|
|
7
|
-
title: "Agent bootstrapping"
|
|
8
|
-
sidebarTitle: "Bootstrapping"
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
Bootstrapping is the **first-run** ritual that prepares an agent workspace and
|
|
12
|
-
collects identity details. It happens after onboarding, when the agent starts
|
|
13
|
-
for the first time.
|
|
14
|
-
|
|
15
|
-
## What bootstrapping does
|
|
16
|
-
|
|
17
|
-
On the first agent run, FengMing bootstraps the workspace (default
|
|
18
|
-
`~/.fengming/workspace`):
|
|
19
|
-
|
|
20
|
-
- Seeds `AGENTS.md`, `BOOTSTRAP.md`, `IDENTITY.md`, `USER.md`.
|
|
21
|
-
- Runs a short Q&A ritual (one question at a time).
|
|
22
|
-
- Writes identity + preferences to `IDENTITY.md`, `USER.md`, `SOUL.md`.
|
|
23
|
-
- Removes `BOOTSTRAP.md` when finished so it only runs once.
|
|
24
|
-
|
|
25
|
-
For embedded/local model runs, FengMing keeps `BOOTSTRAP.md` out of the
|
|
26
|
-
privileged system context. On the primary interactive first run, it still passes
|
|
27
|
-
the file contents in the user prompt so models that do not reliably call the
|
|
28
|
-
`read` tool can complete the ritual. If the current run cannot safely access the
|
|
29
|
-
workspace, the agent gets a limited bootstrap note instead of a generic greeting.
|
|
30
|
-
|
|
31
|
-
## Skipping bootstrapping
|
|
32
|
-
|
|
33
|
-
To skip this for a pre-seeded workspace, run `fengming onboard --skip-bootstrap`.
|
|
34
|
-
|
|
35
|
-
## Where it runs
|
|
36
|
-
|
|
37
|
-
Bootstrapping always runs on the **gateway host**. If the macOS app connects to
|
|
38
|
-
a remote Gateway, the workspace and bootstrapping files live on that remote
|
|
39
|
-
machine.
|
|
40
|
-
|
|
41
|
-
<Note>
|
|
42
|
-
When the Gateway runs on another machine, edit workspace files on the gateway
|
|
43
|
-
host (for example, `user@gateway-host:~/.fengming/workspace`).
|
|
44
|
-
</Note>
|
|
45
|
-
|
|
46
|
-
## Related docs
|
|
47
|
-
|
|
48
|
-
- macOS app onboarding: [Onboarding](/start/onboarding)
|
|
49
|
-
- Workspace layout: [Agent workspace](/concepts/agent-workspace)
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
summary: "Curated links to the most used FengMing docs."
|
|
3
|
-
read_when:
|
|
4
|
-
- You want quick access to key docs pages
|
|
5
|
-
title: "Docs directory"
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
<Note>
|
|
9
|
-
This page is a curated index. If you are new, start with [Getting Started](/start/getting-started).
|
|
10
|
-
For a complete map of the docs, see [Docs hubs](/start/hubs).
|
|
11
|
-
</Note>
|
|
12
|
-
|
|
13
|
-
## Start here
|
|
14
|
-
|
|
15
|
-
- [Docs hubs (all pages linked)](/start/hubs)
|
|
16
|
-
- [Help](/help)
|
|
17
|
-
- [Configuration](/gateway/configuration)
|
|
18
|
-
- [Configuration examples](/gateway/configuration-examples)
|
|
19
|
-
- [Slash commands](/tools/slash-commands)
|
|
20
|
-
- [Multi-agent routing](/concepts/multi-agent)
|
|
21
|
-
- [Updating and rollback](/install/updating)
|
|
22
|
-
- [Pairing (DM and nodes)](/channels/pairing)
|
|
23
|
-
- [Nix mode](/install/nix)
|
|
24
|
-
- [FengMing assistant setup](/start/fengming)
|
|
25
|
-
- [Skills](/tools/skills)
|
|
26
|
-
- [Skills config](/tools/skills-config)
|
|
27
|
-
- [Workspace templates](/reference/templates/AGENTS)
|
|
28
|
-
- [RPC adapters](/reference/rpc)
|
|
29
|
-
- [Gateway runbook](/gateway)
|
|
30
|
-
- [Nodes (iOS and Android)](/nodes)
|
|
31
|
-
- [Web surfaces (Control UI)](/web)
|
|
32
|
-
- [Discovery and transports](/gateway/discovery)
|
|
33
|
-
- [Remote access](/gateway/remote)
|
|
34
|
-
|
|
35
|
-
## Providers and UX
|
|
36
|
-
|
|
37
|
-
- [WebChat](/web/webchat)
|
|
38
|
-
- [Control UI (browser)](/web/control-ui)
|
|
39
|
-
- [Telegram](/channels/telegram)
|
|
40
|
-
- [Discord](/channels/discord)
|
|
41
|
-
- [Mattermost](/channels/mattermost)
|
|
42
|
-
- [QQ Bot](/channels/qqbot)
|
|
43
|
-
- [iMessage](/channels/imessage)
|
|
44
|
-
- [Groups](/channels/groups)
|
|
45
|
-
- [WhatsApp group messages](/channels/group-messages)
|
|
46
|
-
- [Media images](/nodes/images)
|
|
47
|
-
- [Media audio](/nodes/audio)
|
|
48
|
-
|
|
49
|
-
## Companion apps
|
|
50
|
-
|
|
51
|
-
- [macOS app](/platforms/macos)
|
|
52
|
-
- [iOS app](/platforms/ios)
|
|
53
|
-
- [Android app](/platforms/android)
|
|
54
|
-
- [Windows (WSL2)](/platforms/windows)
|
|
55
|
-
- [Linux app](/platforms/linux)
|
|
56
|
-
|
|
57
|
-
## Operations and safety
|
|
58
|
-
|
|
59
|
-
- [Sessions](/concepts/session)
|
|
60
|
-
- [Cron jobs](/automation/cron-jobs)
|
|
61
|
-
- [Webhooks](/automation/cron-jobs#webhooks)
|
|
62
|
-
- [Gmail hooks (Pub/Sub)](/automation/cron-jobs#gmail-pubsub-integration)
|
|
63
|
-
- [Security](/gateway/security)
|
|
64
|
-
- [Troubleshooting](/gateway/troubleshooting)
|
|
65
|
-
|
|
66
|
-
## Related
|
|
67
|
-
|
|
68
|
-
- [Getting started](/start/getting-started)
|
|
69
|
-
- [Docs hubs](/start/hubs)
|
package/docs/start/fengming.md
DELETED
|
@@ -1,252 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
summary: "End-to-end guide for running FengMing as a personal assistant with safety cautions"
|
|
3
|
-
read_when:
|
|
4
|
-
- Onboarding a new assistant instance
|
|
5
|
-
- Reviewing safety/permission implications
|
|
6
|
-
title: "Personal assistant setup"
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
FengMing is a self-hosted gateway that connects Discord, Google Chat, iMessage, Matrix, Microsoft Teams, Signal, Slack, Telegram, WhatsApp, Zalo, and more to AI agents. This guide covers the "personal assistant" setup: a dedicated WhatsApp number that behaves like your always-on AI assistant.
|
|
10
|
-
|
|
11
|
-
## ⚠️ Safety first
|
|
12
|
-
|
|
13
|
-
You're putting an agent in a position to:
|
|
14
|
-
|
|
15
|
-
- run commands on your machine (depending on your tool policy)
|
|
16
|
-
- read/write files in your workspace
|
|
17
|
-
- send messages back out via WhatsApp/Telegram/Discord/Mattermost and other bundled channels
|
|
18
|
-
|
|
19
|
-
Start conservative:
|
|
20
|
-
|
|
21
|
-
- Always set `channels.whatsapp.allowFrom` (never run open-to-the-world on your personal Mac).
|
|
22
|
-
- Use a dedicated WhatsApp number for the assistant.
|
|
23
|
-
- Heartbeats now default to every 30 minutes. Disable until you trust the setup by setting `agents.defaults.heartbeat.every: "0m"`.
|
|
24
|
-
|
|
25
|
-
## Prerequisites
|
|
26
|
-
|
|
27
|
-
- FengMing installed and onboarded - see [Getting Started](/start/getting-started) if you haven't done this yet
|
|
28
|
-
- A second phone number (SIM/eSIM/prepaid) for the assistant
|
|
29
|
-
|
|
30
|
-
## The two-phone setup (recommended)
|
|
31
|
-
|
|
32
|
-
You want this:
|
|
33
|
-
|
|
34
|
-
```mermaid
|
|
35
|
-
flowchart TB
|
|
36
|
-
A["<b>Your Phone (personal)<br></b><br>Your WhatsApp<br>+1-555-YOU"] -- message --> B["<b>Second Phone (assistant)<br></b><br>Assistant WA<br>+1-555-ASSIST"]
|
|
37
|
-
B -- linked via QR --> C["<b>Your Mac (fengming)<br></b><br>AI agent"]
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
If you link your personal WhatsApp to FengMing, every message to you becomes "agent input". That's rarely what you want.
|
|
41
|
-
|
|
42
|
-
## 5-minute quick start
|
|
43
|
-
|
|
44
|
-
1. Pair WhatsApp Web (shows QR; scan with the assistant phone):
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
fengming channels login
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
2. Start the Gateway (leave it running):
|
|
51
|
-
|
|
52
|
-
```bash
|
|
53
|
-
fengming gateway --port 18789
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
3. Put a minimal config in `~/.fengming/fengming.json`:
|
|
57
|
-
|
|
58
|
-
```json5
|
|
59
|
-
{
|
|
60
|
-
gateway: { mode: "local" },
|
|
61
|
-
channels: { whatsapp: { allowFrom: ["+15555550123"] } },
|
|
62
|
-
}
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
Now message the assistant number from your allowlisted phone.
|
|
66
|
-
|
|
67
|
-
When onboarding finishes, FengMing auto-opens the dashboard and prints a clean (non-tokenized) link. If the dashboard prompts for auth, paste the configured shared secret into Control UI settings. Onboarding uses a token by default (`gateway.auth.token`), but password auth works too if you switched `gateway.auth.mode` to `password`. To reopen later: `fengming dashboard`.
|
|
68
|
-
|
|
69
|
-
## Give the agent a workspace (AGENTS)
|
|
70
|
-
|
|
71
|
-
FengMing reads operating instructions and "memory" from its workspace directory.
|
|
72
|
-
|
|
73
|
-
By default, FengMing uses `~/.fengming/workspace` as the agent workspace, and will create it (plus starter `AGENTS.md`, `SOUL.md`, `TOOLS.md`, `IDENTITY.md`, `USER.md`, `HEARTBEAT.md`) automatically on setup/first agent run. `BOOTSTRAP.md` is only created when the workspace is brand new (it should not come back after you delete it). `MEMORY.md` is optional (not auto-created); when present, it is loaded for normal sessions. Subagent sessions only inject `AGENTS.md` and `TOOLS.md`.
|
|
74
|
-
|
|
75
|
-
<Tip>
|
|
76
|
-
Treat this folder like FengMing's memory and make it a git repo (ideally private) so your `AGENTS.md` and memory files are backed up. If git is installed, brand-new workspaces are auto-initialized.
|
|
77
|
-
</Tip>
|
|
78
|
-
|
|
79
|
-
```bash
|
|
80
|
-
fengming setup
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
Full workspace layout + backup guide: [Agent workspace](/concepts/agent-workspace)
|
|
84
|
-
Memory workflow: [Memory](/concepts/memory)
|
|
85
|
-
|
|
86
|
-
Optional: choose a different workspace with `agents.defaults.workspace` (supports `~`).
|
|
87
|
-
|
|
88
|
-
```json5
|
|
89
|
-
{
|
|
90
|
-
agents: {
|
|
91
|
-
defaults: {
|
|
92
|
-
workspace: "~/.fengming/workspace",
|
|
93
|
-
},
|
|
94
|
-
},
|
|
95
|
-
}
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
If you already ship your own workspace files from a repo, you can disable bootstrap file creation entirely:
|
|
99
|
-
|
|
100
|
-
```json5
|
|
101
|
-
{
|
|
102
|
-
agents: {
|
|
103
|
-
defaults: {
|
|
104
|
-
skipBootstrap: true,
|
|
105
|
-
},
|
|
106
|
-
},
|
|
107
|
-
}
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
## The config that turns it into "an assistant"
|
|
111
|
-
|
|
112
|
-
FengMing defaults to a good assistant setup, but you'll usually want to tune:
|
|
113
|
-
|
|
114
|
-
- persona/instructions in [`SOUL.md`](/concepts/soul)
|
|
115
|
-
- thinking defaults (if desired)
|
|
116
|
-
- heartbeats (once you trust it)
|
|
117
|
-
|
|
118
|
-
Example:
|
|
119
|
-
|
|
120
|
-
```json5
|
|
121
|
-
{
|
|
122
|
-
logging: { level: "info" },
|
|
123
|
-
agents: {
|
|
124
|
-
defaults: {
|
|
125
|
-
model: { primary: "anthropic/claude-opus-4-6" },
|
|
126
|
-
workspace: "~/.fengming/workspace",
|
|
127
|
-
thinkingDefault: "high",
|
|
128
|
-
timeoutSeconds: 1800,
|
|
129
|
-
// Start with 0; enable later.
|
|
130
|
-
heartbeat: { every: "0m" },
|
|
131
|
-
},
|
|
132
|
-
list: [
|
|
133
|
-
{
|
|
134
|
-
id: "main",
|
|
135
|
-
default: true,
|
|
136
|
-
groupChat: {
|
|
137
|
-
mentionPatterns: ["@fengming", "fengming"],
|
|
138
|
-
},
|
|
139
|
-
},
|
|
140
|
-
],
|
|
141
|
-
},
|
|
142
|
-
channels: {
|
|
143
|
-
whatsapp: {
|
|
144
|
-
allowFrom: ["+15555550123"],
|
|
145
|
-
groups: {
|
|
146
|
-
"*": { requireMention: true },
|
|
147
|
-
},
|
|
148
|
-
},
|
|
149
|
-
},
|
|
150
|
-
session: {
|
|
151
|
-
scope: "per-sender",
|
|
152
|
-
resetTriggers: ["/new", "/reset"],
|
|
153
|
-
reset: {
|
|
154
|
-
mode: "daily",
|
|
155
|
-
atHour: 4,
|
|
156
|
-
idleMinutes: 10080,
|
|
157
|
-
},
|
|
158
|
-
},
|
|
159
|
-
}
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
## Sessions and memory
|
|
163
|
-
|
|
164
|
-
- Session files: `~/.fengming/agents/<agentId>/sessions/{{SessionId}}.jsonl`
|
|
165
|
-
- Session metadata (token usage, last route, etc): `~/.fengming/agents/<agentId>/sessions/sessions.json` (legacy: `~/.fengming/sessions/sessions.json`)
|
|
166
|
-
- `/new` or `/reset` starts a fresh session for that chat (configurable via `resetTriggers`). If sent alone, FengMing acknowledges the reset without invoking the model.
|
|
167
|
-
- `/compact [instructions]` compacts the session context and reports the remaining context budget.
|
|
168
|
-
|
|
169
|
-
## Heartbeats (proactive mode)
|
|
170
|
-
|
|
171
|
-
By default, FengMing runs a heartbeat every 30 minutes with the prompt:
|
|
172
|
-
`Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK.`
|
|
173
|
-
Set `agents.defaults.heartbeat.every: "0m"` to disable.
|
|
174
|
-
|
|
175
|
-
- If `HEARTBEAT.md` exists but is effectively empty (only blank lines and markdown headers like `# Heading`), FengMing skips the heartbeat run to save API calls.
|
|
176
|
-
- If the file is missing, the heartbeat still runs and the model decides what to do.
|
|
177
|
-
- If the agent replies with `HEARTBEAT_OK` (optionally with short padding; see `agents.defaults.heartbeat.ackMaxChars`), FengMing suppresses outbound delivery for that heartbeat.
|
|
178
|
-
- By default, heartbeat delivery to DM-style `user:<id>` targets is allowed. Set `agents.defaults.heartbeat.directPolicy: "block"` to suppress direct-target delivery while keeping heartbeat runs active.
|
|
179
|
-
- Heartbeats run full agent turns - shorter intervals burn more tokens.
|
|
180
|
-
|
|
181
|
-
```json5
|
|
182
|
-
{
|
|
183
|
-
agents: {
|
|
184
|
-
defaults: {
|
|
185
|
-
heartbeat: { every: "30m" },
|
|
186
|
-
},
|
|
187
|
-
},
|
|
188
|
-
}
|
|
189
|
-
```
|
|
190
|
-
|
|
191
|
-
## Media in and out
|
|
192
|
-
|
|
193
|
-
Inbound attachments (images/audio/docs) can be surfaced to your command via templates:
|
|
194
|
-
|
|
195
|
-
- `{{MediaPath}}` (local temp file path)
|
|
196
|
-
- `{{MediaUrl}}` (pseudo-URL)
|
|
197
|
-
- `{{Transcript}}` (if audio transcription is enabled)
|
|
198
|
-
|
|
199
|
-
Outbound attachments from the agent: include `MEDIA:<path-or-url>` on its own line (no spaces). The directive must start the line as plain text, outside code fences and without Markdown wrappers such as bold or inline code. Example:
|
|
200
|
-
|
|
201
|
-
```
|
|
202
|
-
Here's the screenshot.
|
|
203
|
-
MEDIA:https://example.com/screenshot.png
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
FengMing extracts these and sends them as media alongside the text.
|
|
207
|
-
|
|
208
|
-
These forms are not attachment directives and are sent as normal text:
|
|
209
|
-
|
|
210
|
-
```md
|
|
211
|
-
**MEDIA:https://example.com/screenshot.png**
|
|
212
|
-
`MEDIA:https://example.com/screenshot.png`
|
|
213
|
-
Here is the screenshot: MEDIA:https://example.com/screenshot.png
|
|
214
|
-
```
|
|
215
|
-
|
|
216
|
-
Local-path behavior follows the same file-read trust model as the agent:
|
|
217
|
-
|
|
218
|
-
- If `tools.fs.workspaceOnly` is `true`, outbound `MEDIA:` local paths stay restricted to the FengMing temp root, the media cache, agent workspace paths, and sandbox-generated files.
|
|
219
|
-
- If `tools.fs.workspaceOnly` is `false`, outbound `MEDIA:` can use host-local files the agent is already allowed to read.
|
|
220
|
-
- Local paths can be absolute, workspace-relative, or home-relative with `~/`.
|
|
221
|
-
- Host-local sends still only allow media and safe document types (images, audio, video, PDF, and Office documents). Plain text and secret-like files are not treated as sendable media.
|
|
222
|
-
|
|
223
|
-
That means generated images/files outside the workspace can now send when your fs policy already allows those reads, without reopening arbitrary host-text attachment exfiltration.
|
|
224
|
-
|
|
225
|
-
## Operations checklist
|
|
226
|
-
|
|
227
|
-
```bash
|
|
228
|
-
fengming status # local status (creds, sessions, queued events)
|
|
229
|
-
fengming status --all # full diagnosis (read-only, pasteable)
|
|
230
|
-
fengming status --deep # asks the gateway for a live health probe with channel probes when supported
|
|
231
|
-
fengming health --json # gateway health snapshot (WS; default can return a fresh cached snapshot)
|
|
232
|
-
```
|
|
233
|
-
|
|
234
|
-
Logs live under `/tmp/fengming/` (default: `fengming-YYYY-MM-DD.log`).
|
|
235
|
-
|
|
236
|
-
## Next steps
|
|
237
|
-
|
|
238
|
-
- WebChat: [WebChat](/web/webchat)
|
|
239
|
-
- Gateway ops: [Gateway runbook](/gateway)
|
|
240
|
-
- Cron + wakeups: [Cron jobs](/automation/cron-jobs)
|
|
241
|
-
- macOS menu bar companion: [FengMing macOS app](/platforms/macos)
|
|
242
|
-
- iOS node app: [iOS app](/platforms/ios)
|
|
243
|
-
- Android node app: [Android app](/platforms/android)
|
|
244
|
-
- Windows status: [Windows (WSL2)](/platforms/windows)
|
|
245
|
-
- Linux status: [Linux app](/platforms/linux)
|
|
246
|
-
- Security: [Security](/gateway/security)
|
|
247
|
-
|
|
248
|
-
## Related
|
|
249
|
-
|
|
250
|
-
- [Getting started](/start/getting-started)
|
|
251
|
-
- [Setup](/start/setup)
|
|
252
|
-
- [Channels overview](/channels)
|