@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,42 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
read_when:
|
|
3
|
-
- 你正在对接提供商使用量/配额界面
|
|
4
|
-
- 你需要解释使用量跟踪行为或认证要求
|
|
5
|
-
summary: 使用量跟踪界面及凭据要求
|
|
6
|
-
title: 使用量跟踪
|
|
7
|
-
x-i18n:
|
|
8
|
-
generated_at: "2026-02-01T20:24:46Z"
|
|
9
|
-
model: claude-opus-4-5
|
|
10
|
-
provider: pi
|
|
11
|
-
source_hash: 6f6ed2a70329b2a6206c327aa749a84fbfe979762caca5f0e7fb556f91631cbb
|
|
12
|
-
source_path: concepts/usage-tracking.md
|
|
13
|
-
workflow: 14
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
# 使用量跟踪
|
|
17
|
-
|
|
18
|
-
## 功能简介
|
|
19
|
-
|
|
20
|
-
- 直接从提供商的使用量端点拉取使用量/配额数据。
|
|
21
|
-
- 不提供估算费用;仅展示提供商报告的时间窗口数据。
|
|
22
|
-
|
|
23
|
-
## 展示位置
|
|
24
|
-
|
|
25
|
-
- 聊天中的 `/status`:包含会话 token 数和估算费用的表情符号丰富的状态卡片(仅限 API 密钥)。当可用时,会显示**当前模型提供商**的使用量。
|
|
26
|
-
- 聊天中的 `/usage off|tokens|full`:每次响应的使用量页脚(OAuth 仅显示 token 数)。
|
|
27
|
-
- 聊天中的 `/usage cost`:从 Symi 会话日志汇总的本地费用摘要。
|
|
28
|
-
- CLI:`symi status --usage` 打印完整的按提供商分类的详细信息。
|
|
29
|
-
- CLI:`symi channels list` 在提供商配置旁打印相同的使用量快照(使用 `--no-usage` 跳过)。
|
|
30
|
-
- macOS 菜单栏:上下文菜单下的"使用量"部分(仅在可用时显示)。
|
|
31
|
-
|
|
32
|
-
## 提供商及凭据
|
|
33
|
-
|
|
34
|
-
- **Anthropic (Claude)**:认证配置中的 OAuth 令牌。
|
|
35
|
-
- **GitHub Copilot**:认证配置中的 OAuth 令牌。
|
|
36
|
-
- **Gemini CLI**:认证配置中的 OAuth 令牌。
|
|
37
|
-
- **Antigravity**:认证配置中的 OAuth 令牌。
|
|
38
|
-
- **OpenAI Codex**:认证配置中的 OAuth 令牌(存在时使用 accountId)。
|
|
39
|
-
- **MiniMax**:API 密钥(编程计划密钥;`MINIMAX_CODE_PLAN_KEY` 或 `MINIMAX_API_KEY`);使用 5 小时编程计划时间窗口。
|
|
40
|
-
- **z.ai**:通过环境变量/配置/认证存储提供的 API 密钥。
|
|
41
|
-
|
|
42
|
-
如果没有匹配的 OAuth/API 凭据,使用量信息将被隐藏。
|
package/docs/zh-CN/date-time.md
DELETED
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
read_when:
|
|
3
|
-
- 你正在更改向模型或用户展示时间戳的方式
|
|
4
|
-
- 你正在调试消息或系统提示词输出中的时间格式问题
|
|
5
|
-
summary: 信封、提示词、工具和连接器中的日期与时间处理
|
|
6
|
-
title: 日期与时间
|
|
7
|
-
x-i18n:
|
|
8
|
-
generated_at: "2026-02-01T20:24:52Z"
|
|
9
|
-
model: claude-opus-4-5
|
|
10
|
-
provider: pi
|
|
11
|
-
source_hash: 753af5946a006215d6af2467fa478f3abb42b1dff027cf85d5dc4c7ba4b58d39
|
|
12
|
-
source_path: date-time.md
|
|
13
|
-
workflow: 14
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
# 日期与时间
|
|
17
|
-
|
|
18
|
-
Symi 默认使用**主机本地时间作为传输时间戳**,并且**仅在系统提示词中使用用户时区**。
|
|
19
|
-
提供商时间戳会被保留,因此工具保持其原生语义(当前时间可通过 `session_status` 获取)。
|
|
20
|
-
|
|
21
|
-
## 消息信封(默认为本地时间)
|
|
22
|
-
|
|
23
|
-
入站消息会附带一个时间戳(分钟精度):
|
|
24
|
-
|
|
25
|
-
```
|
|
26
|
-
[Provider ... 2026-01-05 16:26 PST] message text
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
此信封时间戳**默认为主机本地时间**,与提供商时区无关。
|
|
30
|
-
|
|
31
|
-
你可以覆盖此行为:
|
|
32
|
-
|
|
33
|
-
```json5
|
|
34
|
-
{
|
|
35
|
-
agents: {
|
|
36
|
-
defaults: {
|
|
37
|
-
envelopeTimezone: "local", // "utc" | "local" | "user" | IANA 时区
|
|
38
|
-
envelopeTimestamp: "on", // "on" | "off"
|
|
39
|
-
envelopeElapsed: "on", // "on" | "off"
|
|
40
|
-
},
|
|
41
|
-
},
|
|
42
|
-
}
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
- `envelopeTimezone: "utc"` 使用 UTC。
|
|
46
|
-
- `envelopeTimezone: "local"` 使用主机时区。
|
|
47
|
-
- `envelopeTimezone: "user"` 使用 `agents.defaults.userTimezone`(回退到主机时区)。
|
|
48
|
-
- 使用显式 IANA 时区(例如 `"America/Chicago"`)指定固定时区。
|
|
49
|
-
- `envelopeTimestamp: "off"` 从信封头中移除绝对时间戳。
|
|
50
|
-
- `envelopeElapsed: "off"` 移除已用时间后缀(`+2m` 样式)。
|
|
51
|
-
|
|
52
|
-
### 示例
|
|
53
|
-
|
|
54
|
-
**本地时间(默认):**
|
|
55
|
-
|
|
56
|
-
```
|
|
57
|
-
[WhatsApp +1555 2026-01-18 00:19 PST] hello
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
**用户时区:**
|
|
61
|
-
|
|
62
|
-
```
|
|
63
|
-
[WhatsApp +1555 2026-01-18 00:19 CST] hello
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
**启用已用时间:**
|
|
67
|
-
|
|
68
|
-
```
|
|
69
|
-
[WhatsApp +1555 +30s 2026-01-18T05:19Z] follow-up
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
## 系统提示词:当前日期与时间
|
|
73
|
-
|
|
74
|
-
如果已知用户时区,系统提示词会包含一个专门的**当前日期与时间**部分,其中仅包含**时区**(不含时钟/时间格式),以保持提示词缓存的稳定性:
|
|
75
|
-
|
|
76
|
-
```
|
|
77
|
-
Time zone: America/Chicago
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
当智能体需要获取当前时间时,请使用 `session_status` 工具;状态卡中包含时间戳行。
|
|
81
|
-
|
|
82
|
-
## 系统事件行(默认为本地时间)
|
|
83
|
-
|
|
84
|
-
插入到智能体上下文中的排队系统事件会带有时间戳前缀,使用与消息信封相同的时区选择(默认:主机本地时间)。
|
|
85
|
-
|
|
86
|
-
```
|
|
87
|
-
System: [2026-01-12 12:19:17 PST] Model switched.
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
### 配置用户时区和格式
|
|
91
|
-
|
|
92
|
-
```json5
|
|
93
|
-
{
|
|
94
|
-
agents: {
|
|
95
|
-
defaults: {
|
|
96
|
-
userTimezone: "America/Chicago",
|
|
97
|
-
timeFormat: "auto", // auto | 12 | 24
|
|
98
|
-
},
|
|
99
|
-
},
|
|
100
|
-
}
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
- `userTimezone` 设置提示词上下文中的**用户本地时区**。
|
|
104
|
-
- `timeFormat` 控制提示词中的 **12 小时/24 小时显示格式**。`auto` 跟随操作系统偏好设置。
|
|
105
|
-
|
|
106
|
-
## 时间格式检测(auto)
|
|
107
|
-
|
|
108
|
-
当 `timeFormat: "auto"` 时,Symi 会检查操作系统偏好设置(macOS/Windows),并回退到区域格式。检测到的值会**按进程缓存**,以避免重复的系统调用。
|
|
109
|
-
|
|
110
|
-
## 工具载荷 + 连接器(原始提供商时间 + 标准化字段)
|
|
111
|
-
|
|
112
|
-
渠道工具返回**提供商原生时间戳**,并添加标准化字段以保持一致性:
|
|
113
|
-
|
|
114
|
-
- `timestampMs`:纪元毫秒数(UTC)
|
|
115
|
-
- `timestampUtc`:ISO 8601 UTC 字符串
|
|
116
|
-
|
|
117
|
-
原始提供商字段会被保留,不会丢失任何数据。
|
|
118
|
-
|
|
119
|
-
- Slack:来自 API 的类纪元字符串
|
|
120
|
-
- Telegram/WhatsApp:提供商特定的数字/ISO 时间戳
|
|
121
|
-
|
|
122
|
-
如果需要本地时间,请使用已知时区在下游进行转换。
|
|
123
|
-
|
|
124
|
-
## 相关文档
|
|
125
|
-
|
|
126
|
-
- [系统提示词](/concepts/system-prompt)
|
|
127
|
-
- [时区](/concepts/timezone)
|
|
128
|
-
- [消息](/concepts/messages)
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
read_when:
|
|
3
|
-
- 调试仅限 Node 的开发脚本或 watch 模式失败
|
|
4
|
-
- 排查 Symi 中 tsx/esbuild 加载器崩溃问题
|
|
5
|
-
summary: Node + tsx "__name is not a function" 崩溃说明及解决方法
|
|
6
|
-
title: Node + tsx 崩溃
|
|
7
|
-
x-i18n:
|
|
8
|
-
generated_at: "2026-02-01T20:24:52Z"
|
|
9
|
-
model: claude-opus-4-5
|
|
10
|
-
provider: pi
|
|
11
|
-
source_hash: f9e9bd2281508337a0696126b0db2d47a2d0f56de7a11872fbc0ac4689f9ad41
|
|
12
|
-
source_path: debug/node-issue.md
|
|
13
|
-
workflow: 14
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
# Node + tsx "\_\_name is not a function" 崩溃
|
|
17
|
-
|
|
18
|
-
## 概述
|
|
19
|
-
|
|
20
|
-
通过 Node 使用 `tsx` 运行 Symi 时,启动阶段报错:
|
|
21
|
-
|
|
22
|
-
```
|
|
23
|
-
[symi] Failed to start CLI: TypeError: __name is not a function
|
|
24
|
-
at createSubsystemLogger (.../src/logging/subsystem.ts:203:25)
|
|
25
|
-
at .../src/agents/auth-profiles/constants.ts:25:20
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
此问题在开发脚本从 Bun 切换到 `tsx` 后出现(提交 `2871657e`,2026-01-06)。相同的运行路径在 Bun 下正常工作。
|
|
29
|
-
|
|
30
|
-
## 环境
|
|
31
|
-
|
|
32
|
-
- Node: v25.x(在 v25.3.0 上观察到)
|
|
33
|
-
- tsx: 4.21.0
|
|
34
|
-
- 操作系统: macOS(其他运行 Node 25 的平台也可能复现)
|
|
35
|
-
|
|
36
|
-
## 复现步骤(仅 Node)
|
|
37
|
-
|
|
38
|
-
```bash
|
|
39
|
-
# 在仓库根目录
|
|
40
|
-
node --version
|
|
41
|
-
pnpm install
|
|
42
|
-
node --import tsx src/entry.ts status
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
## 仓库内最小复现
|
|
46
|
-
|
|
47
|
-
```bash
|
|
48
|
-
node --import tsx scripts/repro/tsx-name-repro.ts
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
## Node 版本检查
|
|
52
|
-
|
|
53
|
-
- Node 25.3.0:失败
|
|
54
|
-
- Node 22.22.0(Homebrew `node@22`):失败
|
|
55
|
-
- Node 24:尚未安装,需要验证
|
|
56
|
-
|
|
57
|
-
## 说明 / 假设
|
|
58
|
-
|
|
59
|
-
- `tsx` 使用 esbuild 转换 TS/ESM。esbuild 的 `keepNames` 会生成一个 `__name` 辅助函数,并用 `__name(...)` 包裹函数定义。
|
|
60
|
-
- 崩溃表明 `__name` 存在但在运行时不是函数,这意味着在 Node 25 的加载器路径中该辅助函数缺失或被覆盖。
|
|
61
|
-
- 其他 esbuild 使用者也报告过类似的 `__name` 辅助函数缺失或被重写的问题。
|
|
62
|
-
|
|
63
|
-
## 回归历史
|
|
64
|
-
|
|
65
|
-
- `2871657e`(2026-01-06):脚本从 Bun 改为 tsx,使 Bun 成为可选项。
|
|
66
|
-
- 在此之前(Bun 路径),`symi status` 和 `gateway:watch` 均正常工作。
|
|
67
|
-
|
|
68
|
-
## 解决方法
|
|
69
|
-
|
|
70
|
-
- 开发脚本使用 Bun(当前临时回退方案)。
|
|
71
|
-
- 使用 Node + tsc watch,然后运行编译产物:
|
|
72
|
-
```bash
|
|
73
|
-
pnpm exec tsc --watch --preserveWatchOutput
|
|
74
|
-
node --watch symi.mjs status
|
|
75
|
-
```
|
|
76
|
-
- 已在本地确认:`pnpm exec tsc -p tsconfig.json` + `node symi.mjs status` 在 Node 25 上可正常运行。
|
|
77
|
-
- 如果可能,在 TS 加载器中禁用 esbuild 的 keepNames(防止插入 `__name` 辅助函数);tsx 目前不提供此配置项。
|
|
78
|
-
- 在 Node LTS(22/24)上测试 `tsx`,确认该问题是否为 Node 25 特有。
|
|
79
|
-
|
|
80
|
-
## 参考资料
|
|
81
|
-
|
|
82
|
-
- https://opennext.js.org/cloudflare/howtos/keep_names
|
|
83
|
-
- https://esbuild.github.io/api/#keep-names
|
|
84
|
-
- https://github.com/evanw/esbuild/issues/1031
|
|
85
|
-
|
|
86
|
-
## 后续步骤
|
|
87
|
-
|
|
88
|
-
- 在 Node 22/24 上复现,确认是否为 Node 25 回归问题。
|
|
89
|
-
- 测试 `tsx` nightly 版本,或在存在已知回归时固定到早期版本。
|
|
90
|
-
- 如果在 Node LTS 上也能复现,则向上游提交包含 `__name` 堆栈跟踪的最小复现。
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
read_when:
|
|
3
|
-
- 你需要定向调试日志而不提高全局日志级别
|
|
4
|
-
- 你需要为支持人员捕获特定子系统的日志
|
|
5
|
-
summary: 用于定向调试日志的诊断标志
|
|
6
|
-
title: 诊断标志
|
|
7
|
-
x-i18n:
|
|
8
|
-
generated_at: "2026-02-03T10:05:34Z"
|
|
9
|
-
model: claude-opus-4-5
|
|
10
|
-
provider: pi
|
|
11
|
-
source_hash: daf0eca0e6bd1cbc2c400b2e94e1698709a96b9cdba1a8cf00bd580a61829124
|
|
12
|
-
source_path: diagnostics/flags.md
|
|
13
|
-
workflow: 15
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
# 诊断标志
|
|
17
|
-
|
|
18
|
-
诊断标志让你可以启用定向调试日志,而无需在所有地方开启详细日志。标志是可选启用的,除非子系统检查它们,否则不会生效。
|
|
19
|
-
|
|
20
|
-
## 工作原理
|
|
21
|
-
|
|
22
|
-
- 标志是字符串(不区分大小写)。
|
|
23
|
-
- 你可以在配置中或通过环境变量覆盖来启用标志。
|
|
24
|
-
- 支持通配符:
|
|
25
|
-
- `telegram.*` 匹配 `telegram.http`
|
|
26
|
-
- `*` 启用所有标志
|
|
27
|
-
|
|
28
|
-
## 通过配置启用
|
|
29
|
-
|
|
30
|
-
```json
|
|
31
|
-
{
|
|
32
|
-
"diagnostics": {
|
|
33
|
-
"flags": ["telegram.http"]
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
多个标志:
|
|
39
|
-
|
|
40
|
-
```json
|
|
41
|
-
{
|
|
42
|
-
"diagnostics": {
|
|
43
|
-
"flags": ["telegram.http", "gateway.*"]
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
更改标志后重启 Gateway 网关。
|
|
49
|
-
|
|
50
|
-
## 环境变量覆盖(一次性)
|
|
51
|
-
|
|
52
|
-
```bash
|
|
53
|
-
SYMI_DIAGNOSTICS=telegram.http,telegram.payload
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
禁用所有标志:
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
SYMI_DIAGNOSTICS=0
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
## 日志存储位置
|
|
63
|
-
|
|
64
|
-
标志将日志输出到标准诊断日志文件。默认位置:
|
|
65
|
-
|
|
66
|
-
```
|
|
67
|
-
/tmp/symi/symi-YYYY-MM-DD.log
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
如果你设置了 `logging.file`,则使用该路径。日志为 JSONL 格式(每行一个 JSON 对象)。脱敏仍然根据 `logging.redactSensitive` 应用。
|
|
71
|
-
|
|
72
|
-
## 提取日志
|
|
73
|
-
|
|
74
|
-
选择最新的日志文件:
|
|
75
|
-
|
|
76
|
-
```bash
|
|
77
|
-
ls -t /tmp/symi/symi-*.log | head -n 1
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
过滤 Telegram HTTP 诊断:
|
|
81
|
-
|
|
82
|
-
```bash
|
|
83
|
-
rg "telegram http error" /tmp/symi/symi-*.log
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
或在复现时使用 tail:
|
|
87
|
-
|
|
88
|
-
```bash
|
|
89
|
-
tail -f /tmp/symi/symi-$(date +%F).log | rg "telegram http error"
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
对于远程 Gateway 网关,你也可以使用 `symi logs --follow`(参见 [/cli/logs](/cli/logs))。
|
|
93
|
-
|
|
94
|
-
## 注意事项
|
|
95
|
-
|
|
96
|
-
- 如果 `logging.level` 设置为高于 `warn`,这些日志可能会被抑制。默认的 `info` 级别即可。
|
|
97
|
-
- 标志可以安全地保持启用状态;它们只影响特定子系统的日志量。
|
|
98
|
-
- 使用 [/logging](/logging) 更改日志目标、级别和脱敏设置。
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
read_when: Changing onboarding wizard steps or config schema endpoints
|
|
3
|
-
summary: 新手引导向导和配置模式的 RPC 协议说明
|
|
4
|
-
title: 新手引导和配置协议
|
|
5
|
-
x-i18n:
|
|
6
|
-
generated_at: "2026-02-03T07:47:10Z"
|
|
7
|
-
model: claude-opus-4-5
|
|
8
|
-
provider: pi
|
|
9
|
-
source_hash: 55163b3ee029c02476800cb616a054e5adfe97dae5bb72f2763dce0079851e06
|
|
10
|
-
source_path: experiments/onboarding-config-protocol.md
|
|
11
|
-
workflow: 15
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
# 新手引导 + 配置协议
|
|
15
|
-
|
|
16
|
-
目的:CLI、macOS 应用和 Web UI 之间共享的新手引导 + 配置界面。
|
|
17
|
-
|
|
18
|
-
## 组件
|
|
19
|
-
|
|
20
|
-
- 向导引擎(共享会话 + 提示 + 新手引导状态)。
|
|
21
|
-
- CLI 新手引导使用与 UI 客户端相同的向导流程。
|
|
22
|
-
- Gateway 网关 RPC 公开向导 + 配置模式端点。
|
|
23
|
-
- macOS 新手引导使用向导步骤模型。
|
|
24
|
-
- Web UI 从 JSON Schema + UI 提示渲染配置表单。
|
|
25
|
-
|
|
26
|
-
## Gateway 网关 RPC
|
|
27
|
-
|
|
28
|
-
- `wizard.start` 参数:`{ mode?: "local"|"remote", workspace?: string }`
|
|
29
|
-
- `wizard.next` 参数:`{ sessionId, answer?: { stepId, value? } }`
|
|
30
|
-
- `wizard.cancel` 参数:`{ sessionId }`
|
|
31
|
-
- `wizard.status` 参数:`{ sessionId }`
|
|
32
|
-
- `config.schema` 参数:`{}`
|
|
33
|
-
|
|
34
|
-
响应(结构)
|
|
35
|
-
|
|
36
|
-
- 向导:`{ sessionId, done, step?, status?, error? }`
|
|
37
|
-
- 配置模式:`{ schema, uiHints, version, generatedAt }`
|
|
38
|
-
|
|
39
|
-
## UI 提示
|
|
40
|
-
|
|
41
|
-
- `uiHints` 按路径键入;可选元数据(label/help/group/order/advanced/sensitive/placeholder)。
|
|
42
|
-
- 敏感字段渲染为密码输入;无脱敏层。
|
|
43
|
-
- 不支持的模式节点回退到原始 JSON 编辑器。
|
|
44
|
-
|
|
45
|
-
## 注意
|
|
46
|
-
|
|
47
|
-
- 本文档是跟踪新手引导/配置协议重构的唯一位置。
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
last_updated: "2026-01-05"
|
|
3
|
-
owner: symi
|
|
4
|
-
status: complete
|
|
5
|
-
summary: 加固 cron.add 输入处理,对齐 schema,改进 cron UI/智能体工具
|
|
6
|
-
title: Cron Add 加固
|
|
7
|
-
x-i18n:
|
|
8
|
-
generated_at: "2026-02-03T07:47:26Z"
|
|
9
|
-
model: claude-opus-4-5
|
|
10
|
-
provider: pi
|
|
11
|
-
source_hash: d7e469674bd9435b846757ea0d5dc8f174eaa8533917fc013b1ef4f82859496d
|
|
12
|
-
source_path: experiments/plans/cron-add-hardening.md
|
|
13
|
-
workflow: 15
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
# Cron Add 加固 & Schema 对齐
|
|
17
|
-
|
|
18
|
-
## 背景
|
|
19
|
-
|
|
20
|
-
最近的 Gateway 网关日志显示重复的 `cron.add` 失败,参数无效(缺少 `sessionTarget`、`wakeMode`、`payload`,以及格式错误的 `schedule`)。这表明至少有一个客户端(可能是智能体工具调用路径)正在发送包装的或部分指定的任务负载。另外,TypeScript 中的 cron 提供商枚举、Gateway 网关 schema、CLI 标志和 UI 表单类型之间存在漂移,加上 `cron.status` 的 UI 不匹配(期望 `jobCount` 而 Gateway 网关返回 `jobs`)。
|
|
21
|
-
|
|
22
|
-
## 目标
|
|
23
|
-
|
|
24
|
-
- 通过规范化常见的包装负载并推断缺失的 `kind` 字段来停止 `cron.add` INVALID_REQUEST 垃圾。
|
|
25
|
-
- 在 Gateway 网关 schema、cron 类型、CLI 文档和 UI 表单之间对齐 cron 提供商列表。
|
|
26
|
-
- 使智能体 cron 工具 schema 明确,以便 LLM 生成正确的任务负载。
|
|
27
|
-
- 修复 Control UI cron 状态任务计数显示。
|
|
28
|
-
- 添加测试以覆盖规范化和工具行为。
|
|
29
|
-
|
|
30
|
-
## 非目标
|
|
31
|
-
|
|
32
|
-
- 更改 cron 调度语义或任务执行行为。
|
|
33
|
-
- 添加新的调度类型或 cron 表达式解析。
|
|
34
|
-
- 除了必要的字段修复外,不大改 cron 的 UI/UX。
|
|
35
|
-
|
|
36
|
-
## 发现(当前差距)
|
|
37
|
-
|
|
38
|
-
- Gateway 网关中的 `CronPayloadSchema` 排除了 `signal` + `imessage`,而 TS 类型包含它们。
|
|
39
|
-
- Control UI CronStatus 期望 `jobCount`,但 Gateway 网关返回 `jobs`。
|
|
40
|
-
- 智能体 cron 工具 schema 允许任意 `job` 对象,导致格式错误的输入。
|
|
41
|
-
- Gateway 网关严格验证 `cron.add` 而不进行规范化,因此包装的负载会失败。
|
|
42
|
-
|
|
43
|
-
## 变更内容
|
|
44
|
-
|
|
45
|
-
- `cron.add` 和 `cron.update` 现在规范化常见的包装形式并推断缺失的 `kind` 字段。
|
|
46
|
-
- 智能体 cron 工具 schema 与 Gateway 网关 schema 匹配,减少无效负载。
|
|
47
|
-
- 提供商枚举在 Gateway 网关、CLI、UI 和 macOS 选择器之间对齐。
|
|
48
|
-
- Control UI 使用 Gateway 网关的 `jobs` 计数字段显示状态。
|
|
49
|
-
|
|
50
|
-
## 当前行为
|
|
51
|
-
|
|
52
|
-
- **规范化:**包装的 `data`/`job` 负载被解包;`schedule.kind` 和 `payload.kind` 在安全时被推断。
|
|
53
|
-
- **默认值:**当缺失时,为 `wakeMode` 和 `sessionTarget` 应用安全默认值。
|
|
54
|
-
|
|
55
|
-
参见 [Cron 任务](/automation/cron-jobs) 了解规范化的形式和示例。
|
|
56
|
-
|
|
57
|
-
## 验证
|
|
58
|
-
|
|
59
|
-
- 观察 Gateway 网关日志中 `cron.add` INVALID_REQUEST 错误是否减少。
|
|
60
|
-
- 确认 Control UI cron 状态在刷新后显示任务计数。
|
|
61
|
-
|
|
62
|
-
## 可选后续工作
|
|
63
|
-
|
|
64
|
-
- 手动 Control UI 冒烟测试:为每个提供商添加一个 cron 任务 + 验证状态任务计数。
|
|
65
|
-
|
|
66
|
-
## 开放问题
|
|
67
|
-
|
|
68
|
-
- `cron.add` 是否应该接受来自客户端的显式 `state`(当前被 schema 禁止)?
|
|
69
|
-
- 我们是否应该允许 `webchat` 作为显式投递提供商(当前在投递解析中被过滤)?
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
read_when:
|
|
3
|
-
- 查看历史 Telegram 允许列表更改
|
|
4
|
-
summary: Telegram 允许列表加固:前缀 + 空白规范化
|
|
5
|
-
title: Telegram 允许列表加固
|
|
6
|
-
x-i18n:
|
|
7
|
-
generated_at: "2026-02-03T07:47:16Z"
|
|
8
|
-
model: claude-opus-4-5
|
|
9
|
-
provider: pi
|
|
10
|
-
source_hash: a2eca5fcc85376948cfe1b6044f1a8bc69c7f0eb94d1ceafedc1e507ba544162
|
|
11
|
-
source_path: experiments/plans/group-policy-hardening.md
|
|
12
|
-
workflow: 15
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
# Telegram 允许列表加固
|
|
16
|
-
|
|
17
|
-
**日期**:2026-01-05
|
|
18
|
-
**状态**:已完成
|
|
19
|
-
**PR**:#216
|
|
20
|
-
|
|
21
|
-
## 摘要
|
|
22
|
-
|
|
23
|
-
Telegram 允许列表现在不区分大小写地接受 `telegram:` 和 `tg:` 前缀,并容忍意外的空白。这使入站允许列表检查与出站发送规范化保持一致。
|
|
24
|
-
|
|
25
|
-
## 更改内容
|
|
26
|
-
|
|
27
|
-
- 前缀 `telegram:` 和 `tg:` 被同等对待(不区分大小写)。
|
|
28
|
-
- 允许列表条目会被修剪;空条目会被忽略。
|
|
29
|
-
|
|
30
|
-
## 示例
|
|
31
|
-
|
|
32
|
-
以下所有形式都被接受为同一 ID:
|
|
33
|
-
|
|
34
|
-
- `telegram:123456`
|
|
35
|
-
- `TG:123456`
|
|
36
|
-
- `tg:123456`
|
|
37
|
-
|
|
38
|
-
## 为什么重要
|
|
39
|
-
|
|
40
|
-
从日志或聊天 ID 复制/粘贴通常会包含前缀和空白。规范化可避免在决定是否在私信或群组中响应时出现误判。
|
|
41
|
-
|
|
42
|
-
## 相关文档
|
|
43
|
-
|
|
44
|
-
- [群聊](/channels/groups)
|
|
45
|
-
- [Telegram 提供商](/channels/telegram)
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
last_updated: "2026-01-19"
|
|
3
|
-
owner: symi
|
|
4
|
-
status: draft
|
|
5
|
-
summary: 计划:添加 OpenResponses /v1/responses 端点并干净地弃用 chat completions
|
|
6
|
-
title: OpenResponses Gateway 网关计划
|
|
7
|
-
x-i18n:
|
|
8
|
-
generated_at: "2026-02-03T07:47:33Z"
|
|
9
|
-
model: claude-opus-4-5
|
|
10
|
-
provider: pi
|
|
11
|
-
source_hash: 71a22c48397507d1648b40766a3153e420c54f2a2d5186d07e51eb3d12e4636a
|
|
12
|
-
source_path: experiments/plans/openresponses-gateway.md
|
|
13
|
-
workflow: 15
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
# OpenResponses Gateway 网关集成计划
|
|
17
|
-
|
|
18
|
-
## 背景
|
|
19
|
-
|
|
20
|
-
Symi Gateway 网关目前在 `/v1/chat/completions` 暴露了一个最小的 OpenAI 兼容 Chat Completions 端点(参见 [OpenAI Chat Completions](/gateway/openai-http-api))。
|
|
21
|
-
|
|
22
|
-
Open Responses 是基于 OpenAI Responses API 的开放推理标准。它专为智能体工作流设计,使用基于项目的输入加语义流式事件。OpenResponses 规范定义的是 `/v1/responses`,而不是 `/v1/chat/completions`。
|
|
23
|
-
|
|
24
|
-
## 目标
|
|
25
|
-
|
|
26
|
-
- 添加一个遵循 OpenResponses 语义的 `/v1/responses` 端点。
|
|
27
|
-
- 保留 Chat Completions 作为兼容层,易于禁用并最终移除。
|
|
28
|
-
- 使用隔离的、可复用的 schema 标准化验证和解析。
|
|
29
|
-
|
|
30
|
-
## 非目标
|
|
31
|
-
|
|
32
|
-
- 第一阶段完全实现 OpenResponses 功能(图片、文件、托管工具)。
|
|
33
|
-
- 替换内部智能体执行逻辑或工具编排。
|
|
34
|
-
- 在第一阶段更改现有的 `/v1/chat/completions` 行为。
|
|
35
|
-
|
|
36
|
-
## 研究摘要
|
|
37
|
-
|
|
38
|
-
来源:OpenResponses OpenAPI、OpenResponses 规范网站和 Hugging Face 博客文章。
|
|
39
|
-
|
|
40
|
-
提取的关键点:
|
|
41
|
-
|
|
42
|
-
- `POST /v1/responses` 接受 `CreateResponseBody` 字段,如 `model`、`input`(字符串或 `ItemParam[]`)、`instructions`、`tools`、`tool_choice`、`stream`、`max_output_tokens` 和 `max_tool_calls`。
|
|
43
|
-
- `ItemParam` 是以下类型的可区分联合:
|
|
44
|
-
- 具有角色 `system`、`developer`、`user`、`assistant` 的 `message` 项
|
|
45
|
-
- `function_call` 和 `function_call_output`
|
|
46
|
-
- `reasoning`
|
|
47
|
-
- `item_reference`
|
|
48
|
-
- 成功响应返回带有 `object: "response"`、`status` 和 `output` 项的 `ResponseResource`。
|
|
49
|
-
- 流式传输使用语义事件,如:
|
|
50
|
-
- `response.created`、`response.in_progress`、`response.completed`、`response.failed`
|
|
51
|
-
- `response.output_item.added`、`response.output_item.done`
|
|
52
|
-
- `response.content_part.added`、`response.content_part.done`
|
|
53
|
-
- `response.output_text.delta`、`response.output_text.done`
|
|
54
|
-
- 规范要求:
|
|
55
|
-
- `Content-Type: text/event-stream`
|
|
56
|
-
- `event:` 必须匹配 JSON `type` 字段
|
|
57
|
-
- 终止事件必须是字面量 `[DONE]`
|
|
58
|
-
- Reasoning 项可能暴露 `content`、`encrypted_content` 和 `summary`。
|
|
59
|
-
- HF 示例在请求中包含 `OpenResponses-Version: latest`(可选头部)。
|
|
60
|
-
|
|
61
|
-
## 提议的架构
|
|
62
|
-
|
|
63
|
-
- 添加 `src/gateway/open-responses.schema.ts`,仅包含 Zod schema(无 gateway 导入)。
|
|
64
|
-
- 添加 `src/gateway/openresponses-http.ts`(或 `open-responses-http.ts`)用于 `/v1/responses`。
|
|
65
|
-
- 保持 `src/gateway/openai-http.ts` 不变,作为遗留兼容适配器。
|
|
66
|
-
- 添加配置 `gateway.http.endpoints.responses.enabled`(默认 `false`)。
|
|
67
|
-
- 保持 `gateway.http.endpoints.chatCompletions.enabled` 独立;允许两个端点分别切换。
|
|
68
|
-
- 当 Chat Completions 启用时发出启动警告,以表明其遗留状态。
|
|
69
|
-
|
|
70
|
-
## Chat Completions 弃用路径
|
|
71
|
-
|
|
72
|
-
- 保持严格的模块边界:responses 和 chat completions 之间不共享 schema 类型。
|
|
73
|
-
- 通过配置使 Chat Completions 成为可选,这样无需代码更改即可禁用。
|
|
74
|
-
- 一旦 `/v1/responses` 稳定,更新文档将 Chat Completions 标记为遗留。
|
|
75
|
-
- 可选的未来步骤:将 Chat Completions 请求映射到 Responses 处理器,以便更简单地移除。
|
|
76
|
-
|
|
77
|
-
## 第一阶段支持子集
|
|
78
|
-
|
|
79
|
-
- 接受 `input` 为字符串或带有消息角色和 `function_call_output` 的 `ItemParam[]`。
|
|
80
|
-
- 将 system 和 developer 消息提取到 `extraSystemPrompt` 中。
|
|
81
|
-
- 使用最近的 `user` 或 `function_call_output` 作为智能体运行的当前消息。
|
|
82
|
-
- 对不支持的内容部分(图片/文件)返回 `invalid_request_error` 拒绝。
|
|
83
|
-
- 返回带有 `output_text` 内容的单个助手消息。
|
|
84
|
-
- 返回带有零值的 `usage`,直到 token 计数接入。
|
|
85
|
-
|
|
86
|
-
## 验证策略(无 SDK)
|
|
87
|
-
|
|
88
|
-
- 为以下支持子集实现 Zod schema:
|
|
89
|
-
- `CreateResponseBody`
|
|
90
|
-
- `ItemParam` + 消息内容部分联合
|
|
91
|
-
- `ResponseResource`
|
|
92
|
-
- Gateway 网关使用的流式事件形状
|
|
93
|
-
- 将 schema 保存在单个隔离模块中,以避免漂移并允许未来代码生成。
|
|
94
|
-
|
|
95
|
-
## 流式实现(第一阶段)
|
|
96
|
-
|
|
97
|
-
- 带有 `event:` 和 `data:` 的 SSE 行。
|
|
98
|
-
- 所需序列(最小可行):
|
|
99
|
-
- `response.created`
|
|
100
|
-
- `response.output_item.added`
|
|
101
|
-
- `response.content_part.added`
|
|
102
|
-
- `response.output_text.delta`(根据需要重复)
|
|
103
|
-
- `response.output_text.done`
|
|
104
|
-
- `response.content_part.done`
|
|
105
|
-
- `response.completed`
|
|
106
|
-
- `[DONE]`
|
|
107
|
-
|
|
108
|
-
## 测试和验证计划
|
|
109
|
-
|
|
110
|
-
- 为 `/v1/responses` 添加端到端覆盖:
|
|
111
|
-
- 需要认证
|
|
112
|
-
- 非流式响应形状
|
|
113
|
-
- 流式事件顺序和 `[DONE]`
|
|
114
|
-
- 使用头部和 `user` 的会话路由
|
|
115
|
-
- 保持 `src/gateway/openai-http.e2e.test.ts` 不变。
|
|
116
|
-
- 手动:用 `stream: true` curl `/v1/responses` 并验证事件顺序和终止 `[DONE]`。
|
|
117
|
-
|
|
118
|
-
## 文档更新(后续)
|
|
119
|
-
|
|
120
|
-
- 为 `/v1/responses` 使用和示例添加新文档页面。
|
|
121
|
-
- 更新 `/gateway/openai-http-api`,添加遗留说明和指向 `/v1/responses` 的指针。
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
read_when:
|
|
3
|
-
- 探索未来模型选择和认证配置文件的方案
|
|
4
|
-
summary: 探索:模型配置、认证配置文件和回退行为
|
|
5
|
-
title: 模型配置探索
|
|
6
|
-
x-i18n:
|
|
7
|
-
generated_at: "2026-02-01T20:25:05Z"
|
|
8
|
-
model: claude-opus-4-5
|
|
9
|
-
provider: pi
|
|
10
|
-
source_hash: 48623233d80f874c0ae853b51f888599cf8b50ae6fbfe47f6d7b0216bae9500b
|
|
11
|
-
source_path: experiments/proposals/model-config.md
|
|
12
|
-
workflow: 14
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
# 模型配置(探索)
|
|
16
|
-
|
|
17
|
-
本文档记录了未来模型配置的**构想**。这不是正式的发布规范。如需了解当前行为,请参阅:
|
|
18
|
-
|
|
19
|
-
- [模型](/concepts/models)
|
|
20
|
-
- [模型故障转移](/concepts/model-failover)
|
|
21
|
-
- [OAuth + 配置文件](/concepts/oauth)
|
|
22
|
-
|
|
23
|
-
## 动机
|
|
24
|
-
|
|
25
|
-
运营者希望:
|
|
26
|
-
|
|
27
|
-
- 每个提供商支持多个认证配置文件(个人 vs 工作)。
|
|
28
|
-
- 简单的 `/model` 选择,并具有可预测的回退行为。
|
|
29
|
-
- 文本模型与图像模型之间有清晰的分离。
|
|
30
|
-
|
|
31
|
-
## 可能的方向(高层级)
|
|
32
|
-
|
|
33
|
-
- 保持模型选择简洁:`provider/model` 加可选别名。
|
|
34
|
-
- 允许提供商拥有多个认证配置文件,并指定明确的顺序。
|
|
35
|
-
- 使用全局回退列表,使所有会话以一致的方式进行故障转移。
|
|
36
|
-
- 仅在明确配置时才覆盖图像路由。
|
|
37
|
-
|
|
38
|
-
## 待解决的问题
|
|
39
|
-
|
|
40
|
-
- 配置文件轮换应该按提供商还是按模型进行?
|
|
41
|
-
- UI 应如何为会话展示配置文件选择?
|
|
42
|
-
- 从旧版配置键迁移的最安全路径是什么?
|