@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,146 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
read_when:
|
|
3
|
-
- 你需要智能体循环或生命周期事件的详细说明
|
|
4
|
-
summary: 智能体循环生命周期、流和等待语义
|
|
5
|
-
title: 智能体循环
|
|
6
|
-
x-i18n:
|
|
7
|
-
generated_at: "2026-02-03T10:05:11Z"
|
|
8
|
-
model: claude-opus-4-5
|
|
9
|
-
provider: pi
|
|
10
|
-
source_hash: 0775b96eb3451e137297661a1095eaefb2bafeebb5f78123174a46290e18b014
|
|
11
|
-
source_path: concepts/agent-loop.md
|
|
12
|
-
workflow: 15
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
# 智能体循环(Symi)
|
|
16
|
-
|
|
17
|
-
智能体循环是智能体的完整"真实"运行:接收 → 上下文组装 → 模型推理 → 工具执行 → 流式回复 → 持久化。这是将消息转化为操作和最终回复的权威路径,同时保持会话状态的一致性。
|
|
18
|
-
|
|
19
|
-
在 Symi 中,循环是每个会话的单次序列化运行,在模型思考、调用工具和流式输出时发出生命周期和流事件。本文档解释了这个真实循环是如何端到端连接的。
|
|
20
|
-
|
|
21
|
-
## 入口点
|
|
22
|
-
|
|
23
|
-
- Gateway 网关 RPC:`agent` 和 `agent.wait`。
|
|
24
|
-
- CLI:`agent` 命令。
|
|
25
|
-
|
|
26
|
-
## 工作原理(高层次)
|
|
27
|
-
|
|
28
|
-
1. `agent` RPC 验证参数,解析会话(sessionKey/sessionId),持久化会话元数据,立即返回 `{ runId, acceptedAt }`。
|
|
29
|
-
2. `agentCommand` 运行智能体:
|
|
30
|
-
- 解析模型 + 思考/详细模式默认值
|
|
31
|
-
- 加载 Skills 快照
|
|
32
|
-
- 调用 `runEmbeddedPiAgent`(pi-agent-core 运行时)
|
|
33
|
-
- 如果嵌入式循环未发出**生命周期结束/错误**事件,则发出该事件
|
|
34
|
-
3. `runEmbeddedPiAgent`:
|
|
35
|
-
- 通过每会话 + 全局队列序列化运行
|
|
36
|
-
- 解析模型 + 认证配置文件并构建 pi 会话
|
|
37
|
-
- 订阅 pi 事件并流式传输助手/工具增量
|
|
38
|
-
- 强制执行超时 -> 超时则中止运行
|
|
39
|
-
- 返回有效负载 + 使用元数据
|
|
40
|
-
4. `subscribeEmbeddedPiSession` 将 pi-agent-core 事件桥接到 Symi `agent` 流:
|
|
41
|
-
- 工具事件 => `stream: "tool"`
|
|
42
|
-
- 助手增量 => `stream: "assistant"`
|
|
43
|
-
- 生命周期事件 => `stream: "lifecycle"`(`phase: "start" | "end" | "error"`)
|
|
44
|
-
5. `agent.wait` 使用 `waitForAgentJob`:
|
|
45
|
-
- 等待 `runId` 的**生命周期结束/错误**
|
|
46
|
-
- 返回 `{ status: ok|error|timeout, startedAt, endedAt, error? }`
|
|
47
|
-
|
|
48
|
-
## 队列 + 并发
|
|
49
|
-
|
|
50
|
-
- 运行按会话键(会话通道)序列化,可选择通过全局通道。
|
|
51
|
-
- 这可以防止工具/会话竞争并保持会话历史的一致性。
|
|
52
|
-
- 消息渠道可以选择队列模式(collect/steer/followup)来馈送此通道系统。参见[命令队列](/concepts/queue)。
|
|
53
|
-
|
|
54
|
-
## 会话 + 工作区准备
|
|
55
|
-
|
|
56
|
-
- 解析并创建工作区;沙箱隔离运行可能会重定向到沙箱工作区根目录。
|
|
57
|
-
- 加载 Skills(或从快照中复用)并注入到环境和提示中。
|
|
58
|
-
- 解析引导/上下文文件并注入到系统提示报告中。
|
|
59
|
-
- 获取会话写锁;在流式传输之前打开并准备 `SessionManager`。
|
|
60
|
-
|
|
61
|
-
## 提示组装 + 系统提示
|
|
62
|
-
|
|
63
|
-
- 系统提示由 Symi 的基础提示、Skills 提示、引导上下文和每次运行的覆盖构建。
|
|
64
|
-
- 强制执行模型特定的限制和压缩保留令牌。
|
|
65
|
-
- 参见[系统提示](/concepts/system-prompt)了解模型看到的内容。
|
|
66
|
-
|
|
67
|
-
## 钩子点(可以拦截的位置)
|
|
68
|
-
|
|
69
|
-
Symi 有两个钩子系统:
|
|
70
|
-
|
|
71
|
-
- **内部钩子**(Gateway 网关钩子):用于命令和生命周期事件的事件驱动脚本。
|
|
72
|
-
- **插件钩子**:智能体/工具生命周期和 Gateway 网关管道中的扩展点。
|
|
73
|
-
|
|
74
|
-
### 内部钩子(Gateway 网关钩子)
|
|
75
|
-
|
|
76
|
-
- **`agent:bootstrap`**:在系统提示最终确定之前构建引导文件时运行。用于添加/删除引导上下文文件。
|
|
77
|
-
- **命令钩子**:`/new`、`/reset`、`/stop` 和其他命令事件(参见钩子文档)。
|
|
78
|
-
|
|
79
|
-
参见[钩子](/automation/hooks)了解设置和示例。
|
|
80
|
-
|
|
81
|
-
### 插件钩子(智能体 + Gateway 网关生命周期)
|
|
82
|
-
|
|
83
|
-
这些在智能体循环或 Gateway 网关管道内运行:
|
|
84
|
-
|
|
85
|
-
- **`before_agent_start`**:在运行开始前注入上下文或覆盖系统提示。
|
|
86
|
-
- **`agent_end`**:在完成后检查最终消息列表和运行元数据。
|
|
87
|
-
- **`before_compaction` / `after_compaction`**:观察或注释压缩周期。
|
|
88
|
-
- **`before_tool_call` / `after_tool_call`**:拦截工具参数/结果。
|
|
89
|
-
- **`tool_result_persist`**:在工具结果写入会话记录之前同步转换它们。
|
|
90
|
-
- **`message_received` / `message_sending` / `message_sent`**:入站 + 出站消息钩子。
|
|
91
|
-
- **`session_start` / `session_end`**:会话生命周期边界。
|
|
92
|
-
- **`gateway_start` / `gateway_stop`**:Gateway 网关生命周期事件。
|
|
93
|
-
|
|
94
|
-
参见[插件](/tools/plugin#plugin-hooks)了解钩子 API 和注册详情。
|
|
95
|
-
|
|
96
|
-
## 流式传输 + 部分回复
|
|
97
|
-
|
|
98
|
-
- 助手增量从 pi-agent-core 流式传输并作为 `assistant` 事件发出。
|
|
99
|
-
- 分块流式传输可以在 `text_end` 或 `message_end` 时发出部分回复。
|
|
100
|
-
- 推理流式传输可以作为单独的流或作为块回复发出。
|
|
101
|
-
- 参见[流式传输](/concepts/streaming)了解分块和块回复行为。
|
|
102
|
-
|
|
103
|
-
## 工具执行 + 消息工具
|
|
104
|
-
|
|
105
|
-
- 工具开始/更新/结束事件在 `tool` 流上发出。
|
|
106
|
-
- 工具结果在记录/发出之前会对大小和图像有效负载进行清理。
|
|
107
|
-
- 消息工具发送会被跟踪以抑制重复的助手确认。
|
|
108
|
-
|
|
109
|
-
## 回复整形 + 抑制
|
|
110
|
-
|
|
111
|
-
- 最终有效负载由以下内容组装:
|
|
112
|
-
- 助手文本(和可选的推理)
|
|
113
|
-
- 内联工具摘要(当详细模式 + 允许时)
|
|
114
|
-
- 模型出错时的助手错误文本
|
|
115
|
-
- `NO_REPLY` 被视为静默令牌,从出站有效负载中过滤。
|
|
116
|
-
- 消息工具重复项从最终有效负载列表中移除。
|
|
117
|
-
- 如果没有剩余可渲染的有效负载且工具出错,则发出回退工具错误回复(除非消息工具已经发送了用户可见的回复)。
|
|
118
|
-
|
|
119
|
-
## 压缩 + 重试
|
|
120
|
-
|
|
121
|
-
- 自动压缩发出 `compaction` 流事件,可以触发重试。
|
|
122
|
-
- 重试时,内存缓冲区和工具摘要会重置以避免重复输出。
|
|
123
|
-
- 参见[压缩](/concepts/compaction)了解压缩管道。
|
|
124
|
-
|
|
125
|
-
## 事件流(当前)
|
|
126
|
-
|
|
127
|
-
- `lifecycle`:由 `subscribeEmbeddedPiSession` 发出(以及作为 `agentCommand` 的回退)
|
|
128
|
-
- `assistant`:从 pi-agent-core 流式传输的增量
|
|
129
|
-
- `tool`:从 pi-agent-core 流式传输的工具事件
|
|
130
|
-
|
|
131
|
-
## 聊天渠道处理
|
|
132
|
-
|
|
133
|
-
- 助手增量被缓冲到聊天 `delta` 消息中。
|
|
134
|
-
- 在**生命周期结束/错误**时发出聊天 `final`。
|
|
135
|
-
|
|
136
|
-
## 超时
|
|
137
|
-
|
|
138
|
-
- `agent.wait` 默认:30 秒(仅等待)。`timeoutMs` 参数可覆盖。
|
|
139
|
-
- 智能体运行时:`agents.defaults.timeoutSeconds` 默认 600 秒;在 `runEmbeddedPiAgent` 中止计时器中强制执行。
|
|
140
|
-
|
|
141
|
-
## 可能提前结束的情况
|
|
142
|
-
|
|
143
|
-
- 智能体超时(中止)
|
|
144
|
-
- AbortSignal(取消)
|
|
145
|
-
- Gateway 网关断开连接或 RPC 超时
|
|
146
|
-
- `agent.wait` 超时(仅等待,不会停止智能体)
|
|
@@ -1,219 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
read_when:
|
|
3
|
-
- 你需要解释智能体工作区或其文件布局
|
|
4
|
-
- 你想备份或迁移智能体工作区
|
|
5
|
-
summary: 智能体工作区:位置、布局和备份策略
|
|
6
|
-
title: 智能体工作区
|
|
7
|
-
x-i18n:
|
|
8
|
-
generated_at: "2026-02-03T07:45:49Z"
|
|
9
|
-
model: claude-opus-4-5
|
|
10
|
-
provider: pi
|
|
11
|
-
source_hash: 84c550fd89b5f2474aeae586795485fd29d36effbb462f13342b31540fc18b82
|
|
12
|
-
source_path: concepts/agent-workspace.md
|
|
13
|
-
workflow: 15
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
# 智能体工作区
|
|
17
|
-
|
|
18
|
-
工作区是智能体的家。它是文件工具和工作区上下文使用的唯一工作目录。请保持其私密性并将其视为记忆。
|
|
19
|
-
|
|
20
|
-
这与 `~/.symi/` 是分开的,后者存储配置、凭证和会话。
|
|
21
|
-
|
|
22
|
-
**重要:** 工作区是**默认 cwd**,而不是硬性沙箱。工具会根据工作区解析相对路径,但绝对路径仍然可以访问主机上的其他位置,除非启用了沙箱隔离。如果你需要隔离,请使用
|
|
23
|
-
[`agents.defaults.sandbox`](/gateway/sandboxing)(和/或每智能体沙箱配置)。
|
|
24
|
-
当启用沙箱隔离且 `workspaceAccess` 不是 `"rw"` 时,工具在 `~/.symi/sandboxes` 下的沙箱工作区内操作,而不是你的主机工作区。
|
|
25
|
-
|
|
26
|
-
## 默认位置
|
|
27
|
-
|
|
28
|
-
- 默认:`~/.symi/workspace`
|
|
29
|
-
- 如果设置了 `SYMI_PROFILE` 且不是 `"default"`,默认值变为
|
|
30
|
-
`~/.symi/workspace-<profile>`。
|
|
31
|
-
- 在 `~/.symi/symi.json` 中覆盖:
|
|
32
|
-
|
|
33
|
-
```json5
|
|
34
|
-
{
|
|
35
|
-
agent: {
|
|
36
|
-
workspace: "~/.symi/workspace",
|
|
37
|
-
},
|
|
38
|
-
}
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
`symi onboard`、`symi configure` 或 `symi setup` 将创建工作区并在缺失时填充引导文件。
|
|
42
|
-
|
|
43
|
-
如果你已经自己管理工作区文件,可以禁用引导文件创建:
|
|
44
|
-
|
|
45
|
-
```json5
|
|
46
|
-
{ agent: { skipBootstrap: true } }
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
## 额外的工作区文件夹
|
|
50
|
-
|
|
51
|
-
旧版安装可能创建了 `~/symi`。保留多个工作区目录可能会导致混乱的认证或状态漂移,因为同一时间只有一个工作区是活动的。
|
|
52
|
-
|
|
53
|
-
**建议:** 保持单个活动工作区。如果你不再使用额外的文件夹,请归档或移至废纸篓(例如 `trash ~/symi`)。
|
|
54
|
-
如果你有意保留多个工作区,请确保 `agents.defaults.workspace` 指向活动的那个。
|
|
55
|
-
|
|
56
|
-
`symi doctor` 在检测到额外工作区目录时会发出警告。
|
|
57
|
-
|
|
58
|
-
## 工作区文件映射(每个文件的含义)
|
|
59
|
-
|
|
60
|
-
这些是 Symi 在工作区内期望的标准文件:
|
|
61
|
-
|
|
62
|
-
- `AGENTS.md`
|
|
63
|
-
- 智能体的操作指南以及它应该如何使用记忆。
|
|
64
|
-
- 在每个会话开始时加载。
|
|
65
|
-
- 适合放置规则、优先级和"如何行为"的详细信息。
|
|
66
|
-
|
|
67
|
-
- `SYMICORE.md`
|
|
68
|
-
- 人设、语气和边界。
|
|
69
|
-
- 每个会话加载。
|
|
70
|
-
|
|
71
|
-
- `USER.md`
|
|
72
|
-
- 用户是谁以及如何称呼他们。
|
|
73
|
-
- 每个会话加载。
|
|
74
|
-
|
|
75
|
-
- `IDENTITY.md`
|
|
76
|
-
- 智能体的名称、风格和表情符号。
|
|
77
|
-
- 在引导仪式期间创建/更新。
|
|
78
|
-
|
|
79
|
-
- `TOOLS.md`
|
|
80
|
-
- 关于你本地工具和惯例的注释。
|
|
81
|
-
- 不控制工具可用性;仅作为指导。
|
|
82
|
-
|
|
83
|
-
- `SYMIPULSE.md`
|
|
84
|
-
- 可选的心跳运行小型检查清单。
|
|
85
|
-
- 保持简短以避免 token 消耗。
|
|
86
|
-
|
|
87
|
-
- `BOOT.md`
|
|
88
|
-
- 当启用内部 hooks 时,在 Gateway 网关重启时执行的可选启动检查清单。
|
|
89
|
-
- 保持简短;使用 message 工具进行出站发送。
|
|
90
|
-
|
|
91
|
-
- `BOOTSTRAP.md`
|
|
92
|
-
- 一次性首次运行仪式。
|
|
93
|
-
- 仅为全新工作区创建。
|
|
94
|
-
- 仪式完成后删除它。
|
|
95
|
-
|
|
96
|
-
- `memory/YYYY-MM-DD.md`
|
|
97
|
-
- 每日记忆日志(每天一个文件)。
|
|
98
|
-
- 建议在会话开始时读取今天 + 昨天的内容。
|
|
99
|
-
|
|
100
|
-
- `MEMORY.md`(可选)
|
|
101
|
-
- 精选的长期记忆。
|
|
102
|
-
- 仅在主私密会话中加载(不在共享/群组上下文中)。
|
|
103
|
-
|
|
104
|
-
参见 [记忆](/concepts/memory) 了解工作流程和自动记忆刷新。
|
|
105
|
-
|
|
106
|
-
- `skills/`(可选)
|
|
107
|
-
- 工作区特定的 Skills。
|
|
108
|
-
- 当名称冲突时覆盖托管/捆绑的 Skills。
|
|
109
|
-
|
|
110
|
-
- `canvas/`(可选)
|
|
111
|
-
- 用于节点显示的 Canvas UI 文件(例如 `canvas/index.html`)。
|
|
112
|
-
|
|
113
|
-
如果任何引导文件缺失,Symi 会在会话中注入"缺失文件"标记并继续。大型引导文件在注入时会被截断;使用 `agents.defaults.bootstrapMaxChars` 调整限制(默认:20000)。
|
|
114
|
-
`symi setup` 可以重新创建缺失的默认值而不覆盖现有文件。
|
|
115
|
-
|
|
116
|
-
## 工作区中不包含的内容
|
|
117
|
-
|
|
118
|
-
这些位于 `~/.symi/` 下,不应提交到工作区仓库:
|
|
119
|
-
|
|
120
|
-
- `~/.symi/symi.json`(配置)
|
|
121
|
-
- `~/.symi/credentials/`(OAuth token、API 密钥)
|
|
122
|
-
- `~/.symi/agents/<agentId>/sessions/`(会话记录 + 元数据)
|
|
123
|
-
- `~/.symi/skills/`(托管的 Skills)
|
|
124
|
-
|
|
125
|
-
如果你需要迁移会话或配置,请单独复制它们并将它们排除在版本控制之外。
|
|
126
|
-
|
|
127
|
-
## Git 备份(推荐,私有)
|
|
128
|
-
|
|
129
|
-
将工作区视为私密记忆。将其放入**私有** git 仓库以便备份和恢复。
|
|
130
|
-
|
|
131
|
-
在运行 Gateway 网关的机器上执行这些步骤(工作区就在那里)。
|
|
132
|
-
|
|
133
|
-
### 1)初始化仓库
|
|
134
|
-
|
|
135
|
-
如果安装了 git,全新工作区会自动初始化。如果此工作区还不是仓库,请运行:
|
|
136
|
-
|
|
137
|
-
```bash
|
|
138
|
-
cd ~/.symi/workspace
|
|
139
|
-
git init
|
|
140
|
-
git add AGENTS.md SYMICORE.md TOOLS.md IDENTITY.md USER.md SYMIPULSE.md memory/
|
|
141
|
-
git commit -m "Add agent workspace"
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
### 2)添加私有远程(适合初学者的选项)
|
|
145
|
-
|
|
146
|
-
选项 A:GitHub 网页界面
|
|
147
|
-
|
|
148
|
-
1. 在 GitHub 上创建新的**私有**仓库。
|
|
149
|
-
2. 不要用 README 初始化(避免合并冲突)。
|
|
150
|
-
3. 复制 HTTPS 远程 URL。
|
|
151
|
-
4. 添加远程并推送:
|
|
152
|
-
|
|
153
|
-
```bash
|
|
154
|
-
git branch -M main
|
|
155
|
-
git remote add origin <https-url>
|
|
156
|
-
git push -u origin main
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
选项 B:GitHub CLI(`gh`)
|
|
160
|
-
|
|
161
|
-
```bash
|
|
162
|
-
gh auth login
|
|
163
|
-
gh repo create symi-workspace --private --source . --remote origin --push
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
选项 C:GitLab 网页界面
|
|
167
|
-
|
|
168
|
-
1. 在 GitLab 上创建新的**私有**仓库。
|
|
169
|
-
2. 不要用 README 初始化(避免合并冲突)。
|
|
170
|
-
3. 复制 HTTPS 远程 URL。
|
|
171
|
-
4. 添加远程并推送:
|
|
172
|
-
|
|
173
|
-
```bash
|
|
174
|
-
git branch -M main
|
|
175
|
-
git remote add origin <https-url>
|
|
176
|
-
git push -u origin main
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
### 3)持续更新
|
|
180
|
-
|
|
181
|
-
```bash
|
|
182
|
-
git status
|
|
183
|
-
git add .
|
|
184
|
-
git commit -m "Update memory"
|
|
185
|
-
git push
|
|
186
|
-
```
|
|
187
|
-
|
|
188
|
-
## 不要提交密钥
|
|
189
|
-
|
|
190
|
-
即使在私有仓库中,也要避免在工作区中存储密钥:
|
|
191
|
-
|
|
192
|
-
- API 密钥、OAuth token、密码或私有凭证。
|
|
193
|
-
- `~/.symi/` 下的任何内容。
|
|
194
|
-
- 聊天的原始转储或敏感附件。
|
|
195
|
-
|
|
196
|
-
如果你必须存储敏感引用,请使用占位符并将真正的密钥保存在其他地方(密码管理器、环境变量或 `~/.symi/`)。
|
|
197
|
-
|
|
198
|
-
建议的 `.gitignore` 起始配置:
|
|
199
|
-
|
|
200
|
-
```gitignore
|
|
201
|
-
.DS_Store
|
|
202
|
-
.env
|
|
203
|
-
**/*.key
|
|
204
|
-
**/*.pem
|
|
205
|
-
**/secrets*
|
|
206
|
-
```
|
|
207
|
-
|
|
208
|
-
## 将工作区迁移到新机器
|
|
209
|
-
|
|
210
|
-
1. 将仓库克隆到所需路径(默认 `~/.symi/workspace`)。
|
|
211
|
-
2. 在 `~/.symi/symi.json` 中将 `agents.defaults.workspace` 设置为该路径。
|
|
212
|
-
3. 运行 `symi setup --workspace <path>` 来填充任何缺失的文件。
|
|
213
|
-
4. 如果你需要会话,请单独从旧机器复制 `~/.symi/agents/<agentId>/sessions/`。
|
|
214
|
-
|
|
215
|
-
## 高级注意事项
|
|
216
|
-
|
|
217
|
-
- 多智能体路由可以为每个智能体使用不同的工作区。参见
|
|
218
|
-
[渠道路由](/channels/channel-routing) 了解路由配置。
|
|
219
|
-
- 如果启用了 `agents.defaults.sandbox`,非主会话可以在 `agents.defaults.sandbox.workspaceRoot` 下使用每会话沙箱工作区。
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
read_when:
|
|
3
|
-
- 更改智能体运行时、工作区引导或会话行为时
|
|
4
|
-
summary: 智能体运行时(嵌入式 pi-mono)、工作区契约和会话引导
|
|
5
|
-
title: 智能体运行时
|
|
6
|
-
x-i18n:
|
|
7
|
-
generated_at: "2026-02-03T10:04:53Z"
|
|
8
|
-
model: claude-opus-4-5
|
|
9
|
-
provider: pi
|
|
10
|
-
source_hash: 04b4e0bc6345d2afd9a93186e5d7a02a393ec97da2244e531703cb6a1c182325
|
|
11
|
-
source_path: concepts/agent.md
|
|
12
|
-
workflow: 15
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
# 智能体运行时 🤖
|
|
16
|
-
|
|
17
|
-
Symi 运行一个源自 **pi-mono** 的嵌入式智能体运行时。
|
|
18
|
-
|
|
19
|
-
## 工作区(必需)
|
|
20
|
-
|
|
21
|
-
Symi 使用单一智能体工作区目录(`agents.defaults.workspace`)作为智能体**唯一**的工作目录(`cwd`),用于工具和上下文。
|
|
22
|
-
|
|
23
|
-
建议:使用 `symi setup` 在缺失时创建 `~/.symi/symi.json` 并初始化工作区文件。
|
|
24
|
-
|
|
25
|
-
完整工作区布局 + 备份指南:[智能体工作区](/concepts/agent-workspace)
|
|
26
|
-
|
|
27
|
-
如果启用了 `agents.defaults.sandbox`,非主会话可以在 `agents.defaults.sandbox.workspaceRoot` 下使用按会话隔离的工作区覆盖此设置(参见 [Gateway 网关配置](/gateway/configuration))。
|
|
28
|
-
|
|
29
|
-
## 引导文件(注入)
|
|
30
|
-
|
|
31
|
-
在 `agents.defaults.workspace` 内,Symi 期望以下用户可编辑的文件:
|
|
32
|
-
|
|
33
|
-
- `AGENTS.md` — 操作指令 + "记忆"
|
|
34
|
-
- `SYMICORE.md` — 人设、边界、语气
|
|
35
|
-
- `TOOLS.md` — 用户维护的工具说明(例如 `imsg`、`sag`、约定)
|
|
36
|
-
- `BOOTSTRAP.md` — 一次性首次运行仪式(完成后删除)
|
|
37
|
-
- `IDENTITY.md` — 智能体名称/风格/表情
|
|
38
|
-
- `USER.md` — 用户档案 + 偏好称呼
|
|
39
|
-
|
|
40
|
-
在新会话的第一轮,Symi 将这些文件的内容直接注入智能体上下文。
|
|
41
|
-
|
|
42
|
-
空文件会被跳过。大文件会被修剪和截断并添加标记,以保持提示词精简(阅读文件获取完整内容)。
|
|
43
|
-
|
|
44
|
-
如果文件缺失,Symi 会注入一行"文件缺失"标记(`symi setup` 将创建安全的默认模板)。
|
|
45
|
-
|
|
46
|
-
`BOOTSTRAP.md` 仅在**全新工作区**(没有其他引导文件存在)时创建。如果你在完成仪式后删除它,后续重启不应重新创建。
|
|
47
|
-
|
|
48
|
-
要完全禁用引导文件创建(用于预置工作区),请设置:
|
|
49
|
-
|
|
50
|
-
```json5
|
|
51
|
-
{ agent: { skipBootstrap: true } }
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
## 内置工具
|
|
55
|
-
|
|
56
|
-
核心工具(read/exec/edit/write 及相关系统工具)始终可用,受工具策略约束。`apply_patch` 是可选的,由 `tools.exec.applyPatch` 控制。`TOOLS.md` **不**控制哪些工具存在;它是关于*你*希望如何使用它们的指导。
|
|
57
|
-
|
|
58
|
-
## Skills
|
|
59
|
-
|
|
60
|
-
Symi 从三个位置加载 Skills(名称冲突时工作区优先):
|
|
61
|
-
|
|
62
|
-
- 内置(随安装包提供)
|
|
63
|
-
- 托管/本地:`~/.symi/skills`
|
|
64
|
-
- 工作区:`<workspace>/skills`
|
|
65
|
-
|
|
66
|
-
Skills 可通过配置/环境变量控制(参见 [Gateway 网关配置](/gateway/configuration) 中的 `skills`)。
|
|
67
|
-
|
|
68
|
-
## pi-mono 集成
|
|
69
|
-
|
|
70
|
-
Symi 复用 pi-mono 代码库的部分内容(模型/工具),但**会话管理、设备发现和工具连接由 Symi 负责**。
|
|
71
|
-
|
|
72
|
-
- 无 pi-coding 智能体运行时。
|
|
73
|
-
- 不读取 `~/.pi/agent` 或 `<workspace>/.pi` 设置。
|
|
74
|
-
|
|
75
|
-
## 会话
|
|
76
|
-
|
|
77
|
-
会话记录以 JSONL 格式存储在:
|
|
78
|
-
|
|
79
|
-
- `~/.symi/agents/<agentId>/sessions/<SessionId>.jsonl`
|
|
80
|
-
|
|
81
|
-
会话 ID 是稳定的,由 Symi 选择。
|
|
82
|
-
**不**读取旧版 Pi/Tau 会话文件夹。
|
|
83
|
-
|
|
84
|
-
## 流式传输中的引导
|
|
85
|
-
|
|
86
|
-
当队列模式为 `steer` 时,入站消息会注入当前运行。
|
|
87
|
-
队列在**每次工具调用后**检查;如果存在排队消息,当前助手消息的剩余工具调用将被跳过(工具结果显示错误"Skipped due to queued user message."),然后在下一个助手响应前注入排队的用户消息。
|
|
88
|
-
|
|
89
|
-
当队列模式为 `followup` 或 `collect` 时,入站消息会保留到当前轮次结束,然后使用排队的载荷开始新的智能体轮次。参见 [队列](/concepts/queue) 了解模式 + 防抖/上限行为。
|
|
90
|
-
|
|
91
|
-
分块流式传输在助手块完成后立即发送;默认为**关闭**(`agents.defaults.blockStreamingDefault: "off"`)。
|
|
92
|
-
通过 `agents.defaults.blockStreamingBreak` 调整边界(`text_end` 与 `message_end`;默认为 text_end)。
|
|
93
|
-
使用 `agents.defaults.blockStreamingChunk` 控制软块分块(默认 800–1200 字符;优先段落分隔,其次换行;最后是句子)。
|
|
94
|
-
使用 `agents.defaults.blockStreamingCoalesce` 合并流式块以减少单行刷屏(发送前基于空闲的合并)。非 Telegram 渠道需要显式设置 `*.blockStreaming: true` 以启用分块回复。
|
|
95
|
-
工具启动时发出详细工具摘要(无防抖);Control UI 在可用时通过智能体事件流式传输工具输出。
|
|
96
|
-
更多详情:[流式传输 + 分块](/concepts/streaming)。
|
|
97
|
-
|
|
98
|
-
## 模型引用
|
|
99
|
-
|
|
100
|
-
配置中的模型引用(例如 `agents.defaults.model` 和 `agents.defaults.models`)通过在**第一个** `/` 处分割来解析。
|
|
101
|
-
|
|
102
|
-
- 配置模型时使用 `provider/model`。
|
|
103
|
-
- 如果模型 ID 本身包含 `/`(OpenRouter 风格),请包含提供商前缀(例如:`openrouter/moonshotai/kimi-k2`)。
|
|
104
|
-
- 如果省略提供商,Symi 将输入视为别名或**默认提供商**的模型(仅在模型 ID 中没有 `/` 时有效)。
|
|
105
|
-
|
|
106
|
-
## 配置(最小)
|
|
107
|
-
|
|
108
|
-
至少需要设置:
|
|
109
|
-
|
|
110
|
-
- `agents.defaults.workspace`
|
|
111
|
-
- `channels.whatsapp.allowFrom`(强烈建议)
|
|
112
|
-
|
|
113
|
-
---
|
|
114
|
-
|
|
115
|
-
_下一篇:[群聊](/channels/group-messages)_ 🦞
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
read_when:
|
|
3
|
-
- 正在开发 Gateway 网关协议、客户端或传输层
|
|
4
|
-
summary: WebSocket Gateway 网关架构、组件和客户端流程
|
|
5
|
-
title: Gateway 网关架构
|
|
6
|
-
x-i18n:
|
|
7
|
-
generated_at: "2026-02-03T07:45:55Z"
|
|
8
|
-
model: claude-opus-4-5
|
|
9
|
-
provider: pi
|
|
10
|
-
source_hash: c636d5d8a5e628067432b30671466309e3d630b106d413f1708765bf2a9399a1
|
|
11
|
-
source_path: concepts/architecture.md
|
|
12
|
-
workflow: 15
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
# Gateway 网关架构
|
|
16
|
-
|
|
17
|
-
最后更新:2026-01-22
|
|
18
|
-
|
|
19
|
-
## 概述
|
|
20
|
-
|
|
21
|
-
- 控制平面客户端(macOS 应用、CLI、Web 界面、自动化)通过配置的绑定主机(默认 `127.0.0.1:18789`)上的 **WebSocket** 连接到 Gateway 网关。
|
|
22
|
-
- **节点**(macOS/iOS/Android/无头设备)也通过 **WebSocket** 连接,但声明 `role: node` 并带有明确的能力/命令。
|
|
23
|
-
- 每台主机一个 Gateway 网关;它是唯一打开 WhatsApp 会话的位置。
|
|
24
|
-
- **canvas 主机**(默认 `18793`)提供智能体可编辑的 HTML 和 A2UI。
|
|
25
|
-
|
|
26
|
-
## 组件和流程
|
|
27
|
-
|
|
28
|
-
### Gateway 网关(守护进程)
|
|
29
|
-
|
|
30
|
-
- 维护提供商连接。
|
|
31
|
-
- 暴露类型化的 WS API(请求、响应、服务器推送事件)。
|
|
32
|
-
- 根据 JSON Schema 验证入站帧。
|
|
33
|
-
- 发出事件如 `agent`、`chat`、`presence`、`health`、`heartbeat`、`cron`。
|
|
34
|
-
|
|
35
|
-
### 客户端(mac 应用 / CLI / web 管理)
|
|
36
|
-
|
|
37
|
-
- 每个客户端一个 WS 连接。
|
|
38
|
-
- 发送请求(`health`、`status`、`send`、`agent`、`system-presence`)。
|
|
39
|
-
- 订阅事件(`tick`、`agent`、`presence`、`shutdown`)。
|
|
40
|
-
|
|
41
|
-
### 节点(macOS / iOS / Android / 无头设备)
|
|
42
|
-
|
|
43
|
-
- 以 `role: node` 连接到**同一个 WS 服务器**。
|
|
44
|
-
- 在 `connect` 中提供设备身份;配对是**基于设备**的(角色为 `node`),批准存储在设备配对存储中。
|
|
45
|
-
- 暴露命令如 `canvas.*`、`camera.*`、`screen.record`、`location.get`。
|
|
46
|
-
|
|
47
|
-
协议详情:
|
|
48
|
-
|
|
49
|
-
- [Gateway 网关协议](/gateway/protocol)
|
|
50
|
-
|
|
51
|
-
### WebChat
|
|
52
|
-
|
|
53
|
-
- 静态界面,使用 Gateway 网关 WS API 获取聊天历史和发送消息。
|
|
54
|
-
- 在远程设置中,通过与其他客户端相同的 SSH/Tailscale 隧道连接。
|
|
55
|
-
|
|
56
|
-
## 连接生命周期(单个客户端)
|
|
57
|
-
|
|
58
|
-
```
|
|
59
|
-
Client Gateway
|
|
60
|
-
| |
|
|
61
|
-
|---- req:connect -------->|
|
|
62
|
-
|<------ res (ok) ---------| (or res error + close)
|
|
63
|
-
| (payload=hello-ok carries snapshot: presence + health)
|
|
64
|
-
| |
|
|
65
|
-
|<------ event:presence ---|
|
|
66
|
-
|<------ event:tick -------|
|
|
67
|
-
| |
|
|
68
|
-
|------- req:agent ------->|
|
|
69
|
-
|<------ res:agent --------| (ack: {runId,status:"accepted"})
|
|
70
|
-
|<------ event:agent ------| (streaming)
|
|
71
|
-
|<------ res:agent --------| (final: {runId,status,summary})
|
|
72
|
-
| |
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
## 线路协议(摘要)
|
|
76
|
-
|
|
77
|
-
- 传输:WebSocket,带 JSON 载荷的文本帧。
|
|
78
|
-
- 第一帧**必须**是 `connect`。
|
|
79
|
-
- 握手后:
|
|
80
|
-
- 请求:`{type:"req", id, method, params}` → `{type:"res", id, ok, payload|error}`
|
|
81
|
-
- 事件:`{type:"event", event, payload, seq?, stateVersion?}`
|
|
82
|
-
- 如果设置了 `SYMI_GATEWAY_TOKEN`(或 `--token`),`connect.params.auth.token` 必须匹配,否则套接字关闭。
|
|
83
|
-
- 有副作用的方法(`send`、`agent`)需要幂等键以安全重试;服务器保持短期去重缓存。
|
|
84
|
-
- 节点必须在 `connect` 中包含 `role: "node"` 以及能力/命令/权限。
|
|
85
|
-
|
|
86
|
-
## 配对 + 本地信任
|
|
87
|
-
|
|
88
|
-
- 所有 WS 客户端(操作员 + 节点)在 `connect` 时包含**设备身份**。
|
|
89
|
-
- 新设备 ID 需要配对批准;Gateway 网关为后续连接颁发**设备令牌**。
|
|
90
|
-
- **本地**连接(loopback 或 Gateway 网关主机自身的 tailnet 地址)可以自动批准以保持同主机用户体验流畅。
|
|
91
|
-
- **非本地**连接必须签名 `connect.challenge` nonce 并需要明确批准。
|
|
92
|
-
- Gateway 网关认证(`gateway.auth.*`)仍适用于**所有**连接,无论本地还是远程。
|
|
93
|
-
|
|
94
|
-
详情:[Gateway 网关协议](/gateway/protocol)、[配对](/channels/pairing)、[安全](/gateway/security)。
|
|
95
|
-
|
|
96
|
-
## 协议类型和代码生成
|
|
97
|
-
|
|
98
|
-
- TypeBox 模式定义协议。
|
|
99
|
-
- 从这些模式生成 JSON Schema。
|
|
100
|
-
- 从 JSON Schema 生成 Swift 模型。
|
|
101
|
-
|
|
102
|
-
## 远程访问
|
|
103
|
-
|
|
104
|
-
- 推荐:Tailscale 或 VPN。
|
|
105
|
-
- 替代方案:SSH 隧道
|
|
106
|
-
```bash
|
|
107
|
-
ssh -N -L 18789:127.0.0.1:18789 user@host
|
|
108
|
-
```
|
|
109
|
-
- 相同的握手 + 认证令牌适用于隧道连接。
|
|
110
|
-
- 远程设置中可以为 WS 启用 TLS + 可选的证书固定。
|
|
111
|
-
|
|
112
|
-
## 操作快照
|
|
113
|
-
|
|
114
|
-
- 启动:`symi gateway`(前台,日志输出到 stdout)。
|
|
115
|
-
- 健康检查:通过 WS 的 `health`(也包含在 `hello-ok` 中)。
|
|
116
|
-
- 监控:使用 launchd/systemd 自动重启。
|
|
117
|
-
|
|
118
|
-
## 不变量
|
|
119
|
-
|
|
120
|
-
- 每台主机恰好一个 Gateway 网关控制单个 Baileys 会话。
|
|
121
|
-
- 握手是强制的;任何非 JSON 或非 connect 的第一帧都会导致硬关闭。
|
|
122
|
-
- 事件不会重放;客户端必须在出现间隙时刷新。
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
read_when:
|
|
3
|
-
- 你想了解自动压缩和 /compact
|
|
4
|
-
- 你正在调试长会话触及上下文限制的问题
|
|
5
|
-
summary: 上下文窗口 + 压缩:Symi 如何将会话保持在模型限制内
|
|
6
|
-
title: 压缩
|
|
7
|
-
x-i18n:
|
|
8
|
-
generated_at: "2026-02-01T20:22:17Z"
|
|
9
|
-
model: claude-opus-4-5
|
|
10
|
-
provider: pi
|
|
11
|
-
source_hash: e1d6791f2902044b5798ebf9320a7d055d37211eff4be03caa35d7e328ae803c
|
|
12
|
-
source_path: concepts/compaction.md
|
|
13
|
-
workflow: 14
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
# 上下文窗口与压缩
|
|
17
|
-
|
|
18
|
-
每个模型都有一个**上下文窗口**(可见的最大 token 数)。长时间运行的对话会累积消息和工具结果;一旦窗口空间紧张,Symi 会**压缩**较早的历史记录以保持在限制范围内。
|
|
19
|
-
|
|
20
|
-
## 什么是压缩
|
|
21
|
-
|
|
22
|
-
压缩会将**较早的对话总结**为一条紧凑的摘要条目,并保持近期消息不变。摘要存储在会话历史中,因此后续请求使用的是:
|
|
23
|
-
|
|
24
|
-
- 压缩摘要
|
|
25
|
-
- 压缩点之后的近期消息
|
|
26
|
-
|
|
27
|
-
压缩会**持久化**到会话的 JSONL 历史记录中。
|
|
28
|
-
|
|
29
|
-
## 配置
|
|
30
|
-
|
|
31
|
-
有关 `agents.defaults.compaction` 设置,请参阅[压缩配置与模式](/concepts/compaction)。
|
|
32
|
-
|
|
33
|
-
## 自动压缩(默认开启)
|
|
34
|
-
|
|
35
|
-
当会话接近或超过模型的上下文窗口时,Symi 会触发自动压缩,并可能使用压缩后的上下文重试原始请求。
|
|
36
|
-
|
|
37
|
-
你会看到:
|
|
38
|
-
|
|
39
|
-
- 详细模式下显示 `🧹 Auto-compaction complete`
|
|
40
|
-
- `/status` 显示 `🧹 Compactions: <count>`
|
|
41
|
-
|
|
42
|
-
在压缩之前,Symi 可以运行一次**静默记忆刷写**轮次,将持久化笔记写入磁盘。详情及配置请参阅[记忆](/concepts/memory)。
|
|
43
|
-
|
|
44
|
-
## 手动压缩
|
|
45
|
-
|
|
46
|
-
使用 `/compact`(可选附带指令)强制执行一次压缩:
|
|
47
|
-
|
|
48
|
-
```
|
|
49
|
-
/compact Focus on decisions and open questions
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
## 上下文窗口来源
|
|
53
|
-
|
|
54
|
-
上下文窗口因模型而异。Symi 使用已配置提供商目录中的模型定义来确定限制。
|
|
55
|
-
|
|
56
|
-
## 压缩与修剪
|
|
57
|
-
|
|
58
|
-
- **压缩**:总结并**持久化**到 JSONL 中。
|
|
59
|
-
- **会话修剪**:仅裁剪旧的**工具结果**,**在内存中**按请求进行。
|
|
60
|
-
|
|
61
|
-
有关修剪的详情,请参阅 [/concepts/session-pruning](/concepts/session-pruning)。
|
|
62
|
-
|
|
63
|
-
## 提示
|
|
64
|
-
|
|
65
|
-
- 当会话感觉过时或上下文臃肿时,使用 `/compact`。
|
|
66
|
-
- 大型工具输出已被截断;修剪可以进一步减少工具结果的堆积。
|
|
67
|
-
- 如果你需要全新开始,`/new` 或 `/reset` 会启动一个新的会话 ID。
|