@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,91 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
read_when:
|
|
3
|
-
- 更改自动回复执行或并发设置时
|
|
4
|
-
summary: 用于序列化入站自动回复运行的命令队列设计
|
|
5
|
-
title: 命令队列
|
|
6
|
-
x-i18n:
|
|
7
|
-
generated_at: "2026-02-03T10:05:28Z"
|
|
8
|
-
model: claude-opus-4-5
|
|
9
|
-
provider: pi
|
|
10
|
-
source_hash: 2104c24d200fb4f9620e52a19255cd614ababe19d78f3ee42936dc6d0499b73b
|
|
11
|
-
source_path: concepts/queue.md
|
|
12
|
-
workflow: 15
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
# 命令队列(2026-01-16)
|
|
16
|
-
|
|
17
|
-
我们通过一个小型进程内队列序列化入站自动回复运行(所有渠道),以防止多个智能体运行发生冲突,同时仍允许跨会话的安全并行。
|
|
18
|
-
|
|
19
|
-
## 为什么需要
|
|
20
|
-
|
|
21
|
-
- 自动回复运行可能开销很大(LLM 调用),当多条入站消息接近同时到达时可能发生冲突。
|
|
22
|
-
- 序列化可以避免竞争共享资源(会话文件、日志、CLI stdin),并降低上游速率限制的可能性。
|
|
23
|
-
|
|
24
|
-
## 工作原理
|
|
25
|
-
|
|
26
|
-
- 一个支持通道感知的 FIFO 队列以可配置的并发上限排空每个通道(未配置的通道默认为 1;main 默认为 4,subagent 为 8)。
|
|
27
|
-
- `runEmbeddedPiAgent` 按**会话键**入队(通道 `session:<key>`),以保证每个会话只有一个活动运行。
|
|
28
|
-
- 然后每个会话运行被排入**全局通道**(默认为 `main`),因此整体并行度受 `agents.defaults.maxConcurrent` 限制。
|
|
29
|
-
- 启用详细日志时,如果排队运行在开始前等待超过约 2 秒,会发出简短通知。
|
|
30
|
-
- 输入指示器仍在入队时立即触发(当渠道支持时),因此在等待轮次时用户体验不受影响。
|
|
31
|
-
|
|
32
|
-
## 队列模式(按渠道)
|
|
33
|
-
|
|
34
|
-
入站消息可以引导当前运行、等待后续轮次,或两者兼顾:
|
|
35
|
-
|
|
36
|
-
- `steer`:立即注入当前运行(在下一个工具边界后取消待处理的工具调用)。如果未在流式传输,则回退到 followup。
|
|
37
|
-
- `followup`:在当前运行结束后为下一个智能体轮次入队。
|
|
38
|
-
- `collect`:将所有排队消息合并为**单个**后续轮次(默认)。如果消息针对不同的渠道/线程,它们会单独排空以保留路由。
|
|
39
|
-
- `steer-backlog`(又名 `steer+backlog`):现在引导**并**保留消息用于后续轮次。
|
|
40
|
-
- `interrupt`(旧版):中止该会话的活动运行,然后运行最新消息。
|
|
41
|
-
- `queue`(旧版别名):与 `steer` 相同。
|
|
42
|
-
|
|
43
|
-
steer-backlog 意味着你可以在被引导的运行之后获得后续响应,因此流式传输界面可能看起来像重复。如果你希望每条入站消息只有一个响应,请优先使用 `collect`/`steer`。
|
|
44
|
-
|
|
45
|
-
默认值(配置中未设置时):
|
|
46
|
-
|
|
47
|
-
- 所有界面 → `collect`
|
|
48
|
-
|
|
49
|
-
通过 `messages.queue` 全局或按渠道配置:
|
|
50
|
-
|
|
51
|
-
```json5
|
|
52
|
-
{
|
|
53
|
-
messages: {
|
|
54
|
-
queue: {
|
|
55
|
-
mode: "collect",
|
|
56
|
-
debounceMs: 1000,
|
|
57
|
-
cap: 20,
|
|
58
|
-
drop: "summarize",
|
|
59
|
-
},
|
|
60
|
-
},
|
|
61
|
-
}
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
## 队列选项
|
|
65
|
-
|
|
66
|
-
选项适用于 `followup`、`collect` 和 `steer-backlog`(以及当 `steer` 回退到 followup 时):
|
|
67
|
-
|
|
68
|
-
- `debounceMs`:在开始后续轮次前等待静默(防止"继续,继续")。
|
|
69
|
-
- `cap`:每个会话的最大排队消息数。
|
|
70
|
-
- `drop`:溢出策略(`old`、`new`、`summarize`)。
|
|
71
|
-
|
|
72
|
-
summarize 保留被丢弃消息的简短要点列表,并将其作为合成的后续提示注入。
|
|
73
|
-
默认值:`debounceMs: 1000`、`cap: 20`、`drop: summarize`。
|
|
74
|
-
|
|
75
|
-
## 按会话覆盖
|
|
76
|
-
|
|
77
|
-
- 发送 `/queue <mode>` 作为独立命令,为当前会话存储该模式。
|
|
78
|
-
- 选项可以组合:`/queue collect debounce:2s cap:25 drop:summarize`
|
|
79
|
-
- `/queue default` 或 `/queue reset` 清除会话覆盖。
|
|
80
|
-
|
|
81
|
-
## 范围和保证
|
|
82
|
-
|
|
83
|
-
- 默认通道(`main`)对入站 + 主心跳是进程范围的;设置 `agents.defaults.maxConcurrent` 以允许多个会话并行。
|
|
84
|
-
- 可能存在额外的通道(例如 `cron`、`subagent`),以便后台任务可以并行运行而不阻塞入站回复。
|
|
85
|
-
- 按会话通道保证一次只有一个智能体运行触及给定会话。
|
|
86
|
-
- 无外部依赖或后台工作线程;纯 TypeScript + promises。
|
|
87
|
-
|
|
88
|
-
## 故障排除
|
|
89
|
-
|
|
90
|
-
- 如果命令似乎卡住,启用详细日志并查找"queued for …ms"行以确认队列正在排空。
|
|
91
|
-
- 如果你需要查看队列深度,启用详细日志并观察队列计时行。
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
read_when:
|
|
3
|
-
- 更新提供商重试行为或默认值
|
|
4
|
-
- 调试提供商发送错误或速率限制
|
|
5
|
-
summary: 出站提供商调用的重试策略
|
|
6
|
-
title: 重试策略
|
|
7
|
-
x-i18n:
|
|
8
|
-
generated_at: "2026-02-01T20:23:37Z"
|
|
9
|
-
model: claude-opus-4-5
|
|
10
|
-
provider: pi
|
|
11
|
-
source_hash: 55bb261ff567f46ce447be9c0ee0c5b5e6d2776287d7662762656c14108dd607
|
|
12
|
-
source_path: concepts/retry.md
|
|
13
|
-
workflow: 14
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
# 重试策略
|
|
17
|
-
|
|
18
|
-
## 目标
|
|
19
|
-
|
|
20
|
-
- 按 HTTP 请求重试,而非按多步骤流程重试。
|
|
21
|
-
- 通过仅重试当前步骤来保持顺序。
|
|
22
|
-
- 避免重复执行非幂等操作。
|
|
23
|
-
|
|
24
|
-
## 默认值
|
|
25
|
-
|
|
26
|
-
- 尝试次数:3
|
|
27
|
-
- 最大延迟上限:30000 毫秒
|
|
28
|
-
- 抖动:0.1(10%)
|
|
29
|
-
- 提供商默认值:
|
|
30
|
-
- Telegram 最小延迟:400 毫秒
|
|
31
|
-
|
|
32
|
-
## 行为
|
|
33
|
-
|
|
34
|
-
- 仅在速率限制错误(HTTP 429)时重试。
|
|
35
|
-
|
|
36
|
-
### Telegram
|
|
37
|
-
|
|
38
|
-
- 在瞬态错误时重试(429、超时、连接/重置/关闭、暂时不可用)。
|
|
39
|
-
- 可用时使用 `retry_after`,否则使用指数退避。
|
|
40
|
-
- Markdown 解析错误不会重试;会回退为纯文本。
|
|
41
|
-
|
|
42
|
-
## 配置
|
|
43
|
-
|
|
44
|
-
在 `~/.symi/symi.json` 中按提供商设置重试策略:
|
|
45
|
-
|
|
46
|
-
```json5
|
|
47
|
-
{
|
|
48
|
-
channels: {
|
|
49
|
-
telegram: {
|
|
50
|
-
retry: {
|
|
51
|
-
attempts: 3,
|
|
52
|
-
minDelayMs: 400,
|
|
53
|
-
maxDelayMs: 30000,
|
|
54
|
-
jitter: 0.1,
|
|
55
|
-
},
|
|
56
|
-
},
|
|
57
|
-
retry: {
|
|
58
|
-
attempts: 3,
|
|
59
|
-
minDelayMs: 500,
|
|
60
|
-
maxDelayMs: 30000,
|
|
61
|
-
jitter: 0.1,
|
|
62
|
-
},
|
|
63
|
-
},
|
|
64
|
-
},
|
|
65
|
-
}
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
## 注意事项
|
|
69
|
-
|
|
70
|
-
- 重试按请求应用(消息发送、媒体上传、表情回应、投票、贴纸)。
|
|
71
|
-
- 组合流程不会重试已完成的步骤。
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
read_when:
|
|
3
|
-
- 你想减少工具输出导致的 LLM 上下文增长
|
|
4
|
-
- 你正在调整 agents.defaults.contextPruning
|
|
5
|
-
summary: 会话剪枝:工具结果修剪以减少上下文膨胀
|
|
6
|
-
x-i18n:
|
|
7
|
-
generated_at: "2026-02-03T07:46:35Z"
|
|
8
|
-
model: claude-opus-4-5
|
|
9
|
-
provider: pi
|
|
10
|
-
source_hash: 9b0aa2d1abea7050ba848a2db038ccc3e6e2d83c6eb4e3843a2ead0ab847574a
|
|
11
|
-
source_path: concepts/session-pruning.md
|
|
12
|
-
workflow: 15
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
# 会话剪枝
|
|
16
|
-
|
|
17
|
-
会话剪枝在每次 LLM 调用之前从内存上下文中修剪**旧的工具结果**。它**不会**重写磁盘上的会话历史(`*.jsonl`)。
|
|
18
|
-
|
|
19
|
-
## 运行时机
|
|
20
|
-
|
|
21
|
-
- 当启用 `mode: "cache-ttl"` 且该会话的最后一次 Anthropic 调用早于 `ttl` 时。
|
|
22
|
-
- 仅影响该请求发送给模型的消息。
|
|
23
|
-
- 仅对 Anthropic API 调用(和 OpenRouter Anthropic 模型)生效。
|
|
24
|
-
- 为获得最佳效果,请将 `ttl` 与你的模型 `cacheControlTtl` 匹配。
|
|
25
|
-
- 剪枝后,TTL 窗口会重置,因此后续请求会保持缓存直到 `ttl` 再次过期。
|
|
26
|
-
|
|
27
|
-
## 智能默认值(Anthropic)
|
|
28
|
-
|
|
29
|
-
- **OAuth 或 setup-token** 配置文件:启用 `cache-ttl` 剪枝并将心跳设置为 `1h`。
|
|
30
|
-
- **API 密钥**配置文件:启用 `cache-ttl` 剪枝,将心跳设置为 `30m`,并将 Anthropic 模型的 `cacheControlTtl` 默认为 `1h`。
|
|
31
|
-
- 如果你显式设置了这些值中的任何一个,Symi **不会**覆盖它们。
|
|
32
|
-
|
|
33
|
-
## 改进内容(成本 + 缓存行为)
|
|
34
|
-
|
|
35
|
-
- **为什么要剪枝:** Anthropic 提示缓存仅在 TTL 内适用。如果会话空闲超过 TTL,下一个请求会重新缓存完整提示,除非你先修剪它。
|
|
36
|
-
- **什么变得更便宜:** 剪枝减少了 TTL 过期后第一个请求的 **cacheWrite** 大小。
|
|
37
|
-
- **为什么 TTL 重置很重要:** 一旦剪枝运行,缓存窗口会重置,因此后续请求可以重用新缓存的提示,而不是再次重新缓存完整历史。
|
|
38
|
-
- **它不做什么:** 剪枝不会添加 token 或"双倍"成本;它只改变该 TTL 后第一个请求缓存的内容。
|
|
39
|
-
|
|
40
|
-
## 可以剪枝的内容
|
|
41
|
-
|
|
42
|
-
- 仅 `toolResult` 消息。
|
|
43
|
-
- 用户 + 助手消息**永远不会**被修改。
|
|
44
|
-
- 最后 `keepLastAssistants` 条助手消息受保护;该截止点之后的工具结果不会被剪枝。
|
|
45
|
-
- 如果没有足够的助手消息来确定截止点,则跳过剪枝。
|
|
46
|
-
- 包含**图像块**的工具结果会被跳过(永不修剪/清除)。
|
|
47
|
-
|
|
48
|
-
## 上下文窗口估算
|
|
49
|
-
|
|
50
|
-
剪枝使用估算的上下文窗口(字符 ≈ token × 4)。基础窗口按以下顺序解析:
|
|
51
|
-
|
|
52
|
-
1. `models.providers.*.models[].contextWindow` 覆盖。
|
|
53
|
-
2. 模型定义 `contextWindow`(来自模型注册表)。
|
|
54
|
-
3. 默认 `200000` token。
|
|
55
|
-
|
|
56
|
-
如果设置了 `agents.defaults.contextTokens`,它将被视为解析窗口的上限(最小值)。
|
|
57
|
-
|
|
58
|
-
## 模式
|
|
59
|
-
|
|
60
|
-
### cache-ttl
|
|
61
|
-
|
|
62
|
-
- 仅当最后一次 Anthropic 调用早于 `ttl`(默认 `5m`)时才运行剪枝。
|
|
63
|
-
- 运行时:与之前相同的软修剪 + 硬清除行为。
|
|
64
|
-
|
|
65
|
-
## 软剪枝 vs 硬剪枝
|
|
66
|
-
|
|
67
|
-
- **软修剪**:仅用于过大的工具结果。
|
|
68
|
-
- 保留头部 + 尾部,插入 `...`,并附加一个包含原始大小的注释。
|
|
69
|
-
- 跳过包含图像块的结果。
|
|
70
|
-
- **硬清除**:用 `hardClear.placeholder` 替换整个工具结果。
|
|
71
|
-
|
|
72
|
-
## 工具选择
|
|
73
|
-
|
|
74
|
-
- `tools.allow` / `tools.deny` 支持 `*` 通配符。
|
|
75
|
-
- 拒绝优先。
|
|
76
|
-
- 匹配不区分大小写。
|
|
77
|
-
- 允许列表为空 => 允许所有工具。
|
|
78
|
-
|
|
79
|
-
## 与其他限制的交互
|
|
80
|
-
|
|
81
|
-
- 内置工具已经截断自己的输出;会话剪枝是一个额外的层,防止长时间运行的聊天在模型上下文中累积过多的工具输出。
|
|
82
|
-
- 压缩是独立的:压缩进行总结并持久化,剪枝是每个请求的临时操作。参阅 [/concepts/compaction](/concepts/compaction)。
|
|
83
|
-
|
|
84
|
-
## 默认值(启用时)
|
|
85
|
-
|
|
86
|
-
- `ttl`:`"5m"`
|
|
87
|
-
- `keepLastAssistants`:`3`
|
|
88
|
-
- `softTrimRatio`:`0.3`
|
|
89
|
-
- `hardClearRatio`:`0.5`
|
|
90
|
-
- `minPrunableToolChars`:`50000`
|
|
91
|
-
- `softTrim`:`{ maxChars: 4000, headChars: 1500, tailChars: 1500 }`
|
|
92
|
-
- `hardClear`:`{ enabled: true, placeholder: "[Old tool result content cleared]" }`
|
|
93
|
-
|
|
94
|
-
## 示例
|
|
95
|
-
|
|
96
|
-
默认(关闭):
|
|
97
|
-
|
|
98
|
-
```json5
|
|
99
|
-
{
|
|
100
|
-
agent: {
|
|
101
|
-
contextPruning: { mode: "off" },
|
|
102
|
-
},
|
|
103
|
-
}
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
启用 TTL 感知剪枝:
|
|
107
|
-
|
|
108
|
-
```json5
|
|
109
|
-
{
|
|
110
|
-
agent: {
|
|
111
|
-
contextPruning: { mode: "cache-ttl", ttl: "5m" },
|
|
112
|
-
},
|
|
113
|
-
}
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
限制剪枝到特定工具:
|
|
117
|
-
|
|
118
|
-
```json5
|
|
119
|
-
{
|
|
120
|
-
agent: {
|
|
121
|
-
contextPruning: {
|
|
122
|
-
mode: "cache-ttl",
|
|
123
|
-
tools: { allow: ["exec", "read"], deny: ["*image*"] },
|
|
124
|
-
},
|
|
125
|
-
},
|
|
126
|
-
}
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
参阅配置参考:[Gateway 网关配置](/gateway/configuration)
|
|
@@ -1,198 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
read_when:
|
|
3
|
-
- 添加或修改会话工具时
|
|
4
|
-
summary: 用于列出会话、获取历史记录和发送跨会话消息的智能体会话工具
|
|
5
|
-
title: 会话工具
|
|
6
|
-
x-i18n:
|
|
7
|
-
generated_at: "2026-02-03T07:46:54Z"
|
|
8
|
-
model: claude-opus-4-5
|
|
9
|
-
provider: pi
|
|
10
|
-
source_hash: cb6e0982ebf507bcf9de4bb17719759c2b6d3e519731c845580a55279084e4c8
|
|
11
|
-
source_path: concepts/session-tool.md
|
|
12
|
-
workflow: 15
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
# 会话工具
|
|
16
|
-
|
|
17
|
-
目标:小型、不易误用的工具集,使智能体能够列出会话、获取历史记录并向另一个会话发送消息。
|
|
18
|
-
|
|
19
|
-
## 工具名称
|
|
20
|
-
|
|
21
|
-
- `sessions_list`
|
|
22
|
-
- `sessions_history`
|
|
23
|
-
- `sessions_send`
|
|
24
|
-
- `sessions_spawn`
|
|
25
|
-
|
|
26
|
-
## 键模型
|
|
27
|
-
|
|
28
|
-
- 主直接聊天桶始终是字面键 `"main"`(解析为当前智能体的主键)。
|
|
29
|
-
- 群聊使用 `agent:<agentId>:<channel>:group:<id>` 或 `agent:<agentId>:<channel>:channel:<id>`(传递完整键)。
|
|
30
|
-
- 定时任务使用 `cron:<job.id>`。
|
|
31
|
-
- Hooks 使用 `hook:<uuid>`,除非明确设置。
|
|
32
|
-
- Node 会话使用 `node-<nodeId>`,除非明确设置。
|
|
33
|
-
|
|
34
|
-
`global` 和 `unknown` 是保留值,永远不会被列出。如果 `session.scope = "global"`,我们会将其别名为 `main` 用于所有工具,这样调用者永远不会看到 `global`。
|
|
35
|
-
|
|
36
|
-
## sessions_list
|
|
37
|
-
|
|
38
|
-
将会话列为行数组。
|
|
39
|
-
|
|
40
|
-
参数:
|
|
41
|
-
|
|
42
|
-
- `kinds?: string[]` 过滤器:`"main" | "group" | "cron" | "hook" | "node" | "other"` 中的任意一个
|
|
43
|
-
- `limit?: number` 最大行数(默认:服务器默认值,限制如 200)
|
|
44
|
-
- `activeMinutes?: number` 仅在 N 分钟内更新的会话
|
|
45
|
-
- `messageLimit?: number` 0 = 无消息(默认 0);>0 = 包含最后 N 条消息
|
|
46
|
-
|
|
47
|
-
行为:
|
|
48
|
-
|
|
49
|
-
- `messageLimit > 0` 获取每个会话的 `chat.history` 并包含最后 N 条消息。
|
|
50
|
-
- 工具结果在列表输出中被过滤;使用 `sessions_history` 获取工具消息。
|
|
51
|
-
- 在**沙箱隔离**的智能体会话中运行时,会话工具默认为**仅生成的可见性**(见下文)。
|
|
52
|
-
|
|
53
|
-
行结构(JSON):
|
|
54
|
-
|
|
55
|
-
- `key`:会话键(字符串)
|
|
56
|
-
- `kind`:`main | group | cron | hook | node | other`
|
|
57
|
-
- `displayName`(如果可用的群组显示标签)
|
|
58
|
-
- `updatedAt`(毫秒)
|
|
59
|
-
- `sessionId`
|
|
60
|
-
- `model`、`contextTokens`、`totalTokens`
|
|
61
|
-
- `thinkingLevel`、`verboseLevel`、`systemSent`、`abortedLastRun`
|
|
62
|
-
- `sendPolicy`(如果设置的会话覆盖)
|
|
63
|
-
- `lastChannel`、`lastTo`
|
|
64
|
-
- `deliveryContext`(可用时的规范化 `{ channel, to, accountId }`)
|
|
65
|
-
- `transcriptPath`(从存储目录 + sessionId 派生的尽力路径)
|
|
66
|
-
- `messages?`(仅当 `messageLimit > 0` 时)
|
|
67
|
-
|
|
68
|
-
## sessions_history
|
|
69
|
-
|
|
70
|
-
获取一个会话的记录。
|
|
71
|
-
|
|
72
|
-
参数:
|
|
73
|
-
|
|
74
|
-
- `sessionKey`(必填;接受会话键或来自 `sessions_list` 的 `sessionId`)
|
|
75
|
-
- `limit?: number` 最大消息数(服务器限制)
|
|
76
|
-
- `includeTools?: boolean`(默认 false)
|
|
77
|
-
|
|
78
|
-
行为:
|
|
79
|
-
|
|
80
|
-
- `includeTools=false` 过滤 `role: "toolResult"` 消息。
|
|
81
|
-
- 以原始记录格式返回消息数组。
|
|
82
|
-
- 当给定 `sessionId` 时,Symi 将其解析为相应的会话键(缺失的 id 会报错)。
|
|
83
|
-
|
|
84
|
-
## sessions_send
|
|
85
|
-
|
|
86
|
-
向另一个会话发送消息。
|
|
87
|
-
|
|
88
|
-
参数:
|
|
89
|
-
|
|
90
|
-
- `sessionKey`(必填;接受会话键或来自 `sessions_list` 的 `sessionId`)
|
|
91
|
-
- `message`(必填)
|
|
92
|
-
- `timeoutSeconds?: number`(默认 >0;0 = 即发即忘)
|
|
93
|
-
|
|
94
|
-
行为:
|
|
95
|
-
|
|
96
|
-
- `timeoutSeconds = 0`:入队并返回 `{ runId, status: "accepted" }`。
|
|
97
|
-
- `timeoutSeconds > 0`:等待最多 N 秒完成,然后返回 `{ runId, status: "ok", reply }`。
|
|
98
|
-
- 如果等待超时:`{ runId, status: "timeout", error }`。运行继续;稍后调用 `sessions_history`。
|
|
99
|
-
- 如果运行失败:`{ runId, status: "error", error }`。
|
|
100
|
-
- 通告投递在主运行完成后运行,且为尽力而为;`status: "ok"` 不保证通告已投递。
|
|
101
|
-
- 通过 Gateway 网关 `agent.wait`(服务器端)等待,因此重连不会丢失等待。
|
|
102
|
-
- 智能体到智能体的消息上下文会为主运行注入。
|
|
103
|
-
- 主运行完成后,Symi 运行**回复循环**:
|
|
104
|
-
- 第 2 轮及以后在请求者和目标智能体之间交替。
|
|
105
|
-
- 精确回复 `REPLY_SKIP` 以停止来回。
|
|
106
|
-
- 最大轮数为 `session.agentToAgent.maxPingPongTurns`(0–5,默认 5)。
|
|
107
|
-
- 循环结束后,Symi 运行**智能体到智能体通告步骤**(仅目标智能体):
|
|
108
|
-
- 精确回复 `ANNOUNCE_SKIP` 以保持静默。
|
|
109
|
-
- 任何其他回复都会发送到目标渠道。
|
|
110
|
-
- 通告步骤包括原始请求 + 第 1 轮回复 + 最新的来回回复。
|
|
111
|
-
|
|
112
|
-
## Channel 字段
|
|
113
|
-
|
|
114
|
-
- 对于群组,`channel` 是会话条目上记录的渠道。
|
|
115
|
-
- 对于直接聊天,`channel` 从 `lastChannel` 映射。
|
|
116
|
-
- 对于 cron/hook/node,`channel` 是 `internal`。
|
|
117
|
-
- 如果缺失,`channel` 是 `unknown`。
|
|
118
|
-
|
|
119
|
-
## 安全 / 发送策略
|
|
120
|
-
|
|
121
|
-
基于策略的按渠道/聊天类型阻止(不是按会话 id)。
|
|
122
|
-
|
|
123
|
-
```json
|
|
124
|
-
{
|
|
125
|
-
"session": {
|
|
126
|
-
"sendPolicy": {
|
|
127
|
-
"rules": [
|
|
128
|
-
{
|
|
129
|
-
"action": "deny"
|
|
130
|
-
}
|
|
131
|
-
],
|
|
132
|
-
"default": "allow"
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
运行时覆盖(按会话条目):
|
|
139
|
-
|
|
140
|
-
- `sendPolicy: "allow" | "deny"`(未设置 = 继承配置)
|
|
141
|
-
- 可通过 `sessions.patch` 或仅所有者的 `/send on|off|inherit`(独立消息)设置。
|
|
142
|
-
|
|
143
|
-
执行点:
|
|
144
|
-
|
|
145
|
-
- `chat.send` / `agent`(Gateway 网关)
|
|
146
|
-
- 自动回复投递逻辑
|
|
147
|
-
|
|
148
|
-
## sessions_spawn
|
|
149
|
-
|
|
150
|
-
在隔离会话中生成子智能体运行,并将结果通告回请求者聊天渠道。
|
|
151
|
-
|
|
152
|
-
参数:
|
|
153
|
-
|
|
154
|
-
- `task`(必填)
|
|
155
|
-
- `label?`(可选;用于日志/UI)
|
|
156
|
-
- `agentId?`(可选;如果允许,在另一个智能体 id 下生成)
|
|
157
|
-
- `model?`(可选;覆盖子智能体模型;无效值会报错)
|
|
158
|
-
- `runTimeoutSeconds?`(默认 0;设置时,在 N 秒后中止子智能体运行)
|
|
159
|
-
- `cleanup?`(`delete|keep`,默认 `keep`)
|
|
160
|
-
|
|
161
|
-
允许列表:
|
|
162
|
-
|
|
163
|
-
- `agents.list[].subagents.allowAgents`:通过 `agentId` 允许的智能体 id 列表(`["*"]` 允许任意)。默认:仅请求者智能体。
|
|
164
|
-
|
|
165
|
-
发现:
|
|
166
|
-
|
|
167
|
-
- 使用 `agents_list` 发现哪些智能体 id 允许用于 `sessions_spawn`。
|
|
168
|
-
|
|
169
|
-
行为:
|
|
170
|
-
|
|
171
|
-
- 使用 `deliver: false` 启动新的 `agent:<agentId>:subagent:<uuid>` 会话。
|
|
172
|
-
- 子智能体默认使用完整工具集**减去会话工具**(可通过 `tools.subagents.tools` 配置)。
|
|
173
|
-
- 子智能体不允许调用 `sessions_spawn`(无子智能体 → 子智能体生成)。
|
|
174
|
-
- 始终非阻塞:立即返回 `{ status: "accepted", runId, childSessionKey }`。
|
|
175
|
-
- 完成后,Symi 运行子智能体**通告步骤**并将结果发布到请求者聊天渠道。
|
|
176
|
-
- 在通告步骤中精确回复 `ANNOUNCE_SKIP` 以保持静默。
|
|
177
|
-
- 通告回复规范化为 `Status`/`Result`/`Notes`;`Status` 来自运行时结果(不是模型文本)。
|
|
178
|
-
- 子智能体会话在 `agents.defaults.subagents.archiveAfterMinutes` 后自动归档(默认:60)。
|
|
179
|
-
- 通告回复包含统计行(运行时间、token 数、sessionKey/sessionId、记录路径和可选成本)。
|
|
180
|
-
|
|
181
|
-
## 沙箱会话可见性
|
|
182
|
-
|
|
183
|
-
沙箱隔离的会话可以使用会话工具,但默认情况下它们只能看到通过 `sessions_spawn` 生成的会话。
|
|
184
|
-
|
|
185
|
-
配置:
|
|
186
|
-
|
|
187
|
-
```json5
|
|
188
|
-
{
|
|
189
|
-
agents: {
|
|
190
|
-
defaults: {
|
|
191
|
-
sandbox: {
|
|
192
|
-
// 默认:"spawned"
|
|
193
|
-
sessionToolsVisibility: "spawned", // 或 "all"
|
|
194
|
-
},
|
|
195
|
-
},
|
|
196
|
-
},
|
|
197
|
-
}
|
|
198
|
-
```
|
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
read_when:
|
|
3
|
-
- 修改会话处理或存储
|
|
4
|
-
summary: 聊天的会话管理规则、键和持久化
|
|
5
|
-
title: 会话管理
|
|
6
|
-
x-i18n:
|
|
7
|
-
generated_at: "2026-02-03T07:47:44Z"
|
|
8
|
-
model: claude-opus-4-5
|
|
9
|
-
provider: pi
|
|
10
|
-
source_hash: 147c8d1a4b6b4864cb16ad942feba80181b6b0e29afa765e7958f8c2483746b5
|
|
11
|
-
source_path: concepts/session.md
|
|
12
|
-
workflow: 15
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
# 会话管理
|
|
16
|
-
|
|
17
|
-
Symi 将**每个智能体的一个直接聊天会话**视为主会话。直接聊天折叠为 `agent:<agentId>:<mainKey>`(默认 `main`),而群组/频道聊天获得各自的键。`session.mainKey` 会被遵循。
|
|
18
|
-
|
|
19
|
-
使用 `session.dmScope` 控制**私信**如何分组:
|
|
20
|
-
|
|
21
|
-
- `main`(默认):所有私信共享主会话以保持连续性。
|
|
22
|
-
- `per-peer`:跨渠道按发送者 ID 隔离。
|
|
23
|
-
- `per-channel-peer`:按渠道 + 发送者隔离(推荐用于多用户收件箱)。
|
|
24
|
-
- `per-account-channel-peer`:按账户 + 渠道 + 发送者隔离(推荐用于多账户收件箱)。
|
|
25
|
-
使用 `session.identityLinks` 将带提供商前缀的对等 ID 映射到规范身份,这样在使用 `per-peer`、`per-channel-peer` 或 `per-account-channel-peer` 时,同一个人可以跨渠道共享私信会话。
|
|
26
|
-
|
|
27
|
-
## Gateway 网关是唯一数据源
|
|
28
|
-
|
|
29
|
-
所有会话状态都**由 Gateway 网关拥有**("主" Symi)。UI 客户端(macOS 应用、WebChat 等)必须向 Gateway 网关查询会话列表和令牌计数,而不是读取本地文件。
|
|
30
|
-
|
|
31
|
-
- 在**远程模式**下,你关心的会话存储位于远程 Gateway 网关主机上,而不是你的 Mac 上。
|
|
32
|
-
- UI 中显示的令牌计数来自 Gateway 网关的存储字段(`inputTokens`、`outputTokens`、`totalTokens`、`contextTokens`)。客户端不会解析 JSONL 对话记录来"修正"总数。
|
|
33
|
-
|
|
34
|
-
## 状态存储位置
|
|
35
|
-
|
|
36
|
-
- 在 **Gateway 网关主机**上:
|
|
37
|
-
- 存储文件:`~/.symi/agents/<agentId>/sessions/sessions.json`(每个智能体)。
|
|
38
|
-
- 对话记录:`~/.symi/agents/<agentId>/sessions/<SessionId>.jsonl`(Telegram 话题会话使用 `.../<SessionId>-topic-<threadId>.jsonl`)。
|
|
39
|
-
- 存储是一个映射 `sessionKey -> { sessionId, updatedAt, ... }`。删除条目是安全的;它们会按需重新创建。
|
|
40
|
-
- 群组条目可能包含 `displayName`、`channel`、`subject`、`room` 和 `space` 以在 UI 中标记会话。
|
|
41
|
-
- 会话条目包含 `origin` 元数据(标签 + 路由提示),以便 UI 可以解释会话的来源。
|
|
42
|
-
- Symi **不**读取旧版 Pi/Tau 会话文件夹。
|
|
43
|
-
|
|
44
|
-
## 会话修剪
|
|
45
|
-
|
|
46
|
-
默认情况下,Symi 在 LLM 调用之前从内存上下文中修剪**旧的工具结果**。
|
|
47
|
-
这**不会**重写 JSONL 历史记录。参见 [/concepts/session-pruning](/concepts/session-pruning)。
|
|
48
|
-
|
|
49
|
-
## 压缩前记忆刷新
|
|
50
|
-
|
|
51
|
-
当会话接近自动压缩时,Symi 可以运行一个**静默记忆刷新**轮次,提醒模型将持久性笔记写入磁盘。这仅在工作区可写时运行。参见[记忆](/concepts/memory)和[压缩](/concepts/compaction)。
|
|
52
|
-
|
|
53
|
-
## 传输到会话键的映射
|
|
54
|
-
|
|
55
|
-
- 直接聊天遵循 `session.dmScope`(默认 `main`)。
|
|
56
|
-
- `main`:`agent:<agentId>:<mainKey>`(跨设备/渠道的连续性)。
|
|
57
|
-
- 多个电话号码和渠道可以映射到同一个智能体主键;它们作为进入同一个对话的传输通道。
|
|
58
|
-
- `per-peer`:`agent:<agentId>:dm:<peerId>`。
|
|
59
|
-
- `per-channel-peer`:`agent:<agentId>:<channel>:dm:<peerId>`。
|
|
60
|
-
- `per-account-channel-peer`:`agent:<agentId>:<channel>:<accountId>:dm:<peerId>`(accountId 默认为 `default`)。
|
|
61
|
-
- 如果 `session.identityLinks` 匹配带提供商前缀的对等 ID(例如 `telegram:123`),则规范键替换 `<peerId>`,这样同一个人可以跨渠道共享会话。
|
|
62
|
-
- 群组聊天隔离状态:`agent:<agentId>:<channel>:group:<id>`(房间/频道使用 `agent:<agentId>:<channel>:channel:<id>`)。
|
|
63
|
-
- Telegram 论坛话题在群组 ID 后附加 `:topic:<threadId>` 以进行隔离。
|
|
64
|
-
- 旧版 `group:<id>` 键仍被识别以进行迁移。
|
|
65
|
-
- 入站上下文可能仍使用 `group:<id>`;渠道从 `Provider` 推断并规范化为规范的 `agent:<agentId>:<channel>:group:<id>` 形式。
|
|
66
|
-
- 其他来源:
|
|
67
|
-
- 定时任务:`cron:<job.id>`
|
|
68
|
-
- Webhooks:`hook:<uuid>`(除非由 hook 显式设置)
|
|
69
|
-
- 节点运行:`node-<nodeId>`
|
|
70
|
-
|
|
71
|
-
## 生命周期
|
|
72
|
-
|
|
73
|
-
- 重置策略:会话被重用直到过期,过期在下一条入站消息时评估。
|
|
74
|
-
- 每日重置:默认为 **Gateway 网关主机本地时间凌晨 4:00**。当会话的最后更新早于最近的每日重置时间时,会话即为过期。
|
|
75
|
-
- 空闲重置(可选):`idleMinutes` 添加一个滑动空闲窗口。当同时配置每日和空闲重置时,**先过期者**强制新会话。
|
|
76
|
-
- 旧版仅空闲模式:如果你设置了 `session.idleMinutes` 而没有任何 `session.reset`/`resetByType` 配置,Symi 会保持仅空闲模式以保持向后兼容。
|
|
77
|
-
- 按渠道覆盖(可选):`resetByChannel` 覆盖渠道的重置策略(适用于该渠道的所有会话类型,优先于 `reset`/`resetByType`)。
|
|
78
|
-
- 重置触发器:精确的 `/new` 或 `/reset`(加上 `resetTriggers` 中的任何额外项)启动新的会话 ID 并传递消息的其余部分。`/new <model>` 接受模型别名、`provider/model` 或提供商名称(模糊匹配)来设置新会话模型。如果单独发送 `/new` 或 `/reset`,Symi 会运行一个简短的"问候"轮次来确认重置。
|
|
79
|
-
- 手动重置:从存储中删除特定键或删除 JSONL 对话记录;下一条消息会重新创建它们。
|
|
80
|
-
- 隔离的定时任务总是每次运行生成新的 `sessionId`(没有空闲重用)。
|
|
81
|
-
|
|
82
|
-
## 发送策略(可选)
|
|
83
|
-
|
|
84
|
-
阻止特定会话类型的投递,无需列出单个 ID。
|
|
85
|
-
|
|
86
|
-
```json5
|
|
87
|
-
{
|
|
88
|
-
session: {
|
|
89
|
-
sendPolicy: {
|
|
90
|
-
rules: [{ action: "deny", match: { keyPrefix: "cron:" } }],
|
|
91
|
-
default: "allow",
|
|
92
|
-
},
|
|
93
|
-
},
|
|
94
|
-
}
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
运行时覆盖(仅所有者):
|
|
98
|
-
|
|
99
|
-
- `/send on` → 为此会话允许
|
|
100
|
-
- `/send off` → 为此会话拒绝
|
|
101
|
-
- `/send inherit` → 清除覆盖并使用配置规则
|
|
102
|
-
将这些作为独立消息发送以使其生效。
|
|
103
|
-
|
|
104
|
-
## 配置(可选重命名示例)
|
|
105
|
-
|
|
106
|
-
```json5
|
|
107
|
-
// ~/.symi/symi.json
|
|
108
|
-
{
|
|
109
|
-
session: {
|
|
110
|
-
scope: "per-sender", // keep group keys separate
|
|
111
|
-
dmScope: "main", // DM continuity (set per-channel-peer/per-account-channel-peer for shared inboxes)
|
|
112
|
-
identityLinks: {},
|
|
113
|
-
reset: {
|
|
114
|
-
// Defaults: mode=daily, atHour=4 (gateway host local time).
|
|
115
|
-
// If you also set idleMinutes, whichever expires first wins.
|
|
116
|
-
mode: "daily",
|
|
117
|
-
atHour: 4,
|
|
118
|
-
idleMinutes: 120,
|
|
119
|
-
},
|
|
120
|
-
resetByType: {
|
|
121
|
-
thread: { mode: "daily", atHour: 4 },
|
|
122
|
-
dm: { mode: "idle", idleMinutes: 240 },
|
|
123
|
-
group: { mode: "idle", idleMinutes: 120 },
|
|
124
|
-
},
|
|
125
|
-
resetByChannel: {},
|
|
126
|
-
resetTriggers: ["/new", "/reset"],
|
|
127
|
-
store: "~/.symi/agents/{agentId}/sessions/sessions.json",
|
|
128
|
-
mainKey: "main",
|
|
129
|
-
},
|
|
130
|
-
}
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
## 检查
|
|
134
|
-
|
|
135
|
-
- `symi status` — 显示存储路径和最近的会话。
|
|
136
|
-
- `symi sessions --json` — 导出每个条目(使用 `--active <minutes>` 过滤)。
|
|
137
|
-
- `symi gateway call sessions.list --params '{}'` — 从运行中的 Gateway 网关获取会话(使用 `--url`/`--token` 进行远程 Gateway 网关访问)。
|
|
138
|
-
- 在聊天中单独发送 `/status` 消息可查看智能体是否可达、会话上下文使用了多少、当前的思考/详细模式开关,以及你的 WhatsApp Web 凭证上次刷新时间(有助于发现重新链接需求)。
|
|
139
|
-
- 发送 `/context list` 或 `/context detail` 查看系统提示中的内容和注入的工作区文件(以及最大的上下文贡献者)。
|
|
140
|
-
- 单独发送 `/stop` 消息可中止当前运行、清除该会话的排队后续操作,并停止从中生成的任何子智能体运行(回复包含已停止的数量)。
|
|
141
|
-
- 单独发送 `/compact`(可选指令)消息可总结旧上下文并释放窗口空间。参见 [/concepts/compaction](/concepts/compaction)。
|
|
142
|
-
- 可以直接打开 JSONL 对话记录查看完整轮次。
|
|
143
|
-
|
|
144
|
-
## 提示
|
|
145
|
-
|
|
146
|
-
- 将主键专用于 1:1 通信;让群组保留各自的键。
|
|
147
|
-
- 自动清理时,删除单个键而不是整个存储,以保留其他地方的上下文。
|
|
148
|
-
|
|
149
|
-
## 会话来源元数据
|
|
150
|
-
|
|
151
|
-
每个会话条目记录其来源(尽力而为)在 `origin` 中:
|
|
152
|
-
|
|
153
|
-
- `label`:人类可读标签(从对话标签 + 群组主题/频道解析)
|
|
154
|
-
- `provider`:规范化的渠道 ID(包括扩展)
|
|
155
|
-
- `from`/`to`:入站信封中的原始路由 ID
|
|
156
|
-
- `accountId`:提供商账户 ID(多账户时)
|
|
157
|
-
- `threadId`:渠道支持时的线程/话题 ID
|
|
158
|
-
来源字段为私信、频道和群组填充。如果连接器仅更新投递路由(例如,保持私信主会话新鲜),它仍应提供入站上下文,以便会话保留其解释器元数据。扩展可以通过在入站上下文中发送 `ConversationLabel`、`GroupSubject`、`GroupChannel`、`GroupSpace` 和 `SenderName` 并调用 `recordSessionMetaFromInbound`(或将相同上下文传递给 `updateLastRoute`)来实现。
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
read_when:
|
|
3
|
-
- 你查找了 docs/sessions.md;规范文档位于 docs/session.md
|
|
4
|
-
summary: 会话管理文档的别名
|
|
5
|
-
title: 会话
|
|
6
|
-
x-i18n:
|
|
7
|
-
generated_at: "2026-02-01T20:23:55Z"
|
|
8
|
-
model: claude-opus-4-5
|
|
9
|
-
provider: pi
|
|
10
|
-
source_hash: 7f1e39c3c07b9bb5cdcda361399cf1ce1226ebae3a797d8f93e734aa6a4d00e2
|
|
11
|
-
source_path: concepts/sessions.md
|
|
12
|
-
workflow: 14
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
# 会话
|
|
16
|
-
|
|
17
|
-
规范的会话管理文档位于[会话管理](/concepts/session)。
|