@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/gcp.md
DELETED
|
@@ -1,499 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
summary: "Run Symi Gateway 24/7 on a GCP Compute Engine VM (Docker) with durable state"
|
|
3
|
-
read_when:
|
|
4
|
-
- You want Symi running 24/7 on GCP
|
|
5
|
-
- You want a production-grade, always-on Gateway on your own VM
|
|
6
|
-
- You want full control over persistence, binaries, and restart behavior
|
|
7
|
-
title: "GCP"
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Symi on GCP Compute Engine (Docker, Production VPS Guide)
|
|
11
|
-
|
|
12
|
-
## Goal
|
|
13
|
-
|
|
14
|
-
Run a persistent Symi Gateway on a GCP Compute Engine VM using Docker, with durable state, baked-in binaries, and safe restart behavior.
|
|
15
|
-
|
|
16
|
-
If you want "Symi 24/7 for ~$5-12/mo", this is a reliable setup on Google Cloud.
|
|
17
|
-
Pricing varies by machine type and region; pick the smallest VM that fits your workload and scale up if you hit OOMs.
|
|
18
|
-
|
|
19
|
-
## What are we doing (simple terms)?
|
|
20
|
-
|
|
21
|
-
- Create a GCP project and enable billing
|
|
22
|
-
- Create a Compute Engine VM
|
|
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 uses Debian on GCP Compute Engine.
|
|
34
|
-
Ubuntu also works; map packages accordingly.
|
|
35
|
-
For the generic Docker flow, see [Docker](/install/docker).
|
|
36
|
-
|
|
37
|
-
---
|
|
38
|
-
|
|
39
|
-
## Quick path (experienced operators)
|
|
40
|
-
|
|
41
|
-
1. Create GCP project + enable Compute Engine API
|
|
42
|
-
2. Create Compute Engine VM (e2-small, Debian 12, 20GB)
|
|
43
|
-
3. SSH into the VM
|
|
44
|
-
4. Install Docker
|
|
45
|
-
5. Clone Symi repository
|
|
46
|
-
6. Create persistent host directories
|
|
47
|
-
7. Configure `.env` and `docker-compose.yml`
|
|
48
|
-
8. Bake required binaries, build, and launch
|
|
49
|
-
|
|
50
|
-
---
|
|
51
|
-
|
|
52
|
-
## What you need
|
|
53
|
-
|
|
54
|
-
- GCP account (free tier eligible for e2-micro)
|
|
55
|
-
- gcloud CLI installed (or use Cloud Console)
|
|
56
|
-
- SSH access from your laptop
|
|
57
|
-
- Basic comfort with SSH + copy/paste
|
|
58
|
-
- ~20-30 minutes
|
|
59
|
-
- Docker and Docker Compose
|
|
60
|
-
- Model auth credentials
|
|
61
|
-
- Optional provider credentials
|
|
62
|
-
- WhatsApp QR
|
|
63
|
-
- Telegram bot token
|
|
64
|
-
- Gmail OAuth
|
|
65
|
-
|
|
66
|
-
---
|
|
67
|
-
|
|
68
|
-
## 1) Install gcloud CLI (or use Console)
|
|
69
|
-
|
|
70
|
-
**Option A: gcloud CLI** (recommended for automation)
|
|
71
|
-
|
|
72
|
-
Install from [https://cloud.google.com/sdk/docs/install](https://cloud.google.com/sdk/docs/install)
|
|
73
|
-
|
|
74
|
-
Initialize and authenticate:
|
|
75
|
-
|
|
76
|
-
```bash
|
|
77
|
-
gcloud init
|
|
78
|
-
gcloud auth login
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
**Option B: Cloud Console**
|
|
82
|
-
|
|
83
|
-
All steps can be done via the web UI at [https://console.cloud.google.com](https://console.cloud.google.com)
|
|
84
|
-
|
|
85
|
-
---
|
|
86
|
-
|
|
87
|
-
## 2) Create a GCP project
|
|
88
|
-
|
|
89
|
-
**CLI:**
|
|
90
|
-
|
|
91
|
-
```bash
|
|
92
|
-
gcloud projects create my-symi-project --name="Symi Gateway"
|
|
93
|
-
gcloud config set project my-symi-project
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
Enable billing at [https://console.cloud.google.com/billing](https://console.cloud.google.com/billing) (required for Compute Engine).
|
|
97
|
-
|
|
98
|
-
Enable the Compute Engine API:
|
|
99
|
-
|
|
100
|
-
```bash
|
|
101
|
-
gcloud services enable compute.googleapis.com
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
**Console:**
|
|
105
|
-
|
|
106
|
-
1. Go to IAM & Admin > Create Project
|
|
107
|
-
2. Name it and create
|
|
108
|
-
3. Enable billing for the project
|
|
109
|
-
4. Navigate to APIs & Services > Enable APIs > search "Compute Engine API" > Enable
|
|
110
|
-
|
|
111
|
-
---
|
|
112
|
-
|
|
113
|
-
## 3) Create the VM
|
|
114
|
-
|
|
115
|
-
**Machine types:**
|
|
116
|
-
|
|
117
|
-
| Type | Specs | Cost | Notes |
|
|
118
|
-
| -------- | ------------------------ | ------------------ | ------------------ |
|
|
119
|
-
| e2-small | 2 vCPU, 2GB RAM | ~$12/mo | Recommended |
|
|
120
|
-
| e2-micro | 2 vCPU (shared), 1GB RAM | Free tier eligible | May OOM under load |
|
|
121
|
-
|
|
122
|
-
**CLI:**
|
|
123
|
-
|
|
124
|
-
```bash
|
|
125
|
-
gcloud compute instances create symi-gateway \
|
|
126
|
-
--zone=us-central1-a \
|
|
127
|
-
--machine-type=e2-small \
|
|
128
|
-
--boot-disk-size=20GB \
|
|
129
|
-
--image-family=debian-12 \
|
|
130
|
-
--image-project=debian-cloud
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
**Console:**
|
|
134
|
-
|
|
135
|
-
1. Go to Compute Engine > VM instances > Create instance
|
|
136
|
-
2. Name: `symi-gateway`
|
|
137
|
-
3. Region: `us-central1`, Zone: `us-central1-a`
|
|
138
|
-
4. Machine type: `e2-small`
|
|
139
|
-
5. Boot disk: Debian 12, 20GB
|
|
140
|
-
6. Create
|
|
141
|
-
|
|
142
|
-
---
|
|
143
|
-
|
|
144
|
-
## 4) SSH into the VM
|
|
145
|
-
|
|
146
|
-
**CLI:**
|
|
147
|
-
|
|
148
|
-
```bash
|
|
149
|
-
gcloud compute ssh symi-gateway --zone=us-central1-a
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
**Console:**
|
|
153
|
-
|
|
154
|
-
Click the "SSH" button next to your VM in the Compute Engine dashboard.
|
|
155
|
-
|
|
156
|
-
Note: SSH key propagation can take 1-2 minutes after VM creation. If connection is refused, wait and retry.
|
|
157
|
-
|
|
158
|
-
---
|
|
159
|
-
|
|
160
|
-
## 5) Install Docker (on the VM)
|
|
161
|
-
|
|
162
|
-
```bash
|
|
163
|
-
sudo apt-get update
|
|
164
|
-
sudo apt-get install -y git curl ca-certificates
|
|
165
|
-
curl -fsSL https://get.docker.com | sudo sh
|
|
166
|
-
sudo usermod -aG docker $USER
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
Log out and back in for the group change to take effect:
|
|
170
|
-
|
|
171
|
-
```bash
|
|
172
|
-
exit
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
Then SSH back in:
|
|
176
|
-
|
|
177
|
-
```bash
|
|
178
|
-
gcloud compute ssh symi-gateway --zone=us-central1-a
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
Verify:
|
|
182
|
-
|
|
183
|
-
```bash
|
|
184
|
-
docker --version
|
|
185
|
-
docker compose version
|
|
186
|
-
```
|
|
187
|
-
|
|
188
|
-
---
|
|
189
|
-
|
|
190
|
-
## 6) Clone the Symi repository
|
|
191
|
-
|
|
192
|
-
```bash
|
|
193
|
-
git clone https://github.com/symi/symi.git
|
|
194
|
-
cd symi
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
This guide assumes you will build a custom image to guarantee binary persistence.
|
|
198
|
-
|
|
199
|
-
---
|
|
200
|
-
|
|
201
|
-
## 7) Create persistent host directories
|
|
202
|
-
|
|
203
|
-
Docker containers are ephemeral.
|
|
204
|
-
All long-lived state must live on the host.
|
|
205
|
-
|
|
206
|
-
```bash
|
|
207
|
-
mkdir -p ~/.symi
|
|
208
|
-
mkdir -p ~/.symi/workspace
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
---
|
|
212
|
-
|
|
213
|
-
## 8) Configure environment variables
|
|
214
|
-
|
|
215
|
-
Create `.env` in the repository root.
|
|
216
|
-
|
|
217
|
-
```bash
|
|
218
|
-
SYMI_IMAGE=symi:latest
|
|
219
|
-
SYMI_GATEWAY_TOKEN=change-me-now
|
|
220
|
-
SYMI_GATEWAY_BIND=lan
|
|
221
|
-
SYMI_GATEWAY_PORT=18789
|
|
222
|
-
|
|
223
|
-
SYMI_CONFIG_DIR=/home/$USER/.symi
|
|
224
|
-
SYMI_WORKSPACE_DIR=/home/$USER/.symi/workspace
|
|
225
|
-
|
|
226
|
-
GOG_KEYRING_PASSWORD=change-me-now
|
|
227
|
-
XDG_CONFIG_HOME=/home/node/.symi
|
|
228
|
-
```
|
|
229
|
-
|
|
230
|
-
Generate strong secrets:
|
|
231
|
-
|
|
232
|
-
```bash
|
|
233
|
-
openssl rand -hex 32
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
**Do not commit this file.**
|
|
237
|
-
|
|
238
|
-
---
|
|
239
|
-
|
|
240
|
-
## 9) Docker Compose configuration
|
|
241
|
-
|
|
242
|
-
Create or update `docker-compose.yml`.
|
|
243
|
-
|
|
244
|
-
```yaml
|
|
245
|
-
services:
|
|
246
|
-
symi-gateway:
|
|
247
|
-
image: ${SYMI_IMAGE}
|
|
248
|
-
build: .
|
|
249
|
-
restart: unless-stopped
|
|
250
|
-
env_file:
|
|
251
|
-
- .env
|
|
252
|
-
environment:
|
|
253
|
-
- HOME=/home/node
|
|
254
|
-
- NODE_ENV=production
|
|
255
|
-
- TERM=xterm-256color
|
|
256
|
-
- SYMI_GATEWAY_BIND=${SYMI_GATEWAY_BIND}
|
|
257
|
-
- SYMI_GATEWAY_PORT=${SYMI_GATEWAY_PORT}
|
|
258
|
-
- SYMI_GATEWAY_TOKEN=${SYMI_GATEWAY_TOKEN}
|
|
259
|
-
- GOG_KEYRING_PASSWORD=${GOG_KEYRING_PASSWORD}
|
|
260
|
-
- XDG_CONFIG_HOME=${XDG_CONFIG_HOME}
|
|
261
|
-
- PATH=/home/linuxbrew/.linuxbrew/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
|
262
|
-
volumes:
|
|
263
|
-
- ${SYMI_CONFIG_DIR}:/home/node/.symi
|
|
264
|
-
- ${SYMI_WORKSPACE_DIR}:/home/node/.symi/workspace
|
|
265
|
-
ports:
|
|
266
|
-
# Recommended: keep the Gateway loopback-only on the VM; access via SSH tunnel.
|
|
267
|
-
# To expose it publicly, remove the `127.0.0.1:` prefix and firewall accordingly.
|
|
268
|
-
- "127.0.0.1:${SYMI_GATEWAY_PORT}:18789"
|
|
269
|
-
command:
|
|
270
|
-
[
|
|
271
|
-
"node",
|
|
272
|
-
"dist/index.js",
|
|
273
|
-
"gateway",
|
|
274
|
-
"--bind",
|
|
275
|
-
"${SYMI_GATEWAY_BIND}",
|
|
276
|
-
"--port",
|
|
277
|
-
"${SYMI_GATEWAY_PORT}",
|
|
278
|
-
]
|
|
279
|
-
```
|
|
280
|
-
|
|
281
|
-
---
|
|
282
|
-
|
|
283
|
-
## 10) Bake required binaries into the image (critical)
|
|
284
|
-
|
|
285
|
-
Installing binaries inside a running container is a trap.
|
|
286
|
-
Anything installed at runtime will be lost on restart.
|
|
287
|
-
|
|
288
|
-
All external binaries required by skills must be installed at image build time.
|
|
289
|
-
|
|
290
|
-
The examples below show three common binaries only:
|
|
291
|
-
|
|
292
|
-
- `gog` for Gmail access
|
|
293
|
-
- `goplaces` for Google Places
|
|
294
|
-
- `wacli` for WhatsApp
|
|
295
|
-
|
|
296
|
-
These are examples, not a complete list.
|
|
297
|
-
You may install as many binaries as needed using the same pattern.
|
|
298
|
-
|
|
299
|
-
If you add new skills later that depend on additional binaries, you must:
|
|
300
|
-
|
|
301
|
-
1. Update the Dockerfile
|
|
302
|
-
2. Rebuild the image
|
|
303
|
-
3. Restart the containers
|
|
304
|
-
|
|
305
|
-
**Example Dockerfile**
|
|
306
|
-
|
|
307
|
-
```dockerfile
|
|
308
|
-
FROM node:22-bookworm
|
|
309
|
-
|
|
310
|
-
RUN apt-get update && apt-get install -y socat && rm -rf /var/lib/apt/lists/*
|
|
311
|
-
|
|
312
|
-
# Example binary 1: Gmail CLI
|
|
313
|
-
RUN curl -L https://github.com/steipete/gog/releases/latest/download/gog_Linux_x86_64.tar.gz \
|
|
314
|
-
| tar -xz -C /usr/local/bin && chmod +x /usr/local/bin/gog
|
|
315
|
-
|
|
316
|
-
# Example binary 2: Google Places CLI
|
|
317
|
-
RUN curl -L https://github.com/steipete/goplaces/releases/latest/download/goplaces_Linux_x86_64.tar.gz \
|
|
318
|
-
| tar -xz -C /usr/local/bin && chmod +x /usr/local/bin/goplaces
|
|
319
|
-
|
|
320
|
-
# Example binary 3: WhatsApp CLI
|
|
321
|
-
RUN curl -L https://github.com/steipete/wacli/releases/latest/download/wacli_Linux_x86_64.tar.gz \
|
|
322
|
-
| tar -xz -C /usr/local/bin && chmod +x /usr/local/bin/wacli
|
|
323
|
-
|
|
324
|
-
# Add more binaries below using the same pattern
|
|
325
|
-
|
|
326
|
-
WORKDIR /app
|
|
327
|
-
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml .npmrc ./
|
|
328
|
-
COPY scripts ./scripts
|
|
329
|
-
|
|
330
|
-
RUN corepack enable
|
|
331
|
-
RUN pnpm install --frozen-lockfile
|
|
332
|
-
|
|
333
|
-
COPY . .
|
|
334
|
-
RUN pnpm build
|
|
335
|
-
RUN pnpm ui:install
|
|
336
|
-
RUN pnpm ui:build
|
|
337
|
-
|
|
338
|
-
ENV NODE_ENV=production
|
|
339
|
-
|
|
340
|
-
CMD ["node","dist/index.js"]
|
|
341
|
-
```
|
|
342
|
-
|
|
343
|
-
---
|
|
344
|
-
|
|
345
|
-
## 11) Build and launch
|
|
346
|
-
|
|
347
|
-
```bash
|
|
348
|
-
docker compose build
|
|
349
|
-
docker compose up -d symi-gateway
|
|
350
|
-
```
|
|
351
|
-
|
|
352
|
-
Verify binaries:
|
|
353
|
-
|
|
354
|
-
```bash
|
|
355
|
-
docker compose exec symi-gateway which gog
|
|
356
|
-
docker compose exec symi-gateway which goplaces
|
|
357
|
-
docker compose exec symi-gateway which wacli
|
|
358
|
-
```
|
|
359
|
-
|
|
360
|
-
Expected output:
|
|
361
|
-
|
|
362
|
-
```
|
|
363
|
-
/usr/local/bin/gog
|
|
364
|
-
/usr/local/bin/goplaces
|
|
365
|
-
/usr/local/bin/wacli
|
|
366
|
-
```
|
|
367
|
-
|
|
368
|
-
---
|
|
369
|
-
|
|
370
|
-
## 12) Verify Gateway
|
|
371
|
-
|
|
372
|
-
```bash
|
|
373
|
-
docker compose logs -f symi-gateway
|
|
374
|
-
```
|
|
375
|
-
|
|
376
|
-
Success:
|
|
377
|
-
|
|
378
|
-
```
|
|
379
|
-
[gateway] listening on ws://0.0.0.0:18789
|
|
380
|
-
```
|
|
381
|
-
|
|
382
|
-
---
|
|
383
|
-
|
|
384
|
-
## 13) Access from your laptop
|
|
385
|
-
|
|
386
|
-
Create an SSH tunnel to forward the Gateway port:
|
|
387
|
-
|
|
388
|
-
```bash
|
|
389
|
-
gcloud compute ssh symi-gateway --zone=us-central1-a -- -L 18789:127.0.0.1:18789
|
|
390
|
-
```
|
|
391
|
-
|
|
392
|
-
Open in your browser:
|
|
393
|
-
|
|
394
|
-
`http://127.0.0.1:18789/`
|
|
395
|
-
|
|
396
|
-
Paste your gateway token.
|
|
397
|
-
|
|
398
|
-
---
|
|
399
|
-
|
|
400
|
-
## What persists where (source of truth)
|
|
401
|
-
|
|
402
|
-
Symi runs in Docker, but Docker is not the source of truth.
|
|
403
|
-
All long-lived state must survive restarts, rebuilds, and reboots.
|
|
404
|
-
|
|
405
|
-
| Component | Location | Persistence mechanism | Notes |
|
|
406
|
-
| ------------------- | ----------------------------- | ---------------------- | ------------------------------- |
|
|
407
|
-
| Gateway config | `/home/node/.symi/` | Host volume mount | Includes `symi.json`, tokens |
|
|
408
|
-
| Model auth profiles | `/home/node/.symi/` | Host volume mount | OAuth tokens, API keys |
|
|
409
|
-
| Skill configs | `/home/node/.symi/skills/` | Host volume mount | Skill-level state |
|
|
410
|
-
| Agent workspace | `/home/node/.symi/workspace/` | Host volume mount | Code and agent artifacts |
|
|
411
|
-
| WhatsApp session | `/home/node/.symi/` | Host volume mount | Preserves QR login |
|
|
412
|
-
| Gmail keyring | `/home/node/.symi/` | Host volume + password | Requires `GOG_KEYRING_PASSWORD` |
|
|
413
|
-
| External binaries | `/usr/local/bin/` | Docker image | Must be baked at build time |
|
|
414
|
-
| Node runtime | Container filesystem | Docker image | Rebuilt every image build |
|
|
415
|
-
| OS packages | Container filesystem | Docker image | Do not install at runtime |
|
|
416
|
-
| Docker container | Ephemeral | Restartable | Safe to destroy |
|
|
417
|
-
|
|
418
|
-
---
|
|
419
|
-
|
|
420
|
-
## Updates
|
|
421
|
-
|
|
422
|
-
To update Symi on the VM:
|
|
423
|
-
|
|
424
|
-
```bash
|
|
425
|
-
cd ~/symi
|
|
426
|
-
git pull
|
|
427
|
-
docker compose build
|
|
428
|
-
docker compose up -d
|
|
429
|
-
```
|
|
430
|
-
|
|
431
|
-
---
|
|
432
|
-
|
|
433
|
-
## Troubleshooting
|
|
434
|
-
|
|
435
|
-
**SSH connection refused**
|
|
436
|
-
|
|
437
|
-
SSH key propagation can take 1-2 minutes after VM creation. Wait and retry.
|
|
438
|
-
|
|
439
|
-
**OS Login issues**
|
|
440
|
-
|
|
441
|
-
Check your OS Login profile:
|
|
442
|
-
|
|
443
|
-
```bash
|
|
444
|
-
gcloud compute os-login describe-profile
|
|
445
|
-
```
|
|
446
|
-
|
|
447
|
-
Ensure your account has the required IAM permissions (Compute OS Login or Compute OS Admin Login).
|
|
448
|
-
|
|
449
|
-
**Out of memory (OOM)**
|
|
450
|
-
|
|
451
|
-
If using e2-micro and hitting OOM, upgrade to e2-small or e2-medium:
|
|
452
|
-
|
|
453
|
-
```bash
|
|
454
|
-
# Stop the VM first
|
|
455
|
-
gcloud compute instances stop symi-gateway --zone=us-central1-a
|
|
456
|
-
|
|
457
|
-
# Change machine type
|
|
458
|
-
gcloud compute instances set-machine-type symi-gateway \
|
|
459
|
-
--zone=us-central1-a \
|
|
460
|
-
--machine-type=e2-small
|
|
461
|
-
|
|
462
|
-
# Start the VM
|
|
463
|
-
gcloud compute instances start symi-gateway --zone=us-central1-a
|
|
464
|
-
```
|
|
465
|
-
|
|
466
|
-
---
|
|
467
|
-
|
|
468
|
-
## Service accounts (security best practice)
|
|
469
|
-
|
|
470
|
-
For personal use, your default user account works fine.
|
|
471
|
-
|
|
472
|
-
For automation or CI/CD pipelines, create a dedicated service account with minimal permissions:
|
|
473
|
-
|
|
474
|
-
1. Create a service account:
|
|
475
|
-
|
|
476
|
-
```bash
|
|
477
|
-
gcloud iam service-accounts create symi-deploy \
|
|
478
|
-
--display-name="Symi Deployment"
|
|
479
|
-
```
|
|
480
|
-
|
|
481
|
-
2. Grant Compute Instance Admin role (or narrower custom role):
|
|
482
|
-
|
|
483
|
-
```bash
|
|
484
|
-
gcloud projects add-iam-policy-binding my-symi-project \
|
|
485
|
-
--member="serviceAccount:symi-deploy@my-symi-project.iam.gserviceaccount.com" \
|
|
486
|
-
--role="roles/compute.instanceAdmin.v1"
|
|
487
|
-
```
|
|
488
|
-
|
|
489
|
-
Avoid using the Owner role for automation. Use the principle of least privilege.
|
|
490
|
-
|
|
491
|
-
See [https://cloud.google.com/iam/docs/understanding-roles](https://cloud.google.com/iam/docs/understanding-roles) for IAM role details.
|
|
492
|
-
|
|
493
|
-
---
|
|
494
|
-
|
|
495
|
-
## Next steps
|
|
496
|
-
|
|
497
|
-
- Set up messaging channels: [Channels](/channels)
|
|
498
|
-
- Pair local devices as nodes: [Nodes](/nodes)
|
|
499
|
-
- Configure the Gateway: [Gateway configuration](/gateway/configuration)
|