@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,136 +0,0 @@
1
- ---
2
- summary: "How Symi builds prompt context and reports token usage + costs"
3
- read_when:
4
- - Explaining token usage, costs, or context windows
5
- - Debugging context growth or compaction behavior
6
- title: "Token Use and Costs"
7
- ---
8
-
9
- # Token use & costs
10
-
11
- Symi tracks **tokens**, not characters. Tokens are model-specific, but most
12
- OpenAI-style models average ~4 characters per token for English text.
13
-
14
- ## How the system prompt is built
15
-
16
- Symi assembles its own system prompt on every run. It includes:
17
-
18
- - Tool list + short descriptions
19
- - Skills list (only metadata; instructions are loaded on demand with `read`)
20
- - Self-update instructions
21
- - Workspace + bootstrap files (`AGENTS.md`, `SYMICORE.md`, `TOOLS.md`, `IDENTITY.md`, `USER.md`, `SYMIPULSE.md`, `BOOTSTRAP.md` when new, plus `MEMORY.md` and/or `memory.md` when present). Large files are truncated by `agents.defaults.bootstrapMaxChars` (default: 20000), and total bootstrap injection is capped by `agents.defaults.bootstrapTotalMaxChars` (default: 150000). `memory/*.md` files are on-demand via memory tools and are not auto-injected.
22
- - Time (UTC + user timezone)
23
- - Reply tags + heartbeat behavior
24
- - Runtime metadata (host/OS/model/thinking)
25
-
26
- See the full breakdown in [System Prompt](/concepts/system-prompt).
27
-
28
- ## What counts in the context window
29
-
30
- Everything the model receives counts toward the context limit:
31
-
32
- - System prompt (all sections listed above)
33
- - Conversation history (user + assistant messages)
34
- - Tool calls and tool results
35
- - Attachments/transcripts (images, audio, files)
36
- - Compaction summaries and pruning artifacts
37
- - Provider wrappers or safety headers (not visible, but still counted)
38
-
39
- For images, Symi downscales transcript/tool image payloads before provider calls.
40
- Use `agents.defaults.imageMaxDimensionPx` (default: `1200`) to tune this:
41
-
42
- - Lower values usually reduce vision-token usage and payload size.
43
- - Higher values preserve more visual detail for OCR/UI-heavy screenshots.
44
-
45
- For a practical breakdown (per injected file, tools, skills, and system prompt size), use `/context list` or `/context detail`. See [Context](/concepts/context).
46
-
47
- ## How to see current token usage
48
-
49
- Use these in chat:
50
-
51
- - `/status` → **emoji‑rich status card** with the session model, context usage,
52
- last response input/output tokens, and **estimated cost** (API key only).
53
- - `/usage off|tokens|full` → appends a **per-response usage footer** to every reply.
54
- - Persists per session (stored as `responseUsage`).
55
- - OAuth auth **hides cost** (tokens only).
56
- - `/usage cost` → shows a local cost summary from Symi session logs.
57
-
58
- Other surfaces:
59
-
60
- - **TUI/Web TUI:** `/status` + `/usage` are supported.
61
- - **CLI:** `symi status --usage` and `symi channels list` show
62
- provider quota windows (not per-response costs).
63
-
64
- ## Cost estimation (when shown)
65
-
66
- Costs are estimated from your model pricing config:
67
-
68
- ```
69
- models.providers.<provider>.models[].cost
70
- ```
71
-
72
- These are **USD per 1M tokens** for `input`, `output`, `cacheRead`, and
73
- `cacheWrite`. If pricing is missing, Symi shows tokens only. OAuth tokens
74
- never show dollar cost.
75
-
76
- ## Cache TTL and pruning impact
77
-
78
- Provider prompt caching only applies within the cache TTL window. Symi can
79
- optionally run **cache-ttl pruning**: it prunes the session once the cache TTL
80
- has expired, then resets the cache window so subsequent requests can re-use the
81
- freshly cached context instead of re-caching the full history. This keeps cache
82
- write costs lower when a session goes idle past the TTL.
83
-
84
- Configure it in [Gateway configuration](/gateway/configuration) and see the
85
- behavior details in [Session pruning](/concepts/session-pruning).
86
-
87
- Heartbeat can keep the cache **warm** across idle gaps. If your model cache TTL
88
- is `1h`, setting the heartbeat interval just under that (e.g., `55m`) can avoid
89
- re-caching the full prompt, reducing cache write costs.
90
-
91
- For Anthropic API pricing, cache reads are significantly cheaper than input
92
- tokens, while cache writes are billed at a higher multiplier. See Anthropic’s
93
- prompt caching pricing for the latest rates and TTL multipliers:
94
- [https://docs.anthropic.com/docs/build-with-claude/prompt-caching](https://docs.anthropic.com/docs/build-with-claude/prompt-caching)
95
-
96
- ### Example: keep 1h cache warm with heartbeat
97
-
98
- ```yaml
99
- agents:
100
- defaults:
101
- model:
102
- primary: "anthropic/claude-opus-4-6"
103
- models:
104
- "anthropic/claude-opus-4-6":
105
- params:
106
- cacheRetention: "long"
107
- heartbeat:
108
- every: "55m"
109
- ```
110
-
111
- ### Example: enable Anthropic 1M context beta header
112
-
113
- Anthropic's 1M context window is currently beta-gated. Symi can inject the
114
- required `anthropic-beta` value when you enable `context1m` on supported Opus
115
- or Sonnet models.
116
-
117
- ```yaml
118
- agents:
119
- defaults:
120
- models:
121
- "anthropic/claude-opus-4-6":
122
- params:
123
- context1m: true
124
- ```
125
-
126
- This maps to Anthropic's `context-1m-2025-08-07` beta header.
127
-
128
- ## Tips for reducing token pressure
129
-
130
- - Use `/compact` to summarize long sessions.
131
- - Trim large tool outputs in your workflows.
132
- - Lower `agents.defaults.imageMaxDimensionPx` for screenshot-heavy sessions.
133
- - Keep skill descriptions short (skill list is injected into the prompt).
134
- - Prefer smaller models for verbose, exploratory work.
135
-
136
- See [Skills](/tools/skills) for the exact skill list overhead formula.
@@ -1,151 +0,0 @@
1
- ---
2
- summary: "Reference: provider-specific transcript sanitization and repair rules"
3
- read_when:
4
- - You are debugging provider request rejections tied to transcript shape
5
- - You are changing transcript sanitization or tool-call repair logic
6
- - You are investigating tool-call id mismatches across providers
7
- title: "Transcript Hygiene"
8
- ---
9
-
10
- # Transcript Hygiene (Provider Fixups)
11
-
12
- This document describes **provider-specific fixes** applied to transcripts before a run
13
- (building model context). These are **in-memory** adjustments used to satisfy strict
14
- provider requirements. These hygiene steps do **not** rewrite the stored JSONL transcript
15
- on disk; however, a separate session-file repair pass may rewrite malformed JSONL files
16
- by dropping invalid lines before the session is loaded. When a repair occurs, the original
17
- file is backed up alongside the session file.
18
-
19
- Scope includes:
20
-
21
- - Tool call id sanitization
22
- - Tool call input validation
23
- - Tool result pairing repair
24
- - Turn validation / ordering
25
- - Thought signature cleanup
26
- - Image payload sanitization
27
- - User-input provenance tagging (for inter-session routed prompts)
28
-
29
- If you need transcript storage details, see:
30
-
31
- - [/reference/session-management-compaction](/reference/session-management-compaction)
32
-
33
- ---
34
-
35
- ## Where this runs
36
-
37
- All transcript hygiene is centralized in the embedded runner:
38
-
39
- - Policy selection: `src/agents/transcript-policy.ts`
40
- - Sanitization/repair application: `sanitizeSessionHistory` in `src/agents/pi-embedded-runner/google.ts`
41
-
42
- The policy uses `provider`, `modelApi`, and `modelId` to decide what to apply.
43
-
44
- Separate from transcript hygiene, session files are repaired (if needed) before load:
45
-
46
- - `repairSessionFileIfNeeded` in `src/agents/session-file-repair.ts`
47
- - Called from `run/attempt.ts` and `compact.ts` (embedded runner)
48
-
49
- ---
50
-
51
- ## Global rule: image sanitization
52
-
53
- Image payloads are always sanitized to prevent provider-side rejection due to size
54
- limits (downscale/recompress oversized base64 images).
55
-
56
- This also helps control image-driven token pressure for vision-capable models.
57
- Lower max dimensions generally reduce token usage; higher dimensions preserve detail.
58
-
59
- Implementation:
60
-
61
- - `sanitizeSessionMessagesImages` in `src/agents/pi-embedded-helpers/images.ts`
62
- - `sanitizeContentBlocksImages` in `src/agents/tool-images.ts`
63
- - Max image side is configurable via `agents.defaults.imageMaxDimensionPx` (default: `1200`).
64
-
65
- ---
66
-
67
- ## Global rule: malformed tool calls
68
-
69
- Assistant tool-call blocks that are missing both `input` and `arguments` are dropped
70
- before model context is built. This prevents provider rejections from partially
71
- persisted tool calls (for example, after a rate limit failure).
72
-
73
- Implementation:
74
-
75
- - `sanitizeToolCallInputs` in `src/agents/session-transcript-repair.ts`
76
- - Applied in `sanitizeSessionHistory` in `src/agents/pi-embedded-runner/google.ts`
77
-
78
- ---
79
-
80
- ## Global rule: inter-session input provenance
81
-
82
- When an agent sends a prompt into another session via `sessions_send` (including
83
- agent-to-agent reply/announce steps), Symi persists the created user turn with:
84
-
85
- - `message.provenance.kind = "inter_session"`
86
-
87
- This metadata is written at transcript append time and does not change role
88
- (`role: "user"` remains for provider compatibility). Transcript readers can use
89
- this to avoid treating routed internal prompts as end-user-authored instructions.
90
-
91
- During context rebuild, Symi also prepends a short `[Inter-session message]`
92
- marker to those user turns in-memory so the model can distinguish them from
93
- external end-user instructions.
94
-
95
- ---
96
-
97
- ## Provider matrix (current behavior)
98
-
99
- **OpenAI / OpenAI Codex**
100
-
101
- - Image sanitization only.
102
- - Drop orphaned reasoning signatures (standalone reasoning items without a following content block) for OpenAI Responses/Codex transcripts.
103
- - No tool call id sanitization.
104
- - No tool result pairing repair.
105
- - No turn validation or reordering.
106
- - No synthetic tool results.
107
- - No thought signature stripping.
108
-
109
- **Google (Generative AI / Gemini CLI / Antigravity)**
110
-
111
- - Tool call id sanitization: strict alphanumeric.
112
- - Tool result pairing repair and synthetic tool results.
113
- - Turn validation (Gemini-style turn alternation).
114
- - Google turn ordering fixup (prepend a tiny user bootstrap if history starts with assistant).
115
- - Antigravity Claude: normalize thinking signatures; drop unsigned thinking blocks.
116
-
117
- **Anthropic / Minimax (Anthropic-compatible)**
118
-
119
- - Tool result pairing repair and synthetic tool results.
120
- - Turn validation (merge consecutive user turns to satisfy strict alternation).
121
-
122
- **Mistral (including model-id based detection)**
123
-
124
- - Tool call id sanitization: strict9 (alphanumeric length 9).
125
-
126
- **OpenRouter Gemini**
127
-
128
- - Thought signature cleanup: strip non-base64 `thought_signature` values (keep base64).
129
-
130
- **Everything else**
131
-
132
- - Image sanitization only.
133
-
134
- ---
135
-
136
- ## Historical behavior (pre-2026.1.22)
137
-
138
- Before the 2026.1.22 release, Symi applied multiple layers of transcript hygiene:
139
-
140
- - A **transcript-sanitize extension** ran on every context build and could:
141
- - Repair tool use/result pairing.
142
- - Sanitize tool call ids (including a non-strict mode that preserved `_`/`-`).
143
- - The runner also performed provider-specific sanitization, which duplicated work.
144
- - Additional mutations occurred outside the provider policy, including:
145
- - Stripping `<final>` tags from assistant text before persistence.
146
- - Dropping empty assistant error turns.
147
- - Trimming assistant content after tool calls.
148
-
149
- This complexity caused cross-provider regressions (notably `openai-responses`
150
- `call_id|fc_id` pairing). The 2026.1.22 cleanup removed the extension, centralized
151
- logic in the runner, and made OpenAI **no-touch** beyond image sanitization.
@@ -1,265 +0,0 @@
1
- ---
2
- summary: "Full reference for the CLI onboarding wizard: every step, flag, and config field"
3
- read_when:
4
- - Looking up a specific wizard step or flag
5
- - Automating onboarding with non-interactive mode
6
- - Debugging wizard behavior
7
- title: "Onboarding Wizard Reference"
8
- sidebarTitle: "Wizard Reference"
9
- ---
10
-
11
- # Onboarding Wizard Reference
12
-
13
- This is the full reference for the `symi onboard` CLI wizard.
14
- For a high-level overview, see [Onboarding Wizard](/start/wizard).
15
-
16
- ## Flow details (local mode)
17
-
18
- <Steps>
19
- <Step title="Existing config detection">
20
- - If `~/.symi/symi.json` exists, choose **Keep / Modify / Reset**.
21
- - Re-running the wizard does **not** wipe anything unless you explicitly choose **Reset**
22
- (or pass `--reset`).
23
- - If the config is invalid or contains legacy keys, the wizard stops and asks
24
- you to run `symi doctor` before continuing.
25
- - Reset uses `trash` (never `rm`) and offers scopes:
26
- - Config only
27
- - Config + credentials + sessions
28
- - Full reset (also removes workspace)
29
- </Step>
30
- <Step title="Model/Auth">
31
- - **Anthropic API key (recommended)**: uses `ANTHROPIC_API_KEY` if present or prompts for a key, then saves it for daemon use.
32
- - **Anthropic OAuth (Claude Code CLI)**: on macOS the wizard checks Keychain item "Claude Code-credentials" (choose "Always Allow" so launchd starts don't block); on Linux/Windows it reuses `~/.claude/.credentials.json` if present.
33
- - **Anthropic token (paste setup-token)**: run `claude setup-token` on any machine, then paste the token (you can name it; blank = default).
34
- - **OpenAI Code (Codex) subscription (Codex CLI)**: if `~/.codex/auth.json` exists, the wizard can reuse it.
35
- - **OpenAI Code (Codex) subscription (OAuth)**: browser flow; paste the `code#state`.
36
- - Sets `agents.defaults.model` to `openai-codex/gpt-5.2` when model is unset or `openai/*`.
37
- - **OpenAI API key**: uses `OPENAI_API_KEY` if present or prompts for a key, then saves it to `~/.symi/.env` so launchd can read it.
38
- - **xAI (Grok) API key**: prompts for `XAI_API_KEY` and configures xAI as a model provider.
39
- - **OpenCode Zen (multi-model proxy)**: prompts for `OPENCODE_API_KEY` (or `OPENCODE_ZEN_API_KEY`, get it at https://opencode.ai/auth).
40
- - **API key**: stores the key for you.
41
- - **Vercel AI Gateway (multi-model proxy)**: prompts for `AI_GATEWAY_API_KEY`.
42
- - More detail: [Vercel AI Gateway](/providers/vercel-ai-gateway)
43
- - **Cloudflare AI Gateway**: prompts for Account ID, Gateway ID, and `CLOUDFLARE_AI_GATEWAY_API_KEY`.
44
- - More detail: [Cloudflare AI Gateway](/providers/cloudflare-ai-gateway)
45
- - **MiniMax M2.1**: config is auto-written.
46
- - More detail: [MiniMax](/providers/minimax)
47
- - **Synthetic (Anthropic-compatible)**: prompts for `SYNTHETIC_API_KEY`.
48
- - More detail: [Synthetic](/providers/synthetic)
49
- - **Moonshot (Kimi K2)**: config is auto-written.
50
- - **Kimi Coding**: config is auto-written.
51
- - More detail: [Moonshot AI (Kimi + Kimi Coding)](/providers/moonshot)
52
- - **Skip**: no auth configured yet.
53
- - Pick a default model from detected options (or enter provider/model manually).
54
- - Wizard runs a model check and warns if the configured model is unknown or missing auth.
55
- - OAuth credentials live in `~/.symi/credentials/oauth.json`; auth profiles live in `~/.symi/agents/<agentId>/agent/auth-profiles.json` (API keys + OAuth).
56
- - More detail: [/concepts/oauth](/concepts/oauth)
57
- <Note>
58
- Headless/server tip: complete OAuth on a machine with a browser, then copy
59
- `~/.symi/credentials/oauth.json` (or `$SYMI_STATE_DIR/credentials/oauth.json`) to the
60
- gateway host.
61
- </Note>
62
- </Step>
63
- <Step title="Workspace">
64
- - Default `~/.symi/workspace` (configurable).
65
- - Seeds the workspace files needed for the agent bootstrap ritual.
66
- - Full workspace layout + backup guide: [Agent workspace](/concepts/agent-workspace)
67
- </Step>
68
- <Step title="Gateway">
69
- - Port, bind, auth mode, tailscale exposure.
70
- - Auth recommendation: keep **Token** even for loopback so local WS clients must authenticate.
71
- - Disable auth only if you fully trust every local process.
72
- - Non‑loopback binds still require auth.
73
- </Step>
74
- <Step title="Channels">
75
- - [WhatsApp](/channels/whatsapp): optional QR login.
76
- - [Telegram](/channels/telegram): bot token.
77
- - [Google Chat](/channels/googlechat): service account JSON + webhook audience.
78
- - [Mattermost](/channels/mattermost) (plugin): bot token + base URL.
79
- - [Signal](/channels/signal): optional `signal-cli` install + account config.
80
- - [BlueBubbles](/channels/bluebubbles): **recommended for iMessage**; server URL + password + webhook.
81
- - [iMessage](/channels/imessage): legacy `imsg` CLI path + DB access.
82
- - DM security: default is pairing. First DM sends a code; approve via `symi pairing approve <channel> <code>` or use allowlists.
83
- </Step>
84
- <Step title="Daemon install">
85
- - macOS: LaunchAgent
86
- - Requires a logged-in user session; for headless, use a custom LaunchDaemon (not shipped).
87
- - Linux (and Windows via WSL2): systemd user unit
88
- - Wizard attempts to enable lingering via `loginctl enable-linger <user>` so the Gateway stays up after logout.
89
- - May prompt for sudo (writes `/var/lib/systemd/linger`); it tries without sudo first.
90
- - **Runtime selection:** Node (recommended; required for WhatsApp/Telegram). Bun is **not recommended**.
91
- </Step>
92
- <Step title="Health check">
93
- - Starts the Gateway (if needed) and runs `symi health`.
94
- - Tip: `symi status --deep` adds gateway health probes to status output (requires a reachable gateway).
95
- </Step>
96
- <Step title="Skills (recommended)">
97
- - Reads the available skills and checks requirements.
98
- - Lets you choose a node manager: **npm / pnpm** (bun not recommended).
99
- - Installs optional dependencies (some use Homebrew on macOS).
100
- </Step>
101
- <Step title="Finish">
102
- - Summary + next steps, including iOS/Android/macOS apps for extra features.
103
- </Step>
104
- </Steps>
105
-
106
- <Note>
107
- If no GUI is detected, the wizard prints SSH port-forward instructions for the Control UI instead of opening a browser.
108
- If the Control UI assets are missing, the wizard attempts to build them; fallback is `pnpm ui:build` (auto-installs UI deps).
109
- </Note>
110
-
111
- ## Non-interactive mode
112
-
113
- Use `--non-interactive` to automate or script onboarding:
114
-
115
- ```bash
116
- symi onboard --non-interactive \
117
- --mode local \
118
- --auth-choice apiKey \
119
- --anthropic-api-key "$ANTHROPIC_API_KEY" \
120
- --gateway-port 18789 \
121
- --gateway-bind loopback \
122
- --install-daemon \
123
- --daemon-runtime node \
124
- --skip-skills
125
- ```
126
-
127
- Add `--json` for a machine‑readable summary.
128
-
129
- <Note>
130
- `--json` does **not** imply non-interactive mode. Use `--non-interactive` (and `--workspace`) for scripts.
131
- </Note>
132
-
133
- <AccordionGroup>
134
- <Accordion title="Gemini example">
135
- ```bash
136
- symi onboard --non-interactive \
137
- --mode local \
138
- --auth-choice gemini-api-key \
139
- --gemini-api-key "$GEMINI_API_KEY" \
140
- --gateway-port 18789 \
141
- --gateway-bind loopback
142
- ```
143
- </Accordion>
144
- <Accordion title="Z.AI example">
145
- ```bash
146
- symi onboard --non-interactive \
147
- --mode local \
148
- --auth-choice zai-api-key \
149
- --zai-api-key "$ZAI_API_KEY" \
150
- --gateway-port 18789 \
151
- --gateway-bind loopback
152
- ```
153
- </Accordion>
154
- <Accordion title="Vercel AI Gateway example">
155
- ```bash
156
- symi onboard --non-interactive \
157
- --mode local \
158
- --auth-choice ai-gateway-api-key \
159
- --ai-gateway-api-key "$AI_GATEWAY_API_KEY" \
160
- --gateway-port 18789 \
161
- --gateway-bind loopback
162
- ```
163
- </Accordion>
164
- <Accordion title="Cloudflare AI Gateway example">
165
- ```bash
166
- symi onboard --non-interactive \
167
- --mode local \
168
- --auth-choice cloudflare-ai-gateway-api-key \
169
- --cloudflare-ai-gateway-account-id "your-account-id" \
170
- --cloudflare-ai-gateway-gateway-id "your-gateway-id" \
171
- --cloudflare-ai-gateway-api-key "$CLOUDFLARE_AI_GATEWAY_API_KEY" \
172
- --gateway-port 18789 \
173
- --gateway-bind loopback
174
- ```
175
- </Accordion>
176
- <Accordion title="Moonshot example">
177
- ```bash
178
- symi onboard --non-interactive \
179
- --mode local \
180
- --auth-choice moonshot-api-key \
181
- --moonshot-api-key "$MOONSHOT_API_KEY" \
182
- --gateway-port 18789 \
183
- --gateway-bind loopback
184
- ```
185
- </Accordion>
186
- <Accordion title="Synthetic example">
187
- ```bash
188
- symi onboard --non-interactive \
189
- --mode local \
190
- --auth-choice synthetic-api-key \
191
- --synthetic-api-key "$SYNTHETIC_API_KEY" \
192
- --gateway-port 18789 \
193
- --gateway-bind loopback
194
- ```
195
- </Accordion>
196
- <Accordion title="OpenCode Zen example">
197
- ```bash
198
- symi onboard --non-interactive \
199
- --mode local \
200
- --auth-choice opencode-zen \
201
- --opencode-zen-api-key "$OPENCODE_API_KEY" \
202
- --gateway-port 18789 \
203
- --gateway-bind loopback
204
- ```
205
- </Accordion>
206
- </AccordionGroup>
207
-
208
- ### Add agent (non-interactive)
209
-
210
- ```bash
211
- symi agents add work \
212
- --workspace ~/.symi/workspace-work \
213
- --model openai/gpt-5.2 \
214
- --bind whatsapp:biz \
215
- --non-interactive \
216
- --json
217
- ```
218
-
219
- ## Gateway wizard RPC
220
-
221
- The Gateway exposes the wizard flow over RPC (`wizard.start`, `wizard.next`, `wizard.cancel`, `wizard.status`).
222
- Clients (macOS app, Control UI) can render steps without re‑implementing onboarding logic.
223
-
224
- ## Signal setup (signal-cli)
225
-
226
- The wizard can install `signal-cli` from GitHub releases:
227
-
228
- - Downloads the appropriate release asset.
229
- - Stores it under `~/.symi/tools/signal-cli/<version>/`.
230
- - Writes `channels.signal.cliPath` to your config.
231
-
232
- Notes:
233
-
234
- - JVM builds require **Java 21**.
235
- - Native builds are used when available.
236
- - Windows uses WSL2; signal-cli install follows the Linux flow inside WSL.
237
-
238
- ## What the wizard writes
239
-
240
- Typical fields in `~/.symi/symi.json`:
241
-
242
- - `agents.defaults.workspace`
243
- - `agents.defaults.model` / `models.providers` (if Minimax chosen)
244
- - `gateway.*` (mode, bind, auth, tailscale)
245
- - `skills.install.nodeManager`
246
- - `wizard.lastRunAt`
247
- - `wizard.lastRunVersion`
248
- - `wizard.lastRunCommit`
249
- - `wizard.lastRunCommand`
250
- - `wizard.lastRunMode`
251
-
252
- `symi agents add` writes `agents.list[]` and optional `bindings`.
253
-
254
- WhatsApp credentials go under `~/.symi/credentials/whatsapp/<accountId>/`.
255
- Sessions are stored under `~/.symi/agents/<agentId>/sessions/`.
256
-
257
- Some channels are delivered as plugins. When you pick one during onboarding, the wizard
258
- will prompt to install it (npm or a local path) before it can be configured.
259
-
260
- ## Related docs
261
-
262
- - Wizard overview: [Onboarding Wizard](/start/wizard)
263
- - macOS app onboarding: [Onboarding](/start/onboarding)
264
- - Config reference: [Gateway configuration](/gateway/configuration)
265
- - Skills: [Skills](/tools/skills), [Skills config](/tools/skills-config)
@@ -1,89 +0,0 @@
1
- # Contributing to the Symi Threat Model
2
-
3
- Thanks for helping make Symi more secure. This threat model is a living document and we welcome contributions from anyone - you don't need to be a security expert.
4
-
5
- ## Ways to Contribute
6
-
7
- ### Add a Threat
8
-
9
- Spotted an attack vector or risk we haven't covered? Open an issue on [symi/trust](https://github.com/symi/trust/issues) and describe it in your own words. You don't need to know any frameworks or fill in every field - just describe the scenario.
10
-
11
- **Helpful to include (but not required):**
12
-
13
- - The attack scenario and how it could be exploited
14
- - Which parts of Symi are affected (CLI, gateway, channels, SymiHub, MCP servers, etc.)
15
- - How severe you think it is (low / medium / high / critical)
16
- - Any links to related research, CVEs, or real-world examples
17
-
18
- We'll handle the ATLAS mapping, threat IDs, and risk assessment during review. If you want to include those details, great - but it's not expected.
19
-
20
- > **This is for adding to the threat model, not reporting live vulnerabilities.** If you've found an exploitable vulnerability, see our [Trust page](https://trust.symi.ai) for responsible disclosure instructions.
21
-
22
- ### Suggest a Mitigation
23
-
24
- Have an idea for how to address an existing threat? Open an issue or PR referencing the threat. Useful mitigations are specific and actionable - for example, "per-sender rate limiting of 10 messages/minute at the gateway" is better than "implement rate limiting."
25
-
26
- ### Propose an Attack Chain
27
-
28
- Attack chains show how multiple threats combine into a realistic attack scenario. If you see a dangerous combination, describe the steps and how an attacker would chain them together. A short narrative of how the attack unfolds in practice is more valuable than a formal template.
29
-
30
- ### Fix or Improve Existing Content
31
-
32
- Typos, clarifications, outdated info, better examples - PRs welcome, no issue needed.
33
-
34
- ## What We Use
35
-
36
- ### MITRE ATLAS
37
-
38
- This threat model is built on [MITRE ATLAS](https://atlas.mitre.org/) (Adversarial Threat Landscape for AI Systems), a framework designed specifically for AI/ML threats like prompt injection, tool misuse, and agent exploitation. You don't need to know ATLAS to contribute - we map submissions to the framework during review.
39
-
40
- ### Threat IDs
41
-
42
- Each threat gets an ID like `T-EXEC-003`. The categories are:
43
-
44
- | Code | Category |
45
- | ------- | ------------------------------------------ |
46
- | RECON | Reconnaissance - information gathering |
47
- | ACCESS | Initial access - gaining entry |
48
- | EXEC | Execution - running malicious actions |
49
- | PERSIST | Persistence - maintaining access |
50
- | EVADE | Defense evasion - avoiding detection |
51
- | DISC | Discovery - learning about the environment |
52
- | EXFIL | Exfiltration - stealing data |
53
- | IMPACT | Impact - damage or disruption |
54
-
55
- IDs are assigned by maintainers during review. You don't need to pick one.
56
-
57
- ### Risk Levels
58
-
59
- | Level | Meaning |
60
- | ------------ | ----------------------------------------------------------------- |
61
- | **Critical** | Full system compromise, or high likelihood + critical impact |
62
- | **High** | Significant damage likely, or medium likelihood + critical impact |
63
- | **Medium** | Moderate risk, or low likelihood + high impact |
64
- | **Low** | Unlikely and limited impact |
65
-
66
- If you're unsure about the risk level, just describe the impact and we'll assess it.
67
-
68
- ## Review Process
69
-
70
- 1. **Triage** - We review new submissions within 48 hours
71
- 2. **Assessment** - We verify feasibility, assign ATLAS mapping and threat ID, validate risk level
72
- 3. **Documentation** - We ensure everything is formatted and complete
73
- 4. **Merge** - Added to the threat model and visualization
74
-
75
- ## Resources
76
-
77
- - [ATLAS Website](https://atlas.mitre.org/)
78
- - [ATLAS Techniques](https://atlas.mitre.org/techniques/)
79
- - [ATLAS Case Studies](https://atlas.mitre.org/studies/)
80
- - [Symi Threat Model](./THREAT-MODEL-ATLAS.md)
81
-
82
- ## Contact
83
-
84
- - **Security vulnerabilities:** See our [Trust page](https://trust.symi.ai) for reporting instructions
85
- - **Threat model questions:** Open an issue on [symi/trust](https://github.com/symi/trust/issues)
86
-
87
- ## Recognition
88
-
89
- Contributors to the threat model are recognized in the threat model acknowledgments, release notes, and the Symi security hall of fame for significant contributions.
@@ -1,16 +0,0 @@
1
- # Symi Security & Trust
2
-
3
- **Live:** [trust.symi.ai](https://trust.symi.ai)
4
-
5
- ## Documents
6
-
7
- - [Threat Model](./THREAT-MODEL-ATLAS.md) - MITRE ATLAS-based threat model for the Symi ecosystem
8
- - [Contributing to the Threat Model](./CONTRIBUTING-THREAT-MODEL.md) - How to add threats, mitigations, and attack chains
9
-
10
- ## Reporting Vulnerabilities
11
-
12
- See the [Trust page](https://trust.symi.ai) for full reporting instructions covering all repos.
13
-
14
- ## Contact
15
-
16
- - **Jamieson O'Reilly** ([@theonejvo](https://twitter.com/theonejvo)) - Security & Trust