@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.
Files changed (737) hide show
  1. package/dist/{audio-preflight-BaCdNfrk.js → audio-preflight-D7BVT-ls.js} +4 -4
  2. package/dist/build-info.json +3 -3
  3. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  4. package/dist/{chrome-UfmVM0xR.js → chrome-B5CO2vB5.js} +7 -7
  5. package/dist/{deliver-BqXdac6W.js → deliver-CrwjsDwv.js} +1 -1
  6. package/dist/extensionAPI.js +7 -7
  7. package/dist/{image-DIWsXYcW.js → image-Csu7WcLW.js} +1 -1
  8. package/dist/{manager-DW3SxcPr.js → manager-BkkVjTO8.js} +1 -1
  9. package/dist/{pi-embedded-BNch0U5F.js → pi-embedded-Dhp64z5l.js} +16 -16
  10. package/dist/{pi-embedded-helpers-IkHl02JF.js → pi-embedded-helpers-840E4hop.js} +4 -4
  11. package/dist/{pw-ai-nMkA-oDJ.js → pw-ai-CBgJf_RR.js} +1 -1
  12. package/dist/{runner-DNEC58JI.js → runner-BbFKo1ne.js} +1 -1
  13. package/dist/{synthesis-BWAr0sZ9.js → synthesis-DoEM0E8_.js} +7 -7
  14. package/dist/{web-7a-m_UxL.js → web-BYXJn-Ps.js} +7 -7
  15. package/package.json +1 -1
  16. package/docs/.i18n/README.md +0 -31
  17. package/docs/.i18n/glossary.ja-JP.json +0 -14
  18. package/docs/.i18n/glossary.zh-CN.json +0 -210
  19. package/docs/.i18n/ja-JP.tm.jsonl +0 -0
  20. package/docs/.i18n/zh-CN.tm.jsonl +0 -1303
  21. package/docs/CNAME +0 -1
  22. package/docs/assets/install-script.svg +0 -1
  23. package/docs/assets/macos-onboarding/01-macos-warning.jpeg +0 -0
  24. package/docs/assets/macos-onboarding/02-local-networks.jpeg +0 -0
  25. package/docs/assets/macos-onboarding/03-security-notice.png +0 -0
  26. package/docs/assets/macos-onboarding/04-choose-gateway.png +0 -0
  27. package/docs/assets/macos-onboarding/05-permissions.png +0 -0
  28. package/docs/assets/pixel-symi.svg +0 -60
  29. package/docs/assets/showcase/agents-ui.jpg +0 -0
  30. package/docs/assets/showcase/bambu-cli.png +0 -0
  31. package/docs/assets/showcase/codexmonitor.png +0 -0
  32. package/docs/assets/showcase/gohome-grafana.png +0 -0
  33. package/docs/assets/showcase/ios-testflight.jpg +0 -0
  34. package/docs/assets/showcase/oura-health.png +0 -0
  35. package/docs/assets/showcase/padel-cli.svg +0 -11
  36. package/docs/assets/showcase/padel-screenshot.jpg +0 -0
  37. package/docs/assets/showcase/papla-tts.jpg +0 -0
  38. package/docs/assets/showcase/pr-review-telegram.jpg +0 -0
  39. package/docs/assets/showcase/roborock-screenshot.jpg +0 -0
  40. package/docs/assets/showcase/roborock-status.svg +0 -13
  41. package/docs/assets/showcase/roof-camera-sky.jpg +0 -0
  42. package/docs/assets/showcase/snag.png +0 -0
  43. package/docs/assets/showcase/tesco-shop.jpg +0 -0
  44. package/docs/assets/showcase/wienerlinien.png +0 -0
  45. package/docs/assets/showcase/wine-cellar-skill.jpg +0 -0
  46. package/docs/assets/showcase/winix-air-purifier.jpg +0 -0
  47. package/docs/assets/showcase/xuezh-pronunciation.jpeg +0 -0
  48. package/docs/assets/sponsors/blacksmith.svg +0 -14
  49. package/docs/assets/sponsors/openai.svg +0 -3
  50. package/docs/assets/symi-logo-text-dark.png +0 -0
  51. package/docs/assets/symi-logo-text.png +0 -0
  52. package/docs/automation/auth-monitoring.md +0 -44
  53. package/docs/automation/cron-jobs.md +0 -540
  54. package/docs/automation/cron-vs-heartbeat.md +0 -286
  55. package/docs/automation/gmail-pubsub.md +0 -256
  56. package/docs/automation/hooks.md +0 -998
  57. package/docs/automation/poll.md +0 -61
  58. package/docs/automation/troubleshooting.md +0 -122
  59. package/docs/automation/webhook.md +0 -213
  60. package/docs/brave-search.md +0 -41
  61. package/docs/capabilities.md +0 -151
  62. package/docs/channels/bluebubbles.md +0 -346
  63. package/docs/channels/broadcast-groups.md +0 -441
  64. package/docs/channels/channel-routing.md +0 -112
  65. package/docs/channels/feishu.md +0 -586
  66. package/docs/channels/googlechat.md +0 -253
  67. package/docs/channels/grammy.md +0 -31
  68. package/docs/channels/group-messages.md +0 -82
  69. package/docs/channels/groups.md +0 -364
  70. package/docs/channels/imessage.md +0 -366
  71. package/docs/channels/index.md +0 -46
  72. package/docs/channels/irc.md +0 -234
  73. package/docs/channels/line.md +0 -186
  74. package/docs/channels/location.md +0 -56
  75. package/docs/channels/matrix.md +0 -300
  76. package/docs/channels/mattermost.md +0 -158
  77. package/docs/channels/msteams.md +0 -769
  78. package/docs/channels/nextcloud-talk.md +0 -138
  79. package/docs/channels/nostr.md +0 -233
  80. package/docs/channels/pairing.md +0 -100
  81. package/docs/channels/signal.md +0 -322
  82. package/docs/channels/slack.md +0 -510
  83. package/docs/channels/telegram.md +0 -748
  84. package/docs/channels/tlon.md +0 -148
  85. package/docs/channels/troubleshooting.md +0 -110
  86. package/docs/channels/twitch.md +0 -379
  87. package/docs/channels/whatsapp.md +0 -444
  88. package/docs/channels/zalo.md +0 -192
  89. package/docs/channels/zalouser.md +0 -140
  90. package/docs/ci.md +0 -50
  91. package/docs/cli/acp.md +0 -182
  92. package/docs/cli/agent.md +0 -24
  93. package/docs/cli/agents.md +0 -75
  94. package/docs/cli/approvals.md +0 -50
  95. package/docs/cli/browser.md +0 -107
  96. package/docs/cli/channels.md +0 -73
  97. package/docs/cli/config.md +0 -50
  98. package/docs/cli/configure.md +0 -32
  99. package/docs/cli/cron.md +0 -44
  100. package/docs/cli/dashboard.md +0 -16
  101. package/docs/cli/devices.md +0 -73
  102. package/docs/cli/directory.md +0 -62
  103. package/docs/cli/dns.md +0 -23
  104. package/docs/cli/docs.md +0 -15
  105. package/docs/cli/doctor.md +0 -41
  106. package/docs/cli/gateway.md +0 -202
  107. package/docs/cli/health.md +0 -21
  108. package/docs/cli/hooks.md +0 -313
  109. package/docs/cli/index.md +0 -1029
  110. package/docs/cli/logs.md +0 -28
  111. package/docs/cli/memory.md +0 -45
  112. package/docs/cli/message.md +0 -214
  113. package/docs/cli/models.md +0 -79
  114. package/docs/cli/node.md +0 -112
  115. package/docs/cli/nodes.md +0 -73
  116. package/docs/cli/onboard.md +0 -76
  117. package/docs/cli/pairing.md +0 -21
  118. package/docs/cli/plugins.md +0 -92
  119. package/docs/cli/reset.md +0 -17
  120. package/docs/cli/sandbox.md +0 -152
  121. package/docs/cli/security.md +0 -64
  122. package/docs/cli/sessions.md +0 -16
  123. package/docs/cli/setup.md +0 -29
  124. package/docs/cli/skills.md +0 -26
  125. package/docs/cli/status.md +0 -25
  126. package/docs/cli/system.md +0 -60
  127. package/docs/cli/tui.md +0 -23
  128. package/docs/cli/uninstall.md +0 -17
  129. package/docs/cli/update.md +0 -98
  130. package/docs/cli/voicecall.md +0 -34
  131. package/docs/cli/webhooks.md +0 -25
  132. package/docs/concepts/agent-loop.md +0 -148
  133. package/docs/concepts/agent-workspace.md +0 -234
  134. package/docs/concepts/agent.md +0 -123
  135. package/docs/concepts/architecture.md +0 -135
  136. package/docs/concepts/compaction.md +0 -61
  137. package/docs/concepts/context.md +0 -161
  138. package/docs/concepts/features.md +0 -51
  139. package/docs/concepts/markdown-formatting.md +0 -128
  140. package/docs/concepts/memory.md +0 -729
  141. package/docs/concepts/messages.md +0 -153
  142. package/docs/concepts/model-failover.md +0 -149
  143. package/docs/concepts/model-providers.md +0 -424
  144. package/docs/concepts/models.md +0 -208
  145. package/docs/concepts/multi-agent.md +0 -521
  146. package/docs/concepts/oauth.md +0 -145
  147. package/docs/concepts/presence.md +0 -102
  148. package/docs/concepts/queue.md +0 -86
  149. package/docs/concepts/retry.md +0 -64
  150. package/docs/concepts/session-pruning.md +0 -123
  151. package/docs/concepts/session-tool.md +0 -213
  152. package/docs/concepts/session.md +0 -199
  153. package/docs/concepts/sessions.md +0 -10
  154. package/docs/concepts/streaming.md +0 -129
  155. package/docs/concepts/system-prompt.md +0 -128
  156. package/docs/concepts/timezone.md +0 -90
  157. package/docs/concepts/typebox.md +0 -289
  158. package/docs/concepts/typing-indicators.md +0 -68
  159. package/docs/concepts/usage-tracking.md +0 -35
  160. package/docs/date-time.md +0 -127
  161. package/docs/debug/node-issue.md +0 -85
  162. package/docs/diagnostics/flags.md +0 -91
  163. package/docs/docs.json +0 -1849
  164. package/docs/experiments/onboarding-config-protocol.md +0 -40
  165. package/docs/experiments/plans/browser-evaluate-cdp-refactor.md +0 -229
  166. package/docs/experiments/plans/cron-add-hardening.md +0 -62
  167. package/docs/experiments/plans/group-policy-hardening.md +0 -40
  168. package/docs/experiments/plans/openresponses-gateway.md +0 -123
  169. package/docs/experiments/plans/pty-process-supervision.md +0 -192
  170. package/docs/experiments/plans/session-binding-channel-agnostic.md +0 -202
  171. package/docs/experiments/plans/thread-bound-subagents.md +0 -281
  172. package/docs/experiments/proposals/model-config.md +0 -36
  173. package/docs/experiments/research/memory.md +0 -228
  174. package/docs/gateway/authentication.md +0 -162
  175. package/docs/gateway/background-process.md +0 -96
  176. package/docs/gateway/bonjour.md +0 -177
  177. package/docs/gateway/bridge-protocol.md +0 -91
  178. package/docs/gateway/cli-backends.md +0 -225
  179. package/docs/gateway/configuration-examples.md +0 -610
  180. package/docs/gateway/configuration-reference.md +0 -2465
  181. package/docs/gateway/configuration.md +0 -488
  182. package/docs/gateway/discovery.md +0 -123
  183. package/docs/gateway/doctor.md +0 -282
  184. package/docs/gateway/gateway-lock.md +0 -34
  185. package/docs/gateway/health.md +0 -35
  186. package/docs/gateway/heartbeat.md +0 -374
  187. package/docs/gateway/index.md +0 -254
  188. package/docs/gateway/local-models.md +0 -150
  189. package/docs/gateway/logging.md +0 -113
  190. package/docs/gateway/multiple-gateways.md +0 -112
  191. package/docs/gateway/network-model.md +0 -20
  192. package/docs/gateway/openai-http-api.md +0 -119
  193. package/docs/gateway/openresponses-http-api.md +0 -333
  194. package/docs/gateway/pairing.md +0 -99
  195. package/docs/gateway/protocol.md +0 -221
  196. package/docs/gateway/remote-gateway-readme.md +0 -158
  197. package/docs/gateway/remote.md +0 -131
  198. package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +0 -128
  199. package/docs/gateway/sandboxing.md +0 -203
  200. package/docs/gateway/security/index.md +0 -931
  201. package/docs/gateway/tailscale.md +0 -132
  202. package/docs/gateway/tools-invoke-http-api.md +0 -110
  203. package/docs/gateway/troubleshooting.md +0 -317
  204. package/docs/gateway/trusted-proxy-auth.md +0 -270
  205. package/docs/glass-ui-rendering-invariants.md +0 -451
  206. package/docs/help/debugging.md +0 -162
  207. package/docs/help/environment.md +0 -107
  208. package/docs/help/faq.md +0 -2846
  209. package/docs/help/index.md +0 -21
  210. package/docs/help/scripts.md +0 -28
  211. package/docs/help/testing.md +0 -385
  212. package/docs/help/troubleshooting.md +0 -264
  213. package/docs/images/configure-model-picker-unsearchable.png +0 -0
  214. package/docs/images/feishu-step2-create-app.png +0 -0
  215. package/docs/images/feishu-step3-credentials.png +0 -0
  216. package/docs/images/feishu-step4-permissions.png +0 -0
  217. package/docs/images/feishu-step5-bot-capability.png +0 -0
  218. package/docs/images/feishu-step6-event-subscription.png +0 -0
  219. package/docs/images/groups-flow.svg +0 -52
  220. package/docs/images/mobile-ui-screenshot.png +0 -0
  221. package/docs/index.md +0 -186
  222. package/docs/install/ansible.md +0 -207
  223. package/docs/install/bun.md +0 -59
  224. package/docs/install/development-channels.md +0 -75
  225. package/docs/install/docker.md +0 -583
  226. package/docs/install/exe-dev.md +0 -126
  227. package/docs/install/fly.md +0 -472
  228. package/docs/install/gcp.md +0 -499
  229. package/docs/install/hetzner.md +0 -347
  230. package/docs/install/index.md +0 -218
  231. package/docs/install/installer.md +0 -405
  232. package/docs/install/macos-vm.md +0 -281
  233. package/docs/install/migrating.md +0 -192
  234. package/docs/install/nix.md +0 -98
  235. package/docs/install/node.md +0 -138
  236. package/docs/install/northflank.mdx +0 -49
  237. package/docs/install/podman.md +0 -108
  238. package/docs/install/railway.mdx +0 -95
  239. package/docs/install/render.mdx +0 -158
  240. package/docs/install/uninstall.md +0 -128
  241. package/docs/install/updating.md +0 -231
  242. package/docs/ja-JP/AGENTS.md +0 -37
  243. package/docs/ja-JP/index.md +0 -183
  244. package/docs/ja-JP/start/getting-started.md +0 -125
  245. package/docs/ja-JP/start/wizard.md +0 -77
  246. package/docs/logging.md +0 -350
  247. package/docs/nav-tabs-underline.js +0 -100
  248. package/docs/network.md +0 -54
  249. package/docs/nodes/audio.md +0 -133
  250. package/docs/nodes/camera.md +0 -156
  251. package/docs/nodes/images.md +0 -72
  252. package/docs/nodes/index.md +0 -342
  253. package/docs/nodes/location-command.md +0 -113
  254. package/docs/nodes/media-understanding.md +0 -379
  255. package/docs/nodes/talk.md +0 -90
  256. package/docs/nodes/troubleshooting.md +0 -112
  257. package/docs/nodes/voicewake.md +0 -65
  258. package/docs/perplexity.md +0 -80
  259. package/docs/phase-6.5-pre-flight-audit.md +0 -268
  260. package/docs/pi-dev.md +0 -70
  261. package/docs/pi.md +0 -610
  262. package/docs/platforms/android.md +0 -151
  263. package/docs/platforms/digitalocean.md +0 -265
  264. package/docs/platforms/index.md +0 -53
  265. package/docs/platforms/ios.md +0 -108
  266. package/docs/platforms/linux.md +0 -94
  267. package/docs/platforms/mac/bundled-gateway.md +0 -73
  268. package/docs/platforms/mac/canvas.md +0 -125
  269. package/docs/platforms/mac/child-process.md +0 -69
  270. package/docs/platforms/mac/dev-setup.md +0 -104
  271. package/docs/platforms/mac/health.md +0 -34
  272. package/docs/platforms/mac/icon.md +0 -31
  273. package/docs/platforms/mac/logging.md +0 -57
  274. package/docs/platforms/mac/menu-bar.md +0 -81
  275. package/docs/platforms/mac/peekaboo.md +0 -65
  276. package/docs/platforms/mac/permissions.md +0 -50
  277. package/docs/platforms/mac/release.md +0 -85
  278. package/docs/platforms/mac/remote.md +0 -84
  279. package/docs/platforms/mac/signing.md +0 -47
  280. package/docs/platforms/mac/skills.md +0 -33
  281. package/docs/platforms/mac/voice-overlay.md +0 -60
  282. package/docs/platforms/mac/voicewake.md +0 -66
  283. package/docs/platforms/mac/webchat.md +0 -43
  284. package/docs/platforms/mac/xpc.md +0 -61
  285. package/docs/platforms/macos.md +0 -204
  286. package/docs/platforms/oracle.md +0 -303
  287. package/docs/platforms/raspberry-pi.md +0 -358
  288. package/docs/platforms/windows.md +0 -159
  289. package/docs/plugins/agent-tools.md +0 -99
  290. package/docs/plugins/community.md +0 -44
  291. package/docs/plugins/manifest.md +0 -71
  292. package/docs/plugins/voice-call.md +0 -322
  293. package/docs/plugins/zalouser.md +0 -81
  294. package/docs/prose.md +0 -134
  295. package/docs/providers/anthropic.md +0 -174
  296. package/docs/providers/bedrock.md +0 -176
  297. package/docs/providers/claude-max-api-proxy.md +0 -148
  298. package/docs/providers/cloudflare-ai-gateway.md +0 -71
  299. package/docs/providers/deepgram.md +0 -93
  300. package/docs/providers/github-copilot.md +0 -72
  301. package/docs/providers/glm.md +0 -33
  302. package/docs/providers/huggingface.md +0 -209
  303. package/docs/providers/index.md +0 -67
  304. package/docs/providers/litellm.md +0 -153
  305. package/docs/providers/minimax.md +0 -208
  306. package/docs/providers/models.md +0 -52
  307. package/docs/providers/moonshot.md +0 -142
  308. package/docs/providers/nvidia.md +0 -55
  309. package/docs/providers/ollama.md +0 -250
  310. package/docs/providers/openai.md +0 -62
  311. package/docs/providers/opencode.md +0 -36
  312. package/docs/providers/openrouter.md +0 -37
  313. package/docs/providers/qianfan.md +0 -38
  314. package/docs/providers/qwen.md +0 -53
  315. package/docs/providers/synthetic.md +0 -99
  316. package/docs/providers/together.md +0 -65
  317. package/docs/providers/venice.md +0 -267
  318. package/docs/providers/vercel-ai-gateway.md +0 -50
  319. package/docs/providers/vllm.md +0 -92
  320. package/docs/providers/xiaomi.md +0 -64
  321. package/docs/providers/zai.md +0 -38
  322. package/docs/refactor/exec-host.md +0 -316
  323. package/docs/refactor/outbound-session-mirroring.md +0 -83
  324. package/docs/refactor/plugin-sdk.md +0 -214
  325. package/docs/refactor/strict-config.md +0 -93
  326. package/docs/refactor/syminet.md +0 -417
  327. package/docs/reference/AGENTS.default.md +0 -123
  328. package/docs/reference/RELEASING.md +0 -120
  329. package/docs/reference/api-usage-costs.md +0 -138
  330. package/docs/reference/credits.md +0 -28
  331. package/docs/reference/device-models.md +0 -47
  332. package/docs/reference/rpc.md +0 -43
  333. package/docs/reference/session-management-compaction.md +0 -284
  334. package/docs/reference/test.md +0 -51
  335. package/docs/reference/token-use.md +0 -136
  336. package/docs/reference/transcript-hygiene.md +0 -151
  337. package/docs/reference/wizard.md +0 -265
  338. package/docs/security/CONTRIBUTING-THREAT-MODEL.md +0 -89
  339. package/docs/security/README.md +0 -16
  340. package/docs/security/THREAT-MODEL-ATLAS.md +0 -600
  341. package/docs/security/formal-verification.md +0 -164
  342. package/docs/start/bootstrapping.md +0 -41
  343. package/docs/start/docs-directory.md +0 -63
  344. package/docs/start/getting-started.md +0 -135
  345. package/docs/start/hubs.md +0 -196
  346. package/docs/start/lore.md +0 -216
  347. package/docs/start/onboarding-overview.md +0 -51
  348. package/docs/start/onboarding.md +0 -81
  349. package/docs/start/quickstart.md +0 -22
  350. package/docs/start/setup.md +0 -160
  351. package/docs/start/showcase.md +0 -414
  352. package/docs/start/symi.md +0 -211
  353. package/docs/start/wizard-cli-automation.md +0 -158
  354. package/docs/start/wizard-cli-reference.md +0 -255
  355. package/docs/start/wizard.md +0 -109
  356. package/docs/style.css +0 -37
  357. package/docs/tools/agent-send.md +0 -52
  358. package/docs/tools/apply-patch.md +0 -51
  359. package/docs/tools/browser-linux-troubleshooting.md +0 -139
  360. package/docs/tools/browser-login.md +0 -67
  361. package/docs/tools/browser.md +0 -587
  362. package/docs/tools/chrome-extension.md +0 -183
  363. package/docs/tools/creating-skills.md +0 -54
  364. package/docs/tools/elevated.md +0 -55
  365. package/docs/tools/exec-approvals.md +0 -261
  366. package/docs/tools/exec.md +0 -184
  367. package/docs/tools/firecrawl.md +0 -61
  368. package/docs/tools/index.md +0 -540
  369. package/docs/tools/llm-task.md +0 -115
  370. package/docs/tools/loop-detection.md +0 -98
  371. package/docs/tools/multi-agent-sandbox-tools.md +0 -396
  372. package/docs/tools/pipeline.md +0 -340
  373. package/docs/tools/plugin.md +0 -687
  374. package/docs/tools/reactions.md +0 -21
  375. package/docs/tools/skills-config.md +0 -76
  376. package/docs/tools/skills.md +0 -300
  377. package/docs/tools/slash-commands.md +0 -202
  378. package/docs/tools/subagents.md +0 -232
  379. package/docs/tools/symihub.md +0 -256
  380. package/docs/tools/thinking.md +0 -75
  381. package/docs/tools/web.md +0 -265
  382. package/docs/tts.md +0 -398
  383. package/docs/vps.md +0 -43
  384. package/docs/web/control-ui.md +0 -247
  385. package/docs/web/dashboard.md +0 -46
  386. package/docs/web/index.md +0 -118
  387. package/docs/web/tui.md +0 -162
  388. package/docs/web/webchat.md +0 -53
  389. package/docs/whatsapp-symi-ai-zh.jpg +0 -0
  390. package/docs/whatsapp-symi.jpg +0 -0
  391. package/docs/zh-CN/AGENTS.md +0 -59
  392. package/docs/zh-CN/automation/auth-monitoring.md +0 -47
  393. package/docs/zh-CN/automation/cron-jobs.md +0 -422
  394. package/docs/zh-CN/automation/cron-vs-heartbeat.md +0 -286
  395. package/docs/zh-CN/automation/gmail-pubsub.md +0 -249
  396. package/docs/zh-CN/automation/hooks.md +0 -881
  397. package/docs/zh-CN/automation/poll.md +0 -68
  398. package/docs/zh-CN/automation/troubleshooting.md +0 -8
  399. package/docs/zh-CN/automation/webhook.md +0 -161
  400. package/docs/zh-CN/brave-search.md +0 -48
  401. package/docs/zh-CN/channels/bluebubbles.md +0 -271
  402. package/docs/zh-CN/channels/broadcast-groups.md +0 -448
  403. package/docs/zh-CN/channels/channel-routing.md +0 -112
  404. package/docs/zh-CN/channels/feishu.md +0 -629
  405. package/docs/zh-CN/channels/googlechat.md +0 -257
  406. package/docs/zh-CN/channels/grammy.md +0 -38
  407. package/docs/zh-CN/channels/group-messages.md +0 -89
  408. package/docs/zh-CN/channels/groups.md +0 -369
  409. package/docs/zh-CN/channels/imessage.md +0 -300
  410. package/docs/zh-CN/channels/index.md +0 -52
  411. package/docs/zh-CN/channels/line.md +0 -180
  412. package/docs/zh-CN/channels/location.md +0 -63
  413. package/docs/zh-CN/channels/matrix.md +0 -221
  414. package/docs/zh-CN/channels/mattermost.md +0 -144
  415. package/docs/zh-CN/channels/msteams.md +0 -773
  416. package/docs/zh-CN/channels/nextcloud-talk.md +0 -142
  417. package/docs/zh-CN/channels/nostr.md +0 -240
  418. package/docs/zh-CN/channels/pairing.md +0 -86
  419. package/docs/zh-CN/channels/signal.md +0 -207
  420. package/docs/zh-CN/channels/slack.md +0 -529
  421. package/docs/zh-CN/channels/telegram.md +0 -748
  422. package/docs/zh-CN/channels/tlon.md +0 -136
  423. package/docs/zh-CN/channels/troubleshooting.md +0 -34
  424. package/docs/zh-CN/channels/twitch.md +0 -385
  425. package/docs/zh-CN/channels/whatsapp.md +0 -411
  426. package/docs/zh-CN/channels/zalo.md +0 -196
  427. package/docs/zh-CN/channels/zalouser.md +0 -147
  428. package/docs/zh-CN/cli/acp.md +0 -173
  429. package/docs/zh-CN/cli/agent.md +0 -30
  430. package/docs/zh-CN/cli/agents.md +0 -82
  431. package/docs/zh-CN/cli/approvals.md +0 -57
  432. package/docs/zh-CN/cli/browser.md +0 -114
  433. package/docs/zh-CN/cli/channels.md +0 -80
  434. package/docs/zh-CN/cli/config.md +0 -57
  435. package/docs/zh-CN/cli/configure.md +0 -37
  436. package/docs/zh-CN/cli/cron.md +0 -43
  437. package/docs/zh-CN/cli/dashboard.md +0 -23
  438. package/docs/zh-CN/cli/devices.md +0 -74
  439. package/docs/zh-CN/cli/directory.md +0 -69
  440. package/docs/zh-CN/cli/dns.md +0 -30
  441. package/docs/zh-CN/cli/docs.md +0 -22
  442. package/docs/zh-CN/cli/doctor.md +0 -48
  443. package/docs/zh-CN/cli/gateway.md +0 -206
  444. package/docs/zh-CN/cli/health.md +0 -28
  445. package/docs/zh-CN/cli/hooks.md +0 -298
  446. package/docs/zh-CN/cli/index.md +0 -1025
  447. package/docs/zh-CN/cli/logs.md +0 -31
  448. package/docs/zh-CN/cli/memory.md +0 -52
  449. package/docs/zh-CN/cli/message.md +0 -205
  450. package/docs/zh-CN/cli/models.md +0 -85
  451. package/docs/zh-CN/cli/node.md +0 -115
  452. package/docs/zh-CN/cli/nodes.md +0 -80
  453. package/docs/zh-CN/cli/onboard.md +0 -36
  454. package/docs/zh-CN/cli/pairing.md +0 -28
  455. package/docs/zh-CN/cli/plugins.md +0 -66
  456. package/docs/zh-CN/cli/reset.md +0 -24
  457. package/docs/zh-CN/cli/sandbox.md +0 -158
  458. package/docs/zh-CN/cli/security.md +0 -33
  459. package/docs/zh-CN/cli/sessions.md +0 -23
  460. package/docs/zh-CN/cli/setup.md +0 -36
  461. package/docs/zh-CN/cli/skills.md +0 -33
  462. package/docs/zh-CN/cli/status.md +0 -32
  463. package/docs/zh-CN/cli/system.md +0 -63
  464. package/docs/zh-CN/cli/tui.md +0 -30
  465. package/docs/zh-CN/cli/uninstall.md +0 -24
  466. package/docs/zh-CN/cli/update.md +0 -101
  467. package/docs/zh-CN/cli/voicecall.md +0 -41
  468. package/docs/zh-CN/cli/webhooks.md +0 -32
  469. package/docs/zh-CN/concepts/agent-loop.md +0 -146
  470. package/docs/zh-CN/concepts/agent-workspace.md +0 -219
  471. package/docs/zh-CN/concepts/agent.md +0 -115
  472. package/docs/zh-CN/concepts/architecture.md +0 -122
  473. package/docs/zh-CN/concepts/compaction.md +0 -67
  474. package/docs/zh-CN/concepts/context.md +0 -168
  475. package/docs/zh-CN/concepts/features.md +0 -57
  476. package/docs/zh-CN/concepts/markdown-formatting.md +0 -115
  477. package/docs/zh-CN/concepts/memory.md +0 -412
  478. package/docs/zh-CN/concepts/messages.md +0 -140
  479. package/docs/zh-CN/concepts/model-failover.md +0 -145
  480. package/docs/zh-CN/concepts/model-providers.md +0 -320
  481. package/docs/zh-CN/concepts/models.md +0 -196
  482. package/docs/zh-CN/concepts/multi-agent.md +0 -371
  483. package/docs/zh-CN/concepts/oauth.md +0 -151
  484. package/docs/zh-CN/concepts/presence.md +0 -99
  485. package/docs/zh-CN/concepts/queue.md +0 -91
  486. package/docs/zh-CN/concepts/retry.md +0 -71
  487. package/docs/zh-CN/concepts/session-pruning.md +0 -129
  488. package/docs/zh-CN/concepts/session-tool.md +0 -198
  489. package/docs/zh-CN/concepts/session.md +0 -158
  490. package/docs/zh-CN/concepts/sessions.md +0 -17
  491. package/docs/zh-CN/concepts/streaming.md +0 -131
  492. package/docs/zh-CN/concepts/system-prompt.md +0 -99
  493. package/docs/zh-CN/concepts/timezone.md +0 -94
  494. package/docs/zh-CN/concepts/typebox.md +0 -284
  495. package/docs/zh-CN/concepts/typing-indicators.md +0 -74
  496. package/docs/zh-CN/concepts/usage-tracking.md +0 -42
  497. package/docs/zh-CN/date-time.md +0 -128
  498. package/docs/zh-CN/debug/node-issue.md +0 -90
  499. package/docs/zh-CN/diagnostics/flags.md +0 -98
  500. package/docs/zh-CN/experiments/onboarding-config-protocol.md +0 -47
  501. package/docs/zh-CN/experiments/plans/cron-add-hardening.md +0 -69
  502. package/docs/zh-CN/experiments/plans/group-policy-hardening.md +0 -45
  503. package/docs/zh-CN/experiments/plans/openresponses-gateway.md +0 -121
  504. package/docs/zh-CN/experiments/proposals/model-config.md +0 -42
  505. package/docs/zh-CN/experiments/research/memory.md +0 -235
  506. package/docs/zh-CN/gateway/authentication.md +0 -142
  507. package/docs/zh-CN/gateway/background-process.md +0 -100
  508. package/docs/zh-CN/gateway/bonjour.md +0 -174
  509. package/docs/zh-CN/gateway/bridge-protocol.md +0 -86
  510. package/docs/zh-CN/gateway/cli-backends.md +0 -213
  511. package/docs/zh-CN/gateway/configuration-examples.md +0 -580
  512. package/docs/zh-CN/gateway/configuration.md +0 -3284
  513. package/docs/zh-CN/gateway/discovery.md +0 -123
  514. package/docs/zh-CN/gateway/doctor.md +0 -238
  515. package/docs/zh-CN/gateway/gateway-lock.md +0 -41
  516. package/docs/zh-CN/gateway/health.md +0 -42
  517. package/docs/zh-CN/gateway/heartbeat.md +0 -272
  518. package/docs/zh-CN/gateway/index.md +0 -335
  519. package/docs/zh-CN/gateway/local-models.md +0 -157
  520. package/docs/zh-CN/gateway/logging.md +0 -114
  521. package/docs/zh-CN/gateway/multiple-gateways.md +0 -119
  522. package/docs/zh-CN/gateway/network-model.md +0 -23
  523. package/docs/zh-CN/gateway/openai-http-api.md +0 -125
  524. package/docs/zh-CN/gateway/openresponses-http-api.md +0 -317
  525. package/docs/zh-CN/gateway/pairing.md +0 -99
  526. package/docs/zh-CN/gateway/protocol.md +0 -220
  527. package/docs/zh-CN/gateway/remote-gateway-readme.md +0 -164
  528. package/docs/zh-CN/gateway/remote.md +0 -133
  529. package/docs/zh-CN/gateway/sandbox-vs-tool-policy-vs-elevated.md +0 -135
  530. package/docs/zh-CN/gateway/sandboxing.md +0 -188
  531. package/docs/zh-CN/gateway/security/index.md +0 -772
  532. package/docs/zh-CN/gateway/tailscale.md +0 -124
  533. package/docs/zh-CN/gateway/tools-invoke-http-api.md +0 -92
  534. package/docs/zh-CN/gateway/troubleshooting.md +0 -758
  535. package/docs/zh-CN/help/debugging.md +0 -160
  536. package/docs/zh-CN/help/environment.md +0 -88
  537. package/docs/zh-CN/help/faq.md +0 -2613
  538. package/docs/zh-CN/help/index.md +0 -28
  539. package/docs/zh-CN/help/scripts.md +0 -35
  540. package/docs/zh-CN/help/testing.md +0 -375
  541. package/docs/zh-CN/help/troubleshooting.md +0 -104
  542. package/docs/zh-CN/index.md +0 -183
  543. package/docs/zh-CN/install/ansible.md +0 -214
  544. package/docs/zh-CN/install/bun.md +0 -65
  545. package/docs/zh-CN/install/development-channels.md +0 -81
  546. package/docs/zh-CN/install/docker.md +0 -525
  547. package/docs/zh-CN/install/exe-dev.md +0 -127
  548. package/docs/zh-CN/install/fly.md +0 -476
  549. package/docs/zh-CN/install/gcp.md +0 -509
  550. package/docs/zh-CN/install/hetzner.md +0 -336
  551. package/docs/zh-CN/install/index.md +0 -193
  552. package/docs/zh-CN/install/installer.md +0 -128
  553. package/docs/zh-CN/install/macos-vm.md +0 -288
  554. package/docs/zh-CN/install/migrating.md +0 -199
  555. package/docs/zh-CN/install/nix.md +0 -99
  556. package/docs/zh-CN/install/node.md +0 -8
  557. package/docs/zh-CN/install/northflank.mdx +0 -56
  558. package/docs/zh-CN/install/railway.mdx +0 -102
  559. package/docs/zh-CN/install/render.mdx +0 -168
  560. package/docs/zh-CN/install/uninstall.md +0 -135
  561. package/docs/zh-CN/install/updating.md +0 -233
  562. package/docs/zh-CN/logging.md +0 -329
  563. package/docs/zh-CN/network.md +0 -59
  564. package/docs/zh-CN/nodes/audio.md +0 -120
  565. package/docs/zh-CN/nodes/camera.md +0 -162
  566. package/docs/zh-CN/nodes/images.md +0 -79
  567. package/docs/zh-CN/nodes/index.md +0 -348
  568. package/docs/zh-CN/nodes/location-command.md +0 -120
  569. package/docs/zh-CN/nodes/media-understanding.md +0 -380
  570. package/docs/zh-CN/nodes/talk.md +0 -97
  571. package/docs/zh-CN/nodes/troubleshooting.md +0 -8
  572. package/docs/zh-CN/nodes/voicewake.md +0 -72
  573. package/docs/zh-CN/perplexity.md +0 -84
  574. package/docs/zh-CN/pi-dev.md +0 -77
  575. package/docs/zh-CN/pi.md +0 -617
  576. package/docs/zh-CN/platforms/android.md +0 -155
  577. package/docs/zh-CN/platforms/digitalocean.md +0 -268
  578. package/docs/zh-CN/platforms/index.md +0 -60
  579. package/docs/zh-CN/platforms/ios.md +0 -114
  580. package/docs/zh-CN/platforms/linux.md +0 -101
  581. package/docs/zh-CN/platforms/mac/bundled-gateway.md +0 -75
  582. package/docs/zh-CN/platforms/mac/canvas.md +0 -128
  583. package/docs/zh-CN/platforms/mac/child-process.md +0 -73
  584. package/docs/zh-CN/platforms/mac/dev-setup.md +0 -109
  585. package/docs/zh-CN/platforms/mac/health.md +0 -41
  586. package/docs/zh-CN/platforms/mac/icon.md +0 -38
  587. package/docs/zh-CN/platforms/mac/logging.md +0 -64
  588. package/docs/zh-CN/platforms/mac/menu-bar.md +0 -88
  589. package/docs/zh-CN/platforms/mac/peekaboo.md +0 -62
  590. package/docs/zh-CN/platforms/mac/permissions.md +0 -46
  591. package/docs/zh-CN/platforms/mac/release.md +0 -92
  592. package/docs/zh-CN/platforms/mac/remote.md +0 -90
  593. package/docs/zh-CN/platforms/mac/signing.md +0 -54
  594. package/docs/zh-CN/platforms/mac/skills.md +0 -40
  595. package/docs/zh-CN/platforms/mac/voice-overlay.md +0 -67
  596. package/docs/zh-CN/platforms/mac/voicewake.md +0 -73
  597. package/docs/zh-CN/platforms/mac/webchat.md +0 -43
  598. package/docs/zh-CN/platforms/mac/xpc.md +0 -68
  599. package/docs/zh-CN/platforms/macos.md +0 -193
  600. package/docs/zh-CN/platforms/oracle.md +0 -310
  601. package/docs/zh-CN/platforms/raspberry-pi.md +0 -365
  602. package/docs/zh-CN/platforms/windows.md +0 -156
  603. package/docs/zh-CN/plugins/agent-tools.md +0 -99
  604. package/docs/zh-CN/plugins/manifest.md +0 -68
  605. package/docs/zh-CN/plugins/voice-call.md +0 -250
  606. package/docs/zh-CN/plugins/zalouser.md +0 -88
  607. package/docs/zh-CN/prose.md +0 -141
  608. package/docs/zh-CN/providers/anthropic.md +0 -159
  609. package/docs/zh-CN/providers/bedrock.md +0 -170
  610. package/docs/zh-CN/providers/claude-max-api-proxy.md +0 -155
  611. package/docs/zh-CN/providers/deepgram.md +0 -97
  612. package/docs/zh-CN/providers/github-copilot.md +0 -67
  613. package/docs/zh-CN/providers/glm.md +0 -39
  614. package/docs/zh-CN/providers/index.md +0 -66
  615. package/docs/zh-CN/providers/minimax.md +0 -206
  616. package/docs/zh-CN/providers/models.md +0 -55
  617. package/docs/zh-CN/providers/moonshot.md +0 -145
  618. package/docs/zh-CN/providers/ollama.md +0 -230
  619. package/docs/zh-CN/providers/openai.md +0 -68
  620. package/docs/zh-CN/providers/opencode.md +0 -41
  621. package/docs/zh-CN/providers/openrouter.md +0 -43
  622. package/docs/zh-CN/providers/qianfan.md +0 -8
  623. package/docs/zh-CN/providers/qwen.md +0 -55
  624. package/docs/zh-CN/providers/synthetic.md +0 -102
  625. package/docs/zh-CN/providers/venice.md +0 -274
  626. package/docs/zh-CN/providers/vercel-ai-gateway.md +0 -57
  627. package/docs/zh-CN/providers/xiaomi.md +0 -68
  628. package/docs/zh-CN/providers/zai.md +0 -41
  629. package/docs/zh-CN/refactor/exec-host.md +0 -323
  630. package/docs/zh-CN/refactor/outbound-session-mirroring.md +0 -90
  631. package/docs/zh-CN/refactor/plugin-sdk.md +0 -221
  632. package/docs/zh-CN/refactor/strict-config.md +0 -100
  633. package/docs/zh-CN/refactor/syminet.md +0 -424
  634. package/docs/zh-CN/reference/AGENTS.default.md +0 -130
  635. package/docs/zh-CN/reference/RELEASING.md +0 -122
  636. package/docs/zh-CN/reference/api-usage-costs.md +0 -136
  637. package/docs/zh-CN/reference/credits.md +0 -34
  638. package/docs/zh-CN/reference/device-models.md +0 -54
  639. package/docs/zh-CN/reference/rpc.md +0 -48
  640. package/docs/zh-CN/reference/session-management-compaction.md +0 -286
  641. package/docs/zh-CN/reference/templates/AGENTS.dev.md +0 -89
  642. package/docs/zh-CN/reference/templates/AGENTS.md +0 -234
  643. package/docs/zh-CN/reference/templates/BOOT.md +0 -17
  644. package/docs/zh-CN/reference/templates/BOOTSTRAP.md +0 -68
  645. package/docs/zh-CN/reference/templates/IDENTITY.dev.md +0 -54
  646. package/docs/zh-CN/reference/templates/IDENTITY.md +0 -36
  647. package/docs/zh-CN/reference/templates/SYMICORE.dev.md +0 -83
  648. package/docs/zh-CN/reference/templates/SYMICORE.md +0 -49
  649. package/docs/zh-CN/reference/templates/SYMIPULSE.md +0 -69
  650. package/docs/zh-CN/reference/templates/TOOLS.dev.md +0 -31
  651. package/docs/zh-CN/reference/templates/TOOLS.md +0 -53
  652. package/docs/zh-CN/reference/templates/USER.dev.md +0 -25
  653. package/docs/zh-CN/reference/templates/USER.md +0 -30
  654. package/docs/zh-CN/reference/test.md +0 -57
  655. package/docs/zh-CN/reference/token-use.md +0 -119
  656. package/docs/zh-CN/reference/transcript-hygiene.md +0 -109
  657. package/docs/zh-CN/reference/wizard.md +0 -9
  658. package/docs/zh-CN/security/formal-verification.md +0 -171
  659. package/docs/zh-CN/start/bootstrapping.md +0 -9
  660. package/docs/zh-CN/start/docs-directory.md +0 -69
  661. package/docs/zh-CN/start/getting-started.md +0 -201
  662. package/docs/zh-CN/start/hubs.md +0 -199
  663. package/docs/zh-CN/start/lore.md +0 -223
  664. package/docs/zh-CN/start/onboarding.md +0 -105
  665. package/docs/zh-CN/start/quickstart.md +0 -88
  666. package/docs/zh-CN/start/setup.md +0 -151
  667. package/docs/zh-CN/start/showcase.md +0 -421
  668. package/docs/zh-CN/start/symi.md +0 -244
  669. package/docs/zh-CN/start/wizard.md +0 -326
  670. package/docs/zh-CN/tools/agent-send.md +0 -58
  671. package/docs/zh-CN/tools/apply-patch.md +0 -57
  672. package/docs/zh-CN/tools/browser-linux-troubleshooting.md +0 -144
  673. package/docs/zh-CN/tools/browser-login.md +0 -75
  674. package/docs/zh-CN/tools/browser.md +0 -553
  675. package/docs/zh-CN/tools/chrome-extension.md +0 -183
  676. package/docs/zh-CN/tools/creating-skills.md +0 -61
  677. package/docs/zh-CN/tools/elevated.md +0 -62
  678. package/docs/zh-CN/tools/exec-approvals.md +0 -233
  679. package/docs/zh-CN/tools/exec.md +0 -169
  680. package/docs/zh-CN/tools/firecrawl.md +0 -68
  681. package/docs/zh-CN/tools/index.md +0 -508
  682. package/docs/zh-CN/tools/llm-task.md +0 -117
  683. package/docs/zh-CN/tools/multi-agent-sandbox-tools.md +0 -400
  684. package/docs/zh-CN/tools/pipeline.md +0 -349
  685. package/docs/zh-CN/tools/plugin.md +0 -639
  686. package/docs/zh-CN/tools/reactions.md +0 -28
  687. package/docs/zh-CN/tools/skills-config.md +0 -78
  688. package/docs/zh-CN/tools/skills.md +0 -279
  689. package/docs/zh-CN/tools/slash-commands.md +0 -196
  690. package/docs/zh-CN/tools/subagents.md +0 -167
  691. package/docs/zh-CN/tools/symihub.md +0 -209
  692. package/docs/zh-CN/tools/thinking.md +0 -80
  693. package/docs/zh-CN/tools/web.md +0 -257
  694. package/docs/zh-CN/tts.md +0 -373
  695. package/docs/zh-CN/vps.md +0 -47
  696. package/docs/zh-CN/web/control-ui.md +0 -190
  697. package/docs/zh-CN/web/dashboard.md +0 -53
  698. package/docs/zh-CN/web/index.md +0 -118
  699. package/docs/zh-CN/web/tui.md +0 -166
  700. package/docs/zh-CN/web/webchat.md +0 -56
  701. package/extensions/imessage/index.ts +0 -17
  702. package/extensions/imessage/node_modules/.bin/symi +0 -21
  703. package/extensions/imessage/package.json +0 -15
  704. package/extensions/imessage/src/channel.outbound.test.ts +0 -66
  705. package/extensions/imessage/src/channel.ts +0 -298
  706. package/extensions/imessage/src/runtime.ts +0 -14
  707. package/extensions/imessage/symi.plugin.json +0 -9
  708. package/extensions/line/index.ts +0 -19
  709. package/extensions/line/node_modules/.bin/symi +0 -21
  710. package/extensions/line/package.json +0 -30
  711. package/extensions/line/src/card-command.ts +0 -344
  712. package/extensions/line/src/channel.logout.test.ts +0 -133
  713. package/extensions/line/src/channel.sendPayload.test.ts +0 -312
  714. package/extensions/line/src/channel.startup.test.ts +0 -133
  715. package/extensions/line/src/channel.ts +0 -801
  716. package/extensions/line/src/runtime.ts +0 -14
  717. package/extensions/line/symi.plugin.json +0 -9
  718. package/extensions/signal/index.ts +0 -17
  719. package/extensions/signal/node_modules/.bin/symi +0 -21
  720. package/extensions/signal/package.json +0 -15
  721. package/extensions/signal/src/channel.ts +0 -302
  722. package/extensions/signal/src/runtime.ts +0 -14
  723. package/extensions/signal/symi.plugin.json +0 -9
  724. package/extensions/telegram/index.ts +0 -17
  725. package/extensions/telegram/node_modules/.bin/symi +0 -21
  726. package/extensions/telegram/package.json +0 -15
  727. package/extensions/telegram/src/channel.test.ts +0 -125
  728. package/extensions/telegram/src/channel.ts +0 -560
  729. package/extensions/telegram/src/runtime.ts +0 -14
  730. package/extensions/telegram/symi.plugin.json +0 -9
  731. package/extensions/whatsapp/index.ts +0 -17
  732. package/extensions/whatsapp/node_modules/.bin/symi +0 -21
  733. package/extensions/whatsapp/package.json +0 -15
  734. package/extensions/whatsapp/src/channel.ts +0 -465
  735. package/extensions/whatsapp/src/resolve-target.test.ts +0 -170
  736. package/extensions/whatsapp/src/runtime.ts +0 -14
  737. package/extensions/whatsapp/symi.plugin.json +0 -9
@@ -1,329 +0,0 @@
1
- ---
2
- read_when:
3
- - 你需要一个适合初学者的日志概述
4
- - 你想配置日志级别或格式
5
- - 你正在故障排除并需要快速找到日志
6
- summary: 日志概述:文件日志、控制台输出、CLI 跟踪和控制 UI
7
- title: 日志
8
- x-i18n:
9
- generated_at: "2026-02-03T07:50:52Z"
10
- model: claude-opus-4-5
11
- provider: pi
12
- source_hash: 884fcf4a906adff34d546908e22abd283cb89fe0845076cf925c72384ec3556b
13
- source_path: logging.md
14
- workflow: 15
15
- ---
16
-
17
- # 日志
18
-
19
- Symi 在两个地方记录日志:
20
-
21
- - **文件日志**(JSON 行)由 Gateway 网关写入。
22
- - **控制台输出**显示在终端和控制 UI 中。
23
-
24
- 本页说明日志存放位置、如何读取日志以及如何配置日志级别和格式。
25
-
26
- ## 日志存放位置
27
-
28
- 默认情况下,Gateway 网关在以下位置写入滚动日志文件:
29
-
30
- `/tmp/symi/symi-YYYY-MM-DD.log`
31
-
32
- 日期使用 Gateway 网关主机的本地时区。
33
-
34
- 你可以在 `~/.symi/symi.json` 中覆盖此设置:
35
-
36
- ```json
37
- {
38
- "logging": {
39
- "file": "/path/to/symi.log"
40
- }
41
- }
42
- ```
43
-
44
- ## 如何读取日志
45
-
46
- ### CLI:实时跟踪(推荐)
47
-
48
- 使用 CLI 通过 RPC 跟踪 Gateway 网关日志文件:
49
-
50
- ```bash
51
- symi logs --follow
52
- ```
53
-
54
- 输出模式:
55
-
56
- - **TTY 会话**:美观、彩色、结构化的日志行。
57
- - **非 TTY 会话**:纯文本。
58
- - `--json`:行分隔的 JSON(每行一个日志事件)。
59
- - `--plain`:在 TTY 会话中强制纯文本。
60
- - `--no-color`:禁用 ANSI 颜色。
61
-
62
- 在 JSON 模式下,CLI 输出带 `type` 标签的对象:
63
-
64
- - `meta`:流元数据(文件、游标、大小)
65
- - `log`:解析的日志条目
66
- - `notice`:截断/轮转提示
67
- - `raw`:未解析的日志行
68
-
69
- 如果 Gateway 网关无法访问,CLI 会打印一个简短提示运行:
70
-
71
- ```bash
72
- symi doctor
73
- ```
74
-
75
- ### 控制 UI(Web)
76
-
77
- 控制 UI 的**日志**标签页使用 `logs.tail` 跟踪相同的文件。
78
- 参见 [/web/control-ui](/web/control-ui) 了解如何打开它。
79
-
80
- ### 仅渠道日志
81
-
82
- 要过滤渠道活动(WhatsApp/Telegram 等),使用:
83
-
84
- ```bash
85
- symi channels logs --channel whatsapp
86
- ```
87
-
88
- ## 日志格式
89
-
90
- ### 文件日志(JSONL)
91
-
92
- 日志文件中的每一行都是一个 JSON 对象。CLI 和控制 UI 解析这些条目以渲染结构化输出(时间、级别、子系统、消息)。
93
-
94
- ### 控制台输出
95
-
96
- 控制台日志**感知 TTY**并格式化以提高可读性:
97
-
98
- - 子系统前缀(例如 `gateway/channels/whatsapp`)
99
- - 级别着色(info/warn/error)
100
- - 可选的紧凑或 JSON 模式
101
-
102
- 控制台格式由 `logging.consoleStyle` 控制。
103
-
104
- ## 配置日志
105
-
106
- 所有日志配置都在 `~/.symi/symi.json` 的 `logging` 下。
107
-
108
- ```json
109
- {
110
- "logging": {
111
- "level": "info",
112
- "file": "/tmp/symi/symi-YYYY-MM-DD.log",
113
- "consoleLevel": "info",
114
- "consoleStyle": "pretty",
115
- "redactSensitive": "tools",
116
- "redactPatterns": ["sk-.*"]
117
- }
118
- }
119
- ```
120
-
121
- ### 日志级别
122
-
123
- - `logging.level`:**文件日志**(JSONL)级别。
124
- - `logging.consoleLevel`:**控制台**详细程度级别。
125
-
126
- `--verbose` 仅影响控制台输出;它不改变文件日志级别。
127
-
128
- ### 控制台样式
129
-
130
- `logging.consoleStyle`:
131
-
132
- - `pretty`:人类友好、彩色、带时间戳。
133
- - `compact`:更紧凑的输出(最适合长会话)。
134
- - `json`:每行 JSON(用于日志处理器)。
135
-
136
- ### 脱敏
137
-
138
- 工具摘要可以在敏感令牌输出到控制台之前对其进行脱敏:
139
-
140
- - `logging.redactSensitive`:`off` | `tools`(默认:`tools`)
141
- - `logging.redactPatterns`:用于覆盖默认集的正则表达式字符串列表
142
-
143
- 脱敏仅影响**控制台输出**,不会改变文件日志。
144
-
145
- ## 诊断 + OpenTelemetry
146
-
147
- 诊断是用于模型运行**和**消息流遥测(webhooks、队列、会话状态)的结构化、机器可读事件。它们**不**替代日志;它们存在是为了向指标、追踪和其他导出器提供数据。
148
-
149
- 诊断事件在进程内发出,但导出器仅在启用诊断 + 导出器插件时才附加。
150
-
151
- ### OpenTelemetry 与 OTLP
152
-
153
- - **OpenTelemetry(OTel)**:追踪、指标和日志的数据模型 + SDK。
154
- - **OTLP**:用于将 OTel 数据导出到收集器/后端的线路协议。
155
- - Symi 目前通过 **OTLP/HTTP(protobuf)** 导出。
156
-
157
- ### 导出的信号
158
-
159
- - **指标**:计数器 + 直方图(令牌使用、消息流、队列)。
160
- - **追踪**:模型使用 + webhook/消息处理的 span。
161
- - **日志**:启用 `diagnostics.otel.logs` 时通过 OTLP 导出。日志量可能很大;请注意 `logging.level` 和导出器过滤器。
162
-
163
- ### 诊断事件目录
164
-
165
- 模型使用:
166
-
167
- - `model.usage`:令牌、成本、持续时间、上下文、提供商/模型/渠道、会话 ID。
168
-
169
- 消息流:
170
-
171
- - `webhook.received`:每渠道的 webhook 入口。
172
- - `webhook.processed`:webhook 已处理 + 持续时间。
173
- - `webhook.error`:webhook 处理程序错误。
174
- - `message.queued`:消息入队等待处理。
175
- - `message.processed`:结果 + 持续时间 + 可选错误。
176
-
177
- 队列 + 会话:
178
-
179
- - `queue.lane.enqueue`:命令队列通道入队 + 深度。
180
- - `queue.lane.dequeue`:命令队列通道出队 + 等待时间。
181
- - `session.state`:会话状态转换 + 原因。
182
- - `session.stuck`:会话卡住警告 + 持续时间。
183
- - `run.attempt`:运行重试/尝试元数据。
184
- - `diagnostic.heartbeat`:聚合计数器(webhooks/队列/会话)。
185
-
186
- ### 启用诊断(无导出器)
187
-
188
- 如果你希望诊断事件可用于插件或自定义接收器,使用此配置:
189
-
190
- ```json
191
- {
192
- "diagnostics": {
193
- "enabled": true
194
- }
195
- }
196
- ```
197
-
198
- ### 诊断标志(定向日志)
199
-
200
- 使用标志在不提高 `logging.level` 的情况下开启额外的定向调试日志。
201
- 标志不区分大小写,支持通配符(例如 `telegram.*` 或 `*`)。
202
-
203
- ```json
204
- {
205
- "diagnostics": {
206
- "flags": ["telegram.http"]
207
- }
208
- }
209
- ```
210
-
211
- 环境变量覆盖(一次性):
212
-
213
- ```
214
- SYMI_DIAGNOSTICS=telegram.http,telegram.payload
215
- ```
216
-
217
- 注意:
218
-
219
- - 标志日志进入标准日志文件(与 `logging.file` 相同)。
220
- - 输出仍根据 `logging.redactSensitive` 进行脱敏。
221
- - 完整指南:[/diagnostics/flags](/diagnostics/flags)。
222
-
223
- ### 导出到 OpenTelemetry
224
-
225
- 诊断可以通过 `diagnostics-otel` 插件(OTLP/HTTP)导出。这适用于任何接受 OTLP/HTTP 的 OpenTelemetry 收集器/后端。
226
-
227
- ```json
228
- {
229
- "plugins": {
230
- "allow": ["diagnostics-otel"],
231
- "entries": {
232
- "diagnostics-otel": {
233
- "enabled": true
234
- }
235
- }
236
- },
237
- "diagnostics": {
238
- "enabled": true,
239
- "otel": {
240
- "enabled": true,
241
- "endpoint": "http://otel-collector:4318",
242
- "protocol": "http/protobuf",
243
- "serviceName": "symi-gateway",
244
- "traces": true,
245
- "metrics": true,
246
- "logs": true,
247
- "sampleRate": 0.2,
248
- "flushIntervalMs": 60000
249
- }
250
- }
251
- }
252
- ```
253
-
254
- 注意:
255
-
256
- - 你也可以使用 `symi plugins enable diagnostics-otel` 启用插件。
257
- - `protocol` 目前仅支持 `http/protobuf`。`grpc` 被忽略。
258
- - 指标包括令牌使用、成本、上下文大小、运行持续时间和消息流计数器/直方图(webhooks、队列、会话状态、队列深度/等待)。
259
- - 追踪/指标可以通过 `traces` / `metrics` 切换(默认:开启)。启用时,追踪包括模型使用 span 加上 webhook/消息处理 span。
260
- - 当你的收集器需要认证时设置 `headers`。
261
- - 支持的环境变量:`OTEL_EXPORTER_OTLP_ENDPOINT`、`OTEL_SERVICE_NAME`、`OTEL_EXPORTER_OTLP_PROTOCOL`。
262
-
263
- ### 导出的指标(名称 + 类型)
264
-
265
- 模型使用:
266
-
267
- - `symi.tokens`(计数器,属性:`symi.token`、`symi.channel`、`symi.provider`、`symi.model`)
268
- - `symi.cost.usd`(计数器,属性:`symi.channel`、`symi.provider`、`symi.model`)
269
- - `symi.run.duration_ms`(直方图,属性:`symi.channel`、`symi.provider`、`symi.model`)
270
- - `symi.context.tokens`(直方图,属性:`symi.context`、`symi.channel`、`symi.provider`、`symi.model`)
271
-
272
- 消息流:
273
-
274
- - `symi.webhook.received`(计数器,属性:`symi.channel`、`symi.webhook`)
275
- - `symi.webhook.error`(计数器,属性:`symi.channel`、`symi.webhook`)
276
- - `symi.webhook.duration_ms`(直方图,属性:`symi.channel`、`symi.webhook`)
277
- - `symi.message.queued`(计数器,属性:`symi.channel`、`symi.source`)
278
- - `symi.message.processed`(计数器,属性:`symi.channel`、`symi.outcome`)
279
- - `symi.message.duration_ms`(直方图,属性:`symi.channel`、`symi.outcome`)
280
-
281
- 队列 + 会话:
282
-
283
- - `symi.queue.lane.enqueue`(计数器,属性:`symi.lane`)
284
- - `symi.queue.lane.dequeue`(计数器,属性:`symi.lane`)
285
- - `symi.queue.depth`(直方图,属性:`symi.lane` 或 `symi.channel=heartbeat`)
286
- - `symi.queue.wait_ms`(直方图,属性:`symi.lane`)
287
- - `symi.session.state`(计数器,属性:`symi.state`、`symi.reason`)
288
- - `symi.session.stuck`(计数器,属性:`symi.state`)
289
- - `symi.session.stuck_age_ms`(直方图,属性:`symi.state`)
290
- - `symi.run.attempt`(计数器,属性:`symi.attempt`)
291
-
292
- ### 导出的 span(名称 + 关键属性)
293
-
294
- - `symi.model.usage`
295
- - `symi.channel`、`symi.provider`、`symi.model`
296
- - `symi.sessionKey`、`symi.sessionId`
297
- - `symi.tokens.*`(input/output/cache_read/cache_write/total)
298
- - `symi.webhook.processed`
299
- - `symi.channel`、`symi.webhook`、`symi.chatId`
300
- - `symi.webhook.error`
301
- - `symi.channel`、`symi.webhook`、`symi.chatId`、`symi.error`
302
- - `symi.message.processed`
303
- - `symi.channel`、`symi.outcome`、`symi.chatId`、`symi.messageId`、`symi.sessionKey`、`symi.sessionId`、`symi.reason`
304
- - `symi.session.stuck`
305
- - `symi.state`、`symi.ageMs`、`symi.queueDepth`、`symi.sessionKey`、`symi.sessionId`
306
-
307
- ### 采样 + 刷新
308
-
309
- - 追踪采样:`diagnostics.otel.sampleRate`(0.0–1.0,仅根 span)。
310
- - 指标导出间隔:`diagnostics.otel.flushIntervalMs`(最小 1000ms)。
311
-
312
- ### 协议说明
313
-
314
- - OTLP/HTTP 端点可以通过 `diagnostics.otel.endpoint` 或 `OTEL_EXPORTER_OTLP_ENDPOINT` 设置。
315
- - 如果端点已包含 `/v1/traces` 或 `/v1/metrics`,则按原样使用。
316
- - 如果端点已包含 `/v1/logs`,则按原样用于日志。
317
- - `diagnostics.otel.logs` 为主日志器输出启用 OTLP 日志导出。
318
-
319
- ### 日志导出行为
320
-
321
- - OTLP 日志使用与写入 `logging.file` 相同的结构化记录。
322
- - 遵守 `logging.level`(文件日志级别)。控制台脱敏**不**适用于 OTLP 日志。
323
- - 高流量安装应优先使用 OTLP 收集器采样/过滤。
324
-
325
- ## 故障排除提示
326
-
327
- - **Gateway 网关无法访问?** 先运行 `symi doctor`。
328
- - **日志为空?** 检查 Gateway 网关是否正在运行并写入 `logging.file` 中的文件路径。
329
- - **需要更多细节?** 将 `logging.level` 设置为 `debug` 或 `trace` 并重试。
@@ -1,59 +0,0 @@
1
- ---
2
- read_when:
3
- - 你需要了解网络架构和安全概述
4
- - 你正在调试本地访问、tailnet 访问或配对问题
5
- - 你想要获取网络文档的权威列表
6
- summary: 网络中心:Gateway 网关接口、配对、设备发现和安全
7
- title: 网络
8
- x-i18n:
9
- generated_at: "2026-02-03T10:07:45Z"
10
- model: claude-opus-4-5
11
- provider: pi
12
- source_hash: 0fe4e7dbc8ddea312c8f3093af9b6bc71d9ae4007df76ae24b85889871933bc8
13
- source_path: network.md
14
- workflow: 15
15
- ---
16
-
17
- # 网络中心
18
-
19
- 本中心汇集了 Symi 如何在 localhost、局域网和 tailnet 之间连接、配对和保护设备的核心文档。
20
-
21
- ## 核心模型
22
-
23
- - [Gateway 网关架构](/concepts/architecture)
24
- - [Gateway 网关协议](/gateway/protocol)
25
- - [Gateway 网关运维手册](/gateway)
26
- - [Web 接口 + 绑定模式](/web)
27
-
28
- ## 配对 + 身份
29
-
30
- - [配对概述(私信 + 节点)](/channels/pairing)
31
- - [Gateway 网关拥有的节点配对](/gateway/pairing)
32
- - [Devices CLI(配对 + token 轮换)](/cli/devices)
33
- - [Pairing CLI(私信审批)](/cli/pairing)
34
-
35
- 本地信任:
36
-
37
- - 本地连接(loopback 或 Gateway 网关主机自身的 tailnet 地址)可以自动批准配对,以保持同主机用户体验的流畅性。
38
- - 非本地的 tailnet/局域网客户端仍需要显式的配对批准。
39
-
40
- ## 设备发现 + 传输协议
41
-
42
- - [设备发现与传输协议](/gateway/discovery)
43
- - [Bonjour / mDNS](/gateway/bonjour)
44
- - [远程访问(SSH)](/gateway/remote)
45
- - [Tailscale](/gateway/tailscale)
46
-
47
- ## 节点 + 传输协议
48
-
49
- - [节点概述](/nodes)
50
- - [桥接协议(旧版节点)](/gateway/bridge-protocol)
51
- - [节点运维手册:iOS](/platforms/ios)
52
- - [节点运维手册:Android](/platforms/android)
53
-
54
- ## 安全
55
-
56
- - [安全概述](/gateway/security)
57
- - [Gateway 网关配置参考](/gateway/configuration)
58
- - [故障排除](/gateway/troubleshooting)
59
- - [Doctor](/gateway/doctor)
@@ -1,120 +0,0 @@
1
- ---
2
- read_when:
3
- - 更改音频转录或媒体处理方式
4
- summary: 入站音频/语音消息如何被下载、转录并注入回复
5
- title: 音频与语音消息
6
- x-i18n:
7
- generated_at: "2026-02-01T21:17:35Z"
8
- model: claude-opus-4-5
9
- provider: pi
10
- source_hash: b926c47989ab0d1ee1fb8ae6372c51d27515b53d6fefe211a85856d372f14569
11
- source_path: nodes/audio.md
12
- workflow: 15
13
- ---
14
-
15
- # 音频 / 语音消息 — 2026-01-17
16
-
17
- ## 已支持的功能
18
-
19
- - **媒体理解(音频)**:如果音频理解已启用(或自动检测),Symi 会:
20
- 1. 找到第一个音频附件(本地路径或 URL),如有需要则下载。
21
- 2. 在发送给每个模型条目之前执行 `maxBytes` 限制。
22
- 3. 按顺序运行第一个符合条件的模型条目(提供商或 CLI)。
23
- 4. 如果失败或跳过(大小/超时),则尝试下一个条目。
24
- 5. 成功后,将 `Body` 替换为 `[Audio]` 块并设置 `{{Transcript}}`。
25
- - **命令解析**:转录成功时,`CommandBody`/`RawBody` 会设置为转录文本,因此斜杠命令仍然有效。
26
- - **详细日志**:在 `--verbose` 模式下,我们会在转录运行和替换正文时记录日志。
27
-
28
- ## 自动检测(默认)
29
-
30
- 如果你**未配置模型**且 `tools.media.audio.enabled` **未**设置为 `false`,Symi 会按以下顺序自动检测,并在找到第一个可用选项时停止:
31
-
32
- 1. **本地 CLI**(如已安装)
33
- - `sherpa-onnx-offline`(需要 `SHERPA_ONNX_MODEL_DIR` 包含 encoder/decoder/joiner/tokens)
34
- - `whisper-cli`(来自 `whisper-cpp`;使用 `WHISPER_CPP_MODEL` 或内置的 tiny 模型)
35
- - `whisper`(Python CLI;自动下载模型)
36
- 2. **Gemini CLI**(`gemini`)使用 `read_many_files`
37
- 3. **提供商密钥**(OpenAI → Groq → Deepgram → Google)
38
-
39
- 要禁用自动检测,请设置 `tools.media.audio.enabled: false`。
40
- 要自定义,请设置 `tools.media.audio.models`。
41
- 注意:二进制检测在 macOS/Linux/Windows 上采用尽力而为的方式;请确保 CLI 在 `PATH` 中(我们会展开 `~`),或通过完整命令路径设置显式 CLI 模型。
42
-
43
- ## 配置示例
44
-
45
- ### 提供商 + CLI 回退(OpenAI + Whisper CLI)
46
-
47
- ```json5
48
- {
49
- tools: {
50
- media: {
51
- audio: {
52
- enabled: true,
53
- maxBytes: 20971520,
54
- models: [
55
- { provider: "openai", model: "gpt-4o-mini-transcribe" },
56
- {
57
- type: "cli",
58
- command: "whisper",
59
- args: ["--model", "base", "{{MediaPath}}"],
60
- timeoutSeconds: 45,
61
- },
62
- ],
63
- },
64
- },
65
- },
66
- }
67
- ```
68
-
69
- ### 仅提供商 + 作用域控制
70
-
71
- ```json5
72
- {
73
- tools: {
74
- media: {
75
- audio: {
76
- enabled: true,
77
- scope: {
78
- default: "allow",
79
- rules: [{ action: "deny", match: { chatType: "group" } }],
80
- },
81
- models: [{ provider: "openai", model: "gpt-4o-mini-transcribe" }],
82
- },
83
- },
84
- },
85
- }
86
- ```
87
-
88
- ### 仅提供商(Deepgram)
89
-
90
- ```json5
91
- {
92
- tools: {
93
- media: {
94
- audio: {
95
- enabled: true,
96
- models: [{ provider: "deepgram", model: "nova-3" }],
97
- },
98
- },
99
- },
100
- }
101
- ```
102
-
103
- ## 注意事项与限制
104
-
105
- - 提供商认证遵循标准的模型认证顺序(认证配置文件、环境变量、`models.providers.*.apiKey`)。
106
- - 当使用 `provider: "deepgram"` 时,Deepgram 会读取 `DEEPGRAM_API_KEY`。
107
- - Deepgram 设置详情:[Deepgram(音频转录)](/providers/deepgram)。
108
- - 音频提供商可以通过 `tools.media.audio` 覆盖 `baseUrl`、`headers` 和 `providerOptions`。
109
- - 默认大小限制为 20MB(`tools.media.audio.maxBytes`)。超大音频会跳过该模型并尝试下一个条目。
110
- - 音频的默认 `maxChars` **未设置**(完整转录文本)。设置 `tools.media.audio.maxChars` 或每个条目的 `maxChars` 来裁剪输出。
111
- - OpenAI 自动检测默认使用 `gpt-4o-mini-transcribe`;设置 `model: "gpt-4o-transcribe"` 可获得更高准确度。
112
- - 使用 `tools.media.audio.attachments` 处理多条语音消息(`mode: "all"` + `maxAttachments`)。
113
- - 转录文本可在模板中通过 `{{Transcript}}` 使用。
114
- - CLI 标准输出有上限(5MB);请保持 CLI 输出简洁。
115
-
116
- ## 常见陷阱
117
-
118
- - 作用域规则采用首次匹配优先。`chatType` 会被规范化为 `direct`、`group` 或 `room`。
119
- - 确保你的 CLI 以退出码 0 退出并输出纯文本;JSON 格式需要通过 `jq -r .text` 进行转换。
120
- - 保持合理的超时时间(`timeoutSeconds`,默认 60 秒),以避免阻塞回复队列。
@@ -1,162 +0,0 @@
1
- ---
2
- read_when:
3
- - 在 iOS 节点或 macOS 上添加或修改相机捕获
4
- - 扩展智能体可访问的 MEDIA 临时文件工作流
5
- summary: 用于智能体的相机捕获(iOS 节点 + macOS 应用):照片(jpg)和短视频片段(mp4)
6
- title: 相机捕获
7
- x-i18n:
8
- generated_at: "2026-02-03T07:50:55Z"
9
- model: claude-opus-4-5
10
- provider: pi
11
- source_hash: b4d5f5ecbab6f70597cf1e1f9cc5f7f54681253bd747442db16cc681203b5813
12
- source_path: nodes/camera.md
13
- workflow: 15
14
- ---
15
-
16
- # 相机捕获(智能体)
17
-
18
- Symi 支持用于智能体工作流的**相机捕获**:
19
-
20
- - **iOS 节点**(通过 Gateway 网关配对):通过 `node.invoke` 捕获**照片**(`jpg`)或**短视频片段**(`mp4`,可选音频)。
21
- - **Android 节点**(通过 Gateway 网关配对):通过 `node.invoke` 捕获**照片**(`jpg`)或**短视频片段**(`mp4`,可选音频)。
22
- - **macOS 应用**(通过 Gateway 网关的节点):通过 `node.invoke` 捕获**照片**(`jpg`)或**短视频片段**(`mp4`,可选音频)。
23
-
24
- 所有相机访问都受**用户控制的设置**限制。
25
-
26
- ## iOS 节点
27
-
28
- ### 用户设置(默认开启)
29
-
30
- - iOS 设置标签页 → **相机** → **允许相机**(`camera.enabled`)
31
- - 默认:**开启**(缺少键时视为启用)。
32
- - 关闭时:`camera.*` 命令返回 `CAMERA_DISABLED`。
33
-
34
- ### 命令(通过 Gateway 网关 `node.invoke`)
35
-
36
- - `camera.list`
37
- - 响应载荷:
38
- - `devices`:`{ id, name, position, deviceType }` 数组
39
-
40
- - `camera.snap`
41
- - 参数:
42
- - `facing`:`front|back`(默认:`front`)
43
- - `maxWidth`:数字(可选;iOS 节点默认 `1600`)
44
- - `quality`:`0..1`(可选;默认 `0.9`)
45
- - `format`:当前为 `jpg`
46
- - `delayMs`:数字(可选;默认 `0`)
47
- - `deviceId`:字符串(可选;来自 `camera.list`)
48
- - 响应载荷:
49
- - `format: "jpg"`
50
- - `base64: "<...>"`
51
- - `width`、`height`
52
- - 载荷保护:照片会重新压缩以保持 base64 载荷小于 5 MB。
53
-
54
- - `camera.clip`
55
- - 参数:
56
- - `facing`:`front|back`(默认:`front`)
57
- - `durationMs`:数字(默认 `3000`,上限 `60000`)
58
- - `includeAudio`:布尔值(默认 `true`)
59
- - `format`:当前为 `mp4`
60
- - `deviceId`:字符串(可选;来自 `camera.list`)
61
- - 响应载荷:
62
- - `format: "mp4"`
63
- - `base64: "<...>"`
64
- - `durationMs`
65
- - `hasAudio`
66
-
67
- ### 前台要求
68
-
69
- 与 `canvas.*` 类似,iOS 节点仅允许在**前台**执行 `camera.*` 命令。后台调用返回 `NODE_BACKGROUND_UNAVAILABLE`。
70
-
71
- ### CLI 辅助工具(临时文件 + MEDIA)
72
-
73
- 获取附件最简单的方法是通过 CLI 辅助工具,它将解码的媒体写入临时文件并打印 `MEDIA:<path>`。
74
-
75
- 示例:
76
-
77
- ```bash
78
- symi nodes camera snap --node <id> # default: both front + back (2 MEDIA lines)
79
- symi nodes camera snap --node <id> --facing front
80
- symi nodes camera clip --node <id> --duration 3000
81
- symi nodes camera clip --node <id> --no-audio
82
- ```
83
-
84
- 注意事项:
85
-
86
- - `nodes camera snap` 默认拍摄**两个**方向以给智能体提供两个视角。
87
- - 输出文件是临时的(在操作系统临时目录中),除非你构建自己的包装器。
88
-
89
- ## Android 节点
90
-
91
- ### 用户设置(默认开启)
92
-
93
- - Android 设置页 → **相机** → **允许相机**(`camera.enabled`)
94
- - 默认:**开启**(缺少键时视为启用)。
95
- - 关闭时:`camera.*` 命令返回 `CAMERA_DISABLED`。
96
-
97
- ### 权限
98
-
99
- - Android 需要运行时权限:
100
- - `CAMERA` 用于 `camera.snap` 和 `camera.clip`。
101
- - `RECORD_AUDIO` 用于 `includeAudio=true` 时的 `camera.clip`。
102
-
103
- 如果缺少权限,应用会在可能时提示;如果被拒绝,`camera.*` 请求会失败并返回 `*_PERMISSION_REQUIRED` 错误。
104
-
105
- ### 前台要求
106
-
107
- 与 `canvas.*` 类似,Android 节点仅允许在**前台**执行 `camera.*` 命令。后台调用返回 `NODE_BACKGROUND_UNAVAILABLE`。
108
-
109
- ### 载荷保护
110
-
111
- 照片会重新压缩以保持 base64 载荷小于 5 MB。
112
-
113
- ## macOS 应用
114
-
115
- ### 用户设置(默认关闭)
116
-
117
- macOS 配套应用暴露一个复选框:
118
-
119
- - **设置 → 通用 → 允许相机**(`symi.cameraEnabled`)
120
- - 默认:**关闭**
121
- - 关闭时:相机请求返回"用户已禁用相机"。
122
-
123
- ### CLI 辅助工具(节点调用)
124
-
125
- 使用主 `symi` CLI 在 macOS 节点上调用相机命令。
126
-
127
- 示例:
128
-
129
- ```bash
130
- symi nodes camera list --node <id> # list camera ids
131
- symi nodes camera snap --node <id> # prints MEDIA:<path>
132
- symi nodes camera snap --node <id> --max-width 1280
133
- symi nodes camera snap --node <id> --delay-ms 2000
134
- symi nodes camera snap --node <id> --device-id <id>
135
- symi nodes camera clip --node <id> --duration 10s # prints MEDIA:<path>
136
- symi nodes camera clip --node <id> --duration-ms 3000 # prints MEDIA:<path> (legacy flag)
137
- symi nodes camera clip --node <id> --device-id <id>
138
- symi nodes camera clip --node <id> --no-audio
139
- ```
140
-
141
- 注意事项:
142
-
143
- - `symi nodes camera snap` 默认 `maxWidth=1600`,除非被覆盖。
144
- - 在 macOS 上,`camera.snap` 在预热/曝光稳定后等待 `delayMs`(默认 2000ms)再捕获。
145
- - 照片载荷会重新压缩以保持 base64 小于 5 MB。
146
-
147
- ## 安全性 + 实际限制
148
-
149
- - 相机和麦克风访问会触发通常的操作系统权限提示(并需要 Info.plist 中的使用说明字符串)。
150
- - 视频片段有上限(当前 `<= 60s`)以避免过大的节点载荷(base64 开销 + 消息限制)。
151
-
152
- ## macOS 屏幕视频(操作系统级别)
153
-
154
- 对于*屏幕*视频(非相机),使用 macOS 配套应用:
155
-
156
- ```bash
157
- symi nodes screen record --node <id> --duration 10s --fps 15 # prints MEDIA:<path>
158
- ```
159
-
160
- 注意事项:
161
-
162
- - 需要 macOS **屏幕录制**权限(TCC)。