@symerian/symi 3.0.20 → 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/{audio-preflight-BaCdNfrk.js → audio-preflight-D7BVT-ls.js} +4 -4
- package/dist/build-info.json +3 -3
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{chrome-UfmVM0xR.js → chrome-B5CO2vB5.js} +7 -7
- package/dist/{deliver-BqXdac6W.js → deliver-CrwjsDwv.js} +1 -1
- package/dist/extensionAPI.js +7 -7
- package/dist/{image-DIWsXYcW.js → image-Csu7WcLW.js} +1 -1
- package/dist/{manager-DW3SxcPr.js → manager-BkkVjTO8.js} +1 -1
- package/dist/{pi-embedded-BNch0U5F.js → pi-embedded-Dhp64z5l.js} +16 -16
- package/dist/{pi-embedded-helpers-IkHl02JF.js → pi-embedded-helpers-840E4hop.js} +4 -4
- package/dist/{pw-ai-nMkA-oDJ.js → pw-ai-CBgJf_RR.js} +1 -1
- package/dist/{runner-DNEC58JI.js → runner-BbFKo1ne.js} +1 -1
- package/dist/{synthesis-BWAr0sZ9.js → synthesis-DoEM0E8_.js} +7 -7
- package/dist/{web-7a-m_UxL.js → web-BYXJn-Ps.js} +7 -7
- 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/extensions/imessage/index.ts +0 -17
- package/extensions/imessage/node_modules/.bin/symi +0 -21
- package/extensions/imessage/package.json +0 -15
- package/extensions/imessage/src/channel.outbound.test.ts +0 -66
- package/extensions/imessage/src/channel.ts +0 -298
- package/extensions/imessage/src/runtime.ts +0 -14
- package/extensions/imessage/symi.plugin.json +0 -9
- package/extensions/line/index.ts +0 -19
- package/extensions/line/node_modules/.bin/symi +0 -21
- package/extensions/line/package.json +0 -30
- package/extensions/line/src/card-command.ts +0 -344
- package/extensions/line/src/channel.logout.test.ts +0 -133
- package/extensions/line/src/channel.sendPayload.test.ts +0 -312
- package/extensions/line/src/channel.startup.test.ts +0 -133
- package/extensions/line/src/channel.ts +0 -801
- package/extensions/line/src/runtime.ts +0 -14
- package/extensions/line/symi.plugin.json +0 -9
- package/extensions/signal/index.ts +0 -17
- package/extensions/signal/node_modules/.bin/symi +0 -21
- package/extensions/signal/package.json +0 -15
- package/extensions/signal/src/channel.ts +0 -302
- package/extensions/signal/src/runtime.ts +0 -14
- package/extensions/signal/symi.plugin.json +0 -9
- package/extensions/telegram/index.ts +0 -17
- package/extensions/telegram/node_modules/.bin/symi +0 -21
- package/extensions/telegram/package.json +0 -15
- package/extensions/telegram/src/channel.test.ts +0 -125
- package/extensions/telegram/src/channel.ts +0 -560
- package/extensions/telegram/src/runtime.ts +0 -14
- package/extensions/telegram/symi.plugin.json +0 -9
- package/extensions/whatsapp/index.ts +0 -17
- package/extensions/whatsapp/node_modules/.bin/symi +0 -21
- package/extensions/whatsapp/package.json +0 -15
- package/extensions/whatsapp/src/channel.ts +0 -465
- package/extensions/whatsapp/src/resolve-target.test.ts +0 -170
- package/extensions/whatsapp/src/runtime.ts +0 -14
- package/extensions/whatsapp/symi.plugin.json +0 -9
|
@@ -1,336 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
read_when:
|
|
3
|
-
- 你想让 Symi 在云 VPS 上 24/7 运行(而不是你的笔记本电脑)
|
|
4
|
-
- 你想在自己的 VPS 上运行生产级、永久在线的 Gateway 网关
|
|
5
|
-
- 你想完全控制持久化、二进制文件和重启行为
|
|
6
|
-
- 你在 Hetzner 或类似提供商上用 Docker 运行 Symi
|
|
7
|
-
summary: 在廉价的 Hetzner VPS(Docker)上 24/7 运行 Symi Gateway 网关,带持久状态和内置二进制文件
|
|
8
|
-
title: Hetzner
|
|
9
|
-
x-i18n:
|
|
10
|
-
generated_at: "2026-02-03T07:52:17Z"
|
|
11
|
-
model: claude-opus-4-5
|
|
12
|
-
provider: pi
|
|
13
|
-
source_hash: 84d9f24f1a803aa15faa52a05f25fe557ec3e2c2f48a00c701d49764bd3bc21a
|
|
14
|
-
source_path: platforms/hetzner.md
|
|
15
|
-
workflow: 15
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
# 在 Hetzner 上运行 Symi(Docker,生产 VPS 指南)
|
|
19
|
-
|
|
20
|
-
## 目标
|
|
21
|
-
|
|
22
|
-
使用 Docker 在 Hetzner VPS 上运行持久的 Symi Gateway 网关,带持久状态、内置二进制文件和安全的重启行为。
|
|
23
|
-
|
|
24
|
-
如果你想要"约 $5 实现 Symi 24/7",这是最简单可靠的设置。
|
|
25
|
-
Hetzner 定价会变化;选择最小的 Debian/Ubuntu VPS,如果遇到 OOM 再扩容。
|
|
26
|
-
|
|
27
|
-
## 我们在做什么(简单说明)?
|
|
28
|
-
|
|
29
|
-
- 租用一台小型 Linux 服务器(Hetzner VPS)
|
|
30
|
-
- 安装 Docker(隔离的应用运行时)
|
|
31
|
-
- 在 Docker 中启动 Symi Gateway 网关
|
|
32
|
-
- 在主机上持久化 `~/.symi` + `~/.symi/workspace`(重启/重建后保留)
|
|
33
|
-
- 通过 SSH 隧道从你的笔记本电脑访问控制 UI
|
|
34
|
-
|
|
35
|
-
Gateway 网关可以通过以下方式访问:
|
|
36
|
-
|
|
37
|
-
- 从你的笔记本电脑进行 SSH 端口转发
|
|
38
|
-
- 如果你自己管理防火墙和令牌,可以直接暴露端口
|
|
39
|
-
|
|
40
|
-
本指南假设在 Hetzner 上使用 Ubuntu 或 Debian。
|
|
41
|
-
如果你使用其他 Linux VPS,请相应地映射软件包。
|
|
42
|
-
通用 Docker 流程请参见 [Docker](/install/docker)。
|
|
43
|
-
|
|
44
|
-
---
|
|
45
|
-
|
|
46
|
-
## 快速路径(有经验的运维人员)
|
|
47
|
-
|
|
48
|
-
1. 配置 Hetzner VPS
|
|
49
|
-
2. 安装 Docker
|
|
50
|
-
3. 克隆 Symi 仓库
|
|
51
|
-
4. 创建持久化主机目录
|
|
52
|
-
5. 配置 `.env` 和 `docker-compose.yml`
|
|
53
|
-
6. 将所需二进制文件烘焙到镜像中
|
|
54
|
-
7. `docker compose up -d`
|
|
55
|
-
8. 验证持久化和 Gateway 网关访问
|
|
56
|
-
|
|
57
|
-
---
|
|
58
|
-
|
|
59
|
-
## 你需要什么
|
|
60
|
-
|
|
61
|
-
- 具有 root 访问权限的 Hetzner VPS
|
|
62
|
-
- 从你的笔记本电脑进行 SSH 访问
|
|
63
|
-
- 基本熟悉 SSH + 复制/粘贴
|
|
64
|
-
- 约 20 分钟
|
|
65
|
-
- Docker 和 Docker Compose
|
|
66
|
-
- 模型认证凭证
|
|
67
|
-
- 可选的提供商凭证
|
|
68
|
-
- WhatsApp 二维码
|
|
69
|
-
- Telegram 机器人令牌
|
|
70
|
-
- Gmail OAuth
|
|
71
|
-
|
|
72
|
-
---
|
|
73
|
-
|
|
74
|
-
## 1) 配置 VPS
|
|
75
|
-
|
|
76
|
-
在 Hetzner 中创建一个 Ubuntu 或 Debian VPS。
|
|
77
|
-
|
|
78
|
-
以 root 身份连接:
|
|
79
|
-
|
|
80
|
-
```bash
|
|
81
|
-
ssh root@YOUR_VPS_IP
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
本指南假设 VPS 是有状态的。
|
|
85
|
-
不要将其视为一次性基础设施。
|
|
86
|
-
|
|
87
|
-
---
|
|
88
|
-
|
|
89
|
-
## 2) 安装 Docker(在 VPS 上)
|
|
90
|
-
|
|
91
|
-
```bash
|
|
92
|
-
apt-get update
|
|
93
|
-
apt-get install -y git curl ca-certificates
|
|
94
|
-
curl -fsSL https://get.docker.com | sh
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
验证:
|
|
98
|
-
|
|
99
|
-
```bash
|
|
100
|
-
docker --version
|
|
101
|
-
docker compose version
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
## 3) 克隆 Symi 仓库
|
|
107
|
-
|
|
108
|
-
```bash
|
|
109
|
-
git clone https://github.com/symi/symi.git
|
|
110
|
-
cd symi
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
本指南假设你将构建自定义镜像以保证二进制文件持久化。
|
|
114
|
-
|
|
115
|
-
---
|
|
116
|
-
|
|
117
|
-
## 4) 创建持久化主机目录
|
|
118
|
-
|
|
119
|
-
Docker 容器是临时的。
|
|
120
|
-
所有长期状态必须存储在主机上。
|
|
121
|
-
|
|
122
|
-
```bash
|
|
123
|
-
mkdir -p /root/.symi
|
|
124
|
-
mkdir -p /root/.symi/workspace
|
|
125
|
-
|
|
126
|
-
# 将所有权设置为容器用户(uid 1000):
|
|
127
|
-
chown -R 1000:1000 /root/.symi
|
|
128
|
-
chown -R 1000:1000 /root/.symi/workspace
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
---
|
|
132
|
-
|
|
133
|
-
## 5) 配置环境变量
|
|
134
|
-
|
|
135
|
-
在仓库根目录创建 `.env`。
|
|
136
|
-
|
|
137
|
-
```bash
|
|
138
|
-
SYMI_IMAGE=symi:latest
|
|
139
|
-
SYMI_GATEWAY_TOKEN=change-me-now
|
|
140
|
-
SYMI_GATEWAY_BIND=lan
|
|
141
|
-
SYMI_GATEWAY_PORT=18789
|
|
142
|
-
|
|
143
|
-
SYMI_CONFIG_DIR=/root/.symi
|
|
144
|
-
SYMI_WORKSPACE_DIR=/root/.symi/workspace
|
|
145
|
-
|
|
146
|
-
GOG_KEYRING_PASSWORD=change-me-now
|
|
147
|
-
XDG_CONFIG_HOME=/home/node/.symi
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
生成强密钥:
|
|
151
|
-
|
|
152
|
-
```bash
|
|
153
|
-
openssl rand -hex 32
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
**不要提交此文件。**
|
|
157
|
-
|
|
158
|
-
---
|
|
159
|
-
|
|
160
|
-
## 6) Docker Compose 配置
|
|
161
|
-
|
|
162
|
-
创建或更新 `docker-compose.yml`。
|
|
163
|
-
|
|
164
|
-
```yaml
|
|
165
|
-
services:
|
|
166
|
-
symi-gateway:
|
|
167
|
-
image: ${SYMI_IMAGE}
|
|
168
|
-
build: .
|
|
169
|
-
restart: unless-stopped
|
|
170
|
-
env_file:
|
|
171
|
-
- .env
|
|
172
|
-
environment:
|
|
173
|
-
- HOME=/home/node
|
|
174
|
-
- NODE_ENV=production
|
|
175
|
-
- TERM=xterm-256color
|
|
176
|
-
- SYMI_GATEWAY_BIND=${SYMI_GATEWAY_BIND}
|
|
177
|
-
- SYMI_GATEWAY_PORT=${SYMI_GATEWAY_PORT}
|
|
178
|
-
- SYMI_GATEWAY_TOKEN=${SYMI_GATEWAY_TOKEN}
|
|
179
|
-
- GOG_KEYRING_PASSWORD=${GOG_KEYRING_PASSWORD}
|
|
180
|
-
- XDG_CONFIG_HOME=${XDG_CONFIG_HOME}
|
|
181
|
-
- PATH=/home/linuxbrew/.linuxbrew/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
|
182
|
-
volumes:
|
|
183
|
-
- ${SYMI_CONFIG_DIR}:/home/node/.symi
|
|
184
|
-
- ${SYMI_WORKSPACE_DIR}:/home/node/.symi/workspace
|
|
185
|
-
ports:
|
|
186
|
-
# 推荐:在 VPS 上保持 Gateway 网关仅限 loopback;通过 SSH 隧道访问。
|
|
187
|
-
# 要公开暴露,移除 `127.0.0.1:` 前缀并相应配置防火墙。
|
|
188
|
-
- "127.0.0.1:${SYMI_GATEWAY_PORT}:18789"
|
|
189
|
-
|
|
190
|
-
# 可选:仅当你对此 VPS 运行 iOS/Android 节点并需要 Canvas 主机时。
|
|
191
|
-
# 如果你公开暴露此端口,请阅读 /gateway/security 并相应配置防火墙。
|
|
192
|
-
# - "18793:18793"
|
|
193
|
-
command:
|
|
194
|
-
[
|
|
195
|
-
"node",
|
|
196
|
-
"dist/index.js",
|
|
197
|
-
"gateway",
|
|
198
|
-
"--bind",
|
|
199
|
-
"${SYMI_GATEWAY_BIND}",
|
|
200
|
-
"--port",
|
|
201
|
-
"${SYMI_GATEWAY_PORT}",
|
|
202
|
-
]
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
---
|
|
206
|
-
|
|
207
|
-
## 7) 将所需二进制文件烘焙到镜像中(关键)
|
|
208
|
-
|
|
209
|
-
在运行中的容器内安装二进制文件是一个陷阱。
|
|
210
|
-
任何在运行时安装的东西都会在重启时丢失。
|
|
211
|
-
|
|
212
|
-
所有 skills 所需的外部二进制文件必须在镜像构建时安装。
|
|
213
|
-
|
|
214
|
-
以下示例仅展示三个常见二进制文件:
|
|
215
|
-
|
|
216
|
-
- `gog` 用于 Gmail 访问
|
|
217
|
-
- `goplaces` 用于 Google Places
|
|
218
|
-
- `wacli` 用于 WhatsApp
|
|
219
|
-
|
|
220
|
-
这些是示例,不是完整列表。
|
|
221
|
-
你可以使用相同的模式安装任意数量的二进制文件。
|
|
222
|
-
|
|
223
|
-
如果你以后添加依赖额外二进制文件的新 skills,你必须:
|
|
224
|
-
|
|
225
|
-
1. 更新 Dockerfile
|
|
226
|
-
2. 重新构建镜像
|
|
227
|
-
3. 重启容器
|
|
228
|
-
|
|
229
|
-
**示例 Dockerfile**
|
|
230
|
-
|
|
231
|
-
```dockerfile
|
|
232
|
-
FROM node:22-bookworm
|
|
233
|
-
|
|
234
|
-
RUN apt-get update && apt-get install -y socat && rm -rf /var/lib/apt/lists/*
|
|
235
|
-
|
|
236
|
-
# 示例二进制文件 1:Gmail CLI
|
|
237
|
-
RUN curl -L https://github.com/steipete/gog/releases/latest/download/gog_Linux_x86_64.tar.gz \
|
|
238
|
-
| tar -xz -C /usr/local/bin && chmod +x /usr/local/bin/gog
|
|
239
|
-
|
|
240
|
-
# 示例二进制文件 2:Google Places CLI
|
|
241
|
-
RUN curl -L https://github.com/steipete/goplaces/releases/latest/download/goplaces_Linux_x86_64.tar.gz \
|
|
242
|
-
| tar -xz -C /usr/local/bin && chmod +x /usr/local/bin/goplaces
|
|
243
|
-
|
|
244
|
-
# 示例二进制文件 3:WhatsApp CLI
|
|
245
|
-
RUN curl -L https://github.com/steipete/wacli/releases/latest/download/wacli_Linux_x86_64.tar.gz \
|
|
246
|
-
| tar -xz -C /usr/local/bin && chmod +x /usr/local/bin/wacli
|
|
247
|
-
|
|
248
|
-
# 使用相同模式在下方添加更多二进制文件
|
|
249
|
-
|
|
250
|
-
WORKDIR /app
|
|
251
|
-
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml .npmrc ./
|
|
252
|
-
COPY scripts ./scripts
|
|
253
|
-
|
|
254
|
-
RUN corepack enable
|
|
255
|
-
RUN pnpm install --frozen-lockfile
|
|
256
|
-
|
|
257
|
-
COPY . .
|
|
258
|
-
RUN pnpm build
|
|
259
|
-
RUN pnpm ui:install
|
|
260
|
-
RUN pnpm ui:build
|
|
261
|
-
|
|
262
|
-
ENV NODE_ENV=production
|
|
263
|
-
|
|
264
|
-
CMD ["node","dist/index.js"]
|
|
265
|
-
```
|
|
266
|
-
|
|
267
|
-
---
|
|
268
|
-
|
|
269
|
-
## 8) 构建并启动
|
|
270
|
-
|
|
271
|
-
```bash
|
|
272
|
-
docker compose build
|
|
273
|
-
docker compose up -d symi-gateway
|
|
274
|
-
```
|
|
275
|
-
|
|
276
|
-
验证二进制文件:
|
|
277
|
-
|
|
278
|
-
```bash
|
|
279
|
-
docker compose exec symi-gateway which gog
|
|
280
|
-
docker compose exec symi-gateway which goplaces
|
|
281
|
-
docker compose exec symi-gateway which wacli
|
|
282
|
-
```
|
|
283
|
-
|
|
284
|
-
预期输出:
|
|
285
|
-
|
|
286
|
-
```
|
|
287
|
-
/usr/local/bin/gog
|
|
288
|
-
/usr/local/bin/goplaces
|
|
289
|
-
/usr/local/bin/wacli
|
|
290
|
-
```
|
|
291
|
-
|
|
292
|
-
---
|
|
293
|
-
|
|
294
|
-
## 9) 验证 Gateway 网关
|
|
295
|
-
|
|
296
|
-
```bash
|
|
297
|
-
docker compose logs -f symi-gateway
|
|
298
|
-
```
|
|
299
|
-
|
|
300
|
-
成功:
|
|
301
|
-
|
|
302
|
-
```
|
|
303
|
-
[gateway] listening on ws://0.0.0.0:18789
|
|
304
|
-
```
|
|
305
|
-
|
|
306
|
-
从你的笔记本电脑:
|
|
307
|
-
|
|
308
|
-
```bash
|
|
309
|
-
ssh -N -L 18789:127.0.0.1:18789 root@YOUR_VPS_IP
|
|
310
|
-
```
|
|
311
|
-
|
|
312
|
-
打开:
|
|
313
|
-
|
|
314
|
-
`http://127.0.0.1:18789/`
|
|
315
|
-
|
|
316
|
-
粘贴你的 Gateway 网关令牌。
|
|
317
|
-
|
|
318
|
-
---
|
|
319
|
-
|
|
320
|
-
## 持久化位置(事实来源)
|
|
321
|
-
|
|
322
|
-
Symi 在 Docker 中运行,但 Docker 不是事实来源。
|
|
323
|
-
所有长期状态必须在重启、重建和重启后保留。
|
|
324
|
-
|
|
325
|
-
| 组件 | 位置 | 持久化机制 | 说明 |
|
|
326
|
-
| ---------------- | ----------------------------- | ------------- | --------------------------- |
|
|
327
|
-
| Gateway 网关配置 | `/home/node/.symi/` | 主机卷挂载 | 包括 `symi.json`、令牌 |
|
|
328
|
-
| 模型认证配置文件 | `/home/node/.symi/` | 主机卷挂载 | OAuth 令牌、API 密钥 |
|
|
329
|
-
| Skill 配置 | `/home/node/.symi/skills/` | 主机卷挂载 | Skill 级别状态 |
|
|
330
|
-
| 智能体工作区 | `/home/node/.symi/workspace/` | 主机卷挂载 | 代码和智能体产物 |
|
|
331
|
-
| WhatsApp 会话 | `/home/node/.symi/` | 主机卷挂载 | 保留二维码登录 |
|
|
332
|
-
| Gmail 密钥环 | `/home/node/.symi/` | 主机卷 + 密码 | 需要 `GOG_KEYRING_PASSWORD` |
|
|
333
|
-
| 外部二进制文件 | `/usr/local/bin/` | Docker 镜像 | 必须在构建时烘焙 |
|
|
334
|
-
| Node 运行时 | 容器文件系统 | Docker 镜像 | 每次镜像构建时重建 |
|
|
335
|
-
| 操作系统包 | 容器文件系统 | Docker 镜像 | 不要在运行时安装 |
|
|
336
|
-
| Docker 容器 | 临时的 | 可重启 | 可以安全销毁 |
|
|
@@ -1,193 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
read_when:
|
|
3
|
-
- 安装 Symi
|
|
4
|
-
- 你想从 GitHub 安装
|
|
5
|
-
summary: 安装 Symi(推荐安装器、全局安装或从源代码安装)
|
|
6
|
-
title: 安装
|
|
7
|
-
x-i18n:
|
|
8
|
-
generated_at: "2026-02-03T10:07:43Z"
|
|
9
|
-
model: claude-opus-4-5
|
|
10
|
-
provider: pi
|
|
11
|
-
source_hash: b26f48c116c26c163ee0090fb4c3e29622951bd427ecaeccba7641d97cfdf17a
|
|
12
|
-
source_path: install/index.md
|
|
13
|
-
workflow: 15
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
# 安装
|
|
17
|
-
|
|
18
|
-
除非有特殊原因,否则请使用安装器。它会设置 CLI 并运行新手引导。
|
|
19
|
-
|
|
20
|
-
## 快速安装(推荐)
|
|
21
|
-
|
|
22
|
-
```bash
|
|
23
|
-
curl -fsSL https://jaysteelmind.github.io/getsymi/install.sh | bash
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
Windows(PowerShell):
|
|
27
|
-
|
|
28
|
-
```powershell
|
|
29
|
-
iwr -useb https://jaysteelmind.github.io/getsymi/install.ps1 | iex
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
下一步(如果你跳过了新手引导):
|
|
33
|
-
|
|
34
|
-
```bash
|
|
35
|
-
symi onboard --install-daemon
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
## 系统要求
|
|
39
|
-
|
|
40
|
-
- **Node >=22**
|
|
41
|
-
- macOS、Linux 或通过 WSL2 的 Windows
|
|
42
|
-
- `pnpm` 仅在从源代码构建时需要
|
|
43
|
-
|
|
44
|
-
## 选择安装路径
|
|
45
|
-
|
|
46
|
-
### 1)安装器脚本(推荐)
|
|
47
|
-
|
|
48
|
-
通过 npm 全局安装 `symi` 并运行新手引导。
|
|
49
|
-
|
|
50
|
-
```bash
|
|
51
|
-
curl -fsSL https://jaysteelmind.github.io/getsymi/install.sh | bash
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
安装器标志:
|
|
55
|
-
|
|
56
|
-
```bash
|
|
57
|
-
curl -fsSL https://jaysteelmind.github.io/getsymi/install.sh | bash -s -- --help
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
详情:[安装器内部原理](/install/installer)。
|
|
61
|
-
|
|
62
|
-
非交互式(跳过新手引导):
|
|
63
|
-
|
|
64
|
-
```bash
|
|
65
|
-
curl -fsSL https://jaysteelmind.github.io/getsymi/install.sh | bash -s -- --no-onboard
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
### 2)全局安装(手动)
|
|
69
|
-
|
|
70
|
-
如果你已经有 Node:
|
|
71
|
-
|
|
72
|
-
```bash
|
|
73
|
-
npm install -g @symerian/symi@latest
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
如果你全局安装了 libvips(macOS 上通过 Homebrew 安装很常见)且 `sharp` 安装失败,请强制使用预构建二进制文件:
|
|
77
|
-
|
|
78
|
-
```bash
|
|
79
|
-
SHARP_IGNORE_GLOBAL_LIBVIPS=1 npm install -g @symerian/symi@latest
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
如果你看到 `sharp: Please add node-gyp to your dependencies`,要么安装构建工具(macOS:Xcode CLT + `npm install -g node-gyp`),要么使用上面的 `SHARP_IGNORE_GLOBAL_LIBVIPS=1` 变通方法来跳过原生构建。
|
|
83
|
-
|
|
84
|
-
或使用 pnpm:
|
|
85
|
-
|
|
86
|
-
```bash
|
|
87
|
-
pnpm add -g symi@latest
|
|
88
|
-
pnpm approve-builds -g # 批准 symi、node-llama-cpp、sharp 等
|
|
89
|
-
pnpm add -g symi@latest # 重新运行以执行 postinstall 脚本
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
pnpm 需要显式批准带有构建脚本的包。在首次安装显示"Ignored build scripts"警告后,运行 `pnpm approve-builds -g` 并选择列出的包,然后重新运行安装以执行 postinstall 脚本。
|
|
93
|
-
|
|
94
|
-
然后:
|
|
95
|
-
|
|
96
|
-
```bash
|
|
97
|
-
symi onboard --install-daemon
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
### 3)从源代码(贡献者/开发)
|
|
101
|
-
|
|
102
|
-
```bash
|
|
103
|
-
git clone https://github.com/symi/symi.git
|
|
104
|
-
cd symi
|
|
105
|
-
pnpm install
|
|
106
|
-
pnpm ui:build # 首次运行时自动安装 UI 依赖
|
|
107
|
-
pnpm build
|
|
108
|
-
symi onboard --install-daemon
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
提示:如果你还没有全局安装,请通过 `pnpm symi ...` 运行仓库命令。
|
|
112
|
-
|
|
113
|
-
### 4)其他安装选项
|
|
114
|
-
|
|
115
|
-
- Docker:[Docker](/install/docker)
|
|
116
|
-
- Nix:[Nix](/install/nix)
|
|
117
|
-
- Ansible:[Ansible](/install/ansible)
|
|
118
|
-
- Bun(仅 CLI):[Bun](/install/bun)
|
|
119
|
-
|
|
120
|
-
## 安装后
|
|
121
|
-
|
|
122
|
-
- 运行新手引导:`symi onboard --install-daemon`
|
|
123
|
-
- 快速检查:`symi doctor`
|
|
124
|
-
- 检查 Gateway 网关健康状态:`symi status` + `symi health`
|
|
125
|
-
- 打开仪表板:`symi dashboard`
|
|
126
|
-
|
|
127
|
-
## 安装方式:npm vs git(安装器)
|
|
128
|
-
|
|
129
|
-
安装器支持两种方式:
|
|
130
|
-
|
|
131
|
-
- `npm`(默认):`npm install -g @symerian/symi@latest`
|
|
132
|
-
- `git`:从 GitHub 克隆/构建并从源代码 checkout 运行
|
|
133
|
-
|
|
134
|
-
### CLI 标志
|
|
135
|
-
|
|
136
|
-
```bash
|
|
137
|
-
# 显式 npm
|
|
138
|
-
curl -fsSL https://jaysteelmind.github.io/getsymi/install.sh | bash -s -- --install-method npm
|
|
139
|
-
|
|
140
|
-
# 从 GitHub 安装(源代码 checkout)
|
|
141
|
-
curl -fsSL https://jaysteelmind.github.io/getsymi/install.sh | bash -s -- --install-method git
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
常用标志:
|
|
145
|
-
|
|
146
|
-
- `--install-method npm|git`
|
|
147
|
-
- `--git-dir <path>`(默认:`~/symi`)
|
|
148
|
-
- `--no-git-update`(使用现有 checkout 时跳过 `git pull`)
|
|
149
|
-
- `--no-prompt`(禁用提示;CI/自动化中必需)
|
|
150
|
-
- `--dry-run`(打印将要执行的操作;不做任何更改)
|
|
151
|
-
- `--no-onboard`(跳过新手引导)
|
|
152
|
-
|
|
153
|
-
### 环境变量
|
|
154
|
-
|
|
155
|
-
等效的环境变量(对自动化有用):
|
|
156
|
-
|
|
157
|
-
- `SYMI_INSTALL_METHOD=git|npm`
|
|
158
|
-
- `SYMI_GIT_DIR=...`
|
|
159
|
-
- `SYMI_GIT_UPDATE=0|1`
|
|
160
|
-
- `SYMI_NO_PROMPT=1`
|
|
161
|
-
- `SYMI_DRY_RUN=1`
|
|
162
|
-
- `SYMI_NO_ONBOARD=1`
|
|
163
|
-
- `SHARP_IGNORE_GLOBAL_LIBVIPS=0|1`(默认:`1`;避免 `sharp` 针对系统 libvips 构建)
|
|
164
|
-
|
|
165
|
-
## 故障排除:找不到 `symi`(PATH)
|
|
166
|
-
|
|
167
|
-
快速诊断:
|
|
168
|
-
|
|
169
|
-
```bash
|
|
170
|
-
node -v
|
|
171
|
-
npm -v
|
|
172
|
-
npm prefix -g
|
|
173
|
-
echo "$PATH"
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
如果 `$(npm prefix -g)/bin`(macOS/Linux)或 `$(npm prefix -g)`(Windows)**不**在 `echo "$PATH"` 的输出中,你的 shell 无法找到全局 npm 二进制文件(包括 `symi`)。
|
|
177
|
-
|
|
178
|
-
修复:将其添加到你的 shell 启动文件(zsh:`~/.zshrc`,bash:`~/.bashrc`):
|
|
179
|
-
|
|
180
|
-
```bash
|
|
181
|
-
# macOS / Linux
|
|
182
|
-
export PATH="$(npm prefix -g)/bin:$PATH"
|
|
183
|
-
```
|
|
184
|
-
|
|
185
|
-
在 Windows 上,将 `npm prefix -g` 的输出添加到你的 PATH。
|
|
186
|
-
|
|
187
|
-
然后打开新终端(或在 zsh 中执行 `rehash` / 在 bash 中执行 `hash -r`)。
|
|
188
|
-
|
|
189
|
-
## 更新/卸载
|
|
190
|
-
|
|
191
|
-
- 更新:[更新](/install/updating)
|
|
192
|
-
- 迁移到新机器:[迁移](/install/migrating)
|
|
193
|
-
- 卸载:[卸载](/install/uninstall)
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
read_when:
|
|
3
|
-
- 你想了解 `jaysteelmind.github.io/getsymi/install.sh` 的工作机制
|
|
4
|
-
- 你想自动化安装(CI / 无头环境)
|
|
5
|
-
- 你想从 GitHub 检出安装
|
|
6
|
-
summary: 安装器脚本的工作原理(install.sh + install-cli.sh)、参数和自动化
|
|
7
|
-
title: 安装器内部机制
|
|
8
|
-
x-i18n:
|
|
9
|
-
generated_at: "2026-02-01T21:07:55Z"
|
|
10
|
-
model: claude-opus-4-5
|
|
11
|
-
provider: pi
|
|
12
|
-
source_hash: 9e0a19ecb5da0a395030e1ccf0d4bedf16b83946b3432c5399d448fe5d298391
|
|
13
|
-
source_path: install/installer.md
|
|
14
|
-
workflow: 14
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
# 安装器内部机制
|
|
18
|
-
|
|
19
|
-
Symi 提供两个安装器脚本(托管在 `jaysteelmind.github.io/getsymi`):
|
|
20
|
-
|
|
21
|
-
- `https://jaysteelmind.github.io/getsymi/install.sh` — "推荐"安装器(默认全局 npm 安装;也可从 GitHub 检出安装)
|
|
22
|
-
- `https://jaysteelmind.github.io/getsymi/install-cli.sh` — 无需 root 权限的 CLI 安装器(安装到带有独立 Node 的前缀目录)
|
|
23
|
-
- `https://jaysteelmind.github.io/getsymi/install.ps1` — Windows PowerShell 安装器(默认 npm;可选 git 安装)
|
|
24
|
-
|
|
25
|
-
查看当前参数/行为,运行:
|
|
26
|
-
|
|
27
|
-
```bash
|
|
28
|
-
curl -fsSL https://jaysteelmind.github.io/getsymi/install.sh | bash -s -- --help
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
Windows (PowerShell) 帮助:
|
|
32
|
-
|
|
33
|
-
```powershell
|
|
34
|
-
& ([scriptblock]::Create((iwr -useb https://jaysteelmind.github.io/getsymi/install.ps1))) -?
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
如果安装器完成但在新终端中找不到 `symi`,通常是 Node/npm PATH 问题。参见:[安装](/install#nodejs--npm-path-sanity)。
|
|
38
|
-
|
|
39
|
-
## install.sh(推荐)
|
|
40
|
-
|
|
41
|
-
功能概述:
|
|
42
|
-
|
|
43
|
-
- 检测操作系统(macOS / Linux / WSL)。
|
|
44
|
-
- 确保 Node.js **22+**(macOS 通过 Homebrew;Linux 通过 NodeSource)。
|
|
45
|
-
- 选择安装方式:
|
|
46
|
-
- `npm`(默认):`npm install -g @symerian/symi@latest`
|
|
47
|
-
- `git`:克隆/构建源码检出并安装包装脚本
|
|
48
|
-
- 在 Linux 上:必要时将 npm 前缀切换到 `~/.npm-global`,以避免全局 npm 权限错误。
|
|
49
|
-
- 如果是升级现有安装:运行 `symi doctor --non-interactive`(尽力执行)。
|
|
50
|
-
- 对于 git 安装:安装/更新后运行 `symi doctor --non-interactive`(尽力执行)。
|
|
51
|
-
- 通过默认设置 `SHARP_IGNORE_GLOBAL_LIBVIPS=1` 来缓解 `sharp` 原生安装问题(避免使用系统 libvips 编译)。
|
|
52
|
-
|
|
53
|
-
如果你*希望* `sharp` 链接到全局安装的 libvips(或你正在调试),请设置:
|
|
54
|
-
|
|
55
|
-
```bash
|
|
56
|
-
SHARP_IGNORE_GLOBAL_LIBVIPS=0 curl -fsSL https://jaysteelmind.github.io/getsymi/install.sh | bash
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
### 可发现性 / "git 安装"提示
|
|
60
|
-
|
|
61
|
-
如果你在**已有的 Symi 源码检出目录中**运行安装器(通过 `package.json` + `pnpm-workspace.yaml` 检测),它会提示:
|
|
62
|
-
|
|
63
|
-
- 更新并使用此检出(`git`)
|
|
64
|
-
- 或迁移到全局 npm 安装(`npm`)
|
|
65
|
-
|
|
66
|
-
在非交互式上下文中(无 TTY / `--no-prompt`),你必须传入 `--install-method git|npm`(或设置 `SYMI_INSTALL_METHOD`),否则脚本将以退出码 `2` 退出。
|
|
67
|
-
|
|
68
|
-
### 为什么需要 Git
|
|
69
|
-
|
|
70
|
-
`--install-method git` 路径(克隆 / 拉取)需要 Git。
|
|
71
|
-
|
|
72
|
-
对于 `npm` 安装,Git *通常*不是必需的,但某些环境仍然需要它(例如通过 git URL 获取软件包或依赖时)。安装器目前会确保 Git 存在,以避免在全新发行版上出现 `spawn git ENOENT` 错误。
|
|
73
|
-
|
|
74
|
-
### 为什么在全新 Linux 上 npm 会报 `EACCES`
|
|
75
|
-
|
|
76
|
-
在某些 Linux 设置中(尤其是通过系统包管理器或 NodeSource 安装 Node 后),npm 的全局前缀指向 root 拥有的位置。此时 `npm install -g ...` 会报 `EACCES` / `mkdir` 权限错误。
|
|
77
|
-
|
|
78
|
-
`install.sh` 通过将前缀切换到以下位置来缓解此问题:
|
|
79
|
-
|
|
80
|
-
- `~/.npm-global`(并在存在时将其添加到 `~/.bashrc` / `~/.zshrc` 的 `PATH` 中)
|
|
81
|
-
|
|
82
|
-
## install-cli.sh(无需 root 权限的 CLI 安装器)
|
|
83
|
-
|
|
84
|
-
此脚本将 `symi` 安装到前缀目录(默认:`~/.symi`),同时在该前缀下安装专用的 Node 运行时,因此可以在不想改动系统 Node/npm 的机器上使用。
|
|
85
|
-
|
|
86
|
-
帮助:
|
|
87
|
-
|
|
88
|
-
```bash
|
|
89
|
-
curl -fsSL https://jaysteelmind.github.io/getsymi/install-cli.sh | bash -s -- --help
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
## install.ps1(Windows PowerShell)
|
|
93
|
-
|
|
94
|
-
功能概述:
|
|
95
|
-
|
|
96
|
-
- 确保 Node.js **22+**(winget/Chocolatey/Scoop 或手动安装)。
|
|
97
|
-
- 选择安装方式:
|
|
98
|
-
- `npm`(默认):`npm install -g @symerian/symi@latest`
|
|
99
|
-
- `git`:克隆/构建源码检出并安装包装脚本
|
|
100
|
-
- 在升级和 git 安装时运行 `symi doctor --non-interactive`(尽力执行)。
|
|
101
|
-
|
|
102
|
-
示例:
|
|
103
|
-
|
|
104
|
-
```powershell
|
|
105
|
-
iwr -useb https://jaysteelmind.github.io/getsymi/install.ps1 | iex
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
```powershell
|
|
109
|
-
iwr -useb https://jaysteelmind.github.io/getsymi/install.ps1 | iex -InstallMethod git
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
```powershell
|
|
113
|
-
iwr -useb https://jaysteelmind.github.io/getsymi/install.ps1 | iex -InstallMethod git -GitDir "C:\\symi"
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
环境变量:
|
|
117
|
-
|
|
118
|
-
- `SYMI_INSTALL_METHOD=git|npm`
|
|
119
|
-
- `SYMI_GIT_DIR=...`
|
|
120
|
-
|
|
121
|
-
Git 要求:
|
|
122
|
-
|
|
123
|
-
如果你选择 `-InstallMethod git` 但未安装 Git,安装器会打印 Git for Windows 的链接(`https://git-scm.com/download/win`)并退出。
|
|
124
|
-
|
|
125
|
-
常见 Windows 问题:
|
|
126
|
-
|
|
127
|
-
- **npm error spawn git / ENOENT**:安装 Git for Windows 并重新打开 PowerShell,然后重新运行安装器。
|
|
128
|
-
- **"symi" 不是可识别的命令**:你的 npm 全局 bin 文件夹不在 PATH 中。大多数系统使用 `%AppData%\\npm`。你也可以运行 `npm config get prefix` 并将 `\\bin` 添加到 PATH,然后重新打开 PowerShell。
|