@symerian/symi 3.0.21 → 3.0.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build-info.json +3 -3
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/package.json +1 -1
- package/docs/.i18n/README.md +0 -31
- package/docs/.i18n/glossary.ja-JP.json +0 -14
- package/docs/.i18n/glossary.zh-CN.json +0 -210
- package/docs/.i18n/ja-JP.tm.jsonl +0 -0
- package/docs/.i18n/zh-CN.tm.jsonl +0 -1303
- package/docs/CNAME +0 -1
- package/docs/assets/install-script.svg +0 -1
- package/docs/assets/macos-onboarding/01-macos-warning.jpeg +0 -0
- package/docs/assets/macos-onboarding/02-local-networks.jpeg +0 -0
- package/docs/assets/macos-onboarding/03-security-notice.png +0 -0
- package/docs/assets/macos-onboarding/04-choose-gateway.png +0 -0
- package/docs/assets/macos-onboarding/05-permissions.png +0 -0
- package/docs/assets/pixel-symi.svg +0 -60
- package/docs/assets/showcase/agents-ui.jpg +0 -0
- package/docs/assets/showcase/bambu-cli.png +0 -0
- package/docs/assets/showcase/codexmonitor.png +0 -0
- package/docs/assets/showcase/gohome-grafana.png +0 -0
- package/docs/assets/showcase/ios-testflight.jpg +0 -0
- package/docs/assets/showcase/oura-health.png +0 -0
- package/docs/assets/showcase/padel-cli.svg +0 -11
- package/docs/assets/showcase/padel-screenshot.jpg +0 -0
- package/docs/assets/showcase/papla-tts.jpg +0 -0
- package/docs/assets/showcase/pr-review-telegram.jpg +0 -0
- package/docs/assets/showcase/roborock-screenshot.jpg +0 -0
- package/docs/assets/showcase/roborock-status.svg +0 -13
- package/docs/assets/showcase/roof-camera-sky.jpg +0 -0
- package/docs/assets/showcase/snag.png +0 -0
- package/docs/assets/showcase/tesco-shop.jpg +0 -0
- package/docs/assets/showcase/wienerlinien.png +0 -0
- package/docs/assets/showcase/wine-cellar-skill.jpg +0 -0
- package/docs/assets/showcase/winix-air-purifier.jpg +0 -0
- package/docs/assets/showcase/xuezh-pronunciation.jpeg +0 -0
- package/docs/assets/sponsors/blacksmith.svg +0 -14
- package/docs/assets/sponsors/openai.svg +0 -3
- package/docs/assets/symi-logo-text-dark.png +0 -0
- package/docs/assets/symi-logo-text.png +0 -0
- package/docs/automation/auth-monitoring.md +0 -44
- package/docs/automation/cron-jobs.md +0 -540
- package/docs/automation/cron-vs-heartbeat.md +0 -286
- package/docs/automation/gmail-pubsub.md +0 -256
- package/docs/automation/hooks.md +0 -998
- package/docs/automation/poll.md +0 -61
- package/docs/automation/troubleshooting.md +0 -122
- package/docs/automation/webhook.md +0 -213
- package/docs/brave-search.md +0 -41
- package/docs/capabilities.md +0 -151
- package/docs/channels/bluebubbles.md +0 -346
- package/docs/channels/broadcast-groups.md +0 -441
- package/docs/channels/channel-routing.md +0 -112
- package/docs/channels/feishu.md +0 -586
- package/docs/channels/googlechat.md +0 -253
- package/docs/channels/grammy.md +0 -31
- package/docs/channels/group-messages.md +0 -82
- package/docs/channels/groups.md +0 -364
- package/docs/channels/imessage.md +0 -366
- package/docs/channels/index.md +0 -46
- package/docs/channels/irc.md +0 -234
- package/docs/channels/line.md +0 -186
- package/docs/channels/location.md +0 -56
- package/docs/channels/matrix.md +0 -300
- package/docs/channels/mattermost.md +0 -158
- package/docs/channels/msteams.md +0 -769
- package/docs/channels/nextcloud-talk.md +0 -138
- package/docs/channels/nostr.md +0 -233
- package/docs/channels/pairing.md +0 -100
- package/docs/channels/signal.md +0 -322
- package/docs/channels/slack.md +0 -510
- package/docs/channels/telegram.md +0 -748
- package/docs/channels/tlon.md +0 -148
- package/docs/channels/troubleshooting.md +0 -110
- package/docs/channels/twitch.md +0 -379
- package/docs/channels/whatsapp.md +0 -444
- package/docs/channels/zalo.md +0 -192
- package/docs/channels/zalouser.md +0 -140
- package/docs/ci.md +0 -50
- package/docs/cli/acp.md +0 -182
- package/docs/cli/agent.md +0 -24
- package/docs/cli/agents.md +0 -75
- package/docs/cli/approvals.md +0 -50
- package/docs/cli/browser.md +0 -107
- package/docs/cli/channels.md +0 -73
- package/docs/cli/config.md +0 -50
- package/docs/cli/configure.md +0 -32
- package/docs/cli/cron.md +0 -44
- package/docs/cli/dashboard.md +0 -16
- package/docs/cli/devices.md +0 -73
- package/docs/cli/directory.md +0 -62
- package/docs/cli/dns.md +0 -23
- package/docs/cli/docs.md +0 -15
- package/docs/cli/doctor.md +0 -41
- package/docs/cli/gateway.md +0 -202
- package/docs/cli/health.md +0 -21
- package/docs/cli/hooks.md +0 -313
- package/docs/cli/index.md +0 -1029
- package/docs/cli/logs.md +0 -28
- package/docs/cli/memory.md +0 -45
- package/docs/cli/message.md +0 -214
- package/docs/cli/models.md +0 -79
- package/docs/cli/node.md +0 -112
- package/docs/cli/nodes.md +0 -73
- package/docs/cli/onboard.md +0 -76
- package/docs/cli/pairing.md +0 -21
- package/docs/cli/plugins.md +0 -92
- package/docs/cli/reset.md +0 -17
- package/docs/cli/sandbox.md +0 -152
- package/docs/cli/security.md +0 -64
- package/docs/cli/sessions.md +0 -16
- package/docs/cli/setup.md +0 -29
- package/docs/cli/skills.md +0 -26
- package/docs/cli/status.md +0 -25
- package/docs/cli/system.md +0 -60
- package/docs/cli/tui.md +0 -23
- package/docs/cli/uninstall.md +0 -17
- package/docs/cli/update.md +0 -98
- package/docs/cli/voicecall.md +0 -34
- package/docs/cli/webhooks.md +0 -25
- package/docs/concepts/agent-loop.md +0 -148
- package/docs/concepts/agent-workspace.md +0 -234
- package/docs/concepts/agent.md +0 -123
- package/docs/concepts/architecture.md +0 -135
- package/docs/concepts/compaction.md +0 -61
- package/docs/concepts/context.md +0 -161
- package/docs/concepts/features.md +0 -51
- package/docs/concepts/markdown-formatting.md +0 -128
- package/docs/concepts/memory.md +0 -729
- package/docs/concepts/messages.md +0 -153
- package/docs/concepts/model-failover.md +0 -149
- package/docs/concepts/model-providers.md +0 -424
- package/docs/concepts/models.md +0 -208
- package/docs/concepts/multi-agent.md +0 -521
- package/docs/concepts/oauth.md +0 -145
- package/docs/concepts/presence.md +0 -102
- package/docs/concepts/queue.md +0 -86
- package/docs/concepts/retry.md +0 -64
- package/docs/concepts/session-pruning.md +0 -123
- package/docs/concepts/session-tool.md +0 -213
- package/docs/concepts/session.md +0 -199
- package/docs/concepts/sessions.md +0 -10
- package/docs/concepts/streaming.md +0 -129
- package/docs/concepts/system-prompt.md +0 -128
- package/docs/concepts/timezone.md +0 -90
- package/docs/concepts/typebox.md +0 -289
- package/docs/concepts/typing-indicators.md +0 -68
- package/docs/concepts/usage-tracking.md +0 -35
- package/docs/date-time.md +0 -127
- package/docs/debug/node-issue.md +0 -85
- package/docs/diagnostics/flags.md +0 -91
- package/docs/docs.json +0 -1849
- package/docs/experiments/onboarding-config-protocol.md +0 -40
- package/docs/experiments/plans/browser-evaluate-cdp-refactor.md +0 -229
- package/docs/experiments/plans/cron-add-hardening.md +0 -62
- package/docs/experiments/plans/group-policy-hardening.md +0 -40
- package/docs/experiments/plans/openresponses-gateway.md +0 -123
- package/docs/experiments/plans/pty-process-supervision.md +0 -192
- package/docs/experiments/plans/session-binding-channel-agnostic.md +0 -202
- package/docs/experiments/plans/thread-bound-subagents.md +0 -281
- package/docs/experiments/proposals/model-config.md +0 -36
- package/docs/experiments/research/memory.md +0 -228
- package/docs/gateway/authentication.md +0 -162
- package/docs/gateway/background-process.md +0 -96
- package/docs/gateway/bonjour.md +0 -177
- package/docs/gateway/bridge-protocol.md +0 -91
- package/docs/gateway/cli-backends.md +0 -225
- package/docs/gateway/configuration-examples.md +0 -610
- package/docs/gateway/configuration-reference.md +0 -2465
- package/docs/gateway/configuration.md +0 -488
- package/docs/gateway/discovery.md +0 -123
- package/docs/gateway/doctor.md +0 -282
- package/docs/gateway/gateway-lock.md +0 -34
- package/docs/gateway/health.md +0 -35
- package/docs/gateway/heartbeat.md +0 -374
- package/docs/gateway/index.md +0 -254
- package/docs/gateway/local-models.md +0 -150
- package/docs/gateway/logging.md +0 -113
- package/docs/gateway/multiple-gateways.md +0 -112
- package/docs/gateway/network-model.md +0 -20
- package/docs/gateway/openai-http-api.md +0 -119
- package/docs/gateway/openresponses-http-api.md +0 -333
- package/docs/gateway/pairing.md +0 -99
- package/docs/gateway/protocol.md +0 -221
- package/docs/gateway/remote-gateway-readme.md +0 -158
- package/docs/gateway/remote.md +0 -131
- package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +0 -128
- package/docs/gateway/sandboxing.md +0 -203
- package/docs/gateway/security/index.md +0 -931
- package/docs/gateway/tailscale.md +0 -132
- package/docs/gateway/tools-invoke-http-api.md +0 -110
- package/docs/gateway/troubleshooting.md +0 -317
- package/docs/gateway/trusted-proxy-auth.md +0 -270
- package/docs/glass-ui-rendering-invariants.md +0 -451
- package/docs/help/debugging.md +0 -162
- package/docs/help/environment.md +0 -107
- package/docs/help/faq.md +0 -2846
- package/docs/help/index.md +0 -21
- package/docs/help/scripts.md +0 -28
- package/docs/help/testing.md +0 -385
- package/docs/help/troubleshooting.md +0 -264
- package/docs/images/configure-model-picker-unsearchable.png +0 -0
- package/docs/images/feishu-step2-create-app.png +0 -0
- package/docs/images/feishu-step3-credentials.png +0 -0
- package/docs/images/feishu-step4-permissions.png +0 -0
- package/docs/images/feishu-step5-bot-capability.png +0 -0
- package/docs/images/feishu-step6-event-subscription.png +0 -0
- package/docs/images/groups-flow.svg +0 -52
- package/docs/images/mobile-ui-screenshot.png +0 -0
- package/docs/index.md +0 -186
- package/docs/install/ansible.md +0 -207
- package/docs/install/bun.md +0 -59
- package/docs/install/development-channels.md +0 -75
- package/docs/install/docker.md +0 -583
- package/docs/install/exe-dev.md +0 -126
- package/docs/install/fly.md +0 -472
- package/docs/install/gcp.md +0 -499
- package/docs/install/hetzner.md +0 -347
- package/docs/install/index.md +0 -218
- package/docs/install/installer.md +0 -405
- package/docs/install/macos-vm.md +0 -281
- package/docs/install/migrating.md +0 -192
- package/docs/install/nix.md +0 -98
- package/docs/install/node.md +0 -138
- package/docs/install/northflank.mdx +0 -49
- package/docs/install/podman.md +0 -108
- package/docs/install/railway.mdx +0 -95
- package/docs/install/render.mdx +0 -158
- package/docs/install/uninstall.md +0 -128
- package/docs/install/updating.md +0 -231
- package/docs/ja-JP/AGENTS.md +0 -37
- package/docs/ja-JP/index.md +0 -183
- package/docs/ja-JP/start/getting-started.md +0 -125
- package/docs/ja-JP/start/wizard.md +0 -77
- package/docs/logging.md +0 -350
- package/docs/nav-tabs-underline.js +0 -100
- package/docs/network.md +0 -54
- package/docs/nodes/audio.md +0 -133
- package/docs/nodes/camera.md +0 -156
- package/docs/nodes/images.md +0 -72
- package/docs/nodes/index.md +0 -342
- package/docs/nodes/location-command.md +0 -113
- package/docs/nodes/media-understanding.md +0 -379
- package/docs/nodes/talk.md +0 -90
- package/docs/nodes/troubleshooting.md +0 -112
- package/docs/nodes/voicewake.md +0 -65
- package/docs/perplexity.md +0 -80
- package/docs/phase-6.5-pre-flight-audit.md +0 -268
- package/docs/pi-dev.md +0 -70
- package/docs/pi.md +0 -610
- package/docs/platforms/android.md +0 -151
- package/docs/platforms/digitalocean.md +0 -265
- package/docs/platforms/index.md +0 -53
- package/docs/platforms/ios.md +0 -108
- package/docs/platforms/linux.md +0 -94
- package/docs/platforms/mac/bundled-gateway.md +0 -73
- package/docs/platforms/mac/canvas.md +0 -125
- package/docs/platforms/mac/child-process.md +0 -69
- package/docs/platforms/mac/dev-setup.md +0 -104
- package/docs/platforms/mac/health.md +0 -34
- package/docs/platforms/mac/icon.md +0 -31
- package/docs/platforms/mac/logging.md +0 -57
- package/docs/platforms/mac/menu-bar.md +0 -81
- package/docs/platforms/mac/peekaboo.md +0 -65
- package/docs/platforms/mac/permissions.md +0 -50
- package/docs/platforms/mac/release.md +0 -85
- package/docs/platforms/mac/remote.md +0 -84
- package/docs/platforms/mac/signing.md +0 -47
- package/docs/platforms/mac/skills.md +0 -33
- package/docs/platforms/mac/voice-overlay.md +0 -60
- package/docs/platforms/mac/voicewake.md +0 -66
- package/docs/platforms/mac/webchat.md +0 -43
- package/docs/platforms/mac/xpc.md +0 -61
- package/docs/platforms/macos.md +0 -204
- package/docs/platforms/oracle.md +0 -303
- package/docs/platforms/raspberry-pi.md +0 -358
- package/docs/platforms/windows.md +0 -159
- package/docs/plugins/agent-tools.md +0 -99
- package/docs/plugins/community.md +0 -44
- package/docs/plugins/manifest.md +0 -71
- package/docs/plugins/voice-call.md +0 -322
- package/docs/plugins/zalouser.md +0 -81
- package/docs/prose.md +0 -134
- package/docs/providers/anthropic.md +0 -174
- package/docs/providers/bedrock.md +0 -176
- package/docs/providers/claude-max-api-proxy.md +0 -148
- package/docs/providers/cloudflare-ai-gateway.md +0 -71
- package/docs/providers/deepgram.md +0 -93
- package/docs/providers/github-copilot.md +0 -72
- package/docs/providers/glm.md +0 -33
- package/docs/providers/huggingface.md +0 -209
- package/docs/providers/index.md +0 -67
- package/docs/providers/litellm.md +0 -153
- package/docs/providers/minimax.md +0 -208
- package/docs/providers/models.md +0 -52
- package/docs/providers/moonshot.md +0 -142
- package/docs/providers/nvidia.md +0 -55
- package/docs/providers/ollama.md +0 -250
- package/docs/providers/openai.md +0 -62
- package/docs/providers/opencode.md +0 -36
- package/docs/providers/openrouter.md +0 -37
- package/docs/providers/qianfan.md +0 -38
- package/docs/providers/qwen.md +0 -53
- package/docs/providers/synthetic.md +0 -99
- package/docs/providers/together.md +0 -65
- package/docs/providers/venice.md +0 -267
- package/docs/providers/vercel-ai-gateway.md +0 -50
- package/docs/providers/vllm.md +0 -92
- package/docs/providers/xiaomi.md +0 -64
- package/docs/providers/zai.md +0 -38
- package/docs/refactor/exec-host.md +0 -316
- package/docs/refactor/outbound-session-mirroring.md +0 -83
- package/docs/refactor/plugin-sdk.md +0 -214
- package/docs/refactor/strict-config.md +0 -93
- package/docs/refactor/syminet.md +0 -417
- package/docs/reference/AGENTS.default.md +0 -123
- package/docs/reference/RELEASING.md +0 -120
- package/docs/reference/api-usage-costs.md +0 -138
- package/docs/reference/credits.md +0 -28
- package/docs/reference/device-models.md +0 -47
- package/docs/reference/rpc.md +0 -43
- package/docs/reference/session-management-compaction.md +0 -284
- package/docs/reference/test.md +0 -51
- package/docs/reference/token-use.md +0 -136
- package/docs/reference/transcript-hygiene.md +0 -151
- package/docs/reference/wizard.md +0 -265
- package/docs/security/CONTRIBUTING-THREAT-MODEL.md +0 -89
- package/docs/security/README.md +0 -16
- package/docs/security/THREAT-MODEL-ATLAS.md +0 -600
- package/docs/security/formal-verification.md +0 -164
- package/docs/start/bootstrapping.md +0 -41
- package/docs/start/docs-directory.md +0 -63
- package/docs/start/getting-started.md +0 -135
- package/docs/start/hubs.md +0 -196
- package/docs/start/lore.md +0 -216
- package/docs/start/onboarding-overview.md +0 -51
- package/docs/start/onboarding.md +0 -81
- package/docs/start/quickstart.md +0 -22
- package/docs/start/setup.md +0 -160
- package/docs/start/showcase.md +0 -414
- package/docs/start/symi.md +0 -211
- package/docs/start/wizard-cli-automation.md +0 -158
- package/docs/start/wizard-cli-reference.md +0 -255
- package/docs/start/wizard.md +0 -109
- package/docs/style.css +0 -37
- package/docs/tools/agent-send.md +0 -52
- package/docs/tools/apply-patch.md +0 -51
- package/docs/tools/browser-linux-troubleshooting.md +0 -139
- package/docs/tools/browser-login.md +0 -67
- package/docs/tools/browser.md +0 -587
- package/docs/tools/chrome-extension.md +0 -183
- package/docs/tools/creating-skills.md +0 -54
- package/docs/tools/elevated.md +0 -55
- package/docs/tools/exec-approvals.md +0 -261
- package/docs/tools/exec.md +0 -184
- package/docs/tools/firecrawl.md +0 -61
- package/docs/tools/index.md +0 -540
- package/docs/tools/llm-task.md +0 -115
- package/docs/tools/loop-detection.md +0 -98
- package/docs/tools/multi-agent-sandbox-tools.md +0 -396
- package/docs/tools/pipeline.md +0 -340
- package/docs/tools/plugin.md +0 -687
- package/docs/tools/reactions.md +0 -21
- package/docs/tools/skills-config.md +0 -76
- package/docs/tools/skills.md +0 -300
- package/docs/tools/slash-commands.md +0 -202
- package/docs/tools/subagents.md +0 -232
- package/docs/tools/symihub.md +0 -256
- package/docs/tools/thinking.md +0 -75
- package/docs/tools/web.md +0 -265
- package/docs/tts.md +0 -398
- package/docs/vps.md +0 -43
- package/docs/web/control-ui.md +0 -247
- package/docs/web/dashboard.md +0 -46
- package/docs/web/index.md +0 -118
- package/docs/web/tui.md +0 -162
- package/docs/web/webchat.md +0 -53
- package/docs/whatsapp-symi-ai-zh.jpg +0 -0
- package/docs/whatsapp-symi.jpg +0 -0
- package/docs/zh-CN/AGENTS.md +0 -59
- package/docs/zh-CN/automation/auth-monitoring.md +0 -47
- package/docs/zh-CN/automation/cron-jobs.md +0 -422
- package/docs/zh-CN/automation/cron-vs-heartbeat.md +0 -286
- package/docs/zh-CN/automation/gmail-pubsub.md +0 -249
- package/docs/zh-CN/automation/hooks.md +0 -881
- package/docs/zh-CN/automation/poll.md +0 -68
- package/docs/zh-CN/automation/troubleshooting.md +0 -8
- package/docs/zh-CN/automation/webhook.md +0 -161
- package/docs/zh-CN/brave-search.md +0 -48
- package/docs/zh-CN/channels/bluebubbles.md +0 -271
- package/docs/zh-CN/channels/broadcast-groups.md +0 -448
- package/docs/zh-CN/channels/channel-routing.md +0 -112
- package/docs/zh-CN/channels/feishu.md +0 -629
- package/docs/zh-CN/channels/googlechat.md +0 -257
- package/docs/zh-CN/channels/grammy.md +0 -38
- package/docs/zh-CN/channels/group-messages.md +0 -89
- package/docs/zh-CN/channels/groups.md +0 -369
- package/docs/zh-CN/channels/imessage.md +0 -300
- package/docs/zh-CN/channels/index.md +0 -52
- package/docs/zh-CN/channels/line.md +0 -180
- package/docs/zh-CN/channels/location.md +0 -63
- package/docs/zh-CN/channels/matrix.md +0 -221
- package/docs/zh-CN/channels/mattermost.md +0 -144
- package/docs/zh-CN/channels/msteams.md +0 -773
- package/docs/zh-CN/channels/nextcloud-talk.md +0 -142
- package/docs/zh-CN/channels/nostr.md +0 -240
- package/docs/zh-CN/channels/pairing.md +0 -86
- package/docs/zh-CN/channels/signal.md +0 -207
- package/docs/zh-CN/channels/slack.md +0 -529
- package/docs/zh-CN/channels/telegram.md +0 -748
- package/docs/zh-CN/channels/tlon.md +0 -136
- package/docs/zh-CN/channels/troubleshooting.md +0 -34
- package/docs/zh-CN/channels/twitch.md +0 -385
- package/docs/zh-CN/channels/whatsapp.md +0 -411
- package/docs/zh-CN/channels/zalo.md +0 -196
- package/docs/zh-CN/channels/zalouser.md +0 -147
- package/docs/zh-CN/cli/acp.md +0 -173
- package/docs/zh-CN/cli/agent.md +0 -30
- package/docs/zh-CN/cli/agents.md +0 -82
- package/docs/zh-CN/cli/approvals.md +0 -57
- package/docs/zh-CN/cli/browser.md +0 -114
- package/docs/zh-CN/cli/channels.md +0 -80
- package/docs/zh-CN/cli/config.md +0 -57
- package/docs/zh-CN/cli/configure.md +0 -37
- package/docs/zh-CN/cli/cron.md +0 -43
- package/docs/zh-CN/cli/dashboard.md +0 -23
- package/docs/zh-CN/cli/devices.md +0 -74
- package/docs/zh-CN/cli/directory.md +0 -69
- package/docs/zh-CN/cli/dns.md +0 -30
- package/docs/zh-CN/cli/docs.md +0 -22
- package/docs/zh-CN/cli/doctor.md +0 -48
- package/docs/zh-CN/cli/gateway.md +0 -206
- package/docs/zh-CN/cli/health.md +0 -28
- package/docs/zh-CN/cli/hooks.md +0 -298
- package/docs/zh-CN/cli/index.md +0 -1025
- package/docs/zh-CN/cli/logs.md +0 -31
- package/docs/zh-CN/cli/memory.md +0 -52
- package/docs/zh-CN/cli/message.md +0 -205
- package/docs/zh-CN/cli/models.md +0 -85
- package/docs/zh-CN/cli/node.md +0 -115
- package/docs/zh-CN/cli/nodes.md +0 -80
- package/docs/zh-CN/cli/onboard.md +0 -36
- package/docs/zh-CN/cli/pairing.md +0 -28
- package/docs/zh-CN/cli/plugins.md +0 -66
- package/docs/zh-CN/cli/reset.md +0 -24
- package/docs/zh-CN/cli/sandbox.md +0 -158
- package/docs/zh-CN/cli/security.md +0 -33
- package/docs/zh-CN/cli/sessions.md +0 -23
- package/docs/zh-CN/cli/setup.md +0 -36
- package/docs/zh-CN/cli/skills.md +0 -33
- package/docs/zh-CN/cli/status.md +0 -32
- package/docs/zh-CN/cli/system.md +0 -63
- package/docs/zh-CN/cli/tui.md +0 -30
- package/docs/zh-CN/cli/uninstall.md +0 -24
- package/docs/zh-CN/cli/update.md +0 -101
- package/docs/zh-CN/cli/voicecall.md +0 -41
- package/docs/zh-CN/cli/webhooks.md +0 -32
- package/docs/zh-CN/concepts/agent-loop.md +0 -146
- package/docs/zh-CN/concepts/agent-workspace.md +0 -219
- package/docs/zh-CN/concepts/agent.md +0 -115
- package/docs/zh-CN/concepts/architecture.md +0 -122
- package/docs/zh-CN/concepts/compaction.md +0 -67
- package/docs/zh-CN/concepts/context.md +0 -168
- package/docs/zh-CN/concepts/features.md +0 -57
- package/docs/zh-CN/concepts/markdown-formatting.md +0 -115
- package/docs/zh-CN/concepts/memory.md +0 -412
- package/docs/zh-CN/concepts/messages.md +0 -140
- package/docs/zh-CN/concepts/model-failover.md +0 -145
- package/docs/zh-CN/concepts/model-providers.md +0 -320
- package/docs/zh-CN/concepts/models.md +0 -196
- package/docs/zh-CN/concepts/multi-agent.md +0 -371
- package/docs/zh-CN/concepts/oauth.md +0 -151
- package/docs/zh-CN/concepts/presence.md +0 -99
- package/docs/zh-CN/concepts/queue.md +0 -91
- package/docs/zh-CN/concepts/retry.md +0 -71
- package/docs/zh-CN/concepts/session-pruning.md +0 -129
- package/docs/zh-CN/concepts/session-tool.md +0 -198
- package/docs/zh-CN/concepts/session.md +0 -158
- package/docs/zh-CN/concepts/sessions.md +0 -17
- package/docs/zh-CN/concepts/streaming.md +0 -131
- package/docs/zh-CN/concepts/system-prompt.md +0 -99
- package/docs/zh-CN/concepts/timezone.md +0 -94
- package/docs/zh-CN/concepts/typebox.md +0 -284
- package/docs/zh-CN/concepts/typing-indicators.md +0 -74
- package/docs/zh-CN/concepts/usage-tracking.md +0 -42
- package/docs/zh-CN/date-time.md +0 -128
- package/docs/zh-CN/debug/node-issue.md +0 -90
- package/docs/zh-CN/diagnostics/flags.md +0 -98
- package/docs/zh-CN/experiments/onboarding-config-protocol.md +0 -47
- package/docs/zh-CN/experiments/plans/cron-add-hardening.md +0 -69
- package/docs/zh-CN/experiments/plans/group-policy-hardening.md +0 -45
- package/docs/zh-CN/experiments/plans/openresponses-gateway.md +0 -121
- package/docs/zh-CN/experiments/proposals/model-config.md +0 -42
- package/docs/zh-CN/experiments/research/memory.md +0 -235
- package/docs/zh-CN/gateway/authentication.md +0 -142
- package/docs/zh-CN/gateway/background-process.md +0 -100
- package/docs/zh-CN/gateway/bonjour.md +0 -174
- package/docs/zh-CN/gateway/bridge-protocol.md +0 -86
- package/docs/zh-CN/gateway/cli-backends.md +0 -213
- package/docs/zh-CN/gateway/configuration-examples.md +0 -580
- package/docs/zh-CN/gateway/configuration.md +0 -3284
- package/docs/zh-CN/gateway/discovery.md +0 -123
- package/docs/zh-CN/gateway/doctor.md +0 -238
- package/docs/zh-CN/gateway/gateway-lock.md +0 -41
- package/docs/zh-CN/gateway/health.md +0 -42
- package/docs/zh-CN/gateway/heartbeat.md +0 -272
- package/docs/zh-CN/gateway/index.md +0 -335
- package/docs/zh-CN/gateway/local-models.md +0 -157
- package/docs/zh-CN/gateway/logging.md +0 -114
- package/docs/zh-CN/gateway/multiple-gateways.md +0 -119
- package/docs/zh-CN/gateway/network-model.md +0 -23
- package/docs/zh-CN/gateway/openai-http-api.md +0 -125
- package/docs/zh-CN/gateway/openresponses-http-api.md +0 -317
- package/docs/zh-CN/gateway/pairing.md +0 -99
- package/docs/zh-CN/gateway/protocol.md +0 -220
- package/docs/zh-CN/gateway/remote-gateway-readme.md +0 -164
- package/docs/zh-CN/gateway/remote.md +0 -133
- package/docs/zh-CN/gateway/sandbox-vs-tool-policy-vs-elevated.md +0 -135
- package/docs/zh-CN/gateway/sandboxing.md +0 -188
- package/docs/zh-CN/gateway/security/index.md +0 -772
- package/docs/zh-CN/gateway/tailscale.md +0 -124
- package/docs/zh-CN/gateway/tools-invoke-http-api.md +0 -92
- package/docs/zh-CN/gateway/troubleshooting.md +0 -758
- package/docs/zh-CN/help/debugging.md +0 -160
- package/docs/zh-CN/help/environment.md +0 -88
- package/docs/zh-CN/help/faq.md +0 -2613
- package/docs/zh-CN/help/index.md +0 -28
- package/docs/zh-CN/help/scripts.md +0 -35
- package/docs/zh-CN/help/testing.md +0 -375
- package/docs/zh-CN/help/troubleshooting.md +0 -104
- package/docs/zh-CN/index.md +0 -183
- package/docs/zh-CN/install/ansible.md +0 -214
- package/docs/zh-CN/install/bun.md +0 -65
- package/docs/zh-CN/install/development-channels.md +0 -81
- package/docs/zh-CN/install/docker.md +0 -525
- package/docs/zh-CN/install/exe-dev.md +0 -127
- package/docs/zh-CN/install/fly.md +0 -476
- package/docs/zh-CN/install/gcp.md +0 -509
- package/docs/zh-CN/install/hetzner.md +0 -336
- package/docs/zh-CN/install/index.md +0 -193
- package/docs/zh-CN/install/installer.md +0 -128
- package/docs/zh-CN/install/macos-vm.md +0 -288
- package/docs/zh-CN/install/migrating.md +0 -199
- package/docs/zh-CN/install/nix.md +0 -99
- package/docs/zh-CN/install/node.md +0 -8
- package/docs/zh-CN/install/northflank.mdx +0 -56
- package/docs/zh-CN/install/railway.mdx +0 -102
- package/docs/zh-CN/install/render.mdx +0 -168
- package/docs/zh-CN/install/uninstall.md +0 -135
- package/docs/zh-CN/install/updating.md +0 -233
- package/docs/zh-CN/logging.md +0 -329
- package/docs/zh-CN/network.md +0 -59
- package/docs/zh-CN/nodes/audio.md +0 -120
- package/docs/zh-CN/nodes/camera.md +0 -162
- package/docs/zh-CN/nodes/images.md +0 -79
- package/docs/zh-CN/nodes/index.md +0 -348
- package/docs/zh-CN/nodes/location-command.md +0 -120
- package/docs/zh-CN/nodes/media-understanding.md +0 -380
- package/docs/zh-CN/nodes/talk.md +0 -97
- package/docs/zh-CN/nodes/troubleshooting.md +0 -8
- package/docs/zh-CN/nodes/voicewake.md +0 -72
- package/docs/zh-CN/perplexity.md +0 -84
- package/docs/zh-CN/pi-dev.md +0 -77
- package/docs/zh-CN/pi.md +0 -617
- package/docs/zh-CN/platforms/android.md +0 -155
- package/docs/zh-CN/platforms/digitalocean.md +0 -268
- package/docs/zh-CN/platforms/index.md +0 -60
- package/docs/zh-CN/platforms/ios.md +0 -114
- package/docs/zh-CN/platforms/linux.md +0 -101
- package/docs/zh-CN/platforms/mac/bundled-gateway.md +0 -75
- package/docs/zh-CN/platforms/mac/canvas.md +0 -128
- package/docs/zh-CN/platforms/mac/child-process.md +0 -73
- package/docs/zh-CN/platforms/mac/dev-setup.md +0 -109
- package/docs/zh-CN/platforms/mac/health.md +0 -41
- package/docs/zh-CN/platforms/mac/icon.md +0 -38
- package/docs/zh-CN/platforms/mac/logging.md +0 -64
- package/docs/zh-CN/platforms/mac/menu-bar.md +0 -88
- package/docs/zh-CN/platforms/mac/peekaboo.md +0 -62
- package/docs/zh-CN/platforms/mac/permissions.md +0 -46
- package/docs/zh-CN/platforms/mac/release.md +0 -92
- package/docs/zh-CN/platforms/mac/remote.md +0 -90
- package/docs/zh-CN/platforms/mac/signing.md +0 -54
- package/docs/zh-CN/platforms/mac/skills.md +0 -40
- package/docs/zh-CN/platforms/mac/voice-overlay.md +0 -67
- package/docs/zh-CN/platforms/mac/voicewake.md +0 -73
- package/docs/zh-CN/platforms/mac/webchat.md +0 -43
- package/docs/zh-CN/platforms/mac/xpc.md +0 -68
- package/docs/zh-CN/platforms/macos.md +0 -193
- package/docs/zh-CN/platforms/oracle.md +0 -310
- package/docs/zh-CN/platforms/raspberry-pi.md +0 -365
- package/docs/zh-CN/platforms/windows.md +0 -156
- package/docs/zh-CN/plugins/agent-tools.md +0 -99
- package/docs/zh-CN/plugins/manifest.md +0 -68
- package/docs/zh-CN/plugins/voice-call.md +0 -250
- package/docs/zh-CN/plugins/zalouser.md +0 -88
- package/docs/zh-CN/prose.md +0 -141
- package/docs/zh-CN/providers/anthropic.md +0 -159
- package/docs/zh-CN/providers/bedrock.md +0 -170
- package/docs/zh-CN/providers/claude-max-api-proxy.md +0 -155
- package/docs/zh-CN/providers/deepgram.md +0 -97
- package/docs/zh-CN/providers/github-copilot.md +0 -67
- package/docs/zh-CN/providers/glm.md +0 -39
- package/docs/zh-CN/providers/index.md +0 -66
- package/docs/zh-CN/providers/minimax.md +0 -206
- package/docs/zh-CN/providers/models.md +0 -55
- package/docs/zh-CN/providers/moonshot.md +0 -145
- package/docs/zh-CN/providers/ollama.md +0 -230
- package/docs/zh-CN/providers/openai.md +0 -68
- package/docs/zh-CN/providers/opencode.md +0 -41
- package/docs/zh-CN/providers/openrouter.md +0 -43
- package/docs/zh-CN/providers/qianfan.md +0 -8
- package/docs/zh-CN/providers/qwen.md +0 -55
- package/docs/zh-CN/providers/synthetic.md +0 -102
- package/docs/zh-CN/providers/venice.md +0 -274
- package/docs/zh-CN/providers/vercel-ai-gateway.md +0 -57
- package/docs/zh-CN/providers/xiaomi.md +0 -68
- package/docs/zh-CN/providers/zai.md +0 -41
- package/docs/zh-CN/refactor/exec-host.md +0 -323
- package/docs/zh-CN/refactor/outbound-session-mirroring.md +0 -90
- package/docs/zh-CN/refactor/plugin-sdk.md +0 -221
- package/docs/zh-CN/refactor/strict-config.md +0 -100
- package/docs/zh-CN/refactor/syminet.md +0 -424
- package/docs/zh-CN/reference/AGENTS.default.md +0 -130
- package/docs/zh-CN/reference/RELEASING.md +0 -122
- package/docs/zh-CN/reference/api-usage-costs.md +0 -136
- package/docs/zh-CN/reference/credits.md +0 -34
- package/docs/zh-CN/reference/device-models.md +0 -54
- package/docs/zh-CN/reference/rpc.md +0 -48
- package/docs/zh-CN/reference/session-management-compaction.md +0 -286
- package/docs/zh-CN/reference/templates/AGENTS.dev.md +0 -89
- package/docs/zh-CN/reference/templates/AGENTS.md +0 -234
- package/docs/zh-CN/reference/templates/BOOT.md +0 -17
- package/docs/zh-CN/reference/templates/BOOTSTRAP.md +0 -68
- package/docs/zh-CN/reference/templates/IDENTITY.dev.md +0 -54
- package/docs/zh-CN/reference/templates/IDENTITY.md +0 -36
- package/docs/zh-CN/reference/templates/SYMICORE.dev.md +0 -83
- package/docs/zh-CN/reference/templates/SYMICORE.md +0 -49
- package/docs/zh-CN/reference/templates/SYMIPULSE.md +0 -69
- package/docs/zh-CN/reference/templates/TOOLS.dev.md +0 -31
- package/docs/zh-CN/reference/templates/TOOLS.md +0 -53
- package/docs/zh-CN/reference/templates/USER.dev.md +0 -25
- package/docs/zh-CN/reference/templates/USER.md +0 -30
- package/docs/zh-CN/reference/test.md +0 -57
- package/docs/zh-CN/reference/token-use.md +0 -119
- package/docs/zh-CN/reference/transcript-hygiene.md +0 -109
- package/docs/zh-CN/reference/wizard.md +0 -9
- package/docs/zh-CN/security/formal-verification.md +0 -171
- package/docs/zh-CN/start/bootstrapping.md +0 -9
- package/docs/zh-CN/start/docs-directory.md +0 -69
- package/docs/zh-CN/start/getting-started.md +0 -201
- package/docs/zh-CN/start/hubs.md +0 -199
- package/docs/zh-CN/start/lore.md +0 -223
- package/docs/zh-CN/start/onboarding.md +0 -105
- package/docs/zh-CN/start/quickstart.md +0 -88
- package/docs/zh-CN/start/setup.md +0 -151
- package/docs/zh-CN/start/showcase.md +0 -421
- package/docs/zh-CN/start/symi.md +0 -244
- package/docs/zh-CN/start/wizard.md +0 -326
- package/docs/zh-CN/tools/agent-send.md +0 -58
- package/docs/zh-CN/tools/apply-patch.md +0 -57
- package/docs/zh-CN/tools/browser-linux-troubleshooting.md +0 -144
- package/docs/zh-CN/tools/browser-login.md +0 -75
- package/docs/zh-CN/tools/browser.md +0 -553
- package/docs/zh-CN/tools/chrome-extension.md +0 -183
- package/docs/zh-CN/tools/creating-skills.md +0 -61
- package/docs/zh-CN/tools/elevated.md +0 -62
- package/docs/zh-CN/tools/exec-approvals.md +0 -233
- package/docs/zh-CN/tools/exec.md +0 -169
- package/docs/zh-CN/tools/firecrawl.md +0 -68
- package/docs/zh-CN/tools/index.md +0 -508
- package/docs/zh-CN/tools/llm-task.md +0 -117
- package/docs/zh-CN/tools/multi-agent-sandbox-tools.md +0 -400
- package/docs/zh-CN/tools/pipeline.md +0 -349
- package/docs/zh-CN/tools/plugin.md +0 -639
- package/docs/zh-CN/tools/reactions.md +0 -28
- package/docs/zh-CN/tools/skills-config.md +0 -78
- package/docs/zh-CN/tools/skills.md +0 -279
- package/docs/zh-CN/tools/slash-commands.md +0 -196
- package/docs/zh-CN/tools/subagents.md +0 -167
- package/docs/zh-CN/tools/symihub.md +0 -209
- package/docs/zh-CN/tools/thinking.md +0 -80
- package/docs/zh-CN/tools/web.md +0 -257
- package/docs/zh-CN/tts.md +0 -373
- package/docs/zh-CN/vps.md +0 -47
- package/docs/zh-CN/web/control-ui.md +0 -190
- package/docs/zh-CN/web/dashboard.md +0 -53
- package/docs/zh-CN/web/index.md +0 -118
- package/docs/zh-CN/web/tui.md +0 -166
- package/docs/zh-CN/web/webchat.md +0 -56
package/docs/install/hetzner.md
DELETED
|
@@ -1,347 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
summary: "Run Symi Gateway 24/7 on a cheap Hetzner VPS (Docker) with durable state and baked-in binaries"
|
|
3
|
-
read_when:
|
|
4
|
-
- You want Symi running 24/7 on a cloud VPS (not your laptop)
|
|
5
|
-
- You want a production-grade, always-on Gateway on your own VPS
|
|
6
|
-
- You want full control over persistence, binaries, and restart behavior
|
|
7
|
-
- You are running Symi in Docker on Hetzner or a similar provider
|
|
8
|
-
title: "Hetzner"
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# Symi on Hetzner (Docker, Production VPS Guide)
|
|
12
|
-
|
|
13
|
-
## Goal
|
|
14
|
-
|
|
15
|
-
Run a persistent Symi Gateway on a Hetzner VPS using Docker, with durable state, baked-in binaries, and safe restart behavior.
|
|
16
|
-
|
|
17
|
-
If you want “Symi 24/7 for ~$5”, this is the simplest reliable setup.
|
|
18
|
-
Hetzner pricing changes; pick the smallest Debian/Ubuntu VPS and scale up if you hit OOMs.
|
|
19
|
-
|
|
20
|
-
## What are we doing (simple terms)?
|
|
21
|
-
|
|
22
|
-
- Rent a small Linux server (Hetzner VPS)
|
|
23
|
-
- Install Docker (isolated app runtime)
|
|
24
|
-
- Start the Symi Gateway in Docker
|
|
25
|
-
- Persist `~/.symi` + `~/.symi/workspace` on the host (survives restarts/rebuilds)
|
|
26
|
-
- Access the Control UI from your laptop via an SSH tunnel
|
|
27
|
-
|
|
28
|
-
The Gateway can be accessed via:
|
|
29
|
-
|
|
30
|
-
- SSH port forwarding from your laptop
|
|
31
|
-
- Direct port exposure if you manage firewalling and tokens yourself
|
|
32
|
-
|
|
33
|
-
This guide assumes Ubuntu or Debian on Hetzner.
|
|
34
|
-
If you are on another Linux VPS, map packages accordingly.
|
|
35
|
-
For the generic Docker flow, see [Docker](/install/docker).
|
|
36
|
-
|
|
37
|
-
---
|
|
38
|
-
|
|
39
|
-
## Quick path (experienced operators)
|
|
40
|
-
|
|
41
|
-
1. Provision Hetzner VPS
|
|
42
|
-
2. Install Docker
|
|
43
|
-
3. Clone Symi repository
|
|
44
|
-
4. Create persistent host directories
|
|
45
|
-
5. Configure `.env` and `docker-compose.yml`
|
|
46
|
-
6. Bake required binaries into the image
|
|
47
|
-
7. `docker compose up -d`
|
|
48
|
-
8. Verify persistence and Gateway access
|
|
49
|
-
|
|
50
|
-
---
|
|
51
|
-
|
|
52
|
-
## What you need
|
|
53
|
-
|
|
54
|
-
- Hetzner VPS with root access
|
|
55
|
-
- SSH access from your laptop
|
|
56
|
-
- Basic comfort with SSH + copy/paste
|
|
57
|
-
- ~20 minutes
|
|
58
|
-
- Docker and Docker Compose
|
|
59
|
-
- Model auth credentials
|
|
60
|
-
- Optional provider credentials
|
|
61
|
-
- WhatsApp QR
|
|
62
|
-
- Telegram bot token
|
|
63
|
-
- Gmail OAuth
|
|
64
|
-
|
|
65
|
-
---
|
|
66
|
-
|
|
67
|
-
## 1) Provision the VPS
|
|
68
|
-
|
|
69
|
-
Create an Ubuntu or Debian VPS in Hetzner.
|
|
70
|
-
|
|
71
|
-
Connect as root:
|
|
72
|
-
|
|
73
|
-
```bash
|
|
74
|
-
ssh root@YOUR_VPS_IP
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
This guide assumes the VPS is stateful.
|
|
78
|
-
Do not treat it as disposable infrastructure.
|
|
79
|
-
|
|
80
|
-
---
|
|
81
|
-
|
|
82
|
-
## 2) Install Docker (on the VPS)
|
|
83
|
-
|
|
84
|
-
```bash
|
|
85
|
-
apt-get update
|
|
86
|
-
apt-get install -y git curl ca-certificates
|
|
87
|
-
curl -fsSL https://get.docker.com | sh
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
Verify:
|
|
91
|
-
|
|
92
|
-
```bash
|
|
93
|
-
docker --version
|
|
94
|
-
docker compose version
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
---
|
|
98
|
-
|
|
99
|
-
## 3) Clone the Symi repository
|
|
100
|
-
|
|
101
|
-
```bash
|
|
102
|
-
git clone https://github.com/symi/symi.git
|
|
103
|
-
cd symi
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
This guide assumes you will build a custom image to guarantee binary persistence.
|
|
107
|
-
|
|
108
|
-
---
|
|
109
|
-
|
|
110
|
-
## 4) Create persistent host directories
|
|
111
|
-
|
|
112
|
-
Docker containers are ephemeral.
|
|
113
|
-
All long-lived state must live on the host.
|
|
114
|
-
|
|
115
|
-
```bash
|
|
116
|
-
mkdir -p /root/.symi/workspace
|
|
117
|
-
|
|
118
|
-
# Set ownership to the container user (uid 1000):
|
|
119
|
-
chown -R 1000:1000 /root/.symi
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
---
|
|
123
|
-
|
|
124
|
-
## 5) Configure environment variables
|
|
125
|
-
|
|
126
|
-
Create `.env` in the repository root.
|
|
127
|
-
|
|
128
|
-
```bash
|
|
129
|
-
SYMI_IMAGE=symi:latest
|
|
130
|
-
SYMI_GATEWAY_TOKEN=change-me-now
|
|
131
|
-
SYMI_GATEWAY_BIND=lan
|
|
132
|
-
SYMI_GATEWAY_PORT=18789
|
|
133
|
-
|
|
134
|
-
SYMI_CONFIG_DIR=/root/.symi
|
|
135
|
-
SYMI_WORKSPACE_DIR=/root/.symi/workspace
|
|
136
|
-
|
|
137
|
-
GOG_KEYRING_PASSWORD=change-me-now
|
|
138
|
-
XDG_CONFIG_HOME=/home/node/.symi
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
Generate strong secrets:
|
|
142
|
-
|
|
143
|
-
```bash
|
|
144
|
-
openssl rand -hex 32
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
**Do not commit this file.**
|
|
148
|
-
|
|
149
|
-
---
|
|
150
|
-
|
|
151
|
-
## 6) Docker Compose configuration
|
|
152
|
-
|
|
153
|
-
Create or update `docker-compose.yml`.
|
|
154
|
-
|
|
155
|
-
```yaml
|
|
156
|
-
services:
|
|
157
|
-
symi-gateway:
|
|
158
|
-
image: ${SYMI_IMAGE}
|
|
159
|
-
build: .
|
|
160
|
-
restart: unless-stopped
|
|
161
|
-
env_file:
|
|
162
|
-
- .env
|
|
163
|
-
environment:
|
|
164
|
-
- HOME=/home/node
|
|
165
|
-
- NODE_ENV=production
|
|
166
|
-
- TERM=xterm-256color
|
|
167
|
-
- SYMI_GATEWAY_BIND=${SYMI_GATEWAY_BIND}
|
|
168
|
-
- SYMI_GATEWAY_PORT=${SYMI_GATEWAY_PORT}
|
|
169
|
-
- SYMI_GATEWAY_TOKEN=${SYMI_GATEWAY_TOKEN}
|
|
170
|
-
- GOG_KEYRING_PASSWORD=${GOG_KEYRING_PASSWORD}
|
|
171
|
-
- XDG_CONFIG_HOME=${XDG_CONFIG_HOME}
|
|
172
|
-
- PATH=/home/linuxbrew/.linuxbrew/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
|
173
|
-
volumes:
|
|
174
|
-
- ${SYMI_CONFIG_DIR}:/home/node/.symi
|
|
175
|
-
- ${SYMI_WORKSPACE_DIR}:/home/node/.symi/workspace
|
|
176
|
-
ports:
|
|
177
|
-
# Recommended: keep the Gateway loopback-only on the VPS; access via SSH tunnel.
|
|
178
|
-
# To expose it publicly, remove the `127.0.0.1:` prefix and firewall accordingly.
|
|
179
|
-
- "127.0.0.1:${SYMI_GATEWAY_PORT}:18789"
|
|
180
|
-
command:
|
|
181
|
-
[
|
|
182
|
-
"node",
|
|
183
|
-
"dist/index.js",
|
|
184
|
-
"gateway",
|
|
185
|
-
"--bind",
|
|
186
|
-
"${SYMI_GATEWAY_BIND}",
|
|
187
|
-
"--port",
|
|
188
|
-
"${SYMI_GATEWAY_PORT}",
|
|
189
|
-
"--allow-unconfigured",
|
|
190
|
-
]
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
`--allow-unconfigured` is only for bootstrap convenience, it is not a replacement for a proper gateway configuration. Still set auth (`gateway.auth.token` or password) and use safe bind settings for your deployment.
|
|
194
|
-
|
|
195
|
-
---
|
|
196
|
-
|
|
197
|
-
## 7) Bake required binaries into the image (critical)
|
|
198
|
-
|
|
199
|
-
Installing binaries inside a running container is a trap.
|
|
200
|
-
Anything installed at runtime will be lost on restart.
|
|
201
|
-
|
|
202
|
-
All external binaries required by skills must be installed at image build time.
|
|
203
|
-
|
|
204
|
-
The examples below show three common binaries only:
|
|
205
|
-
|
|
206
|
-
- `gog` for Gmail access
|
|
207
|
-
- `goplaces` for Google Places
|
|
208
|
-
- `wacli` for WhatsApp
|
|
209
|
-
|
|
210
|
-
These are examples, not a complete list.
|
|
211
|
-
You may install as many binaries as needed using the same pattern.
|
|
212
|
-
|
|
213
|
-
If you add new skills later that depend on additional binaries, you must:
|
|
214
|
-
|
|
215
|
-
1. Update the Dockerfile
|
|
216
|
-
2. Rebuild the image
|
|
217
|
-
3. Restart the containers
|
|
218
|
-
|
|
219
|
-
**Example Dockerfile**
|
|
220
|
-
|
|
221
|
-
```dockerfile
|
|
222
|
-
FROM node:22-bookworm
|
|
223
|
-
|
|
224
|
-
RUN apt-get update && apt-get install -y socat && rm -rf /var/lib/apt/lists/*
|
|
225
|
-
|
|
226
|
-
# Example binary 1: Gmail CLI
|
|
227
|
-
RUN curl -L https://github.com/steipete/gog/releases/latest/download/gog_Linux_x86_64.tar.gz \
|
|
228
|
-
| tar -xz -C /usr/local/bin && chmod +x /usr/local/bin/gog
|
|
229
|
-
|
|
230
|
-
# Example binary 2: Google Places CLI
|
|
231
|
-
RUN curl -L https://github.com/steipete/goplaces/releases/latest/download/goplaces_Linux_x86_64.tar.gz \
|
|
232
|
-
| tar -xz -C /usr/local/bin && chmod +x /usr/local/bin/goplaces
|
|
233
|
-
|
|
234
|
-
# Example binary 3: WhatsApp CLI
|
|
235
|
-
RUN curl -L https://github.com/steipete/wacli/releases/latest/download/wacli_Linux_x86_64.tar.gz \
|
|
236
|
-
| tar -xz -C /usr/local/bin && chmod +x /usr/local/bin/wacli
|
|
237
|
-
|
|
238
|
-
# Add more binaries below using the same pattern
|
|
239
|
-
|
|
240
|
-
WORKDIR /app
|
|
241
|
-
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml .npmrc ./
|
|
242
|
-
COPY scripts ./scripts
|
|
243
|
-
|
|
244
|
-
RUN corepack enable
|
|
245
|
-
RUN pnpm install --frozen-lockfile
|
|
246
|
-
|
|
247
|
-
COPY . .
|
|
248
|
-
RUN pnpm build
|
|
249
|
-
RUN pnpm ui:install
|
|
250
|
-
RUN pnpm ui:build
|
|
251
|
-
|
|
252
|
-
ENV NODE_ENV=production
|
|
253
|
-
|
|
254
|
-
CMD ["node","dist/index.js"]
|
|
255
|
-
```
|
|
256
|
-
|
|
257
|
-
---
|
|
258
|
-
|
|
259
|
-
## 8) Build and launch
|
|
260
|
-
|
|
261
|
-
```bash
|
|
262
|
-
docker compose build
|
|
263
|
-
docker compose up -d symi-gateway
|
|
264
|
-
```
|
|
265
|
-
|
|
266
|
-
Verify binaries:
|
|
267
|
-
|
|
268
|
-
```bash
|
|
269
|
-
docker compose exec symi-gateway which gog
|
|
270
|
-
docker compose exec symi-gateway which goplaces
|
|
271
|
-
docker compose exec symi-gateway which wacli
|
|
272
|
-
```
|
|
273
|
-
|
|
274
|
-
Expected output:
|
|
275
|
-
|
|
276
|
-
```
|
|
277
|
-
/usr/local/bin/gog
|
|
278
|
-
/usr/local/bin/goplaces
|
|
279
|
-
/usr/local/bin/wacli
|
|
280
|
-
```
|
|
281
|
-
|
|
282
|
-
---
|
|
283
|
-
|
|
284
|
-
## 9) Verify Gateway
|
|
285
|
-
|
|
286
|
-
```bash
|
|
287
|
-
docker compose logs -f symi-gateway
|
|
288
|
-
```
|
|
289
|
-
|
|
290
|
-
Success:
|
|
291
|
-
|
|
292
|
-
```
|
|
293
|
-
[gateway] listening on ws://0.0.0.0:18789
|
|
294
|
-
```
|
|
295
|
-
|
|
296
|
-
From your laptop:
|
|
297
|
-
|
|
298
|
-
```bash
|
|
299
|
-
ssh -N -L 18789:127.0.0.1:18789 root@YOUR_VPS_IP
|
|
300
|
-
```
|
|
301
|
-
|
|
302
|
-
Open:
|
|
303
|
-
|
|
304
|
-
`http://127.0.0.1:18789/`
|
|
305
|
-
|
|
306
|
-
Paste your gateway token.
|
|
307
|
-
|
|
308
|
-
---
|
|
309
|
-
|
|
310
|
-
## What persists where (source of truth)
|
|
311
|
-
|
|
312
|
-
Symi runs in Docker, but Docker is not the source of truth.
|
|
313
|
-
All long-lived state must survive restarts, rebuilds, and reboots.
|
|
314
|
-
|
|
315
|
-
| Component | Location | Persistence mechanism | Notes |
|
|
316
|
-
| ------------------- | ----------------------------- | ---------------------- | ------------------------------- |
|
|
317
|
-
| Gateway config | `/home/node/.symi/` | Host volume mount | Includes `symi.json`, tokens |
|
|
318
|
-
| Model auth profiles | `/home/node/.symi/` | Host volume mount | OAuth tokens, API keys |
|
|
319
|
-
| Skill configs | `/home/node/.symi/skills/` | Host volume mount | Skill-level state |
|
|
320
|
-
| Agent workspace | `/home/node/.symi/workspace/` | Host volume mount | Code and agent artifacts |
|
|
321
|
-
| WhatsApp session | `/home/node/.symi/` | Host volume mount | Preserves QR login |
|
|
322
|
-
| Gmail keyring | `/home/node/.symi/` | Host volume + password | Requires `GOG_KEYRING_PASSWORD` |
|
|
323
|
-
| External binaries | `/usr/local/bin/` | Docker image | Must be baked at build time |
|
|
324
|
-
| Node runtime | Container filesystem | Docker image | Rebuilt every image build |
|
|
325
|
-
| OS packages | Container filesystem | Docker image | Do not install at runtime |
|
|
326
|
-
| Docker container | Ephemeral | Restartable | Safe to destroy |
|
|
327
|
-
|
|
328
|
-
---
|
|
329
|
-
|
|
330
|
-
## Infrastructure as Code (Terraform)
|
|
331
|
-
|
|
332
|
-
For teams preferring infrastructure-as-code workflows, a community-maintained Terraform setup provides:
|
|
333
|
-
|
|
334
|
-
- Modular Terraform configuration with remote state management
|
|
335
|
-
- Automated provisioning via cloud-init
|
|
336
|
-
- Deployment scripts (bootstrap, deploy, backup/restore)
|
|
337
|
-
- Security hardening (firewall, UFW, SSH-only access)
|
|
338
|
-
- SSH tunnel configuration for gateway access
|
|
339
|
-
|
|
340
|
-
**Repositories:**
|
|
341
|
-
|
|
342
|
-
- Infrastructure: [symi-terraform-hetzner](https://github.com/andreesg/symi-terraform-hetzner)
|
|
343
|
-
- Docker config: [symi-docker-config](https://github.com/andreesg/symi-docker-config)
|
|
344
|
-
|
|
345
|
-
This approach complements the Docker setup above with reproducible deployments, version-controlled infrastructure, and automated disaster recovery.
|
|
346
|
-
|
|
347
|
-
> **Note:** Community-maintained. For issues or contributions, see the repository links above.
|
package/docs/install/index.md
DELETED
|
@@ -1,218 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
summary: "Install Symi — installer script, npm/pnpm, from source, Docker, and more"
|
|
3
|
-
read_when:
|
|
4
|
-
- You need an install method other than the Getting Started quickstart
|
|
5
|
-
- You want to deploy to a cloud platform
|
|
6
|
-
- You need to update, migrate, or uninstall
|
|
7
|
-
title: "Install"
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Install
|
|
11
|
-
|
|
12
|
-
Already followed [Getting Started](/start/getting-started)? You're all set — this page is for alternative install methods, platform-specific instructions, and maintenance.
|
|
13
|
-
|
|
14
|
-
## System requirements
|
|
15
|
-
|
|
16
|
-
- **[Node 22+](/install/node)** (the [installer script](#install-methods) will install it if missing)
|
|
17
|
-
- macOS, Linux, or Windows
|
|
18
|
-
- `pnpm` only if you build from source
|
|
19
|
-
|
|
20
|
-
<Note>
|
|
21
|
-
On Windows, we strongly recommend running Symi under [WSL2](https://learn.microsoft.com/en-us/windows/wsl/install).
|
|
22
|
-
</Note>
|
|
23
|
-
|
|
24
|
-
## Install methods
|
|
25
|
-
|
|
26
|
-
<Tip>
|
|
27
|
-
The **installer script** is the recommended way to install Symi. It handles Node detection, installation, and onboarding in one step.
|
|
28
|
-
</Tip>
|
|
29
|
-
|
|
30
|
-
<Warning>
|
|
31
|
-
For VPS/cloud hosts, avoid third-party "1-click" marketplace images when possible. Prefer a clean base OS image (for example Ubuntu LTS), then install Symi yourself with the installer script.
|
|
32
|
-
</Warning>
|
|
33
|
-
|
|
34
|
-
<AccordionGroup>
|
|
35
|
-
<Accordion title="Installer script" icon="rocket" defaultOpen>
|
|
36
|
-
Downloads the CLI, installs it globally via npm, and launches the onboarding wizard.
|
|
37
|
-
|
|
38
|
-
<Tabs>
|
|
39
|
-
<Tab title="macOS / Linux / WSL2">
|
|
40
|
-
```bash
|
|
41
|
-
curl -fsSL https://jaysteelmind.github.io/getsymi/install.sh | bash
|
|
42
|
-
```
|
|
43
|
-
</Tab>
|
|
44
|
-
<Tab title="Windows (PowerShell)">
|
|
45
|
-
```powershell
|
|
46
|
-
iwr -useb https://jaysteelmind.github.io/getsymi/install.ps1 | iex
|
|
47
|
-
```
|
|
48
|
-
</Tab>
|
|
49
|
-
</Tabs>
|
|
50
|
-
|
|
51
|
-
That's it — the script handles Node detection, installation, and onboarding.
|
|
52
|
-
|
|
53
|
-
To skip onboarding and just install the binary:
|
|
54
|
-
|
|
55
|
-
<Tabs>
|
|
56
|
-
<Tab title="macOS / Linux / WSL2">
|
|
57
|
-
```bash
|
|
58
|
-
curl -fsSL https://jaysteelmind.github.io/getsymi/install.sh | bash -s -- --no-onboard
|
|
59
|
-
```
|
|
60
|
-
</Tab>
|
|
61
|
-
<Tab title="Windows (PowerShell)">
|
|
62
|
-
```powershell
|
|
63
|
-
& ([scriptblock]::Create((iwr -useb https://jaysteelmind.github.io/getsymi/install.ps1))) -NoOnboard
|
|
64
|
-
```
|
|
65
|
-
</Tab>
|
|
66
|
-
</Tabs>
|
|
67
|
-
|
|
68
|
-
For all flags, env vars, and CI/automation options, see [Installer internals](/install/installer).
|
|
69
|
-
|
|
70
|
-
</Accordion>
|
|
71
|
-
|
|
72
|
-
<Accordion title="npm / pnpm" icon="package">
|
|
73
|
-
If you already have Node 22+ and prefer to manage the install yourself:
|
|
74
|
-
|
|
75
|
-
<Tabs>
|
|
76
|
-
<Tab title="npm">
|
|
77
|
-
```bash
|
|
78
|
-
npm install -g @symerian/symi@latest
|
|
79
|
-
symi onboard --install-daemon
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
<Accordion title="sharp build errors?">
|
|
83
|
-
If you have libvips installed globally (common on macOS via Homebrew) and `sharp` fails, force prebuilt binaries:
|
|
84
|
-
|
|
85
|
-
```bash
|
|
86
|
-
SHARP_IGNORE_GLOBAL_LIBVIPS=1 npm install -g @symerian/symi@latest
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
If you see `sharp: Please add node-gyp to your dependencies`, either install build tooling (macOS: Xcode CLT + `npm install -g node-gyp`) or use the env var above.
|
|
90
|
-
</Accordion>
|
|
91
|
-
</Tab>
|
|
92
|
-
<Tab title="pnpm">
|
|
93
|
-
```bash
|
|
94
|
-
pnpm add -g symi@latest
|
|
95
|
-
pnpm approve-builds -g # approve symi, node-llama-cpp, sharp, etc.
|
|
96
|
-
symi onboard --install-daemon
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
<Note>
|
|
100
|
-
pnpm requires explicit approval for packages with build scripts. After the first install shows the "Ignored build scripts" warning, run `pnpm approve-builds -g` and select the listed packages.
|
|
101
|
-
</Note>
|
|
102
|
-
</Tab>
|
|
103
|
-
</Tabs>
|
|
104
|
-
|
|
105
|
-
</Accordion>
|
|
106
|
-
|
|
107
|
-
<Accordion title="From source" icon="github">
|
|
108
|
-
For contributors or anyone who wants to run from a local checkout.
|
|
109
|
-
|
|
110
|
-
<Steps>
|
|
111
|
-
<Step title="Clone and build">
|
|
112
|
-
Clone the [Symi repo](https://github.com/symi/symi) and build:
|
|
113
|
-
|
|
114
|
-
```bash
|
|
115
|
-
git clone https://github.com/symi/symi.git
|
|
116
|
-
cd symi
|
|
117
|
-
pnpm install
|
|
118
|
-
pnpm ui:build
|
|
119
|
-
pnpm build
|
|
120
|
-
```
|
|
121
|
-
</Step>
|
|
122
|
-
<Step title="Link the CLI">
|
|
123
|
-
Make the `symi` command available globally:
|
|
124
|
-
|
|
125
|
-
```bash
|
|
126
|
-
pnpm link --global
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
Alternatively, skip the link and run commands via `pnpm symi ...` from inside the repo.
|
|
130
|
-
</Step>
|
|
131
|
-
<Step title="Run onboarding">
|
|
132
|
-
```bash
|
|
133
|
-
symi onboard --install-daemon
|
|
134
|
-
```
|
|
135
|
-
</Step>
|
|
136
|
-
</Steps>
|
|
137
|
-
|
|
138
|
-
For deeper development workflows, see [Setup](/start/setup).
|
|
139
|
-
|
|
140
|
-
</Accordion>
|
|
141
|
-
</AccordionGroup>
|
|
142
|
-
|
|
143
|
-
## Other install methods
|
|
144
|
-
|
|
145
|
-
<CardGroup cols={2}>
|
|
146
|
-
<Card title="Docker" href="/install/docker" icon="container">
|
|
147
|
-
Containerized or headless deployments.
|
|
148
|
-
</Card>
|
|
149
|
-
<Card title="Podman" href="/install/podman" icon="container">
|
|
150
|
-
Rootless container: run `setup-podman.sh` once, then the launch script.
|
|
151
|
-
</Card>
|
|
152
|
-
<Card title="Nix" href="/install/nix" icon="snowflake">
|
|
153
|
-
Declarative install via Nix.
|
|
154
|
-
</Card>
|
|
155
|
-
<Card title="Ansible" href="/install/ansible" icon="server">
|
|
156
|
-
Automated fleet provisioning.
|
|
157
|
-
</Card>
|
|
158
|
-
<Card title="Bun" href="/install/bun" icon="zap">
|
|
159
|
-
CLI-only usage via the Bun runtime.
|
|
160
|
-
</Card>
|
|
161
|
-
</CardGroup>
|
|
162
|
-
|
|
163
|
-
## After install
|
|
164
|
-
|
|
165
|
-
Verify everything is working:
|
|
166
|
-
|
|
167
|
-
```bash
|
|
168
|
-
symi doctor # check for config issues
|
|
169
|
-
symi status # gateway status
|
|
170
|
-
symi dashboard # open the browser UI
|
|
171
|
-
```
|
|
172
|
-
|
|
173
|
-
If you need custom runtime paths, use:
|
|
174
|
-
|
|
175
|
-
- `SYMI_HOME` for home-directory based internal paths
|
|
176
|
-
- `SYMI_STATE_DIR` for mutable state location
|
|
177
|
-
- `SYMI_CONFIG_PATH` for config file location
|
|
178
|
-
|
|
179
|
-
See [Environment vars](/help/environment) for precedence and full details.
|
|
180
|
-
|
|
181
|
-
## Troubleshooting: `symi` not found
|
|
182
|
-
|
|
183
|
-
<Accordion title="PATH diagnosis and fix">
|
|
184
|
-
Quick diagnosis:
|
|
185
|
-
|
|
186
|
-
```bash
|
|
187
|
-
node -v
|
|
188
|
-
npm -v
|
|
189
|
-
npm prefix -g
|
|
190
|
-
echo "$PATH"
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
If `$(npm prefix -g)/bin` (macOS/Linux) or `$(npm prefix -g)` (Windows) is **not** in your `$PATH`, your shell can't find global npm binaries (including `symi`).
|
|
194
|
-
|
|
195
|
-
Fix — add it to your shell startup file (`~/.zshrc` or `~/.bashrc`):
|
|
196
|
-
|
|
197
|
-
```bash
|
|
198
|
-
export PATH="$(npm prefix -g)/bin:$PATH"
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
On Windows, add the output of `npm prefix -g` to your PATH.
|
|
202
|
-
|
|
203
|
-
Then open a new terminal (or `rehash` in zsh / `hash -r` in bash).
|
|
204
|
-
</Accordion>
|
|
205
|
-
|
|
206
|
-
## Update / uninstall
|
|
207
|
-
|
|
208
|
-
<CardGroup cols={3}>
|
|
209
|
-
<Card title="Updating" href="/install/updating" icon="refresh-cw">
|
|
210
|
-
Keep Symi up to date.
|
|
211
|
-
</Card>
|
|
212
|
-
<Card title="Migrating" href="/install/migrating" icon="arrow-right">
|
|
213
|
-
Move to a new machine.
|
|
214
|
-
</Card>
|
|
215
|
-
<Card title="Uninstall" href="/install/uninstall" icon="trash-2">
|
|
216
|
-
Remove Symi completely.
|
|
217
|
-
</Card>
|
|
218
|
-
</CardGroup>
|