@symerian/symi 3.0.21 → 3.0.22
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 +3 -3
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/package.json +1 -1
- package/docs/.i18n/README.md +0 -31
- package/docs/.i18n/glossary.ja-JP.json +0 -14
- package/docs/.i18n/glossary.zh-CN.json +0 -210
- package/docs/.i18n/ja-JP.tm.jsonl +0 -0
- package/docs/.i18n/zh-CN.tm.jsonl +0 -1303
- package/docs/CNAME +0 -1
- package/docs/assets/install-script.svg +0 -1
- package/docs/assets/macos-onboarding/01-macos-warning.jpeg +0 -0
- package/docs/assets/macos-onboarding/02-local-networks.jpeg +0 -0
- package/docs/assets/macos-onboarding/03-security-notice.png +0 -0
- package/docs/assets/macos-onboarding/04-choose-gateway.png +0 -0
- package/docs/assets/macos-onboarding/05-permissions.png +0 -0
- package/docs/assets/pixel-symi.svg +0 -60
- package/docs/assets/showcase/agents-ui.jpg +0 -0
- package/docs/assets/showcase/bambu-cli.png +0 -0
- package/docs/assets/showcase/codexmonitor.png +0 -0
- package/docs/assets/showcase/gohome-grafana.png +0 -0
- package/docs/assets/showcase/ios-testflight.jpg +0 -0
- package/docs/assets/showcase/oura-health.png +0 -0
- package/docs/assets/showcase/padel-cli.svg +0 -11
- package/docs/assets/showcase/padel-screenshot.jpg +0 -0
- package/docs/assets/showcase/papla-tts.jpg +0 -0
- package/docs/assets/showcase/pr-review-telegram.jpg +0 -0
- package/docs/assets/showcase/roborock-screenshot.jpg +0 -0
- package/docs/assets/showcase/roborock-status.svg +0 -13
- package/docs/assets/showcase/roof-camera-sky.jpg +0 -0
- package/docs/assets/showcase/snag.png +0 -0
- package/docs/assets/showcase/tesco-shop.jpg +0 -0
- package/docs/assets/showcase/wienerlinien.png +0 -0
- package/docs/assets/showcase/wine-cellar-skill.jpg +0 -0
- package/docs/assets/showcase/winix-air-purifier.jpg +0 -0
- package/docs/assets/showcase/xuezh-pronunciation.jpeg +0 -0
- package/docs/assets/sponsors/blacksmith.svg +0 -14
- package/docs/assets/sponsors/openai.svg +0 -3
- package/docs/assets/symi-logo-text-dark.png +0 -0
- package/docs/assets/symi-logo-text.png +0 -0
- package/docs/automation/auth-monitoring.md +0 -44
- package/docs/automation/cron-jobs.md +0 -540
- package/docs/automation/cron-vs-heartbeat.md +0 -286
- package/docs/automation/gmail-pubsub.md +0 -256
- package/docs/automation/hooks.md +0 -998
- package/docs/automation/poll.md +0 -61
- package/docs/automation/troubleshooting.md +0 -122
- package/docs/automation/webhook.md +0 -213
- package/docs/brave-search.md +0 -41
- package/docs/capabilities.md +0 -151
- package/docs/channels/bluebubbles.md +0 -346
- package/docs/channels/broadcast-groups.md +0 -441
- package/docs/channels/channel-routing.md +0 -112
- package/docs/channels/feishu.md +0 -586
- package/docs/channels/googlechat.md +0 -253
- package/docs/channels/grammy.md +0 -31
- package/docs/channels/group-messages.md +0 -82
- package/docs/channels/groups.md +0 -364
- package/docs/channels/imessage.md +0 -366
- package/docs/channels/index.md +0 -46
- package/docs/channels/irc.md +0 -234
- package/docs/channels/line.md +0 -186
- package/docs/channels/location.md +0 -56
- package/docs/channels/matrix.md +0 -300
- package/docs/channels/mattermost.md +0 -158
- package/docs/channels/msteams.md +0 -769
- package/docs/channels/nextcloud-talk.md +0 -138
- package/docs/channels/nostr.md +0 -233
- package/docs/channels/pairing.md +0 -100
- package/docs/channels/signal.md +0 -322
- package/docs/channels/slack.md +0 -510
- package/docs/channels/telegram.md +0 -748
- package/docs/channels/tlon.md +0 -148
- package/docs/channels/troubleshooting.md +0 -110
- package/docs/channels/twitch.md +0 -379
- package/docs/channels/whatsapp.md +0 -444
- package/docs/channels/zalo.md +0 -192
- package/docs/channels/zalouser.md +0 -140
- package/docs/ci.md +0 -50
- package/docs/cli/acp.md +0 -182
- package/docs/cli/agent.md +0 -24
- package/docs/cli/agents.md +0 -75
- package/docs/cli/approvals.md +0 -50
- package/docs/cli/browser.md +0 -107
- package/docs/cli/channels.md +0 -73
- package/docs/cli/config.md +0 -50
- package/docs/cli/configure.md +0 -32
- package/docs/cli/cron.md +0 -44
- package/docs/cli/dashboard.md +0 -16
- package/docs/cli/devices.md +0 -73
- package/docs/cli/directory.md +0 -62
- package/docs/cli/dns.md +0 -23
- package/docs/cli/docs.md +0 -15
- package/docs/cli/doctor.md +0 -41
- package/docs/cli/gateway.md +0 -202
- package/docs/cli/health.md +0 -21
- package/docs/cli/hooks.md +0 -313
- package/docs/cli/index.md +0 -1029
- package/docs/cli/logs.md +0 -28
- package/docs/cli/memory.md +0 -45
- package/docs/cli/message.md +0 -214
- package/docs/cli/models.md +0 -79
- package/docs/cli/node.md +0 -112
- package/docs/cli/nodes.md +0 -73
- package/docs/cli/onboard.md +0 -76
- package/docs/cli/pairing.md +0 -21
- package/docs/cli/plugins.md +0 -92
- package/docs/cli/reset.md +0 -17
- package/docs/cli/sandbox.md +0 -152
- package/docs/cli/security.md +0 -64
- package/docs/cli/sessions.md +0 -16
- package/docs/cli/setup.md +0 -29
- package/docs/cli/skills.md +0 -26
- package/docs/cli/status.md +0 -25
- package/docs/cli/system.md +0 -60
- package/docs/cli/tui.md +0 -23
- package/docs/cli/uninstall.md +0 -17
- package/docs/cli/update.md +0 -98
- package/docs/cli/voicecall.md +0 -34
- package/docs/cli/webhooks.md +0 -25
- package/docs/concepts/agent-loop.md +0 -148
- package/docs/concepts/agent-workspace.md +0 -234
- package/docs/concepts/agent.md +0 -123
- package/docs/concepts/architecture.md +0 -135
- package/docs/concepts/compaction.md +0 -61
- package/docs/concepts/context.md +0 -161
- package/docs/concepts/features.md +0 -51
- package/docs/concepts/markdown-formatting.md +0 -128
- package/docs/concepts/memory.md +0 -729
- package/docs/concepts/messages.md +0 -153
- package/docs/concepts/model-failover.md +0 -149
- package/docs/concepts/model-providers.md +0 -424
- package/docs/concepts/models.md +0 -208
- package/docs/concepts/multi-agent.md +0 -521
- package/docs/concepts/oauth.md +0 -145
- package/docs/concepts/presence.md +0 -102
- package/docs/concepts/queue.md +0 -86
- package/docs/concepts/retry.md +0 -64
- package/docs/concepts/session-pruning.md +0 -123
- package/docs/concepts/session-tool.md +0 -213
- package/docs/concepts/session.md +0 -199
- package/docs/concepts/sessions.md +0 -10
- package/docs/concepts/streaming.md +0 -129
- package/docs/concepts/system-prompt.md +0 -128
- package/docs/concepts/timezone.md +0 -90
- package/docs/concepts/typebox.md +0 -289
- package/docs/concepts/typing-indicators.md +0 -68
- package/docs/concepts/usage-tracking.md +0 -35
- package/docs/date-time.md +0 -127
- package/docs/debug/node-issue.md +0 -85
- package/docs/diagnostics/flags.md +0 -91
- package/docs/docs.json +0 -1849
- package/docs/experiments/onboarding-config-protocol.md +0 -40
- package/docs/experiments/plans/browser-evaluate-cdp-refactor.md +0 -229
- package/docs/experiments/plans/cron-add-hardening.md +0 -62
- package/docs/experiments/plans/group-policy-hardening.md +0 -40
- package/docs/experiments/plans/openresponses-gateway.md +0 -123
- package/docs/experiments/plans/pty-process-supervision.md +0 -192
- package/docs/experiments/plans/session-binding-channel-agnostic.md +0 -202
- package/docs/experiments/plans/thread-bound-subagents.md +0 -281
- package/docs/experiments/proposals/model-config.md +0 -36
- package/docs/experiments/research/memory.md +0 -228
- package/docs/gateway/authentication.md +0 -162
- package/docs/gateway/background-process.md +0 -96
- package/docs/gateway/bonjour.md +0 -177
- package/docs/gateway/bridge-protocol.md +0 -91
- package/docs/gateway/cli-backends.md +0 -225
- package/docs/gateway/configuration-examples.md +0 -610
- package/docs/gateway/configuration-reference.md +0 -2465
- package/docs/gateway/configuration.md +0 -488
- package/docs/gateway/discovery.md +0 -123
- package/docs/gateway/doctor.md +0 -282
- package/docs/gateway/gateway-lock.md +0 -34
- package/docs/gateway/health.md +0 -35
- package/docs/gateway/heartbeat.md +0 -374
- package/docs/gateway/index.md +0 -254
- package/docs/gateway/local-models.md +0 -150
- package/docs/gateway/logging.md +0 -113
- package/docs/gateway/multiple-gateways.md +0 -112
- package/docs/gateway/network-model.md +0 -20
- package/docs/gateway/openai-http-api.md +0 -119
- package/docs/gateway/openresponses-http-api.md +0 -333
- package/docs/gateway/pairing.md +0 -99
- package/docs/gateway/protocol.md +0 -221
- package/docs/gateway/remote-gateway-readme.md +0 -158
- package/docs/gateway/remote.md +0 -131
- package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +0 -128
- package/docs/gateway/sandboxing.md +0 -203
- package/docs/gateway/security/index.md +0 -931
- package/docs/gateway/tailscale.md +0 -132
- package/docs/gateway/tools-invoke-http-api.md +0 -110
- package/docs/gateway/troubleshooting.md +0 -317
- package/docs/gateway/trusted-proxy-auth.md +0 -270
- package/docs/glass-ui-rendering-invariants.md +0 -451
- package/docs/help/debugging.md +0 -162
- package/docs/help/environment.md +0 -107
- package/docs/help/faq.md +0 -2846
- package/docs/help/index.md +0 -21
- package/docs/help/scripts.md +0 -28
- package/docs/help/testing.md +0 -385
- package/docs/help/troubleshooting.md +0 -264
- package/docs/images/configure-model-picker-unsearchable.png +0 -0
- package/docs/images/feishu-step2-create-app.png +0 -0
- package/docs/images/feishu-step3-credentials.png +0 -0
- package/docs/images/feishu-step4-permissions.png +0 -0
- package/docs/images/feishu-step5-bot-capability.png +0 -0
- package/docs/images/feishu-step6-event-subscription.png +0 -0
- package/docs/images/groups-flow.svg +0 -52
- package/docs/images/mobile-ui-screenshot.png +0 -0
- package/docs/index.md +0 -186
- package/docs/install/ansible.md +0 -207
- package/docs/install/bun.md +0 -59
- package/docs/install/development-channels.md +0 -75
- package/docs/install/docker.md +0 -583
- package/docs/install/exe-dev.md +0 -126
- package/docs/install/fly.md +0 -472
- package/docs/install/gcp.md +0 -499
- package/docs/install/hetzner.md +0 -347
- package/docs/install/index.md +0 -218
- package/docs/install/installer.md +0 -405
- package/docs/install/macos-vm.md +0 -281
- package/docs/install/migrating.md +0 -192
- package/docs/install/nix.md +0 -98
- package/docs/install/node.md +0 -138
- package/docs/install/northflank.mdx +0 -49
- package/docs/install/podman.md +0 -108
- package/docs/install/railway.mdx +0 -95
- package/docs/install/render.mdx +0 -158
- package/docs/install/uninstall.md +0 -128
- package/docs/install/updating.md +0 -231
- package/docs/ja-JP/AGENTS.md +0 -37
- package/docs/ja-JP/index.md +0 -183
- package/docs/ja-JP/start/getting-started.md +0 -125
- package/docs/ja-JP/start/wizard.md +0 -77
- package/docs/logging.md +0 -350
- package/docs/nav-tabs-underline.js +0 -100
- package/docs/network.md +0 -54
- package/docs/nodes/audio.md +0 -133
- package/docs/nodes/camera.md +0 -156
- package/docs/nodes/images.md +0 -72
- package/docs/nodes/index.md +0 -342
- package/docs/nodes/location-command.md +0 -113
- package/docs/nodes/media-understanding.md +0 -379
- package/docs/nodes/talk.md +0 -90
- package/docs/nodes/troubleshooting.md +0 -112
- package/docs/nodes/voicewake.md +0 -65
- package/docs/perplexity.md +0 -80
- package/docs/phase-6.5-pre-flight-audit.md +0 -268
- package/docs/pi-dev.md +0 -70
- package/docs/pi.md +0 -610
- package/docs/platforms/android.md +0 -151
- package/docs/platforms/digitalocean.md +0 -265
- package/docs/platforms/index.md +0 -53
- package/docs/platforms/ios.md +0 -108
- package/docs/platforms/linux.md +0 -94
- package/docs/platforms/mac/bundled-gateway.md +0 -73
- package/docs/platforms/mac/canvas.md +0 -125
- package/docs/platforms/mac/child-process.md +0 -69
- package/docs/platforms/mac/dev-setup.md +0 -104
- package/docs/platforms/mac/health.md +0 -34
- package/docs/platforms/mac/icon.md +0 -31
- package/docs/platforms/mac/logging.md +0 -57
- package/docs/platforms/mac/menu-bar.md +0 -81
- package/docs/platforms/mac/peekaboo.md +0 -65
- package/docs/platforms/mac/permissions.md +0 -50
- package/docs/platforms/mac/release.md +0 -85
- package/docs/platforms/mac/remote.md +0 -84
- package/docs/platforms/mac/signing.md +0 -47
- package/docs/platforms/mac/skills.md +0 -33
- package/docs/platforms/mac/voice-overlay.md +0 -60
- package/docs/platforms/mac/voicewake.md +0 -66
- package/docs/platforms/mac/webchat.md +0 -43
- package/docs/platforms/mac/xpc.md +0 -61
- package/docs/platforms/macos.md +0 -204
- package/docs/platforms/oracle.md +0 -303
- package/docs/platforms/raspberry-pi.md +0 -358
- package/docs/platforms/windows.md +0 -159
- package/docs/plugins/agent-tools.md +0 -99
- package/docs/plugins/community.md +0 -44
- package/docs/plugins/manifest.md +0 -71
- package/docs/plugins/voice-call.md +0 -322
- package/docs/plugins/zalouser.md +0 -81
- package/docs/prose.md +0 -134
- package/docs/providers/anthropic.md +0 -174
- package/docs/providers/bedrock.md +0 -176
- package/docs/providers/claude-max-api-proxy.md +0 -148
- package/docs/providers/cloudflare-ai-gateway.md +0 -71
- package/docs/providers/deepgram.md +0 -93
- package/docs/providers/github-copilot.md +0 -72
- package/docs/providers/glm.md +0 -33
- package/docs/providers/huggingface.md +0 -209
- package/docs/providers/index.md +0 -67
- package/docs/providers/litellm.md +0 -153
- package/docs/providers/minimax.md +0 -208
- package/docs/providers/models.md +0 -52
- package/docs/providers/moonshot.md +0 -142
- package/docs/providers/nvidia.md +0 -55
- package/docs/providers/ollama.md +0 -250
- package/docs/providers/openai.md +0 -62
- package/docs/providers/opencode.md +0 -36
- package/docs/providers/openrouter.md +0 -37
- package/docs/providers/qianfan.md +0 -38
- package/docs/providers/qwen.md +0 -53
- package/docs/providers/synthetic.md +0 -99
- package/docs/providers/together.md +0 -65
- package/docs/providers/venice.md +0 -267
- package/docs/providers/vercel-ai-gateway.md +0 -50
- package/docs/providers/vllm.md +0 -92
- package/docs/providers/xiaomi.md +0 -64
- package/docs/providers/zai.md +0 -38
- package/docs/refactor/exec-host.md +0 -316
- package/docs/refactor/outbound-session-mirroring.md +0 -83
- package/docs/refactor/plugin-sdk.md +0 -214
- package/docs/refactor/strict-config.md +0 -93
- package/docs/refactor/syminet.md +0 -417
- package/docs/reference/AGENTS.default.md +0 -123
- package/docs/reference/RELEASING.md +0 -120
- package/docs/reference/api-usage-costs.md +0 -138
- package/docs/reference/credits.md +0 -28
- package/docs/reference/device-models.md +0 -47
- package/docs/reference/rpc.md +0 -43
- package/docs/reference/session-management-compaction.md +0 -284
- package/docs/reference/test.md +0 -51
- package/docs/reference/token-use.md +0 -136
- package/docs/reference/transcript-hygiene.md +0 -151
- package/docs/reference/wizard.md +0 -265
- package/docs/security/CONTRIBUTING-THREAT-MODEL.md +0 -89
- package/docs/security/README.md +0 -16
- package/docs/security/THREAT-MODEL-ATLAS.md +0 -600
- package/docs/security/formal-verification.md +0 -164
- package/docs/start/bootstrapping.md +0 -41
- package/docs/start/docs-directory.md +0 -63
- package/docs/start/getting-started.md +0 -135
- package/docs/start/hubs.md +0 -196
- package/docs/start/lore.md +0 -216
- package/docs/start/onboarding-overview.md +0 -51
- package/docs/start/onboarding.md +0 -81
- package/docs/start/quickstart.md +0 -22
- package/docs/start/setup.md +0 -160
- package/docs/start/showcase.md +0 -414
- package/docs/start/symi.md +0 -211
- package/docs/start/wizard-cli-automation.md +0 -158
- package/docs/start/wizard-cli-reference.md +0 -255
- package/docs/start/wizard.md +0 -109
- package/docs/style.css +0 -37
- package/docs/tools/agent-send.md +0 -52
- package/docs/tools/apply-patch.md +0 -51
- package/docs/tools/browser-linux-troubleshooting.md +0 -139
- package/docs/tools/browser-login.md +0 -67
- package/docs/tools/browser.md +0 -587
- package/docs/tools/chrome-extension.md +0 -183
- package/docs/tools/creating-skills.md +0 -54
- package/docs/tools/elevated.md +0 -55
- package/docs/tools/exec-approvals.md +0 -261
- package/docs/tools/exec.md +0 -184
- package/docs/tools/firecrawl.md +0 -61
- package/docs/tools/index.md +0 -540
- package/docs/tools/llm-task.md +0 -115
- package/docs/tools/loop-detection.md +0 -98
- package/docs/tools/multi-agent-sandbox-tools.md +0 -396
- package/docs/tools/pipeline.md +0 -340
- package/docs/tools/plugin.md +0 -687
- package/docs/tools/reactions.md +0 -21
- package/docs/tools/skills-config.md +0 -76
- package/docs/tools/skills.md +0 -300
- package/docs/tools/slash-commands.md +0 -202
- package/docs/tools/subagents.md +0 -232
- package/docs/tools/symihub.md +0 -256
- package/docs/tools/thinking.md +0 -75
- package/docs/tools/web.md +0 -265
- package/docs/tts.md +0 -398
- package/docs/vps.md +0 -43
- package/docs/web/control-ui.md +0 -247
- package/docs/web/dashboard.md +0 -46
- package/docs/web/index.md +0 -118
- package/docs/web/tui.md +0 -162
- package/docs/web/webchat.md +0 -53
- package/docs/whatsapp-symi-ai-zh.jpg +0 -0
- package/docs/whatsapp-symi.jpg +0 -0
- package/docs/zh-CN/AGENTS.md +0 -59
- package/docs/zh-CN/automation/auth-monitoring.md +0 -47
- package/docs/zh-CN/automation/cron-jobs.md +0 -422
- package/docs/zh-CN/automation/cron-vs-heartbeat.md +0 -286
- package/docs/zh-CN/automation/gmail-pubsub.md +0 -249
- package/docs/zh-CN/automation/hooks.md +0 -881
- package/docs/zh-CN/automation/poll.md +0 -68
- package/docs/zh-CN/automation/troubleshooting.md +0 -8
- package/docs/zh-CN/automation/webhook.md +0 -161
- package/docs/zh-CN/brave-search.md +0 -48
- package/docs/zh-CN/channels/bluebubbles.md +0 -271
- package/docs/zh-CN/channels/broadcast-groups.md +0 -448
- package/docs/zh-CN/channels/channel-routing.md +0 -112
- package/docs/zh-CN/channels/feishu.md +0 -629
- package/docs/zh-CN/channels/googlechat.md +0 -257
- package/docs/zh-CN/channels/grammy.md +0 -38
- package/docs/zh-CN/channels/group-messages.md +0 -89
- package/docs/zh-CN/channels/groups.md +0 -369
- package/docs/zh-CN/channels/imessage.md +0 -300
- package/docs/zh-CN/channels/index.md +0 -52
- package/docs/zh-CN/channels/line.md +0 -180
- package/docs/zh-CN/channels/location.md +0 -63
- package/docs/zh-CN/channels/matrix.md +0 -221
- package/docs/zh-CN/channels/mattermost.md +0 -144
- package/docs/zh-CN/channels/msteams.md +0 -773
- package/docs/zh-CN/channels/nextcloud-talk.md +0 -142
- package/docs/zh-CN/channels/nostr.md +0 -240
- package/docs/zh-CN/channels/pairing.md +0 -86
- package/docs/zh-CN/channels/signal.md +0 -207
- package/docs/zh-CN/channels/slack.md +0 -529
- package/docs/zh-CN/channels/telegram.md +0 -748
- package/docs/zh-CN/channels/tlon.md +0 -136
- package/docs/zh-CN/channels/troubleshooting.md +0 -34
- package/docs/zh-CN/channels/twitch.md +0 -385
- package/docs/zh-CN/channels/whatsapp.md +0 -411
- package/docs/zh-CN/channels/zalo.md +0 -196
- package/docs/zh-CN/channels/zalouser.md +0 -147
- package/docs/zh-CN/cli/acp.md +0 -173
- package/docs/zh-CN/cli/agent.md +0 -30
- package/docs/zh-CN/cli/agents.md +0 -82
- package/docs/zh-CN/cli/approvals.md +0 -57
- package/docs/zh-CN/cli/browser.md +0 -114
- package/docs/zh-CN/cli/channels.md +0 -80
- package/docs/zh-CN/cli/config.md +0 -57
- package/docs/zh-CN/cli/configure.md +0 -37
- package/docs/zh-CN/cli/cron.md +0 -43
- package/docs/zh-CN/cli/dashboard.md +0 -23
- package/docs/zh-CN/cli/devices.md +0 -74
- package/docs/zh-CN/cli/directory.md +0 -69
- package/docs/zh-CN/cli/dns.md +0 -30
- package/docs/zh-CN/cli/docs.md +0 -22
- package/docs/zh-CN/cli/doctor.md +0 -48
- package/docs/zh-CN/cli/gateway.md +0 -206
- package/docs/zh-CN/cli/health.md +0 -28
- package/docs/zh-CN/cli/hooks.md +0 -298
- package/docs/zh-CN/cli/index.md +0 -1025
- package/docs/zh-CN/cli/logs.md +0 -31
- package/docs/zh-CN/cli/memory.md +0 -52
- package/docs/zh-CN/cli/message.md +0 -205
- package/docs/zh-CN/cli/models.md +0 -85
- package/docs/zh-CN/cli/node.md +0 -115
- package/docs/zh-CN/cli/nodes.md +0 -80
- package/docs/zh-CN/cli/onboard.md +0 -36
- package/docs/zh-CN/cli/pairing.md +0 -28
- package/docs/zh-CN/cli/plugins.md +0 -66
- package/docs/zh-CN/cli/reset.md +0 -24
- package/docs/zh-CN/cli/sandbox.md +0 -158
- package/docs/zh-CN/cli/security.md +0 -33
- package/docs/zh-CN/cli/sessions.md +0 -23
- package/docs/zh-CN/cli/setup.md +0 -36
- package/docs/zh-CN/cli/skills.md +0 -33
- package/docs/zh-CN/cli/status.md +0 -32
- package/docs/zh-CN/cli/system.md +0 -63
- package/docs/zh-CN/cli/tui.md +0 -30
- package/docs/zh-CN/cli/uninstall.md +0 -24
- package/docs/zh-CN/cli/update.md +0 -101
- package/docs/zh-CN/cli/voicecall.md +0 -41
- package/docs/zh-CN/cli/webhooks.md +0 -32
- package/docs/zh-CN/concepts/agent-loop.md +0 -146
- package/docs/zh-CN/concepts/agent-workspace.md +0 -219
- package/docs/zh-CN/concepts/agent.md +0 -115
- package/docs/zh-CN/concepts/architecture.md +0 -122
- package/docs/zh-CN/concepts/compaction.md +0 -67
- package/docs/zh-CN/concepts/context.md +0 -168
- package/docs/zh-CN/concepts/features.md +0 -57
- package/docs/zh-CN/concepts/markdown-formatting.md +0 -115
- package/docs/zh-CN/concepts/memory.md +0 -412
- package/docs/zh-CN/concepts/messages.md +0 -140
- package/docs/zh-CN/concepts/model-failover.md +0 -145
- package/docs/zh-CN/concepts/model-providers.md +0 -320
- package/docs/zh-CN/concepts/models.md +0 -196
- package/docs/zh-CN/concepts/multi-agent.md +0 -371
- package/docs/zh-CN/concepts/oauth.md +0 -151
- package/docs/zh-CN/concepts/presence.md +0 -99
- package/docs/zh-CN/concepts/queue.md +0 -91
- package/docs/zh-CN/concepts/retry.md +0 -71
- package/docs/zh-CN/concepts/session-pruning.md +0 -129
- package/docs/zh-CN/concepts/session-tool.md +0 -198
- package/docs/zh-CN/concepts/session.md +0 -158
- package/docs/zh-CN/concepts/sessions.md +0 -17
- package/docs/zh-CN/concepts/streaming.md +0 -131
- package/docs/zh-CN/concepts/system-prompt.md +0 -99
- package/docs/zh-CN/concepts/timezone.md +0 -94
- package/docs/zh-CN/concepts/typebox.md +0 -284
- package/docs/zh-CN/concepts/typing-indicators.md +0 -74
- package/docs/zh-CN/concepts/usage-tracking.md +0 -42
- package/docs/zh-CN/date-time.md +0 -128
- package/docs/zh-CN/debug/node-issue.md +0 -90
- package/docs/zh-CN/diagnostics/flags.md +0 -98
- package/docs/zh-CN/experiments/onboarding-config-protocol.md +0 -47
- package/docs/zh-CN/experiments/plans/cron-add-hardening.md +0 -69
- package/docs/zh-CN/experiments/plans/group-policy-hardening.md +0 -45
- package/docs/zh-CN/experiments/plans/openresponses-gateway.md +0 -121
- package/docs/zh-CN/experiments/proposals/model-config.md +0 -42
- package/docs/zh-CN/experiments/research/memory.md +0 -235
- package/docs/zh-CN/gateway/authentication.md +0 -142
- package/docs/zh-CN/gateway/background-process.md +0 -100
- package/docs/zh-CN/gateway/bonjour.md +0 -174
- package/docs/zh-CN/gateway/bridge-protocol.md +0 -86
- package/docs/zh-CN/gateway/cli-backends.md +0 -213
- package/docs/zh-CN/gateway/configuration-examples.md +0 -580
- package/docs/zh-CN/gateway/configuration.md +0 -3284
- package/docs/zh-CN/gateway/discovery.md +0 -123
- package/docs/zh-CN/gateway/doctor.md +0 -238
- package/docs/zh-CN/gateway/gateway-lock.md +0 -41
- package/docs/zh-CN/gateway/health.md +0 -42
- package/docs/zh-CN/gateway/heartbeat.md +0 -272
- package/docs/zh-CN/gateway/index.md +0 -335
- package/docs/zh-CN/gateway/local-models.md +0 -157
- package/docs/zh-CN/gateway/logging.md +0 -114
- package/docs/zh-CN/gateway/multiple-gateways.md +0 -119
- package/docs/zh-CN/gateway/network-model.md +0 -23
- package/docs/zh-CN/gateway/openai-http-api.md +0 -125
- package/docs/zh-CN/gateway/openresponses-http-api.md +0 -317
- package/docs/zh-CN/gateway/pairing.md +0 -99
- package/docs/zh-CN/gateway/protocol.md +0 -220
- package/docs/zh-CN/gateway/remote-gateway-readme.md +0 -164
- package/docs/zh-CN/gateway/remote.md +0 -133
- package/docs/zh-CN/gateway/sandbox-vs-tool-policy-vs-elevated.md +0 -135
- package/docs/zh-CN/gateway/sandboxing.md +0 -188
- package/docs/zh-CN/gateway/security/index.md +0 -772
- package/docs/zh-CN/gateway/tailscale.md +0 -124
- package/docs/zh-CN/gateway/tools-invoke-http-api.md +0 -92
- package/docs/zh-CN/gateway/troubleshooting.md +0 -758
- package/docs/zh-CN/help/debugging.md +0 -160
- package/docs/zh-CN/help/environment.md +0 -88
- package/docs/zh-CN/help/faq.md +0 -2613
- package/docs/zh-CN/help/index.md +0 -28
- package/docs/zh-CN/help/scripts.md +0 -35
- package/docs/zh-CN/help/testing.md +0 -375
- package/docs/zh-CN/help/troubleshooting.md +0 -104
- package/docs/zh-CN/index.md +0 -183
- package/docs/zh-CN/install/ansible.md +0 -214
- package/docs/zh-CN/install/bun.md +0 -65
- package/docs/zh-CN/install/development-channels.md +0 -81
- package/docs/zh-CN/install/docker.md +0 -525
- package/docs/zh-CN/install/exe-dev.md +0 -127
- package/docs/zh-CN/install/fly.md +0 -476
- package/docs/zh-CN/install/gcp.md +0 -509
- package/docs/zh-CN/install/hetzner.md +0 -336
- package/docs/zh-CN/install/index.md +0 -193
- package/docs/zh-CN/install/installer.md +0 -128
- package/docs/zh-CN/install/macos-vm.md +0 -288
- package/docs/zh-CN/install/migrating.md +0 -199
- package/docs/zh-CN/install/nix.md +0 -99
- package/docs/zh-CN/install/node.md +0 -8
- package/docs/zh-CN/install/northflank.mdx +0 -56
- package/docs/zh-CN/install/railway.mdx +0 -102
- package/docs/zh-CN/install/render.mdx +0 -168
- package/docs/zh-CN/install/uninstall.md +0 -135
- package/docs/zh-CN/install/updating.md +0 -233
- package/docs/zh-CN/logging.md +0 -329
- package/docs/zh-CN/network.md +0 -59
- package/docs/zh-CN/nodes/audio.md +0 -120
- package/docs/zh-CN/nodes/camera.md +0 -162
- package/docs/zh-CN/nodes/images.md +0 -79
- package/docs/zh-CN/nodes/index.md +0 -348
- package/docs/zh-CN/nodes/location-command.md +0 -120
- package/docs/zh-CN/nodes/media-understanding.md +0 -380
- package/docs/zh-CN/nodes/talk.md +0 -97
- package/docs/zh-CN/nodes/troubleshooting.md +0 -8
- package/docs/zh-CN/nodes/voicewake.md +0 -72
- package/docs/zh-CN/perplexity.md +0 -84
- package/docs/zh-CN/pi-dev.md +0 -77
- package/docs/zh-CN/pi.md +0 -617
- package/docs/zh-CN/platforms/android.md +0 -155
- package/docs/zh-CN/platforms/digitalocean.md +0 -268
- package/docs/zh-CN/platforms/index.md +0 -60
- package/docs/zh-CN/platforms/ios.md +0 -114
- package/docs/zh-CN/platforms/linux.md +0 -101
- package/docs/zh-CN/platforms/mac/bundled-gateway.md +0 -75
- package/docs/zh-CN/platforms/mac/canvas.md +0 -128
- package/docs/zh-CN/platforms/mac/child-process.md +0 -73
- package/docs/zh-CN/platforms/mac/dev-setup.md +0 -109
- package/docs/zh-CN/platforms/mac/health.md +0 -41
- package/docs/zh-CN/platforms/mac/icon.md +0 -38
- package/docs/zh-CN/platforms/mac/logging.md +0 -64
- package/docs/zh-CN/platforms/mac/menu-bar.md +0 -88
- package/docs/zh-CN/platforms/mac/peekaboo.md +0 -62
- package/docs/zh-CN/platforms/mac/permissions.md +0 -46
- package/docs/zh-CN/platforms/mac/release.md +0 -92
- package/docs/zh-CN/platforms/mac/remote.md +0 -90
- package/docs/zh-CN/platforms/mac/signing.md +0 -54
- package/docs/zh-CN/platforms/mac/skills.md +0 -40
- package/docs/zh-CN/platforms/mac/voice-overlay.md +0 -67
- package/docs/zh-CN/platforms/mac/voicewake.md +0 -73
- package/docs/zh-CN/platforms/mac/webchat.md +0 -43
- package/docs/zh-CN/platforms/mac/xpc.md +0 -68
- package/docs/zh-CN/platforms/macos.md +0 -193
- package/docs/zh-CN/platforms/oracle.md +0 -310
- package/docs/zh-CN/platforms/raspberry-pi.md +0 -365
- package/docs/zh-CN/platforms/windows.md +0 -156
- package/docs/zh-CN/plugins/agent-tools.md +0 -99
- package/docs/zh-CN/plugins/manifest.md +0 -68
- package/docs/zh-CN/plugins/voice-call.md +0 -250
- package/docs/zh-CN/plugins/zalouser.md +0 -88
- package/docs/zh-CN/prose.md +0 -141
- package/docs/zh-CN/providers/anthropic.md +0 -159
- package/docs/zh-CN/providers/bedrock.md +0 -170
- package/docs/zh-CN/providers/claude-max-api-proxy.md +0 -155
- package/docs/zh-CN/providers/deepgram.md +0 -97
- package/docs/zh-CN/providers/github-copilot.md +0 -67
- package/docs/zh-CN/providers/glm.md +0 -39
- package/docs/zh-CN/providers/index.md +0 -66
- package/docs/zh-CN/providers/minimax.md +0 -206
- package/docs/zh-CN/providers/models.md +0 -55
- package/docs/zh-CN/providers/moonshot.md +0 -145
- package/docs/zh-CN/providers/ollama.md +0 -230
- package/docs/zh-CN/providers/openai.md +0 -68
- package/docs/zh-CN/providers/opencode.md +0 -41
- package/docs/zh-CN/providers/openrouter.md +0 -43
- package/docs/zh-CN/providers/qianfan.md +0 -8
- package/docs/zh-CN/providers/qwen.md +0 -55
- package/docs/zh-CN/providers/synthetic.md +0 -102
- package/docs/zh-CN/providers/venice.md +0 -274
- package/docs/zh-CN/providers/vercel-ai-gateway.md +0 -57
- package/docs/zh-CN/providers/xiaomi.md +0 -68
- package/docs/zh-CN/providers/zai.md +0 -41
- package/docs/zh-CN/refactor/exec-host.md +0 -323
- package/docs/zh-CN/refactor/outbound-session-mirroring.md +0 -90
- package/docs/zh-CN/refactor/plugin-sdk.md +0 -221
- package/docs/zh-CN/refactor/strict-config.md +0 -100
- package/docs/zh-CN/refactor/syminet.md +0 -424
- package/docs/zh-CN/reference/AGENTS.default.md +0 -130
- package/docs/zh-CN/reference/RELEASING.md +0 -122
- package/docs/zh-CN/reference/api-usage-costs.md +0 -136
- package/docs/zh-CN/reference/credits.md +0 -34
- package/docs/zh-CN/reference/device-models.md +0 -54
- package/docs/zh-CN/reference/rpc.md +0 -48
- package/docs/zh-CN/reference/session-management-compaction.md +0 -286
- package/docs/zh-CN/reference/templates/AGENTS.dev.md +0 -89
- package/docs/zh-CN/reference/templates/AGENTS.md +0 -234
- package/docs/zh-CN/reference/templates/BOOT.md +0 -17
- package/docs/zh-CN/reference/templates/BOOTSTRAP.md +0 -68
- package/docs/zh-CN/reference/templates/IDENTITY.dev.md +0 -54
- package/docs/zh-CN/reference/templates/IDENTITY.md +0 -36
- package/docs/zh-CN/reference/templates/SYMICORE.dev.md +0 -83
- package/docs/zh-CN/reference/templates/SYMICORE.md +0 -49
- package/docs/zh-CN/reference/templates/SYMIPULSE.md +0 -69
- package/docs/zh-CN/reference/templates/TOOLS.dev.md +0 -31
- package/docs/zh-CN/reference/templates/TOOLS.md +0 -53
- package/docs/zh-CN/reference/templates/USER.dev.md +0 -25
- package/docs/zh-CN/reference/templates/USER.md +0 -30
- package/docs/zh-CN/reference/test.md +0 -57
- package/docs/zh-CN/reference/token-use.md +0 -119
- package/docs/zh-CN/reference/transcript-hygiene.md +0 -109
- package/docs/zh-CN/reference/wizard.md +0 -9
- package/docs/zh-CN/security/formal-verification.md +0 -171
- package/docs/zh-CN/start/bootstrapping.md +0 -9
- package/docs/zh-CN/start/docs-directory.md +0 -69
- package/docs/zh-CN/start/getting-started.md +0 -201
- package/docs/zh-CN/start/hubs.md +0 -199
- package/docs/zh-CN/start/lore.md +0 -223
- package/docs/zh-CN/start/onboarding.md +0 -105
- package/docs/zh-CN/start/quickstart.md +0 -88
- package/docs/zh-CN/start/setup.md +0 -151
- package/docs/zh-CN/start/showcase.md +0 -421
- package/docs/zh-CN/start/symi.md +0 -244
- package/docs/zh-CN/start/wizard.md +0 -326
- package/docs/zh-CN/tools/agent-send.md +0 -58
- package/docs/zh-CN/tools/apply-patch.md +0 -57
- package/docs/zh-CN/tools/browser-linux-troubleshooting.md +0 -144
- package/docs/zh-CN/tools/browser-login.md +0 -75
- package/docs/zh-CN/tools/browser.md +0 -553
- package/docs/zh-CN/tools/chrome-extension.md +0 -183
- package/docs/zh-CN/tools/creating-skills.md +0 -61
- package/docs/zh-CN/tools/elevated.md +0 -62
- package/docs/zh-CN/tools/exec-approvals.md +0 -233
- package/docs/zh-CN/tools/exec.md +0 -169
- package/docs/zh-CN/tools/firecrawl.md +0 -68
- package/docs/zh-CN/tools/index.md +0 -508
- package/docs/zh-CN/tools/llm-task.md +0 -117
- package/docs/zh-CN/tools/multi-agent-sandbox-tools.md +0 -400
- package/docs/zh-CN/tools/pipeline.md +0 -349
- package/docs/zh-CN/tools/plugin.md +0 -639
- package/docs/zh-CN/tools/reactions.md +0 -28
- package/docs/zh-CN/tools/skills-config.md +0 -78
- package/docs/zh-CN/tools/skills.md +0 -279
- package/docs/zh-CN/tools/slash-commands.md +0 -196
- package/docs/zh-CN/tools/subagents.md +0 -167
- package/docs/zh-CN/tools/symihub.md +0 -209
- package/docs/zh-CN/tools/thinking.md +0 -80
- package/docs/zh-CN/tools/web.md +0 -257
- package/docs/zh-CN/tts.md +0 -373
- package/docs/zh-CN/vps.md +0 -47
- package/docs/zh-CN/web/control-ui.md +0 -190
- package/docs/zh-CN/web/dashboard.md +0 -53
- package/docs/zh-CN/web/index.md +0 -118
- package/docs/zh-CN/web/tui.md +0 -166
- package/docs/zh-CN/web/webchat.md +0 -56
package/docs/channels/feishu.md
DELETED
|
@@ -1,586 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
summary: "Feishu bot overview, features, and configuration"
|
|
3
|
-
read_when:
|
|
4
|
-
- You want to connect a Feishu/Lark bot
|
|
5
|
-
- You are configuring the Feishu channel
|
|
6
|
-
title: Feishu
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Feishu bot
|
|
10
|
-
|
|
11
|
-
Feishu (Lark) is a team chat platform used by companies for messaging and collaboration. This plugin connects Symi to a Feishu/Lark bot using the platform’s WebSocket event subscription so messages can be received without exposing a public webhook URL.
|
|
12
|
-
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
## Plugin required
|
|
16
|
-
|
|
17
|
-
Install the Feishu plugin:
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
symi plugins install @symi/feishu
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
Local checkout (when running from a git repo):
|
|
24
|
-
|
|
25
|
-
```bash
|
|
26
|
-
symi plugins install ./extensions/feishu
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
---
|
|
30
|
-
|
|
31
|
-
## Quickstart
|
|
32
|
-
|
|
33
|
-
There are two ways to add the Feishu channel:
|
|
34
|
-
|
|
35
|
-
### Method 1: onboarding wizard (recommended)
|
|
36
|
-
|
|
37
|
-
If you just installed Symi, run the wizard:
|
|
38
|
-
|
|
39
|
-
```bash
|
|
40
|
-
symi onboard
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
The wizard guides you through:
|
|
44
|
-
|
|
45
|
-
1. Creating a Feishu app and collecting credentials
|
|
46
|
-
2. Configuring app credentials in Symi
|
|
47
|
-
3. Starting the gateway
|
|
48
|
-
|
|
49
|
-
✅ **After configuration**, check gateway status:
|
|
50
|
-
|
|
51
|
-
- `symi gateway status`
|
|
52
|
-
- `symi logs --follow`
|
|
53
|
-
|
|
54
|
-
### Method 2: CLI setup
|
|
55
|
-
|
|
56
|
-
If you already completed initial install, add the channel via CLI:
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
symi channels add
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
Choose **Feishu**, then enter the App ID and App Secret.
|
|
63
|
-
|
|
64
|
-
✅ **After configuration**, manage the gateway:
|
|
65
|
-
|
|
66
|
-
- `symi gateway status`
|
|
67
|
-
- `symi gateway restart`
|
|
68
|
-
- `symi logs --follow`
|
|
69
|
-
|
|
70
|
-
---
|
|
71
|
-
|
|
72
|
-
## Step 1: Create a Feishu app
|
|
73
|
-
|
|
74
|
-
### 1. Open Feishu Open Platform
|
|
75
|
-
|
|
76
|
-
Visit [Feishu Open Platform](https://open.feishu.cn/app) and sign in.
|
|
77
|
-
|
|
78
|
-
Lark (global) tenants should use [https://open.larksuite.com/app](https://open.larksuite.com/app) and set `domain: "lark"` in the Feishu config.
|
|
79
|
-
|
|
80
|
-
### 2. Create an app
|
|
81
|
-
|
|
82
|
-
1. Click **Create enterprise app**
|
|
83
|
-
2. Fill in the app name + description
|
|
84
|
-
3. Choose an app icon
|
|
85
|
-
|
|
86
|
-

|
|
87
|
-
|
|
88
|
-
### 3. Copy credentials
|
|
89
|
-
|
|
90
|
-
From **Credentials & Basic Info**, copy:
|
|
91
|
-
|
|
92
|
-
- **App ID** (format: `cli_xxx`)
|
|
93
|
-
- **App Secret**
|
|
94
|
-
|
|
95
|
-
❗ **Important:** keep the App Secret private.
|
|
96
|
-
|
|
97
|
-

|
|
98
|
-
|
|
99
|
-
### 4. Configure permissions
|
|
100
|
-
|
|
101
|
-
On **Permissions**, click **Batch import** and paste:
|
|
102
|
-
|
|
103
|
-
```json
|
|
104
|
-
{
|
|
105
|
-
"scopes": {
|
|
106
|
-
"tenant": [
|
|
107
|
-
"aily:file:read",
|
|
108
|
-
"aily:file:write",
|
|
109
|
-
"application:application.app_message_stats.overview:readonly",
|
|
110
|
-
"application:application:self_manage",
|
|
111
|
-
"application:bot.menu:write",
|
|
112
|
-
"contact:user.employee_id:readonly",
|
|
113
|
-
"corehr:file:download",
|
|
114
|
-
"event:ip_list",
|
|
115
|
-
"im:chat.access_event.bot_p2p_chat:read",
|
|
116
|
-
"im:chat.members:bot_access",
|
|
117
|
-
"im:message",
|
|
118
|
-
"im:message.group_at_msg:readonly",
|
|
119
|
-
"im:message.p2p_msg:readonly",
|
|
120
|
-
"im:message:readonly",
|
|
121
|
-
"im:message:send_as_bot",
|
|
122
|
-
"im:resource"
|
|
123
|
-
],
|
|
124
|
-
"user": ["aily:file:read", "aily:file:write", "im:chat.access_event.bot_p2p_chat:read"]
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-

|
|
130
|
-
|
|
131
|
-
### 5. Enable bot capability
|
|
132
|
-
|
|
133
|
-
In **App Capability** > **Bot**:
|
|
134
|
-
|
|
135
|
-
1. Enable bot capability
|
|
136
|
-
2. Set the bot name
|
|
137
|
-
|
|
138
|
-

|
|
139
|
-
|
|
140
|
-
### 6. Configure event subscription
|
|
141
|
-
|
|
142
|
-
⚠️ **Important:** before setting event subscription, make sure:
|
|
143
|
-
|
|
144
|
-
1. You already ran `symi channels add` for Feishu
|
|
145
|
-
2. The gateway is running (`symi gateway status`)
|
|
146
|
-
|
|
147
|
-
In **Event Subscription**:
|
|
148
|
-
|
|
149
|
-
1. Choose **Use long connection to receive events** (WebSocket)
|
|
150
|
-
2. Add the event: `im.message.receive_v1`
|
|
151
|
-
|
|
152
|
-
⚠️ If the gateway is not running, the long-connection setup may fail to save.
|
|
153
|
-
|
|
154
|
-

|
|
155
|
-
|
|
156
|
-
### 7. Publish the app
|
|
157
|
-
|
|
158
|
-
1. Create a version in **Version Management & Release**
|
|
159
|
-
2. Submit for review and publish
|
|
160
|
-
3. Wait for admin approval (enterprise apps usually auto-approve)
|
|
161
|
-
|
|
162
|
-
---
|
|
163
|
-
|
|
164
|
-
## Step 2: Configure Symi
|
|
165
|
-
|
|
166
|
-
### Configure with the wizard (recommended)
|
|
167
|
-
|
|
168
|
-
```bash
|
|
169
|
-
symi channels add
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
Choose **Feishu** and paste your App ID + App Secret.
|
|
173
|
-
|
|
174
|
-
### Configure via config file
|
|
175
|
-
|
|
176
|
-
Edit `~/.symi/symi.json`:
|
|
177
|
-
|
|
178
|
-
```json5
|
|
179
|
-
{
|
|
180
|
-
channels: {
|
|
181
|
-
feishu: {
|
|
182
|
-
enabled: true,
|
|
183
|
-
dmPolicy: "pairing",
|
|
184
|
-
accounts: {
|
|
185
|
-
main: {
|
|
186
|
-
appId: "cli_xxx",
|
|
187
|
-
appSecret: "xxx",
|
|
188
|
-
botName: "My AI assistant",
|
|
189
|
-
},
|
|
190
|
-
},
|
|
191
|
-
},
|
|
192
|
-
},
|
|
193
|
-
}
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
If you use `connectionMode: "webhook"`, set `verificationToken`. The Feishu webhook server binds to `127.0.0.1` by default; set `webhookHost` only if you intentionally need a different bind address.
|
|
197
|
-
|
|
198
|
-
### Configure via environment variables
|
|
199
|
-
|
|
200
|
-
```bash
|
|
201
|
-
export FEISHU_APP_ID="cli_xxx"
|
|
202
|
-
export FEISHU_APP_SECRET="xxx"
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
### Lark (global) domain
|
|
206
|
-
|
|
207
|
-
If your tenant is on Lark (international), set the domain to `lark` (or a full domain string). You can set it at `channels.feishu.domain` or per account (`channels.feishu.accounts.<id>.domain`).
|
|
208
|
-
|
|
209
|
-
```json5
|
|
210
|
-
{
|
|
211
|
-
channels: {
|
|
212
|
-
feishu: {
|
|
213
|
-
domain: "lark",
|
|
214
|
-
accounts: {
|
|
215
|
-
main: {
|
|
216
|
-
appId: "cli_xxx",
|
|
217
|
-
appSecret: "xxx",
|
|
218
|
-
},
|
|
219
|
-
},
|
|
220
|
-
},
|
|
221
|
-
},
|
|
222
|
-
}
|
|
223
|
-
```
|
|
224
|
-
|
|
225
|
-
---
|
|
226
|
-
|
|
227
|
-
## Step 3: Start + test
|
|
228
|
-
|
|
229
|
-
### 1. Start the gateway
|
|
230
|
-
|
|
231
|
-
```bash
|
|
232
|
-
symi gateway
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
### 2. Send a test message
|
|
236
|
-
|
|
237
|
-
In Feishu, find your bot and send a message.
|
|
238
|
-
|
|
239
|
-
### 3. Approve pairing
|
|
240
|
-
|
|
241
|
-
By default, the bot replies with a pairing code. Approve it:
|
|
242
|
-
|
|
243
|
-
```bash
|
|
244
|
-
symi pairing approve feishu <CODE>
|
|
245
|
-
```
|
|
246
|
-
|
|
247
|
-
After approval, you can chat normally.
|
|
248
|
-
|
|
249
|
-
---
|
|
250
|
-
|
|
251
|
-
## Overview
|
|
252
|
-
|
|
253
|
-
- **Feishu bot channel**: Feishu bot managed by the gateway
|
|
254
|
-
- **Deterministic routing**: replies always return to Feishu
|
|
255
|
-
- **Session isolation**: DMs share a main session; groups are isolated
|
|
256
|
-
- **WebSocket connection**: long connection via Feishu SDK, no public URL needed
|
|
257
|
-
|
|
258
|
-
---
|
|
259
|
-
|
|
260
|
-
## Access control
|
|
261
|
-
|
|
262
|
-
### Direct messages
|
|
263
|
-
|
|
264
|
-
- **Default**: `dmPolicy: "pairing"` (unknown users get a pairing code)
|
|
265
|
-
- **Approve pairing**:
|
|
266
|
-
|
|
267
|
-
```bash
|
|
268
|
-
symi pairing list feishu
|
|
269
|
-
symi pairing approve feishu <CODE>
|
|
270
|
-
```
|
|
271
|
-
|
|
272
|
-
- **Allowlist mode**: set `channels.feishu.allowFrom` with allowed Open IDs
|
|
273
|
-
|
|
274
|
-
### Group chats
|
|
275
|
-
|
|
276
|
-
**1. Group policy** (`channels.feishu.groupPolicy`):
|
|
277
|
-
|
|
278
|
-
- `"open"` = allow everyone in groups (default)
|
|
279
|
-
- `"allowlist"` = only allow `groupAllowFrom`
|
|
280
|
-
- `"disabled"` = disable group messages
|
|
281
|
-
|
|
282
|
-
**2. Mention requirement** (`channels.feishu.groups.<chat_id>.requireMention`):
|
|
283
|
-
|
|
284
|
-
- `true` = require @mention (default)
|
|
285
|
-
- `false` = respond without mentions
|
|
286
|
-
|
|
287
|
-
---
|
|
288
|
-
|
|
289
|
-
## Group configuration examples
|
|
290
|
-
|
|
291
|
-
### Allow all groups, require @mention (default)
|
|
292
|
-
|
|
293
|
-
```json5
|
|
294
|
-
{
|
|
295
|
-
channels: {
|
|
296
|
-
feishu: {
|
|
297
|
-
groupPolicy: "open",
|
|
298
|
-
// Default requireMention: true
|
|
299
|
-
},
|
|
300
|
-
},
|
|
301
|
-
}
|
|
302
|
-
```
|
|
303
|
-
|
|
304
|
-
### Allow all groups, no @mention required
|
|
305
|
-
|
|
306
|
-
```json5
|
|
307
|
-
{
|
|
308
|
-
channels: {
|
|
309
|
-
feishu: {
|
|
310
|
-
groups: {
|
|
311
|
-
oc_xxx: { requireMention: false },
|
|
312
|
-
},
|
|
313
|
-
},
|
|
314
|
-
},
|
|
315
|
-
}
|
|
316
|
-
```
|
|
317
|
-
|
|
318
|
-
### Allow specific users in groups only
|
|
319
|
-
|
|
320
|
-
```json5
|
|
321
|
-
{
|
|
322
|
-
channels: {
|
|
323
|
-
feishu: {
|
|
324
|
-
groupPolicy: "allowlist",
|
|
325
|
-
groupAllowFrom: ["ou_xxx", "ou_yyy"],
|
|
326
|
-
},
|
|
327
|
-
},
|
|
328
|
-
}
|
|
329
|
-
```
|
|
330
|
-
|
|
331
|
-
---
|
|
332
|
-
|
|
333
|
-
## Get group/user IDs
|
|
334
|
-
|
|
335
|
-
### Group IDs (chat_id)
|
|
336
|
-
|
|
337
|
-
Group IDs look like `oc_xxx`.
|
|
338
|
-
|
|
339
|
-
**Method 1 (recommended)**
|
|
340
|
-
|
|
341
|
-
1. Start the gateway and @mention the bot in the group
|
|
342
|
-
2. Run `symi logs --follow` and look for `chat_id`
|
|
343
|
-
|
|
344
|
-
**Method 2**
|
|
345
|
-
|
|
346
|
-
Use the Feishu API debugger to list group chats.
|
|
347
|
-
|
|
348
|
-
### User IDs (open_id)
|
|
349
|
-
|
|
350
|
-
User IDs look like `ou_xxx`.
|
|
351
|
-
|
|
352
|
-
**Method 1 (recommended)**
|
|
353
|
-
|
|
354
|
-
1. Start the gateway and DM the bot
|
|
355
|
-
2. Run `symi logs --follow` and look for `open_id`
|
|
356
|
-
|
|
357
|
-
**Method 2**
|
|
358
|
-
|
|
359
|
-
Check pairing requests for user Open IDs:
|
|
360
|
-
|
|
361
|
-
```bash
|
|
362
|
-
symi pairing list feishu
|
|
363
|
-
```
|
|
364
|
-
|
|
365
|
-
---
|
|
366
|
-
|
|
367
|
-
## Common commands
|
|
368
|
-
|
|
369
|
-
| Command | Description |
|
|
370
|
-
| --------- | ----------------- |
|
|
371
|
-
| `/status` | Show bot status |
|
|
372
|
-
| `/reset` | Reset the session |
|
|
373
|
-
| `/model` | Show/switch model |
|
|
374
|
-
|
|
375
|
-
> Note: Feishu does not support native command menus yet, so commands must be sent as text.
|
|
376
|
-
|
|
377
|
-
## Gateway management commands
|
|
378
|
-
|
|
379
|
-
| Command | Description |
|
|
380
|
-
| ---------------------- | ----------------------------- |
|
|
381
|
-
| `symi gateway status` | Show gateway status |
|
|
382
|
-
| `symi gateway install` | Install/start gateway service |
|
|
383
|
-
| `symi gateway stop` | Stop gateway service |
|
|
384
|
-
| `symi gateway restart` | Restart gateway service |
|
|
385
|
-
| `symi logs --follow` | Tail gateway logs |
|
|
386
|
-
|
|
387
|
-
---
|
|
388
|
-
|
|
389
|
-
## Troubleshooting
|
|
390
|
-
|
|
391
|
-
### Bot does not respond in group chats
|
|
392
|
-
|
|
393
|
-
1. Ensure the bot is added to the group
|
|
394
|
-
2. Ensure you @mention the bot (default behavior)
|
|
395
|
-
3. Check `groupPolicy` is not set to `"disabled"`
|
|
396
|
-
4. Check logs: `symi logs --follow`
|
|
397
|
-
|
|
398
|
-
### Bot does not receive messages
|
|
399
|
-
|
|
400
|
-
1. Ensure the app is published and approved
|
|
401
|
-
2. Ensure event subscription includes `im.message.receive_v1`
|
|
402
|
-
3. Ensure **long connection** is enabled
|
|
403
|
-
4. Ensure app permissions are complete
|
|
404
|
-
5. Ensure the gateway is running: `symi gateway status`
|
|
405
|
-
6. Check logs: `symi logs --follow`
|
|
406
|
-
|
|
407
|
-
### App Secret leak
|
|
408
|
-
|
|
409
|
-
1. Reset the App Secret in Feishu Open Platform
|
|
410
|
-
2. Update the App Secret in your config
|
|
411
|
-
3. Restart the gateway
|
|
412
|
-
|
|
413
|
-
### Message send failures
|
|
414
|
-
|
|
415
|
-
1. Ensure the app has `im:message:send_as_bot` permission
|
|
416
|
-
2. Ensure the app is published
|
|
417
|
-
3. Check logs for detailed errors
|
|
418
|
-
|
|
419
|
-
---
|
|
420
|
-
|
|
421
|
-
## Advanced configuration
|
|
422
|
-
|
|
423
|
-
### Multiple accounts
|
|
424
|
-
|
|
425
|
-
```json5
|
|
426
|
-
{
|
|
427
|
-
channels: {
|
|
428
|
-
feishu: {
|
|
429
|
-
accounts: {
|
|
430
|
-
main: {
|
|
431
|
-
appId: "cli_xxx",
|
|
432
|
-
appSecret: "xxx",
|
|
433
|
-
botName: "Primary bot",
|
|
434
|
-
},
|
|
435
|
-
backup: {
|
|
436
|
-
appId: "cli_yyy",
|
|
437
|
-
appSecret: "yyy",
|
|
438
|
-
botName: "Backup bot",
|
|
439
|
-
enabled: false,
|
|
440
|
-
},
|
|
441
|
-
},
|
|
442
|
-
},
|
|
443
|
-
},
|
|
444
|
-
}
|
|
445
|
-
```
|
|
446
|
-
|
|
447
|
-
### Message limits
|
|
448
|
-
|
|
449
|
-
- `textChunkLimit`: outbound text chunk size (default: 2000 chars)
|
|
450
|
-
- `mediaMaxMb`: media upload/download limit (default: 30MB)
|
|
451
|
-
|
|
452
|
-
### Streaming
|
|
453
|
-
|
|
454
|
-
Feishu supports streaming replies via interactive cards. When enabled, the bot updates a card as it generates text.
|
|
455
|
-
|
|
456
|
-
```json5
|
|
457
|
-
{
|
|
458
|
-
channels: {
|
|
459
|
-
feishu: {
|
|
460
|
-
streaming: true, // enable streaming card output (default true)
|
|
461
|
-
blockStreaming: true, // enable block-level streaming (default true)
|
|
462
|
-
},
|
|
463
|
-
},
|
|
464
|
-
}
|
|
465
|
-
```
|
|
466
|
-
|
|
467
|
-
Set `streaming: false` to wait for the full reply before sending.
|
|
468
|
-
|
|
469
|
-
### Multi-agent routing
|
|
470
|
-
|
|
471
|
-
Use `bindings` to route Feishu DMs or groups to different agents.
|
|
472
|
-
|
|
473
|
-
```json5
|
|
474
|
-
{
|
|
475
|
-
agents: {
|
|
476
|
-
list: [
|
|
477
|
-
{ id: "main" },
|
|
478
|
-
{
|
|
479
|
-
id: "symi-fan",
|
|
480
|
-
workspace: "/home/user/symi-fan",
|
|
481
|
-
agentDir: "/home/user/.symi/agents/symi-fan/agent",
|
|
482
|
-
},
|
|
483
|
-
{
|
|
484
|
-
id: "symi-xi",
|
|
485
|
-
workspace: "/home/user/symi-xi",
|
|
486
|
-
agentDir: "/home/user/.symi/agents/symi-xi/agent",
|
|
487
|
-
},
|
|
488
|
-
],
|
|
489
|
-
},
|
|
490
|
-
bindings: [
|
|
491
|
-
{
|
|
492
|
-
agentId: "main",
|
|
493
|
-
match: {
|
|
494
|
-
channel: "feishu",
|
|
495
|
-
peer: { kind: "direct", id: "ou_xxx" },
|
|
496
|
-
},
|
|
497
|
-
},
|
|
498
|
-
{
|
|
499
|
-
agentId: "symi-fan",
|
|
500
|
-
match: {
|
|
501
|
-
channel: "feishu",
|
|
502
|
-
peer: { kind: "direct", id: "ou_yyy" },
|
|
503
|
-
},
|
|
504
|
-
},
|
|
505
|
-
{
|
|
506
|
-
agentId: "symi-xi",
|
|
507
|
-
match: {
|
|
508
|
-
channel: "feishu",
|
|
509
|
-
peer: { kind: "group", id: "oc_zzz" },
|
|
510
|
-
},
|
|
511
|
-
},
|
|
512
|
-
],
|
|
513
|
-
}
|
|
514
|
-
```
|
|
515
|
-
|
|
516
|
-
Routing fields:
|
|
517
|
-
|
|
518
|
-
- `match.channel`: `"feishu"`
|
|
519
|
-
- `match.peer.kind`: `"direct"` or `"group"`
|
|
520
|
-
- `match.peer.id`: user Open ID (`ou_xxx`) or group ID (`oc_xxx`)
|
|
521
|
-
|
|
522
|
-
See [Get group/user IDs](#get-groupuser-ids) for lookup tips.
|
|
523
|
-
|
|
524
|
-
---
|
|
525
|
-
|
|
526
|
-
## Configuration
|
|
527
|
-
|
|
528
|
-
Full configuration: [Gateway configuration](/gateway/configuration)
|
|
529
|
-
|
|
530
|
-
Key options:
|
|
531
|
-
|
|
532
|
-
| Setting | Description | Default |
|
|
533
|
-
| ------------------------------------------------- | ------------------------------- | ---------------- |
|
|
534
|
-
| `channels.feishu.enabled` | Enable/disable channel | `true` |
|
|
535
|
-
| `channels.feishu.domain` | API domain (`feishu` or `lark`) | `feishu` |
|
|
536
|
-
| `channels.feishu.connectionMode` | Event transport mode | `websocket` |
|
|
537
|
-
| `channels.feishu.verificationToken` | Required for webhook mode | - |
|
|
538
|
-
| `channels.feishu.webhookPath` | Webhook route path | `/feishu/events` |
|
|
539
|
-
| `channels.feishu.webhookHost` | Webhook bind host | `127.0.0.1` |
|
|
540
|
-
| `channels.feishu.webhookPort` | Webhook bind port | `3000` |
|
|
541
|
-
| `channels.feishu.accounts.<id>.appId` | App ID | - |
|
|
542
|
-
| `channels.feishu.accounts.<id>.appSecret` | App Secret | - |
|
|
543
|
-
| `channels.feishu.accounts.<id>.domain` | Per-account API domain override | `feishu` |
|
|
544
|
-
| `channels.feishu.dmPolicy` | DM policy | `pairing` |
|
|
545
|
-
| `channels.feishu.allowFrom` | DM allowlist (open_id list) | - |
|
|
546
|
-
| `channels.feishu.groupPolicy` | Group policy | `open` |
|
|
547
|
-
| `channels.feishu.groupAllowFrom` | Group allowlist | - |
|
|
548
|
-
| `channels.feishu.groups.<chat_id>.requireMention` | Require @mention | `true` |
|
|
549
|
-
| `channels.feishu.groups.<chat_id>.enabled` | Enable group | `true` |
|
|
550
|
-
| `channels.feishu.textChunkLimit` | Message chunk size | `2000` |
|
|
551
|
-
| `channels.feishu.mediaMaxMb` | Media size limit | `30` |
|
|
552
|
-
| `channels.feishu.streaming` | Enable streaming card output | `true` |
|
|
553
|
-
| `channels.feishu.blockStreaming` | Enable block streaming | `true` |
|
|
554
|
-
|
|
555
|
-
---
|
|
556
|
-
|
|
557
|
-
## dmPolicy reference
|
|
558
|
-
|
|
559
|
-
| Value | Behavior |
|
|
560
|
-
| ------------- | --------------------------------------------------------------- |
|
|
561
|
-
| `"pairing"` | **Default.** Unknown users get a pairing code; must be approved |
|
|
562
|
-
| `"allowlist"` | Only users in `allowFrom` can chat |
|
|
563
|
-
| `"open"` | Allow all users (requires `"*"` in allowFrom) |
|
|
564
|
-
| `"disabled"` | Disable DMs |
|
|
565
|
-
|
|
566
|
-
---
|
|
567
|
-
|
|
568
|
-
## Supported message types
|
|
569
|
-
|
|
570
|
-
### Receive
|
|
571
|
-
|
|
572
|
-
- ✅ Text
|
|
573
|
-
- ✅ Rich text (post)
|
|
574
|
-
- ✅ Images
|
|
575
|
-
- ✅ Files
|
|
576
|
-
- ✅ Audio
|
|
577
|
-
- ✅ Video
|
|
578
|
-
- ✅ Stickers
|
|
579
|
-
|
|
580
|
-
### Send
|
|
581
|
-
|
|
582
|
-
- ✅ Text
|
|
583
|
-
- ✅ Images
|
|
584
|
-
- ✅ Files
|
|
585
|
-
- ✅ Audio
|
|
586
|
-
- ⚠️ Rich text (partial support)
|