@symerian/symi 3.0.21 → 3.0.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build-info.json +3 -3
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/package.json +1 -1
- package/docs/.i18n/README.md +0 -31
- package/docs/.i18n/glossary.ja-JP.json +0 -14
- package/docs/.i18n/glossary.zh-CN.json +0 -210
- package/docs/.i18n/ja-JP.tm.jsonl +0 -0
- package/docs/.i18n/zh-CN.tm.jsonl +0 -1303
- package/docs/CNAME +0 -1
- package/docs/assets/install-script.svg +0 -1
- package/docs/assets/macos-onboarding/01-macos-warning.jpeg +0 -0
- package/docs/assets/macos-onboarding/02-local-networks.jpeg +0 -0
- package/docs/assets/macos-onboarding/03-security-notice.png +0 -0
- package/docs/assets/macos-onboarding/04-choose-gateway.png +0 -0
- package/docs/assets/macos-onboarding/05-permissions.png +0 -0
- package/docs/assets/pixel-symi.svg +0 -60
- package/docs/assets/showcase/agents-ui.jpg +0 -0
- package/docs/assets/showcase/bambu-cli.png +0 -0
- package/docs/assets/showcase/codexmonitor.png +0 -0
- package/docs/assets/showcase/gohome-grafana.png +0 -0
- package/docs/assets/showcase/ios-testflight.jpg +0 -0
- package/docs/assets/showcase/oura-health.png +0 -0
- package/docs/assets/showcase/padel-cli.svg +0 -11
- package/docs/assets/showcase/padel-screenshot.jpg +0 -0
- package/docs/assets/showcase/papla-tts.jpg +0 -0
- package/docs/assets/showcase/pr-review-telegram.jpg +0 -0
- package/docs/assets/showcase/roborock-screenshot.jpg +0 -0
- package/docs/assets/showcase/roborock-status.svg +0 -13
- package/docs/assets/showcase/roof-camera-sky.jpg +0 -0
- package/docs/assets/showcase/snag.png +0 -0
- package/docs/assets/showcase/tesco-shop.jpg +0 -0
- package/docs/assets/showcase/wienerlinien.png +0 -0
- package/docs/assets/showcase/wine-cellar-skill.jpg +0 -0
- package/docs/assets/showcase/winix-air-purifier.jpg +0 -0
- package/docs/assets/showcase/xuezh-pronunciation.jpeg +0 -0
- package/docs/assets/sponsors/blacksmith.svg +0 -14
- package/docs/assets/sponsors/openai.svg +0 -3
- package/docs/assets/symi-logo-text-dark.png +0 -0
- package/docs/assets/symi-logo-text.png +0 -0
- package/docs/automation/auth-monitoring.md +0 -44
- package/docs/automation/cron-jobs.md +0 -540
- package/docs/automation/cron-vs-heartbeat.md +0 -286
- package/docs/automation/gmail-pubsub.md +0 -256
- package/docs/automation/hooks.md +0 -998
- package/docs/automation/poll.md +0 -61
- package/docs/automation/troubleshooting.md +0 -122
- package/docs/automation/webhook.md +0 -213
- package/docs/brave-search.md +0 -41
- package/docs/capabilities.md +0 -151
- package/docs/channels/bluebubbles.md +0 -346
- package/docs/channels/broadcast-groups.md +0 -441
- package/docs/channels/channel-routing.md +0 -112
- package/docs/channels/feishu.md +0 -586
- package/docs/channels/googlechat.md +0 -253
- package/docs/channels/grammy.md +0 -31
- package/docs/channels/group-messages.md +0 -82
- package/docs/channels/groups.md +0 -364
- package/docs/channels/imessage.md +0 -366
- package/docs/channels/index.md +0 -46
- package/docs/channels/irc.md +0 -234
- package/docs/channels/line.md +0 -186
- package/docs/channels/location.md +0 -56
- package/docs/channels/matrix.md +0 -300
- package/docs/channels/mattermost.md +0 -158
- package/docs/channels/msteams.md +0 -769
- package/docs/channels/nextcloud-talk.md +0 -138
- package/docs/channels/nostr.md +0 -233
- package/docs/channels/pairing.md +0 -100
- package/docs/channels/signal.md +0 -322
- package/docs/channels/slack.md +0 -510
- package/docs/channels/telegram.md +0 -748
- package/docs/channels/tlon.md +0 -148
- package/docs/channels/troubleshooting.md +0 -110
- package/docs/channels/twitch.md +0 -379
- package/docs/channels/whatsapp.md +0 -444
- package/docs/channels/zalo.md +0 -192
- package/docs/channels/zalouser.md +0 -140
- package/docs/ci.md +0 -50
- package/docs/cli/acp.md +0 -182
- package/docs/cli/agent.md +0 -24
- package/docs/cli/agents.md +0 -75
- package/docs/cli/approvals.md +0 -50
- package/docs/cli/browser.md +0 -107
- package/docs/cli/channels.md +0 -73
- package/docs/cli/config.md +0 -50
- package/docs/cli/configure.md +0 -32
- package/docs/cli/cron.md +0 -44
- package/docs/cli/dashboard.md +0 -16
- package/docs/cli/devices.md +0 -73
- package/docs/cli/directory.md +0 -62
- package/docs/cli/dns.md +0 -23
- package/docs/cli/docs.md +0 -15
- package/docs/cli/doctor.md +0 -41
- package/docs/cli/gateway.md +0 -202
- package/docs/cli/health.md +0 -21
- package/docs/cli/hooks.md +0 -313
- package/docs/cli/index.md +0 -1029
- package/docs/cli/logs.md +0 -28
- package/docs/cli/memory.md +0 -45
- package/docs/cli/message.md +0 -214
- package/docs/cli/models.md +0 -79
- package/docs/cli/node.md +0 -112
- package/docs/cli/nodes.md +0 -73
- package/docs/cli/onboard.md +0 -76
- package/docs/cli/pairing.md +0 -21
- package/docs/cli/plugins.md +0 -92
- package/docs/cli/reset.md +0 -17
- package/docs/cli/sandbox.md +0 -152
- package/docs/cli/security.md +0 -64
- package/docs/cli/sessions.md +0 -16
- package/docs/cli/setup.md +0 -29
- package/docs/cli/skills.md +0 -26
- package/docs/cli/status.md +0 -25
- package/docs/cli/system.md +0 -60
- package/docs/cli/tui.md +0 -23
- package/docs/cli/uninstall.md +0 -17
- package/docs/cli/update.md +0 -98
- package/docs/cli/voicecall.md +0 -34
- package/docs/cli/webhooks.md +0 -25
- package/docs/concepts/agent-loop.md +0 -148
- package/docs/concepts/agent-workspace.md +0 -234
- package/docs/concepts/agent.md +0 -123
- package/docs/concepts/architecture.md +0 -135
- package/docs/concepts/compaction.md +0 -61
- package/docs/concepts/context.md +0 -161
- package/docs/concepts/features.md +0 -51
- package/docs/concepts/markdown-formatting.md +0 -128
- package/docs/concepts/memory.md +0 -729
- package/docs/concepts/messages.md +0 -153
- package/docs/concepts/model-failover.md +0 -149
- package/docs/concepts/model-providers.md +0 -424
- package/docs/concepts/models.md +0 -208
- package/docs/concepts/multi-agent.md +0 -521
- package/docs/concepts/oauth.md +0 -145
- package/docs/concepts/presence.md +0 -102
- package/docs/concepts/queue.md +0 -86
- package/docs/concepts/retry.md +0 -64
- package/docs/concepts/session-pruning.md +0 -123
- package/docs/concepts/session-tool.md +0 -213
- package/docs/concepts/session.md +0 -199
- package/docs/concepts/sessions.md +0 -10
- package/docs/concepts/streaming.md +0 -129
- package/docs/concepts/system-prompt.md +0 -128
- package/docs/concepts/timezone.md +0 -90
- package/docs/concepts/typebox.md +0 -289
- package/docs/concepts/typing-indicators.md +0 -68
- package/docs/concepts/usage-tracking.md +0 -35
- package/docs/date-time.md +0 -127
- package/docs/debug/node-issue.md +0 -85
- package/docs/diagnostics/flags.md +0 -91
- package/docs/docs.json +0 -1849
- package/docs/experiments/onboarding-config-protocol.md +0 -40
- package/docs/experiments/plans/browser-evaluate-cdp-refactor.md +0 -229
- package/docs/experiments/plans/cron-add-hardening.md +0 -62
- package/docs/experiments/plans/group-policy-hardening.md +0 -40
- package/docs/experiments/plans/openresponses-gateway.md +0 -123
- package/docs/experiments/plans/pty-process-supervision.md +0 -192
- package/docs/experiments/plans/session-binding-channel-agnostic.md +0 -202
- package/docs/experiments/plans/thread-bound-subagents.md +0 -281
- package/docs/experiments/proposals/model-config.md +0 -36
- package/docs/experiments/research/memory.md +0 -228
- package/docs/gateway/authentication.md +0 -162
- package/docs/gateway/background-process.md +0 -96
- package/docs/gateway/bonjour.md +0 -177
- package/docs/gateway/bridge-protocol.md +0 -91
- package/docs/gateway/cli-backends.md +0 -225
- package/docs/gateway/configuration-examples.md +0 -610
- package/docs/gateway/configuration-reference.md +0 -2465
- package/docs/gateway/configuration.md +0 -488
- package/docs/gateway/discovery.md +0 -123
- package/docs/gateway/doctor.md +0 -282
- package/docs/gateway/gateway-lock.md +0 -34
- package/docs/gateway/health.md +0 -35
- package/docs/gateway/heartbeat.md +0 -374
- package/docs/gateway/index.md +0 -254
- package/docs/gateway/local-models.md +0 -150
- package/docs/gateway/logging.md +0 -113
- package/docs/gateway/multiple-gateways.md +0 -112
- package/docs/gateway/network-model.md +0 -20
- package/docs/gateway/openai-http-api.md +0 -119
- package/docs/gateway/openresponses-http-api.md +0 -333
- package/docs/gateway/pairing.md +0 -99
- package/docs/gateway/protocol.md +0 -221
- package/docs/gateway/remote-gateway-readme.md +0 -158
- package/docs/gateway/remote.md +0 -131
- package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +0 -128
- package/docs/gateway/sandboxing.md +0 -203
- package/docs/gateway/security/index.md +0 -931
- package/docs/gateway/tailscale.md +0 -132
- package/docs/gateway/tools-invoke-http-api.md +0 -110
- package/docs/gateway/troubleshooting.md +0 -317
- package/docs/gateway/trusted-proxy-auth.md +0 -270
- package/docs/glass-ui-rendering-invariants.md +0 -451
- package/docs/help/debugging.md +0 -162
- package/docs/help/environment.md +0 -107
- package/docs/help/faq.md +0 -2846
- package/docs/help/index.md +0 -21
- package/docs/help/scripts.md +0 -28
- package/docs/help/testing.md +0 -385
- package/docs/help/troubleshooting.md +0 -264
- package/docs/images/configure-model-picker-unsearchable.png +0 -0
- package/docs/images/feishu-step2-create-app.png +0 -0
- package/docs/images/feishu-step3-credentials.png +0 -0
- package/docs/images/feishu-step4-permissions.png +0 -0
- package/docs/images/feishu-step5-bot-capability.png +0 -0
- package/docs/images/feishu-step6-event-subscription.png +0 -0
- package/docs/images/groups-flow.svg +0 -52
- package/docs/images/mobile-ui-screenshot.png +0 -0
- package/docs/index.md +0 -186
- package/docs/install/ansible.md +0 -207
- package/docs/install/bun.md +0 -59
- package/docs/install/development-channels.md +0 -75
- package/docs/install/docker.md +0 -583
- package/docs/install/exe-dev.md +0 -126
- package/docs/install/fly.md +0 -472
- package/docs/install/gcp.md +0 -499
- package/docs/install/hetzner.md +0 -347
- package/docs/install/index.md +0 -218
- package/docs/install/installer.md +0 -405
- package/docs/install/macos-vm.md +0 -281
- package/docs/install/migrating.md +0 -192
- package/docs/install/nix.md +0 -98
- package/docs/install/node.md +0 -138
- package/docs/install/northflank.mdx +0 -49
- package/docs/install/podman.md +0 -108
- package/docs/install/railway.mdx +0 -95
- package/docs/install/render.mdx +0 -158
- package/docs/install/uninstall.md +0 -128
- package/docs/install/updating.md +0 -231
- package/docs/ja-JP/AGENTS.md +0 -37
- package/docs/ja-JP/index.md +0 -183
- package/docs/ja-JP/start/getting-started.md +0 -125
- package/docs/ja-JP/start/wizard.md +0 -77
- package/docs/logging.md +0 -350
- package/docs/nav-tabs-underline.js +0 -100
- package/docs/network.md +0 -54
- package/docs/nodes/audio.md +0 -133
- package/docs/nodes/camera.md +0 -156
- package/docs/nodes/images.md +0 -72
- package/docs/nodes/index.md +0 -342
- package/docs/nodes/location-command.md +0 -113
- package/docs/nodes/media-understanding.md +0 -379
- package/docs/nodes/talk.md +0 -90
- package/docs/nodes/troubleshooting.md +0 -112
- package/docs/nodes/voicewake.md +0 -65
- package/docs/perplexity.md +0 -80
- package/docs/phase-6.5-pre-flight-audit.md +0 -268
- package/docs/pi-dev.md +0 -70
- package/docs/pi.md +0 -610
- package/docs/platforms/android.md +0 -151
- package/docs/platforms/digitalocean.md +0 -265
- package/docs/platforms/index.md +0 -53
- package/docs/platforms/ios.md +0 -108
- package/docs/platforms/linux.md +0 -94
- package/docs/platforms/mac/bundled-gateway.md +0 -73
- package/docs/platforms/mac/canvas.md +0 -125
- package/docs/platforms/mac/child-process.md +0 -69
- package/docs/platforms/mac/dev-setup.md +0 -104
- package/docs/platforms/mac/health.md +0 -34
- package/docs/platforms/mac/icon.md +0 -31
- package/docs/platforms/mac/logging.md +0 -57
- package/docs/platforms/mac/menu-bar.md +0 -81
- package/docs/platforms/mac/peekaboo.md +0 -65
- package/docs/platforms/mac/permissions.md +0 -50
- package/docs/platforms/mac/release.md +0 -85
- package/docs/platforms/mac/remote.md +0 -84
- package/docs/platforms/mac/signing.md +0 -47
- package/docs/platforms/mac/skills.md +0 -33
- package/docs/platforms/mac/voice-overlay.md +0 -60
- package/docs/platforms/mac/voicewake.md +0 -66
- package/docs/platforms/mac/webchat.md +0 -43
- package/docs/platforms/mac/xpc.md +0 -61
- package/docs/platforms/macos.md +0 -204
- package/docs/platforms/oracle.md +0 -303
- package/docs/platforms/raspberry-pi.md +0 -358
- package/docs/platforms/windows.md +0 -159
- package/docs/plugins/agent-tools.md +0 -99
- package/docs/plugins/community.md +0 -44
- package/docs/plugins/manifest.md +0 -71
- package/docs/plugins/voice-call.md +0 -322
- package/docs/plugins/zalouser.md +0 -81
- package/docs/prose.md +0 -134
- package/docs/providers/anthropic.md +0 -174
- package/docs/providers/bedrock.md +0 -176
- package/docs/providers/claude-max-api-proxy.md +0 -148
- package/docs/providers/cloudflare-ai-gateway.md +0 -71
- package/docs/providers/deepgram.md +0 -93
- package/docs/providers/github-copilot.md +0 -72
- package/docs/providers/glm.md +0 -33
- package/docs/providers/huggingface.md +0 -209
- package/docs/providers/index.md +0 -67
- package/docs/providers/litellm.md +0 -153
- package/docs/providers/minimax.md +0 -208
- package/docs/providers/models.md +0 -52
- package/docs/providers/moonshot.md +0 -142
- package/docs/providers/nvidia.md +0 -55
- package/docs/providers/ollama.md +0 -250
- package/docs/providers/openai.md +0 -62
- package/docs/providers/opencode.md +0 -36
- package/docs/providers/openrouter.md +0 -37
- package/docs/providers/qianfan.md +0 -38
- package/docs/providers/qwen.md +0 -53
- package/docs/providers/synthetic.md +0 -99
- package/docs/providers/together.md +0 -65
- package/docs/providers/venice.md +0 -267
- package/docs/providers/vercel-ai-gateway.md +0 -50
- package/docs/providers/vllm.md +0 -92
- package/docs/providers/xiaomi.md +0 -64
- package/docs/providers/zai.md +0 -38
- package/docs/refactor/exec-host.md +0 -316
- package/docs/refactor/outbound-session-mirroring.md +0 -83
- package/docs/refactor/plugin-sdk.md +0 -214
- package/docs/refactor/strict-config.md +0 -93
- package/docs/refactor/syminet.md +0 -417
- package/docs/reference/AGENTS.default.md +0 -123
- package/docs/reference/RELEASING.md +0 -120
- package/docs/reference/api-usage-costs.md +0 -138
- package/docs/reference/credits.md +0 -28
- package/docs/reference/device-models.md +0 -47
- package/docs/reference/rpc.md +0 -43
- package/docs/reference/session-management-compaction.md +0 -284
- package/docs/reference/test.md +0 -51
- package/docs/reference/token-use.md +0 -136
- package/docs/reference/transcript-hygiene.md +0 -151
- package/docs/reference/wizard.md +0 -265
- package/docs/security/CONTRIBUTING-THREAT-MODEL.md +0 -89
- package/docs/security/README.md +0 -16
- package/docs/security/THREAT-MODEL-ATLAS.md +0 -600
- package/docs/security/formal-verification.md +0 -164
- package/docs/start/bootstrapping.md +0 -41
- package/docs/start/docs-directory.md +0 -63
- package/docs/start/getting-started.md +0 -135
- package/docs/start/hubs.md +0 -196
- package/docs/start/lore.md +0 -216
- package/docs/start/onboarding-overview.md +0 -51
- package/docs/start/onboarding.md +0 -81
- package/docs/start/quickstart.md +0 -22
- package/docs/start/setup.md +0 -160
- package/docs/start/showcase.md +0 -414
- package/docs/start/symi.md +0 -211
- package/docs/start/wizard-cli-automation.md +0 -158
- package/docs/start/wizard-cli-reference.md +0 -255
- package/docs/start/wizard.md +0 -109
- package/docs/style.css +0 -37
- package/docs/tools/agent-send.md +0 -52
- package/docs/tools/apply-patch.md +0 -51
- package/docs/tools/browser-linux-troubleshooting.md +0 -139
- package/docs/tools/browser-login.md +0 -67
- package/docs/tools/browser.md +0 -587
- package/docs/tools/chrome-extension.md +0 -183
- package/docs/tools/creating-skills.md +0 -54
- package/docs/tools/elevated.md +0 -55
- package/docs/tools/exec-approvals.md +0 -261
- package/docs/tools/exec.md +0 -184
- package/docs/tools/firecrawl.md +0 -61
- package/docs/tools/index.md +0 -540
- package/docs/tools/llm-task.md +0 -115
- package/docs/tools/loop-detection.md +0 -98
- package/docs/tools/multi-agent-sandbox-tools.md +0 -396
- package/docs/tools/pipeline.md +0 -340
- package/docs/tools/plugin.md +0 -687
- package/docs/tools/reactions.md +0 -21
- package/docs/tools/skills-config.md +0 -76
- package/docs/tools/skills.md +0 -300
- package/docs/tools/slash-commands.md +0 -202
- package/docs/tools/subagents.md +0 -232
- package/docs/tools/symihub.md +0 -256
- package/docs/tools/thinking.md +0 -75
- package/docs/tools/web.md +0 -265
- package/docs/tts.md +0 -398
- package/docs/vps.md +0 -43
- package/docs/web/control-ui.md +0 -247
- package/docs/web/dashboard.md +0 -46
- package/docs/web/index.md +0 -118
- package/docs/web/tui.md +0 -162
- package/docs/web/webchat.md +0 -53
- package/docs/whatsapp-symi-ai-zh.jpg +0 -0
- package/docs/whatsapp-symi.jpg +0 -0
- package/docs/zh-CN/AGENTS.md +0 -59
- package/docs/zh-CN/automation/auth-monitoring.md +0 -47
- package/docs/zh-CN/automation/cron-jobs.md +0 -422
- package/docs/zh-CN/automation/cron-vs-heartbeat.md +0 -286
- package/docs/zh-CN/automation/gmail-pubsub.md +0 -249
- package/docs/zh-CN/automation/hooks.md +0 -881
- package/docs/zh-CN/automation/poll.md +0 -68
- package/docs/zh-CN/automation/troubleshooting.md +0 -8
- package/docs/zh-CN/automation/webhook.md +0 -161
- package/docs/zh-CN/brave-search.md +0 -48
- package/docs/zh-CN/channels/bluebubbles.md +0 -271
- package/docs/zh-CN/channels/broadcast-groups.md +0 -448
- package/docs/zh-CN/channels/channel-routing.md +0 -112
- package/docs/zh-CN/channels/feishu.md +0 -629
- package/docs/zh-CN/channels/googlechat.md +0 -257
- package/docs/zh-CN/channels/grammy.md +0 -38
- package/docs/zh-CN/channels/group-messages.md +0 -89
- package/docs/zh-CN/channels/groups.md +0 -369
- package/docs/zh-CN/channels/imessage.md +0 -300
- package/docs/zh-CN/channels/index.md +0 -52
- package/docs/zh-CN/channels/line.md +0 -180
- package/docs/zh-CN/channels/location.md +0 -63
- package/docs/zh-CN/channels/matrix.md +0 -221
- package/docs/zh-CN/channels/mattermost.md +0 -144
- package/docs/zh-CN/channels/msteams.md +0 -773
- package/docs/zh-CN/channels/nextcloud-talk.md +0 -142
- package/docs/zh-CN/channels/nostr.md +0 -240
- package/docs/zh-CN/channels/pairing.md +0 -86
- package/docs/zh-CN/channels/signal.md +0 -207
- package/docs/zh-CN/channels/slack.md +0 -529
- package/docs/zh-CN/channels/telegram.md +0 -748
- package/docs/zh-CN/channels/tlon.md +0 -136
- package/docs/zh-CN/channels/troubleshooting.md +0 -34
- package/docs/zh-CN/channels/twitch.md +0 -385
- package/docs/zh-CN/channels/whatsapp.md +0 -411
- package/docs/zh-CN/channels/zalo.md +0 -196
- package/docs/zh-CN/channels/zalouser.md +0 -147
- package/docs/zh-CN/cli/acp.md +0 -173
- package/docs/zh-CN/cli/agent.md +0 -30
- package/docs/zh-CN/cli/agents.md +0 -82
- package/docs/zh-CN/cli/approvals.md +0 -57
- package/docs/zh-CN/cli/browser.md +0 -114
- package/docs/zh-CN/cli/channels.md +0 -80
- package/docs/zh-CN/cli/config.md +0 -57
- package/docs/zh-CN/cli/configure.md +0 -37
- package/docs/zh-CN/cli/cron.md +0 -43
- package/docs/zh-CN/cli/dashboard.md +0 -23
- package/docs/zh-CN/cli/devices.md +0 -74
- package/docs/zh-CN/cli/directory.md +0 -69
- package/docs/zh-CN/cli/dns.md +0 -30
- package/docs/zh-CN/cli/docs.md +0 -22
- package/docs/zh-CN/cli/doctor.md +0 -48
- package/docs/zh-CN/cli/gateway.md +0 -206
- package/docs/zh-CN/cli/health.md +0 -28
- package/docs/zh-CN/cli/hooks.md +0 -298
- package/docs/zh-CN/cli/index.md +0 -1025
- package/docs/zh-CN/cli/logs.md +0 -31
- package/docs/zh-CN/cli/memory.md +0 -52
- package/docs/zh-CN/cli/message.md +0 -205
- package/docs/zh-CN/cli/models.md +0 -85
- package/docs/zh-CN/cli/node.md +0 -115
- package/docs/zh-CN/cli/nodes.md +0 -80
- package/docs/zh-CN/cli/onboard.md +0 -36
- package/docs/zh-CN/cli/pairing.md +0 -28
- package/docs/zh-CN/cli/plugins.md +0 -66
- package/docs/zh-CN/cli/reset.md +0 -24
- package/docs/zh-CN/cli/sandbox.md +0 -158
- package/docs/zh-CN/cli/security.md +0 -33
- package/docs/zh-CN/cli/sessions.md +0 -23
- package/docs/zh-CN/cli/setup.md +0 -36
- package/docs/zh-CN/cli/skills.md +0 -33
- package/docs/zh-CN/cli/status.md +0 -32
- package/docs/zh-CN/cli/system.md +0 -63
- package/docs/zh-CN/cli/tui.md +0 -30
- package/docs/zh-CN/cli/uninstall.md +0 -24
- package/docs/zh-CN/cli/update.md +0 -101
- package/docs/zh-CN/cli/voicecall.md +0 -41
- package/docs/zh-CN/cli/webhooks.md +0 -32
- package/docs/zh-CN/concepts/agent-loop.md +0 -146
- package/docs/zh-CN/concepts/agent-workspace.md +0 -219
- package/docs/zh-CN/concepts/agent.md +0 -115
- package/docs/zh-CN/concepts/architecture.md +0 -122
- package/docs/zh-CN/concepts/compaction.md +0 -67
- package/docs/zh-CN/concepts/context.md +0 -168
- package/docs/zh-CN/concepts/features.md +0 -57
- package/docs/zh-CN/concepts/markdown-formatting.md +0 -115
- package/docs/zh-CN/concepts/memory.md +0 -412
- package/docs/zh-CN/concepts/messages.md +0 -140
- package/docs/zh-CN/concepts/model-failover.md +0 -145
- package/docs/zh-CN/concepts/model-providers.md +0 -320
- package/docs/zh-CN/concepts/models.md +0 -196
- package/docs/zh-CN/concepts/multi-agent.md +0 -371
- package/docs/zh-CN/concepts/oauth.md +0 -151
- package/docs/zh-CN/concepts/presence.md +0 -99
- package/docs/zh-CN/concepts/queue.md +0 -91
- package/docs/zh-CN/concepts/retry.md +0 -71
- package/docs/zh-CN/concepts/session-pruning.md +0 -129
- package/docs/zh-CN/concepts/session-tool.md +0 -198
- package/docs/zh-CN/concepts/session.md +0 -158
- package/docs/zh-CN/concepts/sessions.md +0 -17
- package/docs/zh-CN/concepts/streaming.md +0 -131
- package/docs/zh-CN/concepts/system-prompt.md +0 -99
- package/docs/zh-CN/concepts/timezone.md +0 -94
- package/docs/zh-CN/concepts/typebox.md +0 -284
- package/docs/zh-CN/concepts/typing-indicators.md +0 -74
- package/docs/zh-CN/concepts/usage-tracking.md +0 -42
- package/docs/zh-CN/date-time.md +0 -128
- package/docs/zh-CN/debug/node-issue.md +0 -90
- package/docs/zh-CN/diagnostics/flags.md +0 -98
- package/docs/zh-CN/experiments/onboarding-config-protocol.md +0 -47
- package/docs/zh-CN/experiments/plans/cron-add-hardening.md +0 -69
- package/docs/zh-CN/experiments/plans/group-policy-hardening.md +0 -45
- package/docs/zh-CN/experiments/plans/openresponses-gateway.md +0 -121
- package/docs/zh-CN/experiments/proposals/model-config.md +0 -42
- package/docs/zh-CN/experiments/research/memory.md +0 -235
- package/docs/zh-CN/gateway/authentication.md +0 -142
- package/docs/zh-CN/gateway/background-process.md +0 -100
- package/docs/zh-CN/gateway/bonjour.md +0 -174
- package/docs/zh-CN/gateway/bridge-protocol.md +0 -86
- package/docs/zh-CN/gateway/cli-backends.md +0 -213
- package/docs/zh-CN/gateway/configuration-examples.md +0 -580
- package/docs/zh-CN/gateway/configuration.md +0 -3284
- package/docs/zh-CN/gateway/discovery.md +0 -123
- package/docs/zh-CN/gateway/doctor.md +0 -238
- package/docs/zh-CN/gateway/gateway-lock.md +0 -41
- package/docs/zh-CN/gateway/health.md +0 -42
- package/docs/zh-CN/gateway/heartbeat.md +0 -272
- package/docs/zh-CN/gateway/index.md +0 -335
- package/docs/zh-CN/gateway/local-models.md +0 -157
- package/docs/zh-CN/gateway/logging.md +0 -114
- package/docs/zh-CN/gateway/multiple-gateways.md +0 -119
- package/docs/zh-CN/gateway/network-model.md +0 -23
- package/docs/zh-CN/gateway/openai-http-api.md +0 -125
- package/docs/zh-CN/gateway/openresponses-http-api.md +0 -317
- package/docs/zh-CN/gateway/pairing.md +0 -99
- package/docs/zh-CN/gateway/protocol.md +0 -220
- package/docs/zh-CN/gateway/remote-gateway-readme.md +0 -164
- package/docs/zh-CN/gateway/remote.md +0 -133
- package/docs/zh-CN/gateway/sandbox-vs-tool-policy-vs-elevated.md +0 -135
- package/docs/zh-CN/gateway/sandboxing.md +0 -188
- package/docs/zh-CN/gateway/security/index.md +0 -772
- package/docs/zh-CN/gateway/tailscale.md +0 -124
- package/docs/zh-CN/gateway/tools-invoke-http-api.md +0 -92
- package/docs/zh-CN/gateway/troubleshooting.md +0 -758
- package/docs/zh-CN/help/debugging.md +0 -160
- package/docs/zh-CN/help/environment.md +0 -88
- package/docs/zh-CN/help/faq.md +0 -2613
- package/docs/zh-CN/help/index.md +0 -28
- package/docs/zh-CN/help/scripts.md +0 -35
- package/docs/zh-CN/help/testing.md +0 -375
- package/docs/zh-CN/help/troubleshooting.md +0 -104
- package/docs/zh-CN/index.md +0 -183
- package/docs/zh-CN/install/ansible.md +0 -214
- package/docs/zh-CN/install/bun.md +0 -65
- package/docs/zh-CN/install/development-channels.md +0 -81
- package/docs/zh-CN/install/docker.md +0 -525
- package/docs/zh-CN/install/exe-dev.md +0 -127
- package/docs/zh-CN/install/fly.md +0 -476
- package/docs/zh-CN/install/gcp.md +0 -509
- package/docs/zh-CN/install/hetzner.md +0 -336
- package/docs/zh-CN/install/index.md +0 -193
- package/docs/zh-CN/install/installer.md +0 -128
- package/docs/zh-CN/install/macos-vm.md +0 -288
- package/docs/zh-CN/install/migrating.md +0 -199
- package/docs/zh-CN/install/nix.md +0 -99
- package/docs/zh-CN/install/node.md +0 -8
- package/docs/zh-CN/install/northflank.mdx +0 -56
- package/docs/zh-CN/install/railway.mdx +0 -102
- package/docs/zh-CN/install/render.mdx +0 -168
- package/docs/zh-CN/install/uninstall.md +0 -135
- package/docs/zh-CN/install/updating.md +0 -233
- package/docs/zh-CN/logging.md +0 -329
- package/docs/zh-CN/network.md +0 -59
- package/docs/zh-CN/nodes/audio.md +0 -120
- package/docs/zh-CN/nodes/camera.md +0 -162
- package/docs/zh-CN/nodes/images.md +0 -79
- package/docs/zh-CN/nodes/index.md +0 -348
- package/docs/zh-CN/nodes/location-command.md +0 -120
- package/docs/zh-CN/nodes/media-understanding.md +0 -380
- package/docs/zh-CN/nodes/talk.md +0 -97
- package/docs/zh-CN/nodes/troubleshooting.md +0 -8
- package/docs/zh-CN/nodes/voicewake.md +0 -72
- package/docs/zh-CN/perplexity.md +0 -84
- package/docs/zh-CN/pi-dev.md +0 -77
- package/docs/zh-CN/pi.md +0 -617
- package/docs/zh-CN/platforms/android.md +0 -155
- package/docs/zh-CN/platforms/digitalocean.md +0 -268
- package/docs/zh-CN/platforms/index.md +0 -60
- package/docs/zh-CN/platforms/ios.md +0 -114
- package/docs/zh-CN/platforms/linux.md +0 -101
- package/docs/zh-CN/platforms/mac/bundled-gateway.md +0 -75
- package/docs/zh-CN/platforms/mac/canvas.md +0 -128
- package/docs/zh-CN/platforms/mac/child-process.md +0 -73
- package/docs/zh-CN/platforms/mac/dev-setup.md +0 -109
- package/docs/zh-CN/platforms/mac/health.md +0 -41
- package/docs/zh-CN/platforms/mac/icon.md +0 -38
- package/docs/zh-CN/platforms/mac/logging.md +0 -64
- package/docs/zh-CN/platforms/mac/menu-bar.md +0 -88
- package/docs/zh-CN/platforms/mac/peekaboo.md +0 -62
- package/docs/zh-CN/platforms/mac/permissions.md +0 -46
- package/docs/zh-CN/platforms/mac/release.md +0 -92
- package/docs/zh-CN/platforms/mac/remote.md +0 -90
- package/docs/zh-CN/platforms/mac/signing.md +0 -54
- package/docs/zh-CN/platforms/mac/skills.md +0 -40
- package/docs/zh-CN/platforms/mac/voice-overlay.md +0 -67
- package/docs/zh-CN/platforms/mac/voicewake.md +0 -73
- package/docs/zh-CN/platforms/mac/webchat.md +0 -43
- package/docs/zh-CN/platforms/mac/xpc.md +0 -68
- package/docs/zh-CN/platforms/macos.md +0 -193
- package/docs/zh-CN/platforms/oracle.md +0 -310
- package/docs/zh-CN/platforms/raspberry-pi.md +0 -365
- package/docs/zh-CN/platforms/windows.md +0 -156
- package/docs/zh-CN/plugins/agent-tools.md +0 -99
- package/docs/zh-CN/plugins/manifest.md +0 -68
- package/docs/zh-CN/plugins/voice-call.md +0 -250
- package/docs/zh-CN/plugins/zalouser.md +0 -88
- package/docs/zh-CN/prose.md +0 -141
- package/docs/zh-CN/providers/anthropic.md +0 -159
- package/docs/zh-CN/providers/bedrock.md +0 -170
- package/docs/zh-CN/providers/claude-max-api-proxy.md +0 -155
- package/docs/zh-CN/providers/deepgram.md +0 -97
- package/docs/zh-CN/providers/github-copilot.md +0 -67
- package/docs/zh-CN/providers/glm.md +0 -39
- package/docs/zh-CN/providers/index.md +0 -66
- package/docs/zh-CN/providers/minimax.md +0 -206
- package/docs/zh-CN/providers/models.md +0 -55
- package/docs/zh-CN/providers/moonshot.md +0 -145
- package/docs/zh-CN/providers/ollama.md +0 -230
- package/docs/zh-CN/providers/openai.md +0 -68
- package/docs/zh-CN/providers/opencode.md +0 -41
- package/docs/zh-CN/providers/openrouter.md +0 -43
- package/docs/zh-CN/providers/qianfan.md +0 -8
- package/docs/zh-CN/providers/qwen.md +0 -55
- package/docs/zh-CN/providers/synthetic.md +0 -102
- package/docs/zh-CN/providers/venice.md +0 -274
- package/docs/zh-CN/providers/vercel-ai-gateway.md +0 -57
- package/docs/zh-CN/providers/xiaomi.md +0 -68
- package/docs/zh-CN/providers/zai.md +0 -41
- package/docs/zh-CN/refactor/exec-host.md +0 -323
- package/docs/zh-CN/refactor/outbound-session-mirroring.md +0 -90
- package/docs/zh-CN/refactor/plugin-sdk.md +0 -221
- package/docs/zh-CN/refactor/strict-config.md +0 -100
- package/docs/zh-CN/refactor/syminet.md +0 -424
- package/docs/zh-CN/reference/AGENTS.default.md +0 -130
- package/docs/zh-CN/reference/RELEASING.md +0 -122
- package/docs/zh-CN/reference/api-usage-costs.md +0 -136
- package/docs/zh-CN/reference/credits.md +0 -34
- package/docs/zh-CN/reference/device-models.md +0 -54
- package/docs/zh-CN/reference/rpc.md +0 -48
- package/docs/zh-CN/reference/session-management-compaction.md +0 -286
- package/docs/zh-CN/reference/templates/AGENTS.dev.md +0 -89
- package/docs/zh-CN/reference/templates/AGENTS.md +0 -234
- package/docs/zh-CN/reference/templates/BOOT.md +0 -17
- package/docs/zh-CN/reference/templates/BOOTSTRAP.md +0 -68
- package/docs/zh-CN/reference/templates/IDENTITY.dev.md +0 -54
- package/docs/zh-CN/reference/templates/IDENTITY.md +0 -36
- package/docs/zh-CN/reference/templates/SYMICORE.dev.md +0 -83
- package/docs/zh-CN/reference/templates/SYMICORE.md +0 -49
- package/docs/zh-CN/reference/templates/SYMIPULSE.md +0 -69
- package/docs/zh-CN/reference/templates/TOOLS.dev.md +0 -31
- package/docs/zh-CN/reference/templates/TOOLS.md +0 -53
- package/docs/zh-CN/reference/templates/USER.dev.md +0 -25
- package/docs/zh-CN/reference/templates/USER.md +0 -30
- package/docs/zh-CN/reference/test.md +0 -57
- package/docs/zh-CN/reference/token-use.md +0 -119
- package/docs/zh-CN/reference/transcript-hygiene.md +0 -109
- package/docs/zh-CN/reference/wizard.md +0 -9
- package/docs/zh-CN/security/formal-verification.md +0 -171
- package/docs/zh-CN/start/bootstrapping.md +0 -9
- package/docs/zh-CN/start/docs-directory.md +0 -69
- package/docs/zh-CN/start/getting-started.md +0 -201
- package/docs/zh-CN/start/hubs.md +0 -199
- package/docs/zh-CN/start/lore.md +0 -223
- package/docs/zh-CN/start/onboarding.md +0 -105
- package/docs/zh-CN/start/quickstart.md +0 -88
- package/docs/zh-CN/start/setup.md +0 -151
- package/docs/zh-CN/start/showcase.md +0 -421
- package/docs/zh-CN/start/symi.md +0 -244
- package/docs/zh-CN/start/wizard.md +0 -326
- package/docs/zh-CN/tools/agent-send.md +0 -58
- package/docs/zh-CN/tools/apply-patch.md +0 -57
- package/docs/zh-CN/tools/browser-linux-troubleshooting.md +0 -144
- package/docs/zh-CN/tools/browser-login.md +0 -75
- package/docs/zh-CN/tools/browser.md +0 -553
- package/docs/zh-CN/tools/chrome-extension.md +0 -183
- package/docs/zh-CN/tools/creating-skills.md +0 -61
- package/docs/zh-CN/tools/elevated.md +0 -62
- package/docs/zh-CN/tools/exec-approvals.md +0 -233
- package/docs/zh-CN/tools/exec.md +0 -169
- package/docs/zh-CN/tools/firecrawl.md +0 -68
- package/docs/zh-CN/tools/index.md +0 -508
- package/docs/zh-CN/tools/llm-task.md +0 -117
- package/docs/zh-CN/tools/multi-agent-sandbox-tools.md +0 -400
- package/docs/zh-CN/tools/pipeline.md +0 -349
- package/docs/zh-CN/tools/plugin.md +0 -639
- package/docs/zh-CN/tools/reactions.md +0 -28
- package/docs/zh-CN/tools/skills-config.md +0 -78
- package/docs/zh-CN/tools/skills.md +0 -279
- package/docs/zh-CN/tools/slash-commands.md +0 -196
- package/docs/zh-CN/tools/subagents.md +0 -167
- package/docs/zh-CN/tools/symihub.md +0 -209
- package/docs/zh-CN/tools/thinking.md +0 -80
- package/docs/zh-CN/tools/web.md +0 -257
- package/docs/zh-CN/tts.md +0 -373
- package/docs/zh-CN/vps.md +0 -47
- package/docs/zh-CN/web/control-ui.md +0 -190
- package/docs/zh-CN/web/dashboard.md +0 -53
- package/docs/zh-CN/web/index.md +0 -118
- package/docs/zh-CN/web/tui.md +0 -166
- package/docs/zh-CN/web/webchat.md +0 -56
|
@@ -1,192 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
summary: "Move (migrate) a Symi install from one machine to another"
|
|
3
|
-
read_when:
|
|
4
|
-
- You are moving Symi to a new laptop/server
|
|
5
|
-
- You want to preserve sessions, auth, and channel logins (WhatsApp, etc.)
|
|
6
|
-
title: "Migration Guide"
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Migrating Symi to a new machine
|
|
10
|
-
|
|
11
|
-
This guide migrates a Symi Gateway from one machine to another **without redoing onboarding**.
|
|
12
|
-
|
|
13
|
-
The migration is simple conceptually:
|
|
14
|
-
|
|
15
|
-
- Copy the **state directory** (`$SYMI_STATE_DIR`, default: `~/.symi/`) — this includes config, auth, sessions, and channel state.
|
|
16
|
-
- Copy your **workspace** (`~/.symi/workspace/` by default) — this includes your agent files (memory, prompts, etc.).
|
|
17
|
-
|
|
18
|
-
But there are common footguns around **profiles**, **permissions**, and **partial copies**.
|
|
19
|
-
|
|
20
|
-
## Before you start (what you are migrating)
|
|
21
|
-
|
|
22
|
-
### 1) Identify your state directory
|
|
23
|
-
|
|
24
|
-
Most installs use the default:
|
|
25
|
-
|
|
26
|
-
- **State dir:** `~/.symi/`
|
|
27
|
-
|
|
28
|
-
But it may be different if you use:
|
|
29
|
-
|
|
30
|
-
- `--profile <name>` (often becomes `~/.symi-<profile>/`)
|
|
31
|
-
- `SYMI_STATE_DIR=/some/path`
|
|
32
|
-
|
|
33
|
-
If you’re not sure, run on the **old** machine:
|
|
34
|
-
|
|
35
|
-
```bash
|
|
36
|
-
symi status
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
Look for mentions of `SYMI_STATE_DIR` / profile in the output. If you run multiple gateways, repeat for each profile.
|
|
40
|
-
|
|
41
|
-
### 2) Identify your workspace
|
|
42
|
-
|
|
43
|
-
Common defaults:
|
|
44
|
-
|
|
45
|
-
- `~/.symi/workspace/` (recommended workspace)
|
|
46
|
-
- a custom folder you created
|
|
47
|
-
|
|
48
|
-
Your workspace is where files like `MEMORY.md`, `USER.md`, and `memory/*.md` live.
|
|
49
|
-
|
|
50
|
-
### 3) Understand what you will preserve
|
|
51
|
-
|
|
52
|
-
If you copy **both** the state dir and workspace, you keep:
|
|
53
|
-
|
|
54
|
-
- Gateway configuration (`symi.json`)
|
|
55
|
-
- Auth profiles / API keys / OAuth tokens
|
|
56
|
-
- Session history + agent state
|
|
57
|
-
- Channel state (e.g. WhatsApp login/session)
|
|
58
|
-
- Your workspace files (memory, skills notes, etc.)
|
|
59
|
-
|
|
60
|
-
If you copy **only** the workspace (e.g., via Git), you do **not** preserve:
|
|
61
|
-
|
|
62
|
-
- sessions
|
|
63
|
-
- credentials
|
|
64
|
-
- channel logins
|
|
65
|
-
|
|
66
|
-
Those live under `$SYMI_STATE_DIR`.
|
|
67
|
-
|
|
68
|
-
## Migration steps (recommended)
|
|
69
|
-
|
|
70
|
-
### Step 0 — Make a backup (old machine)
|
|
71
|
-
|
|
72
|
-
On the **old** machine, stop the gateway first so files aren’t changing mid-copy:
|
|
73
|
-
|
|
74
|
-
```bash
|
|
75
|
-
symi gateway stop
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
(Optional but recommended) archive the state dir and workspace:
|
|
79
|
-
|
|
80
|
-
```bash
|
|
81
|
-
# Adjust paths if you use a profile or custom locations
|
|
82
|
-
cd ~
|
|
83
|
-
tar -czf symi-state.tgz .symi
|
|
84
|
-
|
|
85
|
-
tar -czf symi-workspace.tgz .symi/workspace
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
If you have multiple profiles/state dirs (e.g. `~/.symi-main`, `~/.symi-work`), archive each.
|
|
89
|
-
|
|
90
|
-
### Step 1 — Install Symi on the new machine
|
|
91
|
-
|
|
92
|
-
On the **new** machine, install the CLI (and Node if needed):
|
|
93
|
-
|
|
94
|
-
- See: [Install](/install)
|
|
95
|
-
|
|
96
|
-
At this stage, it’s OK if onboarding creates a fresh `~/.symi/` — you will overwrite it in the next step.
|
|
97
|
-
|
|
98
|
-
### Step 2 — Copy the state dir + workspace to the new machine
|
|
99
|
-
|
|
100
|
-
Copy **both**:
|
|
101
|
-
|
|
102
|
-
- `$SYMI_STATE_DIR` (default `~/.symi/`)
|
|
103
|
-
- your workspace (default `~/.symi/workspace/`)
|
|
104
|
-
|
|
105
|
-
Common approaches:
|
|
106
|
-
|
|
107
|
-
- `scp` the tarballs and extract
|
|
108
|
-
- `rsync -a` over SSH
|
|
109
|
-
- external drive
|
|
110
|
-
|
|
111
|
-
After copying, ensure:
|
|
112
|
-
|
|
113
|
-
- Hidden directories were included (e.g. `.symi/`)
|
|
114
|
-
- File ownership is correct for the user running the gateway
|
|
115
|
-
|
|
116
|
-
### Step 3 — Run Doctor (migrations + service repair)
|
|
117
|
-
|
|
118
|
-
On the **new** machine:
|
|
119
|
-
|
|
120
|
-
```bash
|
|
121
|
-
symi doctor
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
Doctor is the “safe boring” command. It repairs services, applies config migrations, and warns about mismatches.
|
|
125
|
-
|
|
126
|
-
Then:
|
|
127
|
-
|
|
128
|
-
```bash
|
|
129
|
-
symi gateway restart
|
|
130
|
-
symi status
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
## Common footguns (and how to avoid them)
|
|
134
|
-
|
|
135
|
-
### Footgun: profile / state-dir mismatch
|
|
136
|
-
|
|
137
|
-
If you ran the old gateway with a profile (or `SYMI_STATE_DIR`), and the new gateway uses a different one, you’ll see symptoms like:
|
|
138
|
-
|
|
139
|
-
- config changes not taking effect
|
|
140
|
-
- channels missing / logged out
|
|
141
|
-
- empty session history
|
|
142
|
-
|
|
143
|
-
Fix: run the gateway/service using the **same** profile/state dir you migrated, then rerun:
|
|
144
|
-
|
|
145
|
-
```bash
|
|
146
|
-
symi doctor
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
### Footgun: copying only `symi.json`
|
|
150
|
-
|
|
151
|
-
`symi.json` is not enough. Many providers store state under:
|
|
152
|
-
|
|
153
|
-
- `$SYMI_STATE_DIR/credentials/`
|
|
154
|
-
- `$SYMI_STATE_DIR/agents/<agentId>/...`
|
|
155
|
-
|
|
156
|
-
Always migrate the entire `$SYMI_STATE_DIR` folder.
|
|
157
|
-
|
|
158
|
-
### Footgun: permissions / ownership
|
|
159
|
-
|
|
160
|
-
If you copied as root or changed users, the gateway may fail to read credentials/sessions.
|
|
161
|
-
|
|
162
|
-
Fix: ensure the state dir + workspace are owned by the user running the gateway.
|
|
163
|
-
|
|
164
|
-
### Footgun: migrating between remote/local modes
|
|
165
|
-
|
|
166
|
-
- If your UI (WebUI/TUI) points at a **remote** gateway, the remote host owns the session store + workspace.
|
|
167
|
-
- Migrating your laptop won’t move the remote gateway’s state.
|
|
168
|
-
|
|
169
|
-
If you’re in remote mode, migrate the **gateway host**.
|
|
170
|
-
|
|
171
|
-
### Footgun: secrets in backups
|
|
172
|
-
|
|
173
|
-
`$SYMI_STATE_DIR` contains secrets (API keys, OAuth tokens, WhatsApp creds). Treat backups like production secrets:
|
|
174
|
-
|
|
175
|
-
- store encrypted
|
|
176
|
-
- avoid sharing over insecure channels
|
|
177
|
-
- rotate keys if you suspect exposure
|
|
178
|
-
|
|
179
|
-
## Verification checklist
|
|
180
|
-
|
|
181
|
-
On the new machine, confirm:
|
|
182
|
-
|
|
183
|
-
- `symi status` shows the gateway running
|
|
184
|
-
- Your channels are still connected (e.g. WhatsApp doesn’t require re-pair)
|
|
185
|
-
- The dashboard opens and shows existing sessions
|
|
186
|
-
- Your workspace files (memory, configs) are present
|
|
187
|
-
|
|
188
|
-
## Related
|
|
189
|
-
|
|
190
|
-
- [Doctor](/gateway/doctor)
|
|
191
|
-
- [Gateway troubleshooting](/gateway/troubleshooting)
|
|
192
|
-
- [Where does Symi store its data?](/help/faq#where-does-symi-store-its-data)
|
package/docs/install/nix.md
DELETED
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
summary: "Install Symi declaratively with Nix"
|
|
3
|
-
read_when:
|
|
4
|
-
- You want reproducible, rollback-able installs
|
|
5
|
-
- You're already using Nix/NixOS/Home Manager
|
|
6
|
-
- You want everything pinned and managed declaratively
|
|
7
|
-
title: "Nix"
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Nix Installation
|
|
11
|
-
|
|
12
|
-
The recommended way to run Symi with Nix is via **[nix-symi](https://github.com/symi/nix-symi)** — a batteries-included Home Manager module.
|
|
13
|
-
|
|
14
|
-
## Quick Start
|
|
15
|
-
|
|
16
|
-
Paste this to your AI agent (Claude, Cursor, etc.):
|
|
17
|
-
|
|
18
|
-
```text
|
|
19
|
-
I want to set up nix-symi on my Mac.
|
|
20
|
-
Repository: github:symi/nix-symi
|
|
21
|
-
|
|
22
|
-
What I need you to do:
|
|
23
|
-
1. Check if Determinate Nix is installed (if not, install it)
|
|
24
|
-
2. Create a local flake at ~/code/symi-local using templates/agent-first/flake.nix
|
|
25
|
-
3. Help me create a Telegram bot (@BotFather) and get my chat ID (@userinfobot)
|
|
26
|
-
4. Set up secrets (bot token, Anthropic key) - plain files at ~/.secrets/ is fine
|
|
27
|
-
5. Fill in the template placeholders and run home-manager switch
|
|
28
|
-
6. Verify: launchd running, bot responds to messages
|
|
29
|
-
|
|
30
|
-
Reference the nix-symi README for module options.
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
> **📦 Full guide: [github.com/symi/nix-symi](https://github.com/symi/nix-symi)**
|
|
34
|
-
>
|
|
35
|
-
> The nix-symi repo is the source of truth for Nix installation. This page is just a quick overview.
|
|
36
|
-
|
|
37
|
-
## What you get
|
|
38
|
-
|
|
39
|
-
- Gateway + macOS app + tools (whisper, spotify, cameras) — all pinned
|
|
40
|
-
- Launchd service that survives reboots
|
|
41
|
-
- Plugin system with declarative config
|
|
42
|
-
- Instant rollback: `home-manager switch --rollback`
|
|
43
|
-
|
|
44
|
-
---
|
|
45
|
-
|
|
46
|
-
## Nix Mode Runtime Behavior
|
|
47
|
-
|
|
48
|
-
When `SYMI_NIX_MODE=1` is set (automatic with nix-symi):
|
|
49
|
-
|
|
50
|
-
Symi supports a **Nix mode** that makes configuration deterministic and disables auto-install flows.
|
|
51
|
-
Enable it by exporting:
|
|
52
|
-
|
|
53
|
-
```bash
|
|
54
|
-
SYMI_NIX_MODE=1
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
On macOS, the GUI app does not automatically inherit shell env vars. You can
|
|
58
|
-
also enable Nix mode via defaults:
|
|
59
|
-
|
|
60
|
-
```bash
|
|
61
|
-
defaults write bot.molt.mac symi.nixMode -bool true
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
### Config + state paths
|
|
65
|
-
|
|
66
|
-
Symi reads JSON5 config from `SYMI_CONFIG_PATH` and stores mutable data in `SYMI_STATE_DIR`.
|
|
67
|
-
When needed, you can also set `SYMI_HOME` to control the base home directory used for internal path resolution.
|
|
68
|
-
|
|
69
|
-
- `SYMI_HOME` (default precedence: `HOME` / `USERPROFILE` / `os.homedir()`)
|
|
70
|
-
- `SYMI_STATE_DIR` (default: `~/.symi`)
|
|
71
|
-
- `SYMI_CONFIG_PATH` (default: `$SYMI_STATE_DIR/symi.json`)
|
|
72
|
-
|
|
73
|
-
When running under Nix, set these explicitly to Nix-managed locations so runtime state and config
|
|
74
|
-
stay out of the immutable store.
|
|
75
|
-
|
|
76
|
-
### Runtime behavior in Nix mode
|
|
77
|
-
|
|
78
|
-
- Auto-install and self-mutation flows are disabled
|
|
79
|
-
- Missing dependencies surface Nix-specific remediation messages
|
|
80
|
-
- UI surfaces a read-only Nix mode banner when present
|
|
81
|
-
|
|
82
|
-
## Packaging note (macOS)
|
|
83
|
-
|
|
84
|
-
The macOS packaging flow expects a stable Info.plist template at:
|
|
85
|
-
|
|
86
|
-
```
|
|
87
|
-
apps/macos/Sources/Symi/Resources/Info.plist
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
[`scripts/package-mac-app.sh`](https://github.com/symi/symi/blob/main/scripts/package-mac-app.sh) copies this template into the app bundle and patches dynamic fields
|
|
91
|
-
(bundle ID, version/build, Git SHA, Sparkle keys). This keeps the plist deterministic for SwiftPM
|
|
92
|
-
packaging and Nix builds (which do not rely on a full Xcode toolchain).
|
|
93
|
-
|
|
94
|
-
## Related
|
|
95
|
-
|
|
96
|
-
- [nix-symi](https://github.com/symi/nix-symi) — full setup guide
|
|
97
|
-
- [Wizard](/start/wizard) — non-Nix CLI setup
|
|
98
|
-
- [Docker](/install/docker) — containerized setup
|
package/docs/install/node.md
DELETED
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "Node.js"
|
|
3
|
-
summary: "Install and configure Node.js for Symi — version requirements, install options, and PATH troubleshooting"
|
|
4
|
-
read_when:
|
|
5
|
-
- "You need to install Node.js before installing Symi"
|
|
6
|
-
- "You installed Symi but `symi` is command not found"
|
|
7
|
-
- "npm install -g fails with permissions or PATH issues"
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Node.js
|
|
11
|
-
|
|
12
|
-
Symi requires **Node 22 or newer**. The [installer script](/install#install-methods) will detect and install Node automatically — this page is for when you want to set up Node yourself and make sure everything is wired up correctly (versions, PATH, global installs).
|
|
13
|
-
|
|
14
|
-
## Check your version
|
|
15
|
-
|
|
16
|
-
```bash
|
|
17
|
-
node -v
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
If this prints `v22.x.x` or higher, you're good. If Node isn't installed or the version is too old, pick an install method below.
|
|
21
|
-
|
|
22
|
-
## Install Node
|
|
23
|
-
|
|
24
|
-
<Tabs>
|
|
25
|
-
<Tab title="macOS">
|
|
26
|
-
**Homebrew** (recommended):
|
|
27
|
-
|
|
28
|
-
```bash
|
|
29
|
-
brew install node
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
Or download the macOS installer from [nodejs.org](https://nodejs.org/).
|
|
33
|
-
|
|
34
|
-
</Tab>
|
|
35
|
-
<Tab title="Linux">
|
|
36
|
-
**Ubuntu / Debian:**
|
|
37
|
-
|
|
38
|
-
```bash
|
|
39
|
-
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
|
|
40
|
-
sudo apt-get install -y nodejs
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
**Fedora / RHEL:**
|
|
44
|
-
|
|
45
|
-
```bash
|
|
46
|
-
sudo dnf install nodejs
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
Or use a version manager (see below).
|
|
50
|
-
|
|
51
|
-
</Tab>
|
|
52
|
-
<Tab title="Windows">
|
|
53
|
-
**winget** (recommended):
|
|
54
|
-
|
|
55
|
-
```powershell
|
|
56
|
-
winget install OpenJS.NodeJS.LTS
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
**Chocolatey:**
|
|
60
|
-
|
|
61
|
-
```powershell
|
|
62
|
-
choco install nodejs-lts
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
Or download the Windows installer from [nodejs.org](https://nodejs.org/).
|
|
66
|
-
|
|
67
|
-
</Tab>
|
|
68
|
-
</Tabs>
|
|
69
|
-
|
|
70
|
-
<Accordion title="Using a version manager (nvm, fnm, mise, asdf)">
|
|
71
|
-
Version managers let you switch between Node versions easily. Popular options:
|
|
72
|
-
|
|
73
|
-
- [**fnm**](https://github.com/Schniz/fnm) — fast, cross-platform
|
|
74
|
-
- [**nvm**](https://github.com/nvm-sh/nvm) — widely used on macOS/Linux
|
|
75
|
-
- [**mise**](https://mise.jdx.dev/) — polyglot (Node, Python, Ruby, etc.)
|
|
76
|
-
|
|
77
|
-
Example with fnm:
|
|
78
|
-
|
|
79
|
-
```bash
|
|
80
|
-
fnm install 22
|
|
81
|
-
fnm use 22
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
<Warning>
|
|
85
|
-
Make sure your version manager is initialized in your shell startup file (`~/.zshrc` or `~/.bashrc`). If it isn't, `symi` may not be found in new terminal sessions because the PATH won't include Node's bin directory.
|
|
86
|
-
</Warning>
|
|
87
|
-
</Accordion>
|
|
88
|
-
|
|
89
|
-
## Troubleshooting
|
|
90
|
-
|
|
91
|
-
### `symi: command not found`
|
|
92
|
-
|
|
93
|
-
This almost always means npm's global bin directory isn't on your PATH.
|
|
94
|
-
|
|
95
|
-
<Steps>
|
|
96
|
-
<Step title="Find your global npm prefix">
|
|
97
|
-
```bash
|
|
98
|
-
npm prefix -g
|
|
99
|
-
```
|
|
100
|
-
</Step>
|
|
101
|
-
<Step title="Check if it's on your PATH">
|
|
102
|
-
```bash
|
|
103
|
-
echo "$PATH"
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
Look for `<npm-prefix>/bin` (macOS/Linux) or `<npm-prefix>` (Windows) in the output.
|
|
107
|
-
|
|
108
|
-
</Step>
|
|
109
|
-
<Step title="Add it to your shell startup file">
|
|
110
|
-
<Tabs>
|
|
111
|
-
<Tab title="macOS / Linux">
|
|
112
|
-
Add to `~/.zshrc` or `~/.bashrc`:
|
|
113
|
-
|
|
114
|
-
```bash
|
|
115
|
-
export PATH="$(npm prefix -g)/bin:$PATH"
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
Then open a new terminal (or run `rehash` in zsh / `hash -r` in bash).
|
|
119
|
-
</Tab>
|
|
120
|
-
<Tab title="Windows">
|
|
121
|
-
Add the output of `npm prefix -g` to your system PATH via Settings → System → Environment Variables.
|
|
122
|
-
</Tab>
|
|
123
|
-
</Tabs>
|
|
124
|
-
|
|
125
|
-
</Step>
|
|
126
|
-
</Steps>
|
|
127
|
-
|
|
128
|
-
### Permission errors on `npm install -g` (Linux)
|
|
129
|
-
|
|
130
|
-
If you see `EACCES` errors, switch npm's global prefix to a user-writable directory:
|
|
131
|
-
|
|
132
|
-
```bash
|
|
133
|
-
mkdir -p "$HOME/.npm-global"
|
|
134
|
-
npm config set prefix "$HOME/.npm-global"
|
|
135
|
-
export PATH="$HOME/.npm-global/bin:$PATH"
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
Add the `export PATH=...` line to your `~/.bashrc` or `~/.zshrc` to make it permanent.
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Deploy on Northflank
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
Deploy Symi on Northflank with a one-click template and finish setup in your browser.
|
|
6
|
-
This is the easiest “no terminal on the server” path: Northflank runs the Gateway for you,
|
|
7
|
-
and you configure everything via the `/setup` web wizard.
|
|
8
|
-
|
|
9
|
-
## How to get started
|
|
10
|
-
|
|
11
|
-
1. Click [Deploy Symi](https://northflank.com/stacks/deploy-symi) to open the template.
|
|
12
|
-
2. Create an [account on Northflank](https://app.northflank.com/signup) if you don’t already have one.
|
|
13
|
-
3. Click **Deploy Symi now**.
|
|
14
|
-
4. Set the required environment variable: `SETUP_PASSWORD`.
|
|
15
|
-
5. Click **Deploy stack** to build and run the Symi template.
|
|
16
|
-
6. Wait for the deployment to complete, then click **View resources**.
|
|
17
|
-
7. Open the Symi service.
|
|
18
|
-
8. Open the public Symi URL and complete setup at `/setup`.
|
|
19
|
-
9. Open the Control UI at `/symi`.
|
|
20
|
-
|
|
21
|
-
## What you get
|
|
22
|
-
|
|
23
|
-
- Hosted Symi Gateway + Control UI
|
|
24
|
-
- Web setup wizard at `/setup` (no terminal commands)
|
|
25
|
-
- Persistent storage via Northflank Volume (`/data`) so config/credentials/workspace survive redeploys
|
|
26
|
-
|
|
27
|
-
## Setup flow
|
|
28
|
-
|
|
29
|
-
1. Visit `https://<your-northflank-domain>/setup` and enter your `SETUP_PASSWORD`.
|
|
30
|
-
2. Choose a model/auth provider and paste your key.
|
|
31
|
-
3. Click **Run setup**.
|
|
32
|
-
4. Open the Control UI at `https://<your-northflank-domain>/symi`
|
|
33
|
-
|
|
34
|
-
If Telegram DMs are set to pairing, the setup wizard can approve the pairing code.
|
|
35
|
-
|
|
36
|
-
## Getting chat tokens
|
|
37
|
-
|
|
38
|
-
### Telegram bot token
|
|
39
|
-
|
|
40
|
-
1. Message `@BotFather` in Telegram
|
|
41
|
-
2. Run `/newbot`
|
|
42
|
-
3. Copy the token (looks like `123456789:AA...`)
|
|
43
|
-
4. Paste it into `/setup`
|
|
44
|
-
|
|
45
|
-
5. **New Application** → choose a name
|
|
46
|
-
6. **Bot** → **Add Bot**
|
|
47
|
-
7. **Enable MESSAGE CONTENT INTENT** under Bot → Privileged Gateway Intents (required or the bot will crash on startup)
|
|
48
|
-
8. Copy the **Bot Token** and paste into `/setup`
|
|
49
|
-
9. Invite the bot to your server (OAuth2 URL Generator; scopes: `bot`, `applications.commands`)
|
package/docs/install/podman.md
DELETED
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
summary: "Run Symi in a rootless Podman container"
|
|
3
|
-
read_when:
|
|
4
|
-
- You want a containerized gateway with Podman instead of Docker
|
|
5
|
-
title: "Podman"
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Podman
|
|
9
|
-
|
|
10
|
-
Run the Symi gateway in a **rootless** Podman container. Uses the same image as Docker (build from the repo [Dockerfile](https://github.com/symi/symi/blob/main/Dockerfile)).
|
|
11
|
-
|
|
12
|
-
## Requirements
|
|
13
|
-
|
|
14
|
-
- Podman (rootless)
|
|
15
|
-
- Sudo for one-time setup (create user, build image)
|
|
16
|
-
|
|
17
|
-
## Quick start
|
|
18
|
-
|
|
19
|
-
**1. One-time setup** (from repo root; creates user, builds image, installs launch script):
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
./setup-podman.sh
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
This also creates a minimal `~symi/.symi/symi.json` (sets `gateway.mode="local"`) so the gateway can start without running the wizard.
|
|
26
|
-
|
|
27
|
-
By default the container is **not** installed as a systemd service, you start it manually (see below). For a production-style setup with auto-start and restarts, install it as a systemd Quadlet user service instead:
|
|
28
|
-
|
|
29
|
-
```bash
|
|
30
|
-
./setup-podman.sh --quadlet
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
(Or set `SYMI_PODMAN_QUADLET=1`; use `--container` to install only the container and launch script.)
|
|
34
|
-
|
|
35
|
-
**2. Start gateway** (manual, for quick smoke testing):
|
|
36
|
-
|
|
37
|
-
```bash
|
|
38
|
-
./scripts/run-symi-podman.sh launch
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
**3. Onboarding wizard** (e.g. to add channels or providers):
|
|
42
|
-
|
|
43
|
-
```bash
|
|
44
|
-
./scripts/run-symi-podman.sh launch setup
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
Then open `http://127.0.0.1:18789/` and use the token from `~symi/.symi/.env` (or the value printed by setup).
|
|
48
|
-
|
|
49
|
-
## Systemd (Quadlet, optional)
|
|
50
|
-
|
|
51
|
-
If you ran `./setup-podman.sh --quadlet` (or `SYMI_PODMAN_QUADLET=1`), a [Podman Quadlet](https://docs.podman.io/en/latest/markdown/podman-systemd.unit.5.html) unit is installed so the gateway runs as a systemd user service for the symi user. The service is enabled and started at the end of setup.
|
|
52
|
-
|
|
53
|
-
- **Start:** `sudo systemctl --machine symi@ --user start symi.service`
|
|
54
|
-
- **Stop:** `sudo systemctl --machine symi@ --user stop symi.service`
|
|
55
|
-
- **Status:** `sudo systemctl --machine symi@ --user status symi.service`
|
|
56
|
-
- **Logs:** `sudo journalctl --machine symi@ --user -u symi.service -f`
|
|
57
|
-
|
|
58
|
-
The quadlet file lives at `~symi/.config/containers/systemd/symi.container`. To change ports or env, edit that file (or the `.env` it sources), then `sudo systemctl --machine symi@ --user daemon-reload` and restart the service. On boot, the service starts automatically if lingering is enabled for symi (setup does this when loginctl is available).
|
|
59
|
-
|
|
60
|
-
To add quadlet **after** an initial setup that did not use it, re-run: `./setup-podman.sh --quadlet`.
|
|
61
|
-
|
|
62
|
-
## The symi user (non-login)
|
|
63
|
-
|
|
64
|
-
`setup-podman.sh` creates a dedicated system user `symi`:
|
|
65
|
-
|
|
66
|
-
- **Shell:** `nologin` — no interactive login; reduces attack surface.
|
|
67
|
-
- **Home:** e.g. `/home/symi` — holds `~/.symi` (config, workspace) and the launch script `run-symi-podman.sh`.
|
|
68
|
-
- **Rootless Podman:** The user must have a **subuid** and **subgid** range. Many distros assign these automatically when the user is created. If setup prints a warning, add lines to `/etc/subuid` and `/etc/subgid`:
|
|
69
|
-
|
|
70
|
-
```text
|
|
71
|
-
symi:100000:65536
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
Then start the gateway as that user (e.g. from cron or systemd):
|
|
75
|
-
|
|
76
|
-
```bash
|
|
77
|
-
sudo -u symi /home/symi/run-symi-podman.sh
|
|
78
|
-
sudo -u symi /home/symi/run-symi-podman.sh setup
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
- **Config:** Only `symi` and root can access `/home/symi/.symi`. To edit config: use the Control UI once the gateway is running, or `sudo -u symi $EDITOR /home/symi/.symi/symi.json`.
|
|
82
|
-
|
|
83
|
-
## Environment and config
|
|
84
|
-
|
|
85
|
-
- **Token:** Stored in `~symi/.symi/.env` as `SYMI_GATEWAY_TOKEN`. `setup-podman.sh` and `run-symi-podman.sh` generate it if missing (uses `openssl`, `python3`, or `od`).
|
|
86
|
-
- **Optional:** In that `.env` you can set provider keys (e.g. `GROQ_API_KEY`, `OLLAMA_API_KEY`) and other Symi env vars.
|
|
87
|
-
- **Host ports:** By default the script maps `18789` (gateway) and `18790` (bridge). Override the **host** port mapping with `SYMI_PODMAN_GATEWAY_HOST_PORT` and `SYMI_PODMAN_BRIDGE_HOST_PORT` when launching.
|
|
88
|
-
- **Paths:** Host config and workspace default to `~symi/.symi` and `~symi/.symi/workspace`. Override the host paths used by the launch script with `SYMI_CONFIG_DIR` and `SYMI_WORKSPACE_DIR`.
|
|
89
|
-
|
|
90
|
-
## Useful commands
|
|
91
|
-
|
|
92
|
-
- **Logs:** With quadlet: `sudo journalctl --machine symi@ --user -u symi.service -f`. With script: `sudo -u symi podman logs -f symi`
|
|
93
|
-
- **Stop:** With quadlet: `sudo systemctl --machine symi@ --user stop symi.service`. With script: `sudo -u symi podman stop symi`
|
|
94
|
-
- **Start again:** With quadlet: `sudo systemctl --machine symi@ --user start symi.service`. With script: re-run the launch script or `podman start symi`
|
|
95
|
-
- **Remove container:** `sudo -u symi podman rm -f symi` — config and workspace on the host are kept
|
|
96
|
-
|
|
97
|
-
## Troubleshooting
|
|
98
|
-
|
|
99
|
-
- **Permission denied (EACCES) on config or auth-profiles:** The container defaults to `--userns=keep-id` and runs as the same uid/gid as the host user running the script. Ensure your host `SYMI_CONFIG_DIR` and `SYMI_WORKSPACE_DIR` are owned by that user.
|
|
100
|
-
- **Gateway start blocked (missing `gateway.mode=local`):** Ensure `~symi/.symi/symi.json` exists and sets `gateway.mode="local"`. `setup-podman.sh` creates this file if missing.
|
|
101
|
-
- **Rootless Podman fails for user symi:** Check `/etc/subuid` and `/etc/subgid` contain a line for `symi` (e.g. `symi:100000:65536`). Add it if missing and restart.
|
|
102
|
-
- **Container name in use:** The launch script uses `podman run --replace`, so the existing container is replaced when you start again. To clean up manually: `podman rm -f symi`.
|
|
103
|
-
- **Script not found when running as symi:** Ensure `setup-podman.sh` was run so that `run-symi-podman.sh` is copied to symi’s home (e.g. `/home/symi/run-symi-podman.sh`).
|
|
104
|
-
- **Quadlet service not found or fails to start:** Run `sudo systemctl --machine symi@ --user daemon-reload` after editing the `.container` file. Quadlet requires cgroups v2: `podman info --format '{{.Host.CgroupsVersion}}'` should show `2`.
|
|
105
|
-
|
|
106
|
-
## Optional: run as your own user
|
|
107
|
-
|
|
108
|
-
To run the gateway as your normal user (no dedicated symi user): build the image, create `~/.symi/.env` with `SYMI_GATEWAY_TOKEN`, and run the container with `--userns=keep-id` and mounts to your `~/.symi`. The launch script is designed for the symi-user flow; for a single-user setup you can instead run the `podman run` command from the script manually, pointing config and workspace to your home. Recommended for most users: use `setup-podman.sh` and run as the symi user so config and process are isolated.
|
package/docs/install/railway.mdx
DELETED
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Deploy on Railway
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
Deploy Symi on Railway with a one-click template and finish setup in your browser.
|
|
6
|
-
This is the easiest “no terminal on the server” path: Railway runs the Gateway for you,
|
|
7
|
-
and you configure everything via the `/setup` web wizard.
|
|
8
|
-
|
|
9
|
-
## Quick checklist (new users)
|
|
10
|
-
|
|
11
|
-
1. Click **Deploy on Railway** (below).
|
|
12
|
-
2. Add a **Volume** mounted at `/data`.
|
|
13
|
-
3. Set the required **Variables** (at least `SETUP_PASSWORD`).
|
|
14
|
-
4. Enable **HTTP Proxy** on port `8080`.
|
|
15
|
-
5. Open `https://<your-railway-domain>/setup` and finish the wizard.
|
|
16
|
-
|
|
17
|
-
## One-click deploy
|
|
18
|
-
|
|
19
|
-
<a href="https://railway.com/deploy/symi-railway-template" target="_blank" rel="noreferrer">
|
|
20
|
-
Deploy on Railway
|
|
21
|
-
</a>
|
|
22
|
-
|
|
23
|
-
After deploy, find your public URL in **Railway → your service → Settings → Domains**.
|
|
24
|
-
|
|
25
|
-
Railway will either:
|
|
26
|
-
|
|
27
|
-
- give you a generated domain (often `https://<something>.up.railway.app`), or
|
|
28
|
-
- use your custom domain if you attached one.
|
|
29
|
-
|
|
30
|
-
Then open:
|
|
31
|
-
|
|
32
|
-
- `https://<your-railway-domain>/setup` — setup wizard (password protected)
|
|
33
|
-
- `https://<your-railway-domain>/symi` — Control UI
|
|
34
|
-
|
|
35
|
-
## What you get
|
|
36
|
-
|
|
37
|
-
- Hosted Symi Gateway + Control UI
|
|
38
|
-
- Web setup wizard at `/setup` (no terminal commands)
|
|
39
|
-
- Persistent storage via Railway Volume (`/data`) so config/credentials/workspace survive redeploys
|
|
40
|
-
- Backup export at `/setup/export` to migrate off Railway later
|
|
41
|
-
|
|
42
|
-
## Required Railway settings
|
|
43
|
-
|
|
44
|
-
### Public Networking
|
|
45
|
-
|
|
46
|
-
Enable **HTTP Proxy** for the service.
|
|
47
|
-
|
|
48
|
-
- Port: `8080`
|
|
49
|
-
|
|
50
|
-
### Volume (required)
|
|
51
|
-
|
|
52
|
-
Attach a volume mounted at:
|
|
53
|
-
|
|
54
|
-
- `/data`
|
|
55
|
-
|
|
56
|
-
### Variables
|
|
57
|
-
|
|
58
|
-
Set these variables on the service:
|
|
59
|
-
|
|
60
|
-
- `SETUP_PASSWORD` (required)
|
|
61
|
-
- `PORT=8080` (required — must match the port in Public Networking)
|
|
62
|
-
- `SYMI_STATE_DIR=/data/.symi` (recommended)
|
|
63
|
-
- `SYMI_WORKSPACE_DIR=/data/workspace` (recommended)
|
|
64
|
-
- `SYMI_GATEWAY_TOKEN` (recommended; treat as an admin secret)
|
|
65
|
-
|
|
66
|
-
## Setup flow
|
|
67
|
-
|
|
68
|
-
1. Visit `https://<your-railway-domain>/setup` and enter your `SETUP_PASSWORD`.
|
|
69
|
-
2. Choose a model/auth provider and paste your key.
|
|
70
|
-
3. Click **Run setup**.
|
|
71
|
-
|
|
72
|
-
If Telegram DMs are set to pairing, the setup wizard can approve the pairing code.
|
|
73
|
-
|
|
74
|
-
## Getting chat tokens
|
|
75
|
-
|
|
76
|
-
### Telegram bot token
|
|
77
|
-
|
|
78
|
-
1. Message `@BotFather` in Telegram
|
|
79
|
-
2. Run `/newbot`
|
|
80
|
-
3. Copy the token (looks like `123456789:AA...`)
|
|
81
|
-
4. Paste it into `/setup`
|
|
82
|
-
|
|
83
|
-
5. **New Application** → choose a name
|
|
84
|
-
6. **Bot** → **Add Bot**
|
|
85
|
-
7. **Enable MESSAGE CONTENT INTENT** under Bot → Privileged Gateway Intents (required or the bot will crash on startup)
|
|
86
|
-
8. Copy the **Bot Token** and paste into `/setup`
|
|
87
|
-
9. Invite the bot to your server (OAuth2 URL Generator; scopes: `bot`, `applications.commands`)
|
|
88
|
-
|
|
89
|
-
## Backups & migration
|
|
90
|
-
|
|
91
|
-
Download a backup at:
|
|
92
|
-
|
|
93
|
-
- `https://<your-railway-domain>/setup/export`
|
|
94
|
-
|
|
95
|
-
This exports your Symi state + workspace so you can migrate to another host without losing config or memory.
|