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
package/docs/cli/crestodian.md
DELETED
|
@@ -1,337 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
summary: "CLI reference and security model for Crestodian, the configless-safe setup and repair helper"
|
|
3
|
-
read_when:
|
|
4
|
-
- You run fengming with no command after setup and want to understand Crestodian
|
|
5
|
-
- You need a configless-safe way to inspect or repair FengMing
|
|
6
|
-
- You are designing or enabling message-channel rescue mode
|
|
7
|
-
title: "Crestodian"
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# `fengming crestodian`
|
|
11
|
-
|
|
12
|
-
Crestodian is FengMing's local setup, repair, and configuration helper. It is
|
|
13
|
-
designed to stay reachable when the normal agent path is broken.
|
|
14
|
-
|
|
15
|
-
Running `fengming` with no command starts classic onboarding first when the
|
|
16
|
-
active config file is missing or has no authored settings (empty or
|
|
17
|
-
metadata-only). After a config file has authored settings, running `fengming`
|
|
18
|
-
with no command starts Crestodian in an interactive terminal. Running
|
|
19
|
-
`fengming crestodian` starts the same helper explicitly.
|
|
20
|
-
|
|
21
|
-
## What Crestodian shows
|
|
22
|
-
|
|
23
|
-
On startup, interactive Crestodian opens the same TUI shell used by
|
|
24
|
-
`fengming tui`, with a Crestodian chat backend. The chat log starts with a short
|
|
25
|
-
greeting:
|
|
26
|
-
|
|
27
|
-
- when to start Crestodian
|
|
28
|
-
- the model or deterministic planner path Crestodian is actually using
|
|
29
|
-
- config validity and the default agent
|
|
30
|
-
- Gateway reachability from the first startup probe
|
|
31
|
-
- the next debug action Crestodian can take
|
|
32
|
-
|
|
33
|
-
It does not dump secrets or load plugin CLI commands just to start. The TUI
|
|
34
|
-
still provides the normal header, chat log, status line, footer, autocomplete,
|
|
35
|
-
and editor controls.
|
|
36
|
-
|
|
37
|
-
Use `status` for the detailed inventory with config path, docs/source paths,
|
|
38
|
-
local CLI probes, API-key presence, agents, model, and Gateway details.
|
|
39
|
-
|
|
40
|
-
Crestodian uses the same FengMing reference discovery as regular agents. In a Git checkout,
|
|
41
|
-
it points itself at local `docs/` and the local source tree. In an npm package install, it
|
|
42
|
-
uses the bundled package docs and links to
|
|
43
|
-
[https://github.com/fengming/fengming](https://github.com/fengming/fengming), with explicit
|
|
44
|
-
guidance to review source whenever the docs are not enough.
|
|
45
|
-
|
|
46
|
-
## Examples
|
|
47
|
-
|
|
48
|
-
```bash
|
|
49
|
-
fengming
|
|
50
|
-
fengming crestodian
|
|
51
|
-
fengming crestodian --json
|
|
52
|
-
fengming crestodian --message "models"
|
|
53
|
-
fengming crestodian --message "validate config"
|
|
54
|
-
fengming crestodian --message "setup workspace ~/Projects/work model openai/gpt-5.5" --yes
|
|
55
|
-
fengming crestodian --message "set default model openai/gpt-5.5" --yes
|
|
56
|
-
fengming onboard --modern
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
Inside the Crestodian TUI:
|
|
60
|
-
|
|
61
|
-
```text
|
|
62
|
-
status
|
|
63
|
-
health
|
|
64
|
-
doctor
|
|
65
|
-
doctor fix
|
|
66
|
-
validate config
|
|
67
|
-
setup
|
|
68
|
-
setup workspace ~/Projects/work model openai/gpt-5.5
|
|
69
|
-
config set gateway.port 19001
|
|
70
|
-
config set-ref gateway.auth.token env FENGMING_GATEWAY_TOKEN
|
|
71
|
-
gateway status
|
|
72
|
-
restart gateway
|
|
73
|
-
agents
|
|
74
|
-
create agent work workspace ~/Projects/work
|
|
75
|
-
models
|
|
76
|
-
set default model openai/gpt-5.5
|
|
77
|
-
plugins list
|
|
78
|
-
plugins search slack
|
|
79
|
-
plugin install clawhub:fengming-codex-app-server
|
|
80
|
-
plugin uninstall fengming-codex-app-server
|
|
81
|
-
talk to work agent
|
|
82
|
-
talk to agent for ~/Projects/work
|
|
83
|
-
audit
|
|
84
|
-
quit
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
## Safe startup
|
|
88
|
-
|
|
89
|
-
Crestodian's startup path is deliberately small. It can run when:
|
|
90
|
-
|
|
91
|
-
- `fengming.json` is missing
|
|
92
|
-
- `fengming.json` is invalid
|
|
93
|
-
- the Gateway is down
|
|
94
|
-
- plugin command registration is unavailable
|
|
95
|
-
- no agent has been configured yet
|
|
96
|
-
|
|
97
|
-
`fengming --help` and `fengming --version` still use the normal fast paths.
|
|
98
|
-
Noninteractive bare `fengming` exits with a short message instead of printing
|
|
99
|
-
root help. On a fresh install, the message points to non-interactive onboarding;
|
|
100
|
-
after setup, it points to one-shot Crestodian commands.
|
|
101
|
-
|
|
102
|
-
## Operations and approval
|
|
103
|
-
|
|
104
|
-
Crestodian uses typed operations instead of editing config ad hoc.
|
|
105
|
-
|
|
106
|
-
Read-only operations can run immediately:
|
|
107
|
-
|
|
108
|
-
- show overview
|
|
109
|
-
- list agents
|
|
110
|
-
- list installed plugins
|
|
111
|
-
- search ClawHub plugins
|
|
112
|
-
- show model/backend status
|
|
113
|
-
- run status or health checks
|
|
114
|
-
- check Gateway reachability
|
|
115
|
-
- run doctor without interactive fixes
|
|
116
|
-
- validate config
|
|
117
|
-
- show the audit-log path
|
|
118
|
-
|
|
119
|
-
Persistent operations require conversational approval in interactive mode unless
|
|
120
|
-
you pass `--yes` for a direct command:
|
|
121
|
-
|
|
122
|
-
- write config
|
|
123
|
-
- run `config set`
|
|
124
|
-
- set supported SecretRef values through `config set-ref`
|
|
125
|
-
- run setup/onboarding bootstrap
|
|
126
|
-
- change the default model
|
|
127
|
-
- start, stop, or restart the Gateway
|
|
128
|
-
- create agents
|
|
129
|
-
- install plugins from ClawHub or npm
|
|
130
|
-
- uninstall plugins
|
|
131
|
-
- run doctor repairs that rewrite config or state
|
|
132
|
-
|
|
133
|
-
Applied writes are recorded in:
|
|
134
|
-
|
|
135
|
-
```text
|
|
136
|
-
~/.fengming/audit/crestodian.jsonl
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
Discovery is not audited. Only applied operations and writes are logged.
|
|
140
|
-
|
|
141
|
-
`fengming onboard --modern` starts Crestodian as the modern onboarding preview.
|
|
142
|
-
Plain `fengming onboard` still runs classic onboarding.
|
|
143
|
-
|
|
144
|
-
## Setup bootstrap
|
|
145
|
-
|
|
146
|
-
`setup` is the chat-first onboarding bootstrap. It writes only through typed
|
|
147
|
-
config operations and asks for approval first.
|
|
148
|
-
|
|
149
|
-
```text
|
|
150
|
-
setup
|
|
151
|
-
setup workspace ~/Projects/work
|
|
152
|
-
setup workspace ~/Projects/work model openai/gpt-5.5
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
When no model is configured, setup selects the first usable backend in this
|
|
156
|
-
order and tells you what it chose:
|
|
157
|
-
|
|
158
|
-
- existing explicit model, if already configured
|
|
159
|
-
- `OPENAI_API_KEY` -> `openai/gpt-5.5`
|
|
160
|
-
- `ANTHROPIC_API_KEY` -> `anthropic/claude-opus-4-8`
|
|
161
|
-
- Claude Code CLI -> `claude-cli/claude-opus-4-8`
|
|
162
|
-
- Codex -> `openai/gpt-5.5` through the Codex app-server harness
|
|
163
|
-
|
|
164
|
-
If none are available, setup still writes the default workspace and leaves the
|
|
165
|
-
model unset. Install or log into Codex/Claude Code, or expose
|
|
166
|
-
`OPENAI_API_KEY`/`ANTHROPIC_API_KEY`, then run setup again.
|
|
167
|
-
|
|
168
|
-
## Model-Assisted Planner
|
|
169
|
-
|
|
170
|
-
Crestodian always starts in deterministic mode. For fuzzy commands that the
|
|
171
|
-
deterministic parser does not understand, local Crestodian can make one bounded
|
|
172
|
-
planner turn through FengMing's normal runtime paths. It first uses the
|
|
173
|
-
configured FengMing model. If no configured model is usable yet, it can fall
|
|
174
|
-
back to local runtimes already present on the machine:
|
|
175
|
-
|
|
176
|
-
- Claude Code CLI: `claude-cli/claude-opus-4-8`
|
|
177
|
-
- Codex app-server harness: `openai/gpt-5.5`
|
|
178
|
-
|
|
179
|
-
The model-assisted planner cannot mutate config directly. It must translate the
|
|
180
|
-
request into one of Crestodian's typed commands, then the normal approval and
|
|
181
|
-
audit rules apply. Crestodian prints the model it used and the interpreted
|
|
182
|
-
command before it runs anything. Configless fallback planner turns are
|
|
183
|
-
temporary, tool-disabled where the runtime supports it, and use a temporary
|
|
184
|
-
workspace/session.
|
|
185
|
-
|
|
186
|
-
Message-channel rescue mode does not use the model-assisted planner. Remote
|
|
187
|
-
rescue stays deterministic so a broken or compromised normal agent path cannot
|
|
188
|
-
be used as a config editor.
|
|
189
|
-
|
|
190
|
-
## Switching to an agent
|
|
191
|
-
|
|
192
|
-
Use a natural-language selector to leave Crestodian and open the normal TUI:
|
|
193
|
-
|
|
194
|
-
```text
|
|
195
|
-
talk to agent
|
|
196
|
-
talk to work agent
|
|
197
|
-
switch to main agent
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
`fengming tui`, `fengming chat`, and `fengming terminal` still open the normal
|
|
201
|
-
agent TUI directly. They do not start Crestodian.
|
|
202
|
-
|
|
203
|
-
After switching into the normal TUI, use `/crestodian` to return to Crestodian.
|
|
204
|
-
You can include a follow-up request:
|
|
205
|
-
|
|
206
|
-
```text
|
|
207
|
-
/crestodian
|
|
208
|
-
/crestodian restart gateway
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
Agent switches inside the TUI leave a breadcrumb that `/crestodian` is available.
|
|
212
|
-
|
|
213
|
-
## Message rescue mode
|
|
214
|
-
|
|
215
|
-
Message rescue mode is the message-channel entrypoint for Crestodian. It is for
|
|
216
|
-
the case where your normal agent is dead, but a trusted channel such as WhatsApp
|
|
217
|
-
still receives commands.
|
|
218
|
-
|
|
219
|
-
Supported text command:
|
|
220
|
-
|
|
221
|
-
- `/crestodian <request>`
|
|
222
|
-
|
|
223
|
-
Operator flow:
|
|
224
|
-
|
|
225
|
-
```text
|
|
226
|
-
You, in a trusted owner DM: /crestodian status
|
|
227
|
-
FengMing: Crestodian rescue mode. Gateway reachable: no. Config valid: no.
|
|
228
|
-
You: /crestodian restart gateway
|
|
229
|
-
FengMing: Plan: restart the Gateway. Reply /crestodian yes to apply.
|
|
230
|
-
You: /crestodian yes
|
|
231
|
-
FengMing: Applied. Audit entry written.
|
|
232
|
-
```
|
|
233
|
-
|
|
234
|
-
Agent creation can also be queued from the local prompt or rescue mode:
|
|
235
|
-
|
|
236
|
-
```text
|
|
237
|
-
create agent work workspace ~/Projects/work model openai/gpt-5.5
|
|
238
|
-
/crestodian create agent work workspace ~/Projects/work
|
|
239
|
-
```
|
|
240
|
-
|
|
241
|
-
Remote rescue mode is an admin surface. It must be treated like remote config
|
|
242
|
-
repair, not like normal chat.
|
|
243
|
-
|
|
244
|
-
Security contract for remote rescue:
|
|
245
|
-
|
|
246
|
-
- Disabled when sandboxing is active. If an agent/session is sandboxed,
|
|
247
|
-
Crestodian must refuse remote rescue and explain that local CLI repair is
|
|
248
|
-
required.
|
|
249
|
-
- Default effective state is `auto`: allow remote rescue only in trusted YOLO
|
|
250
|
-
operation, where the runtime already has unsandboxed local authority.
|
|
251
|
-
- Require an explicit owner identity. Rescue must not accept wildcard sender
|
|
252
|
-
rules, open group policy, unauthenticated webhooks, or anonymous channels.
|
|
253
|
-
- Owner DMs only by default. Group/channel rescue requires explicit opt-in.
|
|
254
|
-
- Plugin search and list are read-only. Plugin install is local-only by default
|
|
255
|
-
because it downloads executable code. Plugin uninstall can be allowed as an
|
|
256
|
-
approved repair operation when rescue policy permits persistent writes.
|
|
257
|
-
- Remote rescue cannot open the local TUI or switch into an interactive agent
|
|
258
|
-
session. Use local `fengming` for agent handoff.
|
|
259
|
-
- Persistent writes still require approval, even in rescue mode.
|
|
260
|
-
- Audit every applied rescue operation. Message-channel rescue records channel,
|
|
261
|
-
account, sender, and source-address metadata. Config-mutating operations also
|
|
262
|
-
record config hashes before and after.
|
|
263
|
-
- Never echo secrets. SecretRef inspection should report availability, not
|
|
264
|
-
values.
|
|
265
|
-
- If the Gateway is alive, prefer Gateway typed operations. If the Gateway is
|
|
266
|
-
dead, use only the minimal local repair surface that does not depend on the
|
|
267
|
-
normal agent loop.
|
|
268
|
-
|
|
269
|
-
Config shape:
|
|
270
|
-
|
|
271
|
-
```jsonc
|
|
272
|
-
{
|
|
273
|
-
"crestodian": {
|
|
274
|
-
"rescue": {
|
|
275
|
-
"enabled": "auto",
|
|
276
|
-
"ownerDmOnly": true,
|
|
277
|
-
},
|
|
278
|
-
},
|
|
279
|
-
}
|
|
280
|
-
```
|
|
281
|
-
|
|
282
|
-
`enabled` should accept:
|
|
283
|
-
|
|
284
|
-
- `"auto"`: default. Allow only when the effective runtime is YOLO and
|
|
285
|
-
sandboxing is off.
|
|
286
|
-
- `false`: never allow message-channel rescue.
|
|
287
|
-
- `true`: explicitly allow rescue when the owner/channel checks pass. This
|
|
288
|
-
still must not bypass the sandboxing denial.
|
|
289
|
-
|
|
290
|
-
The default `"auto"` YOLO posture is:
|
|
291
|
-
|
|
292
|
-
- sandbox mode resolves to `off`
|
|
293
|
-
- `tools.exec.security` resolves to `full`
|
|
294
|
-
- `tools.exec.ask` resolves to `off`
|
|
295
|
-
|
|
296
|
-
Remote rescue is covered by the Docker lane:
|
|
297
|
-
|
|
298
|
-
```bash
|
|
299
|
-
pnpm test:docker:crestodian-rescue
|
|
300
|
-
```
|
|
301
|
-
|
|
302
|
-
Configless local planner fallback is covered by:
|
|
303
|
-
|
|
304
|
-
```bash
|
|
305
|
-
pnpm test:docker:crestodian-planner
|
|
306
|
-
```
|
|
307
|
-
|
|
308
|
-
An opt-in live channel command-surface smoke checks `/crestodian status` plus a
|
|
309
|
-
persistent approval roundtrip through the rescue handler:
|
|
310
|
-
|
|
311
|
-
```bash
|
|
312
|
-
pnpm test:live:crestodian-rescue-channel
|
|
313
|
-
```
|
|
314
|
-
|
|
315
|
-
Configless setup through explicit Crestodian commands is covered by:
|
|
316
|
-
|
|
317
|
-
```bash
|
|
318
|
-
pnpm test:docker:crestodian-first-run
|
|
319
|
-
```
|
|
320
|
-
|
|
321
|
-
That lane starts with an empty state dir, verifies the modern onboard Crestodian
|
|
322
|
-
entrypoint, sets the default model, creates an additional agent, configures
|
|
323
|
-
Discord through a plugin enablement plus token SecretRef, validates config, and
|
|
324
|
-
checks the audit log. QA Lab also has a repo-backed scenario for the same Ring 0
|
|
325
|
-
flow:
|
|
326
|
-
|
|
327
|
-
```bash
|
|
328
|
-
pnpm fengming qa suite --scenario crestodian-ring-zero-setup
|
|
329
|
-
```
|
|
330
|
-
|
|
331
|
-
## Related
|
|
332
|
-
|
|
333
|
-
- [CLI reference](/cli)
|
|
334
|
-
- [Doctor](/cli/doctor)
|
|
335
|
-
- [TUI](/cli/tui)
|
|
336
|
-
- [Sandbox](/cli/sandbox)
|
|
337
|
-
- [Security](/cli/security)
|
package/docs/cli/cron.md
DELETED
|
@@ -1,304 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
summary: "CLI reference for `fengming cron` (schedule and run background jobs)"
|
|
3
|
-
read_when:
|
|
4
|
-
- You want scheduled jobs and wakeups
|
|
5
|
-
- You are debugging cron execution and logs
|
|
6
|
-
title: "Cron"
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# `fengming cron`
|
|
10
|
-
|
|
11
|
-
Manage cron jobs for the Gateway scheduler.
|
|
12
|
-
|
|
13
|
-
<Tip>
|
|
14
|
-
Run `fengming cron --help` for the full command surface. See [Cron jobs](/automation/cron-jobs) for the conceptual guide.
|
|
15
|
-
</Tip>
|
|
16
|
-
|
|
17
|
-
## Create jobs quickly
|
|
18
|
-
|
|
19
|
-
`fengming cron create` is an alias for `fengming cron add`. For new jobs, put the schedule first and the prompt second:
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
fengming cron create "0 7 * * *" \
|
|
23
|
-
"Summarize overnight updates." \
|
|
24
|
-
--name "Morning brief" \
|
|
25
|
-
--agent ops
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
Use `--webhook <url>` when the job should POST the finished payload instead of delivering to a chat target:
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
fengming cron create "0 18 * * 1-5" \
|
|
32
|
-
"Summarize today's deploys as JSON." \
|
|
33
|
-
--name "Deploy digest" \
|
|
34
|
-
--webhook "https://example.invalid/fengming/cron"
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
## Sessions
|
|
38
|
-
|
|
39
|
-
`--session` accepts `main`, `isolated`, `current`, or `session:<id>`.
|
|
40
|
-
|
|
41
|
-
<AccordionGroup>
|
|
42
|
-
<Accordion title="Session keys">
|
|
43
|
-
- `main` binds to the agent's main session.
|
|
44
|
-
- `isolated` creates a fresh transcript and session id for each run.
|
|
45
|
-
- `current` binds to the active session at creation time.
|
|
46
|
-
- `session:<id>` pins to an explicit persistent session key.
|
|
47
|
-
|
|
48
|
-
</Accordion>
|
|
49
|
-
<Accordion title="Isolated session semantics">
|
|
50
|
-
Isolated runs reset ambient conversation context. Channel and group routing, send/queue policy, elevation, origin, and ACP runtime binding are reset for the new run. Safe preferences and explicit user-selected model or auth overrides can carry across runs.
|
|
51
|
-
</Accordion>
|
|
52
|
-
</AccordionGroup>
|
|
53
|
-
|
|
54
|
-
## Delivery
|
|
55
|
-
|
|
56
|
-
`fengming cron list` and `fengming cron show <job-id>` preview the resolved delivery route. For `channel: "last"`, the preview shows whether the route resolved from the main or current session, or will fail closed.
|
|
57
|
-
|
|
58
|
-
Provider-prefixed targets can disambiguate unresolved announce channels. For example, `to: "telegram:123"` selects Telegram when `delivery.channel` is omitted or `last`. Only prefixes advertised by the loaded plugin are provider selectors. If `delivery.channel` is explicit, the prefix must match that channel; `channel: "whatsapp"` with `to: "telegram:123"` is rejected. Service prefixes such as `imessage:` and `sms:` remain channel-owned target syntax.
|
|
59
|
-
|
|
60
|
-
<Note>
|
|
61
|
-
Isolated `cron add` jobs default to `--announce` delivery. Use `--no-deliver` to keep output internal. `--deliver` remains as a deprecated alias for `--announce`.
|
|
62
|
-
</Note>
|
|
63
|
-
|
|
64
|
-
### Delivery ownership
|
|
65
|
-
|
|
66
|
-
Isolated cron chat delivery is shared between the agent and the runner:
|
|
67
|
-
|
|
68
|
-
- The agent can send directly using the `message` tool when a chat route is available.
|
|
69
|
-
- `announce` fallback-delivers the final reply only when the agent did not send directly to the resolved target.
|
|
70
|
-
- `webhook` posts the finished payload to a URL.
|
|
71
|
-
- `none` disables runner fallback delivery.
|
|
72
|
-
|
|
73
|
-
Use `cron add|create --webhook <url>` or `cron edit <job-id> --webhook <url>` to set webhook delivery. Do not combine `--webhook` with chat delivery flags such as `--announce`, `--no-deliver`, `--channel`, `--to`, `--thread-id`, or `--account`.
|
|
74
|
-
|
|
75
|
-
`--announce` is runner fallback delivery for the final reply. `--no-deliver` disables that fallback but does not remove the agent's `message` tool when a chat route is available.
|
|
76
|
-
|
|
77
|
-
Reminders created from an active chat preserve the live chat delivery target for fallback announce delivery. Internal session keys may be lowercase; do not use them as a source of truth for case-sensitive provider IDs such as Matrix room IDs.
|
|
78
|
-
|
|
79
|
-
### Failure delivery
|
|
80
|
-
|
|
81
|
-
Failure notifications resolve in this order:
|
|
82
|
-
|
|
83
|
-
1. `delivery.failureDestination` on the job.
|
|
84
|
-
2. Global `cron.failureDestination`.
|
|
85
|
-
3. The job's primary announce target (when no explicit failure destination is set).
|
|
86
|
-
|
|
87
|
-
<Note>
|
|
88
|
-
Main-session jobs may only use `delivery.failureDestination` when primary delivery mode is `webhook`. Isolated jobs accept it in all modes.
|
|
89
|
-
</Note>
|
|
90
|
-
|
|
91
|
-
Note: isolated cron runs treat run-level agent failures as job errors even when
|
|
92
|
-
no reply payload is produced, so model/provider failures still increment error
|
|
93
|
-
counters and trigger failure notifications.
|
|
94
|
-
|
|
95
|
-
If an isolated run times out before the first model request, `fengming cron show`
|
|
96
|
-
and `fengming cron runs` include a phase-specific error such as
|
|
97
|
-
`setup timed out before runner start` or
|
|
98
|
-
`stalled before first model call (last phase: context-engine)`.
|
|
99
|
-
For CLI-backed providers, the pre-model watchdog stays active until the external
|
|
100
|
-
CLI turn starts, so session lookup, hook, auth, prompt, and CLI setup stalls are
|
|
101
|
-
reported as pre-model cron failures.
|
|
102
|
-
|
|
103
|
-
## Scheduling
|
|
104
|
-
|
|
105
|
-
### One-shot jobs
|
|
106
|
-
|
|
107
|
-
`--at <datetime>` schedules a one-shot run. Offset-less datetimes are treated as UTC unless you also pass `--tz <iana>`, which interprets the wall-clock time in the given timezone.
|
|
108
|
-
|
|
109
|
-
<Note>
|
|
110
|
-
One-shot jobs delete after success by default. Use `--keep-after-run` to preserve them.
|
|
111
|
-
</Note>
|
|
112
|
-
|
|
113
|
-
### Recurring jobs
|
|
114
|
-
|
|
115
|
-
Recurring jobs use exponential retry backoff after consecutive errors: 30s, 1m, 5m, 15m, 60m. The schedule returns to normal after the next successful run.
|
|
116
|
-
|
|
117
|
-
Skipped runs are tracked separately from execution errors. They do not affect retry backoff, but `fengming cron edit <job-id> --failure-alert-include-skipped` can opt failure alerts into repeated skipped-run notifications.
|
|
118
|
-
|
|
119
|
-
For isolated jobs that target a local configured model provider, cron runs a lightweight provider preflight before starting the agent turn. Loopback, private-network, and `.local` `api: "ollama"` providers are probed at `/api/tags`; local OpenAI-compatible providers such as vLLM, SGLang, and LM Studio are probed at `/models`. If the endpoint is unreachable, the run is recorded as `skipped` and retried on a later schedule; matching dead endpoints are cached for 5 minutes to avoid many jobs hammering the same local server.
|
|
120
|
-
|
|
121
|
-
Note: cron job definitions live in `jobs.json`, while pending runtime state lives in `jobs-state.json`. If `jobs.json` is edited externally, the Gateway reloads changed schedules and clears stale pending slots; formatting-only rewrites do not clear the pending slot. Malformed job rows are removed from active `jobs.json` at load time after their raw contents are copied to `jobs-quarantine.json`.
|
|
122
|
-
|
|
123
|
-
### Manual runs
|
|
124
|
-
|
|
125
|
-
`fengming cron run <job-id>` force-runs by default and returns as soon as the manual run is queued. Successful responses include `{ ok: true, enqueued: true, runId }`. Use the returned `runId` to inspect the later result:
|
|
126
|
-
|
|
127
|
-
```bash
|
|
128
|
-
fengming cron run <job-id>
|
|
129
|
-
fengming cron runs --id <job-id> --run-id <run-id>
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
Add `--wait` when a script should block until that exact queued run records a terminal status:
|
|
133
|
-
|
|
134
|
-
```bash
|
|
135
|
-
fengming cron run <job-id> --wait --wait-timeout 10m --poll-interval 2s
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
With `--wait`, the CLI still calls `cron.run` first, then polls `cron.runs` for the returned `runId`. The command exits `0` only when the run finishes with status `ok`. It exits non-zero when the run finishes with `error` or `skipped`, when the Gateway response does not include a `runId`, or when `--wait-timeout` expires. `--poll-interval` must be greater than zero.
|
|
139
|
-
|
|
140
|
-
<Note>
|
|
141
|
-
Use `--due` when you want the manual command to run only if the job is currently due. If `--due --wait` does not enqueue a run, the command returns the normal non-run response instead of polling.
|
|
142
|
-
</Note>
|
|
143
|
-
|
|
144
|
-
## Models
|
|
145
|
-
|
|
146
|
-
`cron add|edit --model <ref>` selects an allowed model for the job.
|
|
147
|
-
|
|
148
|
-
<Warning>
|
|
149
|
-
If the model is not allowed or cannot be resolved, cron fails the run with an explicit validation error instead of falling back to the job's agent or default model selection.
|
|
150
|
-
</Warning>
|
|
151
|
-
|
|
152
|
-
Cron `--model` is a **job primary**, not a chat-session `/model` override. That means:
|
|
153
|
-
|
|
154
|
-
- Configured model fallbacks still apply when the selected job model fails.
|
|
155
|
-
- Per-job payload `fallbacks` replaces the configured fallback list when present.
|
|
156
|
-
- An empty per-job fallback list (`fallbacks: []` in the job payload/API) makes the cron run strict.
|
|
157
|
-
- When a job has `--model` but no fallback list is configured, FengMing passes an explicit empty fallback override so the agent primary is not appended as a hidden retry target.
|
|
158
|
-
- Local-provider preflight checks walk configured fallbacks before marking a cron run `skipped`.
|
|
159
|
-
|
|
160
|
-
`fengming doctor` reports jobs that already have `payload.model` set, including provider namespace counts and mismatches against `agents.defaults.model`. Use that check when auth, provider, or billing behavior looks different between live chat and scheduled jobs.
|
|
161
|
-
|
|
162
|
-
### Isolated cron model precedence
|
|
163
|
-
|
|
164
|
-
Isolated cron resolves the active model in this order:
|
|
165
|
-
|
|
166
|
-
1. Gmail-hook override.
|
|
167
|
-
2. Per-job `--model`.
|
|
168
|
-
3. Stored cron-session model override (when the user selected one).
|
|
169
|
-
4. Agent or default model selection.
|
|
170
|
-
|
|
171
|
-
### Fast mode
|
|
172
|
-
|
|
173
|
-
Isolated cron fast mode follows the resolved live model selection. Model config `params.fastMode` applies by default, but a stored session `fastMode` override still wins over config.
|
|
174
|
-
|
|
175
|
-
### Live model switch retries
|
|
176
|
-
|
|
177
|
-
If an isolated run throws `LiveSessionModelSwitchError`, cron persists the switched provider and model (and switched auth profile override when present) for the active run before retrying. The outer retry loop is bounded to two switch retries after the initial attempt, then aborts instead of looping forever.
|
|
178
|
-
|
|
179
|
-
## Run output and denials
|
|
180
|
-
|
|
181
|
-
### Stale acknowledgement suppression
|
|
182
|
-
|
|
183
|
-
Isolated cron turns suppress stale acknowledgement-only replies. If the first result is just an interim status update and no descendant subagent run is responsible for the eventual answer, cron re-prompts once for the real result before delivery.
|
|
184
|
-
|
|
185
|
-
### Silent token suppression
|
|
186
|
-
|
|
187
|
-
If an isolated cron run returns only the silent token (`NO_REPLY` or `no_reply`), cron suppresses both direct outbound delivery and the fallback queued summary path, so nothing is posted back to chat.
|
|
188
|
-
|
|
189
|
-
### Structured denials
|
|
190
|
-
|
|
191
|
-
Isolated cron runs use structured execution-denial metadata from the embedded run as the authoritative denial signal. They also honor node-host `UNAVAILABLE` wrappers when the nested structured error message starts with `SYSTEM_RUN_DENIED` or `INVALID_REQUEST`.
|
|
192
|
-
|
|
193
|
-
Cron does not classify final-output prose or approval-looking refusal phrases as denials unless the embedded run also provides structured denial metadata, so ordinary assistant text is not treated as a blocked command.
|
|
194
|
-
|
|
195
|
-
`cron list` and run history surface the denial reason instead of reporting a blocked command as `ok`.
|
|
196
|
-
|
|
197
|
-
## Retention
|
|
198
|
-
|
|
199
|
-
Retention and pruning are controlled in config:
|
|
200
|
-
|
|
201
|
-
- `cron.sessionRetention` (default `24h`) prunes completed isolated run sessions.
|
|
202
|
-
- `cron.runLog.maxBytes` and `cron.runLog.keepLines` prune `~/.fengming/cron/runs/<jobId>.jsonl`.
|
|
203
|
-
|
|
204
|
-
## Migrating older jobs
|
|
205
|
-
|
|
206
|
-
<Note>
|
|
207
|
-
If you have cron jobs from before the current delivery and store format, run `fengming doctor --fix`. Doctor normalizes legacy cron fields (`jobId`, `schedule.cron`, top-level delivery fields including legacy `threadId`, payload `provider` delivery aliases) and migrates simple `notify: true` webhook fallback jobs to explicit webhook delivery when `cron.webhook` is configured.
|
|
208
|
-
</Note>
|
|
209
|
-
|
|
210
|
-
## Common edits
|
|
211
|
-
|
|
212
|
-
Update delivery settings without changing the message:
|
|
213
|
-
|
|
214
|
-
```bash
|
|
215
|
-
fengming cron edit <job-id> --announce --channel telegram --to "123456789"
|
|
216
|
-
```
|
|
217
|
-
|
|
218
|
-
Disable delivery for an isolated job:
|
|
219
|
-
|
|
220
|
-
```bash
|
|
221
|
-
fengming cron edit <job-id> --no-deliver
|
|
222
|
-
```
|
|
223
|
-
|
|
224
|
-
Enable lightweight bootstrap context for an isolated job:
|
|
225
|
-
|
|
226
|
-
```bash
|
|
227
|
-
fengming cron edit <job-id> --light-context
|
|
228
|
-
```
|
|
229
|
-
|
|
230
|
-
Announce to a specific channel:
|
|
231
|
-
|
|
232
|
-
```bash
|
|
233
|
-
fengming cron edit <job-id> --announce --channel slack --to "channel:C1234567890"
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
Announce to a Telegram forum topic:
|
|
237
|
-
|
|
238
|
-
```bash
|
|
239
|
-
fengming cron edit <job-id> --announce --channel telegram --to "-1001234567890" --thread-id 42
|
|
240
|
-
```
|
|
241
|
-
|
|
242
|
-
Create an isolated job with lightweight bootstrap context:
|
|
243
|
-
|
|
244
|
-
```bash
|
|
245
|
-
fengming cron create "0 7 * * *" \
|
|
246
|
-
"Summarize overnight updates." \
|
|
247
|
-
--name "Lightweight morning brief" \
|
|
248
|
-
--session isolated \
|
|
249
|
-
--light-context \
|
|
250
|
-
--no-deliver
|
|
251
|
-
```
|
|
252
|
-
|
|
253
|
-
`--light-context` applies to isolated agent-turn jobs only. For cron runs, lightweight mode keeps bootstrap context empty instead of injecting the full workspace bootstrap set.
|
|
254
|
-
|
|
255
|
-
## Common admin commands
|
|
256
|
-
|
|
257
|
-
Manual run and inspection:
|
|
258
|
-
|
|
259
|
-
```bash
|
|
260
|
-
fengming cron list
|
|
261
|
-
fengming cron list --agent ops
|
|
262
|
-
fengming cron get <job-id>
|
|
263
|
-
fengming cron show <job-id>
|
|
264
|
-
fengming cron run <job-id>
|
|
265
|
-
fengming cron run <job-id> --due
|
|
266
|
-
fengming cron run <job-id> --wait --wait-timeout 10m
|
|
267
|
-
fengming cron run <job-id> --wait --wait-timeout 10m --poll-interval 2s
|
|
268
|
-
fengming cron runs --id <job-id> --limit 50
|
|
269
|
-
fengming cron runs --id <job-id> --run-id <run-id>
|
|
270
|
-
```
|
|
271
|
-
|
|
272
|
-
`fengming cron list` shows all matching jobs by default. Pass `--agent <id>` to show only jobs whose effective normalized agent id matches; jobs without a stored agent id count as the configured default agent.
|
|
273
|
-
|
|
274
|
-
`fengming cron get <job-id>` returns the stored job JSON directly. Use `cron show <job-id>` when you want the human-readable view with delivery-route preview.
|
|
275
|
-
|
|
276
|
-
`cron list --json` and `cron show <job-id> --json` include a top-level `status` field on each job, computed from `enabled`, `state.runningAtMs`, and `state.lastRunStatus`. Values: `disabled`, `running`, `ok`, `error`, `skipped`, or `idle`. This mirrors the human-readable status column so external tooling can read job state without re-deriving it.
|
|
277
|
-
|
|
278
|
-
`cron runs` entries include delivery diagnostics with the intended cron target, the resolved target, message-tool sends, fallback use, and delivered state.
|
|
279
|
-
|
|
280
|
-
Agent and session retargeting:
|
|
281
|
-
|
|
282
|
-
```bash
|
|
283
|
-
fengming cron edit <job-id> --agent ops
|
|
284
|
-
fengming cron edit <job-id> --clear-agent
|
|
285
|
-
fengming cron edit <job-id> --session current
|
|
286
|
-
fengming cron edit <job-id> --session "session:daily-brief"
|
|
287
|
-
```
|
|
288
|
-
|
|
289
|
-
`fengming cron add` warns when `--agent` is omitted on agent-turn jobs and falls back to the default agent (`main`). Pass `--agent <id>` at create time to pin a specific agent.
|
|
290
|
-
|
|
291
|
-
Delivery tweaks:
|
|
292
|
-
|
|
293
|
-
```bash
|
|
294
|
-
fengming cron edit <job-id> --announce --channel slack --to "channel:C1234567890"
|
|
295
|
-
fengming cron edit <job-id> --webhook "https://example.invalid/fengming/cron"
|
|
296
|
-
fengming cron edit <job-id> --best-effort-deliver
|
|
297
|
-
fengming cron edit <job-id> --no-best-effort-deliver
|
|
298
|
-
fengming cron edit <job-id> --no-deliver
|
|
299
|
-
```
|
|
300
|
-
|
|
301
|
-
## Related
|
|
302
|
-
|
|
303
|
-
- [CLI reference](/cli)
|
|
304
|
-
- [Scheduled tasks](/automation/cron-jobs)
|