@symerian/symi 3.0.20 → 3.0.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{audio-preflight-BaCdNfrk.js → audio-preflight-D7BVT-ls.js} +4 -4
- package/dist/build-info.json +3 -3
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{chrome-UfmVM0xR.js → chrome-B5CO2vB5.js} +7 -7
- package/dist/{deliver-BqXdac6W.js → deliver-CrwjsDwv.js} +1 -1
- package/dist/extensionAPI.js +7 -7
- package/dist/{image-DIWsXYcW.js → image-Csu7WcLW.js} +1 -1
- package/dist/{manager-DW3SxcPr.js → manager-BkkVjTO8.js} +1 -1
- package/dist/{pi-embedded-BNch0U5F.js → pi-embedded-Dhp64z5l.js} +16 -16
- package/dist/{pi-embedded-helpers-IkHl02JF.js → pi-embedded-helpers-840E4hop.js} +4 -4
- package/dist/{pw-ai-nMkA-oDJ.js → pw-ai-CBgJf_RR.js} +1 -1
- package/dist/{runner-DNEC58JI.js → runner-BbFKo1ne.js} +1 -1
- package/dist/{synthesis-BWAr0sZ9.js → synthesis-DoEM0E8_.js} +7 -7
- package/dist/{web-7a-m_UxL.js → web-BYXJn-Ps.js} +7 -7
- package/package.json +1 -1
- package/docs/.i18n/README.md +0 -31
- package/docs/.i18n/glossary.ja-JP.json +0 -14
- package/docs/.i18n/glossary.zh-CN.json +0 -210
- package/docs/.i18n/ja-JP.tm.jsonl +0 -0
- package/docs/.i18n/zh-CN.tm.jsonl +0 -1303
- package/docs/CNAME +0 -1
- package/docs/assets/install-script.svg +0 -1
- package/docs/assets/macos-onboarding/01-macos-warning.jpeg +0 -0
- package/docs/assets/macos-onboarding/02-local-networks.jpeg +0 -0
- package/docs/assets/macos-onboarding/03-security-notice.png +0 -0
- package/docs/assets/macos-onboarding/04-choose-gateway.png +0 -0
- package/docs/assets/macos-onboarding/05-permissions.png +0 -0
- package/docs/assets/pixel-symi.svg +0 -60
- package/docs/assets/showcase/agents-ui.jpg +0 -0
- package/docs/assets/showcase/bambu-cli.png +0 -0
- package/docs/assets/showcase/codexmonitor.png +0 -0
- package/docs/assets/showcase/gohome-grafana.png +0 -0
- package/docs/assets/showcase/ios-testflight.jpg +0 -0
- package/docs/assets/showcase/oura-health.png +0 -0
- package/docs/assets/showcase/padel-cli.svg +0 -11
- package/docs/assets/showcase/padel-screenshot.jpg +0 -0
- package/docs/assets/showcase/papla-tts.jpg +0 -0
- package/docs/assets/showcase/pr-review-telegram.jpg +0 -0
- package/docs/assets/showcase/roborock-screenshot.jpg +0 -0
- package/docs/assets/showcase/roborock-status.svg +0 -13
- package/docs/assets/showcase/roof-camera-sky.jpg +0 -0
- package/docs/assets/showcase/snag.png +0 -0
- package/docs/assets/showcase/tesco-shop.jpg +0 -0
- package/docs/assets/showcase/wienerlinien.png +0 -0
- package/docs/assets/showcase/wine-cellar-skill.jpg +0 -0
- package/docs/assets/showcase/winix-air-purifier.jpg +0 -0
- package/docs/assets/showcase/xuezh-pronunciation.jpeg +0 -0
- package/docs/assets/sponsors/blacksmith.svg +0 -14
- package/docs/assets/sponsors/openai.svg +0 -3
- package/docs/assets/symi-logo-text-dark.png +0 -0
- package/docs/assets/symi-logo-text.png +0 -0
- package/docs/automation/auth-monitoring.md +0 -44
- package/docs/automation/cron-jobs.md +0 -540
- package/docs/automation/cron-vs-heartbeat.md +0 -286
- package/docs/automation/gmail-pubsub.md +0 -256
- package/docs/automation/hooks.md +0 -998
- package/docs/automation/poll.md +0 -61
- package/docs/automation/troubleshooting.md +0 -122
- package/docs/automation/webhook.md +0 -213
- package/docs/brave-search.md +0 -41
- package/docs/capabilities.md +0 -151
- package/docs/channels/bluebubbles.md +0 -346
- package/docs/channels/broadcast-groups.md +0 -441
- package/docs/channels/channel-routing.md +0 -112
- package/docs/channels/feishu.md +0 -586
- package/docs/channels/googlechat.md +0 -253
- package/docs/channels/grammy.md +0 -31
- package/docs/channels/group-messages.md +0 -82
- package/docs/channels/groups.md +0 -364
- package/docs/channels/imessage.md +0 -366
- package/docs/channels/index.md +0 -46
- package/docs/channels/irc.md +0 -234
- package/docs/channels/line.md +0 -186
- package/docs/channels/location.md +0 -56
- package/docs/channels/matrix.md +0 -300
- package/docs/channels/mattermost.md +0 -158
- package/docs/channels/msteams.md +0 -769
- package/docs/channels/nextcloud-talk.md +0 -138
- package/docs/channels/nostr.md +0 -233
- package/docs/channels/pairing.md +0 -100
- package/docs/channels/signal.md +0 -322
- package/docs/channels/slack.md +0 -510
- package/docs/channels/telegram.md +0 -748
- package/docs/channels/tlon.md +0 -148
- package/docs/channels/troubleshooting.md +0 -110
- package/docs/channels/twitch.md +0 -379
- package/docs/channels/whatsapp.md +0 -444
- package/docs/channels/zalo.md +0 -192
- package/docs/channels/zalouser.md +0 -140
- package/docs/ci.md +0 -50
- package/docs/cli/acp.md +0 -182
- package/docs/cli/agent.md +0 -24
- package/docs/cli/agents.md +0 -75
- package/docs/cli/approvals.md +0 -50
- package/docs/cli/browser.md +0 -107
- package/docs/cli/channels.md +0 -73
- package/docs/cli/config.md +0 -50
- package/docs/cli/configure.md +0 -32
- package/docs/cli/cron.md +0 -44
- package/docs/cli/dashboard.md +0 -16
- package/docs/cli/devices.md +0 -73
- package/docs/cli/directory.md +0 -62
- package/docs/cli/dns.md +0 -23
- package/docs/cli/docs.md +0 -15
- package/docs/cli/doctor.md +0 -41
- package/docs/cli/gateway.md +0 -202
- package/docs/cli/health.md +0 -21
- package/docs/cli/hooks.md +0 -313
- package/docs/cli/index.md +0 -1029
- package/docs/cli/logs.md +0 -28
- package/docs/cli/memory.md +0 -45
- package/docs/cli/message.md +0 -214
- package/docs/cli/models.md +0 -79
- package/docs/cli/node.md +0 -112
- package/docs/cli/nodes.md +0 -73
- package/docs/cli/onboard.md +0 -76
- package/docs/cli/pairing.md +0 -21
- package/docs/cli/plugins.md +0 -92
- package/docs/cli/reset.md +0 -17
- package/docs/cli/sandbox.md +0 -152
- package/docs/cli/security.md +0 -64
- package/docs/cli/sessions.md +0 -16
- package/docs/cli/setup.md +0 -29
- package/docs/cli/skills.md +0 -26
- package/docs/cli/status.md +0 -25
- package/docs/cli/system.md +0 -60
- package/docs/cli/tui.md +0 -23
- package/docs/cli/uninstall.md +0 -17
- package/docs/cli/update.md +0 -98
- package/docs/cli/voicecall.md +0 -34
- package/docs/cli/webhooks.md +0 -25
- package/docs/concepts/agent-loop.md +0 -148
- package/docs/concepts/agent-workspace.md +0 -234
- package/docs/concepts/agent.md +0 -123
- package/docs/concepts/architecture.md +0 -135
- package/docs/concepts/compaction.md +0 -61
- package/docs/concepts/context.md +0 -161
- package/docs/concepts/features.md +0 -51
- package/docs/concepts/markdown-formatting.md +0 -128
- package/docs/concepts/memory.md +0 -729
- package/docs/concepts/messages.md +0 -153
- package/docs/concepts/model-failover.md +0 -149
- package/docs/concepts/model-providers.md +0 -424
- package/docs/concepts/models.md +0 -208
- package/docs/concepts/multi-agent.md +0 -521
- package/docs/concepts/oauth.md +0 -145
- package/docs/concepts/presence.md +0 -102
- package/docs/concepts/queue.md +0 -86
- package/docs/concepts/retry.md +0 -64
- package/docs/concepts/session-pruning.md +0 -123
- package/docs/concepts/session-tool.md +0 -213
- package/docs/concepts/session.md +0 -199
- package/docs/concepts/sessions.md +0 -10
- package/docs/concepts/streaming.md +0 -129
- package/docs/concepts/system-prompt.md +0 -128
- package/docs/concepts/timezone.md +0 -90
- package/docs/concepts/typebox.md +0 -289
- package/docs/concepts/typing-indicators.md +0 -68
- package/docs/concepts/usage-tracking.md +0 -35
- package/docs/date-time.md +0 -127
- package/docs/debug/node-issue.md +0 -85
- package/docs/diagnostics/flags.md +0 -91
- package/docs/docs.json +0 -1849
- package/docs/experiments/onboarding-config-protocol.md +0 -40
- package/docs/experiments/plans/browser-evaluate-cdp-refactor.md +0 -229
- package/docs/experiments/plans/cron-add-hardening.md +0 -62
- package/docs/experiments/plans/group-policy-hardening.md +0 -40
- package/docs/experiments/plans/openresponses-gateway.md +0 -123
- package/docs/experiments/plans/pty-process-supervision.md +0 -192
- package/docs/experiments/plans/session-binding-channel-agnostic.md +0 -202
- package/docs/experiments/plans/thread-bound-subagents.md +0 -281
- package/docs/experiments/proposals/model-config.md +0 -36
- package/docs/experiments/research/memory.md +0 -228
- package/docs/gateway/authentication.md +0 -162
- package/docs/gateway/background-process.md +0 -96
- package/docs/gateway/bonjour.md +0 -177
- package/docs/gateway/bridge-protocol.md +0 -91
- package/docs/gateway/cli-backends.md +0 -225
- package/docs/gateway/configuration-examples.md +0 -610
- package/docs/gateway/configuration-reference.md +0 -2465
- package/docs/gateway/configuration.md +0 -488
- package/docs/gateway/discovery.md +0 -123
- package/docs/gateway/doctor.md +0 -282
- package/docs/gateway/gateway-lock.md +0 -34
- package/docs/gateway/health.md +0 -35
- package/docs/gateway/heartbeat.md +0 -374
- package/docs/gateway/index.md +0 -254
- package/docs/gateway/local-models.md +0 -150
- package/docs/gateway/logging.md +0 -113
- package/docs/gateway/multiple-gateways.md +0 -112
- package/docs/gateway/network-model.md +0 -20
- package/docs/gateway/openai-http-api.md +0 -119
- package/docs/gateway/openresponses-http-api.md +0 -333
- package/docs/gateway/pairing.md +0 -99
- package/docs/gateway/protocol.md +0 -221
- package/docs/gateway/remote-gateway-readme.md +0 -158
- package/docs/gateway/remote.md +0 -131
- package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +0 -128
- package/docs/gateway/sandboxing.md +0 -203
- package/docs/gateway/security/index.md +0 -931
- package/docs/gateway/tailscale.md +0 -132
- package/docs/gateway/tools-invoke-http-api.md +0 -110
- package/docs/gateway/troubleshooting.md +0 -317
- package/docs/gateway/trusted-proxy-auth.md +0 -270
- package/docs/glass-ui-rendering-invariants.md +0 -451
- package/docs/help/debugging.md +0 -162
- package/docs/help/environment.md +0 -107
- package/docs/help/faq.md +0 -2846
- package/docs/help/index.md +0 -21
- package/docs/help/scripts.md +0 -28
- package/docs/help/testing.md +0 -385
- package/docs/help/troubleshooting.md +0 -264
- package/docs/images/configure-model-picker-unsearchable.png +0 -0
- package/docs/images/feishu-step2-create-app.png +0 -0
- package/docs/images/feishu-step3-credentials.png +0 -0
- package/docs/images/feishu-step4-permissions.png +0 -0
- package/docs/images/feishu-step5-bot-capability.png +0 -0
- package/docs/images/feishu-step6-event-subscription.png +0 -0
- package/docs/images/groups-flow.svg +0 -52
- package/docs/images/mobile-ui-screenshot.png +0 -0
- package/docs/index.md +0 -186
- package/docs/install/ansible.md +0 -207
- package/docs/install/bun.md +0 -59
- package/docs/install/development-channels.md +0 -75
- package/docs/install/docker.md +0 -583
- package/docs/install/exe-dev.md +0 -126
- package/docs/install/fly.md +0 -472
- package/docs/install/gcp.md +0 -499
- package/docs/install/hetzner.md +0 -347
- package/docs/install/index.md +0 -218
- package/docs/install/installer.md +0 -405
- package/docs/install/macos-vm.md +0 -281
- package/docs/install/migrating.md +0 -192
- package/docs/install/nix.md +0 -98
- package/docs/install/node.md +0 -138
- package/docs/install/northflank.mdx +0 -49
- package/docs/install/podman.md +0 -108
- package/docs/install/railway.mdx +0 -95
- package/docs/install/render.mdx +0 -158
- package/docs/install/uninstall.md +0 -128
- package/docs/install/updating.md +0 -231
- package/docs/ja-JP/AGENTS.md +0 -37
- package/docs/ja-JP/index.md +0 -183
- package/docs/ja-JP/start/getting-started.md +0 -125
- package/docs/ja-JP/start/wizard.md +0 -77
- package/docs/logging.md +0 -350
- package/docs/nav-tabs-underline.js +0 -100
- package/docs/network.md +0 -54
- package/docs/nodes/audio.md +0 -133
- package/docs/nodes/camera.md +0 -156
- package/docs/nodes/images.md +0 -72
- package/docs/nodes/index.md +0 -342
- package/docs/nodes/location-command.md +0 -113
- package/docs/nodes/media-understanding.md +0 -379
- package/docs/nodes/talk.md +0 -90
- package/docs/nodes/troubleshooting.md +0 -112
- package/docs/nodes/voicewake.md +0 -65
- package/docs/perplexity.md +0 -80
- package/docs/phase-6.5-pre-flight-audit.md +0 -268
- package/docs/pi-dev.md +0 -70
- package/docs/pi.md +0 -610
- package/docs/platforms/android.md +0 -151
- package/docs/platforms/digitalocean.md +0 -265
- package/docs/platforms/index.md +0 -53
- package/docs/platforms/ios.md +0 -108
- package/docs/platforms/linux.md +0 -94
- package/docs/platforms/mac/bundled-gateway.md +0 -73
- package/docs/platforms/mac/canvas.md +0 -125
- package/docs/platforms/mac/child-process.md +0 -69
- package/docs/platforms/mac/dev-setup.md +0 -104
- package/docs/platforms/mac/health.md +0 -34
- package/docs/platforms/mac/icon.md +0 -31
- package/docs/platforms/mac/logging.md +0 -57
- package/docs/platforms/mac/menu-bar.md +0 -81
- package/docs/platforms/mac/peekaboo.md +0 -65
- package/docs/platforms/mac/permissions.md +0 -50
- package/docs/platforms/mac/release.md +0 -85
- package/docs/platforms/mac/remote.md +0 -84
- package/docs/platforms/mac/signing.md +0 -47
- package/docs/platforms/mac/skills.md +0 -33
- package/docs/platforms/mac/voice-overlay.md +0 -60
- package/docs/platforms/mac/voicewake.md +0 -66
- package/docs/platforms/mac/webchat.md +0 -43
- package/docs/platforms/mac/xpc.md +0 -61
- package/docs/platforms/macos.md +0 -204
- package/docs/platforms/oracle.md +0 -303
- package/docs/platforms/raspberry-pi.md +0 -358
- package/docs/platforms/windows.md +0 -159
- package/docs/plugins/agent-tools.md +0 -99
- package/docs/plugins/community.md +0 -44
- package/docs/plugins/manifest.md +0 -71
- package/docs/plugins/voice-call.md +0 -322
- package/docs/plugins/zalouser.md +0 -81
- package/docs/prose.md +0 -134
- package/docs/providers/anthropic.md +0 -174
- package/docs/providers/bedrock.md +0 -176
- package/docs/providers/claude-max-api-proxy.md +0 -148
- package/docs/providers/cloudflare-ai-gateway.md +0 -71
- package/docs/providers/deepgram.md +0 -93
- package/docs/providers/github-copilot.md +0 -72
- package/docs/providers/glm.md +0 -33
- package/docs/providers/huggingface.md +0 -209
- package/docs/providers/index.md +0 -67
- package/docs/providers/litellm.md +0 -153
- package/docs/providers/minimax.md +0 -208
- package/docs/providers/models.md +0 -52
- package/docs/providers/moonshot.md +0 -142
- package/docs/providers/nvidia.md +0 -55
- package/docs/providers/ollama.md +0 -250
- package/docs/providers/openai.md +0 -62
- package/docs/providers/opencode.md +0 -36
- package/docs/providers/openrouter.md +0 -37
- package/docs/providers/qianfan.md +0 -38
- package/docs/providers/qwen.md +0 -53
- package/docs/providers/synthetic.md +0 -99
- package/docs/providers/together.md +0 -65
- package/docs/providers/venice.md +0 -267
- package/docs/providers/vercel-ai-gateway.md +0 -50
- package/docs/providers/vllm.md +0 -92
- package/docs/providers/xiaomi.md +0 -64
- package/docs/providers/zai.md +0 -38
- package/docs/refactor/exec-host.md +0 -316
- package/docs/refactor/outbound-session-mirroring.md +0 -83
- package/docs/refactor/plugin-sdk.md +0 -214
- package/docs/refactor/strict-config.md +0 -93
- package/docs/refactor/syminet.md +0 -417
- package/docs/reference/AGENTS.default.md +0 -123
- package/docs/reference/RELEASING.md +0 -120
- package/docs/reference/api-usage-costs.md +0 -138
- package/docs/reference/credits.md +0 -28
- package/docs/reference/device-models.md +0 -47
- package/docs/reference/rpc.md +0 -43
- package/docs/reference/session-management-compaction.md +0 -284
- package/docs/reference/test.md +0 -51
- package/docs/reference/token-use.md +0 -136
- package/docs/reference/transcript-hygiene.md +0 -151
- package/docs/reference/wizard.md +0 -265
- package/docs/security/CONTRIBUTING-THREAT-MODEL.md +0 -89
- package/docs/security/README.md +0 -16
- package/docs/security/THREAT-MODEL-ATLAS.md +0 -600
- package/docs/security/formal-verification.md +0 -164
- package/docs/start/bootstrapping.md +0 -41
- package/docs/start/docs-directory.md +0 -63
- package/docs/start/getting-started.md +0 -135
- package/docs/start/hubs.md +0 -196
- package/docs/start/lore.md +0 -216
- package/docs/start/onboarding-overview.md +0 -51
- package/docs/start/onboarding.md +0 -81
- package/docs/start/quickstart.md +0 -22
- package/docs/start/setup.md +0 -160
- package/docs/start/showcase.md +0 -414
- package/docs/start/symi.md +0 -211
- package/docs/start/wizard-cli-automation.md +0 -158
- package/docs/start/wizard-cli-reference.md +0 -255
- package/docs/start/wizard.md +0 -109
- package/docs/style.css +0 -37
- package/docs/tools/agent-send.md +0 -52
- package/docs/tools/apply-patch.md +0 -51
- package/docs/tools/browser-linux-troubleshooting.md +0 -139
- package/docs/tools/browser-login.md +0 -67
- package/docs/tools/browser.md +0 -587
- package/docs/tools/chrome-extension.md +0 -183
- package/docs/tools/creating-skills.md +0 -54
- package/docs/tools/elevated.md +0 -55
- package/docs/tools/exec-approvals.md +0 -261
- package/docs/tools/exec.md +0 -184
- package/docs/tools/firecrawl.md +0 -61
- package/docs/tools/index.md +0 -540
- package/docs/tools/llm-task.md +0 -115
- package/docs/tools/loop-detection.md +0 -98
- package/docs/tools/multi-agent-sandbox-tools.md +0 -396
- package/docs/tools/pipeline.md +0 -340
- package/docs/tools/plugin.md +0 -687
- package/docs/tools/reactions.md +0 -21
- package/docs/tools/skills-config.md +0 -76
- package/docs/tools/skills.md +0 -300
- package/docs/tools/slash-commands.md +0 -202
- package/docs/tools/subagents.md +0 -232
- package/docs/tools/symihub.md +0 -256
- package/docs/tools/thinking.md +0 -75
- package/docs/tools/web.md +0 -265
- package/docs/tts.md +0 -398
- package/docs/vps.md +0 -43
- package/docs/web/control-ui.md +0 -247
- package/docs/web/dashboard.md +0 -46
- package/docs/web/index.md +0 -118
- package/docs/web/tui.md +0 -162
- package/docs/web/webchat.md +0 -53
- package/docs/whatsapp-symi-ai-zh.jpg +0 -0
- package/docs/whatsapp-symi.jpg +0 -0
- package/docs/zh-CN/AGENTS.md +0 -59
- package/docs/zh-CN/automation/auth-monitoring.md +0 -47
- package/docs/zh-CN/automation/cron-jobs.md +0 -422
- package/docs/zh-CN/automation/cron-vs-heartbeat.md +0 -286
- package/docs/zh-CN/automation/gmail-pubsub.md +0 -249
- package/docs/zh-CN/automation/hooks.md +0 -881
- package/docs/zh-CN/automation/poll.md +0 -68
- package/docs/zh-CN/automation/troubleshooting.md +0 -8
- package/docs/zh-CN/automation/webhook.md +0 -161
- package/docs/zh-CN/brave-search.md +0 -48
- package/docs/zh-CN/channels/bluebubbles.md +0 -271
- package/docs/zh-CN/channels/broadcast-groups.md +0 -448
- package/docs/zh-CN/channels/channel-routing.md +0 -112
- package/docs/zh-CN/channels/feishu.md +0 -629
- package/docs/zh-CN/channels/googlechat.md +0 -257
- package/docs/zh-CN/channels/grammy.md +0 -38
- package/docs/zh-CN/channels/group-messages.md +0 -89
- package/docs/zh-CN/channels/groups.md +0 -369
- package/docs/zh-CN/channels/imessage.md +0 -300
- package/docs/zh-CN/channels/index.md +0 -52
- package/docs/zh-CN/channels/line.md +0 -180
- package/docs/zh-CN/channels/location.md +0 -63
- package/docs/zh-CN/channels/matrix.md +0 -221
- package/docs/zh-CN/channels/mattermost.md +0 -144
- package/docs/zh-CN/channels/msteams.md +0 -773
- package/docs/zh-CN/channels/nextcloud-talk.md +0 -142
- package/docs/zh-CN/channels/nostr.md +0 -240
- package/docs/zh-CN/channels/pairing.md +0 -86
- package/docs/zh-CN/channels/signal.md +0 -207
- package/docs/zh-CN/channels/slack.md +0 -529
- package/docs/zh-CN/channels/telegram.md +0 -748
- package/docs/zh-CN/channels/tlon.md +0 -136
- package/docs/zh-CN/channels/troubleshooting.md +0 -34
- package/docs/zh-CN/channels/twitch.md +0 -385
- package/docs/zh-CN/channels/whatsapp.md +0 -411
- package/docs/zh-CN/channels/zalo.md +0 -196
- package/docs/zh-CN/channels/zalouser.md +0 -147
- package/docs/zh-CN/cli/acp.md +0 -173
- package/docs/zh-CN/cli/agent.md +0 -30
- package/docs/zh-CN/cli/agents.md +0 -82
- package/docs/zh-CN/cli/approvals.md +0 -57
- package/docs/zh-CN/cli/browser.md +0 -114
- package/docs/zh-CN/cli/channels.md +0 -80
- package/docs/zh-CN/cli/config.md +0 -57
- package/docs/zh-CN/cli/configure.md +0 -37
- package/docs/zh-CN/cli/cron.md +0 -43
- package/docs/zh-CN/cli/dashboard.md +0 -23
- package/docs/zh-CN/cli/devices.md +0 -74
- package/docs/zh-CN/cli/directory.md +0 -69
- package/docs/zh-CN/cli/dns.md +0 -30
- package/docs/zh-CN/cli/docs.md +0 -22
- package/docs/zh-CN/cli/doctor.md +0 -48
- package/docs/zh-CN/cli/gateway.md +0 -206
- package/docs/zh-CN/cli/health.md +0 -28
- package/docs/zh-CN/cli/hooks.md +0 -298
- package/docs/zh-CN/cli/index.md +0 -1025
- package/docs/zh-CN/cli/logs.md +0 -31
- package/docs/zh-CN/cli/memory.md +0 -52
- package/docs/zh-CN/cli/message.md +0 -205
- package/docs/zh-CN/cli/models.md +0 -85
- package/docs/zh-CN/cli/node.md +0 -115
- package/docs/zh-CN/cli/nodes.md +0 -80
- package/docs/zh-CN/cli/onboard.md +0 -36
- package/docs/zh-CN/cli/pairing.md +0 -28
- package/docs/zh-CN/cli/plugins.md +0 -66
- package/docs/zh-CN/cli/reset.md +0 -24
- package/docs/zh-CN/cli/sandbox.md +0 -158
- package/docs/zh-CN/cli/security.md +0 -33
- package/docs/zh-CN/cli/sessions.md +0 -23
- package/docs/zh-CN/cli/setup.md +0 -36
- package/docs/zh-CN/cli/skills.md +0 -33
- package/docs/zh-CN/cli/status.md +0 -32
- package/docs/zh-CN/cli/system.md +0 -63
- package/docs/zh-CN/cli/tui.md +0 -30
- package/docs/zh-CN/cli/uninstall.md +0 -24
- package/docs/zh-CN/cli/update.md +0 -101
- package/docs/zh-CN/cli/voicecall.md +0 -41
- package/docs/zh-CN/cli/webhooks.md +0 -32
- package/docs/zh-CN/concepts/agent-loop.md +0 -146
- package/docs/zh-CN/concepts/agent-workspace.md +0 -219
- package/docs/zh-CN/concepts/agent.md +0 -115
- package/docs/zh-CN/concepts/architecture.md +0 -122
- package/docs/zh-CN/concepts/compaction.md +0 -67
- package/docs/zh-CN/concepts/context.md +0 -168
- package/docs/zh-CN/concepts/features.md +0 -57
- package/docs/zh-CN/concepts/markdown-formatting.md +0 -115
- package/docs/zh-CN/concepts/memory.md +0 -412
- package/docs/zh-CN/concepts/messages.md +0 -140
- package/docs/zh-CN/concepts/model-failover.md +0 -145
- package/docs/zh-CN/concepts/model-providers.md +0 -320
- package/docs/zh-CN/concepts/models.md +0 -196
- package/docs/zh-CN/concepts/multi-agent.md +0 -371
- package/docs/zh-CN/concepts/oauth.md +0 -151
- package/docs/zh-CN/concepts/presence.md +0 -99
- package/docs/zh-CN/concepts/queue.md +0 -91
- package/docs/zh-CN/concepts/retry.md +0 -71
- package/docs/zh-CN/concepts/session-pruning.md +0 -129
- package/docs/zh-CN/concepts/session-tool.md +0 -198
- package/docs/zh-CN/concepts/session.md +0 -158
- package/docs/zh-CN/concepts/sessions.md +0 -17
- package/docs/zh-CN/concepts/streaming.md +0 -131
- package/docs/zh-CN/concepts/system-prompt.md +0 -99
- package/docs/zh-CN/concepts/timezone.md +0 -94
- package/docs/zh-CN/concepts/typebox.md +0 -284
- package/docs/zh-CN/concepts/typing-indicators.md +0 -74
- package/docs/zh-CN/concepts/usage-tracking.md +0 -42
- package/docs/zh-CN/date-time.md +0 -128
- package/docs/zh-CN/debug/node-issue.md +0 -90
- package/docs/zh-CN/diagnostics/flags.md +0 -98
- package/docs/zh-CN/experiments/onboarding-config-protocol.md +0 -47
- package/docs/zh-CN/experiments/plans/cron-add-hardening.md +0 -69
- package/docs/zh-CN/experiments/plans/group-policy-hardening.md +0 -45
- package/docs/zh-CN/experiments/plans/openresponses-gateway.md +0 -121
- package/docs/zh-CN/experiments/proposals/model-config.md +0 -42
- package/docs/zh-CN/experiments/research/memory.md +0 -235
- package/docs/zh-CN/gateway/authentication.md +0 -142
- package/docs/zh-CN/gateway/background-process.md +0 -100
- package/docs/zh-CN/gateway/bonjour.md +0 -174
- package/docs/zh-CN/gateway/bridge-protocol.md +0 -86
- package/docs/zh-CN/gateway/cli-backends.md +0 -213
- package/docs/zh-CN/gateway/configuration-examples.md +0 -580
- package/docs/zh-CN/gateway/configuration.md +0 -3284
- package/docs/zh-CN/gateway/discovery.md +0 -123
- package/docs/zh-CN/gateway/doctor.md +0 -238
- package/docs/zh-CN/gateway/gateway-lock.md +0 -41
- package/docs/zh-CN/gateway/health.md +0 -42
- package/docs/zh-CN/gateway/heartbeat.md +0 -272
- package/docs/zh-CN/gateway/index.md +0 -335
- package/docs/zh-CN/gateway/local-models.md +0 -157
- package/docs/zh-CN/gateway/logging.md +0 -114
- package/docs/zh-CN/gateway/multiple-gateways.md +0 -119
- package/docs/zh-CN/gateway/network-model.md +0 -23
- package/docs/zh-CN/gateway/openai-http-api.md +0 -125
- package/docs/zh-CN/gateway/openresponses-http-api.md +0 -317
- package/docs/zh-CN/gateway/pairing.md +0 -99
- package/docs/zh-CN/gateway/protocol.md +0 -220
- package/docs/zh-CN/gateway/remote-gateway-readme.md +0 -164
- package/docs/zh-CN/gateway/remote.md +0 -133
- package/docs/zh-CN/gateway/sandbox-vs-tool-policy-vs-elevated.md +0 -135
- package/docs/zh-CN/gateway/sandboxing.md +0 -188
- package/docs/zh-CN/gateway/security/index.md +0 -772
- package/docs/zh-CN/gateway/tailscale.md +0 -124
- package/docs/zh-CN/gateway/tools-invoke-http-api.md +0 -92
- package/docs/zh-CN/gateway/troubleshooting.md +0 -758
- package/docs/zh-CN/help/debugging.md +0 -160
- package/docs/zh-CN/help/environment.md +0 -88
- package/docs/zh-CN/help/faq.md +0 -2613
- package/docs/zh-CN/help/index.md +0 -28
- package/docs/zh-CN/help/scripts.md +0 -35
- package/docs/zh-CN/help/testing.md +0 -375
- package/docs/zh-CN/help/troubleshooting.md +0 -104
- package/docs/zh-CN/index.md +0 -183
- package/docs/zh-CN/install/ansible.md +0 -214
- package/docs/zh-CN/install/bun.md +0 -65
- package/docs/zh-CN/install/development-channels.md +0 -81
- package/docs/zh-CN/install/docker.md +0 -525
- package/docs/zh-CN/install/exe-dev.md +0 -127
- package/docs/zh-CN/install/fly.md +0 -476
- package/docs/zh-CN/install/gcp.md +0 -509
- package/docs/zh-CN/install/hetzner.md +0 -336
- package/docs/zh-CN/install/index.md +0 -193
- package/docs/zh-CN/install/installer.md +0 -128
- package/docs/zh-CN/install/macos-vm.md +0 -288
- package/docs/zh-CN/install/migrating.md +0 -199
- package/docs/zh-CN/install/nix.md +0 -99
- package/docs/zh-CN/install/node.md +0 -8
- package/docs/zh-CN/install/northflank.mdx +0 -56
- package/docs/zh-CN/install/railway.mdx +0 -102
- package/docs/zh-CN/install/render.mdx +0 -168
- package/docs/zh-CN/install/uninstall.md +0 -135
- package/docs/zh-CN/install/updating.md +0 -233
- package/docs/zh-CN/logging.md +0 -329
- package/docs/zh-CN/network.md +0 -59
- package/docs/zh-CN/nodes/audio.md +0 -120
- package/docs/zh-CN/nodes/camera.md +0 -162
- package/docs/zh-CN/nodes/images.md +0 -79
- package/docs/zh-CN/nodes/index.md +0 -348
- package/docs/zh-CN/nodes/location-command.md +0 -120
- package/docs/zh-CN/nodes/media-understanding.md +0 -380
- package/docs/zh-CN/nodes/talk.md +0 -97
- package/docs/zh-CN/nodes/troubleshooting.md +0 -8
- package/docs/zh-CN/nodes/voicewake.md +0 -72
- package/docs/zh-CN/perplexity.md +0 -84
- package/docs/zh-CN/pi-dev.md +0 -77
- package/docs/zh-CN/pi.md +0 -617
- package/docs/zh-CN/platforms/android.md +0 -155
- package/docs/zh-CN/platforms/digitalocean.md +0 -268
- package/docs/zh-CN/platforms/index.md +0 -60
- package/docs/zh-CN/platforms/ios.md +0 -114
- package/docs/zh-CN/platforms/linux.md +0 -101
- package/docs/zh-CN/platforms/mac/bundled-gateway.md +0 -75
- package/docs/zh-CN/platforms/mac/canvas.md +0 -128
- package/docs/zh-CN/platforms/mac/child-process.md +0 -73
- package/docs/zh-CN/platforms/mac/dev-setup.md +0 -109
- package/docs/zh-CN/platforms/mac/health.md +0 -41
- package/docs/zh-CN/platforms/mac/icon.md +0 -38
- package/docs/zh-CN/platforms/mac/logging.md +0 -64
- package/docs/zh-CN/platforms/mac/menu-bar.md +0 -88
- package/docs/zh-CN/platforms/mac/peekaboo.md +0 -62
- package/docs/zh-CN/platforms/mac/permissions.md +0 -46
- package/docs/zh-CN/platforms/mac/release.md +0 -92
- package/docs/zh-CN/platforms/mac/remote.md +0 -90
- package/docs/zh-CN/platforms/mac/signing.md +0 -54
- package/docs/zh-CN/platforms/mac/skills.md +0 -40
- package/docs/zh-CN/platforms/mac/voice-overlay.md +0 -67
- package/docs/zh-CN/platforms/mac/voicewake.md +0 -73
- package/docs/zh-CN/platforms/mac/webchat.md +0 -43
- package/docs/zh-CN/platforms/mac/xpc.md +0 -68
- package/docs/zh-CN/platforms/macos.md +0 -193
- package/docs/zh-CN/platforms/oracle.md +0 -310
- package/docs/zh-CN/platforms/raspberry-pi.md +0 -365
- package/docs/zh-CN/platforms/windows.md +0 -156
- package/docs/zh-CN/plugins/agent-tools.md +0 -99
- package/docs/zh-CN/plugins/manifest.md +0 -68
- package/docs/zh-CN/plugins/voice-call.md +0 -250
- package/docs/zh-CN/plugins/zalouser.md +0 -88
- package/docs/zh-CN/prose.md +0 -141
- package/docs/zh-CN/providers/anthropic.md +0 -159
- package/docs/zh-CN/providers/bedrock.md +0 -170
- package/docs/zh-CN/providers/claude-max-api-proxy.md +0 -155
- package/docs/zh-CN/providers/deepgram.md +0 -97
- package/docs/zh-CN/providers/github-copilot.md +0 -67
- package/docs/zh-CN/providers/glm.md +0 -39
- package/docs/zh-CN/providers/index.md +0 -66
- package/docs/zh-CN/providers/minimax.md +0 -206
- package/docs/zh-CN/providers/models.md +0 -55
- package/docs/zh-CN/providers/moonshot.md +0 -145
- package/docs/zh-CN/providers/ollama.md +0 -230
- package/docs/zh-CN/providers/openai.md +0 -68
- package/docs/zh-CN/providers/opencode.md +0 -41
- package/docs/zh-CN/providers/openrouter.md +0 -43
- package/docs/zh-CN/providers/qianfan.md +0 -8
- package/docs/zh-CN/providers/qwen.md +0 -55
- package/docs/zh-CN/providers/synthetic.md +0 -102
- package/docs/zh-CN/providers/venice.md +0 -274
- package/docs/zh-CN/providers/vercel-ai-gateway.md +0 -57
- package/docs/zh-CN/providers/xiaomi.md +0 -68
- package/docs/zh-CN/providers/zai.md +0 -41
- package/docs/zh-CN/refactor/exec-host.md +0 -323
- package/docs/zh-CN/refactor/outbound-session-mirroring.md +0 -90
- package/docs/zh-CN/refactor/plugin-sdk.md +0 -221
- package/docs/zh-CN/refactor/strict-config.md +0 -100
- package/docs/zh-CN/refactor/syminet.md +0 -424
- package/docs/zh-CN/reference/AGENTS.default.md +0 -130
- package/docs/zh-CN/reference/RELEASING.md +0 -122
- package/docs/zh-CN/reference/api-usage-costs.md +0 -136
- package/docs/zh-CN/reference/credits.md +0 -34
- package/docs/zh-CN/reference/device-models.md +0 -54
- package/docs/zh-CN/reference/rpc.md +0 -48
- package/docs/zh-CN/reference/session-management-compaction.md +0 -286
- package/docs/zh-CN/reference/templates/AGENTS.dev.md +0 -89
- package/docs/zh-CN/reference/templates/AGENTS.md +0 -234
- package/docs/zh-CN/reference/templates/BOOT.md +0 -17
- package/docs/zh-CN/reference/templates/BOOTSTRAP.md +0 -68
- package/docs/zh-CN/reference/templates/IDENTITY.dev.md +0 -54
- package/docs/zh-CN/reference/templates/IDENTITY.md +0 -36
- package/docs/zh-CN/reference/templates/SYMICORE.dev.md +0 -83
- package/docs/zh-CN/reference/templates/SYMICORE.md +0 -49
- package/docs/zh-CN/reference/templates/SYMIPULSE.md +0 -69
- package/docs/zh-CN/reference/templates/TOOLS.dev.md +0 -31
- package/docs/zh-CN/reference/templates/TOOLS.md +0 -53
- package/docs/zh-CN/reference/templates/USER.dev.md +0 -25
- package/docs/zh-CN/reference/templates/USER.md +0 -30
- package/docs/zh-CN/reference/test.md +0 -57
- package/docs/zh-CN/reference/token-use.md +0 -119
- package/docs/zh-CN/reference/transcript-hygiene.md +0 -109
- package/docs/zh-CN/reference/wizard.md +0 -9
- package/docs/zh-CN/security/formal-verification.md +0 -171
- package/docs/zh-CN/start/bootstrapping.md +0 -9
- package/docs/zh-CN/start/docs-directory.md +0 -69
- package/docs/zh-CN/start/getting-started.md +0 -201
- package/docs/zh-CN/start/hubs.md +0 -199
- package/docs/zh-CN/start/lore.md +0 -223
- package/docs/zh-CN/start/onboarding.md +0 -105
- package/docs/zh-CN/start/quickstart.md +0 -88
- package/docs/zh-CN/start/setup.md +0 -151
- package/docs/zh-CN/start/showcase.md +0 -421
- package/docs/zh-CN/start/symi.md +0 -244
- package/docs/zh-CN/start/wizard.md +0 -326
- package/docs/zh-CN/tools/agent-send.md +0 -58
- package/docs/zh-CN/tools/apply-patch.md +0 -57
- package/docs/zh-CN/tools/browser-linux-troubleshooting.md +0 -144
- package/docs/zh-CN/tools/browser-login.md +0 -75
- package/docs/zh-CN/tools/browser.md +0 -553
- package/docs/zh-CN/tools/chrome-extension.md +0 -183
- package/docs/zh-CN/tools/creating-skills.md +0 -61
- package/docs/zh-CN/tools/elevated.md +0 -62
- package/docs/zh-CN/tools/exec-approvals.md +0 -233
- package/docs/zh-CN/tools/exec.md +0 -169
- package/docs/zh-CN/tools/firecrawl.md +0 -68
- package/docs/zh-CN/tools/index.md +0 -508
- package/docs/zh-CN/tools/llm-task.md +0 -117
- package/docs/zh-CN/tools/multi-agent-sandbox-tools.md +0 -400
- package/docs/zh-CN/tools/pipeline.md +0 -349
- package/docs/zh-CN/tools/plugin.md +0 -639
- package/docs/zh-CN/tools/reactions.md +0 -28
- package/docs/zh-CN/tools/skills-config.md +0 -78
- package/docs/zh-CN/tools/skills.md +0 -279
- package/docs/zh-CN/tools/slash-commands.md +0 -196
- package/docs/zh-CN/tools/subagents.md +0 -167
- package/docs/zh-CN/tools/symihub.md +0 -209
- package/docs/zh-CN/tools/thinking.md +0 -80
- package/docs/zh-CN/tools/web.md +0 -257
- package/docs/zh-CN/tts.md +0 -373
- package/docs/zh-CN/vps.md +0 -47
- package/docs/zh-CN/web/control-ui.md +0 -190
- package/docs/zh-CN/web/dashboard.md +0 -53
- package/docs/zh-CN/web/index.md +0 -118
- package/docs/zh-CN/web/tui.md +0 -166
- package/docs/zh-CN/web/webchat.md +0 -56
- package/extensions/imessage/index.ts +0 -17
- package/extensions/imessage/node_modules/.bin/symi +0 -21
- package/extensions/imessage/package.json +0 -15
- package/extensions/imessage/src/channel.outbound.test.ts +0 -66
- package/extensions/imessage/src/channel.ts +0 -298
- package/extensions/imessage/src/runtime.ts +0 -14
- package/extensions/imessage/symi.plugin.json +0 -9
- package/extensions/line/index.ts +0 -19
- package/extensions/line/node_modules/.bin/symi +0 -21
- package/extensions/line/package.json +0 -30
- package/extensions/line/src/card-command.ts +0 -344
- package/extensions/line/src/channel.logout.test.ts +0 -133
- package/extensions/line/src/channel.sendPayload.test.ts +0 -312
- package/extensions/line/src/channel.startup.test.ts +0 -133
- package/extensions/line/src/channel.ts +0 -801
- package/extensions/line/src/runtime.ts +0 -14
- package/extensions/line/symi.plugin.json +0 -9
- package/extensions/signal/index.ts +0 -17
- package/extensions/signal/node_modules/.bin/symi +0 -21
- package/extensions/signal/package.json +0 -15
- package/extensions/signal/src/channel.ts +0 -302
- package/extensions/signal/src/runtime.ts +0 -14
- package/extensions/signal/symi.plugin.json +0 -9
- package/extensions/telegram/index.ts +0 -17
- package/extensions/telegram/node_modules/.bin/symi +0 -21
- package/extensions/telegram/package.json +0 -15
- package/extensions/telegram/src/channel.test.ts +0 -125
- package/extensions/telegram/src/channel.ts +0 -560
- package/extensions/telegram/src/runtime.ts +0 -14
- package/extensions/telegram/symi.plugin.json +0 -9
- package/extensions/whatsapp/index.ts +0 -17
- package/extensions/whatsapp/node_modules/.bin/symi +0 -21
- package/extensions/whatsapp/package.json +0 -15
- package/extensions/whatsapp/src/channel.ts +0 -465
- package/extensions/whatsapp/src/resolve-target.test.ts +0 -170
- package/extensions/whatsapp/src/runtime.ts +0 -14
- package/extensions/whatsapp/symi.plugin.json +0 -9
|
@@ -1,405 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
summary: "How the installer scripts work (install.sh, install-cli.sh, install.ps1), flags, and automation"
|
|
3
|
-
read_when:
|
|
4
|
-
- You want to understand `jaysteelmind.github.io/getsymi/install.sh`
|
|
5
|
-
- You want to automate installs (CI / headless)
|
|
6
|
-
- You want to install from a GitHub checkout
|
|
7
|
-
title: "Installer Internals"
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Installer internals
|
|
11
|
-
|
|
12
|
-
Symi ships three installer scripts, hosted at `jaysteelmind.github.io/getsymi`.
|
|
13
|
-
|
|
14
|
-
| Script | Platform | What it does |
|
|
15
|
-
| ---------------------------------- | -------------------- | ---------------------------------------------------------------------------------------- |
|
|
16
|
-
| [`install.sh`](#installsh) | macOS / Linux / WSL | Installs Node if needed, installs Symi via npm (default) or git, and can run onboarding. |
|
|
17
|
-
| [`install-cli.sh`](#install-clish) | macOS / Linux / WSL | Installs Node + Symi into a local prefix (`~/.symi`). No root required. |
|
|
18
|
-
| [`install.ps1`](#installps1) | Windows (PowerShell) | Installs Node if needed, installs Symi via npm (default) or git, and can run onboarding. |
|
|
19
|
-
|
|
20
|
-
## Quick commands
|
|
21
|
-
|
|
22
|
-
<Tabs>
|
|
23
|
-
<Tab title="install.sh">
|
|
24
|
-
```bash
|
|
25
|
-
curl -fsSL --proto '=https' --tlsv1.2 https://jaysteelmind.github.io/getsymi/install.sh | bash
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
```bash
|
|
29
|
-
curl -fsSL --proto '=https' --tlsv1.2 https://jaysteelmind.github.io/getsymi/install.sh | bash -s -- --help
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
</Tab>
|
|
33
|
-
<Tab title="install-cli.sh">
|
|
34
|
-
```bash
|
|
35
|
-
curl -fsSL --proto '=https' --tlsv1.2 https://jaysteelmind.github.io/getsymi/install-cli.sh | bash
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
```bash
|
|
39
|
-
curl -fsSL --proto '=https' --tlsv1.2 https://jaysteelmind.github.io/getsymi/install-cli.sh | bash -s -- --help
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
</Tab>
|
|
43
|
-
<Tab title="install.ps1">
|
|
44
|
-
```powershell
|
|
45
|
-
iwr -useb https://jaysteelmind.github.io/getsymi/install.ps1 | iex
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
```powershell
|
|
49
|
-
& ([scriptblock]::Create((iwr -useb https://jaysteelmind.github.io/getsymi/install.ps1))) -Tag beta -NoOnboard -DryRun
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
</Tab>
|
|
53
|
-
</Tabs>
|
|
54
|
-
|
|
55
|
-
<Note>
|
|
56
|
-
If install succeeds but `symi` is not found in a new terminal, see [Node.js troubleshooting](/install/node#troubleshooting).
|
|
57
|
-
</Note>
|
|
58
|
-
|
|
59
|
-
---
|
|
60
|
-
|
|
61
|
-
## install.sh
|
|
62
|
-
|
|
63
|
-
<Tip>
|
|
64
|
-
Recommended for most interactive installs on macOS/Linux/WSL.
|
|
65
|
-
</Tip>
|
|
66
|
-
|
|
67
|
-
### Flow (install.sh)
|
|
68
|
-
|
|
69
|
-
<Steps>
|
|
70
|
-
<Step title="Detect OS">
|
|
71
|
-
Supports macOS and Linux (including WSL). If macOS is detected, installs Homebrew if missing.
|
|
72
|
-
</Step>
|
|
73
|
-
<Step title="Ensure Node.js 22+">
|
|
74
|
-
Checks Node version and installs Node 22 if needed (Homebrew on macOS, NodeSource setup scripts on Linux apt/dnf/yum).
|
|
75
|
-
</Step>
|
|
76
|
-
<Step title="Ensure Git">
|
|
77
|
-
Installs Git if missing.
|
|
78
|
-
</Step>
|
|
79
|
-
<Step title="Install Symi">
|
|
80
|
-
- `npm` method (default): global npm install
|
|
81
|
-
- `git` method: clone/update repo, install deps with pnpm, build, then install wrapper at `~/.local/bin/symi`
|
|
82
|
-
</Step>
|
|
83
|
-
<Step title="Post-install tasks">
|
|
84
|
-
- Runs `symi doctor --non-interactive` on upgrades and git installs (best effort)
|
|
85
|
-
- Attempts onboarding when appropriate (TTY available, onboarding not disabled, and bootstrap/config checks pass)
|
|
86
|
-
- Defaults `SHARP_IGNORE_GLOBAL_LIBVIPS=1`
|
|
87
|
-
</Step>
|
|
88
|
-
</Steps>
|
|
89
|
-
|
|
90
|
-
### Source checkout detection
|
|
91
|
-
|
|
92
|
-
If run inside an Symi checkout (`package.json` + `pnpm-workspace.yaml`), the script offers:
|
|
93
|
-
|
|
94
|
-
- use checkout (`git`), or
|
|
95
|
-
- use global install (`npm`)
|
|
96
|
-
|
|
97
|
-
If no TTY is available and no install method is set, it defaults to `npm` and warns.
|
|
98
|
-
|
|
99
|
-
The script exits with code `2` for invalid method selection or invalid `--install-method` values.
|
|
100
|
-
|
|
101
|
-
### Examples (install.sh)
|
|
102
|
-
|
|
103
|
-
<Tabs>
|
|
104
|
-
<Tab title="Default">
|
|
105
|
-
```bash
|
|
106
|
-
curl -fsSL --proto '=https' --tlsv1.2 https://jaysteelmind.github.io/getsymi/install.sh | bash
|
|
107
|
-
```
|
|
108
|
-
</Tab>
|
|
109
|
-
<Tab title="Skip onboarding">
|
|
110
|
-
```bash
|
|
111
|
-
curl -fsSL --proto '=https' --tlsv1.2 https://jaysteelmind.github.io/getsymi/install.sh | bash -s -- --no-onboard
|
|
112
|
-
```
|
|
113
|
-
</Tab>
|
|
114
|
-
<Tab title="Git install">
|
|
115
|
-
```bash
|
|
116
|
-
curl -fsSL --proto '=https' --tlsv1.2 https://jaysteelmind.github.io/getsymi/install.sh | bash -s -- --install-method git
|
|
117
|
-
```
|
|
118
|
-
</Tab>
|
|
119
|
-
<Tab title="Dry run">
|
|
120
|
-
```bash
|
|
121
|
-
curl -fsSL --proto '=https' --tlsv1.2 https://jaysteelmind.github.io/getsymi/install.sh | bash -s -- --dry-run
|
|
122
|
-
```
|
|
123
|
-
</Tab>
|
|
124
|
-
</Tabs>
|
|
125
|
-
|
|
126
|
-
<AccordionGroup>
|
|
127
|
-
<Accordion title="Flags reference">
|
|
128
|
-
|
|
129
|
-
| Flag | Description |
|
|
130
|
-
| ------------------------------- | --------------------------------------------------------- |
|
|
131
|
-
| `--install-method npm\|git` | Choose install method (default: `npm`). Alias: `--method` |
|
|
132
|
-
| `--npm` | Shortcut for npm method |
|
|
133
|
-
| `--git` | Shortcut for git method. Alias: `--github` |
|
|
134
|
-
| `--version <version\|dist-tag>` | npm version or dist-tag (default: `latest`) |
|
|
135
|
-
| `--beta` | Use beta dist-tag if available, else fallback to `latest` |
|
|
136
|
-
| `--git-dir <path>` | Checkout directory (default: `~/symi`). Alias: `--dir` |
|
|
137
|
-
| `--no-git-update` | Skip `git pull` for existing checkout |
|
|
138
|
-
| `--no-prompt` | Disable prompts |
|
|
139
|
-
| `--no-onboard` | Skip onboarding |
|
|
140
|
-
| `--onboard` | Enable onboarding |
|
|
141
|
-
| `--dry-run` | Print actions without applying changes |
|
|
142
|
-
| `--verbose` | Enable debug output (`set -x`, npm notice-level logs) |
|
|
143
|
-
| `--help` | Show usage (`-h`) |
|
|
144
|
-
|
|
145
|
-
</Accordion>
|
|
146
|
-
|
|
147
|
-
<Accordion title="Environment variables reference">
|
|
148
|
-
|
|
149
|
-
| Variable | Description |
|
|
150
|
-
| --------------------------------------- | --------------------------------------------- |
|
|
151
|
-
| `SYMI_INSTALL_METHOD=git\|npm` | Install method |
|
|
152
|
-
| `SYMI_VERSION=latest\|next\|<semver>` | npm version or dist-tag |
|
|
153
|
-
| `SYMI_BETA=0\|1` | Use beta if available |
|
|
154
|
-
| `SYMI_GIT_DIR=<path>` | Checkout directory |
|
|
155
|
-
| `SYMI_GIT_UPDATE=0\|1` | Toggle git updates |
|
|
156
|
-
| `SYMI_NO_PROMPT=1` | Disable prompts |
|
|
157
|
-
| `SYMI_NO_ONBOARD=1` | Skip onboarding |
|
|
158
|
-
| `SYMI_DRY_RUN=1` | Dry run mode |
|
|
159
|
-
| `SYMI_VERBOSE=1` | Debug mode |
|
|
160
|
-
| `SYMI_NPM_LOGLEVEL=error\|warn\|notice` | npm log level |
|
|
161
|
-
| `SHARP_IGNORE_GLOBAL_LIBVIPS=0\|1` | Control sharp/libvips behavior (default: `1`) |
|
|
162
|
-
|
|
163
|
-
</Accordion>
|
|
164
|
-
</AccordionGroup>
|
|
165
|
-
|
|
166
|
-
---
|
|
167
|
-
|
|
168
|
-
## install-cli.sh
|
|
169
|
-
|
|
170
|
-
<Info>
|
|
171
|
-
Designed for environments where you want everything under a local prefix (default `~/.symi`) and no system Node dependency.
|
|
172
|
-
</Info>
|
|
173
|
-
|
|
174
|
-
### Flow (install-cli.sh)
|
|
175
|
-
|
|
176
|
-
<Steps>
|
|
177
|
-
<Step title="Install local Node runtime">
|
|
178
|
-
Downloads Node tarball (default `22.22.0`) to `<prefix>/tools/node-v<version>` and verifies SHA-256.
|
|
179
|
-
</Step>
|
|
180
|
-
<Step title="Ensure Git">
|
|
181
|
-
If Git is missing, attempts install via apt/dnf/yum on Linux or Homebrew on macOS.
|
|
182
|
-
</Step>
|
|
183
|
-
<Step title="Install Symi under prefix">
|
|
184
|
-
Installs with npm using `--prefix <prefix>`, then writes wrapper to `<prefix>/bin/symi`.
|
|
185
|
-
</Step>
|
|
186
|
-
</Steps>
|
|
187
|
-
|
|
188
|
-
### Examples (install-cli.sh)
|
|
189
|
-
|
|
190
|
-
<Tabs>
|
|
191
|
-
<Tab title="Default">
|
|
192
|
-
```bash
|
|
193
|
-
curl -fsSL --proto '=https' --tlsv1.2 https://jaysteelmind.github.io/getsymi/install-cli.sh | bash
|
|
194
|
-
```
|
|
195
|
-
</Tab>
|
|
196
|
-
<Tab title="Custom prefix + version">
|
|
197
|
-
```bash
|
|
198
|
-
curl -fsSL --proto '=https' --tlsv1.2 https://jaysteelmind.github.io/getsymi/install-cli.sh | bash -s -- --prefix /opt/symi --version latest
|
|
199
|
-
```
|
|
200
|
-
</Tab>
|
|
201
|
-
<Tab title="Automation JSON output">
|
|
202
|
-
```bash
|
|
203
|
-
curl -fsSL --proto '=https' --tlsv1.2 https://jaysteelmind.github.io/getsymi/install-cli.sh | bash -s -- --json --prefix /opt/symi
|
|
204
|
-
```
|
|
205
|
-
</Tab>
|
|
206
|
-
<Tab title="Run onboarding">
|
|
207
|
-
```bash
|
|
208
|
-
curl -fsSL --proto '=https' --tlsv1.2 https://jaysteelmind.github.io/getsymi/install-cli.sh | bash -s -- --onboard
|
|
209
|
-
```
|
|
210
|
-
</Tab>
|
|
211
|
-
</Tabs>
|
|
212
|
-
|
|
213
|
-
<AccordionGroup>
|
|
214
|
-
<Accordion title="Flags reference">
|
|
215
|
-
|
|
216
|
-
| Flag | Description |
|
|
217
|
-
| ---------------------- | ------------------------------------------------------------------------------- |
|
|
218
|
-
| `--prefix <path>` | Install prefix (default: `~/.symi`) |
|
|
219
|
-
| `--version <ver>` | Symi version or dist-tag (default: `latest`) |
|
|
220
|
-
| `--node-version <ver>` | Node version (default: `22.22.0`) |
|
|
221
|
-
| `--json` | Emit NDJSON events |
|
|
222
|
-
| `--onboard` | Run `symi onboard` after install |
|
|
223
|
-
| `--no-onboard` | Skip onboarding (default) |
|
|
224
|
-
| `--set-npm-prefix` | On Linux, force npm prefix to `~/.npm-global` if current prefix is not writable |
|
|
225
|
-
| `--help` | Show usage (`-h`) |
|
|
226
|
-
|
|
227
|
-
</Accordion>
|
|
228
|
-
|
|
229
|
-
<Accordion title="Environment variables reference">
|
|
230
|
-
|
|
231
|
-
| Variable | Description |
|
|
232
|
-
| --------------------------------------- | --------------------------------------------------------------------------------- |
|
|
233
|
-
| `SYMI_PREFIX=<path>` | Install prefix |
|
|
234
|
-
| `SYMI_VERSION=<ver>` | Symi version or dist-tag |
|
|
235
|
-
| `SYMI_NODE_VERSION=<ver>` | Node version |
|
|
236
|
-
| `SYMI_NO_ONBOARD=1` | Skip onboarding |
|
|
237
|
-
| `SYMI_NPM_LOGLEVEL=error\|warn\|notice` | npm log level |
|
|
238
|
-
| `SYMI_GIT_DIR=<path>` | Legacy cleanup lookup path (used when removing old `Peekaboo` submodule checkout) |
|
|
239
|
-
| `SHARP_IGNORE_GLOBAL_LIBVIPS=0\|1` | Control sharp/libvips behavior (default: `1`) |
|
|
240
|
-
|
|
241
|
-
</Accordion>
|
|
242
|
-
</AccordionGroup>
|
|
243
|
-
|
|
244
|
-
---
|
|
245
|
-
|
|
246
|
-
## install.ps1
|
|
247
|
-
|
|
248
|
-
### Flow (install.ps1)
|
|
249
|
-
|
|
250
|
-
<Steps>
|
|
251
|
-
<Step title="Ensure PowerShell + Windows environment">
|
|
252
|
-
Requires PowerShell 5+.
|
|
253
|
-
</Step>
|
|
254
|
-
<Step title="Ensure Node.js 22+">
|
|
255
|
-
If missing, attempts install via winget, then Chocolatey, then Scoop.
|
|
256
|
-
</Step>
|
|
257
|
-
<Step title="Install Symi">
|
|
258
|
-
- `npm` method (default): global npm install using selected `-Tag`
|
|
259
|
-
- `git` method: clone/update repo, install/build with pnpm, and install wrapper at `%USERPROFILE%\.local\bin\symi.cmd`
|
|
260
|
-
</Step>
|
|
261
|
-
<Step title="Post-install tasks">
|
|
262
|
-
Adds needed bin directory to user PATH when possible, then runs `symi doctor --non-interactive` on upgrades and git installs (best effort).
|
|
263
|
-
</Step>
|
|
264
|
-
</Steps>
|
|
265
|
-
|
|
266
|
-
### Examples (install.ps1)
|
|
267
|
-
|
|
268
|
-
<Tabs>
|
|
269
|
-
<Tab title="Default">
|
|
270
|
-
```powershell
|
|
271
|
-
iwr -useb https://jaysteelmind.github.io/getsymi/install.ps1 | iex
|
|
272
|
-
```
|
|
273
|
-
</Tab>
|
|
274
|
-
<Tab title="Git install">
|
|
275
|
-
```powershell
|
|
276
|
-
& ([scriptblock]::Create((iwr -useb https://jaysteelmind.github.io/getsymi/install.ps1))) -InstallMethod git
|
|
277
|
-
```
|
|
278
|
-
</Tab>
|
|
279
|
-
<Tab title="Custom git directory">
|
|
280
|
-
```powershell
|
|
281
|
-
& ([scriptblock]::Create((iwr -useb https://jaysteelmind.github.io/getsymi/install.ps1))) -InstallMethod git -GitDir "C:\symi"
|
|
282
|
-
```
|
|
283
|
-
</Tab>
|
|
284
|
-
<Tab title="Dry run">
|
|
285
|
-
```powershell
|
|
286
|
-
& ([scriptblock]::Create((iwr -useb https://jaysteelmind.github.io/getsymi/install.ps1))) -DryRun
|
|
287
|
-
```
|
|
288
|
-
</Tab>
|
|
289
|
-
<Tab title="Debug trace">
|
|
290
|
-
```powershell
|
|
291
|
-
# install.ps1 has no dedicated -Verbose flag yet.
|
|
292
|
-
Set-PSDebug -Trace 1
|
|
293
|
-
& ([scriptblock]::Create((iwr -useb https://jaysteelmind.github.io/getsymi/install.ps1))) -NoOnboard
|
|
294
|
-
Set-PSDebug -Trace 0
|
|
295
|
-
```
|
|
296
|
-
</Tab>
|
|
297
|
-
</Tabs>
|
|
298
|
-
|
|
299
|
-
<AccordionGroup>
|
|
300
|
-
<Accordion title="Flags reference">
|
|
301
|
-
|
|
302
|
-
| Flag | Description |
|
|
303
|
-
| ------------------------- | -------------------------------------------------- |
|
|
304
|
-
| `-InstallMethod npm\|git` | Install method (default: `npm`) |
|
|
305
|
-
| `-Tag <tag>` | npm dist-tag (default: `latest`) |
|
|
306
|
-
| `-GitDir <path>` | Checkout directory (default: `%USERPROFILE%\symi`) |
|
|
307
|
-
| `-NoOnboard` | Skip onboarding |
|
|
308
|
-
| `-NoGitUpdate` | Skip `git pull` |
|
|
309
|
-
| `-DryRun` | Print actions only |
|
|
310
|
-
|
|
311
|
-
</Accordion>
|
|
312
|
-
|
|
313
|
-
<Accordion title="Environment variables reference">
|
|
314
|
-
|
|
315
|
-
| Variable | Description |
|
|
316
|
-
| ------------------------------ | ------------------ |
|
|
317
|
-
| `SYMI_INSTALL_METHOD=git\|npm` | Install method |
|
|
318
|
-
| `SYMI_GIT_DIR=<path>` | Checkout directory |
|
|
319
|
-
| `SYMI_NO_ONBOARD=1` | Skip onboarding |
|
|
320
|
-
| `SYMI_GIT_UPDATE=0` | Disable git pull |
|
|
321
|
-
| `SYMI_DRY_RUN=1` | Dry run mode |
|
|
322
|
-
|
|
323
|
-
</Accordion>
|
|
324
|
-
</AccordionGroup>
|
|
325
|
-
|
|
326
|
-
<Note>
|
|
327
|
-
If `-InstallMethod git` is used and Git is missing, the script exits and prints the Git for Windows link.
|
|
328
|
-
</Note>
|
|
329
|
-
|
|
330
|
-
---
|
|
331
|
-
|
|
332
|
-
## CI and automation
|
|
333
|
-
|
|
334
|
-
Use non-interactive flags/env vars for predictable runs.
|
|
335
|
-
|
|
336
|
-
<Tabs>
|
|
337
|
-
<Tab title="install.sh (non-interactive npm)">
|
|
338
|
-
```bash
|
|
339
|
-
curl -fsSL --proto '=https' --tlsv1.2 https://jaysteelmind.github.io/getsymi/install.sh | bash -s -- --no-prompt --no-onboard
|
|
340
|
-
```
|
|
341
|
-
</Tab>
|
|
342
|
-
<Tab title="install.sh (non-interactive git)">
|
|
343
|
-
```bash
|
|
344
|
-
SYMI_INSTALL_METHOD=git SYMI_NO_PROMPT=1 \
|
|
345
|
-
curl -fsSL --proto '=https' --tlsv1.2 https://jaysteelmind.github.io/getsymi/install.sh | bash
|
|
346
|
-
```
|
|
347
|
-
</Tab>
|
|
348
|
-
<Tab title="install-cli.sh (JSON)">
|
|
349
|
-
```bash
|
|
350
|
-
curl -fsSL --proto '=https' --tlsv1.2 https://jaysteelmind.github.io/getsymi/install-cli.sh | bash -s -- --json --prefix /opt/symi
|
|
351
|
-
```
|
|
352
|
-
</Tab>
|
|
353
|
-
<Tab title="install.ps1 (skip onboarding)">
|
|
354
|
-
```powershell
|
|
355
|
-
& ([scriptblock]::Create((iwr -useb https://jaysteelmind.github.io/getsymi/install.ps1))) -NoOnboard
|
|
356
|
-
```
|
|
357
|
-
</Tab>
|
|
358
|
-
</Tabs>
|
|
359
|
-
|
|
360
|
-
---
|
|
361
|
-
|
|
362
|
-
## Troubleshooting
|
|
363
|
-
|
|
364
|
-
<AccordionGroup>
|
|
365
|
-
<Accordion title="Why is Git required?">
|
|
366
|
-
Git is required for `git` install method. For `npm` installs, Git is still checked/installed to avoid `spawn git ENOENT` failures when dependencies use git URLs.
|
|
367
|
-
</Accordion>
|
|
368
|
-
|
|
369
|
-
<Accordion title="Why does npm hit EACCES on Linux?">
|
|
370
|
-
Some Linux setups point npm global prefix to root-owned paths. `install.sh` can switch prefix to `~/.npm-global` and append PATH exports to shell rc files (when those files exist).
|
|
371
|
-
</Accordion>
|
|
372
|
-
|
|
373
|
-
<Accordion title="sharp/libvips issues">
|
|
374
|
-
The scripts default `SHARP_IGNORE_GLOBAL_LIBVIPS=1` to avoid sharp building against system libvips. To override:
|
|
375
|
-
|
|
376
|
-
```bash
|
|
377
|
-
SHARP_IGNORE_GLOBAL_LIBVIPS=0 curl -fsSL --proto '=https' --tlsv1.2 https://jaysteelmind.github.io/getsymi/install.sh | bash
|
|
378
|
-
```
|
|
379
|
-
|
|
380
|
-
</Accordion>
|
|
381
|
-
|
|
382
|
-
<Accordion title='Windows: "npm error spawn git / ENOENT"'>
|
|
383
|
-
Install Git for Windows, reopen PowerShell, rerun installer.
|
|
384
|
-
</Accordion>
|
|
385
|
-
|
|
386
|
-
<Accordion title='Windows: "symi is not recognized"'>
|
|
387
|
-
Run `npm config get prefix`, append `\bin`, add that directory to user PATH, then reopen PowerShell.
|
|
388
|
-
</Accordion>
|
|
389
|
-
|
|
390
|
-
<Accordion title="Windows: how to get verbose installer output">
|
|
391
|
-
`install.ps1` does not currently expose a `-Verbose` switch.
|
|
392
|
-
Use PowerShell tracing for script-level diagnostics:
|
|
393
|
-
|
|
394
|
-
```powershell
|
|
395
|
-
Set-PSDebug -Trace 1
|
|
396
|
-
& ([scriptblock]::Create((iwr -useb https://jaysteelmind.github.io/getsymi/install.ps1))) -NoOnboard
|
|
397
|
-
Set-PSDebug -Trace 0
|
|
398
|
-
```
|
|
399
|
-
|
|
400
|
-
</Accordion>
|
|
401
|
-
|
|
402
|
-
<Accordion title="symi not found after install">
|
|
403
|
-
Usually a PATH issue. See [Node.js troubleshooting](/install/node#troubleshooting).
|
|
404
|
-
</Accordion>
|
|
405
|
-
</AccordionGroup>
|
package/docs/install/macos-vm.md
DELETED
|
@@ -1,281 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
summary: "Run Symi in a sandboxed macOS VM (local or hosted) when you need isolation or iMessage"
|
|
3
|
-
read_when:
|
|
4
|
-
- You want Symi isolated from your main macOS environment
|
|
5
|
-
- You want iMessage integration (BlueBubbles) in a sandbox
|
|
6
|
-
- You want a resettable macOS environment you can clone
|
|
7
|
-
- You want to compare local vs hosted macOS VM options
|
|
8
|
-
title: "macOS VMs"
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# Symi on macOS VMs (Sandboxing)
|
|
12
|
-
|
|
13
|
-
## Recommended default (most users)
|
|
14
|
-
|
|
15
|
-
- **Small Linux VPS** for an always-on Gateway and low cost. See [VPS hosting](/vps).
|
|
16
|
-
- **Dedicated hardware** (Mac mini or Linux box) if you want full control and a **residential IP** for browser automation. Many sites block data center IPs, so local browsing often works better.
|
|
17
|
-
- **Hybrid:** keep the Gateway on a cheap VPS, and connect your Mac as a **node** when you need browser/UI automation. See [Nodes](/nodes) and [Gateway remote](/gateway/remote).
|
|
18
|
-
|
|
19
|
-
Use a macOS VM when you specifically need macOS-only capabilities (iMessage/BlueBubbles) or want strict isolation from your daily Mac.
|
|
20
|
-
|
|
21
|
-
## macOS VM options
|
|
22
|
-
|
|
23
|
-
### Local VM on your Apple Silicon Mac (Lume)
|
|
24
|
-
|
|
25
|
-
Run Symi in a sandboxed macOS VM on your existing Apple Silicon Mac using [Lume](https://cua.ai/docs/lume).
|
|
26
|
-
|
|
27
|
-
This gives you:
|
|
28
|
-
|
|
29
|
-
- Full macOS environment in isolation (your host stays clean)
|
|
30
|
-
- iMessage support via BlueBubbles (impossible on Linux/Windows)
|
|
31
|
-
- Instant reset by cloning VMs
|
|
32
|
-
- No extra hardware or cloud costs
|
|
33
|
-
|
|
34
|
-
### Hosted Mac providers (cloud)
|
|
35
|
-
|
|
36
|
-
If you want macOS in the cloud, hosted Mac providers work too:
|
|
37
|
-
|
|
38
|
-
- [MacStadium](https://www.macstadium.com/) (hosted Macs)
|
|
39
|
-
- Other hosted Mac vendors also work; follow their VM + SSH docs
|
|
40
|
-
|
|
41
|
-
Once you have SSH access to a macOS VM, continue at step 6 below.
|
|
42
|
-
|
|
43
|
-
---
|
|
44
|
-
|
|
45
|
-
## Quick path (Lume, experienced users)
|
|
46
|
-
|
|
47
|
-
1. Install Lume
|
|
48
|
-
2. `lume create symi --os macos --ipsw latest`
|
|
49
|
-
3. Complete Setup Assistant, enable Remote Login (SSH)
|
|
50
|
-
4. `lume run symi --no-display`
|
|
51
|
-
5. SSH in, install Symi, configure channels
|
|
52
|
-
6. Done
|
|
53
|
-
|
|
54
|
-
---
|
|
55
|
-
|
|
56
|
-
## What you need (Lume)
|
|
57
|
-
|
|
58
|
-
- Apple Silicon Mac (M1/M2/M3/M4)
|
|
59
|
-
- macOS Sequoia or later on the host
|
|
60
|
-
- ~60 GB free disk space per VM
|
|
61
|
-
- ~20 minutes
|
|
62
|
-
|
|
63
|
-
---
|
|
64
|
-
|
|
65
|
-
## 1) Install Lume
|
|
66
|
-
|
|
67
|
-
```bash
|
|
68
|
-
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/trycua/cua/main/libs/lume/scripts/install.sh)"
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
If `~/.local/bin` isn't in your PATH:
|
|
72
|
-
|
|
73
|
-
```bash
|
|
74
|
-
echo 'export PATH="$PATH:$HOME/.local/bin"' >> ~/.zshrc && source ~/.zshrc
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
Verify:
|
|
78
|
-
|
|
79
|
-
```bash
|
|
80
|
-
lume --version
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
Docs: [Lume Installation](https://cua.ai/docs/lume/guide/getting-started/installation)
|
|
84
|
-
|
|
85
|
-
---
|
|
86
|
-
|
|
87
|
-
## 2) Create the macOS VM
|
|
88
|
-
|
|
89
|
-
```bash
|
|
90
|
-
lume create symi --os macos --ipsw latest
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
This downloads macOS and creates the VM. A VNC window opens automatically.
|
|
94
|
-
|
|
95
|
-
Note: The download can take a while depending on your connection.
|
|
96
|
-
|
|
97
|
-
---
|
|
98
|
-
|
|
99
|
-
## 3) Complete Setup Assistant
|
|
100
|
-
|
|
101
|
-
In the VNC window:
|
|
102
|
-
|
|
103
|
-
1. Select language and region
|
|
104
|
-
2. Skip Apple ID (or sign in if you want iMessage later)
|
|
105
|
-
3. Create a user account (remember the username and password)
|
|
106
|
-
4. Skip all optional features
|
|
107
|
-
|
|
108
|
-
After setup completes, enable SSH:
|
|
109
|
-
|
|
110
|
-
1. Open System Settings → General → Sharing
|
|
111
|
-
2. Enable "Remote Login"
|
|
112
|
-
|
|
113
|
-
---
|
|
114
|
-
|
|
115
|
-
## 4) Get the VM's IP address
|
|
116
|
-
|
|
117
|
-
```bash
|
|
118
|
-
lume get symi
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
Look for the IP address (usually `192.168.64.x`).
|
|
122
|
-
|
|
123
|
-
---
|
|
124
|
-
|
|
125
|
-
## 5) SSH into the VM
|
|
126
|
-
|
|
127
|
-
```bash
|
|
128
|
-
ssh youruser@192.168.64.X
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
Replace `youruser` with the account you created, and the IP with your VM's IP.
|
|
132
|
-
|
|
133
|
-
---
|
|
134
|
-
|
|
135
|
-
## 6) Install Symi
|
|
136
|
-
|
|
137
|
-
Inside the VM:
|
|
138
|
-
|
|
139
|
-
```bash
|
|
140
|
-
npm install -g @symerian/symi@latest
|
|
141
|
-
symi onboard --install-daemon
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
Follow the onboarding prompts to set up your model provider (Anthropic, OpenAI, etc.).
|
|
145
|
-
|
|
146
|
-
---
|
|
147
|
-
|
|
148
|
-
## 7) Configure channels
|
|
149
|
-
|
|
150
|
-
Edit the config file:
|
|
151
|
-
|
|
152
|
-
```bash
|
|
153
|
-
nano ~/.symi/symi.json
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
Add your channels:
|
|
157
|
-
|
|
158
|
-
```json
|
|
159
|
-
{
|
|
160
|
-
"channels": {
|
|
161
|
-
"whatsapp": {
|
|
162
|
-
"dmPolicy": "allowlist",
|
|
163
|
-
"allowFrom": ["+15551234567"]
|
|
164
|
-
},
|
|
165
|
-
"telegram": {
|
|
166
|
-
"botToken": "YOUR_BOT_TOKEN"
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
Then login to WhatsApp (scan QR):
|
|
173
|
-
|
|
174
|
-
```bash
|
|
175
|
-
symi channels login
|
|
176
|
-
```
|
|
177
|
-
|
|
178
|
-
---
|
|
179
|
-
|
|
180
|
-
## 8) Run the VM headlessly
|
|
181
|
-
|
|
182
|
-
Stop the VM and restart without display:
|
|
183
|
-
|
|
184
|
-
```bash
|
|
185
|
-
lume stop symi
|
|
186
|
-
lume run symi --no-display
|
|
187
|
-
```
|
|
188
|
-
|
|
189
|
-
The VM runs in the background. Symi's daemon keeps the gateway running.
|
|
190
|
-
|
|
191
|
-
To check status:
|
|
192
|
-
|
|
193
|
-
```bash
|
|
194
|
-
ssh youruser@192.168.64.X "symi status"
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
---
|
|
198
|
-
|
|
199
|
-
## Bonus: iMessage integration
|
|
200
|
-
|
|
201
|
-
This is the killer feature of running on macOS. Use [BlueBubbles](https://bluebubbles.app) to add iMessage to Symi.
|
|
202
|
-
|
|
203
|
-
Inside the VM:
|
|
204
|
-
|
|
205
|
-
1. Download BlueBubbles from bluebubbles.app
|
|
206
|
-
2. Sign in with your Apple ID
|
|
207
|
-
3. Enable the Web API and set a password
|
|
208
|
-
4. Point BlueBubbles webhooks at your gateway (example: `https://your-gateway-host:3000/bluebubbles-webhook?password=<password>`)
|
|
209
|
-
|
|
210
|
-
Add to your Symi config:
|
|
211
|
-
|
|
212
|
-
```json
|
|
213
|
-
{
|
|
214
|
-
"channels": {
|
|
215
|
-
"bluebubbles": {
|
|
216
|
-
"serverUrl": "http://localhost:1234",
|
|
217
|
-
"password": "your-api-password",
|
|
218
|
-
"webhookPath": "/bluebubbles-webhook"
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
```
|
|
223
|
-
|
|
224
|
-
Restart the gateway. Now your agent can send and receive iMessages.
|
|
225
|
-
|
|
226
|
-
Full setup details: [BlueBubbles channel](/channels/bluebubbles)
|
|
227
|
-
|
|
228
|
-
---
|
|
229
|
-
|
|
230
|
-
## Save a golden image
|
|
231
|
-
|
|
232
|
-
Before customizing further, snapshot your clean state:
|
|
233
|
-
|
|
234
|
-
```bash
|
|
235
|
-
lume stop symi
|
|
236
|
-
lume clone symi symi-golden
|
|
237
|
-
```
|
|
238
|
-
|
|
239
|
-
Reset anytime:
|
|
240
|
-
|
|
241
|
-
```bash
|
|
242
|
-
lume stop symi && lume delete symi
|
|
243
|
-
lume clone symi-golden symi
|
|
244
|
-
lume run symi --no-display
|
|
245
|
-
```
|
|
246
|
-
|
|
247
|
-
---
|
|
248
|
-
|
|
249
|
-
## Running 24/7
|
|
250
|
-
|
|
251
|
-
Keep the VM running by:
|
|
252
|
-
|
|
253
|
-
- Keeping your Mac plugged in
|
|
254
|
-
- Disabling sleep in System Settings → Energy Saver
|
|
255
|
-
- Using `caffeinate` if needed
|
|
256
|
-
|
|
257
|
-
For true always-on, consider a dedicated Mac mini or a small VPS. See [VPS hosting](/vps).
|
|
258
|
-
|
|
259
|
-
---
|
|
260
|
-
|
|
261
|
-
## Troubleshooting
|
|
262
|
-
|
|
263
|
-
| Problem | Solution |
|
|
264
|
-
| ------------------------ | ------------------------------------------------------------------------------ |
|
|
265
|
-
| Can't SSH into VM | Check "Remote Login" is enabled in VM's System Settings |
|
|
266
|
-
| VM IP not showing | Wait for VM to fully boot, run `lume get symi` again |
|
|
267
|
-
| Lume command not found | Add `~/.local/bin` to your PATH |
|
|
268
|
-
| WhatsApp QR not scanning | Ensure you're logged into the VM (not host) when running `symi channels login` |
|
|
269
|
-
|
|
270
|
-
---
|
|
271
|
-
|
|
272
|
-
## Related docs
|
|
273
|
-
|
|
274
|
-
- [VPS hosting](/vps)
|
|
275
|
-
- [Nodes](/nodes)
|
|
276
|
-
- [Gateway remote](/gateway/remote)
|
|
277
|
-
- [BlueBubbles channel](/channels/bluebubbles)
|
|
278
|
-
- [Lume Quickstart](https://cua.ai/docs/lume/guide/getting-started/quickstart)
|
|
279
|
-
- [Lume CLI Reference](https://cua.ai/docs/lume/reference/cli-reference)
|
|
280
|
-
- [Unattended VM Setup](https://cua.ai/docs/lume/guide/fundamentals/unattended-setup) (advanced)
|
|
281
|
-
- [Docker Sandboxing](/install/docker) (alternative isolation approach)
|