@symerian/symi 3.0.20 → 3.0.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{audio-preflight-BaCdNfrk.js → audio-preflight-D7BVT-ls.js} +4 -4
- package/dist/build-info.json +3 -3
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{chrome-UfmVM0xR.js → chrome-B5CO2vB5.js} +7 -7
- package/dist/{deliver-BqXdac6W.js → deliver-CrwjsDwv.js} +1 -1
- package/dist/extensionAPI.js +7 -7
- package/dist/{image-DIWsXYcW.js → image-Csu7WcLW.js} +1 -1
- package/dist/{manager-DW3SxcPr.js → manager-BkkVjTO8.js} +1 -1
- package/dist/{pi-embedded-BNch0U5F.js → pi-embedded-Dhp64z5l.js} +16 -16
- package/dist/{pi-embedded-helpers-IkHl02JF.js → pi-embedded-helpers-840E4hop.js} +4 -4
- package/dist/{pw-ai-nMkA-oDJ.js → pw-ai-CBgJf_RR.js} +1 -1
- package/dist/{runner-DNEC58JI.js → runner-BbFKo1ne.js} +1 -1
- package/dist/{synthesis-BWAr0sZ9.js → synthesis-DoEM0E8_.js} +7 -7
- package/dist/{web-7a-m_UxL.js → web-BYXJn-Ps.js} +7 -7
- package/package.json +1 -1
- package/docs/.i18n/README.md +0 -31
- package/docs/.i18n/glossary.ja-JP.json +0 -14
- package/docs/.i18n/glossary.zh-CN.json +0 -210
- package/docs/.i18n/ja-JP.tm.jsonl +0 -0
- package/docs/.i18n/zh-CN.tm.jsonl +0 -1303
- package/docs/CNAME +0 -1
- package/docs/assets/install-script.svg +0 -1
- package/docs/assets/macos-onboarding/01-macos-warning.jpeg +0 -0
- package/docs/assets/macos-onboarding/02-local-networks.jpeg +0 -0
- package/docs/assets/macos-onboarding/03-security-notice.png +0 -0
- package/docs/assets/macos-onboarding/04-choose-gateway.png +0 -0
- package/docs/assets/macos-onboarding/05-permissions.png +0 -0
- package/docs/assets/pixel-symi.svg +0 -60
- package/docs/assets/showcase/agents-ui.jpg +0 -0
- package/docs/assets/showcase/bambu-cli.png +0 -0
- package/docs/assets/showcase/codexmonitor.png +0 -0
- package/docs/assets/showcase/gohome-grafana.png +0 -0
- package/docs/assets/showcase/ios-testflight.jpg +0 -0
- package/docs/assets/showcase/oura-health.png +0 -0
- package/docs/assets/showcase/padel-cli.svg +0 -11
- package/docs/assets/showcase/padel-screenshot.jpg +0 -0
- package/docs/assets/showcase/papla-tts.jpg +0 -0
- package/docs/assets/showcase/pr-review-telegram.jpg +0 -0
- package/docs/assets/showcase/roborock-screenshot.jpg +0 -0
- package/docs/assets/showcase/roborock-status.svg +0 -13
- package/docs/assets/showcase/roof-camera-sky.jpg +0 -0
- package/docs/assets/showcase/snag.png +0 -0
- package/docs/assets/showcase/tesco-shop.jpg +0 -0
- package/docs/assets/showcase/wienerlinien.png +0 -0
- package/docs/assets/showcase/wine-cellar-skill.jpg +0 -0
- package/docs/assets/showcase/winix-air-purifier.jpg +0 -0
- package/docs/assets/showcase/xuezh-pronunciation.jpeg +0 -0
- package/docs/assets/sponsors/blacksmith.svg +0 -14
- package/docs/assets/sponsors/openai.svg +0 -3
- package/docs/assets/symi-logo-text-dark.png +0 -0
- package/docs/assets/symi-logo-text.png +0 -0
- package/docs/automation/auth-monitoring.md +0 -44
- package/docs/automation/cron-jobs.md +0 -540
- package/docs/automation/cron-vs-heartbeat.md +0 -286
- package/docs/automation/gmail-pubsub.md +0 -256
- package/docs/automation/hooks.md +0 -998
- package/docs/automation/poll.md +0 -61
- package/docs/automation/troubleshooting.md +0 -122
- package/docs/automation/webhook.md +0 -213
- package/docs/brave-search.md +0 -41
- package/docs/capabilities.md +0 -151
- package/docs/channels/bluebubbles.md +0 -346
- package/docs/channels/broadcast-groups.md +0 -441
- package/docs/channels/channel-routing.md +0 -112
- package/docs/channels/feishu.md +0 -586
- package/docs/channels/googlechat.md +0 -253
- package/docs/channels/grammy.md +0 -31
- package/docs/channels/group-messages.md +0 -82
- package/docs/channels/groups.md +0 -364
- package/docs/channels/imessage.md +0 -366
- package/docs/channels/index.md +0 -46
- package/docs/channels/irc.md +0 -234
- package/docs/channels/line.md +0 -186
- package/docs/channels/location.md +0 -56
- package/docs/channels/matrix.md +0 -300
- package/docs/channels/mattermost.md +0 -158
- package/docs/channels/msteams.md +0 -769
- package/docs/channels/nextcloud-talk.md +0 -138
- package/docs/channels/nostr.md +0 -233
- package/docs/channels/pairing.md +0 -100
- package/docs/channels/signal.md +0 -322
- package/docs/channels/slack.md +0 -510
- package/docs/channels/telegram.md +0 -748
- package/docs/channels/tlon.md +0 -148
- package/docs/channels/troubleshooting.md +0 -110
- package/docs/channels/twitch.md +0 -379
- package/docs/channels/whatsapp.md +0 -444
- package/docs/channels/zalo.md +0 -192
- package/docs/channels/zalouser.md +0 -140
- package/docs/ci.md +0 -50
- package/docs/cli/acp.md +0 -182
- package/docs/cli/agent.md +0 -24
- package/docs/cli/agents.md +0 -75
- package/docs/cli/approvals.md +0 -50
- package/docs/cli/browser.md +0 -107
- package/docs/cli/channels.md +0 -73
- package/docs/cli/config.md +0 -50
- package/docs/cli/configure.md +0 -32
- package/docs/cli/cron.md +0 -44
- package/docs/cli/dashboard.md +0 -16
- package/docs/cli/devices.md +0 -73
- package/docs/cli/directory.md +0 -62
- package/docs/cli/dns.md +0 -23
- package/docs/cli/docs.md +0 -15
- package/docs/cli/doctor.md +0 -41
- package/docs/cli/gateway.md +0 -202
- package/docs/cli/health.md +0 -21
- package/docs/cli/hooks.md +0 -313
- package/docs/cli/index.md +0 -1029
- package/docs/cli/logs.md +0 -28
- package/docs/cli/memory.md +0 -45
- package/docs/cli/message.md +0 -214
- package/docs/cli/models.md +0 -79
- package/docs/cli/node.md +0 -112
- package/docs/cli/nodes.md +0 -73
- package/docs/cli/onboard.md +0 -76
- package/docs/cli/pairing.md +0 -21
- package/docs/cli/plugins.md +0 -92
- package/docs/cli/reset.md +0 -17
- package/docs/cli/sandbox.md +0 -152
- package/docs/cli/security.md +0 -64
- package/docs/cli/sessions.md +0 -16
- package/docs/cli/setup.md +0 -29
- package/docs/cli/skills.md +0 -26
- package/docs/cli/status.md +0 -25
- package/docs/cli/system.md +0 -60
- package/docs/cli/tui.md +0 -23
- package/docs/cli/uninstall.md +0 -17
- package/docs/cli/update.md +0 -98
- package/docs/cli/voicecall.md +0 -34
- package/docs/cli/webhooks.md +0 -25
- package/docs/concepts/agent-loop.md +0 -148
- package/docs/concepts/agent-workspace.md +0 -234
- package/docs/concepts/agent.md +0 -123
- package/docs/concepts/architecture.md +0 -135
- package/docs/concepts/compaction.md +0 -61
- package/docs/concepts/context.md +0 -161
- package/docs/concepts/features.md +0 -51
- package/docs/concepts/markdown-formatting.md +0 -128
- package/docs/concepts/memory.md +0 -729
- package/docs/concepts/messages.md +0 -153
- package/docs/concepts/model-failover.md +0 -149
- package/docs/concepts/model-providers.md +0 -424
- package/docs/concepts/models.md +0 -208
- package/docs/concepts/multi-agent.md +0 -521
- package/docs/concepts/oauth.md +0 -145
- package/docs/concepts/presence.md +0 -102
- package/docs/concepts/queue.md +0 -86
- package/docs/concepts/retry.md +0 -64
- package/docs/concepts/session-pruning.md +0 -123
- package/docs/concepts/session-tool.md +0 -213
- package/docs/concepts/session.md +0 -199
- package/docs/concepts/sessions.md +0 -10
- package/docs/concepts/streaming.md +0 -129
- package/docs/concepts/system-prompt.md +0 -128
- package/docs/concepts/timezone.md +0 -90
- package/docs/concepts/typebox.md +0 -289
- package/docs/concepts/typing-indicators.md +0 -68
- package/docs/concepts/usage-tracking.md +0 -35
- package/docs/date-time.md +0 -127
- package/docs/debug/node-issue.md +0 -85
- package/docs/diagnostics/flags.md +0 -91
- package/docs/docs.json +0 -1849
- package/docs/experiments/onboarding-config-protocol.md +0 -40
- package/docs/experiments/plans/browser-evaluate-cdp-refactor.md +0 -229
- package/docs/experiments/plans/cron-add-hardening.md +0 -62
- package/docs/experiments/plans/group-policy-hardening.md +0 -40
- package/docs/experiments/plans/openresponses-gateway.md +0 -123
- package/docs/experiments/plans/pty-process-supervision.md +0 -192
- package/docs/experiments/plans/session-binding-channel-agnostic.md +0 -202
- package/docs/experiments/plans/thread-bound-subagents.md +0 -281
- package/docs/experiments/proposals/model-config.md +0 -36
- package/docs/experiments/research/memory.md +0 -228
- package/docs/gateway/authentication.md +0 -162
- package/docs/gateway/background-process.md +0 -96
- package/docs/gateway/bonjour.md +0 -177
- package/docs/gateway/bridge-protocol.md +0 -91
- package/docs/gateway/cli-backends.md +0 -225
- package/docs/gateway/configuration-examples.md +0 -610
- package/docs/gateway/configuration-reference.md +0 -2465
- package/docs/gateway/configuration.md +0 -488
- package/docs/gateway/discovery.md +0 -123
- package/docs/gateway/doctor.md +0 -282
- package/docs/gateway/gateway-lock.md +0 -34
- package/docs/gateway/health.md +0 -35
- package/docs/gateway/heartbeat.md +0 -374
- package/docs/gateway/index.md +0 -254
- package/docs/gateway/local-models.md +0 -150
- package/docs/gateway/logging.md +0 -113
- package/docs/gateway/multiple-gateways.md +0 -112
- package/docs/gateway/network-model.md +0 -20
- package/docs/gateway/openai-http-api.md +0 -119
- package/docs/gateway/openresponses-http-api.md +0 -333
- package/docs/gateway/pairing.md +0 -99
- package/docs/gateway/protocol.md +0 -221
- package/docs/gateway/remote-gateway-readme.md +0 -158
- package/docs/gateway/remote.md +0 -131
- package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +0 -128
- package/docs/gateway/sandboxing.md +0 -203
- package/docs/gateway/security/index.md +0 -931
- package/docs/gateway/tailscale.md +0 -132
- package/docs/gateway/tools-invoke-http-api.md +0 -110
- package/docs/gateway/troubleshooting.md +0 -317
- package/docs/gateway/trusted-proxy-auth.md +0 -270
- package/docs/glass-ui-rendering-invariants.md +0 -451
- package/docs/help/debugging.md +0 -162
- package/docs/help/environment.md +0 -107
- package/docs/help/faq.md +0 -2846
- package/docs/help/index.md +0 -21
- package/docs/help/scripts.md +0 -28
- package/docs/help/testing.md +0 -385
- package/docs/help/troubleshooting.md +0 -264
- package/docs/images/configure-model-picker-unsearchable.png +0 -0
- package/docs/images/feishu-step2-create-app.png +0 -0
- package/docs/images/feishu-step3-credentials.png +0 -0
- package/docs/images/feishu-step4-permissions.png +0 -0
- package/docs/images/feishu-step5-bot-capability.png +0 -0
- package/docs/images/feishu-step6-event-subscription.png +0 -0
- package/docs/images/groups-flow.svg +0 -52
- package/docs/images/mobile-ui-screenshot.png +0 -0
- package/docs/index.md +0 -186
- package/docs/install/ansible.md +0 -207
- package/docs/install/bun.md +0 -59
- package/docs/install/development-channels.md +0 -75
- package/docs/install/docker.md +0 -583
- package/docs/install/exe-dev.md +0 -126
- package/docs/install/fly.md +0 -472
- package/docs/install/gcp.md +0 -499
- package/docs/install/hetzner.md +0 -347
- package/docs/install/index.md +0 -218
- package/docs/install/installer.md +0 -405
- package/docs/install/macos-vm.md +0 -281
- package/docs/install/migrating.md +0 -192
- package/docs/install/nix.md +0 -98
- package/docs/install/node.md +0 -138
- package/docs/install/northflank.mdx +0 -49
- package/docs/install/podman.md +0 -108
- package/docs/install/railway.mdx +0 -95
- package/docs/install/render.mdx +0 -158
- package/docs/install/uninstall.md +0 -128
- package/docs/install/updating.md +0 -231
- package/docs/ja-JP/AGENTS.md +0 -37
- package/docs/ja-JP/index.md +0 -183
- package/docs/ja-JP/start/getting-started.md +0 -125
- package/docs/ja-JP/start/wizard.md +0 -77
- package/docs/logging.md +0 -350
- package/docs/nav-tabs-underline.js +0 -100
- package/docs/network.md +0 -54
- package/docs/nodes/audio.md +0 -133
- package/docs/nodes/camera.md +0 -156
- package/docs/nodes/images.md +0 -72
- package/docs/nodes/index.md +0 -342
- package/docs/nodes/location-command.md +0 -113
- package/docs/nodes/media-understanding.md +0 -379
- package/docs/nodes/talk.md +0 -90
- package/docs/nodes/troubleshooting.md +0 -112
- package/docs/nodes/voicewake.md +0 -65
- package/docs/perplexity.md +0 -80
- package/docs/phase-6.5-pre-flight-audit.md +0 -268
- package/docs/pi-dev.md +0 -70
- package/docs/pi.md +0 -610
- package/docs/platforms/android.md +0 -151
- package/docs/platforms/digitalocean.md +0 -265
- package/docs/platforms/index.md +0 -53
- package/docs/platforms/ios.md +0 -108
- package/docs/platforms/linux.md +0 -94
- package/docs/platforms/mac/bundled-gateway.md +0 -73
- package/docs/platforms/mac/canvas.md +0 -125
- package/docs/platforms/mac/child-process.md +0 -69
- package/docs/platforms/mac/dev-setup.md +0 -104
- package/docs/platforms/mac/health.md +0 -34
- package/docs/platforms/mac/icon.md +0 -31
- package/docs/platforms/mac/logging.md +0 -57
- package/docs/platforms/mac/menu-bar.md +0 -81
- package/docs/platforms/mac/peekaboo.md +0 -65
- package/docs/platforms/mac/permissions.md +0 -50
- package/docs/platforms/mac/release.md +0 -85
- package/docs/platforms/mac/remote.md +0 -84
- package/docs/platforms/mac/signing.md +0 -47
- package/docs/platforms/mac/skills.md +0 -33
- package/docs/platforms/mac/voice-overlay.md +0 -60
- package/docs/platforms/mac/voicewake.md +0 -66
- package/docs/platforms/mac/webchat.md +0 -43
- package/docs/platforms/mac/xpc.md +0 -61
- package/docs/platforms/macos.md +0 -204
- package/docs/platforms/oracle.md +0 -303
- package/docs/platforms/raspberry-pi.md +0 -358
- package/docs/platforms/windows.md +0 -159
- package/docs/plugins/agent-tools.md +0 -99
- package/docs/plugins/community.md +0 -44
- package/docs/plugins/manifest.md +0 -71
- package/docs/plugins/voice-call.md +0 -322
- package/docs/plugins/zalouser.md +0 -81
- package/docs/prose.md +0 -134
- package/docs/providers/anthropic.md +0 -174
- package/docs/providers/bedrock.md +0 -176
- package/docs/providers/claude-max-api-proxy.md +0 -148
- package/docs/providers/cloudflare-ai-gateway.md +0 -71
- package/docs/providers/deepgram.md +0 -93
- package/docs/providers/github-copilot.md +0 -72
- package/docs/providers/glm.md +0 -33
- package/docs/providers/huggingface.md +0 -209
- package/docs/providers/index.md +0 -67
- package/docs/providers/litellm.md +0 -153
- package/docs/providers/minimax.md +0 -208
- package/docs/providers/models.md +0 -52
- package/docs/providers/moonshot.md +0 -142
- package/docs/providers/nvidia.md +0 -55
- package/docs/providers/ollama.md +0 -250
- package/docs/providers/openai.md +0 -62
- package/docs/providers/opencode.md +0 -36
- package/docs/providers/openrouter.md +0 -37
- package/docs/providers/qianfan.md +0 -38
- package/docs/providers/qwen.md +0 -53
- package/docs/providers/synthetic.md +0 -99
- package/docs/providers/together.md +0 -65
- package/docs/providers/venice.md +0 -267
- package/docs/providers/vercel-ai-gateway.md +0 -50
- package/docs/providers/vllm.md +0 -92
- package/docs/providers/xiaomi.md +0 -64
- package/docs/providers/zai.md +0 -38
- package/docs/refactor/exec-host.md +0 -316
- package/docs/refactor/outbound-session-mirroring.md +0 -83
- package/docs/refactor/plugin-sdk.md +0 -214
- package/docs/refactor/strict-config.md +0 -93
- package/docs/refactor/syminet.md +0 -417
- package/docs/reference/AGENTS.default.md +0 -123
- package/docs/reference/RELEASING.md +0 -120
- package/docs/reference/api-usage-costs.md +0 -138
- package/docs/reference/credits.md +0 -28
- package/docs/reference/device-models.md +0 -47
- package/docs/reference/rpc.md +0 -43
- package/docs/reference/session-management-compaction.md +0 -284
- package/docs/reference/test.md +0 -51
- package/docs/reference/token-use.md +0 -136
- package/docs/reference/transcript-hygiene.md +0 -151
- package/docs/reference/wizard.md +0 -265
- package/docs/security/CONTRIBUTING-THREAT-MODEL.md +0 -89
- package/docs/security/README.md +0 -16
- package/docs/security/THREAT-MODEL-ATLAS.md +0 -600
- package/docs/security/formal-verification.md +0 -164
- package/docs/start/bootstrapping.md +0 -41
- package/docs/start/docs-directory.md +0 -63
- package/docs/start/getting-started.md +0 -135
- package/docs/start/hubs.md +0 -196
- package/docs/start/lore.md +0 -216
- package/docs/start/onboarding-overview.md +0 -51
- package/docs/start/onboarding.md +0 -81
- package/docs/start/quickstart.md +0 -22
- package/docs/start/setup.md +0 -160
- package/docs/start/showcase.md +0 -414
- package/docs/start/symi.md +0 -211
- package/docs/start/wizard-cli-automation.md +0 -158
- package/docs/start/wizard-cli-reference.md +0 -255
- package/docs/start/wizard.md +0 -109
- package/docs/style.css +0 -37
- package/docs/tools/agent-send.md +0 -52
- package/docs/tools/apply-patch.md +0 -51
- package/docs/tools/browser-linux-troubleshooting.md +0 -139
- package/docs/tools/browser-login.md +0 -67
- package/docs/tools/browser.md +0 -587
- package/docs/tools/chrome-extension.md +0 -183
- package/docs/tools/creating-skills.md +0 -54
- package/docs/tools/elevated.md +0 -55
- package/docs/tools/exec-approvals.md +0 -261
- package/docs/tools/exec.md +0 -184
- package/docs/tools/firecrawl.md +0 -61
- package/docs/tools/index.md +0 -540
- package/docs/tools/llm-task.md +0 -115
- package/docs/tools/loop-detection.md +0 -98
- package/docs/tools/multi-agent-sandbox-tools.md +0 -396
- package/docs/tools/pipeline.md +0 -340
- package/docs/tools/plugin.md +0 -687
- package/docs/tools/reactions.md +0 -21
- package/docs/tools/skills-config.md +0 -76
- package/docs/tools/skills.md +0 -300
- package/docs/tools/slash-commands.md +0 -202
- package/docs/tools/subagents.md +0 -232
- package/docs/tools/symihub.md +0 -256
- package/docs/tools/thinking.md +0 -75
- package/docs/tools/web.md +0 -265
- package/docs/tts.md +0 -398
- package/docs/vps.md +0 -43
- package/docs/web/control-ui.md +0 -247
- package/docs/web/dashboard.md +0 -46
- package/docs/web/index.md +0 -118
- package/docs/web/tui.md +0 -162
- package/docs/web/webchat.md +0 -53
- package/docs/whatsapp-symi-ai-zh.jpg +0 -0
- package/docs/whatsapp-symi.jpg +0 -0
- package/docs/zh-CN/AGENTS.md +0 -59
- package/docs/zh-CN/automation/auth-monitoring.md +0 -47
- package/docs/zh-CN/automation/cron-jobs.md +0 -422
- package/docs/zh-CN/automation/cron-vs-heartbeat.md +0 -286
- package/docs/zh-CN/automation/gmail-pubsub.md +0 -249
- package/docs/zh-CN/automation/hooks.md +0 -881
- package/docs/zh-CN/automation/poll.md +0 -68
- package/docs/zh-CN/automation/troubleshooting.md +0 -8
- package/docs/zh-CN/automation/webhook.md +0 -161
- package/docs/zh-CN/brave-search.md +0 -48
- package/docs/zh-CN/channels/bluebubbles.md +0 -271
- package/docs/zh-CN/channels/broadcast-groups.md +0 -448
- package/docs/zh-CN/channels/channel-routing.md +0 -112
- package/docs/zh-CN/channels/feishu.md +0 -629
- package/docs/zh-CN/channels/googlechat.md +0 -257
- package/docs/zh-CN/channels/grammy.md +0 -38
- package/docs/zh-CN/channels/group-messages.md +0 -89
- package/docs/zh-CN/channels/groups.md +0 -369
- package/docs/zh-CN/channels/imessage.md +0 -300
- package/docs/zh-CN/channels/index.md +0 -52
- package/docs/zh-CN/channels/line.md +0 -180
- package/docs/zh-CN/channels/location.md +0 -63
- package/docs/zh-CN/channels/matrix.md +0 -221
- package/docs/zh-CN/channels/mattermost.md +0 -144
- package/docs/zh-CN/channels/msteams.md +0 -773
- package/docs/zh-CN/channels/nextcloud-talk.md +0 -142
- package/docs/zh-CN/channels/nostr.md +0 -240
- package/docs/zh-CN/channels/pairing.md +0 -86
- package/docs/zh-CN/channels/signal.md +0 -207
- package/docs/zh-CN/channels/slack.md +0 -529
- package/docs/zh-CN/channels/telegram.md +0 -748
- package/docs/zh-CN/channels/tlon.md +0 -136
- package/docs/zh-CN/channels/troubleshooting.md +0 -34
- package/docs/zh-CN/channels/twitch.md +0 -385
- package/docs/zh-CN/channels/whatsapp.md +0 -411
- package/docs/zh-CN/channels/zalo.md +0 -196
- package/docs/zh-CN/channels/zalouser.md +0 -147
- package/docs/zh-CN/cli/acp.md +0 -173
- package/docs/zh-CN/cli/agent.md +0 -30
- package/docs/zh-CN/cli/agents.md +0 -82
- package/docs/zh-CN/cli/approvals.md +0 -57
- package/docs/zh-CN/cli/browser.md +0 -114
- package/docs/zh-CN/cli/channels.md +0 -80
- package/docs/zh-CN/cli/config.md +0 -57
- package/docs/zh-CN/cli/configure.md +0 -37
- package/docs/zh-CN/cli/cron.md +0 -43
- package/docs/zh-CN/cli/dashboard.md +0 -23
- package/docs/zh-CN/cli/devices.md +0 -74
- package/docs/zh-CN/cli/directory.md +0 -69
- package/docs/zh-CN/cli/dns.md +0 -30
- package/docs/zh-CN/cli/docs.md +0 -22
- package/docs/zh-CN/cli/doctor.md +0 -48
- package/docs/zh-CN/cli/gateway.md +0 -206
- package/docs/zh-CN/cli/health.md +0 -28
- package/docs/zh-CN/cli/hooks.md +0 -298
- package/docs/zh-CN/cli/index.md +0 -1025
- package/docs/zh-CN/cli/logs.md +0 -31
- package/docs/zh-CN/cli/memory.md +0 -52
- package/docs/zh-CN/cli/message.md +0 -205
- package/docs/zh-CN/cli/models.md +0 -85
- package/docs/zh-CN/cli/node.md +0 -115
- package/docs/zh-CN/cli/nodes.md +0 -80
- package/docs/zh-CN/cli/onboard.md +0 -36
- package/docs/zh-CN/cli/pairing.md +0 -28
- package/docs/zh-CN/cli/plugins.md +0 -66
- package/docs/zh-CN/cli/reset.md +0 -24
- package/docs/zh-CN/cli/sandbox.md +0 -158
- package/docs/zh-CN/cli/security.md +0 -33
- package/docs/zh-CN/cli/sessions.md +0 -23
- package/docs/zh-CN/cli/setup.md +0 -36
- package/docs/zh-CN/cli/skills.md +0 -33
- package/docs/zh-CN/cli/status.md +0 -32
- package/docs/zh-CN/cli/system.md +0 -63
- package/docs/zh-CN/cli/tui.md +0 -30
- package/docs/zh-CN/cli/uninstall.md +0 -24
- package/docs/zh-CN/cli/update.md +0 -101
- package/docs/zh-CN/cli/voicecall.md +0 -41
- package/docs/zh-CN/cli/webhooks.md +0 -32
- package/docs/zh-CN/concepts/agent-loop.md +0 -146
- package/docs/zh-CN/concepts/agent-workspace.md +0 -219
- package/docs/zh-CN/concepts/agent.md +0 -115
- package/docs/zh-CN/concepts/architecture.md +0 -122
- package/docs/zh-CN/concepts/compaction.md +0 -67
- package/docs/zh-CN/concepts/context.md +0 -168
- package/docs/zh-CN/concepts/features.md +0 -57
- package/docs/zh-CN/concepts/markdown-formatting.md +0 -115
- package/docs/zh-CN/concepts/memory.md +0 -412
- package/docs/zh-CN/concepts/messages.md +0 -140
- package/docs/zh-CN/concepts/model-failover.md +0 -145
- package/docs/zh-CN/concepts/model-providers.md +0 -320
- package/docs/zh-CN/concepts/models.md +0 -196
- package/docs/zh-CN/concepts/multi-agent.md +0 -371
- package/docs/zh-CN/concepts/oauth.md +0 -151
- package/docs/zh-CN/concepts/presence.md +0 -99
- package/docs/zh-CN/concepts/queue.md +0 -91
- package/docs/zh-CN/concepts/retry.md +0 -71
- package/docs/zh-CN/concepts/session-pruning.md +0 -129
- package/docs/zh-CN/concepts/session-tool.md +0 -198
- package/docs/zh-CN/concepts/session.md +0 -158
- package/docs/zh-CN/concepts/sessions.md +0 -17
- package/docs/zh-CN/concepts/streaming.md +0 -131
- package/docs/zh-CN/concepts/system-prompt.md +0 -99
- package/docs/zh-CN/concepts/timezone.md +0 -94
- package/docs/zh-CN/concepts/typebox.md +0 -284
- package/docs/zh-CN/concepts/typing-indicators.md +0 -74
- package/docs/zh-CN/concepts/usage-tracking.md +0 -42
- package/docs/zh-CN/date-time.md +0 -128
- package/docs/zh-CN/debug/node-issue.md +0 -90
- package/docs/zh-CN/diagnostics/flags.md +0 -98
- package/docs/zh-CN/experiments/onboarding-config-protocol.md +0 -47
- package/docs/zh-CN/experiments/plans/cron-add-hardening.md +0 -69
- package/docs/zh-CN/experiments/plans/group-policy-hardening.md +0 -45
- package/docs/zh-CN/experiments/plans/openresponses-gateway.md +0 -121
- package/docs/zh-CN/experiments/proposals/model-config.md +0 -42
- package/docs/zh-CN/experiments/research/memory.md +0 -235
- package/docs/zh-CN/gateway/authentication.md +0 -142
- package/docs/zh-CN/gateway/background-process.md +0 -100
- package/docs/zh-CN/gateway/bonjour.md +0 -174
- package/docs/zh-CN/gateway/bridge-protocol.md +0 -86
- package/docs/zh-CN/gateway/cli-backends.md +0 -213
- package/docs/zh-CN/gateway/configuration-examples.md +0 -580
- package/docs/zh-CN/gateway/configuration.md +0 -3284
- package/docs/zh-CN/gateway/discovery.md +0 -123
- package/docs/zh-CN/gateway/doctor.md +0 -238
- package/docs/zh-CN/gateway/gateway-lock.md +0 -41
- package/docs/zh-CN/gateway/health.md +0 -42
- package/docs/zh-CN/gateway/heartbeat.md +0 -272
- package/docs/zh-CN/gateway/index.md +0 -335
- package/docs/zh-CN/gateway/local-models.md +0 -157
- package/docs/zh-CN/gateway/logging.md +0 -114
- package/docs/zh-CN/gateway/multiple-gateways.md +0 -119
- package/docs/zh-CN/gateway/network-model.md +0 -23
- package/docs/zh-CN/gateway/openai-http-api.md +0 -125
- package/docs/zh-CN/gateway/openresponses-http-api.md +0 -317
- package/docs/zh-CN/gateway/pairing.md +0 -99
- package/docs/zh-CN/gateway/protocol.md +0 -220
- package/docs/zh-CN/gateway/remote-gateway-readme.md +0 -164
- package/docs/zh-CN/gateway/remote.md +0 -133
- package/docs/zh-CN/gateway/sandbox-vs-tool-policy-vs-elevated.md +0 -135
- package/docs/zh-CN/gateway/sandboxing.md +0 -188
- package/docs/zh-CN/gateway/security/index.md +0 -772
- package/docs/zh-CN/gateway/tailscale.md +0 -124
- package/docs/zh-CN/gateway/tools-invoke-http-api.md +0 -92
- package/docs/zh-CN/gateway/troubleshooting.md +0 -758
- package/docs/zh-CN/help/debugging.md +0 -160
- package/docs/zh-CN/help/environment.md +0 -88
- package/docs/zh-CN/help/faq.md +0 -2613
- package/docs/zh-CN/help/index.md +0 -28
- package/docs/zh-CN/help/scripts.md +0 -35
- package/docs/zh-CN/help/testing.md +0 -375
- package/docs/zh-CN/help/troubleshooting.md +0 -104
- package/docs/zh-CN/index.md +0 -183
- package/docs/zh-CN/install/ansible.md +0 -214
- package/docs/zh-CN/install/bun.md +0 -65
- package/docs/zh-CN/install/development-channels.md +0 -81
- package/docs/zh-CN/install/docker.md +0 -525
- package/docs/zh-CN/install/exe-dev.md +0 -127
- package/docs/zh-CN/install/fly.md +0 -476
- package/docs/zh-CN/install/gcp.md +0 -509
- package/docs/zh-CN/install/hetzner.md +0 -336
- package/docs/zh-CN/install/index.md +0 -193
- package/docs/zh-CN/install/installer.md +0 -128
- package/docs/zh-CN/install/macos-vm.md +0 -288
- package/docs/zh-CN/install/migrating.md +0 -199
- package/docs/zh-CN/install/nix.md +0 -99
- package/docs/zh-CN/install/node.md +0 -8
- package/docs/zh-CN/install/northflank.mdx +0 -56
- package/docs/zh-CN/install/railway.mdx +0 -102
- package/docs/zh-CN/install/render.mdx +0 -168
- package/docs/zh-CN/install/uninstall.md +0 -135
- package/docs/zh-CN/install/updating.md +0 -233
- package/docs/zh-CN/logging.md +0 -329
- package/docs/zh-CN/network.md +0 -59
- package/docs/zh-CN/nodes/audio.md +0 -120
- package/docs/zh-CN/nodes/camera.md +0 -162
- package/docs/zh-CN/nodes/images.md +0 -79
- package/docs/zh-CN/nodes/index.md +0 -348
- package/docs/zh-CN/nodes/location-command.md +0 -120
- package/docs/zh-CN/nodes/media-understanding.md +0 -380
- package/docs/zh-CN/nodes/talk.md +0 -97
- package/docs/zh-CN/nodes/troubleshooting.md +0 -8
- package/docs/zh-CN/nodes/voicewake.md +0 -72
- package/docs/zh-CN/perplexity.md +0 -84
- package/docs/zh-CN/pi-dev.md +0 -77
- package/docs/zh-CN/pi.md +0 -617
- package/docs/zh-CN/platforms/android.md +0 -155
- package/docs/zh-CN/platforms/digitalocean.md +0 -268
- package/docs/zh-CN/platforms/index.md +0 -60
- package/docs/zh-CN/platforms/ios.md +0 -114
- package/docs/zh-CN/platforms/linux.md +0 -101
- package/docs/zh-CN/platforms/mac/bundled-gateway.md +0 -75
- package/docs/zh-CN/platforms/mac/canvas.md +0 -128
- package/docs/zh-CN/platforms/mac/child-process.md +0 -73
- package/docs/zh-CN/platforms/mac/dev-setup.md +0 -109
- package/docs/zh-CN/platforms/mac/health.md +0 -41
- package/docs/zh-CN/platforms/mac/icon.md +0 -38
- package/docs/zh-CN/platforms/mac/logging.md +0 -64
- package/docs/zh-CN/platforms/mac/menu-bar.md +0 -88
- package/docs/zh-CN/platforms/mac/peekaboo.md +0 -62
- package/docs/zh-CN/platforms/mac/permissions.md +0 -46
- package/docs/zh-CN/platforms/mac/release.md +0 -92
- package/docs/zh-CN/platforms/mac/remote.md +0 -90
- package/docs/zh-CN/platforms/mac/signing.md +0 -54
- package/docs/zh-CN/platforms/mac/skills.md +0 -40
- package/docs/zh-CN/platforms/mac/voice-overlay.md +0 -67
- package/docs/zh-CN/platforms/mac/voicewake.md +0 -73
- package/docs/zh-CN/platforms/mac/webchat.md +0 -43
- package/docs/zh-CN/platforms/mac/xpc.md +0 -68
- package/docs/zh-CN/platforms/macos.md +0 -193
- package/docs/zh-CN/platforms/oracle.md +0 -310
- package/docs/zh-CN/platforms/raspberry-pi.md +0 -365
- package/docs/zh-CN/platforms/windows.md +0 -156
- package/docs/zh-CN/plugins/agent-tools.md +0 -99
- package/docs/zh-CN/plugins/manifest.md +0 -68
- package/docs/zh-CN/plugins/voice-call.md +0 -250
- package/docs/zh-CN/plugins/zalouser.md +0 -88
- package/docs/zh-CN/prose.md +0 -141
- package/docs/zh-CN/providers/anthropic.md +0 -159
- package/docs/zh-CN/providers/bedrock.md +0 -170
- package/docs/zh-CN/providers/claude-max-api-proxy.md +0 -155
- package/docs/zh-CN/providers/deepgram.md +0 -97
- package/docs/zh-CN/providers/github-copilot.md +0 -67
- package/docs/zh-CN/providers/glm.md +0 -39
- package/docs/zh-CN/providers/index.md +0 -66
- package/docs/zh-CN/providers/minimax.md +0 -206
- package/docs/zh-CN/providers/models.md +0 -55
- package/docs/zh-CN/providers/moonshot.md +0 -145
- package/docs/zh-CN/providers/ollama.md +0 -230
- package/docs/zh-CN/providers/openai.md +0 -68
- package/docs/zh-CN/providers/opencode.md +0 -41
- package/docs/zh-CN/providers/openrouter.md +0 -43
- package/docs/zh-CN/providers/qianfan.md +0 -8
- package/docs/zh-CN/providers/qwen.md +0 -55
- package/docs/zh-CN/providers/synthetic.md +0 -102
- package/docs/zh-CN/providers/venice.md +0 -274
- package/docs/zh-CN/providers/vercel-ai-gateway.md +0 -57
- package/docs/zh-CN/providers/xiaomi.md +0 -68
- package/docs/zh-CN/providers/zai.md +0 -41
- package/docs/zh-CN/refactor/exec-host.md +0 -323
- package/docs/zh-CN/refactor/outbound-session-mirroring.md +0 -90
- package/docs/zh-CN/refactor/plugin-sdk.md +0 -221
- package/docs/zh-CN/refactor/strict-config.md +0 -100
- package/docs/zh-CN/refactor/syminet.md +0 -424
- package/docs/zh-CN/reference/AGENTS.default.md +0 -130
- package/docs/zh-CN/reference/RELEASING.md +0 -122
- package/docs/zh-CN/reference/api-usage-costs.md +0 -136
- package/docs/zh-CN/reference/credits.md +0 -34
- package/docs/zh-CN/reference/device-models.md +0 -54
- package/docs/zh-CN/reference/rpc.md +0 -48
- package/docs/zh-CN/reference/session-management-compaction.md +0 -286
- package/docs/zh-CN/reference/templates/AGENTS.dev.md +0 -89
- package/docs/zh-CN/reference/templates/AGENTS.md +0 -234
- package/docs/zh-CN/reference/templates/BOOT.md +0 -17
- package/docs/zh-CN/reference/templates/BOOTSTRAP.md +0 -68
- package/docs/zh-CN/reference/templates/IDENTITY.dev.md +0 -54
- package/docs/zh-CN/reference/templates/IDENTITY.md +0 -36
- package/docs/zh-CN/reference/templates/SYMICORE.dev.md +0 -83
- package/docs/zh-CN/reference/templates/SYMICORE.md +0 -49
- package/docs/zh-CN/reference/templates/SYMIPULSE.md +0 -69
- package/docs/zh-CN/reference/templates/TOOLS.dev.md +0 -31
- package/docs/zh-CN/reference/templates/TOOLS.md +0 -53
- package/docs/zh-CN/reference/templates/USER.dev.md +0 -25
- package/docs/zh-CN/reference/templates/USER.md +0 -30
- package/docs/zh-CN/reference/test.md +0 -57
- package/docs/zh-CN/reference/token-use.md +0 -119
- package/docs/zh-CN/reference/transcript-hygiene.md +0 -109
- package/docs/zh-CN/reference/wizard.md +0 -9
- package/docs/zh-CN/security/formal-verification.md +0 -171
- package/docs/zh-CN/start/bootstrapping.md +0 -9
- package/docs/zh-CN/start/docs-directory.md +0 -69
- package/docs/zh-CN/start/getting-started.md +0 -201
- package/docs/zh-CN/start/hubs.md +0 -199
- package/docs/zh-CN/start/lore.md +0 -223
- package/docs/zh-CN/start/onboarding.md +0 -105
- package/docs/zh-CN/start/quickstart.md +0 -88
- package/docs/zh-CN/start/setup.md +0 -151
- package/docs/zh-CN/start/showcase.md +0 -421
- package/docs/zh-CN/start/symi.md +0 -244
- package/docs/zh-CN/start/wizard.md +0 -326
- package/docs/zh-CN/tools/agent-send.md +0 -58
- package/docs/zh-CN/tools/apply-patch.md +0 -57
- package/docs/zh-CN/tools/browser-linux-troubleshooting.md +0 -144
- package/docs/zh-CN/tools/browser-login.md +0 -75
- package/docs/zh-CN/tools/browser.md +0 -553
- package/docs/zh-CN/tools/chrome-extension.md +0 -183
- package/docs/zh-CN/tools/creating-skills.md +0 -61
- package/docs/zh-CN/tools/elevated.md +0 -62
- package/docs/zh-CN/tools/exec-approvals.md +0 -233
- package/docs/zh-CN/tools/exec.md +0 -169
- package/docs/zh-CN/tools/firecrawl.md +0 -68
- package/docs/zh-CN/tools/index.md +0 -508
- package/docs/zh-CN/tools/llm-task.md +0 -117
- package/docs/zh-CN/tools/multi-agent-sandbox-tools.md +0 -400
- package/docs/zh-CN/tools/pipeline.md +0 -349
- package/docs/zh-CN/tools/plugin.md +0 -639
- package/docs/zh-CN/tools/reactions.md +0 -28
- package/docs/zh-CN/tools/skills-config.md +0 -78
- package/docs/zh-CN/tools/skills.md +0 -279
- package/docs/zh-CN/tools/slash-commands.md +0 -196
- package/docs/zh-CN/tools/subagents.md +0 -167
- package/docs/zh-CN/tools/symihub.md +0 -209
- package/docs/zh-CN/tools/thinking.md +0 -80
- package/docs/zh-CN/tools/web.md +0 -257
- package/docs/zh-CN/tts.md +0 -373
- package/docs/zh-CN/vps.md +0 -47
- package/docs/zh-CN/web/control-ui.md +0 -190
- package/docs/zh-CN/web/dashboard.md +0 -53
- package/docs/zh-CN/web/index.md +0 -118
- package/docs/zh-CN/web/tui.md +0 -166
- package/docs/zh-CN/web/webchat.md +0 -56
- package/extensions/imessage/index.ts +0 -17
- package/extensions/imessage/node_modules/.bin/symi +0 -21
- package/extensions/imessage/package.json +0 -15
- package/extensions/imessage/src/channel.outbound.test.ts +0 -66
- package/extensions/imessage/src/channel.ts +0 -298
- package/extensions/imessage/src/runtime.ts +0 -14
- package/extensions/imessage/symi.plugin.json +0 -9
- package/extensions/line/index.ts +0 -19
- package/extensions/line/node_modules/.bin/symi +0 -21
- package/extensions/line/package.json +0 -30
- package/extensions/line/src/card-command.ts +0 -344
- package/extensions/line/src/channel.logout.test.ts +0 -133
- package/extensions/line/src/channel.sendPayload.test.ts +0 -312
- package/extensions/line/src/channel.startup.test.ts +0 -133
- package/extensions/line/src/channel.ts +0 -801
- package/extensions/line/src/runtime.ts +0 -14
- package/extensions/line/symi.plugin.json +0 -9
- package/extensions/signal/index.ts +0 -17
- package/extensions/signal/node_modules/.bin/symi +0 -21
- package/extensions/signal/package.json +0 -15
- package/extensions/signal/src/channel.ts +0 -302
- package/extensions/signal/src/runtime.ts +0 -14
- package/extensions/signal/symi.plugin.json +0 -9
- package/extensions/telegram/index.ts +0 -17
- package/extensions/telegram/node_modules/.bin/symi +0 -21
- package/extensions/telegram/package.json +0 -15
- package/extensions/telegram/src/channel.test.ts +0 -125
- package/extensions/telegram/src/channel.ts +0 -560
- package/extensions/telegram/src/runtime.ts +0 -14
- package/extensions/telegram/symi.plugin.json +0 -9
- package/extensions/whatsapp/index.ts +0 -17
- package/extensions/whatsapp/node_modules/.bin/symi +0 -21
- package/extensions/whatsapp/package.json +0 -15
- package/extensions/whatsapp/src/channel.ts +0 -465
- package/extensions/whatsapp/src/resolve-target.test.ts +0 -170
- package/extensions/whatsapp/src/runtime.ts +0 -14
- package/extensions/whatsapp/symi.plugin.json +0 -9
package/docs/channels/tlon.md
DELETED
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
summary: "Tlon/Urbit support status, capabilities, and configuration"
|
|
3
|
-
read_when:
|
|
4
|
-
- Working on Tlon/Urbit channel features
|
|
5
|
-
title: "Tlon"
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Tlon (plugin)
|
|
9
|
-
|
|
10
|
-
Tlon is a decentralized messenger built on Urbit. Symi connects to your Urbit ship and can
|
|
11
|
-
respond to DMs and group chat messages. Group replies require an @ mention by default and can
|
|
12
|
-
be further restricted via allowlists.
|
|
13
|
-
|
|
14
|
-
Status: supported via plugin. DMs, group mentions, thread replies, and text-only media fallback
|
|
15
|
-
(URL appended to caption). Reactions, polls, and native media uploads are not supported.
|
|
16
|
-
|
|
17
|
-
## Plugin required
|
|
18
|
-
|
|
19
|
-
Tlon ships as a plugin and is not bundled with the core install.
|
|
20
|
-
|
|
21
|
-
Install via CLI (npm registry):
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
symi plugins install @symi/tlon
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
Local checkout (when running from a git repo):
|
|
28
|
-
|
|
29
|
-
```bash
|
|
30
|
-
symi plugins install ./extensions/tlon
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
Details: [Plugins](/tools/plugin)
|
|
34
|
-
|
|
35
|
-
## Onboarding
|
|
36
|
-
|
|
37
|
-
1. Install the Tlon plugin.
|
|
38
|
-
2. Gather your ship URL and login code.
|
|
39
|
-
3. Configure `channels.tlon`.
|
|
40
|
-
4. Restart the gateway.
|
|
41
|
-
5. DM the bot or mention it in a group channel.
|
|
42
|
-
|
|
43
|
-
Minimal config (single account):
|
|
44
|
-
|
|
45
|
-
```json5
|
|
46
|
-
{
|
|
47
|
-
channels: {
|
|
48
|
-
tlon: {
|
|
49
|
-
enabled: true,
|
|
50
|
-
ship: "~sampel-palnet",
|
|
51
|
-
url: "https://your-ship-host",
|
|
52
|
-
code: "lidlut-tabwed-pillex-ridrup",
|
|
53
|
-
},
|
|
54
|
-
},
|
|
55
|
-
}
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
Private/LAN ship URLs (advanced):
|
|
59
|
-
|
|
60
|
-
By default, Symi blocks private/internal hostnames and IP ranges for this plugin (SSRF hardening).
|
|
61
|
-
If your ship URL is on a private network (for example `http://192.168.1.50:8080` or `http://localhost:8080`),
|
|
62
|
-
you must explicitly opt in:
|
|
63
|
-
|
|
64
|
-
```json5
|
|
65
|
-
{
|
|
66
|
-
channels: {
|
|
67
|
-
tlon: {
|
|
68
|
-
allowPrivateNetwork: true,
|
|
69
|
-
},
|
|
70
|
-
},
|
|
71
|
-
}
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
## Group channels
|
|
75
|
-
|
|
76
|
-
Auto-discovery is enabled by default. You can also pin channels manually:
|
|
77
|
-
|
|
78
|
-
```json5
|
|
79
|
-
{
|
|
80
|
-
channels: {
|
|
81
|
-
tlon: {
|
|
82
|
-
groupChannels: ["chat/~host-ship/general", "chat/~host-ship/support"],
|
|
83
|
-
},
|
|
84
|
-
},
|
|
85
|
-
}
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
Disable auto-discovery:
|
|
89
|
-
|
|
90
|
-
```json5
|
|
91
|
-
{
|
|
92
|
-
channels: {
|
|
93
|
-
tlon: {
|
|
94
|
-
autoDiscoverChannels: false,
|
|
95
|
-
},
|
|
96
|
-
},
|
|
97
|
-
}
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
## Access control
|
|
101
|
-
|
|
102
|
-
DM allowlist (empty = allow all):
|
|
103
|
-
|
|
104
|
-
```json5
|
|
105
|
-
{
|
|
106
|
-
channels: {
|
|
107
|
-
tlon: {
|
|
108
|
-
dmAllowlist: ["~zod", "~nec"],
|
|
109
|
-
},
|
|
110
|
-
},
|
|
111
|
-
}
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
Group authorization (restricted by default):
|
|
115
|
-
|
|
116
|
-
```json5
|
|
117
|
-
{
|
|
118
|
-
channels: {
|
|
119
|
-
tlon: {
|
|
120
|
-
defaultAuthorizedShips: ["~zod"],
|
|
121
|
-
authorization: {
|
|
122
|
-
channelRules: {
|
|
123
|
-
"chat/~host-ship/general": {
|
|
124
|
-
mode: "restricted",
|
|
125
|
-
allowedShips: ["~zod", "~nec"],
|
|
126
|
-
},
|
|
127
|
-
"chat/~host-ship/announcements": {
|
|
128
|
-
mode: "open",
|
|
129
|
-
},
|
|
130
|
-
},
|
|
131
|
-
},
|
|
132
|
-
},
|
|
133
|
-
},
|
|
134
|
-
}
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
## Delivery targets (CLI/cron)
|
|
138
|
-
|
|
139
|
-
Use these with `symi message send` or cron delivery:
|
|
140
|
-
|
|
141
|
-
- DM: `~sampel-palnet` or `dm/~sampel-palnet`
|
|
142
|
-
- Group: `chat/~host-ship/channel` or `group:~host-ship/channel`
|
|
143
|
-
|
|
144
|
-
## Notes
|
|
145
|
-
|
|
146
|
-
- Group replies require a mention (e.g. `~your-bot-ship`) to respond.
|
|
147
|
-
- Thread replies: if the inbound message is in a thread, Symi replies in-thread.
|
|
148
|
-
- Media: `sendMedia` falls back to text + URL (no native upload).
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
summary: "Fast channel level troubleshooting with per channel failure signatures and fixes"
|
|
3
|
-
read_when:
|
|
4
|
-
- Channel transport says connected but replies fail
|
|
5
|
-
- You need channel specific checks before deep provider docs
|
|
6
|
-
title: "Channel Troubleshooting"
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Channel troubleshooting
|
|
10
|
-
|
|
11
|
-
Use this page when a channel connects but behavior is wrong.
|
|
12
|
-
|
|
13
|
-
## Command ladder
|
|
14
|
-
|
|
15
|
-
Run these in order first:
|
|
16
|
-
|
|
17
|
-
```bash
|
|
18
|
-
symi status
|
|
19
|
-
symi gateway status
|
|
20
|
-
symi logs --follow
|
|
21
|
-
symi doctor
|
|
22
|
-
symi channels status --probe
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
Healthy baseline:
|
|
26
|
-
|
|
27
|
-
- `Runtime: running`
|
|
28
|
-
- `RPC probe: ok`
|
|
29
|
-
- Channel probe shows connected/ready
|
|
30
|
-
|
|
31
|
-
## WhatsApp
|
|
32
|
-
|
|
33
|
-
### WhatsApp failure signatures
|
|
34
|
-
|
|
35
|
-
| Symptom | Fastest check | Fix |
|
|
36
|
-
| ------------------------------- | --------------------------------------------------- | ------------------------------------------------------- |
|
|
37
|
-
| Connected but no DM replies | `symi pairing list whatsapp` | Approve sender or switch DM policy/allowlist. |
|
|
38
|
-
| Group messages ignored | Check `requireMention` + mention patterns in config | Mention the bot or relax mention policy for that group. |
|
|
39
|
-
| Random disconnect/relogin loops | `symi channels status --probe` + logs | Re-login and verify credentials directory is healthy. |
|
|
40
|
-
|
|
41
|
-
Full troubleshooting: [/channels/whatsapp#troubleshooting-quick](/channels/whatsapp#troubleshooting-quick)
|
|
42
|
-
|
|
43
|
-
## Telegram
|
|
44
|
-
|
|
45
|
-
### Telegram failure signatures
|
|
46
|
-
|
|
47
|
-
| Symptom | Fastest check | Fix |
|
|
48
|
-
| --------------------------------- | ----------------------------------------------- | ----------------------------------------------------------------------- |
|
|
49
|
-
| `/start` but no usable reply flow | `symi pairing list telegram` | Approve pairing or change DM policy. |
|
|
50
|
-
| Bot online but group stays silent | Verify mention requirement and bot privacy mode | Disable privacy mode for group visibility or mention bot. |
|
|
51
|
-
| Send failures with network errors | Inspect logs for Telegram API call failures | Fix DNS/IPv6/proxy routing to `api.telegram.org`. |
|
|
52
|
-
| Upgraded and allowlist blocks you | `symi security audit` and config allowlists | Run `symi doctor --fix` or replace `@username` with numeric sender IDs. |
|
|
53
|
-
|
|
54
|
-
Full troubleshooting: [/channels/telegram#troubleshooting](/channels/telegram#troubleshooting)
|
|
55
|
-
|
|
56
|
-
| Symptom | Fastest check | Fix |
|
|
57
|
-
| ------------------------------- | ----------------------------------- | --------------------------------------------------------- |
|
|
58
|
-
| Bot online but no guild replies | `symi channels status --probe` | Allow guild/channel and verify message content intent. |
|
|
59
|
-
| Group messages ignored | Check logs for mention gating drops | Mention bot or set guild/channel `requireMention: false`. |
|
|
60
|
-
|
|
61
|
-
## Slack
|
|
62
|
-
|
|
63
|
-
### Slack failure signatures
|
|
64
|
-
|
|
65
|
-
| Symptom | Fastest check | Fix |
|
|
66
|
-
| -------------------------------------- | ----------------------------------------- | ------------------------------------------------- |
|
|
67
|
-
| Socket mode connected but no responses | `symi channels status --probe` | Verify app token + bot token and required scopes. |
|
|
68
|
-
| DMs blocked | `symi pairing list slack` | Approve pairing or relax DM policy. |
|
|
69
|
-
| Channel message ignored | Check `groupPolicy` and channel allowlist | Allow the channel or switch policy to `open`. |
|
|
70
|
-
|
|
71
|
-
Full troubleshooting: [/channels/slack#troubleshooting](/channels/slack#troubleshooting)
|
|
72
|
-
|
|
73
|
-
## iMessage and BlueBubbles
|
|
74
|
-
|
|
75
|
-
### iMessage and BlueBubbles failure signatures
|
|
76
|
-
|
|
77
|
-
| Symptom | Fastest check | Fix |
|
|
78
|
-
| -------------------------------- | --------------------------------------------------------------- | ----------------------------------------------------- |
|
|
79
|
-
| No inbound events | Verify webhook/server reachability and app permissions | Fix webhook URL or BlueBubbles server state. |
|
|
80
|
-
| Can send but no receive on macOS | Check macOS privacy permissions for Messages automation | Re-grant TCC permissions and restart channel process. |
|
|
81
|
-
| DM sender blocked | `symi pairing list imessage` or `symi pairing list bluebubbles` | Approve pairing or update allowlist. |
|
|
82
|
-
|
|
83
|
-
Full troubleshooting:
|
|
84
|
-
|
|
85
|
-
- [/channels/imessage#troubleshooting-macos-privacy-and-security-tcc](/channels/imessage#troubleshooting-macos-privacy-and-security-tcc)
|
|
86
|
-
- [/channels/bluebubbles#troubleshooting](/channels/bluebubbles#troubleshooting)
|
|
87
|
-
|
|
88
|
-
## Signal
|
|
89
|
-
|
|
90
|
-
### Signal failure signatures
|
|
91
|
-
|
|
92
|
-
| Symptom | Fastest check | Fix |
|
|
93
|
-
| ------------------------------- | ------------------------------------------ | -------------------------------------------------------- |
|
|
94
|
-
| Daemon reachable but bot silent | `symi channels status --probe` | Verify `signal-cli` daemon URL/account and receive mode. |
|
|
95
|
-
| DM blocked | `symi pairing list signal` | Approve sender or adjust DM policy. |
|
|
96
|
-
| Group replies do not trigger | Check group allowlist and mention patterns | Add sender/group or loosen gating. |
|
|
97
|
-
|
|
98
|
-
Full troubleshooting: [/channels/signal#troubleshooting](/channels/signal#troubleshooting)
|
|
99
|
-
|
|
100
|
-
## Matrix
|
|
101
|
-
|
|
102
|
-
### Matrix failure signatures
|
|
103
|
-
|
|
104
|
-
| Symptom | Fastest check | Fix |
|
|
105
|
-
| ----------------------------------- | -------------------------------------------- | ----------------------------------------------- |
|
|
106
|
-
| Logged in but ignores room messages | `symi channels status --probe` | Check `groupPolicy` and room allowlist. |
|
|
107
|
-
| DMs do not process | `symi pairing list matrix` | Approve sender or adjust DM policy. |
|
|
108
|
-
| Encrypted rooms fail | Verify crypto module and encryption settings | Enable encryption support and rejoin/sync room. |
|
|
109
|
-
|
|
110
|
-
Full troubleshooting: [/channels/matrix#troubleshooting](/channels/matrix#troubleshooting)
|
package/docs/channels/twitch.md
DELETED
|
@@ -1,379 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
summary: "Twitch chat bot configuration and setup"
|
|
3
|
-
read_when:
|
|
4
|
-
- Setting up Twitch chat integration for Symi
|
|
5
|
-
title: "Twitch"
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Twitch (plugin)
|
|
9
|
-
|
|
10
|
-
Twitch chat support via IRC connection. Symi connects as a Twitch user (bot account) to receive and send messages in channels.
|
|
11
|
-
|
|
12
|
-
## Plugin required
|
|
13
|
-
|
|
14
|
-
Twitch ships as a plugin and is not bundled with the core install.
|
|
15
|
-
|
|
16
|
-
Install via CLI (npm registry):
|
|
17
|
-
|
|
18
|
-
```bash
|
|
19
|
-
symi plugins install @symi/twitch
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
Local checkout (when running from a git repo):
|
|
23
|
-
|
|
24
|
-
```bash
|
|
25
|
-
symi plugins install ./extensions/twitch
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
Details: [Plugins](/tools/plugin)
|
|
29
|
-
|
|
30
|
-
## Onboarding
|
|
31
|
-
|
|
32
|
-
1. Create a dedicated Twitch account for the bot (or use an existing account).
|
|
33
|
-
2. Generate credentials: [Twitch Token Generator](https://twitchtokengenerator.com/)
|
|
34
|
-
- Select **Bot Token**
|
|
35
|
-
- Verify scopes `chat:read` and `chat:write` are selected
|
|
36
|
-
- Copy the **Client ID** and **Access Token**
|
|
37
|
-
3. Find your Twitch user ID: [https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/](https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/)
|
|
38
|
-
4. Configure the token:
|
|
39
|
-
- Env: `SYMI_TWITCH_ACCESS_TOKEN=...` (default account only)
|
|
40
|
-
- Or config: `channels.twitch.accessToken`
|
|
41
|
-
- If both are set, config takes precedence (env fallback is default-account only).
|
|
42
|
-
5. Start the gateway.
|
|
43
|
-
|
|
44
|
-
**⚠️ Important:** Add access control (`allowFrom` or `allowedRoles`) to prevent unauthorized users from triggering the bot. `requireMention` defaults to `true`.
|
|
45
|
-
|
|
46
|
-
Minimal config:
|
|
47
|
-
|
|
48
|
-
```json5
|
|
49
|
-
{
|
|
50
|
-
channels: {
|
|
51
|
-
twitch: {
|
|
52
|
-
enabled: true,
|
|
53
|
-
username: "symi", // Bot's Twitch account
|
|
54
|
-
accessToken: "oauth:abc123...", // OAuth Access Token (or use SYMI_TWITCH_ACCESS_TOKEN env var)
|
|
55
|
-
clientId: "xyz789...", // Client ID from Token Generator
|
|
56
|
-
channel: "vevisk", // Which Twitch channel's chat to join (required)
|
|
57
|
-
allowFrom: ["123456789"], // (recommended) Your Twitch user ID only - get it from https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/
|
|
58
|
-
},
|
|
59
|
-
},
|
|
60
|
-
}
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
## What it is
|
|
64
|
-
|
|
65
|
-
- A Twitch channel owned by the Gateway.
|
|
66
|
-
- Deterministic routing: replies always go back to Twitch.
|
|
67
|
-
- Each account maps to an isolated session key `agent:<agentId>:twitch:<accountName>`.
|
|
68
|
-
- `username` is the bot's account (who authenticates), `channel` is which chat room to join.
|
|
69
|
-
|
|
70
|
-
## Onboarding (detailed, recommended)
|
|
71
|
-
|
|
72
|
-
### Generate credentials
|
|
73
|
-
|
|
74
|
-
Use [Twitch Token Generator](https://twitchtokengenerator.com/):
|
|
75
|
-
|
|
76
|
-
- Select **Bot Token**
|
|
77
|
-
- Verify scopes `chat:read` and `chat:write` are selected
|
|
78
|
-
- Copy the **Client ID** and **Access Token**
|
|
79
|
-
|
|
80
|
-
No manual app registration needed. Tokens expire after several hours.
|
|
81
|
-
|
|
82
|
-
### Configure the bot
|
|
83
|
-
|
|
84
|
-
**Env var (default account only):**
|
|
85
|
-
|
|
86
|
-
```bash
|
|
87
|
-
SYMI_TWITCH_ACCESS_TOKEN=oauth:abc123...
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
**Or config:**
|
|
91
|
-
|
|
92
|
-
```json5
|
|
93
|
-
{
|
|
94
|
-
channels: {
|
|
95
|
-
twitch: {
|
|
96
|
-
enabled: true,
|
|
97
|
-
username: "symi",
|
|
98
|
-
accessToken: "oauth:abc123...",
|
|
99
|
-
clientId: "xyz789...",
|
|
100
|
-
channel: "vevisk",
|
|
101
|
-
},
|
|
102
|
-
},
|
|
103
|
-
}
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
If both env and config are set, config takes precedence.
|
|
107
|
-
|
|
108
|
-
### Access control (recommended)
|
|
109
|
-
|
|
110
|
-
```json5
|
|
111
|
-
{
|
|
112
|
-
channels: {
|
|
113
|
-
twitch: {
|
|
114
|
-
allowFrom: ["123456789"], // (recommended) Your Twitch user ID only
|
|
115
|
-
},
|
|
116
|
-
},
|
|
117
|
-
}
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
Prefer `allowFrom` for a hard allowlist. Use `allowedRoles` instead if you want role-based access.
|
|
121
|
-
|
|
122
|
-
**Available roles:** `"moderator"`, `"owner"`, `"vip"`, `"subscriber"`, `"all"`.
|
|
123
|
-
|
|
124
|
-
**Why user IDs?** Usernames can change, allowing impersonation. User IDs are permanent.
|
|
125
|
-
|
|
126
|
-
Find your Twitch user ID: [https://www.streamweasels.com/tools/convert-twitch-username-%20to-user-id/](https://www.streamweasels.com/tools/convert-twitch-username-%20to-user-id/) (Convert your Twitch username to ID)
|
|
127
|
-
|
|
128
|
-
## Token refresh (optional)
|
|
129
|
-
|
|
130
|
-
Tokens from [Twitch Token Generator](https://twitchtokengenerator.com/) cannot be automatically refreshed - regenerate when expired.
|
|
131
|
-
|
|
132
|
-
For automatic token refresh, create your own Twitch application at [Twitch Developer Console](https://dev.twitch.tv/console) and add to config:
|
|
133
|
-
|
|
134
|
-
```json5
|
|
135
|
-
{
|
|
136
|
-
channels: {
|
|
137
|
-
twitch: {
|
|
138
|
-
clientSecret: "your_client_secret",
|
|
139
|
-
refreshToken: "your_refresh_token",
|
|
140
|
-
},
|
|
141
|
-
},
|
|
142
|
-
}
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
The bot automatically refreshes tokens before expiration and logs refresh events.
|
|
146
|
-
|
|
147
|
-
## Multi-account support
|
|
148
|
-
|
|
149
|
-
Use `channels.twitch.accounts` with per-account tokens. See [`gateway/configuration`](/gateway/configuration) for the shared pattern.
|
|
150
|
-
|
|
151
|
-
Example (one bot account in two channels):
|
|
152
|
-
|
|
153
|
-
```json5
|
|
154
|
-
{
|
|
155
|
-
channels: {
|
|
156
|
-
twitch: {
|
|
157
|
-
accounts: {
|
|
158
|
-
channel1: {
|
|
159
|
-
username: "symi",
|
|
160
|
-
accessToken: "oauth:abc123...",
|
|
161
|
-
clientId: "xyz789...",
|
|
162
|
-
channel: "vevisk",
|
|
163
|
-
},
|
|
164
|
-
channel2: {
|
|
165
|
-
username: "symi",
|
|
166
|
-
accessToken: "oauth:def456...",
|
|
167
|
-
clientId: "uvw012...",
|
|
168
|
-
channel: "secondchannel",
|
|
169
|
-
},
|
|
170
|
-
},
|
|
171
|
-
},
|
|
172
|
-
},
|
|
173
|
-
}
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
**Note:** Each account needs its own token (one token per channel).
|
|
177
|
-
|
|
178
|
-
## Access control
|
|
179
|
-
|
|
180
|
-
### Role-based restrictions
|
|
181
|
-
|
|
182
|
-
```json5
|
|
183
|
-
{
|
|
184
|
-
channels: {
|
|
185
|
-
twitch: {
|
|
186
|
-
accounts: {
|
|
187
|
-
default: {
|
|
188
|
-
allowedRoles: ["moderator", "vip"],
|
|
189
|
-
},
|
|
190
|
-
},
|
|
191
|
-
},
|
|
192
|
-
},
|
|
193
|
-
}
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
### Allowlist by User ID (most secure)
|
|
197
|
-
|
|
198
|
-
```json5
|
|
199
|
-
{
|
|
200
|
-
channels: {
|
|
201
|
-
twitch: {
|
|
202
|
-
accounts: {
|
|
203
|
-
default: {
|
|
204
|
-
allowFrom: ["123456789", "987654321"],
|
|
205
|
-
},
|
|
206
|
-
},
|
|
207
|
-
},
|
|
208
|
-
},
|
|
209
|
-
}
|
|
210
|
-
```
|
|
211
|
-
|
|
212
|
-
### Role-based access (alternative)
|
|
213
|
-
|
|
214
|
-
`allowFrom` is a hard allowlist. When set, only those user IDs are allowed.
|
|
215
|
-
If you want role-based access, leave `allowFrom` unset and configure `allowedRoles` instead:
|
|
216
|
-
|
|
217
|
-
```json5
|
|
218
|
-
{
|
|
219
|
-
channels: {
|
|
220
|
-
twitch: {
|
|
221
|
-
accounts: {
|
|
222
|
-
default: {
|
|
223
|
-
allowedRoles: ["moderator"],
|
|
224
|
-
},
|
|
225
|
-
},
|
|
226
|
-
},
|
|
227
|
-
},
|
|
228
|
-
}
|
|
229
|
-
```
|
|
230
|
-
|
|
231
|
-
### Disable @mention requirement
|
|
232
|
-
|
|
233
|
-
By default, `requireMention` is `true`. To disable and respond to all messages:
|
|
234
|
-
|
|
235
|
-
```json5
|
|
236
|
-
{
|
|
237
|
-
channels: {
|
|
238
|
-
twitch: {
|
|
239
|
-
accounts: {
|
|
240
|
-
default: {
|
|
241
|
-
requireMention: false,
|
|
242
|
-
},
|
|
243
|
-
},
|
|
244
|
-
},
|
|
245
|
-
},
|
|
246
|
-
}
|
|
247
|
-
```
|
|
248
|
-
|
|
249
|
-
## Troubleshooting
|
|
250
|
-
|
|
251
|
-
First, run diagnostic commands:
|
|
252
|
-
|
|
253
|
-
```bash
|
|
254
|
-
symi doctor
|
|
255
|
-
symi channels status --probe
|
|
256
|
-
```
|
|
257
|
-
|
|
258
|
-
### Bot doesn't respond to messages
|
|
259
|
-
|
|
260
|
-
**Check access control:** Ensure your user ID is in `allowFrom`, or temporarily remove
|
|
261
|
-
`allowFrom` and set `allowedRoles: ["all"]` to test.
|
|
262
|
-
|
|
263
|
-
**Check the bot is in the channel:** The bot must join the channel specified in `channel`.
|
|
264
|
-
|
|
265
|
-
### Token issues
|
|
266
|
-
|
|
267
|
-
**"Failed to connect" or authentication errors:**
|
|
268
|
-
|
|
269
|
-
- Verify `accessToken` is the OAuth access token value (typically starts with `oauth:` prefix)
|
|
270
|
-
- Check token has `chat:read` and `chat:write` scopes
|
|
271
|
-
- If using token refresh, verify `clientSecret` and `refreshToken` are set
|
|
272
|
-
|
|
273
|
-
### Token refresh not working
|
|
274
|
-
|
|
275
|
-
**Check logs for refresh events:**
|
|
276
|
-
|
|
277
|
-
```
|
|
278
|
-
Using env token source for mybot
|
|
279
|
-
Access token refreshed for user 123456 (expires in 14400s)
|
|
280
|
-
```
|
|
281
|
-
|
|
282
|
-
If you see "token refresh disabled (no refresh token)":
|
|
283
|
-
|
|
284
|
-
- Ensure `clientSecret` is provided
|
|
285
|
-
- Ensure `refreshToken` is provided
|
|
286
|
-
|
|
287
|
-
## Config
|
|
288
|
-
|
|
289
|
-
**Account config:**
|
|
290
|
-
|
|
291
|
-
- `username` - Bot username
|
|
292
|
-
- `accessToken` - OAuth access token with `chat:read` and `chat:write`
|
|
293
|
-
- `clientId` - Twitch Client ID (from Token Generator or your app)
|
|
294
|
-
- `channel` - Channel to join (required)
|
|
295
|
-
- `enabled` - Enable this account (default: `true`)
|
|
296
|
-
- `clientSecret` - Optional: For automatic token refresh
|
|
297
|
-
- `refreshToken` - Optional: For automatic token refresh
|
|
298
|
-
- `expiresIn` - Token expiry in seconds
|
|
299
|
-
- `obtainmentTimestamp` - Token obtained timestamp
|
|
300
|
-
- `allowFrom` - User ID allowlist
|
|
301
|
-
- `allowedRoles` - Role-based access control (`"moderator" | "owner" | "vip" | "subscriber" | "all"`)
|
|
302
|
-
- `requireMention` - Require @mention (default: `true`)
|
|
303
|
-
|
|
304
|
-
**Provider options:**
|
|
305
|
-
|
|
306
|
-
- `channels.twitch.enabled` - Enable/disable channel startup
|
|
307
|
-
- `channels.twitch.username` - Bot username (simplified single-account config)
|
|
308
|
-
- `channels.twitch.accessToken` - OAuth access token (simplified single-account config)
|
|
309
|
-
- `channels.twitch.clientId` - Twitch Client ID (simplified single-account config)
|
|
310
|
-
- `channels.twitch.channel` - Channel to join (simplified single-account config)
|
|
311
|
-
- `channels.twitch.accounts.<accountName>` - Multi-account config (all account fields above)
|
|
312
|
-
|
|
313
|
-
Full example:
|
|
314
|
-
|
|
315
|
-
```json5
|
|
316
|
-
{
|
|
317
|
-
channels: {
|
|
318
|
-
twitch: {
|
|
319
|
-
enabled: true,
|
|
320
|
-
username: "symi",
|
|
321
|
-
accessToken: "oauth:abc123...",
|
|
322
|
-
clientId: "xyz789...",
|
|
323
|
-
channel: "vevisk",
|
|
324
|
-
clientSecret: "secret123...",
|
|
325
|
-
refreshToken: "refresh456...",
|
|
326
|
-
allowFrom: ["123456789"],
|
|
327
|
-
allowedRoles: ["moderator", "vip"],
|
|
328
|
-
accounts: {
|
|
329
|
-
default: {
|
|
330
|
-
username: "mybot",
|
|
331
|
-
accessToken: "oauth:abc123...",
|
|
332
|
-
clientId: "xyz789...",
|
|
333
|
-
channel: "your_channel",
|
|
334
|
-
enabled: true,
|
|
335
|
-
clientSecret: "secret123...",
|
|
336
|
-
refreshToken: "refresh456...",
|
|
337
|
-
expiresIn: 14400,
|
|
338
|
-
obtainmentTimestamp: 1706092800000,
|
|
339
|
-
allowFrom: ["123456789", "987654321"],
|
|
340
|
-
allowedRoles: ["moderator"],
|
|
341
|
-
},
|
|
342
|
-
},
|
|
343
|
-
},
|
|
344
|
-
},
|
|
345
|
-
}
|
|
346
|
-
```
|
|
347
|
-
|
|
348
|
-
## Tool actions
|
|
349
|
-
|
|
350
|
-
The agent can call `twitch` with action:
|
|
351
|
-
|
|
352
|
-
- `send` - Send a message to a channel
|
|
353
|
-
|
|
354
|
-
Example:
|
|
355
|
-
|
|
356
|
-
```json5
|
|
357
|
-
{
|
|
358
|
-
action: "twitch",
|
|
359
|
-
params: {
|
|
360
|
-
message: "Hello Twitch!",
|
|
361
|
-
to: "#mychannel",
|
|
362
|
-
},
|
|
363
|
-
}
|
|
364
|
-
```
|
|
365
|
-
|
|
366
|
-
## Safety & ops
|
|
367
|
-
|
|
368
|
-
- **Treat tokens like passwords** - Never commit tokens to git
|
|
369
|
-
- **Use automatic token refresh** for long-running bots
|
|
370
|
-
- **Use user ID allowlists** instead of usernames for access control
|
|
371
|
-
- **Monitor logs** for token refresh events and connection status
|
|
372
|
-
- **Scope tokens minimally** - Only request `chat:read` and `chat:write`
|
|
373
|
-
- **If stuck**: Restart the gateway after confirming no other process owns the session
|
|
374
|
-
|
|
375
|
-
## Limits
|
|
376
|
-
|
|
377
|
-
- **500 characters** per message (auto-chunked at word boundaries)
|
|
378
|
-
- Markdown is stripped before chunking
|
|
379
|
-
- No rate limiting (uses Twitch's built-in rate limits)
|