@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
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
summary: "Nextcloud Talk support status, capabilities, and configuration"
|
|
3
|
-
read_when:
|
|
4
|
-
- Working on Nextcloud Talk channel features
|
|
5
|
-
title: "Nextcloud Talk"
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Nextcloud Talk (plugin)
|
|
9
|
-
|
|
10
|
-
Status: supported via plugin (webhook bot). Direct messages, rooms, reactions, and markdown messages are supported.
|
|
11
|
-
|
|
12
|
-
## Plugin required
|
|
13
|
-
|
|
14
|
-
Nextcloud Talk 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/nextcloud-talk
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
Local checkout (when running from a git repo):
|
|
23
|
-
|
|
24
|
-
```bash
|
|
25
|
-
symi plugins install ./extensions/nextcloud-talk
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
If you choose Nextcloud Talk during configure/onboarding and a git checkout is detected,
|
|
29
|
-
Symi will offer the local install path automatically.
|
|
30
|
-
|
|
31
|
-
Details: [Plugins](/tools/plugin)
|
|
32
|
-
|
|
33
|
-
## Onboarding
|
|
34
|
-
|
|
35
|
-
1. Install the Nextcloud Talk plugin.
|
|
36
|
-
2. On your Nextcloud server, create a bot:
|
|
37
|
-
|
|
38
|
-
```bash
|
|
39
|
-
./occ talk:bot:install "Symi" "<shared-secret>" "<webhook-url>" --feature reaction
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
3. Enable the bot in the target room settings.
|
|
43
|
-
4. Configure Symi:
|
|
44
|
-
- Config: `channels.nextcloud-talk.baseUrl` + `channels.nextcloud-talk.botSecret`
|
|
45
|
-
- Or env: `NEXTCLOUD_TALK_BOT_SECRET` (default account only)
|
|
46
|
-
5. Restart the gateway (or finish onboarding).
|
|
47
|
-
|
|
48
|
-
Minimal config:
|
|
49
|
-
|
|
50
|
-
```json5
|
|
51
|
-
{
|
|
52
|
-
channels: {
|
|
53
|
-
"nextcloud-talk": {
|
|
54
|
-
enabled: true,
|
|
55
|
-
baseUrl: "https://cloud.example.com",
|
|
56
|
-
botSecret: "shared-secret",
|
|
57
|
-
dmPolicy: "pairing",
|
|
58
|
-
},
|
|
59
|
-
},
|
|
60
|
-
}
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
## Notes
|
|
64
|
-
|
|
65
|
-
- Bots cannot initiate DMs. The user must message the bot first.
|
|
66
|
-
- Webhook URL must be reachable by the Gateway; set `webhookPublicUrl` if behind a proxy.
|
|
67
|
-
- Media uploads are not supported by the bot API; media is sent as URLs.
|
|
68
|
-
- The webhook payload does not distinguish DMs vs rooms; set `apiUser` + `apiPassword` to enable room-type lookups (otherwise DMs are treated as rooms).
|
|
69
|
-
|
|
70
|
-
## Access control (DMs)
|
|
71
|
-
|
|
72
|
-
- Default: `channels.nextcloud-talk.dmPolicy = "pairing"`. Unknown senders get a pairing code.
|
|
73
|
-
- Approve via:
|
|
74
|
-
- `symi pairing list nextcloud-talk`
|
|
75
|
-
- `symi pairing approve nextcloud-talk <CODE>`
|
|
76
|
-
- Public DMs: `channels.nextcloud-talk.dmPolicy="open"` plus `channels.nextcloud-talk.allowFrom=["*"]`.
|
|
77
|
-
- `allowFrom` matches Nextcloud user IDs only; display names are ignored.
|
|
78
|
-
|
|
79
|
-
## Rooms (groups)
|
|
80
|
-
|
|
81
|
-
- Default: `channels.nextcloud-talk.groupPolicy = "allowlist"` (mention-gated).
|
|
82
|
-
- Allowlist rooms with `channels.nextcloud-talk.rooms`:
|
|
83
|
-
|
|
84
|
-
```json5
|
|
85
|
-
{
|
|
86
|
-
channels: {
|
|
87
|
-
"nextcloud-talk": {
|
|
88
|
-
rooms: {
|
|
89
|
-
"room-token": { requireMention: true },
|
|
90
|
-
},
|
|
91
|
-
},
|
|
92
|
-
},
|
|
93
|
-
}
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
- To allow no rooms, keep the allowlist empty or set `channels.nextcloud-talk.groupPolicy="disabled"`.
|
|
97
|
-
|
|
98
|
-
## Capabilities
|
|
99
|
-
|
|
100
|
-
| Feature | Status |
|
|
101
|
-
| --------------- | ------------- |
|
|
102
|
-
| Direct messages | Supported |
|
|
103
|
-
| Rooms | Supported |
|
|
104
|
-
| Threads | Not supported |
|
|
105
|
-
| Media | URL-only |
|
|
106
|
-
| Reactions | Supported |
|
|
107
|
-
| Native commands | Not supported |
|
|
108
|
-
|
|
109
|
-
## Configuration
|
|
110
|
-
|
|
111
|
-
Full configuration: [Configuration](/gateway/configuration)
|
|
112
|
-
|
|
113
|
-
Provider options:
|
|
114
|
-
|
|
115
|
-
- `channels.nextcloud-talk.enabled`: enable/disable channel startup.
|
|
116
|
-
- `channels.nextcloud-talk.baseUrl`: Nextcloud instance URL.
|
|
117
|
-
- `channels.nextcloud-talk.botSecret`: bot shared secret.
|
|
118
|
-
- `channels.nextcloud-talk.botSecretFile`: secret file path.
|
|
119
|
-
- `channels.nextcloud-talk.apiUser`: API user for room lookups (DM detection).
|
|
120
|
-
- `channels.nextcloud-talk.apiPassword`: API/app password for room lookups.
|
|
121
|
-
- `channels.nextcloud-talk.apiPasswordFile`: API password file path.
|
|
122
|
-
- `channels.nextcloud-talk.webhookPort`: webhook listener port (default: 8788).
|
|
123
|
-
- `channels.nextcloud-talk.webhookHost`: webhook host (default: 0.0.0.0).
|
|
124
|
-
- `channels.nextcloud-talk.webhookPath`: webhook path (default: /nextcloud-talk-webhook).
|
|
125
|
-
- `channels.nextcloud-talk.webhookPublicUrl`: externally reachable webhook URL.
|
|
126
|
-
- `channels.nextcloud-talk.dmPolicy`: `pairing | allowlist | open | disabled`.
|
|
127
|
-
- `channels.nextcloud-talk.allowFrom`: DM allowlist (user IDs). `open` requires `"*"`.
|
|
128
|
-
- `channels.nextcloud-talk.groupPolicy`: `allowlist | open | disabled`.
|
|
129
|
-
- `channels.nextcloud-talk.groupAllowFrom`: group allowlist (user IDs).
|
|
130
|
-
- `channels.nextcloud-talk.rooms`: per-room settings and allowlist.
|
|
131
|
-
- `channels.nextcloud-talk.historyLimit`: group history limit (0 disables).
|
|
132
|
-
- `channels.nextcloud-talk.dmHistoryLimit`: DM history limit (0 disables).
|
|
133
|
-
- `channels.nextcloud-talk.dms`: per-DM overrides (historyLimit).
|
|
134
|
-
- `channels.nextcloud-talk.textChunkLimit`: outbound text chunk size (chars).
|
|
135
|
-
- `channels.nextcloud-talk.chunkMode`: `length` (default) or `newline` to split on blank lines (paragraph boundaries) before length chunking.
|
|
136
|
-
- `channels.nextcloud-talk.blockStreaming`: disable block streaming for this channel.
|
|
137
|
-
- `channels.nextcloud-talk.blockStreamingCoalesce`: block streaming coalesce tuning.
|
|
138
|
-
- `channels.nextcloud-talk.mediaMaxMb`: inbound media cap (MB).
|
package/docs/channels/nostr.md
DELETED
|
@@ -1,233 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
summary: "Nostr DM channel via NIP-04 encrypted messages"
|
|
3
|
-
read_when:
|
|
4
|
-
- You want Symi to receive DMs via Nostr
|
|
5
|
-
- You're setting up decentralized messaging
|
|
6
|
-
title: "Nostr"
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Nostr
|
|
10
|
-
|
|
11
|
-
**Status:** Optional plugin (disabled by default).
|
|
12
|
-
|
|
13
|
-
Nostr is a decentralized protocol for social networking. This channel enables Symi to receive and respond to encrypted direct messages (DMs) via NIP-04.
|
|
14
|
-
|
|
15
|
-
## Install (on demand)
|
|
16
|
-
|
|
17
|
-
### Onboarding (recommended)
|
|
18
|
-
|
|
19
|
-
- The onboarding wizard (`symi onboard`) and `symi channels add` list optional channel plugins.
|
|
20
|
-
- Selecting Nostr prompts you to install the plugin on demand.
|
|
21
|
-
|
|
22
|
-
Install defaults:
|
|
23
|
-
|
|
24
|
-
- **Dev channel + git checkout available:** uses the local plugin path.
|
|
25
|
-
- **Stable/Beta:** downloads from npm.
|
|
26
|
-
|
|
27
|
-
You can always override the choice in the prompt.
|
|
28
|
-
|
|
29
|
-
### Manual install
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
symi plugins install @symi/nostr
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
Use a local checkout (dev workflows):
|
|
36
|
-
|
|
37
|
-
```bash
|
|
38
|
-
symi plugins install --link <path-to-symi>/extensions/nostr
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
Restart the Gateway after installing or enabling plugins.
|
|
42
|
-
|
|
43
|
-
## Onboarding
|
|
44
|
-
|
|
45
|
-
1. Generate a Nostr keypair (if needed):
|
|
46
|
-
|
|
47
|
-
```bash
|
|
48
|
-
# Using nak
|
|
49
|
-
nak key generate
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
2. Add to config:
|
|
53
|
-
|
|
54
|
-
```json
|
|
55
|
-
{
|
|
56
|
-
"channels": {
|
|
57
|
-
"nostr": {
|
|
58
|
-
"privateKey": "${NOSTR_PRIVATE_KEY}"
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
3. Export the key:
|
|
65
|
-
|
|
66
|
-
```bash
|
|
67
|
-
export NOSTR_PRIVATE_KEY="nsec1..."
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
4. Restart the Gateway.
|
|
71
|
-
|
|
72
|
-
## Configuration
|
|
73
|
-
|
|
74
|
-
| Key | Type | Default | Description |
|
|
75
|
-
| ------------ | -------- | ------------------------------------------- | ----------------------------------- |
|
|
76
|
-
| `privateKey` | string | required | Private key in `nsec` or hex format |
|
|
77
|
-
| `relays` | string[] | `['wss://relay.damus.io', 'wss://nos.lol']` | Relay URLs (WebSocket) |
|
|
78
|
-
| `dmPolicy` | string | `pairing` | DM access policy |
|
|
79
|
-
| `allowFrom` | string[] | `[]` | Allowed sender pubkeys |
|
|
80
|
-
| `enabled` | boolean | `true` | Enable/disable channel |
|
|
81
|
-
| `name` | string | - | Display name |
|
|
82
|
-
| `profile` | object | - | NIP-01 profile metadata |
|
|
83
|
-
|
|
84
|
-
## Profile metadata
|
|
85
|
-
|
|
86
|
-
Profile data is published as a NIP-01 `kind:0` event. You can manage it from the Control UI (Channels -> Nostr -> Profile) or set it directly in config.
|
|
87
|
-
|
|
88
|
-
Example:
|
|
89
|
-
|
|
90
|
-
```json
|
|
91
|
-
{
|
|
92
|
-
"channels": {
|
|
93
|
-
"nostr": {
|
|
94
|
-
"privateKey": "${NOSTR_PRIVATE_KEY}",
|
|
95
|
-
"profile": {
|
|
96
|
-
"name": "symi",
|
|
97
|
-
"displayName": "Symi",
|
|
98
|
-
"about": "Personal assistant DM bot",
|
|
99
|
-
"picture": "https://example.com/avatar.png",
|
|
100
|
-
"banner": "https://example.com/banner.png",
|
|
101
|
-
"website": "https://example.com",
|
|
102
|
-
"nip05": "symi@example.com",
|
|
103
|
-
"lud16": "symi@example.com"
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
Notes:
|
|
111
|
-
|
|
112
|
-
- Profile URLs must use `https://`.
|
|
113
|
-
- Importing from relays merges fields and preserves local overrides.
|
|
114
|
-
|
|
115
|
-
## Access control
|
|
116
|
-
|
|
117
|
-
### DM policies
|
|
118
|
-
|
|
119
|
-
- **pairing** (default): unknown senders get a pairing code.
|
|
120
|
-
- **allowlist**: only pubkeys in `allowFrom` can DM.
|
|
121
|
-
- **open**: public inbound DMs (requires `allowFrom: ["*"]`).
|
|
122
|
-
- **disabled**: ignore inbound DMs.
|
|
123
|
-
|
|
124
|
-
### Allowlist example
|
|
125
|
-
|
|
126
|
-
```json
|
|
127
|
-
{
|
|
128
|
-
"channels": {
|
|
129
|
-
"nostr": {
|
|
130
|
-
"privateKey": "${NOSTR_PRIVATE_KEY}",
|
|
131
|
-
"dmPolicy": "allowlist",
|
|
132
|
-
"allowFrom": ["npub1abc...", "npub1xyz..."]
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
## Key formats
|
|
139
|
-
|
|
140
|
-
Accepted formats:
|
|
141
|
-
|
|
142
|
-
- **Private key:** `nsec...` or 64-char hex
|
|
143
|
-
- **Pubkeys (`allowFrom`):** `npub...` or hex
|
|
144
|
-
|
|
145
|
-
## Relays
|
|
146
|
-
|
|
147
|
-
Defaults: `relay.damus.io` and `nos.lol`.
|
|
148
|
-
|
|
149
|
-
```json
|
|
150
|
-
{
|
|
151
|
-
"channels": {
|
|
152
|
-
"nostr": {
|
|
153
|
-
"privateKey": "${NOSTR_PRIVATE_KEY}",
|
|
154
|
-
"relays": ["wss://relay.damus.io", "wss://relay.primal.net", "wss://nostr.wine"]
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
Tips:
|
|
161
|
-
|
|
162
|
-
- Use 2-3 relays for redundancy.
|
|
163
|
-
- Avoid too many relays (latency, duplication).
|
|
164
|
-
- Paid relays can improve reliability.
|
|
165
|
-
- Local relays are fine for testing (`ws://localhost:7777`).
|
|
166
|
-
|
|
167
|
-
## Protocol support
|
|
168
|
-
|
|
169
|
-
| NIP | Status | Description |
|
|
170
|
-
| ------ | --------- | ------------------------------------- |
|
|
171
|
-
| NIP-01 | Supported | Basic event format + profile metadata |
|
|
172
|
-
| NIP-04 | Supported | Encrypted DMs (`kind:4`) |
|
|
173
|
-
| NIP-17 | Planned | Gift-wrapped DMs |
|
|
174
|
-
| NIP-44 | Planned | Versioned encryption |
|
|
175
|
-
|
|
176
|
-
## Testing
|
|
177
|
-
|
|
178
|
-
### Local relay
|
|
179
|
-
|
|
180
|
-
```bash
|
|
181
|
-
# Start strfry
|
|
182
|
-
docker run -p 7777:7777 ghcr.io/hoytech/strfry
|
|
183
|
-
```
|
|
184
|
-
|
|
185
|
-
```json
|
|
186
|
-
{
|
|
187
|
-
"channels": {
|
|
188
|
-
"nostr": {
|
|
189
|
-
"privateKey": "${NOSTR_PRIVATE_KEY}",
|
|
190
|
-
"relays": ["ws://localhost:7777"]
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
### Manual test
|
|
197
|
-
|
|
198
|
-
1. Note the bot pubkey (npub) from logs.
|
|
199
|
-
2. Open a Nostr client (Damus, Amethyst, etc.).
|
|
200
|
-
3. DM the bot pubkey.
|
|
201
|
-
4. Verify the response.
|
|
202
|
-
|
|
203
|
-
## Troubleshooting
|
|
204
|
-
|
|
205
|
-
### Not receiving messages
|
|
206
|
-
|
|
207
|
-
- Verify the private key is valid.
|
|
208
|
-
- Ensure relay URLs are reachable and use `wss://` (or `ws://` for local).
|
|
209
|
-
- Confirm `enabled` is not `false`.
|
|
210
|
-
- Check Gateway logs for relay connection errors.
|
|
211
|
-
|
|
212
|
-
### Not sending responses
|
|
213
|
-
|
|
214
|
-
- Check relay accepts writes.
|
|
215
|
-
- Verify outbound connectivity.
|
|
216
|
-
- Watch for relay rate limits.
|
|
217
|
-
|
|
218
|
-
### Duplicate responses
|
|
219
|
-
|
|
220
|
-
- Expected when using multiple relays.
|
|
221
|
-
- Messages are deduplicated by event ID; only the first delivery triggers a response.
|
|
222
|
-
|
|
223
|
-
## Security
|
|
224
|
-
|
|
225
|
-
- Never commit private keys.
|
|
226
|
-
- Use environment variables for keys.
|
|
227
|
-
- Consider `allowlist` for production bots.
|
|
228
|
-
|
|
229
|
-
## Limitations (MVP)
|
|
230
|
-
|
|
231
|
-
- Direct messages only (no group chats).
|
|
232
|
-
- No media attachments.
|
|
233
|
-
- NIP-04 only (NIP-17 gift-wrap planned).
|
package/docs/channels/pairing.md
DELETED
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
summary: "Pairing overview: approve who can DM you + which nodes can join"
|
|
3
|
-
read_when:
|
|
4
|
-
- Setting up DM access control
|
|
5
|
-
- Pairing a new iOS/Android node
|
|
6
|
-
- Reviewing Symi security posture
|
|
7
|
-
title: "Pairing"
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Pairing
|
|
11
|
-
|
|
12
|
-
“Pairing” is Symi’s explicit **owner approval** step.
|
|
13
|
-
It is used in two places:
|
|
14
|
-
|
|
15
|
-
1. **DM pairing** (who is allowed to talk to the bot)
|
|
16
|
-
2. **Node pairing** (which devices/nodes are allowed to join the gateway network)
|
|
17
|
-
|
|
18
|
-
Security context: [Security](/gateway/security)
|
|
19
|
-
|
|
20
|
-
## 1) DM pairing (inbound chat access)
|
|
21
|
-
|
|
22
|
-
When a channel is configured with DM policy `pairing`, unknown senders get a short code and their message is **not processed** until you approve.
|
|
23
|
-
|
|
24
|
-
Default DM policies are documented in: [Security](/gateway/security)
|
|
25
|
-
|
|
26
|
-
Pairing codes:
|
|
27
|
-
|
|
28
|
-
- 8 characters, uppercase, no ambiguous chars (`0O1I`).
|
|
29
|
-
- **Expire after 1 hour**. The bot only sends the pairing message when a new request is created (roughly once per hour per sender).
|
|
30
|
-
- Pending DM pairing requests are capped at **3 per channel** by default; additional requests are ignored until one expires or is approved.
|
|
31
|
-
|
|
32
|
-
### Approve a sender
|
|
33
|
-
|
|
34
|
-
```bash
|
|
35
|
-
symi pairing list telegram
|
|
36
|
-
symi pairing approve telegram <CODE>
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
### Where the state lives
|
|
40
|
-
|
|
41
|
-
Stored under `~/.symi/credentials/`:
|
|
42
|
-
|
|
43
|
-
- Pending requests: `<channel>-pairing.json`
|
|
44
|
-
- Approved allowlist store: `<channel>-allowFrom.json`
|
|
45
|
-
|
|
46
|
-
Treat these as sensitive (they gate access to your assistant).
|
|
47
|
-
|
|
48
|
-
## 2) Node device pairing (iOS/Android/macOS/headless nodes)
|
|
49
|
-
|
|
50
|
-
Nodes connect to the Gateway as **devices** with `role: node`. The Gateway
|
|
51
|
-
creates a device pairing request that must be approved.
|
|
52
|
-
|
|
53
|
-
### Pair via Telegram (recommended for iOS)
|
|
54
|
-
|
|
55
|
-
If you use the `device-pair` plugin, you can do first-time device pairing entirely from Telegram:
|
|
56
|
-
|
|
57
|
-
1. In Telegram, message your bot: `/pair`
|
|
58
|
-
2. The bot replies with two messages: an instruction message and a separate **setup code** message (easy to copy/paste in Telegram).
|
|
59
|
-
3. On your phone, open the Symi iOS app → Settings → Gateway.
|
|
60
|
-
4. Paste the setup code and connect.
|
|
61
|
-
5. Back in Telegram: `/pair approve`
|
|
62
|
-
|
|
63
|
-
The setup code is a base64-encoded JSON payload that contains:
|
|
64
|
-
|
|
65
|
-
- `url`: the Gateway WebSocket URL (`ws://...` or `wss://...`)
|
|
66
|
-
- `token`: a short-lived pairing token
|
|
67
|
-
|
|
68
|
-
Treat the setup code like a password while it is valid.
|
|
69
|
-
|
|
70
|
-
### Approve a node device
|
|
71
|
-
|
|
72
|
-
```bash
|
|
73
|
-
symi devices list
|
|
74
|
-
symi devices approve <requestId>
|
|
75
|
-
symi devices reject <requestId>
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
### Node pairing state storage
|
|
79
|
-
|
|
80
|
-
Stored under `~/.symi/devices/`:
|
|
81
|
-
|
|
82
|
-
- `pending.json` (short-lived; pending requests expire)
|
|
83
|
-
- `paired.json` (paired devices + tokens)
|
|
84
|
-
|
|
85
|
-
### Notes
|
|
86
|
-
|
|
87
|
-
- The legacy `node.pair.*` API (CLI: `symi nodes pending/approve`) is a
|
|
88
|
-
separate gateway-owned pairing store. WS nodes still require device pairing.
|
|
89
|
-
|
|
90
|
-
## Related docs
|
|
91
|
-
|
|
92
|
-
- Security model + prompt injection: [Security](/gateway/security)
|
|
93
|
-
- Updating safely (run doctor): [Updating](/install/updating)
|
|
94
|
-
- Channel configs:
|
|
95
|
-
- Telegram: [Telegram](/channels/telegram)
|
|
96
|
-
- WhatsApp: [WhatsApp](/channels/whatsapp)
|
|
97
|
-
- Signal: [Signal](/channels/signal)
|
|
98
|
-
- BlueBubbles (iMessage): [BlueBubbles](/channels/bluebubbles)
|
|
99
|
-
- iMessage (legacy): [iMessage](/channels/imessage)
|
|
100
|
-
- Slack: [Slack](/channels/slack)
|