@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/automation/poll.md
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
summary: "Poll sending via gateway + CLI"
|
|
3
|
-
read_when:
|
|
4
|
-
- Adding or modifying poll support
|
|
5
|
-
- Debugging poll sends from the CLI or gateway
|
|
6
|
-
title: "Polls"
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Polls
|
|
10
|
-
|
|
11
|
-
## Supported channels
|
|
12
|
-
|
|
13
|
-
- WhatsApp (web channel)
|
|
14
|
-
- MS Teams (Adaptive Cards)
|
|
15
|
-
|
|
16
|
-
## CLI
|
|
17
|
-
|
|
18
|
-
```bash
|
|
19
|
-
# WhatsApp
|
|
20
|
-
symi message poll --target +15555550123 \
|
|
21
|
-
--poll-question "Lunch today?" --poll-option "Yes" --poll-option "No" --poll-option "Maybe"
|
|
22
|
-
symi message poll --target 123456789@g.us \
|
|
23
|
-
--poll-question "Meeting time?" --poll-option "10am" --poll-option "2pm" --poll-option "4pm" --poll-multi
|
|
24
|
-
|
|
25
|
-
--poll-question "Snack?" --poll-option "Pizza" --poll-option "Sushi"
|
|
26
|
-
--poll-question "Plan?" --poll-option "A" --poll-option "B" --poll-duration-hours 48
|
|
27
|
-
|
|
28
|
-
# MS Teams
|
|
29
|
-
symi message poll --channel msteams --target conversation:19:abc@thread.tacv2 \
|
|
30
|
-
--poll-question "Lunch?" --poll-option "Pizza" --poll-option "Sushi"
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
Options:
|
|
34
|
-
|
|
35
|
-
- `--poll-multi`: allow selecting multiple options
|
|
36
|
-
|
|
37
|
-
## Gateway RPC
|
|
38
|
-
|
|
39
|
-
Method: `poll`
|
|
40
|
-
|
|
41
|
-
Params:
|
|
42
|
-
|
|
43
|
-
- `to` (string, required)
|
|
44
|
-
- `question` (string, required)
|
|
45
|
-
- `options` (string[], required)
|
|
46
|
-
- `maxSelections` (number, optional)
|
|
47
|
-
- `durationHours` (number, optional)
|
|
48
|
-
- `channel` (string, optional, default: `whatsapp`)
|
|
49
|
-
- `idempotencyKey` (string, required)
|
|
50
|
-
|
|
51
|
-
## Channel differences
|
|
52
|
-
|
|
53
|
-
- WhatsApp: 2-12 options, `maxSelections` must be within option count, ignores `durationHours`.
|
|
54
|
-
- MS Teams: Adaptive Card polls (Symi-managed). No native poll API; `durationHours` is ignored.
|
|
55
|
-
|
|
56
|
-
## Agent tool (Message)
|
|
57
|
-
|
|
58
|
-
Use the `message` tool with `poll` action (`to`, `pollQuestion`, `pollOption`, optional `pollMulti`, `pollDurationHours`, `channel`).
|
|
59
|
-
|
|
60
|
-
Teams polls are rendered as Adaptive Cards and require the gateway to stay online
|
|
61
|
-
to record votes in `~/.symi/msteams-polls.json`.
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
summary: "Troubleshoot cron and heartbeat scheduling and delivery"
|
|
3
|
-
read_when:
|
|
4
|
-
- Cron did not run
|
|
5
|
-
- Cron ran but no message was delivered
|
|
6
|
-
- Heartbeat seems silent or skipped
|
|
7
|
-
title: "Automation Troubleshooting"
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Automation troubleshooting
|
|
11
|
-
|
|
12
|
-
Use this page for scheduler and delivery issues (`cron` + `heartbeat`).
|
|
13
|
-
|
|
14
|
-
## Command ladder
|
|
15
|
-
|
|
16
|
-
```bash
|
|
17
|
-
symi status
|
|
18
|
-
symi gateway status
|
|
19
|
-
symi logs --follow
|
|
20
|
-
symi doctor
|
|
21
|
-
symi channels status --probe
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
Then run automation checks:
|
|
25
|
-
|
|
26
|
-
```bash
|
|
27
|
-
symi cron status
|
|
28
|
-
symi cron list
|
|
29
|
-
symi system heartbeat last
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
## Cron not firing
|
|
33
|
-
|
|
34
|
-
```bash
|
|
35
|
-
symi cron status
|
|
36
|
-
symi cron list
|
|
37
|
-
symi cron runs --id <jobId> --limit 20
|
|
38
|
-
symi logs --follow
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
Good output looks like:
|
|
42
|
-
|
|
43
|
-
- `cron status` reports enabled and a future `nextWakeAtMs`.
|
|
44
|
-
- Job is enabled and has a valid schedule/timezone.
|
|
45
|
-
- `cron runs` shows `ok` or explicit skip reason.
|
|
46
|
-
|
|
47
|
-
Common signatures:
|
|
48
|
-
|
|
49
|
-
- `cron: scheduler disabled; jobs will not run automatically` → cron disabled in config/env.
|
|
50
|
-
- `cron: timer tick failed` → scheduler tick crashed; inspect surrounding stack/log context.
|
|
51
|
-
- `reason: not-due` in run output → manual run called without `--force` and job not due yet.
|
|
52
|
-
|
|
53
|
-
## Cron fired but no delivery
|
|
54
|
-
|
|
55
|
-
```bash
|
|
56
|
-
symi cron runs --id <jobId> --limit 20
|
|
57
|
-
symi cron list
|
|
58
|
-
symi channels status --probe
|
|
59
|
-
symi logs --follow
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
Good output looks like:
|
|
63
|
-
|
|
64
|
-
- Run status is `ok`.
|
|
65
|
-
- Delivery mode/target are set for isolated jobs.
|
|
66
|
-
- Channel probe reports target channel connected.
|
|
67
|
-
|
|
68
|
-
Common signatures:
|
|
69
|
-
|
|
70
|
-
- Run succeeded but delivery mode is `none` → no external message is expected.
|
|
71
|
-
- Delivery target missing/invalid (`channel`/`to`) → run may succeed internally but skip outbound.
|
|
72
|
-
- Channel auth errors (`unauthorized`, `missing_scope`, `Forbidden`) → delivery blocked by channel credentials/permissions.
|
|
73
|
-
|
|
74
|
-
## Heartbeat suppressed or skipped
|
|
75
|
-
|
|
76
|
-
```bash
|
|
77
|
-
symi system heartbeat last
|
|
78
|
-
symi logs --follow
|
|
79
|
-
symi config get agents.defaults.heartbeat
|
|
80
|
-
symi channels status --probe
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
Good output looks like:
|
|
84
|
-
|
|
85
|
-
- Heartbeat enabled with non-zero interval.
|
|
86
|
-
- Last heartbeat result is `ran` (or skip reason is understood).
|
|
87
|
-
|
|
88
|
-
Common signatures:
|
|
89
|
-
|
|
90
|
-
- `heartbeat skipped` with `reason=quiet-hours` → outside `activeHours`.
|
|
91
|
-
- `requests-in-flight` → main lane busy; heartbeat deferred.
|
|
92
|
-
- `empty-heartbeat-file` → interval heartbeat skipped because `SYMIPULSE.md` has no actionable content and no tagged cron event is queued.
|
|
93
|
-
- `alerts-disabled` → visibility settings suppress outbound heartbeat messages.
|
|
94
|
-
|
|
95
|
-
## Timezone and activeHours gotchas
|
|
96
|
-
|
|
97
|
-
```bash
|
|
98
|
-
symi config get agents.defaults.heartbeat.activeHours
|
|
99
|
-
symi config get agents.defaults.heartbeat.activeHours.timezone
|
|
100
|
-
symi config get agents.defaults.userTimezone || echo "agents.defaults.userTimezone not set"
|
|
101
|
-
symi cron list
|
|
102
|
-
symi logs --follow
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
Quick rules:
|
|
106
|
-
|
|
107
|
-
- `Config path not found: agents.defaults.userTimezone` means the key is unset; heartbeat falls back to host timezone (or `activeHours.timezone` if set).
|
|
108
|
-
- Cron without `--tz` uses gateway host timezone.
|
|
109
|
-
- Heartbeat `activeHours` uses configured timezone resolution (`user`, `local`, or explicit IANA tz).
|
|
110
|
-
- ISO timestamps without timezone are treated as UTC for cron `at` schedules.
|
|
111
|
-
|
|
112
|
-
Common signatures:
|
|
113
|
-
|
|
114
|
-
- Jobs run at the wrong wall-clock time after host timezone changes.
|
|
115
|
-
- Heartbeat always skipped during your daytime because `activeHours.timezone` is wrong.
|
|
116
|
-
|
|
117
|
-
Related:
|
|
118
|
-
|
|
119
|
-
- [/automation/cron-jobs](/automation/cron-jobs)
|
|
120
|
-
- [/gateway/heartbeat](/gateway/heartbeat)
|
|
121
|
-
- [/automation/cron-vs-heartbeat](/automation/cron-vs-heartbeat)
|
|
122
|
-
- [/concepts/timezone](/concepts/timezone)
|
|
@@ -1,213 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
summary: "Webhook ingress for wake and isolated agent runs"
|
|
3
|
-
read_when:
|
|
4
|
-
- Adding or changing webhook endpoints
|
|
5
|
-
- Wiring external systems into Symi
|
|
6
|
-
title: "Webhooks"
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Webhooks
|
|
10
|
-
|
|
11
|
-
Gateway can expose a small HTTP webhook endpoint for external triggers.
|
|
12
|
-
|
|
13
|
-
## Enable
|
|
14
|
-
|
|
15
|
-
```json5
|
|
16
|
-
{
|
|
17
|
-
hooks: {
|
|
18
|
-
enabled: true,
|
|
19
|
-
token: "shared-secret",
|
|
20
|
-
path: "/hooks",
|
|
21
|
-
// Optional: restrict explicit `agentId` routing to this allowlist.
|
|
22
|
-
// Omit or include "*" to allow any agent.
|
|
23
|
-
// Set [] to deny all explicit `agentId` routing.
|
|
24
|
-
allowedAgentIds: ["hooks", "main"],
|
|
25
|
-
},
|
|
26
|
-
}
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
Notes:
|
|
30
|
-
|
|
31
|
-
- `hooks.token` is required when `hooks.enabled=true`.
|
|
32
|
-
- `hooks.path` defaults to `/hooks`.
|
|
33
|
-
|
|
34
|
-
## Auth
|
|
35
|
-
|
|
36
|
-
Every request must include the hook token. Prefer headers:
|
|
37
|
-
|
|
38
|
-
- `Authorization: Bearer <token>` (recommended)
|
|
39
|
-
- `x-symi-token: <token>`
|
|
40
|
-
- Query-string tokens are rejected (`?token=...` returns `400`).
|
|
41
|
-
|
|
42
|
-
## Endpoints
|
|
43
|
-
|
|
44
|
-
### `POST /hooks/wake`
|
|
45
|
-
|
|
46
|
-
Payload:
|
|
47
|
-
|
|
48
|
-
```json
|
|
49
|
-
{ "text": "System line", "mode": "now" }
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
- `text` **required** (string): The description of the event (e.g., "New email received").
|
|
53
|
-
- `mode` optional (`now` | `next-heartbeat`): Whether to trigger an immediate heartbeat (default `now`) or wait for the next periodic check.
|
|
54
|
-
|
|
55
|
-
Effect:
|
|
56
|
-
|
|
57
|
-
- Enqueues a system event for the **main** session
|
|
58
|
-
- If `mode=now`, triggers an immediate heartbeat
|
|
59
|
-
|
|
60
|
-
### `POST /hooks/agent`
|
|
61
|
-
|
|
62
|
-
Payload:
|
|
63
|
-
|
|
64
|
-
```json
|
|
65
|
-
{
|
|
66
|
-
"message": "Run this",
|
|
67
|
-
"name": "Email",
|
|
68
|
-
"agentId": "hooks",
|
|
69
|
-
"sessionKey": "hook:email:msg-123",
|
|
70
|
-
"wakeMode": "now",
|
|
71
|
-
"deliver": true,
|
|
72
|
-
"channel": "last",
|
|
73
|
-
"to": "+15551234567",
|
|
74
|
-
"model": "openai/gpt-5.2-mini",
|
|
75
|
-
"thinking": "low",
|
|
76
|
-
"timeoutSeconds": 120
|
|
77
|
-
}
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
- `message` **required** (string): The prompt or message for the agent to process.
|
|
81
|
-
- `name` optional (string): Human-readable name for the hook (e.g., "GitHub"), used as a prefix in session summaries.
|
|
82
|
-
- `agentId` optional (string): Route this hook to a specific agent. Unknown IDs fall back to the default agent. When set, the hook runs using the resolved agent's workspace and configuration.
|
|
83
|
-
- `sessionKey` optional (string): The key used to identify the agent's session. By default this field is rejected unless `hooks.allowRequestSessionKey=true`.
|
|
84
|
-
- `wakeMode` optional (`now` | `next-heartbeat`): Whether to trigger an immediate heartbeat (default `now`) or wait for the next periodic check.
|
|
85
|
-
- `deliver` optional (boolean): If `true`, the agent's response will be sent to the messaging channel. Defaults to `true`. Responses that are only heartbeat acknowledgments are automatically skipped.
|
|
86
|
-
- `model` optional (string): Model override (e.g., `anthropic/claude-3-5-sonnet` or an alias). Must be in the allowed model list if restricted.
|
|
87
|
-
- `thinking` optional (string): Thinking level override (e.g., `low`, `medium`, `high`).
|
|
88
|
-
- `timeoutSeconds` optional (number): Maximum duration for the agent run in seconds.
|
|
89
|
-
|
|
90
|
-
Effect:
|
|
91
|
-
|
|
92
|
-
- Runs an **isolated** agent turn (own session key)
|
|
93
|
-
- Always posts a summary into the **main** session
|
|
94
|
-
- If `wakeMode=now`, triggers an immediate heartbeat
|
|
95
|
-
|
|
96
|
-
## Session key policy (breaking change)
|
|
97
|
-
|
|
98
|
-
`/hooks/agent` payload `sessionKey` overrides are disabled by default.
|
|
99
|
-
|
|
100
|
-
- Recommended: set a fixed `hooks.defaultSessionKey` and keep request overrides off.
|
|
101
|
-
- Optional: allow request overrides only when needed, and restrict prefixes.
|
|
102
|
-
|
|
103
|
-
Recommended config:
|
|
104
|
-
|
|
105
|
-
```json5
|
|
106
|
-
{
|
|
107
|
-
hooks: {
|
|
108
|
-
enabled: true,
|
|
109
|
-
token: "${SYMI_HOOKS_TOKEN}",
|
|
110
|
-
defaultSessionKey: "hook:ingress",
|
|
111
|
-
allowRequestSessionKey: false,
|
|
112
|
-
allowedSessionKeyPrefixes: ["hook:"],
|
|
113
|
-
},
|
|
114
|
-
}
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
Compatibility config (legacy behavior):
|
|
118
|
-
|
|
119
|
-
```json5
|
|
120
|
-
{
|
|
121
|
-
hooks: {
|
|
122
|
-
enabled: true,
|
|
123
|
-
token: "${SYMI_HOOKS_TOKEN}",
|
|
124
|
-
allowRequestSessionKey: true,
|
|
125
|
-
allowedSessionKeyPrefixes: ["hook:"], // strongly recommended
|
|
126
|
-
},
|
|
127
|
-
}
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
### `POST /hooks/<name>` (mapped)
|
|
131
|
-
|
|
132
|
-
Custom hook names are resolved via `hooks.mappings` (see configuration). A mapping can
|
|
133
|
-
turn arbitrary payloads into `wake` or `agent` actions, with optional templates or
|
|
134
|
-
code transforms.
|
|
135
|
-
|
|
136
|
-
Mapping options (summary):
|
|
137
|
-
|
|
138
|
-
- `hooks.presets: ["gmail"]` enables the built-in Gmail mapping.
|
|
139
|
-
- `hooks.mappings` lets you define `match`, `action`, and templates in config.
|
|
140
|
-
- `hooks.transformsDir` + `transform.module` loads a JS/TS module for custom logic.
|
|
141
|
-
- `hooks.transformsDir` (if set) must stay within the transforms root under your Symi config directory (typically `~/.symi/hooks/transforms`).
|
|
142
|
-
- `transform.module` must resolve within the effective transforms directory (traversal/escape paths are rejected).
|
|
143
|
-
- Use `match.source` to keep a generic ingest endpoint (payload-driven routing).
|
|
144
|
-
- TS transforms require a TS loader (e.g. `bun` or `tsx`) or precompiled `.js` at runtime.
|
|
145
|
-
- Set `deliver: true` + `channel`/`to` on mappings to route replies to a chat surface
|
|
146
|
-
(`channel` defaults to `last` and falls back to WhatsApp).
|
|
147
|
-
- `agentId` routes the hook to a specific agent; unknown IDs fall back to the default agent.
|
|
148
|
-
- `hooks.allowedAgentIds` restricts explicit `agentId` routing. Omit it (or include `*`) to allow any agent. Set `[]` to deny explicit `agentId` routing.
|
|
149
|
-
- `hooks.defaultSessionKey` sets the default session for hook agent runs when no explicit key is provided.
|
|
150
|
-
- `hooks.allowRequestSessionKey` controls whether `/hooks/agent` payloads may set `sessionKey` (default: `false`).
|
|
151
|
-
- `hooks.allowedSessionKeyPrefixes` optionally restricts explicit `sessionKey` values from request payloads and mappings.
|
|
152
|
-
- `allowUnsafeExternalContent: true` disables the external content safety wrapper for that hook
|
|
153
|
-
(dangerous; only for trusted internal sources).
|
|
154
|
-
- `symi webhooks gmail setup` writes `hooks.gmail` config for `symi webhooks gmail run`.
|
|
155
|
-
See [Gmail Pub/Sub](/automation/gmail-pubsub) for the full Gmail watch flow.
|
|
156
|
-
|
|
157
|
-
## Responses
|
|
158
|
-
|
|
159
|
-
- `200` for `/hooks/wake`
|
|
160
|
-
- `202` for `/hooks/agent` (async run started)
|
|
161
|
-
- `401` on auth failure
|
|
162
|
-
- `429` after repeated auth failures from the same client (check `Retry-After`)
|
|
163
|
-
- `400` on invalid payload
|
|
164
|
-
- `413` on oversized payloads
|
|
165
|
-
|
|
166
|
-
## Examples
|
|
167
|
-
|
|
168
|
-
```bash
|
|
169
|
-
curl -X POST http://127.0.0.1:18789/hooks/wake \
|
|
170
|
-
-H 'Authorization: Bearer SECRET' \
|
|
171
|
-
-H 'Content-Type: application/json' \
|
|
172
|
-
-d '{"text":"New email received","mode":"now"}'
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
```bash
|
|
176
|
-
curl -X POST http://127.0.0.1:18789/hooks/agent \
|
|
177
|
-
-H 'x-symi-token: SECRET' \
|
|
178
|
-
-H 'Content-Type: application/json' \
|
|
179
|
-
-d '{"message":"Summarize inbox","name":"Email","wakeMode":"next-heartbeat"}'
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
### Use a different model
|
|
183
|
-
|
|
184
|
-
Add `model` to the agent payload (or mapping) to override the model for that run:
|
|
185
|
-
|
|
186
|
-
```bash
|
|
187
|
-
curl -X POST http://127.0.0.1:18789/hooks/agent \
|
|
188
|
-
-H 'x-symi-token: SECRET' \
|
|
189
|
-
-H 'Content-Type: application/json' \
|
|
190
|
-
-d '{"message":"Summarize inbox","name":"Email","model":"openai/gpt-5.2-mini"}'
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
If you enforce `agents.defaults.models`, make sure the override model is included there.
|
|
194
|
-
|
|
195
|
-
```bash
|
|
196
|
-
curl -X POST http://127.0.0.1:18789/hooks/gmail \
|
|
197
|
-
-H 'Authorization: Bearer SECRET' \
|
|
198
|
-
-H 'Content-Type: application/json' \
|
|
199
|
-
-d '{"source":"gmail","messages":[{"from":"Ada","subject":"Hello","snippet":"Hi"}]}'
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
## Security
|
|
203
|
-
|
|
204
|
-
- Keep hook endpoints behind loopback, tailnet, or trusted reverse proxy.
|
|
205
|
-
- Use a dedicated hook token; do not reuse gateway auth tokens.
|
|
206
|
-
- Repeated auth failures are rate-limited per client address to slow brute-force attempts.
|
|
207
|
-
- If you use multi-agent routing, set `hooks.allowedAgentIds` to limit explicit `agentId` selection.
|
|
208
|
-
- Keep `hooks.allowRequestSessionKey=false` unless you require caller-selected sessions.
|
|
209
|
-
- If you enable request `sessionKey`, restrict `hooks.allowedSessionKeyPrefixes` (for example, `["hook:"]`).
|
|
210
|
-
- Avoid including sensitive raw payloads in webhook logs.
|
|
211
|
-
- Hook payloads are treated as untrusted and wrapped with safety boundaries by default.
|
|
212
|
-
If you must disable this for a specific hook, set `allowUnsafeExternalContent: true`
|
|
213
|
-
in that hook's mapping (dangerous).
|
package/docs/brave-search.md
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
summary: "Brave Search API setup for web_search"
|
|
3
|
-
read_when:
|
|
4
|
-
- You want to use Brave Search for web_search
|
|
5
|
-
- You need a BRAVE_API_KEY or plan details
|
|
6
|
-
title: "Brave Search"
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Brave Search API
|
|
10
|
-
|
|
11
|
-
Symi uses Brave Search as the default provider for `web_search`.
|
|
12
|
-
|
|
13
|
-
## Get an API key
|
|
14
|
-
|
|
15
|
-
1. Create a Brave Search API account at [https://brave.com/search/api/](https://brave.com/search/api/)
|
|
16
|
-
2. In the dashboard, choose the **Data for Search** plan and generate an API key.
|
|
17
|
-
3. Store the key in config (recommended) or set `BRAVE_API_KEY` in the Gateway environment.
|
|
18
|
-
|
|
19
|
-
## Config example
|
|
20
|
-
|
|
21
|
-
```json5
|
|
22
|
-
{
|
|
23
|
-
tools: {
|
|
24
|
-
web: {
|
|
25
|
-
search: {
|
|
26
|
-
provider: "brave",
|
|
27
|
-
apiKey: "BRAVE_API_KEY_HERE",
|
|
28
|
-
maxResults: 5,
|
|
29
|
-
timeoutSeconds: 30,
|
|
30
|
-
},
|
|
31
|
-
},
|
|
32
|
-
},
|
|
33
|
-
}
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
## Notes
|
|
37
|
-
|
|
38
|
-
- The Data for AI plan is **not** compatible with `web_search`.
|
|
39
|
-
- Brave provides a free tier plus paid plans; check the Brave API portal for current limits.
|
|
40
|
-
|
|
41
|
-
See [Web tools](/tools/web) for the full web_search configuration.
|
package/docs/capabilities.md
DELETED
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
# Symi Capabilities Index
|
|
2
|
-
|
|
3
|
-
_Auto-generated by `scripts/build-capabilities-index.ts` — do not hand-edit._
|
|
4
|
-
|
|
5
|
-
Symi version: `2.9.5`
|
|
6
|
-
Generated: 2026-04-29T03:08:28.906Z
|
|
7
|
-
|
|
8
|
-
Stage 4 of the prompt-reduction plan moves capability documentation
|
|
9
|
-
out of the system prompt and into versioned content (skills, tool
|
|
10
|
-
descriptions, runtime guards). This index is the single artifact
|
|
11
|
-
engineering and compliance review for capability deltas — PRs that
|
|
12
|
-
change a skill, plugin, or tool surface will show up here.
|
|
13
|
-
|
|
14
|
-
## Skills
|
|
15
|
-
|
|
16
|
-
Bundled skills are loaded on-demand via `skill_search` (Stage 3.3) or
|
|
17
|
-
auto-loaded via `skills.autoLoadInline` config (Stage 2.2). Triggers
|
|
18
|
-
drive the keyword-matching used by the prompt builder's auto-injection
|
|
19
|
-
block (Stage 3.5).
|
|
20
|
-
|
|
21
|
-
**62 bundled skills.**
|
|
22
|
-
|
|
23
|
-
| Skill | Description | Triggers |
|
|
24
|
-
| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
|
|
25
|
-
| `1password` | Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op. | 1password |
|
|
26
|
-
| `apple-notes` | Manage Apple Notes via the `memo` CLI on macOS (create, view, edit, delete, search, move, and export notes). Use when a user asks Symi to add a note, list notes, search notes, or manage note folders. | apple-notes, apple, notes |
|
|
27
|
-
| `apple-reminders` | Manage Apple Reminders via remindctl CLI (list, add, edit, complete, delete). Supports lists, date filters, and JSON/plain output. | apple-reminders, apple, reminders |
|
|
28
|
-
| `bear-notes` | Create, search, and manage Bear notes via grizzly CLI. | bear-notes, bear, notes |
|
|
29
|
-
| `blogwatcher` | Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI. | blogwatcher |
|
|
30
|
-
| `blucli` | BluOS CLI (blu) for discovery, playback, grouping, and volume. | blucli |
|
|
31
|
-
| `bluebubbles` | Use when you need to send or manage iMessages via BlueBubbles (recommended iMessage integration). Calls go through the generic message tool with channel="bluebubbles". | bluebubbles |
|
|
32
|
-
| `camsnap` | Capture frames or clips from RTSP/ONVIF cameras. | camsnap |
|
|
33
|
-
| `canvas` | Display HTML content on connected Symi nodes (Mac app, iOS, Android). Use for games, visualizations, dashboards, generated HTML, and interactive demos. | canvas, display, html, visualize, dashboard, demo |
|
|
34
|
-
| `channel-routing` | Messaging conventions and channel routing rules. Reply in current session auto-routes to the source channel; cross-session messaging via sessions_send; sub-agent orchestration via subagents tool; syst | message, messaging, channel, route, routing, send, sessions_send, subagent |
|
|
35
|
-
| `coding-agent` | "Delegate coding tasks to Codex, Claude Code, or Pi agents via background process. Use when: (1) building/creating new features or apps, (2) reviewing PRs (spawn in temp dir), (3) refactoring large co | coding-agent, coding, agent |
|
|
36
|
-
| `connect-email` | Connect a user's email account (Outlook 365 or Gmail) to Symi. Use when the user asks to connect, link, set up, configure, or troubleshoot email — including any mention of "my email", "work email", "o | connect-email, connect, email |
|
|
37
|
-
| `document-generation` | Generate Word (.docx), Excel (.xlsx), PowerPoint (.pptx), and PDF documents via npm packages bundled with Symi. Write a short Node.js script (.cjs for CommonJS), execute via exec with host=gateway. Us | document, docx, xlsx, pptx, pdf, word, excel, powerpoint |
|
|
38
|
-
| `eightctl` | Control Eight Sleep pods (status, temperature, alarms, schedules). | eightctl |
|
|
39
|
-
| `food-order` | Reorder Foodora orders + track ETA/status with ordercli. Never confirm without explicit user approval. Triggers: order food, reorder, track ETA. | food-order, food, order |
|
|
40
|
-
| `gemini` | Gemini CLI for one-shot Q&A, summaries, and generation. | gemini |
|
|
41
|
-
| `gh-issues` | "Fetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments. Usage: /gh-issues [owner/repo] [--label bug] [--limit 5] [--milestone v1.0] [--assi | gh-issues, gh, issues |
|
|
42
|
-
| `gifgrep` | Search GIF providers with CLI/TUI, download results, and extract stills/sheets. | gifgrep |
|
|
43
|
-
| `github` | "GitHub operations via `gh` CLI: issues, PRs, CI runs, code review, API queries. Use when: (1) checking PR status or CI, (2) creating/commenting on issues, (3) listing/filtering PRs or issues, (4) vie | github |
|
|
44
|
-
| `gog` | Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs. | gog |
|
|
45
|
-
| `goplaces` | Query Google Places API (New) via the goplaces CLI for text search, place details, resolve, and reviews. Use for human-friendly place lookup or JSON output for scripts. | goplaces |
|
|
46
|
-
| `healthcheck` | Host security hardening and risk-tolerance configuration for Symi deployments. Use when a user asks for security audits, firewall/SSH/update hardening, risk posture, exposure review, Symi cron schedul | healthcheck |
|
|
47
|
-
| `himalaya` | "CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MI | himalaya |
|
|
48
|
-
| `imsg` | iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app. | imsg |
|
|
49
|
-
| `long-task` | Run long operations (deep scans, brute-forces, big builds, exhaustive enumeration) without hitting the agent-turn timeout. Detaches the command with setsid+nohup and schedules a cron monitor that poll | long-task, long, task |
|
|
50
|
-
| `mcporter` | Use the mcporter CLI to list, configure, auth, and call MCP servers/tools directly (HTTP or stdio), including ad-hoc servers, config edits, and CLI/type generation. | mcporter |
|
|
51
|
-
| `model-usage` | Use CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost d | model-usage, model, usage |
|
|
52
|
-
| `nano-banana-pro` | Generate or edit images via Gemini 3 Pro Image (Nano Banana Pro). | nano-banana-pro, nano, banana, pro |
|
|
53
|
-
| `nano-pdf` | Edit PDFs with natural-language instructions using the nano-pdf CLI. | nano-pdf, nano, pdf |
|
|
54
|
-
| `notion` | Notion API for creating and managing pages, databases, and blocks. | notion |
|
|
55
|
-
| `obsidian` | Work with Obsidian vaults (plain Markdown notes) and automate via obsidian-cli. | obsidian |
|
|
56
|
-
| `openai-image-gen` | Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery. | openai-image-gen, openai, image, gen |
|
|
57
|
-
| `openai-whisper` | Local speech-to-text with the Whisper CLI (no API key). | openai-whisper, openai, whisper |
|
|
58
|
-
| `openai-whisper-api` | Transcribe audio via OpenAI Audio Transcriptions API (Whisper). | openai-whisper-api, openai, whisper, api |
|
|
59
|
-
| `openhue` | Control Philips Hue lights and scenes via the OpenHue CLI. | openhue |
|
|
60
|
-
| `oracle` | Best practices for using the oracle CLI (prompt + file bundling, engines, sessions, and file attachment patterns). | oracle |
|
|
61
|
-
| `ordercli` | Foodora-only CLI for checking past orders and active order status (Deliveroo WIP). | ordercli |
|
|
62
|
-
| `peekaboo` | Capture and automate macOS UI with the Peekaboo CLI. | peekaboo |
|
|
63
|
-
| `reactions-extensive` | Liberal reaction policy for channels configured in EXTENSIVE reactions mode. React naturally — acknowledge messages with appropriate emojis, express sentiment, react to interesting content or notable | reactions, react, emoji, extensive-reactions |
|
|
64
|
-
| `reactions-minimal` | Sparing reaction policy for channels configured in MINIMAL reactions mode. React only when truly relevant — important user requests, genuine sentiment, never routine messages or your own replies. Guid | reactions, react, emoji, minimal-reactions |
|
|
65
|
-
| `safe-edit` | Best practices for the edit tool plus recovery patterns when oldText doesn't match. Read before editing, use shortest unique snippets, prefer distinctive lines, never skip past a failed match. Loaded | edit, oldtext, recovery, match, failed, wrong, snippet, hallucinated |
|
|
66
|
-
| `sag` | ElevenLabs text-to-speech with mac-style say UX. | sag |
|
|
67
|
-
| `session-logs` | Search and analyze your own session logs (older/parent conversations) using jq. | session-logs, session, logs |
|
|
68
|
-
| `sherpa-onnx-tts` | Local text-to-speech via sherpa-onnx (offline, no cloud) | sherpa-onnx-tts, sherpa, onnx, tts |
|
|
69
|
-
| `skill-creator` | Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets. | skill-creator, skill, creator |
|
|
70
|
-
| `slack` | Use when you need to control Slack from Symi via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs. | slack |
|
|
71
|
-
| `songsee` | Generate spectrograms and feature-panel visualizations from audio with the songsee CLI. | songsee |
|
|
72
|
-
| `sonoscli` | Control Sonos speakers (discover/status/play/volume/group). | sonoscli |
|
|
73
|
-
| `spotify-player` | Terminal Spotify playback/search via spogo (preferred) or spotify_player. | spotify-player, spotify, player |
|
|
74
|
-
| `summarize` | Summarize or extract text/transcripts from URLs, podcasts, and local files (great fallback for “transcribe this YouTube/video”). | summarize |
|
|
75
|
-
| `symihub` | Use the SymiHub CLI to search, install, update, and publish agent skills from symihub.com. Use when you need to fetch new skills on the fly, sync installed skills to latest or a specific version, or p | symihub |
|
|
76
|
-
| `things-mac` | Manage Things 3 via the `things` CLI on macOS (add/update projects+todos via URL scheme; read/search/list from the local Things database). Use when a user asks Symi to add a task to Things, list inbox | things-mac, things, mac |
|
|
77
|
-
| `tmux` | Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output. | tmux |
|
|
78
|
-
| `tool-narration` | When and how to narrate tool calls. Default to silence on routine, low-risk tool calls; narrate only when it adds value (multi-step work, sensitive actions, complex problems, or explicit user request) | narrate, narration, tool-call, verbose, explain |
|
|
79
|
-
| `trello` | Manage Trello boards, lists, and cards via the Trello REST API. | trello |
|
|
80
|
-
| `verify-output` | Structured verification pass before delivering code, scripts, configurations, or any technical artifact. Re-read request, check each requirement against output, actually run the code, include tests wh | verify, verification, test, deliver, ship, check, validate, review |
|
|
81
|
-
| `video-frames` | Extract frames or short clips from videos using ffmpeg. | video-frames, video, frames |
|
|
82
|
-
| `voice-call` | Start voice calls via the Symi voice-call plugin. | voice-call, voice, call |
|
|
83
|
-
| `wacli` | Send WhatsApp messages to other people or search/sync WhatsApp history via the wacli CLI (not for normal user chats). | wacli |
|
|
84
|
-
| `weather` | "Get current weather and forecasts via wttr.in or Open-Meteo. Use when: user asks about weather, temperature, or forecasts for any location. NOT for: historical weather data, severe weather alerts, or | weather |
|
|
85
|
-
| `xurl` | A CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interac | xurl |
|
|
86
|
-
|
|
87
|
-
## Extensions / Plugins
|
|
88
|
-
|
|
89
|
-
Bundled extension packages. Channel adapters, memory backends, and
|
|
90
|
-
auth providers all live here. Each ships its own `package.json`.
|
|
91
|
-
|
|
92
|
-
**33 bundled extensions/plugins.**
|
|
93
|
-
|
|
94
|
-
| Extension | Version | Description |
|
|
95
|
-
| ------------------------- | ------- | ----------------------------------------------------------------------------------------------------- |
|
|
96
|
-
| `bluebubbles` | 2.9.4 | Symi BlueBubbles channel plugin |
|
|
97
|
-
| `copilot-proxy` | 2.9.4 | Symi Copilot Proxy provider plugin |
|
|
98
|
-
| `diagnostics-otel` | 2.9.4 | Symi diagnostics OpenTelemetry exporter |
|
|
99
|
-
| `feishu` | 2.9.4 | Symi Feishu/Lark channel plugin (community maintained by @m1heng) |
|
|
100
|
-
| `google-antigravity-auth` | 2.9.4 | Symi Google Antigravity OAuth provider plugin |
|
|
101
|
-
| `google-gemini-cli-auth` | 2.9.4 | Symi Gemini CLI OAuth provider plugin |
|
|
102
|
-
| `googlechat` | 2.9.4 | Symi Google Chat channel plugin |
|
|
103
|
-
| `imessage` | 2.9.4 | Symi iMessage channel plugin |
|
|
104
|
-
| `irc` | 2.9.4 | Symi IRC channel plugin |
|
|
105
|
-
| `learning-loop` | 2.9.4 | Closed-loop learning extension with deterministic quality scoring and vector-indexed learning storage |
|
|
106
|
-
| `line` | 2.9.4 | Symi LINE channel plugin |
|
|
107
|
-
| `llm-task` | 2.9.4 | Symi JSON-only LLM task plugin |
|
|
108
|
-
| `matrix` | 2.9.4 | Symi Matrix channel plugin |
|
|
109
|
-
| `mattermost` | 2.9.4 | Symi Mattermost channel plugin |
|
|
110
|
-
| `memory-core` | 2.9.4 | Symi core memory search plugin |
|
|
111
|
-
| `memory-lancedb` | 2.9.4 | Symi LanceDB-backed long-term memory plugin with auto-recall/capture |
|
|
112
|
-
| `minimax-portal-auth` | 2.9.4 | Symi MiniMax Portal OAuth provider plugin |
|
|
113
|
-
| `msteams` | 2.9.4 | Symi Microsoft Teams channel plugin |
|
|
114
|
-
| `nextcloud-talk` | 2.9.4 | Symi Nextcloud Talk channel plugin |
|
|
115
|
-
| `nostr` | 2.9.4 | Symi Nostr channel plugin for NIP-04 encrypted DMs |
|
|
116
|
-
| `open-prose` | 2.9.4 | OpenProse VM skill pack plugin (slash command + telemetry). |
|
|
117
|
-
| `outlook` | 2.9.4 | Symi Outlook 365 email integration via Microsoft Graph API |
|
|
118
|
-
| `pipeline` | 2.9.4 | Pipeline workflow tool plugin (typed pipelines + resumable approvals) |
|
|
119
|
-
| `signal` | 2.9.4 | Symi Signal channel plugin |
|
|
120
|
-
| `slack` | 2.9.4 | Symi Slack channel plugin |
|
|
121
|
-
| `telegram` | 2.9.4 | Symi Telegram channel plugin |
|
|
122
|
-
| `tlon` | 2.9.4 | Symi Tlon/Urbit channel plugin |
|
|
123
|
-
| `twitch` | 2.9.4 | Symi Twitch channel plugin |
|
|
124
|
-
| `voice-call` | 2.9.4 | Symi voice-call plugin |
|
|
125
|
-
| `whatsapp` | 2.9.4 | Symi WhatsApp channel plugin |
|
|
126
|
-
| `zalo` | 2.9.4 | Symi Zalo channel plugin |
|
|
127
|
-
| `zalouser` | 2.9.4 | Symi Zalo Personal Account plugin via zca-cli |
|
|
128
|
-
|
|
129
|
-
## Behaviour rules enforced by runtime
|
|
130
|
-
|
|
131
|
-
Rules that left the system prompt and now enforce in code:
|
|
132
|
-
|
|
133
|
-
| Rule | Enforcement | Stage |
|
|
134
|
-
| ------------------------------------------------ | ------------------------------------------------------------------------ | ------- |
|
|
135
|
-
| `NO_REPLY` / `SYMIPULSE_OK` strict-match drop | `src/gateway/outbound-filter.ts` | 1.1 |
|
|
136
|
-
| Reply-tag tolerant parsing + auto-injection | `src/utils/directive-tags.ts` + `src/auto-reply/reply/reply-payloads.ts` | 1.2 |
|
|
137
|
-
| Edit refuses unread files | `src/agents/pi-tools.read-edit-guard.ts` | 1.3 |
|
|
138
|
-
| Self-update requires `userRequestAcknowledgment` | `src/agents/tools/gateway-tool.ts` | 1.4 |
|
|
139
|
-
| Tool palette token budget audit | `src/agents/pi-tools.palette-size.test.ts` | 2.3 |
|
|
140
|
-
| Per-profile `promptAdditions` shared constants | `src/config/model-profiles-builtin.ts` | 2.4 |
|
|
141
|
-
| `skill_search` JIT discovery tool | `src/agents/tools/skill-search-tool.ts` | 3.3 |
|
|
142
|
-
| Anchor list + auto-injection blocks | `src/agents/system-prompt-skills-jit.ts` | 3.4/3.5 |
|
|
143
|
-
| `compactMode` section deletions | `src/agents/system-prompt.ts` | 4.5 |
|
|
144
|
-
|
|
145
|
-
## Reproducing this artifact
|
|
146
|
-
|
|
147
|
-
```bash
|
|
148
|
-
pnpm tsx scripts/build-capabilities-index.ts
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
Run after any change to skills, extensions, or runtime behavior rules.
|