@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,190 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
read_when:
|
|
3
|
-
- 你想从浏览器操作 Gateway 网关
|
|
4
|
-
- 你想要无需 SSH 隧道的 Tailnet 访问
|
|
5
|
-
summary: Gateway 网关的浏览器控制 UI(聊天、节点、配置)
|
|
6
|
-
title: 控制 UI
|
|
7
|
-
x-i18n:
|
|
8
|
-
generated_at: "2026-02-03T10:13:20Z"
|
|
9
|
-
model: claude-opus-4-5
|
|
10
|
-
provider: pi
|
|
11
|
-
source_hash: bef105a376fc1a1df44e3e4fb625db1cbcafe2f41e718181c36877b8cbc08816
|
|
12
|
-
source_path: web/control-ui.md
|
|
13
|
-
workflow: 15
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
# 控制 UI(浏览器)
|
|
17
|
-
|
|
18
|
-
控制 UI 是一个由 Gateway 网关提供服务的小型 **Vite + Lit** 单页应用:
|
|
19
|
-
|
|
20
|
-
- 默认:`http://<host>:18789/`
|
|
21
|
-
- 可选前缀:设置 `gateway.controlUi.basePath`(例如 `/symi`)
|
|
22
|
-
|
|
23
|
-
它**直接与同一端口上的 Gateway 网关 WebSocket** 通信。
|
|
24
|
-
|
|
25
|
-
## 快速打开(本地)
|
|
26
|
-
|
|
27
|
-
如果 Gateway 网关在同一台计算机上运行,打开:
|
|
28
|
-
|
|
29
|
-
- http://127.0.0.1:18789/(或 http://localhost:18789/)
|
|
30
|
-
|
|
31
|
-
如果页面加载失败,请先启动 Gateway 网关:`symi gateway`。
|
|
32
|
-
|
|
33
|
-
认证在 WebSocket 握手期间通过以下方式提供:
|
|
34
|
-
|
|
35
|
-
- `connect.params.auth.token`
|
|
36
|
-
- `connect.params.auth.password`
|
|
37
|
-
仪表板设置面板允许你存储 token;密码不会被持久化。
|
|
38
|
-
新手引导向导默认生成一个 Gateway 网关 token,所以在首次连接时将其粘贴到这里。
|
|
39
|
-
|
|
40
|
-
## 设备配对(首次连接)
|
|
41
|
-
|
|
42
|
-
当你从新浏览器或设备连接到控制 UI 时,Gateway 网关需要**一次性配对批准** — 即使你在同一个 Tailnet 上且 `gateway.auth.allowTailscale: true`。这是防止未授权访问的安全措施。
|
|
43
|
-
|
|
44
|
-
**你会看到:** "disconnected (1008): pairing required"
|
|
45
|
-
|
|
46
|
-
**批准设备:**
|
|
47
|
-
|
|
48
|
-
```bash
|
|
49
|
-
# 列出待处理的请求
|
|
50
|
-
symi devices list
|
|
51
|
-
|
|
52
|
-
# 按请求 ID 批准
|
|
53
|
-
symi devices approve <requestId>
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
一旦批准,设备会被记住,除非你使用 `symi devices revoke --device <id> --role <role>` 撤销它,否则不需要重新批准。参见 [Devices CLI](/cli/devices) 了解 token 轮换和撤销。
|
|
57
|
-
|
|
58
|
-
**注意:**
|
|
59
|
-
|
|
60
|
-
- 本地连接(`127.0.0.1`)会自动批准。
|
|
61
|
-
- 远程连接(LAN、Tailnet 等)需要显式批准。
|
|
62
|
-
- 每个浏览器配置文件生成唯一的设备 ID,因此切换浏览器或清除浏览器数据将需要重新配对。
|
|
63
|
-
|
|
64
|
-
## 目前可以做什么
|
|
65
|
-
|
|
66
|
-
- 通过 Gateway 网关 WS 与模型聊天(`chat.history`、`chat.send`、`chat.abort`、`chat.inject`)
|
|
67
|
-
- 在聊天中流式传输工具调用 + 实时工具输出卡片(智能体事件)
|
|
68
|
-
- 实例:在线列表 + 刷新(`system-presence`)
|
|
69
|
-
- 会话:列表 + 每会话思考/详细覆盖(`sessions.list`、`sessions.patch`)
|
|
70
|
-
- 定时任务:列出/添加/运行/启用/禁用 + 运行历史(`cron.*`)
|
|
71
|
-
- Skills:状态、启用/禁用、安装、API 密钥更新(`skills.*`)
|
|
72
|
-
- 节点:列表 + 能力(`node.list`)
|
|
73
|
-
- 执行批准:编辑 Gateway 网关或节点允许列表 + `exec host=gateway/node` 的询问策略(`exec.approvals.*`)
|
|
74
|
-
- 配置:查看/编辑 `~/.symi/symi.json`(`config.get`、`config.set`)
|
|
75
|
-
- 配置:应用 + 带验证的重启(`config.apply`)并唤醒上次活动的会话
|
|
76
|
-
- 配置写入包含基础哈希保护,以防止覆盖并发编辑
|
|
77
|
-
- 配置 schema + 表单渲染(`config.schema`,包括插件 + 渠道 schema);原始 JSON 编辑器仍然可用
|
|
78
|
-
- 调试:状态/健康/模型快照 + 事件日志 + 手动 RPC 调用(`status`、`health`、`models.list`)
|
|
79
|
-
- 日志:Gateway 网关文件日志的实时尾部跟踪,带过滤/导出(`logs.tail`)
|
|
80
|
-
- 更新:运行包/git 更新 + 重启(`update.run`)并显示重启报告
|
|
81
|
-
|
|
82
|
-
## 聊天行为
|
|
83
|
-
|
|
84
|
-
- `chat.send` 是**非阻塞的**:它立即以 `{ runId, status: "started" }` 确认,响应通过 `chat` 事件流式传输。
|
|
85
|
-
- 使用相同的 `idempotencyKey` 重新发送在运行时返回 `{ status: "in_flight" }`,完成后返回 `{ status: "ok" }`。
|
|
86
|
-
- `chat.inject` 将助手备注附加到会话转录,并为仅 UI 更新广播 `chat` 事件(无智能体运行,无渠道投递)。
|
|
87
|
-
- 停止:
|
|
88
|
-
- 点击**停止**(调用 `chat.abort`)
|
|
89
|
-
- 输入 `/stop`(或 `stop|esc|abort|wait|exit|interrupt`)以带外中止
|
|
90
|
-
- `chat.abort` 支持 `{ sessionKey }`(无 `runId`)以中止该会话的所有活动运行
|
|
91
|
-
|
|
92
|
-
## Tailnet 访问(推荐)
|
|
93
|
-
|
|
94
|
-
### 集成 Tailscale Serve(首选)
|
|
95
|
-
|
|
96
|
-
保持 Gateway 网关在 loopback 上,让 Tailscale Serve 用 HTTPS 代理它:
|
|
97
|
-
|
|
98
|
-
```bash
|
|
99
|
-
symi gateway --tailscale serve
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
打开:
|
|
103
|
-
|
|
104
|
-
- `https://<magicdns>/`(或你配置的 `gateway.controlUi.basePath`)
|
|
105
|
-
|
|
106
|
-
默认情况下,当 `gateway.auth.allowTailscale` 为 `true` 时,Serve 请求可以通过 Tailscale 身份头(`tailscale-user-login`)进行认证。Symi 通过使用 `tailscale whois` 解析 `x-forwarded-for` 地址并与头匹配来验证身份,并且只在请求通过 Tailscale 的 `x-forwarded-*` 头到达 loopback 时接受这些。如果你想即使对于 Serve 流量也要求 token/密码,请设置 `gateway.auth.allowTailscale: false`(或强制 `gateway.auth.mode: "password"`)。
|
|
107
|
-
|
|
108
|
-
### 绑定到 tailnet + token
|
|
109
|
-
|
|
110
|
-
```bash
|
|
111
|
-
symi gateway --bind tailnet --token "$(openssl rand -hex 32)"
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
然后打开:
|
|
115
|
-
|
|
116
|
-
- `http://<tailscale-ip>:18789/`(或你配置的 `gateway.controlUi.basePath`)
|
|
117
|
-
|
|
118
|
-
将 token 粘贴到 UI 设置中(作为 `connect.params.auth.token` 发送)。
|
|
119
|
-
|
|
120
|
-
## 不安全的 HTTP
|
|
121
|
-
|
|
122
|
-
如果你通过普通 HTTP 打开仪表板(`http://<lan-ip>` 或 `http://<tailscale-ip>`),浏览器在**非安全上下文**中运行并阻止 WebCrypto。默认情况下,Symi **阻止**没有设备身份的控制 UI 连接。
|
|
123
|
-
|
|
124
|
-
**推荐修复:** 使用 HTTPS(Tailscale Serve)或在本地打开 UI:
|
|
125
|
-
|
|
126
|
-
- `https://<magicdns>/`(Serve)
|
|
127
|
-
- `http://127.0.0.1:18789/`(在 Gateway 网关主机上)
|
|
128
|
-
|
|
129
|
-
**降级示例(仅通过 HTTP 使用 token):**
|
|
130
|
-
|
|
131
|
-
```json5
|
|
132
|
-
{
|
|
133
|
-
gateway: {
|
|
134
|
-
controlUi: { allowInsecureAuth: true },
|
|
135
|
-
bind: "tailnet",
|
|
136
|
-
auth: { mode: "token", token: "replace-me" },
|
|
137
|
-
},
|
|
138
|
-
}
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
这会为控制 UI 禁用设备身份 + 配对(即使在 HTTPS 上)。仅在你信任网络时使用。
|
|
142
|
-
|
|
143
|
-
参见 [Tailscale](/gateway/tailscale) 了解 HTTPS 设置指南。
|
|
144
|
-
|
|
145
|
-
## 构建 UI
|
|
146
|
-
|
|
147
|
-
Gateway 网关从 `dist/control-ui` 提供静态文件。使用以下命令构建:
|
|
148
|
-
|
|
149
|
-
```bash
|
|
150
|
-
pnpm ui:build # 首次运行时自动安装 UI 依赖
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
可选的绝对基础路径(当你想要固定的资源 URL 时):
|
|
154
|
-
|
|
155
|
-
```bash
|
|
156
|
-
SYMI_CONTROL_UI_BASE_PATH=/symi/ pnpm ui:build
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
用于本地开发(单独的开发服务器):
|
|
160
|
-
|
|
161
|
-
```bash
|
|
162
|
-
pnpm ui:dev # 首次运行时自动安装 UI 依赖
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
然后将 UI 指向你的 Gateway 网关 WS URL(例如 `ws://127.0.0.1:18789`)。
|
|
166
|
-
|
|
167
|
-
## 调试/测试:开发服务器 + 远程 Gateway 网关
|
|
168
|
-
|
|
169
|
-
控制 UI 是静态文件;WebSocket 目标是可配置的,可以与 HTTP 源不同。当你想要在本地使用 Vite 开发服务器但 Gateway 网关在其他地方运行时,这很方便。
|
|
170
|
-
|
|
171
|
-
1. 启动 UI 开发服务器:`pnpm ui:dev`
|
|
172
|
-
2. 打开类似以下的 URL:
|
|
173
|
-
|
|
174
|
-
```text
|
|
175
|
-
http://localhost:5173/?gatewayUrl=ws://<gateway-host>:18789
|
|
176
|
-
```
|
|
177
|
-
|
|
178
|
-
可选的一次性认证(如需要):
|
|
179
|
-
|
|
180
|
-
```text
|
|
181
|
-
http://localhost:5173/?gatewayUrl=wss://<gateway-host>:18789&token=<gateway-token>
|
|
182
|
-
```
|
|
183
|
-
|
|
184
|
-
注意:
|
|
185
|
-
|
|
186
|
-
- `gatewayUrl` 在加载后存储在 localStorage 中并从 URL 中移除。
|
|
187
|
-
- `token` 存储在 localStorage 中;`password` 仅保留在内存中。
|
|
188
|
-
- 当 Gateway 网关在 TLS 后面时(Tailscale Serve、HTTPS 代理等),使用 `wss://`。
|
|
189
|
-
|
|
190
|
-
远程访问设置详情:[远程访问](/gateway/remote)。
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
read_when:
|
|
3
|
-
- 更改仪表板认证或暴露模式
|
|
4
|
-
summary: Gateway 网关仪表板(控制 UI)访问和认证
|
|
5
|
-
title: 仪表板
|
|
6
|
-
x-i18n:
|
|
7
|
-
generated_at: "2026-02-03T10:13:14Z"
|
|
8
|
-
model: claude-opus-4-5
|
|
9
|
-
provider: pi
|
|
10
|
-
source_hash: e6876d50e17d3dd741471ed78bef6ac175b2fdbdc1c45dd52d9d2bd013e17f31
|
|
11
|
-
source_path: web/dashboard.md
|
|
12
|
-
workflow: 15
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
# 仪表板(控制 UI)
|
|
16
|
-
|
|
17
|
-
Gateway 网关仪表板是默认在 `/` 提供的浏览器控制 UI
|
|
18
|
-
(通过 `gateway.controlUi.basePath` 覆盖)。
|
|
19
|
-
|
|
20
|
-
快速打开(本地 Gateway 网关):
|
|
21
|
-
|
|
22
|
-
- http://127.0.0.1:18789/(或 http://localhost:18789/)
|
|
23
|
-
|
|
24
|
-
关键参考:
|
|
25
|
-
|
|
26
|
-
- [控制 UI](/web/control-ui) 了解使用方法和 UI 功能。
|
|
27
|
-
- [Tailscale](/gateway/tailscale) 了解 Serve/Funnel 自动化。
|
|
28
|
-
- [Web 界面](/web) 了解绑定模式和安全注意事项。
|
|
29
|
-
|
|
30
|
-
认证通过 `connect.params.auth`(token 或密码)在 WebSocket 握手时强制执行。
|
|
31
|
-
参见 [Gateway 网关配置](/gateway/configuration) 中的 `gateway.auth`。
|
|
32
|
-
|
|
33
|
-
安全注意事项:控制 UI 是一个**管理界面**(聊天、配置、执行审批)。
|
|
34
|
-
不要公开暴露它。UI 在首次加载后将 token 存储在 `localStorage` 中。
|
|
35
|
-
优先使用 localhost、Tailscale Serve 或 SSH 隧道。
|
|
36
|
-
|
|
37
|
-
## 快速路径(推荐)
|
|
38
|
-
|
|
39
|
-
- 新手引导后,CLI 现在会自动打开带有你的 token 的仪表板,并打印相同的带 token 链接。
|
|
40
|
-
- 随时重新打开:`symi dashboard`(复制链接,如果可能则打开浏览器,如果是无头环境则显示 SSH 提示)。
|
|
41
|
-
- token 保持本地(仅查询参数);UI 在首次加载后移除它并保存到 localStorage。
|
|
42
|
-
|
|
43
|
-
## Token 基础(本地 vs 远程)
|
|
44
|
-
|
|
45
|
-
- **Localhost**:打开 `http://127.0.0.1:18789/`。如果你看到"unauthorized",运行 `symi dashboard` 并使用带 token 的链接(`?token=...`)。
|
|
46
|
-
- **Token 来源**:`gateway.auth.token`(或 `SYMI_GATEWAY_TOKEN`);UI 在首次加载后存储它。
|
|
47
|
-
- **非 localhost**:使用 Tailscale Serve(如果 `gateway.auth.allowTailscale: true` 则无需 token)、带 token 的 tailnet 绑定,或 SSH 隧道。参见 [Web 界面](/web)。
|
|
48
|
-
|
|
49
|
-
## 如果你看到"unauthorized" / 1008
|
|
50
|
-
|
|
51
|
-
- 运行 `symi dashboard` 获取新的带 token 链接。
|
|
52
|
-
- 确保 Gateway 网关可达(本地:`symi status`;远程:SSH 隧道 `ssh -N -L 18789:127.0.0.1:18789 user@host` 然后打开 `http://127.0.0.1:18789/?token=...`)。
|
|
53
|
-
- 在仪表板设置中,粘贴你在 `gateway.auth.token`(或 `SYMI_GATEWAY_TOKEN`)中配置的相同 token。
|
package/docs/zh-CN/web/index.md
DELETED
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
read_when:
|
|
3
|
-
- 你想通过 Tailscale 访问 Gateway 网关
|
|
4
|
-
- 你想使用浏览器 Control UI 和配置编辑
|
|
5
|
-
summary: Gateway 网关 Web 界面:Control UI、绑定模式和安全
|
|
6
|
-
title: Web
|
|
7
|
-
x-i18n:
|
|
8
|
-
generated_at: "2026-02-03T10:13:29Z"
|
|
9
|
-
model: claude-opus-4-5
|
|
10
|
-
provider: pi
|
|
11
|
-
source_hash: 4da8bc9831018c482ac918a759b9739f75ca130f70993f81911818bc60a685d1
|
|
12
|
-
source_path: web/index.md
|
|
13
|
-
workflow: 15
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
# Web(Gateway 网关)
|
|
17
|
-
|
|
18
|
-
Gateway 网关从与 Gateway 网关 WebSocket 相同的端口提供一个小型**浏览器 Control UI**(Vite + Lit):
|
|
19
|
-
|
|
20
|
-
- 默认:`http://<host>:18789/`
|
|
21
|
-
- 可选前缀:设置 `gateway.controlUi.basePath`(例如 `/symi`)
|
|
22
|
-
|
|
23
|
-
功能详见 [Control UI](/web/control-ui)。
|
|
24
|
-
本页重点介绍绑定模式、安全和面向 Web 的界面。
|
|
25
|
-
|
|
26
|
-
## Webhooks
|
|
27
|
-
|
|
28
|
-
当 `hooks.enabled=true` 时,Gateway 网关还在同一 HTTP 服务器上公开一个小型 webhook 端点。
|
|
29
|
-
参见 [Gateway 网关配置](/gateway/configuration) → `hooks` 了解认证 + 载荷。
|
|
30
|
-
|
|
31
|
-
## 配置(默认开启)
|
|
32
|
-
|
|
33
|
-
当资源存在时(`dist/control-ui`),Control UI **默认启用**。
|
|
34
|
-
你可以通过配置控制它:
|
|
35
|
-
|
|
36
|
-
```json5
|
|
37
|
-
{
|
|
38
|
-
gateway: {
|
|
39
|
-
controlUi: { enabled: true, basePath: "/symi" }, // basePath 可选
|
|
40
|
-
},
|
|
41
|
-
}
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
## Tailscale 访问
|
|
45
|
-
|
|
46
|
-
### 集成 Serve(推荐)
|
|
47
|
-
|
|
48
|
-
保持 Gateway 网关在本地回环上,让 Tailscale Serve 代理它:
|
|
49
|
-
|
|
50
|
-
```json5
|
|
51
|
-
{
|
|
52
|
-
gateway: {
|
|
53
|
-
bind: "loopback",
|
|
54
|
-
tailscale: { mode: "serve" },
|
|
55
|
-
},
|
|
56
|
-
}
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
然后启动 Gateway 网关:
|
|
60
|
-
|
|
61
|
-
```bash
|
|
62
|
-
symi gateway
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
打开:
|
|
66
|
-
|
|
67
|
-
- `https://<magicdns>/`(或你配置的 `gateway.controlUi.basePath`)
|
|
68
|
-
|
|
69
|
-
### Tailnet 绑定 + 令牌
|
|
70
|
-
|
|
71
|
-
```json5
|
|
72
|
-
{
|
|
73
|
-
gateway: {
|
|
74
|
-
bind: "tailnet",
|
|
75
|
-
controlUi: { enabled: true },
|
|
76
|
-
auth: { mode: "token", token: "your-token" },
|
|
77
|
-
},
|
|
78
|
-
}
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
然后启动 Gateway 网关(非本地回环绑定需要令牌):
|
|
82
|
-
|
|
83
|
-
```bash
|
|
84
|
-
symi gateway
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
打开:
|
|
88
|
-
|
|
89
|
-
- `http://<tailscale-ip>:18789/`(或你配置的 `gateway.controlUi.basePath`)
|
|
90
|
-
|
|
91
|
-
### 公共互联网(Funnel)
|
|
92
|
-
|
|
93
|
-
```json5
|
|
94
|
-
{
|
|
95
|
-
gateway: {
|
|
96
|
-
bind: "loopback",
|
|
97
|
-
tailscale: { mode: "funnel" },
|
|
98
|
-
auth: { mode: "password" }, // 或 SYMI_GATEWAY_PASSWORD
|
|
99
|
-
},
|
|
100
|
-
}
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
## 安全注意事项
|
|
104
|
-
|
|
105
|
-
- Gateway 网关认证默认是必需的(令牌/密码或 Tailscale 身份头)。
|
|
106
|
-
- 非本地回环绑定仍然**需要**共享令牌/密码(`gateway.auth` 或环境变量)。
|
|
107
|
-
- 向导默认生成 Gateway 网关令牌(即使在本地回环上)。
|
|
108
|
-
- UI 发送 `connect.params.auth.token` 或 `connect.params.auth.password`。
|
|
109
|
-
- 使用 Serve 时,当 `gateway.auth.allowTailscale` 为 `true` 时,Tailscale 身份头可以满足认证(无需令牌/密码)。设置 `gateway.auth.allowTailscale: false` 以要求显式凭证。参见 [Tailscale](/gateway/tailscale) 和 [安全](/gateway/security)。
|
|
110
|
-
- `gateway.tailscale.mode: "funnel"` 需要 `gateway.auth.mode: "password"`(共享密码)。
|
|
111
|
-
|
|
112
|
-
## 构建 UI
|
|
113
|
-
|
|
114
|
-
Gateway 网关从 `dist/control-ui` 提供静态文件。使用以下命令构建:
|
|
115
|
-
|
|
116
|
-
```bash
|
|
117
|
-
pnpm ui:build # 首次运行时自动安装 UI 依赖
|
|
118
|
-
```
|
package/docs/zh-CN/web/tui.md
DELETED
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
read_when:
|
|
3
|
-
- 你想要 TUI 的新手友好演练
|
|
4
|
-
- 你需要 TUI 功能、命令和快捷键的完整列表
|
|
5
|
-
summary: 终端 UI(TUI):从任何机器连接到 Gateway 网关
|
|
6
|
-
title: TUI
|
|
7
|
-
x-i18n:
|
|
8
|
-
generated_at: "2026-02-03T10:13:10Z"
|
|
9
|
-
model: claude-opus-4-5
|
|
10
|
-
provider: pi
|
|
11
|
-
source_hash: 4bf5b0037bbb3a166289f2f0a9399489637d4cf26335ae3577af9ea83eee747e
|
|
12
|
-
source_path: web/tui.md
|
|
13
|
-
workflow: 15
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
# TUI(终端 UI)
|
|
17
|
-
|
|
18
|
-
## 快速开始
|
|
19
|
-
|
|
20
|
-
1. 启动 Gateway 网关。
|
|
21
|
-
|
|
22
|
-
```bash
|
|
23
|
-
symi gateway
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
2. 打开 TUI。
|
|
27
|
-
|
|
28
|
-
```bash
|
|
29
|
-
symi tui
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
3. 输入消息并按 Enter。
|
|
33
|
-
|
|
34
|
-
远程 Gateway 网关:
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
symi tui --url ws://<host>:<port> --token <gateway-token>
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
如果你的 Gateway 网关使用密码认证,请使用 `--password`。
|
|
41
|
-
|
|
42
|
-
## 你看到的内容
|
|
43
|
-
|
|
44
|
-
- 标题栏:连接 URL、当前智能体、当前会话。
|
|
45
|
-
- 聊天日志:用户消息、助手回复、系统通知、工具卡片。
|
|
46
|
-
- 状态行:连接/运行状态(连接中、运行中、流式传输中、空闲、错误)。
|
|
47
|
-
- 页脚:连接状态 + 智能体 + 会话 + 模型 + think/verbose/reasoning + token 计数 + 投递状态。
|
|
48
|
-
- 输入:带自动完成的文本编辑器。
|
|
49
|
-
|
|
50
|
-
## 心智模型:智能体 + 会话
|
|
51
|
-
|
|
52
|
-
- 智能体是唯一的标识符(例如 `main`、`research`)。Gateway 网关公开列表。
|
|
53
|
-
- 会话属于当前智能体。
|
|
54
|
-
- 会话键存储为 `agent:<agentId>:<sessionKey>`。
|
|
55
|
-
- 如果你输入 `/session main`,TUI 会将其扩展为 `agent:<currentAgent>:main`。
|
|
56
|
-
- 如果你输入 `/session agent:other:main`,你会显式切换到该智能体会话。
|
|
57
|
-
- 会话范围:
|
|
58
|
-
- `per-sender`(默认):每个智能体有多个会话。
|
|
59
|
-
- `global`:TUI 始终使用 `global` 会话(选择器可能为空)。
|
|
60
|
-
- 当前智能体 + 会话始终在页脚中可见。
|
|
61
|
-
|
|
62
|
-
## 发送 + 投递
|
|
63
|
-
|
|
64
|
-
- 消息发送到 Gateway 网关;默认情况下不投递到提供商。
|
|
65
|
-
- 开启投递:
|
|
66
|
-
- `/deliver on`
|
|
67
|
-
- 或设置面板
|
|
68
|
-
- 或使用 `symi tui --deliver` 启动
|
|
69
|
-
|
|
70
|
-
## 选择器 + 覆盖层
|
|
71
|
-
|
|
72
|
-
- 模型选择器:列出可用模型并设置会话覆盖。
|
|
73
|
-
- 智能体选择器:选择不同的智能体。
|
|
74
|
-
- 会话选择器:仅显示当前智能体的会话。
|
|
75
|
-
- 设置:切换投递、工具输出展开和思考可见性。
|
|
76
|
-
|
|
77
|
-
## 键盘快捷键
|
|
78
|
-
|
|
79
|
-
- Enter:发送消息
|
|
80
|
-
- Esc:中止活动运行
|
|
81
|
-
- Ctrl+C:清除输入(按两次退出)
|
|
82
|
-
- Ctrl+D:退出
|
|
83
|
-
- Ctrl+L:模型选择器
|
|
84
|
-
- Ctrl+G:智能体选择器
|
|
85
|
-
- Ctrl+P:会话选择器
|
|
86
|
-
- Ctrl+O:切换工具输出展开
|
|
87
|
-
- Ctrl+T:切换思考可见性(重新加载历史)
|
|
88
|
-
|
|
89
|
-
## 斜杠命令
|
|
90
|
-
|
|
91
|
-
核心:
|
|
92
|
-
|
|
93
|
-
- `/help`
|
|
94
|
-
- `/status`
|
|
95
|
-
- `/agent <id>`(或 `/agents`)
|
|
96
|
-
- `/session <key>`(或 `/sessions`)
|
|
97
|
-
- `/model <provider/model>`(或 `/models`)
|
|
98
|
-
|
|
99
|
-
会话控制:
|
|
100
|
-
|
|
101
|
-
- `/think <off|minimal|low|medium|high>`
|
|
102
|
-
- `/verbose <on|full|off>`
|
|
103
|
-
- `/reasoning <on|off|stream>`
|
|
104
|
-
- `/usage <off|tokens|full>`
|
|
105
|
-
- `/elevated <on|off|ask|full>`(别名:`/elev`)
|
|
106
|
-
- `/activation <mention|always>`
|
|
107
|
-
- `/deliver <on|off>`
|
|
108
|
-
|
|
109
|
-
会话生命周期:
|
|
110
|
-
|
|
111
|
-
- `/new` 或 `/reset`(重置会话)
|
|
112
|
-
- `/abort`(中止活动运行)
|
|
113
|
-
- `/settings`
|
|
114
|
-
- `/exit`
|
|
115
|
-
|
|
116
|
-
其他 Gateway 网关斜杠命令(例如 `/context`)会转发到 Gateway 网关并显示为系统输出。参见[斜杠命令](/tools/slash-commands)。
|
|
117
|
-
|
|
118
|
-
## 本地 shell 命令
|
|
119
|
-
|
|
120
|
-
- 以 `!` 为前缀的行会在 TUI 主机上运行本地 shell 命令。
|
|
121
|
-
- TUI 每个会话会提示一次以允许本地执行;拒绝会在该会话中禁用 `!`。
|
|
122
|
-
- 命令在 TUI 工作目录中以全新的非交互式 shell 运行(无持久化 `cd`/环境变量)。
|
|
123
|
-
- 单独的 `!` 会作为普通消息发送;前导空格不会触发本地执行。
|
|
124
|
-
|
|
125
|
-
## 工具输出
|
|
126
|
-
|
|
127
|
-
- 工具调用显示为带有参数 + 结果的卡片。
|
|
128
|
-
- Ctrl+O 在折叠/展开视图之间切换。
|
|
129
|
-
- 工具运行时,部分更新会流式传输到同一张卡片。
|
|
130
|
-
|
|
131
|
-
## 历史 + 流式传输
|
|
132
|
-
|
|
133
|
-
- 连接时,TUI 加载最新历史(默认 200 条消息)。
|
|
134
|
-
- 流式响应原地更新直到完成。
|
|
135
|
-
- TUI 还监听智能体工具事件以获得更丰富的工具卡片。
|
|
136
|
-
|
|
137
|
-
## 连接详情
|
|
138
|
-
|
|
139
|
-
- TUI 以 `mode: "tui"` 向 Gateway 网关注册。
|
|
140
|
-
- 重新连接会显示系统消息;事件间隙会在日志中显示。
|
|
141
|
-
|
|
142
|
-
## 选项
|
|
143
|
-
|
|
144
|
-
- `--url <url>`:Gateway 网关 WebSocket URL(默认为配置或 `ws://127.0.0.1:<port>`)
|
|
145
|
-
- `--token <token>`:Gateway 网关令牌(如果需要)
|
|
146
|
-
- `--password <password>`:Gateway 网关密码(如果需要)
|
|
147
|
-
- `--session <key>`:会话键(默认:`main`,或范围为全局时为 `global`)
|
|
148
|
-
- `--deliver`:将助手回复投递到提供商(默认关闭)
|
|
149
|
-
- `--thinking <level>`:覆盖发送的思考级别
|
|
150
|
-
- `--timeout-ms <ms>`:智能体超时(毫秒)(默认为 `agents.defaults.timeoutSeconds`)
|
|
151
|
-
|
|
152
|
-
## 故障排除
|
|
153
|
-
|
|
154
|
-
发送消息后没有输出:
|
|
155
|
-
|
|
156
|
-
- 在 TUI 中运行 `/status` 以确认 Gateway 网关已连接且处于空闲/忙碌状态。
|
|
157
|
-
- 检查 Gateway 网关日志:`symi logs --follow`。
|
|
158
|
-
- 确认智能体可以运行:`symi status` 和 `symi models status`。
|
|
159
|
-
- 如果你期望消息出现在聊天渠道中,请启用投递(`/deliver on` 或 `--deliver`)。
|
|
160
|
-
- `--history-limit <n>`:要加载的历史条目数(默认 200)
|
|
161
|
-
|
|
162
|
-
## 故障排除
|
|
163
|
-
|
|
164
|
-
- `disconnected`:确保 Gateway 网关正在运行且你的 `--url/--token/--password` 正确。
|
|
165
|
-
- 选择器中没有智能体:检查 `symi agents list` 和你的路由配置。
|
|
166
|
-
- 会话选择器为空:你可能处于全局范围或还没有会话。
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
read_when:
|
|
3
|
-
- 调试或配置 WebChat 访问
|
|
4
|
-
summary: 用于聊天 UI 的 loopback WebChat 静态主机和 Gateway 网关 WS 使用
|
|
5
|
-
title: WebChat
|
|
6
|
-
x-i18n:
|
|
7
|
-
generated_at: "2026-02-03T10:13:28Z"
|
|
8
|
-
model: claude-opus-4-5
|
|
9
|
-
provider: pi
|
|
10
|
-
source_hash: b5ee2b462c8c979ac27f80dea0cf12cf62b3c799cf8fd0a7721901e26efeb1a0
|
|
11
|
-
source_path: web/webchat.md
|
|
12
|
-
workflow: 15
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
# WebChat(Gateway 网关 WebSocket UI)
|
|
16
|
-
|
|
17
|
-
状态:macOS/iOS SwiftUI 聊天 UI 直接与 Gateway 网关 WebSocket 通信。
|
|
18
|
-
|
|
19
|
-
## 它是什么
|
|
20
|
-
|
|
21
|
-
- Gateway 网关的原生聊天 UI(无嵌入式浏览器,无本地静态服务器)。
|
|
22
|
-
- 使用与其他渠道相同的会话和路由规则。
|
|
23
|
-
- 确定性路由:回复始终返回到 WebChat。
|
|
24
|
-
|
|
25
|
-
## 快速开始
|
|
26
|
-
|
|
27
|
-
1. 启动 Gateway 网关。
|
|
28
|
-
2. 打开 WebChat UI(macOS/iOS 应用)或控制 UI 聊天标签页。
|
|
29
|
-
3. 确保已配置 Gateway 网关认证(默认需要,即使在 loopback 上)。
|
|
30
|
-
|
|
31
|
-
## 工作原理(行为)
|
|
32
|
-
|
|
33
|
-
- UI 连接到 Gateway 网关 WebSocket 并使用 `chat.history`、`chat.send` 和 `chat.inject`。
|
|
34
|
-
- `chat.inject` 直接将助手注释追加到转录并广播到 UI(无智能体运行)。
|
|
35
|
-
- 历史记录始终从 Gateway 网关获取(无本地文件监听)。
|
|
36
|
-
- 如果 Gateway 网关不可达,WebChat 为只读模式。
|
|
37
|
-
|
|
38
|
-
## 远程使用
|
|
39
|
-
|
|
40
|
-
- 远程模式通过 SSH/Tailscale 隧道传输 Gateway 网关 WebSocket。
|
|
41
|
-
- 你不需要运行单独的 WebChat 服务器。
|
|
42
|
-
|
|
43
|
-
## 配置参考(WebChat)
|
|
44
|
-
|
|
45
|
-
完整配置:[配置](/gateway/configuration)
|
|
46
|
-
|
|
47
|
-
渠道选项:
|
|
48
|
-
|
|
49
|
-
- 没有专用的 `webchat.*` 块。WebChat 使用下面的 Gateway 网关端点 + 认证设置。
|
|
50
|
-
|
|
51
|
-
相关的全局选项:
|
|
52
|
-
|
|
53
|
-
- `gateway.port`、`gateway.bind`:WebSocket 主机/端口。
|
|
54
|
-
- `gateway.auth.mode`、`gateway.auth.token`、`gateway.auth.password`:WebSocket 认证。
|
|
55
|
-
- `gateway.remote.url`、`gateway.remote.token`、`gateway.remote.password`:远程 Gateway 网关目标。
|
|
56
|
-
- `session.*`:会话存储和主键默认值。
|