@symerian/symi 3.0.21 → 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 (688) hide show
  1. package/dist/build-info.json +3 -3
  2. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  3. package/package.json +1 -1
  4. package/docs/.i18n/README.md +0 -31
  5. package/docs/.i18n/glossary.ja-JP.json +0 -14
  6. package/docs/.i18n/glossary.zh-CN.json +0 -210
  7. package/docs/.i18n/ja-JP.tm.jsonl +0 -0
  8. package/docs/.i18n/zh-CN.tm.jsonl +0 -1303
  9. package/docs/CNAME +0 -1
  10. package/docs/assets/install-script.svg +0 -1
  11. package/docs/assets/macos-onboarding/01-macos-warning.jpeg +0 -0
  12. package/docs/assets/macos-onboarding/02-local-networks.jpeg +0 -0
  13. package/docs/assets/macos-onboarding/03-security-notice.png +0 -0
  14. package/docs/assets/macos-onboarding/04-choose-gateway.png +0 -0
  15. package/docs/assets/macos-onboarding/05-permissions.png +0 -0
  16. package/docs/assets/pixel-symi.svg +0 -60
  17. package/docs/assets/showcase/agents-ui.jpg +0 -0
  18. package/docs/assets/showcase/bambu-cli.png +0 -0
  19. package/docs/assets/showcase/codexmonitor.png +0 -0
  20. package/docs/assets/showcase/gohome-grafana.png +0 -0
  21. package/docs/assets/showcase/ios-testflight.jpg +0 -0
  22. package/docs/assets/showcase/oura-health.png +0 -0
  23. package/docs/assets/showcase/padel-cli.svg +0 -11
  24. package/docs/assets/showcase/padel-screenshot.jpg +0 -0
  25. package/docs/assets/showcase/papla-tts.jpg +0 -0
  26. package/docs/assets/showcase/pr-review-telegram.jpg +0 -0
  27. package/docs/assets/showcase/roborock-screenshot.jpg +0 -0
  28. package/docs/assets/showcase/roborock-status.svg +0 -13
  29. package/docs/assets/showcase/roof-camera-sky.jpg +0 -0
  30. package/docs/assets/showcase/snag.png +0 -0
  31. package/docs/assets/showcase/tesco-shop.jpg +0 -0
  32. package/docs/assets/showcase/wienerlinien.png +0 -0
  33. package/docs/assets/showcase/wine-cellar-skill.jpg +0 -0
  34. package/docs/assets/showcase/winix-air-purifier.jpg +0 -0
  35. package/docs/assets/showcase/xuezh-pronunciation.jpeg +0 -0
  36. package/docs/assets/sponsors/blacksmith.svg +0 -14
  37. package/docs/assets/sponsors/openai.svg +0 -3
  38. package/docs/assets/symi-logo-text-dark.png +0 -0
  39. package/docs/assets/symi-logo-text.png +0 -0
  40. package/docs/automation/auth-monitoring.md +0 -44
  41. package/docs/automation/cron-jobs.md +0 -540
  42. package/docs/automation/cron-vs-heartbeat.md +0 -286
  43. package/docs/automation/gmail-pubsub.md +0 -256
  44. package/docs/automation/hooks.md +0 -998
  45. package/docs/automation/poll.md +0 -61
  46. package/docs/automation/troubleshooting.md +0 -122
  47. package/docs/automation/webhook.md +0 -213
  48. package/docs/brave-search.md +0 -41
  49. package/docs/capabilities.md +0 -151
  50. package/docs/channels/bluebubbles.md +0 -346
  51. package/docs/channels/broadcast-groups.md +0 -441
  52. package/docs/channels/channel-routing.md +0 -112
  53. package/docs/channels/feishu.md +0 -586
  54. package/docs/channels/googlechat.md +0 -253
  55. package/docs/channels/grammy.md +0 -31
  56. package/docs/channels/group-messages.md +0 -82
  57. package/docs/channels/groups.md +0 -364
  58. package/docs/channels/imessage.md +0 -366
  59. package/docs/channels/index.md +0 -46
  60. package/docs/channels/irc.md +0 -234
  61. package/docs/channels/line.md +0 -186
  62. package/docs/channels/location.md +0 -56
  63. package/docs/channels/matrix.md +0 -300
  64. package/docs/channels/mattermost.md +0 -158
  65. package/docs/channels/msteams.md +0 -769
  66. package/docs/channels/nextcloud-talk.md +0 -138
  67. package/docs/channels/nostr.md +0 -233
  68. package/docs/channels/pairing.md +0 -100
  69. package/docs/channels/signal.md +0 -322
  70. package/docs/channels/slack.md +0 -510
  71. package/docs/channels/telegram.md +0 -748
  72. package/docs/channels/tlon.md +0 -148
  73. package/docs/channels/troubleshooting.md +0 -110
  74. package/docs/channels/twitch.md +0 -379
  75. package/docs/channels/whatsapp.md +0 -444
  76. package/docs/channels/zalo.md +0 -192
  77. package/docs/channels/zalouser.md +0 -140
  78. package/docs/ci.md +0 -50
  79. package/docs/cli/acp.md +0 -182
  80. package/docs/cli/agent.md +0 -24
  81. package/docs/cli/agents.md +0 -75
  82. package/docs/cli/approvals.md +0 -50
  83. package/docs/cli/browser.md +0 -107
  84. package/docs/cli/channels.md +0 -73
  85. package/docs/cli/config.md +0 -50
  86. package/docs/cli/configure.md +0 -32
  87. package/docs/cli/cron.md +0 -44
  88. package/docs/cli/dashboard.md +0 -16
  89. package/docs/cli/devices.md +0 -73
  90. package/docs/cli/directory.md +0 -62
  91. package/docs/cli/dns.md +0 -23
  92. package/docs/cli/docs.md +0 -15
  93. package/docs/cli/doctor.md +0 -41
  94. package/docs/cli/gateway.md +0 -202
  95. package/docs/cli/health.md +0 -21
  96. package/docs/cli/hooks.md +0 -313
  97. package/docs/cli/index.md +0 -1029
  98. package/docs/cli/logs.md +0 -28
  99. package/docs/cli/memory.md +0 -45
  100. package/docs/cli/message.md +0 -214
  101. package/docs/cli/models.md +0 -79
  102. package/docs/cli/node.md +0 -112
  103. package/docs/cli/nodes.md +0 -73
  104. package/docs/cli/onboard.md +0 -76
  105. package/docs/cli/pairing.md +0 -21
  106. package/docs/cli/plugins.md +0 -92
  107. package/docs/cli/reset.md +0 -17
  108. package/docs/cli/sandbox.md +0 -152
  109. package/docs/cli/security.md +0 -64
  110. package/docs/cli/sessions.md +0 -16
  111. package/docs/cli/setup.md +0 -29
  112. package/docs/cli/skills.md +0 -26
  113. package/docs/cli/status.md +0 -25
  114. package/docs/cli/system.md +0 -60
  115. package/docs/cli/tui.md +0 -23
  116. package/docs/cli/uninstall.md +0 -17
  117. package/docs/cli/update.md +0 -98
  118. package/docs/cli/voicecall.md +0 -34
  119. package/docs/cli/webhooks.md +0 -25
  120. package/docs/concepts/agent-loop.md +0 -148
  121. package/docs/concepts/agent-workspace.md +0 -234
  122. package/docs/concepts/agent.md +0 -123
  123. package/docs/concepts/architecture.md +0 -135
  124. package/docs/concepts/compaction.md +0 -61
  125. package/docs/concepts/context.md +0 -161
  126. package/docs/concepts/features.md +0 -51
  127. package/docs/concepts/markdown-formatting.md +0 -128
  128. package/docs/concepts/memory.md +0 -729
  129. package/docs/concepts/messages.md +0 -153
  130. package/docs/concepts/model-failover.md +0 -149
  131. package/docs/concepts/model-providers.md +0 -424
  132. package/docs/concepts/models.md +0 -208
  133. package/docs/concepts/multi-agent.md +0 -521
  134. package/docs/concepts/oauth.md +0 -145
  135. package/docs/concepts/presence.md +0 -102
  136. package/docs/concepts/queue.md +0 -86
  137. package/docs/concepts/retry.md +0 -64
  138. package/docs/concepts/session-pruning.md +0 -123
  139. package/docs/concepts/session-tool.md +0 -213
  140. package/docs/concepts/session.md +0 -199
  141. package/docs/concepts/sessions.md +0 -10
  142. package/docs/concepts/streaming.md +0 -129
  143. package/docs/concepts/system-prompt.md +0 -128
  144. package/docs/concepts/timezone.md +0 -90
  145. package/docs/concepts/typebox.md +0 -289
  146. package/docs/concepts/typing-indicators.md +0 -68
  147. package/docs/concepts/usage-tracking.md +0 -35
  148. package/docs/date-time.md +0 -127
  149. package/docs/debug/node-issue.md +0 -85
  150. package/docs/diagnostics/flags.md +0 -91
  151. package/docs/docs.json +0 -1849
  152. package/docs/experiments/onboarding-config-protocol.md +0 -40
  153. package/docs/experiments/plans/browser-evaluate-cdp-refactor.md +0 -229
  154. package/docs/experiments/plans/cron-add-hardening.md +0 -62
  155. package/docs/experiments/plans/group-policy-hardening.md +0 -40
  156. package/docs/experiments/plans/openresponses-gateway.md +0 -123
  157. package/docs/experiments/plans/pty-process-supervision.md +0 -192
  158. package/docs/experiments/plans/session-binding-channel-agnostic.md +0 -202
  159. package/docs/experiments/plans/thread-bound-subagents.md +0 -281
  160. package/docs/experiments/proposals/model-config.md +0 -36
  161. package/docs/experiments/research/memory.md +0 -228
  162. package/docs/gateway/authentication.md +0 -162
  163. package/docs/gateway/background-process.md +0 -96
  164. package/docs/gateway/bonjour.md +0 -177
  165. package/docs/gateway/bridge-protocol.md +0 -91
  166. package/docs/gateway/cli-backends.md +0 -225
  167. package/docs/gateway/configuration-examples.md +0 -610
  168. package/docs/gateway/configuration-reference.md +0 -2465
  169. package/docs/gateway/configuration.md +0 -488
  170. package/docs/gateway/discovery.md +0 -123
  171. package/docs/gateway/doctor.md +0 -282
  172. package/docs/gateway/gateway-lock.md +0 -34
  173. package/docs/gateway/health.md +0 -35
  174. package/docs/gateway/heartbeat.md +0 -374
  175. package/docs/gateway/index.md +0 -254
  176. package/docs/gateway/local-models.md +0 -150
  177. package/docs/gateway/logging.md +0 -113
  178. package/docs/gateway/multiple-gateways.md +0 -112
  179. package/docs/gateway/network-model.md +0 -20
  180. package/docs/gateway/openai-http-api.md +0 -119
  181. package/docs/gateway/openresponses-http-api.md +0 -333
  182. package/docs/gateway/pairing.md +0 -99
  183. package/docs/gateway/protocol.md +0 -221
  184. package/docs/gateway/remote-gateway-readme.md +0 -158
  185. package/docs/gateway/remote.md +0 -131
  186. package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +0 -128
  187. package/docs/gateway/sandboxing.md +0 -203
  188. package/docs/gateway/security/index.md +0 -931
  189. package/docs/gateway/tailscale.md +0 -132
  190. package/docs/gateway/tools-invoke-http-api.md +0 -110
  191. package/docs/gateway/troubleshooting.md +0 -317
  192. package/docs/gateway/trusted-proxy-auth.md +0 -270
  193. package/docs/glass-ui-rendering-invariants.md +0 -451
  194. package/docs/help/debugging.md +0 -162
  195. package/docs/help/environment.md +0 -107
  196. package/docs/help/faq.md +0 -2846
  197. package/docs/help/index.md +0 -21
  198. package/docs/help/scripts.md +0 -28
  199. package/docs/help/testing.md +0 -385
  200. package/docs/help/troubleshooting.md +0 -264
  201. package/docs/images/configure-model-picker-unsearchable.png +0 -0
  202. package/docs/images/feishu-step2-create-app.png +0 -0
  203. package/docs/images/feishu-step3-credentials.png +0 -0
  204. package/docs/images/feishu-step4-permissions.png +0 -0
  205. package/docs/images/feishu-step5-bot-capability.png +0 -0
  206. package/docs/images/feishu-step6-event-subscription.png +0 -0
  207. package/docs/images/groups-flow.svg +0 -52
  208. package/docs/images/mobile-ui-screenshot.png +0 -0
  209. package/docs/index.md +0 -186
  210. package/docs/install/ansible.md +0 -207
  211. package/docs/install/bun.md +0 -59
  212. package/docs/install/development-channels.md +0 -75
  213. package/docs/install/docker.md +0 -583
  214. package/docs/install/exe-dev.md +0 -126
  215. package/docs/install/fly.md +0 -472
  216. package/docs/install/gcp.md +0 -499
  217. package/docs/install/hetzner.md +0 -347
  218. package/docs/install/index.md +0 -218
  219. package/docs/install/installer.md +0 -405
  220. package/docs/install/macos-vm.md +0 -281
  221. package/docs/install/migrating.md +0 -192
  222. package/docs/install/nix.md +0 -98
  223. package/docs/install/node.md +0 -138
  224. package/docs/install/northflank.mdx +0 -49
  225. package/docs/install/podman.md +0 -108
  226. package/docs/install/railway.mdx +0 -95
  227. package/docs/install/render.mdx +0 -158
  228. package/docs/install/uninstall.md +0 -128
  229. package/docs/install/updating.md +0 -231
  230. package/docs/ja-JP/AGENTS.md +0 -37
  231. package/docs/ja-JP/index.md +0 -183
  232. package/docs/ja-JP/start/getting-started.md +0 -125
  233. package/docs/ja-JP/start/wizard.md +0 -77
  234. package/docs/logging.md +0 -350
  235. package/docs/nav-tabs-underline.js +0 -100
  236. package/docs/network.md +0 -54
  237. package/docs/nodes/audio.md +0 -133
  238. package/docs/nodes/camera.md +0 -156
  239. package/docs/nodes/images.md +0 -72
  240. package/docs/nodes/index.md +0 -342
  241. package/docs/nodes/location-command.md +0 -113
  242. package/docs/nodes/media-understanding.md +0 -379
  243. package/docs/nodes/talk.md +0 -90
  244. package/docs/nodes/troubleshooting.md +0 -112
  245. package/docs/nodes/voicewake.md +0 -65
  246. package/docs/perplexity.md +0 -80
  247. package/docs/phase-6.5-pre-flight-audit.md +0 -268
  248. package/docs/pi-dev.md +0 -70
  249. package/docs/pi.md +0 -610
  250. package/docs/platforms/android.md +0 -151
  251. package/docs/platforms/digitalocean.md +0 -265
  252. package/docs/platforms/index.md +0 -53
  253. package/docs/platforms/ios.md +0 -108
  254. package/docs/platforms/linux.md +0 -94
  255. package/docs/platforms/mac/bundled-gateway.md +0 -73
  256. package/docs/platforms/mac/canvas.md +0 -125
  257. package/docs/platforms/mac/child-process.md +0 -69
  258. package/docs/platforms/mac/dev-setup.md +0 -104
  259. package/docs/platforms/mac/health.md +0 -34
  260. package/docs/platforms/mac/icon.md +0 -31
  261. package/docs/platforms/mac/logging.md +0 -57
  262. package/docs/platforms/mac/menu-bar.md +0 -81
  263. package/docs/platforms/mac/peekaboo.md +0 -65
  264. package/docs/platforms/mac/permissions.md +0 -50
  265. package/docs/platforms/mac/release.md +0 -85
  266. package/docs/platforms/mac/remote.md +0 -84
  267. package/docs/platforms/mac/signing.md +0 -47
  268. package/docs/platforms/mac/skills.md +0 -33
  269. package/docs/platforms/mac/voice-overlay.md +0 -60
  270. package/docs/platforms/mac/voicewake.md +0 -66
  271. package/docs/platforms/mac/webchat.md +0 -43
  272. package/docs/platforms/mac/xpc.md +0 -61
  273. package/docs/platforms/macos.md +0 -204
  274. package/docs/platforms/oracle.md +0 -303
  275. package/docs/platforms/raspberry-pi.md +0 -358
  276. package/docs/platforms/windows.md +0 -159
  277. package/docs/plugins/agent-tools.md +0 -99
  278. package/docs/plugins/community.md +0 -44
  279. package/docs/plugins/manifest.md +0 -71
  280. package/docs/plugins/voice-call.md +0 -322
  281. package/docs/plugins/zalouser.md +0 -81
  282. package/docs/prose.md +0 -134
  283. package/docs/providers/anthropic.md +0 -174
  284. package/docs/providers/bedrock.md +0 -176
  285. package/docs/providers/claude-max-api-proxy.md +0 -148
  286. package/docs/providers/cloudflare-ai-gateway.md +0 -71
  287. package/docs/providers/deepgram.md +0 -93
  288. package/docs/providers/github-copilot.md +0 -72
  289. package/docs/providers/glm.md +0 -33
  290. package/docs/providers/huggingface.md +0 -209
  291. package/docs/providers/index.md +0 -67
  292. package/docs/providers/litellm.md +0 -153
  293. package/docs/providers/minimax.md +0 -208
  294. package/docs/providers/models.md +0 -52
  295. package/docs/providers/moonshot.md +0 -142
  296. package/docs/providers/nvidia.md +0 -55
  297. package/docs/providers/ollama.md +0 -250
  298. package/docs/providers/openai.md +0 -62
  299. package/docs/providers/opencode.md +0 -36
  300. package/docs/providers/openrouter.md +0 -37
  301. package/docs/providers/qianfan.md +0 -38
  302. package/docs/providers/qwen.md +0 -53
  303. package/docs/providers/synthetic.md +0 -99
  304. package/docs/providers/together.md +0 -65
  305. package/docs/providers/venice.md +0 -267
  306. package/docs/providers/vercel-ai-gateway.md +0 -50
  307. package/docs/providers/vllm.md +0 -92
  308. package/docs/providers/xiaomi.md +0 -64
  309. package/docs/providers/zai.md +0 -38
  310. package/docs/refactor/exec-host.md +0 -316
  311. package/docs/refactor/outbound-session-mirroring.md +0 -83
  312. package/docs/refactor/plugin-sdk.md +0 -214
  313. package/docs/refactor/strict-config.md +0 -93
  314. package/docs/refactor/syminet.md +0 -417
  315. package/docs/reference/AGENTS.default.md +0 -123
  316. package/docs/reference/RELEASING.md +0 -120
  317. package/docs/reference/api-usage-costs.md +0 -138
  318. package/docs/reference/credits.md +0 -28
  319. package/docs/reference/device-models.md +0 -47
  320. package/docs/reference/rpc.md +0 -43
  321. package/docs/reference/session-management-compaction.md +0 -284
  322. package/docs/reference/test.md +0 -51
  323. package/docs/reference/token-use.md +0 -136
  324. package/docs/reference/transcript-hygiene.md +0 -151
  325. package/docs/reference/wizard.md +0 -265
  326. package/docs/security/CONTRIBUTING-THREAT-MODEL.md +0 -89
  327. package/docs/security/README.md +0 -16
  328. package/docs/security/THREAT-MODEL-ATLAS.md +0 -600
  329. package/docs/security/formal-verification.md +0 -164
  330. package/docs/start/bootstrapping.md +0 -41
  331. package/docs/start/docs-directory.md +0 -63
  332. package/docs/start/getting-started.md +0 -135
  333. package/docs/start/hubs.md +0 -196
  334. package/docs/start/lore.md +0 -216
  335. package/docs/start/onboarding-overview.md +0 -51
  336. package/docs/start/onboarding.md +0 -81
  337. package/docs/start/quickstart.md +0 -22
  338. package/docs/start/setup.md +0 -160
  339. package/docs/start/showcase.md +0 -414
  340. package/docs/start/symi.md +0 -211
  341. package/docs/start/wizard-cli-automation.md +0 -158
  342. package/docs/start/wizard-cli-reference.md +0 -255
  343. package/docs/start/wizard.md +0 -109
  344. package/docs/style.css +0 -37
  345. package/docs/tools/agent-send.md +0 -52
  346. package/docs/tools/apply-patch.md +0 -51
  347. package/docs/tools/browser-linux-troubleshooting.md +0 -139
  348. package/docs/tools/browser-login.md +0 -67
  349. package/docs/tools/browser.md +0 -587
  350. package/docs/tools/chrome-extension.md +0 -183
  351. package/docs/tools/creating-skills.md +0 -54
  352. package/docs/tools/elevated.md +0 -55
  353. package/docs/tools/exec-approvals.md +0 -261
  354. package/docs/tools/exec.md +0 -184
  355. package/docs/tools/firecrawl.md +0 -61
  356. package/docs/tools/index.md +0 -540
  357. package/docs/tools/llm-task.md +0 -115
  358. package/docs/tools/loop-detection.md +0 -98
  359. package/docs/tools/multi-agent-sandbox-tools.md +0 -396
  360. package/docs/tools/pipeline.md +0 -340
  361. package/docs/tools/plugin.md +0 -687
  362. package/docs/tools/reactions.md +0 -21
  363. package/docs/tools/skills-config.md +0 -76
  364. package/docs/tools/skills.md +0 -300
  365. package/docs/tools/slash-commands.md +0 -202
  366. package/docs/tools/subagents.md +0 -232
  367. package/docs/tools/symihub.md +0 -256
  368. package/docs/tools/thinking.md +0 -75
  369. package/docs/tools/web.md +0 -265
  370. package/docs/tts.md +0 -398
  371. package/docs/vps.md +0 -43
  372. package/docs/web/control-ui.md +0 -247
  373. package/docs/web/dashboard.md +0 -46
  374. package/docs/web/index.md +0 -118
  375. package/docs/web/tui.md +0 -162
  376. package/docs/web/webchat.md +0 -53
  377. package/docs/whatsapp-symi-ai-zh.jpg +0 -0
  378. package/docs/whatsapp-symi.jpg +0 -0
  379. package/docs/zh-CN/AGENTS.md +0 -59
  380. package/docs/zh-CN/automation/auth-monitoring.md +0 -47
  381. package/docs/zh-CN/automation/cron-jobs.md +0 -422
  382. package/docs/zh-CN/automation/cron-vs-heartbeat.md +0 -286
  383. package/docs/zh-CN/automation/gmail-pubsub.md +0 -249
  384. package/docs/zh-CN/automation/hooks.md +0 -881
  385. package/docs/zh-CN/automation/poll.md +0 -68
  386. package/docs/zh-CN/automation/troubleshooting.md +0 -8
  387. package/docs/zh-CN/automation/webhook.md +0 -161
  388. package/docs/zh-CN/brave-search.md +0 -48
  389. package/docs/zh-CN/channels/bluebubbles.md +0 -271
  390. package/docs/zh-CN/channels/broadcast-groups.md +0 -448
  391. package/docs/zh-CN/channels/channel-routing.md +0 -112
  392. package/docs/zh-CN/channels/feishu.md +0 -629
  393. package/docs/zh-CN/channels/googlechat.md +0 -257
  394. package/docs/zh-CN/channels/grammy.md +0 -38
  395. package/docs/zh-CN/channels/group-messages.md +0 -89
  396. package/docs/zh-CN/channels/groups.md +0 -369
  397. package/docs/zh-CN/channels/imessage.md +0 -300
  398. package/docs/zh-CN/channels/index.md +0 -52
  399. package/docs/zh-CN/channels/line.md +0 -180
  400. package/docs/zh-CN/channels/location.md +0 -63
  401. package/docs/zh-CN/channels/matrix.md +0 -221
  402. package/docs/zh-CN/channels/mattermost.md +0 -144
  403. package/docs/zh-CN/channels/msteams.md +0 -773
  404. package/docs/zh-CN/channels/nextcloud-talk.md +0 -142
  405. package/docs/zh-CN/channels/nostr.md +0 -240
  406. package/docs/zh-CN/channels/pairing.md +0 -86
  407. package/docs/zh-CN/channels/signal.md +0 -207
  408. package/docs/zh-CN/channels/slack.md +0 -529
  409. package/docs/zh-CN/channels/telegram.md +0 -748
  410. package/docs/zh-CN/channels/tlon.md +0 -136
  411. package/docs/zh-CN/channels/troubleshooting.md +0 -34
  412. package/docs/zh-CN/channels/twitch.md +0 -385
  413. package/docs/zh-CN/channels/whatsapp.md +0 -411
  414. package/docs/zh-CN/channels/zalo.md +0 -196
  415. package/docs/zh-CN/channels/zalouser.md +0 -147
  416. package/docs/zh-CN/cli/acp.md +0 -173
  417. package/docs/zh-CN/cli/agent.md +0 -30
  418. package/docs/zh-CN/cli/agents.md +0 -82
  419. package/docs/zh-CN/cli/approvals.md +0 -57
  420. package/docs/zh-CN/cli/browser.md +0 -114
  421. package/docs/zh-CN/cli/channels.md +0 -80
  422. package/docs/zh-CN/cli/config.md +0 -57
  423. package/docs/zh-CN/cli/configure.md +0 -37
  424. package/docs/zh-CN/cli/cron.md +0 -43
  425. package/docs/zh-CN/cli/dashboard.md +0 -23
  426. package/docs/zh-CN/cli/devices.md +0 -74
  427. package/docs/zh-CN/cli/directory.md +0 -69
  428. package/docs/zh-CN/cli/dns.md +0 -30
  429. package/docs/zh-CN/cli/docs.md +0 -22
  430. package/docs/zh-CN/cli/doctor.md +0 -48
  431. package/docs/zh-CN/cli/gateway.md +0 -206
  432. package/docs/zh-CN/cli/health.md +0 -28
  433. package/docs/zh-CN/cli/hooks.md +0 -298
  434. package/docs/zh-CN/cli/index.md +0 -1025
  435. package/docs/zh-CN/cli/logs.md +0 -31
  436. package/docs/zh-CN/cli/memory.md +0 -52
  437. package/docs/zh-CN/cli/message.md +0 -205
  438. package/docs/zh-CN/cli/models.md +0 -85
  439. package/docs/zh-CN/cli/node.md +0 -115
  440. package/docs/zh-CN/cli/nodes.md +0 -80
  441. package/docs/zh-CN/cli/onboard.md +0 -36
  442. package/docs/zh-CN/cli/pairing.md +0 -28
  443. package/docs/zh-CN/cli/plugins.md +0 -66
  444. package/docs/zh-CN/cli/reset.md +0 -24
  445. package/docs/zh-CN/cli/sandbox.md +0 -158
  446. package/docs/zh-CN/cli/security.md +0 -33
  447. package/docs/zh-CN/cli/sessions.md +0 -23
  448. package/docs/zh-CN/cli/setup.md +0 -36
  449. package/docs/zh-CN/cli/skills.md +0 -33
  450. package/docs/zh-CN/cli/status.md +0 -32
  451. package/docs/zh-CN/cli/system.md +0 -63
  452. package/docs/zh-CN/cli/tui.md +0 -30
  453. package/docs/zh-CN/cli/uninstall.md +0 -24
  454. package/docs/zh-CN/cli/update.md +0 -101
  455. package/docs/zh-CN/cli/voicecall.md +0 -41
  456. package/docs/zh-CN/cli/webhooks.md +0 -32
  457. package/docs/zh-CN/concepts/agent-loop.md +0 -146
  458. package/docs/zh-CN/concepts/agent-workspace.md +0 -219
  459. package/docs/zh-CN/concepts/agent.md +0 -115
  460. package/docs/zh-CN/concepts/architecture.md +0 -122
  461. package/docs/zh-CN/concepts/compaction.md +0 -67
  462. package/docs/zh-CN/concepts/context.md +0 -168
  463. package/docs/zh-CN/concepts/features.md +0 -57
  464. package/docs/zh-CN/concepts/markdown-formatting.md +0 -115
  465. package/docs/zh-CN/concepts/memory.md +0 -412
  466. package/docs/zh-CN/concepts/messages.md +0 -140
  467. package/docs/zh-CN/concepts/model-failover.md +0 -145
  468. package/docs/zh-CN/concepts/model-providers.md +0 -320
  469. package/docs/zh-CN/concepts/models.md +0 -196
  470. package/docs/zh-CN/concepts/multi-agent.md +0 -371
  471. package/docs/zh-CN/concepts/oauth.md +0 -151
  472. package/docs/zh-CN/concepts/presence.md +0 -99
  473. package/docs/zh-CN/concepts/queue.md +0 -91
  474. package/docs/zh-CN/concepts/retry.md +0 -71
  475. package/docs/zh-CN/concepts/session-pruning.md +0 -129
  476. package/docs/zh-CN/concepts/session-tool.md +0 -198
  477. package/docs/zh-CN/concepts/session.md +0 -158
  478. package/docs/zh-CN/concepts/sessions.md +0 -17
  479. package/docs/zh-CN/concepts/streaming.md +0 -131
  480. package/docs/zh-CN/concepts/system-prompt.md +0 -99
  481. package/docs/zh-CN/concepts/timezone.md +0 -94
  482. package/docs/zh-CN/concepts/typebox.md +0 -284
  483. package/docs/zh-CN/concepts/typing-indicators.md +0 -74
  484. package/docs/zh-CN/concepts/usage-tracking.md +0 -42
  485. package/docs/zh-CN/date-time.md +0 -128
  486. package/docs/zh-CN/debug/node-issue.md +0 -90
  487. package/docs/zh-CN/diagnostics/flags.md +0 -98
  488. package/docs/zh-CN/experiments/onboarding-config-protocol.md +0 -47
  489. package/docs/zh-CN/experiments/plans/cron-add-hardening.md +0 -69
  490. package/docs/zh-CN/experiments/plans/group-policy-hardening.md +0 -45
  491. package/docs/zh-CN/experiments/plans/openresponses-gateway.md +0 -121
  492. package/docs/zh-CN/experiments/proposals/model-config.md +0 -42
  493. package/docs/zh-CN/experiments/research/memory.md +0 -235
  494. package/docs/zh-CN/gateway/authentication.md +0 -142
  495. package/docs/zh-CN/gateway/background-process.md +0 -100
  496. package/docs/zh-CN/gateway/bonjour.md +0 -174
  497. package/docs/zh-CN/gateway/bridge-protocol.md +0 -86
  498. package/docs/zh-CN/gateway/cli-backends.md +0 -213
  499. package/docs/zh-CN/gateway/configuration-examples.md +0 -580
  500. package/docs/zh-CN/gateway/configuration.md +0 -3284
  501. package/docs/zh-CN/gateway/discovery.md +0 -123
  502. package/docs/zh-CN/gateway/doctor.md +0 -238
  503. package/docs/zh-CN/gateway/gateway-lock.md +0 -41
  504. package/docs/zh-CN/gateway/health.md +0 -42
  505. package/docs/zh-CN/gateway/heartbeat.md +0 -272
  506. package/docs/zh-CN/gateway/index.md +0 -335
  507. package/docs/zh-CN/gateway/local-models.md +0 -157
  508. package/docs/zh-CN/gateway/logging.md +0 -114
  509. package/docs/zh-CN/gateway/multiple-gateways.md +0 -119
  510. package/docs/zh-CN/gateway/network-model.md +0 -23
  511. package/docs/zh-CN/gateway/openai-http-api.md +0 -125
  512. package/docs/zh-CN/gateway/openresponses-http-api.md +0 -317
  513. package/docs/zh-CN/gateway/pairing.md +0 -99
  514. package/docs/zh-CN/gateway/protocol.md +0 -220
  515. package/docs/zh-CN/gateway/remote-gateway-readme.md +0 -164
  516. package/docs/zh-CN/gateway/remote.md +0 -133
  517. package/docs/zh-CN/gateway/sandbox-vs-tool-policy-vs-elevated.md +0 -135
  518. package/docs/zh-CN/gateway/sandboxing.md +0 -188
  519. package/docs/zh-CN/gateway/security/index.md +0 -772
  520. package/docs/zh-CN/gateway/tailscale.md +0 -124
  521. package/docs/zh-CN/gateway/tools-invoke-http-api.md +0 -92
  522. package/docs/zh-CN/gateway/troubleshooting.md +0 -758
  523. package/docs/zh-CN/help/debugging.md +0 -160
  524. package/docs/zh-CN/help/environment.md +0 -88
  525. package/docs/zh-CN/help/faq.md +0 -2613
  526. package/docs/zh-CN/help/index.md +0 -28
  527. package/docs/zh-CN/help/scripts.md +0 -35
  528. package/docs/zh-CN/help/testing.md +0 -375
  529. package/docs/zh-CN/help/troubleshooting.md +0 -104
  530. package/docs/zh-CN/index.md +0 -183
  531. package/docs/zh-CN/install/ansible.md +0 -214
  532. package/docs/zh-CN/install/bun.md +0 -65
  533. package/docs/zh-CN/install/development-channels.md +0 -81
  534. package/docs/zh-CN/install/docker.md +0 -525
  535. package/docs/zh-CN/install/exe-dev.md +0 -127
  536. package/docs/zh-CN/install/fly.md +0 -476
  537. package/docs/zh-CN/install/gcp.md +0 -509
  538. package/docs/zh-CN/install/hetzner.md +0 -336
  539. package/docs/zh-CN/install/index.md +0 -193
  540. package/docs/zh-CN/install/installer.md +0 -128
  541. package/docs/zh-CN/install/macos-vm.md +0 -288
  542. package/docs/zh-CN/install/migrating.md +0 -199
  543. package/docs/zh-CN/install/nix.md +0 -99
  544. package/docs/zh-CN/install/node.md +0 -8
  545. package/docs/zh-CN/install/northflank.mdx +0 -56
  546. package/docs/zh-CN/install/railway.mdx +0 -102
  547. package/docs/zh-CN/install/render.mdx +0 -168
  548. package/docs/zh-CN/install/uninstall.md +0 -135
  549. package/docs/zh-CN/install/updating.md +0 -233
  550. package/docs/zh-CN/logging.md +0 -329
  551. package/docs/zh-CN/network.md +0 -59
  552. package/docs/zh-CN/nodes/audio.md +0 -120
  553. package/docs/zh-CN/nodes/camera.md +0 -162
  554. package/docs/zh-CN/nodes/images.md +0 -79
  555. package/docs/zh-CN/nodes/index.md +0 -348
  556. package/docs/zh-CN/nodes/location-command.md +0 -120
  557. package/docs/zh-CN/nodes/media-understanding.md +0 -380
  558. package/docs/zh-CN/nodes/talk.md +0 -97
  559. package/docs/zh-CN/nodes/troubleshooting.md +0 -8
  560. package/docs/zh-CN/nodes/voicewake.md +0 -72
  561. package/docs/zh-CN/perplexity.md +0 -84
  562. package/docs/zh-CN/pi-dev.md +0 -77
  563. package/docs/zh-CN/pi.md +0 -617
  564. package/docs/zh-CN/platforms/android.md +0 -155
  565. package/docs/zh-CN/platforms/digitalocean.md +0 -268
  566. package/docs/zh-CN/platforms/index.md +0 -60
  567. package/docs/zh-CN/platforms/ios.md +0 -114
  568. package/docs/zh-CN/platforms/linux.md +0 -101
  569. package/docs/zh-CN/platforms/mac/bundled-gateway.md +0 -75
  570. package/docs/zh-CN/platforms/mac/canvas.md +0 -128
  571. package/docs/zh-CN/platforms/mac/child-process.md +0 -73
  572. package/docs/zh-CN/platforms/mac/dev-setup.md +0 -109
  573. package/docs/zh-CN/platforms/mac/health.md +0 -41
  574. package/docs/zh-CN/platforms/mac/icon.md +0 -38
  575. package/docs/zh-CN/platforms/mac/logging.md +0 -64
  576. package/docs/zh-CN/platforms/mac/menu-bar.md +0 -88
  577. package/docs/zh-CN/platforms/mac/peekaboo.md +0 -62
  578. package/docs/zh-CN/platforms/mac/permissions.md +0 -46
  579. package/docs/zh-CN/platforms/mac/release.md +0 -92
  580. package/docs/zh-CN/platforms/mac/remote.md +0 -90
  581. package/docs/zh-CN/platforms/mac/signing.md +0 -54
  582. package/docs/zh-CN/platforms/mac/skills.md +0 -40
  583. package/docs/zh-CN/platforms/mac/voice-overlay.md +0 -67
  584. package/docs/zh-CN/platforms/mac/voicewake.md +0 -73
  585. package/docs/zh-CN/platforms/mac/webchat.md +0 -43
  586. package/docs/zh-CN/platforms/mac/xpc.md +0 -68
  587. package/docs/zh-CN/platforms/macos.md +0 -193
  588. package/docs/zh-CN/platforms/oracle.md +0 -310
  589. package/docs/zh-CN/platforms/raspberry-pi.md +0 -365
  590. package/docs/zh-CN/platforms/windows.md +0 -156
  591. package/docs/zh-CN/plugins/agent-tools.md +0 -99
  592. package/docs/zh-CN/plugins/manifest.md +0 -68
  593. package/docs/zh-CN/plugins/voice-call.md +0 -250
  594. package/docs/zh-CN/plugins/zalouser.md +0 -88
  595. package/docs/zh-CN/prose.md +0 -141
  596. package/docs/zh-CN/providers/anthropic.md +0 -159
  597. package/docs/zh-CN/providers/bedrock.md +0 -170
  598. package/docs/zh-CN/providers/claude-max-api-proxy.md +0 -155
  599. package/docs/zh-CN/providers/deepgram.md +0 -97
  600. package/docs/zh-CN/providers/github-copilot.md +0 -67
  601. package/docs/zh-CN/providers/glm.md +0 -39
  602. package/docs/zh-CN/providers/index.md +0 -66
  603. package/docs/zh-CN/providers/minimax.md +0 -206
  604. package/docs/zh-CN/providers/models.md +0 -55
  605. package/docs/zh-CN/providers/moonshot.md +0 -145
  606. package/docs/zh-CN/providers/ollama.md +0 -230
  607. package/docs/zh-CN/providers/openai.md +0 -68
  608. package/docs/zh-CN/providers/opencode.md +0 -41
  609. package/docs/zh-CN/providers/openrouter.md +0 -43
  610. package/docs/zh-CN/providers/qianfan.md +0 -8
  611. package/docs/zh-CN/providers/qwen.md +0 -55
  612. package/docs/zh-CN/providers/synthetic.md +0 -102
  613. package/docs/zh-CN/providers/venice.md +0 -274
  614. package/docs/zh-CN/providers/vercel-ai-gateway.md +0 -57
  615. package/docs/zh-CN/providers/xiaomi.md +0 -68
  616. package/docs/zh-CN/providers/zai.md +0 -41
  617. package/docs/zh-CN/refactor/exec-host.md +0 -323
  618. package/docs/zh-CN/refactor/outbound-session-mirroring.md +0 -90
  619. package/docs/zh-CN/refactor/plugin-sdk.md +0 -221
  620. package/docs/zh-CN/refactor/strict-config.md +0 -100
  621. package/docs/zh-CN/refactor/syminet.md +0 -424
  622. package/docs/zh-CN/reference/AGENTS.default.md +0 -130
  623. package/docs/zh-CN/reference/RELEASING.md +0 -122
  624. package/docs/zh-CN/reference/api-usage-costs.md +0 -136
  625. package/docs/zh-CN/reference/credits.md +0 -34
  626. package/docs/zh-CN/reference/device-models.md +0 -54
  627. package/docs/zh-CN/reference/rpc.md +0 -48
  628. package/docs/zh-CN/reference/session-management-compaction.md +0 -286
  629. package/docs/zh-CN/reference/templates/AGENTS.dev.md +0 -89
  630. package/docs/zh-CN/reference/templates/AGENTS.md +0 -234
  631. package/docs/zh-CN/reference/templates/BOOT.md +0 -17
  632. package/docs/zh-CN/reference/templates/BOOTSTRAP.md +0 -68
  633. package/docs/zh-CN/reference/templates/IDENTITY.dev.md +0 -54
  634. package/docs/zh-CN/reference/templates/IDENTITY.md +0 -36
  635. package/docs/zh-CN/reference/templates/SYMICORE.dev.md +0 -83
  636. package/docs/zh-CN/reference/templates/SYMICORE.md +0 -49
  637. package/docs/zh-CN/reference/templates/SYMIPULSE.md +0 -69
  638. package/docs/zh-CN/reference/templates/TOOLS.dev.md +0 -31
  639. package/docs/zh-CN/reference/templates/TOOLS.md +0 -53
  640. package/docs/zh-CN/reference/templates/USER.dev.md +0 -25
  641. package/docs/zh-CN/reference/templates/USER.md +0 -30
  642. package/docs/zh-CN/reference/test.md +0 -57
  643. package/docs/zh-CN/reference/token-use.md +0 -119
  644. package/docs/zh-CN/reference/transcript-hygiene.md +0 -109
  645. package/docs/zh-CN/reference/wizard.md +0 -9
  646. package/docs/zh-CN/security/formal-verification.md +0 -171
  647. package/docs/zh-CN/start/bootstrapping.md +0 -9
  648. package/docs/zh-CN/start/docs-directory.md +0 -69
  649. package/docs/zh-CN/start/getting-started.md +0 -201
  650. package/docs/zh-CN/start/hubs.md +0 -199
  651. package/docs/zh-CN/start/lore.md +0 -223
  652. package/docs/zh-CN/start/onboarding.md +0 -105
  653. package/docs/zh-CN/start/quickstart.md +0 -88
  654. package/docs/zh-CN/start/setup.md +0 -151
  655. package/docs/zh-CN/start/showcase.md +0 -421
  656. package/docs/zh-CN/start/symi.md +0 -244
  657. package/docs/zh-CN/start/wizard.md +0 -326
  658. package/docs/zh-CN/tools/agent-send.md +0 -58
  659. package/docs/zh-CN/tools/apply-patch.md +0 -57
  660. package/docs/zh-CN/tools/browser-linux-troubleshooting.md +0 -144
  661. package/docs/zh-CN/tools/browser-login.md +0 -75
  662. package/docs/zh-CN/tools/browser.md +0 -553
  663. package/docs/zh-CN/tools/chrome-extension.md +0 -183
  664. package/docs/zh-CN/tools/creating-skills.md +0 -61
  665. package/docs/zh-CN/tools/elevated.md +0 -62
  666. package/docs/zh-CN/tools/exec-approvals.md +0 -233
  667. package/docs/zh-CN/tools/exec.md +0 -169
  668. package/docs/zh-CN/tools/firecrawl.md +0 -68
  669. package/docs/zh-CN/tools/index.md +0 -508
  670. package/docs/zh-CN/tools/llm-task.md +0 -117
  671. package/docs/zh-CN/tools/multi-agent-sandbox-tools.md +0 -400
  672. package/docs/zh-CN/tools/pipeline.md +0 -349
  673. package/docs/zh-CN/tools/plugin.md +0 -639
  674. package/docs/zh-CN/tools/reactions.md +0 -28
  675. package/docs/zh-CN/tools/skills-config.md +0 -78
  676. package/docs/zh-CN/tools/skills.md +0 -279
  677. package/docs/zh-CN/tools/slash-commands.md +0 -196
  678. package/docs/zh-CN/tools/subagents.md +0 -167
  679. package/docs/zh-CN/tools/symihub.md +0 -209
  680. package/docs/zh-CN/tools/thinking.md +0 -80
  681. package/docs/zh-CN/tools/web.md +0 -257
  682. package/docs/zh-CN/tts.md +0 -373
  683. package/docs/zh-CN/vps.md +0 -47
  684. package/docs/zh-CN/web/control-ui.md +0 -190
  685. package/docs/zh-CN/web/dashboard.md +0 -53
  686. package/docs/zh-CN/web/index.md +0 -118
  687. package/docs/zh-CN/web/tui.md +0 -166
  688. package/docs/zh-CN/web/webchat.md +0 -56
@@ -1,77 +0,0 @@
1
- ---
2
- title: Pi 开发工作流程
3
- x-i18n:
4
- generated_at: "2026-02-03T10:07:59Z"
5
- model: claude-opus-4-5
6
- provider: pi
7
- source_hash: 65bd0580dd03df05321ced35a036ce6fb815ce3ddac1d35c9976279adcbf87c0
8
- source_path: pi-dev.md
9
- workflow: 15
10
- ---
11
-
12
- # Pi 开发工作流程
13
-
14
- 本指南总结了在 Symi 中开发 Pi 集成的合理工作流程。
15
-
16
- ## 类型检查和代码检查
17
-
18
- - 类型检查和构建:`pnpm build`
19
- - 代码检查:`pnpm lint`
20
- - 格式检查:`pnpm format`
21
- - 推送前完整检查:`pnpm lint && pnpm build && pnpm test`
22
-
23
- ## 运行 Pi 测试
24
-
25
- 使用专用脚本运行 Pi 集成测试集:
26
-
27
- ```bash
28
- scripts/pi/run-tests.sh
29
- ```
30
-
31
- 要包含执行真实提供商行为的实时测试:
32
-
33
- ```bash
34
- scripts/pi/run-tests.sh --live
35
- ```
36
-
37
- 该脚本通过以下 glob 模式运行所有 Pi 相关的单元测试:
38
-
39
- - `src/agents/pi-*.test.ts`
40
- - `src/agents/pi-embedded-*.test.ts`
41
- - `src/agents/pi-tools*.test.ts`
42
- - `src/agents/pi-settings.test.ts`
43
- - `src/agents/pi-tool-definition-adapter.test.ts`
44
- - `src/agents/pi-extensions/*.test.ts`
45
-
46
- ## 手动测试
47
-
48
- 推荐流程:
49
-
50
- - 以开发模式运行 Gateway 网关:
51
- - `pnpm gateway:dev`
52
- - 直接触发智能体:
53
- - `pnpm symi agent --message "Hello" --thinking low`
54
- - 使用 TUI 进行交互式调试:
55
- - `pnpm tui`
56
-
57
- 对于工具调用行为,提示执行 `read` 或 `exec` 操作,以便查看工具流式传输和负载处理。
58
-
59
- ## 完全重置
60
-
61
- 状态存储在 Symi 状态目录下。默认为 `~/.symi`。如果设置了 `SYMI_STATE_DIR`,则使用该目录。
62
-
63
- 要重置所有内容:
64
-
65
- - `symi.json` 用于配置
66
- - `credentials/` 用于认证配置文件和 token
67
- - `agents/<agentId>/sessions/` 用于智能体会话历史
68
- - `agents/<agentId>/sessions.json` 用于会话索引
69
- - `sessions/` 如果存在旧版路径
70
- - `workspace/` 如果你想要一个空白工作区
71
-
72
- 如果只想重置会话,删除该智能体的 `agents/<agentId>/sessions/` 和 `agents/<agentId>/sessions.json`。如果不想重新认证,保留 `credentials/`。
73
-
74
- ## 参考资料
75
-
76
- - https://docs.symi.ai/testing
77
- - https://docs.symi.ai/start/getting-started
package/docs/zh-CN/pi.md DELETED
@@ -1,617 +0,0 @@
1
- ---
2
- title: Pi 集成架构
3
- x-i18n:
4
- generated_at: "2026-02-03T07:53:24Z"
5
- model: claude-opus-4-5
6
- provider: pi
7
- source_hash: 98b12f1211f70b1a25f58e68c7a4d0fe3827412ca53ba0ea2cd41ac9c0448458
8
- source_path: pi.md
9
- workflow: 15
10
- ---
11
-
12
- # Pi 集成架构
13
-
14
- 本文档描述了 Symi 如何与 [pi-coding-agent](https://github.com/badlogic/pi-mono/tree/main/packages/coding-agent) 及其相关包(`pi-ai`、`pi-agent-core`、`pi-tui`)集成以实现其 AI 智能体能力。
15
-
16
- ## 概述
17
-
18
- Symi 使用 pi SDK 将 AI 编码智能体嵌入到其消息 Gateway 网关架构中。Symi 不是将 pi 作为子进程生成或使用 RPC 模式,而是通过 `createAgentSession()` 直接导入并实例化 pi 的 `AgentSession`。这种嵌入式方法提供了:
19
-
20
- - 对会话生命周期和事件处理的完全控制
21
- - 自定义工具注入(消息、沙箱、渠道特定操作)
22
- - 每个渠道/上下文的系统提示自定义
23
- - 支持分支/压缩的会话持久化
24
- - 带故障转移的多账户认证配置文件轮换
25
- - 与提供商无关的模型切换
26
-
27
- ## 包依赖
28
-
29
- ```json
30
- {
31
- "@mariozechner/pi-agent-core": "0.49.3",
32
- "@mariozechner/pi-ai": "0.49.3",
33
- "@mariozechner/pi-coding-agent": "0.49.3",
34
- "@mariozechner/pi-tui": "0.49.3"
35
- }
36
- ```
37
-
38
- | 包 | 用途 |
39
- | ----------------- | ------------------------------------------------------------------------------------------ |
40
- | `pi-ai` | 核心 LLM 抽象:`Model`、`streamSimple`、消息类型、提供商 API |
41
- | `pi-agent-core` | 智能体循环、工具执行、`AgentMessage` 类型 |
42
- | `pi-coding-agent` | 高级 SDK:`createAgentSession`、`SessionManager`、`AuthStorage`、`ModelRegistry`、内置工具 |
43
- | `pi-tui` | 终端 UI 组件(用于 Symi 的本地 TUI 模式) |
44
-
45
- ## 文件结构
46
-
47
- ```
48
- src/agents/
49
- ├── pi-embedded-runner.ts # Re-exports from pi-embedded-runner/
50
- ├── pi-embedded-runner/
51
- │ ├── run.ts # Main entry: runEmbeddedPiAgent()
52
- │ ├── run/
53
- │ │ ├── attempt.ts # Single attempt logic with session setup
54
- │ │ ├── params.ts # RunEmbeddedPiAgentParams type
55
- │ │ ├── payloads.ts # Build response payloads from run results
56
- │ │ ├── images.ts # Vision model image injection
57
- │ │ └── types.ts # EmbeddedRunAttemptResult
58
- │ ├── abort.ts # Abort error detection
59
- │ ├── cache-ttl.ts # Cache TTL tracking for context pruning
60
- │ ├── compact.ts # Manual/auto compaction logic
61
- │ ├── extensions.ts # Load pi extensions for embedded runs
62
- │ ├── extra-params.ts # Provider-specific stream params
63
- │ ├── google.ts # Google/Gemini turn ordering fixes
64
- │ ├── history.ts # History limiting (DM vs group)
65
- │ ├── lanes.ts # Session/global command lanes
66
- │ ├── logger.ts # Subsystem logger
67
- │ ├── model.ts # Model resolution via ModelRegistry
68
- │ ├── runs.ts # Active run tracking, abort, queue
69
- │ ├── sandbox-info.ts # Sandbox info for system prompt
70
- │ ├── session-manager-cache.ts # SessionManager instance caching
71
- │ ├── session-manager-init.ts # Session file initialization
72
- │ ├── system-prompt.ts # System prompt builder
73
- │ ├── tool-split.ts # Split tools into builtIn vs custom
74
- │ ├── types.ts # EmbeddedPiAgentMeta, EmbeddedPiRunResult
75
- │ └── utils.ts # ThinkLevel mapping, error description
76
- ├── pi-embedded-subscribe.ts # Session event subscription/dispatch
77
- ├── pi-embedded-subscribe.types.ts # SubscribeEmbeddedPiSessionParams
78
- ├── pi-embedded-subscribe.handlers.ts # Event handler factory
79
- ├── pi-embedded-subscribe.handlers.lifecycle.ts
80
- ├── pi-embedded-subscribe.handlers.types.ts
81
- ├── pi-embedded-block-chunker.ts # Streaming block reply chunking
82
- ├── pi-embedded-messaging.ts # Messaging tool sent tracking
83
- ├── pi-embedded-helpers.ts # Error classification, turn validation
84
- ├── pi-embedded-helpers/ # Helper modules
85
- ├── pi-embedded-utils.ts # Formatting utilities
86
- ├── pi-tools.ts # createSymiCodingTools()
87
- ├── pi-tools.abort.ts # AbortSignal wrapping for tools
88
- ├── pi-tools.policy.ts # Tool allowlist/denylist policy
89
- ├── pi-tools.read.ts # Read tool customizations
90
- ├── pi-tools.schema.ts # Tool schema normalization
91
- ├── pi-tools.types.ts # AnyAgentTool type alias
92
- ├── pi-tool-definition-adapter.ts # AgentTool -> ToolDefinition adapter
93
- ├── pi-settings.ts # Settings overrides
94
- ├── pi-extensions/ # Custom pi extensions
95
- │ ├── compaction-safeguard.ts # Safeguard extension
96
- │ ├── compaction-safeguard-runtime.ts
97
- │ ├── context-pruning.ts # Cache-TTL context pruning extension
98
- │ └── context-pruning/
99
- ├── model-auth.ts # Auth profile resolution
100
- ├── auth-profiles.ts # Profile store, cooldown, failover
101
- ├── model-selection.ts # Default model resolution
102
- ├── models-config.ts # models.json generation
103
- ├── model-catalog.ts # Model catalog cache
104
- ├── context-window-guard.ts # Context window validation
105
- ├── failover-error.ts # FailoverError class
106
- ├── defaults.ts # DEFAULT_PROVIDER, DEFAULT_MODEL
107
- ├── system-prompt.ts # buildAgentSystemPrompt()
108
- ├── system-prompt-params.ts # System prompt parameter resolution
109
- ├── system-prompt-report.ts # Debug report generation
110
- ├── tool-summaries.ts # Tool description summaries
111
- ├── tool-policy.ts # Tool policy resolution
112
- ├── transcript-policy.ts # Transcript validation policy
113
- ├── skills.ts # Skill snapshot/prompt building
114
- ├── skills/ # Skill subsystem
115
- ├── sandbox.ts # Sandbox context resolution
116
- ├── sandbox/ # Sandbox subsystem
117
- ├── channel-tools.ts # Channel-specific tool injection
118
- ├── symi-tools.ts # Symi-specific tools
119
- ├── bash-tools.ts # exec/process tools
120
- ├── apply-patch.ts # apply_patch tool (OpenAI)
121
- ├── tools/ # Individual tool implementations
122
- │ ├── browser-tool.ts
123
- │ ├── canvas-tool.ts
124
- │ ├── cron-tool.ts
125
- │ ├── gateway-tool.ts
126
- │ ├── image-tool.ts
127
- │ ├── message-tool.ts
128
- │ ├── nodes-tool.ts
129
- │ ├── session*.ts
130
- │ ├── slack-actions.ts
131
- │ ├── telegram-actions.ts
132
- │ ├── web-*.ts
133
- │ └── whatsapp-actions.ts
134
- └── ...
135
- ```
136
-
137
- ## 核心集成流程
138
-
139
- ### 1. 运行嵌入式智能体
140
-
141
- 主入口点是 `pi-embedded-runner/run.ts` 中的 `runEmbeddedPiAgent()`:
142
-
143
- ```typescript
144
- import { runEmbeddedPiAgent } from "./agents/pi-embedded-runner.js";
145
-
146
- const result = await runEmbeddedPiAgent({
147
- sessionId: "user-123",
148
- sessionKey: "main:whatsapp:+1234567890",
149
- sessionFile: "/path/to/session.jsonl",
150
- workspaceDir: "/path/to/workspace",
151
- config: symiConfig,
152
- prompt: "Hello, how are you?",
153
- provider: "anthropic",
154
- model: "claude-sonnet-4-20250514",
155
- timeoutMs: 120_000,
156
- runId: "run-abc",
157
- onBlockReply: async (payload) => {
158
- await sendToChannel(payload.text, payload.mediaUrls);
159
- },
160
- });
161
- ```
162
-
163
- ### 2. 会话创建
164
-
165
- 在 `runEmbeddedAttempt()`(由 `runEmbeddedPiAgent()` 调用)内部,使用 pi SDK:
166
-
167
- ```typescript
168
- import {
169
- createAgentSession,
170
- DefaultResourceLoader,
171
- SessionManager,
172
- SettingsManager,
173
- } from "@mariozechner/pi-coding-agent";
174
-
175
- const resourceLoader = new DefaultResourceLoader({
176
- cwd: resolvedWorkspace,
177
- agentDir,
178
- settingsManager,
179
- additionalExtensionPaths,
180
- });
181
- await resourceLoader.reload();
182
-
183
- const { session } = await createAgentSession({
184
- cwd: resolvedWorkspace,
185
- agentDir,
186
- authStorage: params.authStorage,
187
- modelRegistry: params.modelRegistry,
188
- model: params.model,
189
- thinkingLevel: mapThinkingLevel(params.thinkLevel),
190
- tools: builtInTools,
191
- customTools: allCustomTools,
192
- sessionManager,
193
- settingsManager,
194
- resourceLoader,
195
- });
196
-
197
- applySystemPromptOverrideToSession(session, systemPromptOverride);
198
- ```
199
-
200
- ### 3. 事件订阅
201
-
202
- `subscribeEmbeddedPiSession()` 订阅 pi 的 `AgentSession` 事件:
203
-
204
- ```typescript
205
- const subscription = subscribeEmbeddedPiSession({
206
- session: activeSession,
207
- runId: params.runId,
208
- verboseLevel: params.verboseLevel,
209
- reasoningMode: params.reasoningLevel,
210
- toolResultFormat: params.toolResultFormat,
211
- onToolResult: params.onToolResult,
212
- onReasoningStream: params.onReasoningStream,
213
- onBlockReply: params.onBlockReply,
214
- onPartialReply: params.onPartialReply,
215
- onAgentEvent: params.onAgentEvent,
216
- });
217
- ```
218
-
219
- 处理的事件包括:
220
-
221
- - `message_start` / `message_end` / `message_update`(流式文本/思考)
222
- - `tool_execution_start` / `tool_execution_update` / `tool_execution_end`
223
- - `turn_start` / `turn_end`
224
- - `agent_start` / `agent_end`
225
- - `auto_compaction_start` / `auto_compaction_end`
226
-
227
- ### 4. 提示
228
-
229
- 设置完成后,会话被提示:
230
-
231
- ```typescript
232
- await session.prompt(effectivePrompt, { images: imageResult.images });
233
- ```
234
-
235
- SDK 处理完整的智能体循环:发送到 LLM、执行工具调用、流式响应。
236
-
237
- ## 工具架构
238
-
239
- ### 工具管道
240
-
241
- 1. **基础工具**:pi 的 `codingTools`(read、bash、edit、write)
242
- 2. **自定义替换**:Symi 将 bash 替换为 `exec`/`process`,为沙箱自定义 read/edit/write
243
- 3. **Symi 工具**:消息、浏览器、画布、会话、定时任务、Gateway 网关等
244
- 4. **策略过滤**:工具按配置文件、提供商、智能体、群组、沙箱策略过滤
245
- 5. **Schema 规范化**:为 Gemini/OpenAI 的特殊情况清理 Schema
246
- 6. **AbortSignal 包装**:工具被包装以尊重中止信号
247
-
248
- ### 工具定义适配器
249
-
250
- pi-agent-core 的 `AgentTool` 与 pi-coding-agent 的 `ToolDefinition` 有不同的 `execute` 签名。`pi-tool-definition-adapter.ts` 中的适配器桥接了这一点:
251
-
252
- ```typescript
253
- export function toToolDefinitions(tools: AnyAgentTool[]): ToolDefinition[] {
254
- return tools.map((tool) => ({
255
- name: tool.name,
256
- label: tool.label ?? name,
257
- description: tool.description ?? "",
258
- parameters: tool.parameters,
259
- execute: async (toolCallId, params, onUpdate, _ctx, signal) => {
260
- // pi-coding-agent signature differs from pi-agent-core
261
- return await tool.execute(toolCallId, params, signal, onUpdate);
262
- },
263
- }));
264
- }
265
- ```
266
-
267
- ### 工具拆分策略
268
-
269
- `splitSdkTools()` 通过 `customTools` 传递所有工具:
270
-
271
- ```typescript
272
- export function splitSdkTools(options: { tools: AnyAgentTool[]; sandboxEnabled: boolean }) {
273
- return {
274
- builtInTools: [], // Empty. We override everything
275
- customTools: toToolDefinitions(options.tools),
276
- };
277
- }
278
- ```
279
-
280
- 这确保 Symi 的策略过滤、沙箱集成和扩展工具集在各提供商之间保持一致。
281
-
282
- ## 系统提示构建
283
-
284
- 系统提示在 `buildAgentSystemPrompt()`(`system-prompt.ts`)中构建。它组装一个完整的提示,包含工具、工具调用风格、安全护栏、Symi CLI 参考、Skills、文档、工作区、沙箱、消息、回复标签、语音、静默回复、心跳、运行时元数据等部分,以及启用时的记忆和反应,还有可选的上下文文件和额外系统提示内容。部分内容在子智能体使用的最小提示模式下会被裁剪。
285
-
286
- 提示在会话创建后通过 `applySystemPromptOverrideToSession()` 应用:
287
-
288
- ```typescript
289
- const systemPromptOverride = createSystemPromptOverride(appendPrompt);
290
- applySystemPromptOverrideToSession(session, systemPromptOverride);
291
- ```
292
-
293
- ## 会话管理
294
-
295
- ### 会话文件
296
-
297
- 会话是具有树结构(id/parentId 链接)的 JSONL 文件。Pi 的 `SessionManager` 处理持久化:
298
-
299
- ```typescript
300
- const sessionManager = SessionManager.open(params.sessionFile);
301
- ```
302
-
303
- Symi 用 `guardSessionManager()` 包装它以确保工具结果安全。
304
-
305
- ### 会话缓存
306
-
307
- `session-manager-cache.ts` 缓存 SessionManager 实例以避免重复的文件解析:
308
-
309
- ```typescript
310
- await prewarmSessionFile(params.sessionFile);
311
- sessionManager = SessionManager.open(params.sessionFile);
312
- trackSessionManagerAccess(params.sessionFile);
313
- ```
314
-
315
- ### 历史限制
316
-
317
- `limitHistoryTurns()` 根据渠道类型(私信 vs 群组)裁剪对话历史。
318
-
319
- ### 压缩
320
-
321
- 自动压缩在上下文溢出时触发。`compactEmbeddedPiSessionDirect()` 处理手动压缩:
322
-
323
- ```typescript
324
- const compactResult = await compactEmbeddedPiSessionDirect({
325
- sessionId, sessionFile, provider, model, ...
326
- });
327
- ```
328
-
329
- ## 认证与模型解析
330
-
331
- ### 认证配置文件
332
-
333
- Symi 维护一个认证配置文件存储,每个提供商有多个 API 密钥:
334
-
335
- ```typescript
336
- const authStore = ensureAuthProfileStore(agentDir, { allowKeychainPrompt: false });
337
- const profileOrder = resolveAuthProfileOrder({ cfg, store: authStore, provider, preferredProfile });
338
- ```
339
-
340
- 配置文件在失败时轮换,并带有冷却跟踪:
341
-
342
- ```typescript
343
- await markAuthProfileFailure({ store, profileId, reason, cfg, agentDir });
344
- const rotated = await advanceAuthProfile();
345
- ```
346
-
347
- ### 模型解析
348
-
349
- ```typescript
350
- import { resolveModel } from "./pi-embedded-runner/model.js";
351
-
352
- const { model, error, authStorage, modelRegistry } = resolveModel(
353
- provider,
354
- modelId,
355
- agentDir,
356
- config,
357
- );
358
-
359
- // Uses pi's ModelRegistry and AuthStorage
360
- authStorage.setRuntimeApiKey(model.provider, apiKeyInfo.apiKey);
361
- ```
362
-
363
- ### 故障转移
364
-
365
- `FailoverError` 在配置了回退时触发模型回退:
366
-
367
- ```typescript
368
- if (fallbackConfigured && isFailoverErrorMessage(errorText)) {
369
- throw new FailoverError(errorText, {
370
- reason: promptFailoverReason ?? "unknown",
371
- provider,
372
- model: modelId,
373
- profileId,
374
- status: resolveFailoverStatus(promptFailoverReason),
375
- });
376
- }
377
- ```
378
-
379
- ## Pi 扩展
380
-
381
- Symi 加载自定义 pi 扩展以实现特殊行为:
382
-
383
- ### 压缩安全护栏
384
-
385
- `pi-extensions/compaction-safeguard.ts` 为压缩添加护栏,包括自适应令牌预算以及工具失败和文件操作摘要:
386
-
387
- ```typescript
388
- if (resolveCompactionMode(params.cfg) === "safeguard") {
389
- setCompactionSafeguardRuntime(params.sessionManager, { maxHistoryShare });
390
- paths.push(resolvePiExtensionPath("compaction-safeguard"));
391
- }
392
- ```
393
-
394
- ### 上下文裁剪
395
-
396
- `pi-extensions/context-pruning.ts` 实现基于缓存 TTL 的上下文裁剪:
397
-
398
- ```typescript
399
- if (cfg?.agents?.defaults?.contextPruning?.mode === "cache-ttl") {
400
- setContextPruningRuntime(params.sessionManager, {
401
- settings,
402
- contextWindowTokens,
403
- isToolPrunable,
404
- lastCacheTouchAt,
405
- });
406
- paths.push(resolvePiExtensionPath("context-pruning"));
407
- }
408
- ```
409
-
410
- ## 流式传输与块回复
411
-
412
- ### 块分块
413
-
414
- `EmbeddedBlockChunker` 管理将流式文本分成离散的回复块:
415
-
416
- ```typescript
417
- const blockChunker = blockChunking ? new EmbeddedBlockChunker(blockChunking) : null;
418
- ```
419
-
420
- ### 思考/最终标签剥离
421
-
422
- 流式输出被处理以剥离 `<think>`/`<thinking>` 块并提取 `<final>` 内容:
423
-
424
- ```typescript
425
- const stripBlockTags = (text: string, state: { thinking: boolean; final: boolean }) => {
426
- // Strip <think>...</think> content
427
- // If enforceFinalTag, only return <final>...</final> content
428
- };
429
- ```
430
-
431
- ### 回复指令
432
-
433
- 回复指令如 `[[media:url]]`、`[[voice]]`、`[[reply:id]]` 被解析和提取:
434
-
435
- ```typescript
436
- const { text: cleanedText, mediaUrls, audioAsVoice, replyToId } = consumeReplyDirectives(chunk);
437
- ```
438
-
439
- ## 错误处理
440
-
441
- ### 错误分类
442
-
443
- `pi-embedded-helpers.ts` 对错误进行分类以进行适当处理:
444
-
445
- ```typescript
446
- isContextOverflowError(errorText) // Context too large
447
- isCompactionFailureError(errorText) // Compaction failed
448
- isAuthAssistantError(lastAssistant) // Auth failure
449
- isRateLimitAssistantError(...) // Rate limited
450
- isFailoverAssistantError(...) // Should failover
451
- classifyFailoverReason(errorText) // "auth" | "rate_limit" | "quota" | "timeout" | ...
452
- ```
453
-
454
- ### 思考级别回退
455
-
456
- 如果思考级别不受支持,它会回退:
457
-
458
- ```typescript
459
- const fallbackThinking = pickFallbackThinkingLevel({
460
- message: errorText,
461
- attempted: attemptedThinking,
462
- });
463
- if (fallbackThinking) {
464
- thinkLevel = fallbackThinking;
465
- continue;
466
- }
467
- ```
468
-
469
- ## 沙箱集成
470
-
471
- 当启用沙箱模式时,工具和路径受到约束:
472
-
473
- ```typescript
474
- const sandbox = await resolveSandboxContext({
475
- config: params.config,
476
- sessionKey: sandboxSessionKey,
477
- workspaceDir: resolvedWorkspace,
478
- });
479
-
480
- if (sandboxRoot) {
481
- // Use sandboxed read/edit/write tools
482
- // Exec runs in container
483
- // Browser uses bridge URL
484
- }
485
- ```
486
-
487
- ## 提供商特定处理
488
-
489
- ### Anthropic
490
-
491
- - 拒绝魔术字符串清除
492
- - 连续角色的回合验证
493
- - Claude Code 参数兼容性
494
-
495
- ### Google/Gemini
496
-
497
- - 回合排序修复(`applyGoogleTurnOrderingFix`)
498
- - 工具 schema 清理(`sanitizeToolsForGoogle`)
499
- - 会话历史清理(`sanitizeSessionHistory`)
500
-
501
- ### OpenAI
502
-
503
- - Codex 模型的 `apply_patch` 工具
504
- - 思考级别降级处理
505
-
506
- ## TUI 集成
507
-
508
- Symi 还有一个本地 TUI 模式,直接使用 pi-tui 组件:
509
-
510
- ```typescript
511
- // src/tui/tui.ts
512
- import { ... } from "@mariozechner/pi-tui";
513
- ```
514
-
515
- 这提供了与 pi 原生模式类似的交互式终端体验。
516
-
517
- ## 与 Pi CLI 的主要区别
518
-
519
- | 方面 | Pi CLI | Symi 嵌入式 |
520
- | -------- | ----------------------- | --------------------------------------------------------------------------------------- |
521
- | 调用方式 | `pi` 命令 / RPC | 通过 `createAgentSession()` 的 SDK |
522
- | 工具 | 默认编码工具 | 自定义 Symi 工具套件 |
523
- | 系统提示 | AGENTS.md + prompts | 按渠道/上下文动态生成 |
524
- | 会话存储 | `~/.pi/agent/sessions/` | `~/.symi/agents/<agentId>/sessions/`(或 `$SYMI_STATE_DIR/agents/<agentId>/sessions/`) |
525
- | 认证 | 单一凭证 | 带轮换的多配置文件 |
526
- | 扩展 | 从磁盘加载 | 编程方式 + 磁盘路径 |
527
- | 事件处理 | TUI 渲染 | 基于回调(onBlockReply 等) |
528
-
529
- ## 未来考虑
530
-
531
- 可能需要重构的领域:
532
-
533
- 1. **工具签名对齐**:目前在 pi-agent-core 和 pi-coding-agent 签名之间适配
534
- 2. **会话管理器包装**:`guardSessionManager` 增加了安全性但增加了复杂性
535
- 3. **扩展加载**:可以更直接地使用 pi 的 `ResourceLoader`
536
- 4. **流式处理器复杂性**:`subscribeEmbeddedPiSession` 已经变得很大
537
- 5. **提供商特殊情况**:许多提供商特定的代码路径,pi 可能可以处理
538
-
539
- ## 测试
540
-
541
- 所有涵盖 pi 集成及其扩展的现有测试:
542
-
543
- - `src/agents/pi-embedded-block-chunker.test.ts`
544
- - `src/agents/pi-embedded-helpers.buildbootstrapcontextfiles.test.ts`
545
- - `src/agents/pi-embedded-helpers.classifyfailoverreason.test.ts`
546
- - `src/agents/pi-embedded-helpers.downgradeopenai-reasoning.test.ts`
547
- - `src/agents/pi-embedded-helpers.formatassistanterrortext.test.ts`
548
- - `src/agents/pi-embedded-helpers.formatrawassistanterrorforui.test.ts`
549
- - `src/agents/pi-embedded-helpers.image-dimension-error.test.ts`
550
- - `src/agents/pi-embedded-helpers.image-size-error.test.ts`
551
- - `src/agents/pi-embedded-helpers.isautherrormessage.test.ts`
552
- - `src/agents/pi-embedded-helpers.isbillingerrormessage.test.ts`
553
- - `src/agents/pi-embedded-helpers.iscloudcodeassistformaterror.test.ts`
554
- - `src/agents/pi-embedded-helpers.iscompactionfailureerror.test.ts`
555
- - `src/agents/pi-embedded-helpers.iscontextoverflowerror.test.ts`
556
- - `src/agents/pi-embedded-helpers.isfailovererrormessage.test.ts`
557
- - `src/agents/pi-embedded-helpers.islikelycontextoverflowerror.test.ts`
558
- - `src/agents/pi-embedded-helpers.ismessagingtoolduplicate.test.ts`
559
- - `src/agents/pi-embedded-helpers.messaging-duplicate.test.ts`
560
- - `src/agents/pi-embedded-helpers.normalizetextforcomparison.test.ts`
561
- - `src/agents/pi-embedded-helpers.resolvebootstrapmaxchars.test.ts`
562
- - `src/agents/pi-embedded-helpers.sanitize-session-messages-images.keeps-tool-call-tool-result-ids-unchanged.test.ts`
563
- - `src/agents/pi-embedded-helpers.sanitize-session-messages-images.removes-empty-assistant-text-blocks-but-preserves.test.ts`
564
- - `src/agents/pi-embedded-helpers.sanitizegoogleturnordering.test.ts`
565
- - `src/agents/pi-embedded-helpers.sanitizesessionmessagesimages-thought-signature-stripping.test.ts`
566
- - `src/agents/pi-embedded-helpers.sanitizetoolcallid.test.ts`
567
- - `src/agents/pi-embedded-helpers.sanitizeuserfacingtext.test.ts`
568
- - `src/agents/pi-embedded-helpers.stripthoughtsignatures.test.ts`
569
- - `src/agents/pi-embedded-helpers.validate-turns.test.ts`
570
- - `src/agents/pi-embedded-runner-extraparams.live.test.ts`(实时)
571
- - `src/agents/pi-embedded-runner-extraparams.test.ts`
572
- - `src/agents/pi-embedded-runner.applygoogleturnorderingfix.test.ts`
573
- - `src/agents/pi-embedded-runner.buildembeddedsandboxinfo.test.ts`
574
- - `src/agents/pi-embedded-runner.createsystempromptoverride.test.ts`
575
- - `src/agents/pi-embedded-runner.get-dm-history-limit-from-session-key.falls-back-provider-default-per-dm-not.test.ts`
576
- - `src/agents/pi-embedded-runner.get-dm-history-limit-from-session-key.returns-undefined-sessionkey-is-undefined.test.ts`
577
- - `src/agents/pi-embedded-runner.google-sanitize-thinking.test.ts`
578
- - `src/agents/pi-embedded-runner.guard.test.ts`
579
- - `src/agents/pi-embedded-runner.limithistoryturns.test.ts`
580
- - `src/agents/pi-embedded-runner.resolvesessionagentids.test.ts`
581
- - `src/agents/pi-embedded-runner.run-embedded-pi-agent.auth-profile-rotation.test.ts`
582
- - `src/agents/pi-embedded-runner.sanitize-session-history.test.ts`
583
- - `src/agents/pi-embedded-runner.splitsdktools.test.ts`
584
- - `src/agents/pi-embedded-runner.test.ts`
585
- - `src/agents/pi-embedded-subscribe.code-span-awareness.test.ts`
586
- - `src/agents/pi-embedded-subscribe.reply-tags.test.ts`
587
- - `src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.calls-onblockreplyflush-before-tool-execution-start-preserve.test.ts`
588
- - `src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-append-text-end-content-is.test.ts`
589
- - `src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-call-onblockreplyflush-callback-is-not.test.ts`
590
- - `src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-duplicate-text-end-repeats-full.test.ts`
591
- - `src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-emit-duplicate-block-replies-text.test.ts`
592
- - `src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.emits-block-replies-text-end-does-not.test.ts`
593
- - `src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.emits-reasoning-as-separate-message-enabled.test.ts`
594
- - `src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.filters-final-suppresses-output-without-start-tag.test.ts`
595
- - `src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.includes-canvas-action-metadata-tool-summaries.test.ts`
596
- - `src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.keeps-assistanttexts-final-answer-block-replies-are.test.ts`
597
- - `src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.keeps-indented-fenced-blocks-intact.test.ts`
598
- - `src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.reopens-fenced-blocks-splitting-inside-them.test.ts`
599
- - `src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.splits-long-single-line-fenced-blocks-reopen.test.ts`
600
- - `src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.streams-soft-chunks-paragraph-preference.test.ts`
601
- - `src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.subscribeembeddedpisession.test.ts`
602
- - `src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.suppresses-message-end-block-replies-message-tool.test.ts`
603
- - `src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.waits-multiple-compaction-retries-before-resolving.test.ts`
604
- - `src/agents/pi-embedded-subscribe.tools.test.ts`
605
- - `src/agents/pi-embedded-utils.test.ts`
606
- - `src/agents/pi-extensions/compaction-safeguard.test.ts`
607
- - `src/agents/pi-extensions/context-pruning.test.ts`
608
- - `src/agents/pi-settings.test.ts`
609
- - `src/agents/pi-tool-definition-adapter.test.ts`
610
- - `src/agents/pi-tools-agent-config.test.ts`
611
- - `src/agents/pi-tools.create-symi-coding-tools.adds-claude-style-aliases-schemas-without-dropping-b.test.ts`
612
- - `src/agents/pi-tools.create-symi-coding-tools.adds-claude-style-aliases-schemas-without-dropping-d.test.ts`
613
- - `src/agents/pi-tools.create-symi-coding-tools.adds-claude-style-aliases-schemas-without-dropping-f.test.ts`
614
- - `src/agents/pi-tools.create-symi-coding-tools.adds-claude-style-aliases-schemas-without-dropping.test.ts`
615
- - `src/agents/pi-tools.policy.test.ts`
616
- - `src/agents/pi-tools.safe-bins.test.ts`
617
- - `src/agents/pi-tools.workspace-paths.test.ts`