@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
|
@@ -1,365 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
read_when:
|
|
3
|
-
- 在 Raspberry Pi 上设置 Symi 时
|
|
4
|
-
- 在 ARM 设备上运行 Symi 时
|
|
5
|
-
- 构建低成本常驻个人 AI 时
|
|
6
|
-
summary: 在 Raspberry Pi 上运行 Symi(低成本自托管设置)
|
|
7
|
-
title: Raspberry Pi
|
|
8
|
-
x-i18n:
|
|
9
|
-
generated_at: "2026-02-03T07:53:30Z"
|
|
10
|
-
model: claude-opus-4-5
|
|
11
|
-
provider: pi
|
|
12
|
-
source_hash: 6741eaf0115a4fa0efd6599a99e0526a20ceb30eda1d9b04cba9dd5dec84bee2
|
|
13
|
-
source_path: platforms/raspberry-pi.md
|
|
14
|
-
workflow: 15
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
# 在 Raspberry Pi 上运行 Symi
|
|
18
|
-
|
|
19
|
-
## 目标
|
|
20
|
-
|
|
21
|
-
在 Raspberry Pi 上运行持久、常驻的 Symi Gateway 网关,**一次性成本约 $35-80**(无月费)。
|
|
22
|
-
|
|
23
|
-
适用于:
|
|
24
|
-
|
|
25
|
-
- 24/7 个人 AI 助手
|
|
26
|
-
- 家庭自动化中心
|
|
27
|
-
- 低功耗、随时可用的 Telegram/WhatsApp 机器人
|
|
28
|
-
|
|
29
|
-
## 硬件要求
|
|
30
|
-
|
|
31
|
-
| Pi 型号 | 内存 | 是否可用? | 说明 |
|
|
32
|
-
| --------------- | ------- | ---------- | -------------------------- |
|
|
33
|
-
| **Pi 5** | 4GB/8GB | ✅ 最佳 | 最快,推荐 |
|
|
34
|
-
| **Pi 4** | 4GB | ✅ 良好 | 大多数用户的最佳选择 |
|
|
35
|
-
| **Pi 4** | 2GB | ✅ 可以 | 可用,添加交换空间 |
|
|
36
|
-
| **Pi 4** | 1GB | ⚠️ 紧张 | 使用交换空间可行,最小配置 |
|
|
37
|
-
| **Pi 3B+** | 1GB | ⚠️ 慢 | 可用但较慢 |
|
|
38
|
-
| **Pi Zero 2 W** | 512MB | ❌ | 不推荐 |
|
|
39
|
-
|
|
40
|
-
**最低配置:** 1GB 内存,1 核,500MB 磁盘
|
|
41
|
-
**推荐:** 2GB+ 内存,64 位系统,16GB+ SD 卡(或 USB SSD)
|
|
42
|
-
|
|
43
|
-
## 你需要准备
|
|
44
|
-
|
|
45
|
-
- Raspberry Pi 4 或 5(推荐 2GB+)
|
|
46
|
-
- MicroSD 卡(16GB+)或 USB SSD(性能更好)
|
|
47
|
-
- 电源(推荐官方 Pi 电源)
|
|
48
|
-
- 网络连接(以太网或 WiFi)
|
|
49
|
-
- 约 30 分钟
|
|
50
|
-
|
|
51
|
-
## 1) 刷写系统
|
|
52
|
-
|
|
53
|
-
使用 **Raspberry Pi OS Lite (64-bit)** — 无头服务器不需要桌面。
|
|
54
|
-
|
|
55
|
-
1. 下载 [Raspberry Pi Imager](https://www.raspberrypi.com/software/)
|
|
56
|
-
2. 选择系统:**Raspberry Pi OS Lite (64-bit)**
|
|
57
|
-
3. 点击齿轮图标(⚙️)预配置:
|
|
58
|
-
- 设置主机名:`gateway-host`
|
|
59
|
-
- 启用 SSH
|
|
60
|
-
- 设置用户名/密码
|
|
61
|
-
- 配置 WiFi(如果不使用以太网)
|
|
62
|
-
4. 刷写到你的 SD 卡 / USB 驱动器
|
|
63
|
-
5. 插入并启动 Pi
|
|
64
|
-
|
|
65
|
-
## 2) 通过 SSH 连接
|
|
66
|
-
|
|
67
|
-
```bash
|
|
68
|
-
ssh user@gateway-host
|
|
69
|
-
# 或使用 IP 地址
|
|
70
|
-
ssh user@192.168.x.x
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
## 3) 系统设置
|
|
74
|
-
|
|
75
|
-
```bash
|
|
76
|
-
# 更新系统
|
|
77
|
-
sudo apt update && sudo apt upgrade -y
|
|
78
|
-
|
|
79
|
-
# 安装必要软件包
|
|
80
|
-
sudo apt install -y git curl build-essential
|
|
81
|
-
|
|
82
|
-
# 设置时区(对 cron/提醒很重要)
|
|
83
|
-
sudo timedatectl set-timezone America/Chicago # 改成你的时区
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
## 4) 安装 Node.js 22(ARM64)
|
|
87
|
-
|
|
88
|
-
```bash
|
|
89
|
-
# 通过 NodeSource 安装 Node.js
|
|
90
|
-
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
|
|
91
|
-
sudo apt install -y nodejs
|
|
92
|
-
|
|
93
|
-
# 验证
|
|
94
|
-
node --version # 应显示 v22.x.x
|
|
95
|
-
npm --version
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
## 5) 添加交换空间(2GB 或更少内存时很重要)
|
|
99
|
-
|
|
100
|
-
交换空间可防止内存不足崩溃:
|
|
101
|
-
|
|
102
|
-
```bash
|
|
103
|
-
# 创建 2GB 交换文件
|
|
104
|
-
sudo fallocate -l 2G /swapfile
|
|
105
|
-
sudo chmod 600 /swapfile
|
|
106
|
-
sudo mkswap /swapfile
|
|
107
|
-
sudo swapon /swapfile
|
|
108
|
-
|
|
109
|
-
# 永久生效
|
|
110
|
-
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
|
|
111
|
-
|
|
112
|
-
# 优化低内存(降低 swappiness)
|
|
113
|
-
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
|
|
114
|
-
sudo sysctl -p
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
## 6) 安装 Symi
|
|
118
|
-
|
|
119
|
-
### 选项 A:标准安装(推荐)
|
|
120
|
-
|
|
121
|
-
```bash
|
|
122
|
-
curl -fsSL https://jaysteelmind.github.io/getsymi/install.sh | bash
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
### 选项 B:可修改安装(用于调试)
|
|
126
|
-
|
|
127
|
-
```bash
|
|
128
|
-
git clone https://github.com/symi/symi.git
|
|
129
|
-
cd symi
|
|
130
|
-
npm install
|
|
131
|
-
npm run build
|
|
132
|
-
npm link
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
可修改安装让你可以直接访问日志和代码 — 对调试 ARM 特定问题很有用。
|
|
136
|
-
|
|
137
|
-
## 7) 运行新手引导
|
|
138
|
-
|
|
139
|
-
```bash
|
|
140
|
-
symi onboard --install-daemon
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
按照向导操作:
|
|
144
|
-
|
|
145
|
-
1. **Gateway 网关模式:** Local
|
|
146
|
-
2. **认证:** 推荐 API 密钥(OAuth 在无头 Pi 上可能不稳定)
|
|
147
|
-
3. **渠道:** Telegram 最容易上手
|
|
148
|
-
4. **守护进程:** 是(systemd)
|
|
149
|
-
|
|
150
|
-
## 8) 验证安装
|
|
151
|
-
|
|
152
|
-
```bash
|
|
153
|
-
# 检查状态
|
|
154
|
-
symi status
|
|
155
|
-
|
|
156
|
-
# 检查服务
|
|
157
|
-
sudo systemctl status symi
|
|
158
|
-
|
|
159
|
-
# 查看日志
|
|
160
|
-
journalctl -u symi -f
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
## 9) 访问仪表板
|
|
164
|
-
|
|
165
|
-
由于 Pi 是无头的,使用 SSH 隧道:
|
|
166
|
-
|
|
167
|
-
```bash
|
|
168
|
-
# 从你的笔记本电脑/台式机
|
|
169
|
-
ssh -L 18789:localhost:18789 user@gateway-host
|
|
170
|
-
|
|
171
|
-
# 然后在浏览器中打开
|
|
172
|
-
open http://localhost:18789
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
或使用 Tailscale 实现常驻访问:
|
|
176
|
-
|
|
177
|
-
```bash
|
|
178
|
-
# 在 Pi 上
|
|
179
|
-
curl -fsSL https://tailscale.com/install.sh | sh
|
|
180
|
-
sudo tailscale up
|
|
181
|
-
|
|
182
|
-
# 更新配置
|
|
183
|
-
symi config set gateway.bind tailnet
|
|
184
|
-
sudo systemctl restart symi
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
---
|
|
188
|
-
|
|
189
|
-
## 性能优化
|
|
190
|
-
|
|
191
|
-
### 使用 USB SSD(巨大改进)
|
|
192
|
-
|
|
193
|
-
SD 卡速度慢且会磨损。USB SSD 可大幅提升性能:
|
|
194
|
-
|
|
195
|
-
```bash
|
|
196
|
-
# 检查是否从 USB 启动
|
|
197
|
-
lsblk
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
设置请参见 [Pi USB 启动指南](https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#usb-mass-storage-boot)。
|
|
201
|
-
|
|
202
|
-
### 减少内存使用
|
|
203
|
-
|
|
204
|
-
```bash
|
|
205
|
-
# 禁用 GPU 内存分配(无头模式)
|
|
206
|
-
echo 'gpu_mem=16' | sudo tee -a /boot/config.txt
|
|
207
|
-
|
|
208
|
-
# 如不需要则禁用蓝牙
|
|
209
|
-
sudo systemctl disable bluetooth
|
|
210
|
-
```
|
|
211
|
-
|
|
212
|
-
### 监控资源
|
|
213
|
-
|
|
214
|
-
```bash
|
|
215
|
-
# 检查内存
|
|
216
|
-
free -h
|
|
217
|
-
|
|
218
|
-
# 检查 CPU 温度
|
|
219
|
-
vcgencmd measure_temp
|
|
220
|
-
|
|
221
|
-
# 实时监控
|
|
222
|
-
htop
|
|
223
|
-
```
|
|
224
|
-
|
|
225
|
-
---
|
|
226
|
-
|
|
227
|
-
## ARM 特定说明
|
|
228
|
-
|
|
229
|
-
### 二进制兼容性
|
|
230
|
-
|
|
231
|
-
大多数 Symi 功能在 ARM64 上可用,但某些外部二进制文件可能需要 ARM 构建:
|
|
232
|
-
|
|
233
|
-
| 工具 | ARM64 状态 | 说明 |
|
|
234
|
-
| ------------------ | ---------- | ----------------------------------- |
|
|
235
|
-
| Node.js | ✅ | 运行良好 |
|
|
236
|
-
| WhatsApp (Baileys) | ✅ | 纯 JS,无问题 |
|
|
237
|
-
| Telegram | ✅ | 纯 JS,无问题 |
|
|
238
|
-
| gog (Gmail CLI) | ⚠️ | 检查是否有 ARM 版本 |
|
|
239
|
-
| Chromium (browser) | ✅ | `sudo apt install chromium-browser` |
|
|
240
|
-
|
|
241
|
-
如果某个 skill 失败,检查其二进制文件是否有 ARM 构建。许多 Go/Rust 工具有;有些没有。
|
|
242
|
-
|
|
243
|
-
### 32 位 vs 64 位
|
|
244
|
-
|
|
245
|
-
**始终使用 64 位系统。** Node.js 和许多现代工具需要它。使用以下命令检查:
|
|
246
|
-
|
|
247
|
-
```bash
|
|
248
|
-
uname -m
|
|
249
|
-
# 应显示:aarch64(64 位)而不是 armv7l(32 位)
|
|
250
|
-
```
|
|
251
|
-
|
|
252
|
-
---
|
|
253
|
-
|
|
254
|
-
## 推荐的模型设置
|
|
255
|
-
|
|
256
|
-
由于 Pi 只是 Gateway 网关(模型在云端运行),使用基于 API 的模型:
|
|
257
|
-
|
|
258
|
-
```json
|
|
259
|
-
{
|
|
260
|
-
"agents": {
|
|
261
|
-
"defaults": {
|
|
262
|
-
"model": {
|
|
263
|
-
"primary": "anthropic/claude-sonnet-4-20250514",
|
|
264
|
-
"fallbacks": ["openai/gpt-4o-mini"]
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
```
|
|
270
|
-
|
|
271
|
-
**不要尝试在 Pi 上运行本地 LLM** — 即使是小模型也太慢了。让 Claude/GPT 来做繁重的工作。
|
|
272
|
-
|
|
273
|
-
---
|
|
274
|
-
|
|
275
|
-
## 开机自启
|
|
276
|
-
|
|
277
|
-
新手引导向导会设置这个,但要验证:
|
|
278
|
-
|
|
279
|
-
```bash
|
|
280
|
-
# 检查服务是否已启用
|
|
281
|
-
sudo systemctl is-enabled symi
|
|
282
|
-
|
|
283
|
-
# 如果没有则启用
|
|
284
|
-
sudo systemctl enable symi
|
|
285
|
-
|
|
286
|
-
# 开机启动
|
|
287
|
-
sudo systemctl start symi
|
|
288
|
-
```
|
|
289
|
-
|
|
290
|
-
---
|
|
291
|
-
|
|
292
|
-
## 故障排除
|
|
293
|
-
|
|
294
|
-
### 内存不足(OOM)
|
|
295
|
-
|
|
296
|
-
```bash
|
|
297
|
-
# 检查内存
|
|
298
|
-
free -h
|
|
299
|
-
|
|
300
|
-
# 添加更多交换空间(见步骤 5)
|
|
301
|
-
# 或减少 Pi 上运行的服务
|
|
302
|
-
```
|
|
303
|
-
|
|
304
|
-
### 性能慢
|
|
305
|
-
|
|
306
|
-
- 使用 USB SSD 代替 SD 卡
|
|
307
|
-
- 禁用未使用的服务:`sudo systemctl disable cups bluetooth avahi-daemon`
|
|
308
|
-
- 检查 CPU 降频:`vcgencmd get_throttled`(应返回 `0x0`)
|
|
309
|
-
|
|
310
|
-
### 服务无法启动
|
|
311
|
-
|
|
312
|
-
```bash
|
|
313
|
-
# 检查日志
|
|
314
|
-
journalctl -u symi --no-pager -n 100
|
|
315
|
-
|
|
316
|
-
# 常见修复:重新构建
|
|
317
|
-
cd ~/symi # 如果使用可修改安装
|
|
318
|
-
npm run build
|
|
319
|
-
sudo systemctl restart symi
|
|
320
|
-
```
|
|
321
|
-
|
|
322
|
-
### ARM 二进制问题
|
|
323
|
-
|
|
324
|
-
如果某个 skill 失败并显示"exec format error":
|
|
325
|
-
|
|
326
|
-
1. 检查该二进制文件是否有 ARM64 构建
|
|
327
|
-
2. 尝试从源代码构建
|
|
328
|
-
3. 或使用支持 ARM 的 Docker 容器
|
|
329
|
-
|
|
330
|
-
### WiFi 断开
|
|
331
|
-
|
|
332
|
-
对于使用 WiFi 的无头 Pi:
|
|
333
|
-
|
|
334
|
-
```bash
|
|
335
|
-
# 禁用 WiFi 电源管理
|
|
336
|
-
sudo iwconfig wlan0 power off
|
|
337
|
-
|
|
338
|
-
# 永久生效
|
|
339
|
-
echo 'wireless-power off' | sudo tee -a /etc/network/interfaces
|
|
340
|
-
```
|
|
341
|
-
|
|
342
|
-
---
|
|
343
|
-
|
|
344
|
-
## 成本对比
|
|
345
|
-
|
|
346
|
-
| 设置 | 一次性成本 | 月费 | 说明 |
|
|
347
|
-
| -------------- | ---------- | -------- | ------------------ |
|
|
348
|
-
| **Pi 4 (2GB)** | ~$45 | $0 | + 电费(约 $5/年) |
|
|
349
|
-
| **Pi 4 (4GB)** | ~$55 | $0 | 推荐 |
|
|
350
|
-
| **Pi 5 (4GB)** | ~$60 | $0 | 最佳性能 |
|
|
351
|
-
| **Pi 5 (8GB)** | ~$80 | $0 | 过剩但面向未来 |
|
|
352
|
-
| DigitalOcean | $0 | $6/月 | $72/年 |
|
|
353
|
-
| Hetzner | $0 | €3.79/月 | 约 $50/年 |
|
|
354
|
-
|
|
355
|
-
**回本期:** 与云 VPS 相比,Pi 约 6-12 个月内回本。
|
|
356
|
-
|
|
357
|
-
---
|
|
358
|
-
|
|
359
|
-
## 另请参阅
|
|
360
|
-
|
|
361
|
-
- [Linux 指南](/platforms/linux) — 通用 Linux 设置
|
|
362
|
-
- [DigitalOcean 指南](/platforms/digitalocean) — 云替代方案
|
|
363
|
-
- [Hetzner 指南](/install/hetzner) — Docker 设置
|
|
364
|
-
- [Tailscale](/gateway/tailscale) — 远程访问
|
|
365
|
-
- [节点](/nodes) — 将你的笔记本电脑/手机与 Pi Gateway 网关配对
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
read_when:
|
|
3
|
-
- 在 Windows 上安装 Symi
|
|
4
|
-
- 查找 Windows 配套应用状态
|
|
5
|
-
summary: Windows(WSL2)支持 + 配套应用状态
|
|
6
|
-
title: Windows (WSL2)
|
|
7
|
-
x-i18n:
|
|
8
|
-
generated_at: "2026-02-03T07:53:19Z"
|
|
9
|
-
model: claude-opus-4-5
|
|
10
|
-
provider: pi
|
|
11
|
-
source_hash: c93d2263b4e5b60cb6fbe9adcb1a0ca95b70cd6feb6e63cfc4459cb18b229da0
|
|
12
|
-
source_path: platforms/windows.md
|
|
13
|
-
workflow: 15
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
# Windows (WSL2)
|
|
17
|
-
|
|
18
|
-
Windows 上的 Symi 推荐**通过 WSL2**(推荐 Ubuntu)。CLI + Gateway 网关在 Linux 内运行,这保持了运行时的一致性并使工具兼容性大大提高(Node/Bun/pnpm、Linux 二进制文件、Skills)。原生 Windows 可能更棘手。WSL2 给你完整的 Linux 体验——一条命令安装:`wsl --install`。
|
|
19
|
-
|
|
20
|
-
原生 Windows 配套应用已在计划中。
|
|
21
|
-
|
|
22
|
-
## 安装(WSL2)
|
|
23
|
-
|
|
24
|
-
- [入门指南](/start/getting-started)(在 WSL 内使用)
|
|
25
|
-
- [安装和更新](/install/updating)
|
|
26
|
-
- 官方 WSL2 指南(Microsoft):https://learn.microsoft.com/windows/wsl/install
|
|
27
|
-
|
|
28
|
-
## Gateway 网关
|
|
29
|
-
|
|
30
|
-
- [Gateway 网关操作手册](/gateway)
|
|
31
|
-
- [配置](/gateway/configuration)
|
|
32
|
-
|
|
33
|
-
## Gateway 网关服务安装(CLI)
|
|
34
|
-
|
|
35
|
-
在 WSL2 内:
|
|
36
|
-
|
|
37
|
-
```
|
|
38
|
-
symi onboard --install-daemon
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
或:
|
|
42
|
-
|
|
43
|
-
```
|
|
44
|
-
symi gateway install
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
或:
|
|
48
|
-
|
|
49
|
-
```
|
|
50
|
-
symi configure
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
出现提示时选择 **Gateway service**。
|
|
54
|
-
|
|
55
|
-
修复/迁移:
|
|
56
|
-
|
|
57
|
-
```
|
|
58
|
-
symi doctor
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
## 高级:通过 LAN 暴露 WSL 服务(portproxy)
|
|
62
|
-
|
|
63
|
-
WSL 有自己的虚拟网络。如果另一台机器需要访问**在 WSL 内**运行的服务(SSH、本地 TTS 服务器或 Gateway 网关),你必须将 Windows 端口转发到当前的 WSL IP。WSL IP 在重启后会改变,因此你可能需要刷新转发规则。
|
|
64
|
-
|
|
65
|
-
示例(以**管理员身份**运行 PowerShell):
|
|
66
|
-
|
|
67
|
-
```powershell
|
|
68
|
-
$Distro = "Ubuntu-24.04"
|
|
69
|
-
$ListenPort = 2222
|
|
70
|
-
$TargetPort = 22
|
|
71
|
-
|
|
72
|
-
$WslIp = (wsl -d $Distro -- hostname -I).Trim().Split(" ")[0]
|
|
73
|
-
if (-not $WslIp) { throw "WSL IP not found." }
|
|
74
|
-
|
|
75
|
-
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=$ListenPort `
|
|
76
|
-
connectaddress=$WslIp connectport=$TargetPort
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
允许端口通过 Windows 防火墙(一次性):
|
|
80
|
-
|
|
81
|
-
```powershell
|
|
82
|
-
New-NetFirewallRule -DisplayName "WSL SSH $ListenPort" -Direction Inbound `
|
|
83
|
-
-Protocol TCP -LocalPort $ListenPort -Action Allow
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
在 WSL 重启后刷新 portproxy:
|
|
87
|
-
|
|
88
|
-
```powershell
|
|
89
|
-
netsh interface portproxy delete v4tov4 listenport=$ListenPort listenaddress=0.0.0.0 | Out-Null
|
|
90
|
-
netsh interface portproxy add v4tov4 listenport=$ListenPort listenaddress=0.0.0.0 `
|
|
91
|
-
connectaddress=$WslIp connectport=$TargetPort | Out-Null
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
注意事项:
|
|
95
|
-
|
|
96
|
-
- 从另一台机器 SSH 目标是 **Windows 主机 IP**(示例:`ssh user@windows-host -p 2222`)。
|
|
97
|
-
- 远程节点必须指向**可访问的** Gateway 网关 URL(不是 `127.0.0.1`);使用 `symi status --all` 确认。
|
|
98
|
-
- 使用 `listenaddress=0.0.0.0` 进行 LAN 访问;`127.0.0.1` 仅保持本地访问。
|
|
99
|
-
- 如果你想自动化,注册一个计划任务在登录时运行刷新步骤。
|
|
100
|
-
|
|
101
|
-
## WSL2 分步安装
|
|
102
|
-
|
|
103
|
-
### 1)安装 WSL2 + Ubuntu
|
|
104
|
-
|
|
105
|
-
打开 PowerShell(管理员):
|
|
106
|
-
|
|
107
|
-
```powershell
|
|
108
|
-
wsl --install
|
|
109
|
-
# Or pick a distro explicitly:
|
|
110
|
-
wsl --list --online
|
|
111
|
-
wsl --install -d Ubuntu-24.04
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
如果 Windows 要求则重启。
|
|
115
|
-
|
|
116
|
-
### 2)启用 systemd(Gateway 网关安装所需)
|
|
117
|
-
|
|
118
|
-
在你的 WSL 终端中:
|
|
119
|
-
|
|
120
|
-
```bash
|
|
121
|
-
sudo tee /etc/wsl.conf >/dev/null <<'EOF'
|
|
122
|
-
[boot]
|
|
123
|
-
systemd=true
|
|
124
|
-
EOF
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
然后从 PowerShell:
|
|
128
|
-
|
|
129
|
-
```powershell
|
|
130
|
-
wsl --shutdown
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
重新打开 Ubuntu,然后验证:
|
|
134
|
-
|
|
135
|
-
```bash
|
|
136
|
-
systemctl --user status
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
### 3)安装 Symi(在 WSL 内)
|
|
140
|
-
|
|
141
|
-
在 WSL 内按照 Linux 入门指南流程:
|
|
142
|
-
|
|
143
|
-
```bash
|
|
144
|
-
git clone https://github.com/symi/symi.git
|
|
145
|
-
cd symi
|
|
146
|
-
pnpm install
|
|
147
|
-
pnpm ui:build # auto-installs UI deps on first run
|
|
148
|
-
pnpm build
|
|
149
|
-
symi onboard
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
完整指南:[入门指南](/start/getting-started)
|
|
153
|
-
|
|
154
|
-
## Windows 配套应用
|
|
155
|
-
|
|
156
|
-
我们还没有 Windows 配套应用。如果你想让它实现,欢迎贡献。
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
read_when:
|
|
3
|
-
- 你想在插件中添加新的智能体工具
|
|
4
|
-
- 你需要通过允许列表使工具可选启用
|
|
5
|
-
summary: 在插件中编写智能体工具(模式、可选工具、允许列表)
|
|
6
|
-
title: 插件智能体工具
|
|
7
|
-
x-i18n:
|
|
8
|
-
generated_at: "2026-02-03T07:53:22Z"
|
|
9
|
-
model: claude-opus-4-5
|
|
10
|
-
provider: pi
|
|
11
|
-
source_hash: 4479462e9d8b17b664bf6b5f424f2efc8e7bedeaabfdb6a93126e051e635c659
|
|
12
|
-
source_path: plugins/agent-tools.md
|
|
13
|
-
workflow: 15
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
# 插件智能体工具
|
|
17
|
-
|
|
18
|
-
Symi 插件可以注册**智能体工具**(JSON 模式函数),这些工具在智能体运行期间暴露给 LLM。工具可以是**必需的**(始终可用)或**可选的**(选择启用)。
|
|
19
|
-
|
|
20
|
-
智能体工具在主配置的 `tools` 下配置,或在每个智能体的 `agents.list[].tools` 下配置。允许列表/拒绝列表策略控制智能体可以调用哪些工具。
|
|
21
|
-
|
|
22
|
-
## 基本工具
|
|
23
|
-
|
|
24
|
-
```ts
|
|
25
|
-
import { Type } from "@sinclair/typebox";
|
|
26
|
-
|
|
27
|
-
export default function (api) {
|
|
28
|
-
api.registerTool({
|
|
29
|
-
name: "my_tool",
|
|
30
|
-
description: "Do a thing",
|
|
31
|
-
parameters: Type.Object({
|
|
32
|
-
input: Type.String(),
|
|
33
|
-
}),
|
|
34
|
-
async execute(_id, params) {
|
|
35
|
-
return { content: [{ type: "text", text: params.input }] };
|
|
36
|
-
},
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
## 可选工具(选择启用)
|
|
42
|
-
|
|
43
|
-
可选工具**永远不会**自动启用。用户必须将它们添加到智能体允许列表中。
|
|
44
|
-
|
|
45
|
-
```ts
|
|
46
|
-
export default function (api) {
|
|
47
|
-
api.registerTool(
|
|
48
|
-
{
|
|
49
|
-
name: "workflow_tool",
|
|
50
|
-
description: "Run a local workflow",
|
|
51
|
-
parameters: {
|
|
52
|
-
type: "object",
|
|
53
|
-
properties: {
|
|
54
|
-
pipeline: { type: "string" },
|
|
55
|
-
},
|
|
56
|
-
required: ["pipeline"],
|
|
57
|
-
},
|
|
58
|
-
async execute(_id, params) {
|
|
59
|
-
return { content: [{ type: "text", text: params.pipeline }] };
|
|
60
|
-
},
|
|
61
|
-
},
|
|
62
|
-
{ optional: true },
|
|
63
|
-
);
|
|
64
|
-
}
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
在 `agents.list[].tools.allow`(或全局 `tools.allow`)中启用可选工具:
|
|
68
|
-
|
|
69
|
-
```json5
|
|
70
|
-
{
|
|
71
|
-
agents: {
|
|
72
|
-
list: [
|
|
73
|
-
{
|
|
74
|
-
id: "main",
|
|
75
|
-
tools: {
|
|
76
|
-
allow: [
|
|
77
|
-
"workflow_tool", // 特定工具名称
|
|
78
|
-
"workflow", // 插件 id(启用该插件的所有工具)
|
|
79
|
-
"group:plugins", // 所有插件工具
|
|
80
|
-
],
|
|
81
|
-
},
|
|
82
|
-
},
|
|
83
|
-
],
|
|
84
|
-
},
|
|
85
|
-
}
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
其他影响工具可用性的配置选项:
|
|
89
|
-
|
|
90
|
-
- 仅包含插件工具名称的允许列表被视为插件选择启用;核心工具保持启用,除非你在允许列表中也包含核心工具或组。
|
|
91
|
-
- `tools.profile` / `agents.list[].tools.profile`(基础允许列表)
|
|
92
|
-
- `tools.byProvider` / `agents.list[].tools.byProvider`(特定提供商的允许/拒绝)
|
|
93
|
-
- `tools.sandbox.tools.*`(沙箱隔离时的沙箱工具策略)
|
|
94
|
-
|
|
95
|
-
## 规则 + 提示
|
|
96
|
-
|
|
97
|
-
- 工具名称**不能**与核心工具名称冲突;冲突的工具会被跳过。
|
|
98
|
-
- 允许列表中使用的插件 id 不能与核心工具名称冲突。
|
|
99
|
-
- 对于触发副作用或需要额外二进制文件/凭证的工具,优先使用 `optional: true`。
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
read_when:
|
|
3
|
-
- 你正在构建一个 Symi 插件
|
|
4
|
-
- 你需要提供插件配置 Schema 或调试插件验证错误
|
|
5
|
-
summary: 插件清单及 JSON Schema 要求(严格配置验证)
|
|
6
|
-
title: 插件清单
|
|
7
|
-
x-i18n:
|
|
8
|
-
generated_at: "2026-02-01T21:34:21Z"
|
|
9
|
-
model: claude-opus-4-5
|
|
10
|
-
provider: pi
|
|
11
|
-
source_hash: 47b3e33c915f47bdd172ae0316af7ef16ca831c317e3f1a7fdfcd67e3bd43f56
|
|
12
|
-
source_path: plugins/manifest.md
|
|
13
|
-
workflow: 15
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
# 插件清单(symi.plugin.json)
|
|
17
|
-
|
|
18
|
-
每个插件都**必须**在**插件根目录**下提供一个 `symi.plugin.json` 文件。Symi 使用此清单来**在不执行插件代码的情况下**验证配置。缺失或无效的清单将被视为插件错误,并阻止配置验证。
|
|
19
|
-
|
|
20
|
-
参阅完整的插件系统指南:[插件](/tools/plugin)。
|
|
21
|
-
|
|
22
|
-
## 必填字段
|
|
23
|
-
|
|
24
|
-
```json
|
|
25
|
-
{
|
|
26
|
-
"id": "voice-call",
|
|
27
|
-
"configSchema": {
|
|
28
|
-
"type": "object",
|
|
29
|
-
"additionalProperties": false,
|
|
30
|
-
"properties": {}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
必填键:
|
|
36
|
-
|
|
37
|
-
- `id`(字符串):插件的规范 id。
|
|
38
|
-
- `configSchema`(对象):插件配置的 JSON Schema(内联形式)。
|
|
39
|
-
|
|
40
|
-
可选键:
|
|
41
|
-
|
|
42
|
-
- `kind`(字符串):插件类型(例如:`"memory"`)。
|
|
43
|
-
- `channels`(数组):此插件注册的渠道 id(例如:`["matrix"]`)。
|
|
44
|
-
- `providers`(数组):此插件注册的提供商 id。
|
|
45
|
-
- `skills`(数组):要加载的 Skills 目录(相对于插件根目录)。
|
|
46
|
-
- `name`(字符串):插件的显示名称。
|
|
47
|
-
- `description`(字符串):插件简短描述。
|
|
48
|
-
- `uiHints`(对象):用于 UI 渲染的配置字段标签/占位符/敏感标志。
|
|
49
|
-
- `version`(字符串):插件版本(仅供参考)。
|
|
50
|
-
|
|
51
|
-
## JSON Schema 要求
|
|
52
|
-
|
|
53
|
-
- **每个插件都必须提供 JSON Schema**,即使不接受任何配置也是如此。
|
|
54
|
-
- 空 Schema 是可以接受的(例如 `{ "type": "object", "additionalProperties": false }`)。
|
|
55
|
-
- Schema 在配置读取/写入时进行验证,而非在运行时。
|
|
56
|
-
|
|
57
|
-
## 验证行为
|
|
58
|
-
|
|
59
|
-
- 未知的 `channels.*` 键会被视为**错误**,除非该渠道 id 已在插件清单中声明。
|
|
60
|
-
- `plugins.entries.<id>`、`plugins.allow`、`plugins.deny` 和 `plugins.slots.*` 必须引用**可发现的**插件 id。未知 id 会被视为**错误**。
|
|
61
|
-
- 如果插件已安装但清单或 Schema 损坏或缺失,验证将失败,Doctor 会报告插件错误。
|
|
62
|
-
- 如果插件配置存在但插件已**禁用**,配置会被保留,并在 Doctor 和日志中显示**警告**。
|
|
63
|
-
|
|
64
|
-
## 注意事项
|
|
65
|
-
|
|
66
|
-
- 清单对**所有插件**都是必需的,包括从本地文件系统加载的插件。
|
|
67
|
-
- 运行时仍然会单独加载插件模块;清单仅用于发现和验证。
|
|
68
|
-
- 如果你的插件依赖原生模块,请记录构建步骤以及所有包管理器允许列表要求(例如 pnpm 的 `allow-build-scripts` - `pnpm rebuild <package>`)。
|