@agent-native/core 0.79.12 → 0.79.15

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 (285) hide show
  1. package/corpus/README.md +2 -2
  2. package/corpus/core/CHANGELOG.md +19 -0
  3. package/corpus/core/docs/content/locales/zh-TW/a2a-protocol.md +68 -68
  4. package/corpus/core/docs/content/locales/zh-TW/actions.md +82 -82
  5. package/corpus/core/docs/content/locales/zh-TW/agent-mentions.md +22 -22
  6. package/corpus/core/docs/content/locales/zh-TW/agent-surfaces.md +82 -82
  7. package/corpus/core/docs/content/locales/zh-TW/agent-teams.md +29 -29
  8. package/corpus/core/docs/content/locales/zh-TW/agent-web-surfaces.md +11 -11
  9. package/corpus/core/docs/content/locales/zh-TW/audit-log.md +16 -16
  10. package/corpus/core/docs/content/locales/zh-TW/authentication.md +32 -32
  11. package/corpus/core/docs/content/locales/zh-TW/automations.md +32 -32
  12. package/corpus/core/docs/content/locales/zh-TW/blueprint-installer.md +19 -19
  13. package/corpus/core/docs/content/locales/zh-TW/cli-adapters.md +17 -17
  14. package/corpus/core/docs/content/locales/zh-TW/client.md +62 -62
  15. package/corpus/core/docs/content/locales/zh-TW/cloneable-saas.md +32 -32
  16. package/corpus/core/docs/content/locales/zh-TW/code-agents-ui.md +91 -91
  17. package/corpus/core/docs/content/locales/zh-TW/components.md +51 -51
  18. package/corpus/core/docs/content/locales/zh-TW/context-awareness.md +66 -66
  19. package/corpus/core/docs/content/locales/zh-TW/creating-templates.md +39 -39
  20. package/corpus/core/docs/content/locales/zh-TW/cross-app-sso.md +29 -29
  21. package/corpus/core/docs/content/locales/zh-TW/database.md +21 -21
  22. package/corpus/core/docs/content/locales/zh-TW/deployment.md +37 -37
  23. package/corpus/core/docs/content/locales/zh-TW/dispatch.md +43 -43
  24. package/corpus/core/docs/content/locales/zh-TW/drop-in-agent.md +34 -34
  25. package/corpus/core/docs/content/locales/zh-TW/durable-resume.md +18 -18
  26. package/corpus/core/docs/content/locales/zh-TW/embedding-sdk.md +73 -73
  27. package/corpus/core/docs/content/locales/zh-TW/evals.md +16 -16
  28. package/corpus/core/docs/content/locales/zh-TW/extensions.md +81 -81
  29. package/corpus/core/docs/content/locales/zh-TW/external-agents.md +146 -146
  30. package/corpus/core/docs/content/locales/zh-TW/faq.md +43 -43
  31. package/corpus/core/docs/content/locales/zh-TW/file-uploads.md +11 -11
  32. package/corpus/core/docs/content/locales/zh-TW/frames.md +33 -33
  33. package/corpus/core/docs/content/locales/zh-TW/getting-started.md +28 -28
  34. package/corpus/core/docs/content/locales/zh-TW/harness-agents.md +78 -78
  35. package/corpus/core/docs/content/locales/zh-TW/human-approval.md +27 -27
  36. package/corpus/core/docs/content/locales/zh-TW/internationalization.md +19 -19
  37. package/corpus/core/docs/content/locales/zh-TW/key-concepts.md +68 -68
  38. package/corpus/core/docs/content/locales/zh-TW/local-file-mode.md +50 -50
  39. package/corpus/core/docs/content/locales/zh-TW/mcp-apps.md +38 -38
  40. package/corpus/core/docs/content/locales/zh-TW/mcp-clients.md +67 -67
  41. package/corpus/core/docs/content/locales/zh-TW/mcp-protocol.md +50 -50
  42. package/corpus/core/docs/content/locales/zh-TW/messaging.md +99 -99
  43. package/corpus/core/docs/content/locales/zh-TW/migration-workbench.md +6 -6
  44. package/corpus/core/docs/content/locales/zh-TW/multi-app-workspace.md +39 -39
  45. package/corpus/core/docs/content/locales/zh-TW/multi-tenancy.md +7 -7
  46. package/corpus/core/docs/content/locales/zh-TW/native-chat-ui.md +38 -38
  47. package/corpus/core/docs/content/locales/zh-TW/notifications.md +23 -23
  48. package/corpus/core/docs/content/locales/zh-TW/observability.md +49 -49
  49. package/corpus/core/docs/content/locales/zh-TW/observational-memory.md +23 -23
  50. package/corpus/core/docs/content/locales/zh-TW/onboarding.md +40 -40
  51. package/corpus/core/docs/content/locales/zh-TW/plan-plugin.md +37 -37
  52. package/corpus/core/docs/content/locales/zh-TW/pr-visual-recap.md +72 -72
  53. package/corpus/core/docs/content/locales/zh-TW/processors.md +17 -17
  54. package/corpus/core/docs/content/locales/zh-TW/progress.md +15 -15
  55. package/corpus/core/docs/content/locales/zh-TW/pure-agent-apps.md +10 -10
  56. package/corpus/core/docs/content/locales/zh-TW/real-time-collaboration.md +103 -103
  57. package/corpus/core/docs/content/locales/zh-TW/recurring-jobs.md +19 -19
  58. package/corpus/core/docs/content/locales/zh-TW/routing.md +9 -9
  59. package/corpus/core/docs/content/locales/zh-TW/sandbox-adapters.md +48 -48
  60. package/corpus/core/docs/content/locales/zh-TW/security.md +49 -49
  61. package/corpus/core/docs/content/locales/zh-TW/server.md +47 -47
  62. package/corpus/core/docs/content/locales/zh-TW/sharing.md +22 -22
  63. package/corpus/core/docs/content/locales/zh-TW/skills-guide.md +46 -46
  64. package/corpus/core/docs/content/locales/zh-TW/template-analytics.md +40 -40
  65. package/corpus/core/docs/content/locales/zh-TW/template-assets.md +69 -69
  66. package/corpus/core/docs/content/locales/zh-TW/template-brain.md +81 -81
  67. package/corpus/core/docs/content/locales/zh-TW/template-calendar.md +40 -40
  68. package/corpus/core/docs/content/locales/zh-TW/template-chat.md +27 -27
  69. package/corpus/core/docs/content/locales/zh-TW/template-clips.md +85 -85
  70. package/corpus/core/docs/content/locales/zh-TW/template-content.md +65 -66
  71. package/corpus/core/docs/content/locales/zh-TW/template-design.md +29 -29
  72. package/corpus/core/docs/content/locales/zh-TW/template-dispatch.md +51 -51
  73. package/corpus/core/docs/content/locales/zh-TW/template-forms.md +25 -25
  74. package/corpus/core/docs/content/locales/zh-TW/template-mail.md +71 -71
  75. package/corpus/core/docs/content/locales/zh-TW/template-plan.md +92 -92
  76. package/corpus/core/docs/content/locales/zh-TW/template-slides.md +52 -52
  77. package/corpus/core/docs/content/locales/zh-TW/template-videos.md +30 -30
  78. package/corpus/core/docs/content/locales/zh-TW/tracking.md +29 -29
  79. package/corpus/core/docs/content/locales/zh-TW/using-your-agent.md +18 -18
  80. package/corpus/core/docs/content/locales/zh-TW/voice-input.md +19 -19
  81. package/corpus/core/docs/content/locales/zh-TW/what-is-agent-native.md +61 -61
  82. package/corpus/core/docs/content/locales/zh-TW/workspace-connections.md +41 -41
  83. package/corpus/core/docs/content/locales/zh-TW/workspace-management.md +27 -27
  84. package/corpus/core/docs/content/locales/zh-TW/workspace.md +58 -58
  85. package/corpus/core/docs/content/locales/zh-TW/writing-agent-instructions.md +41 -41
  86. package/corpus/core/docs/content/template-clips.md +48 -2
  87. package/corpus/core/package.json +2 -1
  88. package/corpus/core/src/client/AgentPanel.tsx +27 -3
  89. package/corpus/core/src/deploy/build.ts +417 -42
  90. package/corpus/core/src/deploy/route-discovery.ts +1 -1
  91. package/corpus/core/src/server/edge.ts +50 -0
  92. package/corpus/core/src/styles/agent-native.css +93 -0
  93. package/corpus/core/src/templates/default/app/i18n/zh-TW.ts +44 -44
  94. package/corpus/core/src/vite/client.ts +1 -0
  95. package/corpus/templates/analytics/app/components/layout/Layout.tsx +5 -3
  96. package/corpus/templates/analytics/app/i18n/zh-TW.ts +69 -70
  97. package/corpus/templates/analytics/changelog/2026-06-27-traditional-chinese-copy-uses-taiwan-terminology.md +6 -0
  98. package/corpus/templates/assets/app/components/layout/Layout.tsx +3 -3
  99. package/corpus/templates/assets/app/i18n/zh-TW.ts +82 -82
  100. package/corpus/templates/assets/changelog/2026-06-27-traditional-chinese-copy-uses-taiwan-terminology.md +6 -0
  101. package/corpus/templates/brain/app/components/layout/Layout.tsx +6 -4
  102. package/corpus/templates/brain/app/i18n/zh-TW.ts +90 -90
  103. package/corpus/templates/brain/changelog/2026-06-27-traditional-chinese-copy-uses-taiwan-terminology.md +6 -0
  104. package/corpus/templates/calendar/app/components/layout/AppLayout.tsx +1 -1
  105. package/corpus/templates/calendar/app/components/layout/Sidebar.tsx +1 -1
  106. package/corpus/templates/calendar/app/i18n/zh-TW.ts +57 -57
  107. package/corpus/templates/calendar/changelog/2026-06-27-traditional-chinese-copy-uses-taiwan-terminology.md +6 -0
  108. package/corpus/templates/calendar/server/lib/booking-og-fonts.ts +20 -6
  109. package/corpus/templates/calendar/server/lib/booking-og-image.ts +17 -9
  110. package/corpus/templates/chat/app/components/layout/Layout.tsx +5 -3
  111. package/corpus/templates/chat/app/i18n/zh-TW.ts +3 -3
  112. package/corpus/templates/chat/changelog/2026-06-27-traditional-chinese-copy-uses-taiwan-terminology.md +6 -0
  113. package/corpus/templates/clips/AGENTS.md +6 -0
  114. package/corpus/templates/clips/actions/delete-recording-permanent.ts +7 -1
  115. package/corpus/templates/clips/actions/get-recording-player-data.ts +44 -2
  116. package/corpus/templates/clips/actions/navigate.ts +2 -0
  117. package/corpus/templates/clips/actions/save-bug-report-context.ts +173 -0
  118. package/corpus/templates/clips/actions/view-screen.ts +58 -7
  119. package/corpus/templates/clips/app/components/recorder/storage-setup-card.tsx +9 -3
  120. package/corpus/templates/clips/app/hooks/use-navigation-state.ts +17 -0
  121. package/corpus/templates/clips/app/i18n/ar-SA.ts +31 -0
  122. package/corpus/templates/clips/app/i18n/de-DE.ts +32 -0
  123. package/corpus/templates/clips/app/i18n/en-US.ts +32 -0
  124. package/corpus/templates/clips/app/i18n/es-ES.ts +32 -0
  125. package/corpus/templates/clips/app/i18n/fr-FR.ts +32 -0
  126. package/corpus/templates/clips/app/i18n/hi-IN.ts +32 -0
  127. package/corpus/templates/clips/app/i18n/ja-JP.ts +31 -0
  128. package/corpus/templates/clips/app/i18n/ko-KR.ts +32 -0
  129. package/corpus/templates/clips/app/i18n/pt-BR.ts +32 -0
  130. package/corpus/templates/clips/app/i18n/zh-CN.ts +30 -0
  131. package/corpus/templates/clips/app/i18n/zh-TW.ts +461 -451
  132. package/corpus/templates/clips/app/routes/bug-report.done.tsx +126 -0
  133. package/corpus/templates/clips/app/routes/bug-report.tsx +222 -0
  134. package/corpus/templates/clips/app/routes/record.tsx +104 -12
  135. package/corpus/templates/clips/changelog/2026-06-26-brief-network-blips-no-longer-block-recording-or-wrongly-pro.md +6 -0
  136. package/corpus/templates/clips/changelog/2026-06-26-bug-report-recordings-can-keep-redacted-host-app-context-wit.md +6 -0
  137. package/corpus/templates/clips/changelog/2026-06-26-bug-report-widgets-can-launch-clips-recordings-from-embedded.md +6 -0
  138. package/corpus/templates/clips/changelog/2026-06-26-desktop-recording-keeps-connected-users-out-of-the-storage-s.md +6 -0
  139. package/corpus/templates/clips/changelog/2026-06-26-if-a-recording-can-t-be-uploaded-the-chrome-extension-now-sa.md +6 -0
  140. package/corpus/templates/clips/changelog/2026-06-27-traditional-chinese-copy-uses-taiwan-terminology.md +6 -0
  141. package/corpus/templates/clips/chrome-extension/public/manifest.json +9 -2
  142. package/corpus/templates/clips/chrome-extension/src/background.ts +43 -0
  143. package/corpus/templates/clips/chrome-extension/src/offscreen.ts +111 -6
  144. package/corpus/templates/clips/chrome-extension/src/popup.ts +18 -7
  145. package/corpus/templates/clips/desktop/src/app.tsx +53 -19
  146. package/corpus/templates/clips/server/db/schema.ts +26 -0
  147. package/corpus/templates/clips/server/lib/public-agent-context.ts +51 -0
  148. package/corpus/templates/clips/server/plugins/auth.ts +1 -0
  149. package/corpus/templates/clips/server/plugins/db.ts +28 -0
  150. package/corpus/templates/clips/server/routes/api/agent-context.json.get.ts +4 -1
  151. package/corpus/templates/clips/shared/bug-report.ts +161 -0
  152. package/corpus/templates/content/app/components/layout/Layout.tsx +10 -8
  153. package/corpus/templates/content/app/components/sidebar/DocumentSidebar.tsx +1 -1
  154. package/corpus/templates/content/app/i18n/zh-TW.ts +67 -66
  155. package/corpus/templates/content/changelog/2026-06-27-traditional-chinese-copy-uses-taiwan-terminology.md +6 -0
  156. package/corpus/templates/design/app/components/layout/Layout.tsx +3 -3
  157. package/corpus/templates/design/app/i18n/zh-TW.ts +44 -44
  158. package/corpus/templates/design/changelog/2026-06-27-traditional-chinese-copy-uses-taiwan-terminology.md +6 -0
  159. package/corpus/templates/dispatch/app/i18n/zh-TW.ts +5 -4
  160. package/corpus/templates/dispatch/changelog/2026-06-27-traditional-chinese-copy-uses-taiwan-terminology.md +6 -0
  161. package/corpus/templates/forms/app/components/layout/Layout.tsx +4 -2
  162. package/corpus/templates/forms/app/components/layout/Sidebar.tsx +1 -1
  163. package/corpus/templates/forms/app/i18n/zh-TW.ts +48 -48
  164. package/corpus/templates/forms/changelog/2026-06-27-traditional-chinese-copy-uses-taiwan-terminology.md +6 -0
  165. package/corpus/templates/macros/app/components/layout/AppLayout.tsx +3 -3
  166. package/corpus/templates/macros/app/i18n/zh-TW.ts +5 -5
  167. package/corpus/templates/macros/changelog/2026-06-27-traditional-chinese-copy-uses-taiwan-terminology.md +6 -0
  168. package/corpus/templates/mail/app/i18n/zh-TW.ts +83 -83
  169. package/corpus/templates/mail/changelog/2026-06-27-traditional-chinese-copy-uses-taiwan-terminology.md +6 -0
  170. package/corpus/templates/plan/app/components/layout/Layout.tsx +5 -3
  171. package/corpus/templates/plan/app/i18n/zh-TW.ts +69 -69
  172. package/corpus/templates/plan/changelog/2026-06-27-traditional-chinese-copy-uses-taiwan-terminology.md +6 -0
  173. package/corpus/templates/slides/app/components/layout/Layout.tsx +3 -3
  174. package/corpus/templates/slides/app/i18n/zh-TW.ts +64 -64
  175. package/corpus/templates/slides/changelog/2026-06-27-traditional-chinese-copy-uses-taiwan-terminology.md +6 -0
  176. package/corpus/templates/videos/app/components/layout/Layout.tsx +2 -2
  177. package/corpus/templates/videos/app/i18n/zh-TW.ts +54 -54
  178. package/corpus/templates/videos/changelog/2026-06-27-traditional-chinese-copy-uses-taiwan-terminology.md +6 -0
  179. package/dist/client/AgentPanel.d.ts.map +1 -1
  180. package/dist/client/AgentPanel.js +14 -4
  181. package/dist/client/AgentPanel.js.map +1 -1
  182. package/dist/collab/routes.d.ts +1 -1
  183. package/dist/deploy/build.d.ts +3 -1
  184. package/dist/deploy/build.d.ts.map +1 -1
  185. package/dist/deploy/build.js +361 -37
  186. package/dist/deploy/build.js.map +1 -1
  187. package/dist/deploy/route-discovery.d.ts +1 -1
  188. package/dist/deploy/route-discovery.js +1 -1
  189. package/dist/deploy/route-discovery.js.map +1 -1
  190. package/dist/resources/handlers.d.ts +2 -2
  191. package/dist/server/edge.d.ts +11 -0
  192. package/dist/server/edge.d.ts.map +1 -0
  193. package/dist/server/edge.js +11 -0
  194. package/dist/server/edge.js.map +1 -0
  195. package/dist/styles/agent-native.css +93 -0
  196. package/dist/templates/default/app/i18n/zh-TW.ts +44 -44
  197. package/dist/vite/client.d.ts.map +1 -1
  198. package/dist/vite/client.js +1 -0
  199. package/dist/vite/client.js.map +1 -1
  200. package/docs/content/locales/zh-TW/a2a-protocol.md +68 -68
  201. package/docs/content/locales/zh-TW/actions.md +82 -82
  202. package/docs/content/locales/zh-TW/agent-mentions.md +22 -22
  203. package/docs/content/locales/zh-TW/agent-surfaces.md +82 -82
  204. package/docs/content/locales/zh-TW/agent-teams.md +29 -29
  205. package/docs/content/locales/zh-TW/agent-web-surfaces.md +11 -11
  206. package/docs/content/locales/zh-TW/audit-log.md +16 -16
  207. package/docs/content/locales/zh-TW/authentication.md +32 -32
  208. package/docs/content/locales/zh-TW/automations.md +32 -32
  209. package/docs/content/locales/zh-TW/blueprint-installer.md +19 -19
  210. package/docs/content/locales/zh-TW/cli-adapters.md +17 -17
  211. package/docs/content/locales/zh-TW/client.md +62 -62
  212. package/docs/content/locales/zh-TW/cloneable-saas.md +32 -32
  213. package/docs/content/locales/zh-TW/code-agents-ui.md +91 -91
  214. package/docs/content/locales/zh-TW/components.md +51 -51
  215. package/docs/content/locales/zh-TW/context-awareness.md +66 -66
  216. package/docs/content/locales/zh-TW/creating-templates.md +39 -39
  217. package/docs/content/locales/zh-TW/cross-app-sso.md +29 -29
  218. package/docs/content/locales/zh-TW/database.md +21 -21
  219. package/docs/content/locales/zh-TW/deployment.md +37 -37
  220. package/docs/content/locales/zh-TW/dispatch.md +43 -43
  221. package/docs/content/locales/zh-TW/drop-in-agent.md +34 -34
  222. package/docs/content/locales/zh-TW/durable-resume.md +18 -18
  223. package/docs/content/locales/zh-TW/embedding-sdk.md +73 -73
  224. package/docs/content/locales/zh-TW/evals.md +16 -16
  225. package/docs/content/locales/zh-TW/extensions.md +81 -81
  226. package/docs/content/locales/zh-TW/external-agents.md +146 -146
  227. package/docs/content/locales/zh-TW/faq.md +43 -43
  228. package/docs/content/locales/zh-TW/file-uploads.md +11 -11
  229. package/docs/content/locales/zh-TW/frames.md +33 -33
  230. package/docs/content/locales/zh-TW/getting-started.md +28 -28
  231. package/docs/content/locales/zh-TW/harness-agents.md +78 -78
  232. package/docs/content/locales/zh-TW/human-approval.md +27 -27
  233. package/docs/content/locales/zh-TW/internationalization.md +19 -19
  234. package/docs/content/locales/zh-TW/key-concepts.md +68 -68
  235. package/docs/content/locales/zh-TW/local-file-mode.md +50 -50
  236. package/docs/content/locales/zh-TW/mcp-apps.md +38 -38
  237. package/docs/content/locales/zh-TW/mcp-clients.md +67 -67
  238. package/docs/content/locales/zh-TW/mcp-protocol.md +50 -50
  239. package/docs/content/locales/zh-TW/messaging.md +99 -99
  240. package/docs/content/locales/zh-TW/migration-workbench.md +6 -6
  241. package/docs/content/locales/zh-TW/multi-app-workspace.md +39 -39
  242. package/docs/content/locales/zh-TW/multi-tenancy.md +7 -7
  243. package/docs/content/locales/zh-TW/native-chat-ui.md +38 -38
  244. package/docs/content/locales/zh-TW/notifications.md +23 -23
  245. package/docs/content/locales/zh-TW/observability.md +49 -49
  246. package/docs/content/locales/zh-TW/observational-memory.md +23 -23
  247. package/docs/content/locales/zh-TW/onboarding.md +40 -40
  248. package/docs/content/locales/zh-TW/plan-plugin.md +37 -37
  249. package/docs/content/locales/zh-TW/pr-visual-recap.md +72 -72
  250. package/docs/content/locales/zh-TW/processors.md +17 -17
  251. package/docs/content/locales/zh-TW/progress.md +15 -15
  252. package/docs/content/locales/zh-TW/pure-agent-apps.md +10 -10
  253. package/docs/content/locales/zh-TW/real-time-collaboration.md +103 -103
  254. package/docs/content/locales/zh-TW/recurring-jobs.md +19 -19
  255. package/docs/content/locales/zh-TW/routing.md +9 -9
  256. package/docs/content/locales/zh-TW/sandbox-adapters.md +48 -48
  257. package/docs/content/locales/zh-TW/security.md +49 -49
  258. package/docs/content/locales/zh-TW/server.md +47 -47
  259. package/docs/content/locales/zh-TW/sharing.md +22 -22
  260. package/docs/content/locales/zh-TW/skills-guide.md +46 -46
  261. package/docs/content/locales/zh-TW/template-analytics.md +40 -40
  262. package/docs/content/locales/zh-TW/template-assets.md +69 -69
  263. package/docs/content/locales/zh-TW/template-brain.md +81 -81
  264. package/docs/content/locales/zh-TW/template-calendar.md +40 -40
  265. package/docs/content/locales/zh-TW/template-chat.md +27 -27
  266. package/docs/content/locales/zh-TW/template-clips.md +85 -85
  267. package/docs/content/locales/zh-TW/template-content.md +65 -66
  268. package/docs/content/locales/zh-TW/template-design.md +29 -29
  269. package/docs/content/locales/zh-TW/template-dispatch.md +51 -51
  270. package/docs/content/locales/zh-TW/template-forms.md +25 -25
  271. package/docs/content/locales/zh-TW/template-mail.md +71 -71
  272. package/docs/content/locales/zh-TW/template-plan.md +92 -92
  273. package/docs/content/locales/zh-TW/template-slides.md +52 -52
  274. package/docs/content/locales/zh-TW/template-videos.md +30 -30
  275. package/docs/content/locales/zh-TW/tracking.md +29 -29
  276. package/docs/content/locales/zh-TW/using-your-agent.md +18 -18
  277. package/docs/content/locales/zh-TW/voice-input.md +19 -19
  278. package/docs/content/locales/zh-TW/what-is-agent-native.md +61 -61
  279. package/docs/content/locales/zh-TW/workspace-connections.md +41 -41
  280. package/docs/content/locales/zh-TW/workspace-management.md +27 -27
  281. package/docs/content/locales/zh-TW/workspace.md +58 -58
  282. package/docs/content/locales/zh-TW/writing-agent-instructions.md +41 -41
  283. package/docs/content/template-clips.md +48 -2
  284. package/package.json +2 -1
  285. package/src/templates/default/app/i18n/zh-TW.ts +44 -44
@@ -1,39 +1,39 @@
1
1
  ---
2
2
  title: "擴充功能"
3
- description: "使用者在範本內建置的迷你應用程式 - Analytics 中的自訂 KPI 磁貼、行事曆中的會議準備清單、郵件中的聯系人 CRM 小部件。無需部署,無需編輯程式碼,無需更改架構。"
3
+ description: "使用者在範本內建置的迷你應用程式 - Analytics 中的自訂 KPI 磁貼、行事曆中的會議準備清單、郵件中的聯絡人 CRM 小工具。無需部署,無需編輯程式碼,無需更改架構。"
4
4
  ---
5
5
 
6
6
  # 擴充功能
7
7
 
8
8
  擴充功能是**使用者在範本內建置的迷你應用程式**。
9
9
 
10
- 如果您使用過 QuickBooks Online,您就會看到該模型:QBO 提供核心會計產品,使用者可以使用小型自訂小部件(自訂報告、工資計算器、稅收規則檢查器),這些小部件位於同一個應用程式內並使用相同的資料。擴充功能是該想法的代理本機版本,只不過您的使用者不編寫任何程式碼。他們描述他們想要什么,然後代理建置它。
10
+ 如果您使用過 QuickBooks Online,您就會看到該模型:QBO 提供核心會計產品,使用者可以使用小型自訂小工具(自訂報告、工資計算器、稅收規則檢查器),這些小工具位於同一個應用程式內並使用相同的資料。擴充功能是該想法的 Agent-Native 版本,只不過您的使用者不編寫任何程式碼。他們描述他們想要什麼,然後代理建置它。
11
11
 
12
12
  框架很重要:擴充功能不是通用的“做你想做的”沙箱。它是一個**迷你應用程式,擴充功能了特定範本**(郵件、分析、行事曆、剪輯、設計)並使用該範本的 actions 和資料。郵件擴充功能可以讀取電子郵件。 Analytics 擴充功能讀取儀表板的指標。行事曆擴充功能作用於開啟的事件。它們感覺像是主機產品的一部分,因為它們*是*主機產品的一部分。
13
13
 
14
14
  使擴充功能發揮作用的三件事:
15
15
 
16
- - **無需程式碼,無需部署。** 代理編寫它們並且它們在幾秒鐘內即可生效。存儲在資料庫中,而不是儲存庫中。
17
- - **對範本資料的完全存取權限。**擴充功能可以調用代理調用的相同 actions - 郵件中的 `list-emails`、幻燈片中的 `list-decks`、剪輯中的 `list-recordings` - 因此它們擁有主機應用程式擁有的一切。
18
- - **內置存儲。**每個擴充功能都有自己的每使用者/每組織鍵值存儲,因此它可以儲存狀態,而無需新增新的 SQL 表。
16
+ - **無需程式碼,無需部署。** 代理編寫它們並且它們在幾秒鐘內即可生效。儲存在資料庫中,而不是儲存庫中。
17
+ - **對範本資料的完全存取權限。**擴充功能可以呼叫代理呼叫的相同 actions - 郵件中的 `list-emails`、幻燈片中的 `list-decks`、剪輯中的 `list-recordings` - 因此它們擁有主機應用程式擁有的一切。
18
+ - **內建儲存。**每個擴充功能都有自己的每使用者/每組織鍵值儲存,因此它可以儲存狀態,而無需新增新的 SQL 表。
19
19
 
20
20
  如果範本不應公開使用者編寫的擴充功能,請設定
21
21
  `extensionTools: false` 在 `createAgentChatPlugin()` 上。這刪除了
22
- 面向客服人員的分機 actions 和提示指導,同時留下其餘部分
22
+ 面向代理的分機 actions 和提示指導,同時留下其餘部分
23
23
  應用程式代理完好無損。
24
24
 
25
- ```an-diagram title="沙盒橋" summary="擴充功能 HTML 在隔離的 iframe 中執行,僅通過一組固定的橋接助手到達主機 - 每個調用都經過範圍和存取檢查。"
25
+ ```an-diagram title="沙盒橋" summary="擴充功能 HTML 在隔離的 iframe 中執行,僅透過一組固定的橋接助手到達主機 - 每個呼叫都經過範圍和存取檢查。"
26
26
  {
27
- "html": "<div class=\"ext-bridge\"><div class=\"diagram-card sandbox\" data-rough><span class=\"diagram-pill warn\">Sandboxed iframe</span><small class=\"diagram-muted\">Alpine.js HTML &middot; no host cookies, session, or DOM</small><div class=\"ext-helpers\"><span class=\"diagram-pill\">appAction</span><span class=\"diagram-pill\">appFetch</span><span class=\"diagram-pill\">dbQuery / dbExec</span><span class=\"diagram-pill\">extensionData</span><span class=\"diagram-pill\">extensionFetch</span></div></div><div class=\"diagram-arrow diagram-accent\" aria-hidden=\"true\">&harr;</div><div class=\"diagram-col\"><div class=\"diagram-box\">宿主範本<br><small class=\"diagram-muted\">actions,自動限定作用域的 SQL</small></div><div class=\"diagram-box\">Secret proxy<br><small class=\"diagram-muted\"><code>${keys.NAME}</code>,鎖定域名</small></div><div class=\"diagram-box\">外部 API<br><small class=\"diagram-muted\">僅通過 extensionFetch</small></div></div></div>",
27
+ "html": "<div class=\"ext-bridge\"><div class=\"diagram-card sandbox\" data-rough><span class=\"diagram-pill warn\">Sandboxed iframe</span><small class=\"diagram-muted\">Alpine.js HTML &middot; no host cookies, session, or DOM</small><div class=\"ext-helpers\"><span class=\"diagram-pill\">appAction</span><span class=\"diagram-pill\">appFetch</span><span class=\"diagram-pill\">dbQuery / dbExec</span><span class=\"diagram-pill\">extensionData</span><span class=\"diagram-pill\">extensionFetch</span></div></div><div class=\"diagram-arrow diagram-accent\" aria-hidden=\"true\">&harr;</div><div class=\"diagram-col\"><div class=\"diagram-box\">主機範本<br><small class=\"diagram-muted\">actions,自動限定作用域的 SQL</small></div><div class=\"diagram-box\">Secret proxy<br><small class=\"diagram-muted\"><code>${keys.NAME}</code>,鎖定域名</small></div><div class=\"diagram-box\">外部 API<br><small class=\"diagram-muted\">僅透過 extensionFetch</small></div></div></div>",
28
28
  "css": ".ext-bridge{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.ext-bridge .sandbox{display:flex;flex-direction:column;gap:8px;padding:16px 18px;flex:1;min-width:240px}.ext-bridge .ext-helpers{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.ext-bridge .diagram-col{display:flex;flex-direction:column;gap:8px}.ext-bridge .diagram-arrow{font-size:24px}"
29
29
  }
30
30
  ```
31
31
 
32
- 擴充功能也可以**在本機檔案模式下由儲存庫支持**。在該工作流程中,
32
+ 擴充功能也可以**在本機檔案模式下由儲存庫支援**。在該工作流程中,
33
33
  `agent-native.json`聲明一個`extensions`資料夾,每個擴充功能都有一個
34
34
  `extension.json` 清單加上 HTML 條目檔案,應用程式渲染這些
35
- 檔案通過相同的沙箱。檔案支持的擴充功能通過更改來編輯
36
- 儲存庫檔案;資料庫支持的擴充功能保持執行時建立/編輯/共用
35
+ 檔案透過相同的沙箱。檔案支援的擴充功能透過更改來編輯
36
+ 儲存庫檔案;資料庫支援的擴充功能保持執行時建立/編輯/共用
37
37
  經驗如下所述。
38
38
 
39
39
  ## 快速圖庫 {#gallery}
@@ -42,14 +42,14 @@ description: "使用者在範本內建置的迷你應用程式 - Analytics 中
42
42
 
43
43
  ### 郵件
44
44
 
45
- 使用者正在閱讀來自 `priya@acme.com` 的電子郵件。什么樣的小部件可以提供幫助?
45
+ 使用者正在閱讀來自 `priya@acme.com` 的電子郵件。什麼樣的小工具可以提供幫助?
46
46
 
47
- - **聯系人備注**貼上到使用者正在向其發送電子郵件的任何人的便簽本。載入該聯系人的注釋,讓使用者記下更多內容。
48
- - **與此人最近的話題** - 與開放聯系人的最後五個話題的小列表,與收件箱視圖分開。
49
- - **CRM 丰富** — 從您的 CRM 中提取聯系人的公司規模、上次會議日期或未結交易。
50
- - **會議安排程序快捷方式**將“下週找個時間”變成一鍵式“發送這些時段”小部件。
47
+ - **聯絡人備註**貼上到使用者正在向其傳送電子郵件的任何人的便簽本。載入該聯絡人的註解,讓使用者記下更多內容。
48
+ - **與此人最近的話題** - 與開放聯絡人的最後五個話題的小清單,與收件箱檢視分開。
49
+ - **CRM 豐富** — 從您的 CRM 中擷取聯絡人的公司規模、上次會議日期或未結交易。
50
+ - **會議安排程式快捷方式**將“下週找個時間”變成一鍵式“傳送這些時段”小工具。
51
51
 
52
- 草圖 - 聯系人備注(儲存與您的電子郵件發送者相關的備注):
52
+ 草圖 - 聯絡人備註(儲存與您的電子郵件傳送者相關的備註):
53
53
 
54
54
  ```html
55
55
  <div
@@ -80,13 +80,13 @@ description: "使用者在範本內建置的迷你應用程式 - Analytics 中
80
80
 
81
81
  ### 分析
82
82
 
83
- 使用者正在盯著儀表板。缺少的圖塊是什么?
83
+ 使用者正在盯著儀表板。缺少的圖塊是什麼?
84
84
 
85
- - **自訂 KPI 框** — 非內置面板的指標的單個大數字。 “試驗本週開始”,“MRR 與上個月相比的增量。”
86
- - **目標跟蹤器** — 提取使用者選取的指標並顯示針對使用者輸入的目標的進度。
85
+ - **自訂 KPI 框** — 非內建面板的指標的單一大數字。 “試驗本週開始”,“MRR 與上個月相比的增量。”
86
+ - **目標跟蹤器** — 擷取使用者選取的指標並顯示針對使用者輸入的目標的進度。
87
87
  - **熱門客戶排行榜** — 將指標與客戶表連線起來,排名前 10 名。
88
88
 
89
- 草圖 - 自訂 KPI 框(調用分析範本的 `appAction` 查詢之一):
89
+ 草圖 - 自訂 KPI 框(呼叫分析範本的 `appAction` 查詢之一):
90
90
 
91
91
  ```html
92
92
  <div
@@ -111,70 +111,70 @@ description: "使用者在範本內建置的迷你應用程式 - Analytics 中
111
111
 
112
112
  ### 行事曆
113
113
 
114
- 使用者有一個未完成的活動。那一刻什么會有幫助?
114
+ 使用者有一個未完成的活動。那一刻什麼會有幫助?
115
115
 
116
116
  - **會議準備清單** — 自動載入開放活動的議程專案、與會者和之前的話題摘要。
117
117
  - **旅行時間** — “距離工作地點的下一次會議還有 35 分鐘。”
118
- - **時區助手** — 以每位與會者當地時間一目了然地顯示會議時間。
118
+ - **時區助手** — 以每位與會者本機時間一目了然地顯示會議時間。
119
119
 
120
120
  ### 剪輯
121
121
 
122
- 使用者正在檢視螢幕錄製內容。是什么增強了這種觀點?
122
+ 使用者正在檢視螢幕錄製內容。是什麼增強了這種觀點?
123
123
 
124
- - **操作項提取器**讀取剪輯紀錄(代理通過 `appAction` 獲取它),列出待辦事項。
124
+ - **操作項擷取器**讀取剪輯紀錄(代理透過 `appAction` 取得它),列出待辦事項。
125
125
  - **自動共用** — 一鍵“將此剪輯的連結發布到我的#recordings Slack 頻道。”
126
- - **亮點卷軸** — 提取代理生成的章節並將其轉變為快速導覽選單。
126
+ - **亮點卷軸** — 擷取代理產生的章節並將其轉變為快速導覽選單。
127
127
 
128
128
  ### 設計
129
129
 
130
- 使用者開啟了草稿 Alpine/Tailwind 頁面。什么可以平滑原型設計循環?
130
+ 使用者開啟了草稿 Alpine/Tailwind 頁面。什麼可以平滑原型設計迴圈?
131
131
 
132
- - **品牌色樣** - 從使用者的品牌設定中提取調色板,點選可將顏色複製到編輯器中。
133
- - **資產選取器** — 列出使用者已上傳的圖片,點擊時刪除 URL。
132
+ - **品牌色樣** - 從使用者的品牌設定中擷取調色板,點選可將顏色複製到編輯器中。
133
+ - **資產選取器** — 列出使用者已上傳的圖片,點選時刪除 URL。
134
134
  - **間距檢查器** — 顯示活動頁面使用的間隙/填充/邊距標記,以便使用者可以保持一致。
135
135
 
136
- 所有這些的模式:擴充功能是關於使用者位於主機範本內的**那一刻**。客服人員已經知道哪個聯系人、哪個儀表板、哪個事件、哪個剪輯——擴充功能使用該上下文。
136
+ 所有這些的模式:擴充功能是關於使用者位於主機範本內的**那一刻**。代理已經知道哪個聯絡人、哪個儀表板、哪個事件、哪個剪輯——擴充功能使用該脈絡。
137
137
 
138
138
  ## 使用者如何建置 {#building}
139
139
 
140
140
  簡單路徑:
141
141
 
142
- 1. **點擊側邊欄中的“新擴充功能”**(或僅在聊天中詢問)。
143
- 2. **用一句話描述您想要的內容。**“我正在向聯系人發送電子郵件的便簽本。” “本週開始試用 KPI 盒子。”
144
- 3. **代理將其寫入並顯示在您的擴充功能列表中,可供使用。**
142
+ 1. **點選側邊欄中的“新擴充功能”**(或僅在聊天中詢問)。
143
+ 2. **用一句話描述您想要的內容。**“我正在向聯絡人傳送電子郵件的便簽本。” “本週開始試用 KPI 盒子。”
144
+ 3. **代理將其寫入並顯示在您的擴充功能清單中,可供使用。**
145
145
 
146
146
  沒有要編輯的檔案,無需部署。代理選取正確的助手(`appAction`、`extensionData`、`extensionFetch`)並編寫 Alpine.js HTML。
147
147
 
148
- 如果擴充功能需要 API 金鑰(CRM 權杖、天氣 API),代理會告訴您要新增什么以及在哪裡新增。金鑰經過加密存儲並鎖定到特定域。
148
+ 如果擴充功能需要 API 金鑰(CRM 權杖、天氣 API),代理會告訴您要新增什麼以及在哪裡新增。金鑰經過加密儲存並鎖定到特定域。
149
149
 
150
- 如果您想稍後更改某些內容,只需說:“在我的聯系人備注中新增搜尋框。”代理就地編輯 HTML — 無需重新生成整個內容。
150
+ 如果您想稍後更改某些內容,只需說:“在我的聯絡人備註中新增搜尋框。”代理就地編輯 HTML — 無需重新生成整個內容。
151
151
 
152
- 每個更改都有版本控制。開啟擴充功能檢視器的歷史紀錄控件即可檢視
152
+ 每個更改都有版本控制。開啟擴充功能檢視器的歷史紀錄控制項即可檢視
153
153
  儲存的版本,檢查與先前版本的差異,並恢復
154
- 舊名稱/描述/圖標/內容快照而不更改所有權或
154
+ 舊名稱/描述/圖示/內容快照而不更改所有權或
155
155
  分享。
156
156
 
157
- ## 擴充功能可以做什么 {#capabilities}
157
+ ## 擴充功能可以做什麼 {#capabilities}
158
158
 
159
- 在 iframe 沙箱內,每個擴充功能在 `window` 上都有這些幫助程序:
159
+ 在 iframe 沙箱內,每個擴充功能在 `window` 上都有這些幫助程式:
160
160
 
161
161
  | 幫手 | 目的 | 範例 |
162
162
  | ------------------------------------------------ | ----------------------------------------- | --------------------------------------------------------- |
163
- | `appAction(name, params)` | 調用任意主機範本的actions | `appAction('list-emails', { view: 'inbox' })` |
164
- | `appFetch(path, options)` | 調用`/_agent-native/*`下允許的框架端點 | `appFetch('/_agent-native/application-state/navigation')` |
163
+ | `appAction(name, params)` | 呼叫任意主機範本的actions | `appAction('list-emails', { view: 'inbox' })` |
164
+ | `appFetch(path, options)` | 呼叫`/_agent-native/*`下允許的框架端點 | `appFetch('/_agent-native/application-state/navigation')` |
165
165
  | `dbQuery(sql, args)` | 從 SQL 讀取(自動調整範圍給使用者) | `dbQuery('SELECT id, name FROM tools')` |
166
- | `dbExec(sql, args)` | 寫入SQL | `dbExec('INSERT INTO ...')` |
167
- | `extensionFetch(url, options)` | 通過帶有秘密的安全代理攻擊外部 API | `extensionFetch('https://api.github.com/user')` |
166
+ | `dbExec(sql, args)` | 寫入 SQL | `dbExec('INSERT INTO ...')` |
167
+ | `extensionFetch(url, options)` | 透過帶有秘密的安全代理攻擊外部 API | `extensionFetch('https://api.github.com/user')` |
168
168
  | `extensionData.set(collection, id, data, opts?)` | 保留每個擴充功能的資料(使用者/組織範圍) | `extensionData.set('notes', id, { text: '...' })` |
169
169
  | `extensionData.list(collection, opts?)` | 列出持久化專案 | `extensionData.list('notes', { scope: 'all' })` |
170
- | `extensionData.get(collection, id, opts?)` | 獲取單個專案 | `extensionData.get('notes', 'note-1')` |
170
+ | `extensionData.get(collection, id, opts?)` | 取得單一專案 | `extensionData.get('notes', 'note-1')` |
171
171
  | `extensionData.remove(collection, id, opts?)` | 刪除持久化專案 | `extensionData.remove('notes', 'note-1')` |
172
172
 
173
173
  三個經驗法則:
174
174
 
175
- - **優先選取 `appAction` 而不是 `dbQuery`。** Actions 是範本的官方介面 — 它們為您處理存取控制、範圍界定和驗證。僅當沒有合適的操作時才獲取原始 SQL。
175
+ - **優先選取 `appAction` 而不是 `dbQuery`。** Actions 是範本的官方介面 — 它們為您處理存取控制、範圍界定和驗證。僅當沒有合適的操作時才取得原始 SQL。
176
176
  - **使用 `appAction` 作為範本資料。**擴充功能 `appFetch` 僅限於框架 `/_agent-native/*` 端點;範本 `/api/*` 路由被 iframe 網橋阻止。
177
- - **優先選取 `extensionData` 而不是建立新表。** 每個擴充功能都有自己獨立的鍵值存儲。沒有架構,就沒有遷移。設定 `{ scope: 'org' }` 與使用者的組織共用,`'user'`(預設)設定為私人。
177
+ - **優先選取 `extensionData` 而不是建立新表。** 每個擴充功能都有自己獨立的鍵值儲存。沒有架構,就沒有遷移。設定 `{ scope: 'org' }` 與使用者的組織共用,`'user'`(預設)設定為私人。
178
178
 
179
179
  ```html
180
180
  <script>
@@ -189,7 +189,7 @@ description: "使用者在範本內建置的迷你應用程式 - Analytics 中
189
189
  </script>
190
190
  ```
191
191
 
192
- 外部 API 通過 `extensionFetch`,它代理呼叫伺服器端並通過 `${keys.NAME}` 範本替換機密:
192
+ 外部 API 透過 `extensionFetch`,它代理呼叫伺服器端並透過 `${keys.NAME}` 範本替換機密:
193
193
 
194
194
  ```html
195
195
  <script>
@@ -199,30 +199,30 @@ description: "使用者在範本內建置的迷你應用程式 - Analytics 中
199
199
  </script>
200
200
  ```
201
201
 
202
- 實際金鑰永遠不會到達瀏覽器。每個金鑰都被鎖定到域允許清單,因此泄露的擴充功能無法將其滲透到其他地方。
202
+ 實際金鑰永遠不會到達瀏覽器。每個金鑰都被鎖定到域允許清單,因此外洩的擴充功能無法將其滲透到其他地方。
203
203
 
204
204
  ## 插槽 - 在主機 UI 內放置擴充功能 {#slots}
205
205
 
206
206
  上面的圖庫描述了擴充功能的用途。槽位描述了它出現的*位置*。
207
207
 
208
- 預設情況下,擴充功能位於擴充功能列表中自己的頁面上 - 像開啟小應用程式一樣開啟它。這對於儀表板、計算器和獨立小部件來說很好。
208
+ 預設情況下,擴充功能位於擴充功能清單中自己的頁面上 - 像開啟小應用程式一樣開啟它。這對於儀表板、計算器和獨立小工具來說很好。
209
209
 
210
- 但最 QBO 形狀的用例是不同的:使用者希望將其小部件固定在範本的 UI 內部 - 在郵件側邊欄中的聯系資訊下方、分析儀表板的一角、行事曆事件的右側。這就是**老虎機**的用途。
210
+ 但最 QBO 形狀的用例是不同的:使用者希望將其小工具固定在範本的 UI 內部 - 在郵件側邊欄中的聯絡資訊下方、分析儀表板的一角、行事曆事件的右側。這就是**時段**的用途。
211
211
 
212
- 插槽是範本附帶的命名小部件區域:
212
+ 插槽是範本附帶的命名小工具區域:
213
213
 
214
- | 範本 | 插槽範例 | 它出現的地方 |
215
- | ---------- | ------------------------------ | ---------------------------------- |
216
- | **郵件** | `mail.contact-sidebar.bottom` | 位於每個電子郵件線程的聯系資訊下方 |
217
- | **分析** | `analytics.dashboard.tiles` | 儀表板的內置面板旁邊 |
218
- | **行事曆** | `calendar.event-detail.bottom` | 在開放事件下方 |
219
- | **剪輯** | `clips.right-panel.tabs` | 剪輯審閱面板中的新分頁 |
214
+ | 範本 | 插槽範例 | 它出現的地方 |
215
+ | ---------- | ------------------------------ | ------------------------------------ |
216
+ | **郵件** | `mail.contact-sidebar.bottom` | 位於每個電子郵件對話串的聯絡資訊下方 |
217
+ | **分析** | `analytics.dashboard.tiles` | 儀表板的內建面板旁邊 |
218
+ | **行事曆** | `calendar.event-detail.bottom` | 在開放事件下方 |
219
+ | **剪輯** | `clips.right-panel.tabs` | 剪輯審閱面板中的新分頁 |
220
220
 
221
- 當擴充功能**安裝到插槽中**時,主機會將相關上下文(聯系人的電子郵件、儀表板 ID、事件 ID)推送到 iframe 中。該擴充功能讀取 `window.slotContext` 來了解使用者正在看什么。
221
+ 當擴充功能**安裝到插槽中**時,主機會將相關脈絡(聯絡人的電子郵件、儀表板 ID、事件 ID)推送到 iframe 中。該擴充功能讀取 `window.slotContext` 來了解使用者正在看什麼。
222
222
 
223
- ```an-diagram title="插槽將上下文推送到小部件中" summary="主機範本擁有命名槽;將擴充功能安裝到其中,可以為使用者目前正在檢視的任何內容提供 window.slotContext 。"
223
+ ```an-diagram title="插槽將脈絡推送到小工具中" summary="主機範本擁有命名槽;將擴充功能安裝到其中,可以為使用者目前正在檢視的任何內容提供 window.slotContext 。"
224
224
  {
225
- "html": "<div class=\"slot\"><div class=\"diagram-card\"><span class=\"diagram-pill\">郵件線程</span><small class=\"diagram-muted\">slot <code>mail.contact-sidebar.bottom</code></small></div><div class=\"diagram-arrow diagram-accent\" aria-hidden=\"true\">&rarr;</div><div class=\"diagram-box accent\"><code>window.slotContext</code><br><small class=\"diagram-muted\">{ contactEmail }</small></div><div class=\"diagram-arrow diagram-accent\" aria-hidden=\"true\">&rarr;</div><div class=\"diagram-card\"><span class=\"diagram-pill\">聯系人備注</span><small class=\"diagram-muted\">loads notes for that contact &mdash; same widget, different context</small></div></div>",
225
+ "html": "<div class=\"slot\"><div class=\"diagram-card\"><span class=\"diagram-pill\">郵件對話串</span><small class=\"diagram-muted\">slot <code>mail.contact-sidebar.bottom</code></small></div><div class=\"diagram-arrow diagram-accent\" aria-hidden=\"true\">&rarr;</div><div class=\"diagram-box accent\"><code>window.slotContext</code><br><small class=\"diagram-muted\">{ contactEmail }</small></div><div class=\"diagram-arrow diagram-accent\" aria-hidden=\"true\">&rarr;</div><div class=\"diagram-card\"><span class=\"diagram-pill\">聯絡人備註</span><small class=\"diagram-muted\">loads notes for that contact &mdash; same widget, different context</small></div></div>",
226
226
  "css": ".slot{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.slot .diagram-card{display:flex;flex-direction:column;gap:4px;padding:14px 16px;min-width:180px}.slot .diagram-arrow{font-size:22px}"
227
227
  }
228
228
 
@@ -230,19 +230,19 @@ description: "使用者在範本內建置的迷你應用程式 - Analytics 中
230
230
 
231
231
  ### 具體範例
232
232
 
233
- 想象一下圖庫中的聯系人備注擴充功能。就其本身而言,它是一個獨立的小部件。要使其顯示在郵件聯系人側邊欄中:
233
+ 想象一下圖庫中的聯絡人備註擴充功能。就其本身而言,它是一個獨立的小工具。要使其顯示在郵件聯絡人側邊欄中:
234
234
 
235
- 1. 建置一次擴充功能。使用 `window.slotContext.contactEmail` 以便它知道使用者所在的聯系人。
235
+ 1. 建置一次擴充功能。使用 `window.slotContext.contactEmail` 以便它知道使用者所在的聯絡人。
236
236
  2. 告訴它它可以填充的槽位:`add-extension-slot-target { extensionId, slotId: "mail.contact-sidebar.bottom" }`。
237
237
  3. 安裝它:`install-extension { extensionId, slotId: "mail.contact-sidebar.bottom" }`。
238
238
 
239
- 下次您開啟電子郵件線程時,便簽本就位於聯系資訊下方填充了您要向其發送電子郵件的人員的注釋。切換到不同的線程,為*that*接觸載入注釋。相同的擴充功能,不同的上下文,沒有重寫。
239
+ 下次您開啟電子郵件對話串時,便簽本就位於聯絡資訊下方填充了您要向其傳送電子郵件的人員的註解。切換到不同的對話串,為*that*接觸載入註解。相同的擴充功能,不同的脈絡,沒有重寫。
240
240
 
241
- 實際上,您不會手動執行這三個指令。只需說“將此小部件固定到我的聯系人側邊欄”,代理就會為您處理目標 + 安裝。
241
+ 實際上,您不會手動執行這三個指令。只需說“將此小工具固定到我的聯絡人側邊欄”,代理就會為您處理目標 + 安裝。
242
242
 
243
- > **插槽是一種*附加*功能,而不是先決條件。** 許多有用的擴充功能永遠不會安裝到插槽中 - 它們快樂地生活在自己的頁面上。當小部件需要位於使用者在主機範本中檢視的內容的“旁邊”時,請使用插槽。
243
+ > **插槽是一種*附加*功能,而不是先決條件。** 許多有用的擴充功能永遠不會安裝到插槽中 - 它們快樂地生活在自己的頁面上。當小工具需要位於使用者在主機範本中檢視的內容的“旁邊”時,請使用插槽。
244
244
 
245
- 有關插槽的更深入詳細資訊 - 如何在範本中聲明它們、上下文合約如何工作、如何確定安裝範圍 - 請參閱 `extension-points` 技能。 Skills 裝在 `.agents/skills/` 下的每個腳手架範本內;請參閱 [Skills Guide](/docs/skills-guide) 了解它們的工作原理。
245
+ 有關插槽的更深入詳細資訊 - 如何在範本中聲明它們、脈絡合約如何工作、如何確定安裝範圍 - 請參閱 `extension-points` 技能。 Skills 裝在 `.agents/skills/` 下的每個腳手架範本內;請參閱 [Skills Guide](/docs/skills-guide) 了解它們的工作原理。
246
246
 
247
247
  ## 本機檔案擴充功能名 {#local-file-extensions}
248
248
 
@@ -284,20 +284,20 @@ extensions/
284
284
  }
285
285
  ```
286
286
 
287
- 該應用程式列出了檔案支持的擴充功能以及資料庫支持的擴充功能並呈現
288
- 它們通過普通的沙箱 iframe 進行。 `extension.json` 中的槽聲明
287
+ 該應用程式列出了檔案支援的擴充功能以及資料庫支援的擴充功能並呈現
288
+ 它們透過普通的沙箱 iframe 進行。 `extension.json` 中的槽聲明
289
289
  自動將擴充功能安裝到匹配的 `ExtensionSlot` 中;沒有每個使用者
290
290
  SQL 本機擴充功能安裝行。
291
291
 
292
292
  本機擴充功能具有更嚴格的 v1 權限模型:
293
293
 
294
294
  - 除非停用,否則 `extensionData` 可用於小型執行時狀態。
295
- - `appAction` 調用必須在 `permissions.appActions` 中顯式列出。
295
+ - `appAction` 呼叫必須在 `permissions.appActions` 中顯式列出。
296
296
  - `dbQuery`、`dbExec` 和 `extensionFetch` 暫時被屏蔽。
297
- - SQL 支持的更新、刪除、共用和歷史紀錄 actions 返回一條訊息
297
+ - SQL 支援的更新、刪除、共用和歷史紀錄 actions 返回一條訊息
298
298
  指向本機入口檔案。
299
299
 
300
- 當使用者應在以下位置建立/共用/編輯小部件時,請使用資料庫支持的擴充功能
300
+ 當使用者應在以下位置建立/共用/編輯小工具時,請使用資料庫支援的擴充功能
301
301
  執行時。當擴充功能名是 repo-first 的一部分時使用本機檔案擴充功能名
302
302
  工作區,並且應該是可審查的、可修補的,並且與其餘部分一起進行版本控制
303
303
  檔案。
@@ -313,18 +313,18 @@ SQL 本機擴充功能安裝行。
313
313
 
314
314
  ## 擴充功能與編輯應用程式碼 {#vs-app-code}
315
315
 
316
- 該框架允許代理直接編輯應用程式的來源程式碼——元件、路由、樣式。那么您什么時候應該尋求延期呢?
316
+ 此框架允許代理直接編輯應用程式的來源程式碼——元件、路由、樣式。那麼您什麼時候應該尋求延期呢?
317
317
 
318
318
  | | 擴充功能 | 應用程式碼編輯 |
319
319
  | ------------ | ---------------------------------------- | -------------------------- |
320
320
  | **建立者** | 執行時的代理(或使用者) | 代理編輯來源檔案 |
321
- | **存儲在** | 資料庫 | git 儲存庫 |
321
+ | **儲存在** | 資料庫 | git 儲存庫 |
322
322
  | **需要建置** | 否 | 是的 |
323
323
  | **需要部署** | 沒有 | 是 |
324
324
  | **範圍** | 一個使用者(或與組織共用) | 整個產品,每個使用者 |
325
- | **最適合** | 個人小部件、自訂 KPI、每個團隊的實用程序 | 向所有使用者提供的核心功能 |
325
+ | **最適合** | 個人小工具、自訂 KPI、每個團隊的實用程式 | 向所有使用者提供的核心功能 |
326
326
 
327
- 經驗法則:**如果它適用於一個使用者或一個團隊,那么它就是一個擴充功能。**如果範本的每個使用者都應該獲得它,請將其作為一項真正的功能提供。
327
+ 經驗法則:**如果它適用於一個使用者或一個團隊,那麼它就是一個擴充功能。**如果範本的每個使用者都應該獲得它,請將其作為一項真正的功能提供。
328
328
 
329
329
  ## 安全 {#security}
330
330
 
@@ -335,26 +335,26 @@ SQL 本機擴充功能安裝行。
335
335
  擴充功能在沙盒 iframe 中執行:
336
336
 
337
337
  - **與父應用程式的 cookie、工作階段和 DOM 隔離**。
338
- - **伺服器端秘密注入**通過 `${keys.NAME}` 範本 - 實際的金鑰值永遠不會到達瀏覽器。
338
+ - **伺服器端秘密注入**透過 `${keys.NAME}` 範本 - 實際的金鑰值永遠不會到達瀏覽器。
339
339
  - **域鎖定的秘密** — 每個金鑰都綁定到 URL 允許清單;代理拒絕對其他主機的請求。
340
340
  - **專用網路保護** - 擴充功能無法到達內部地址。
341
- - **需要驗證** - 擴充功能僅針對登入使用者執行,並且 `dbQuery` / `dbExec` 調用是自動範圍的。
341
+ - **需要驗證** - 擴充功能僅針對登入使用者執行,並且 `dbQuery` / `dbExec` 呼叫是自動範圍的。
342
342
 
343
343
  ## 有關命名的一些知識 {#naming-back-compat}
344
344
 
345
345
  如果您瀏覽 SQL 或來源程式碼,您會看到“擴充功能”和“工具”名稱的混合。快速解碼器:
346
346
 
347
347
  - 面向使用者的原語過去被稱為“工具”。現在是**擴充功能**。
348
- - 物理 SQL 表(`tools`、`tool_data`、`tool_shares`、`tool_slots`、`tool_slot_installs`)保留其原始名稱 - 重命名表是破壞性遷移,框架不會提供破壞性遷移。
348
+ - 物理 SQL 表(`tools`、`tool_data`、`tool_shares`、`tool_slots`、`tool_slot_installs`)保留其原始名稱 - 重新命名表是破壞性遷移,框架不會提供破壞性遷移。
349
349
  - Drizzle / TypeScript 匯出使用新名稱:`extensions`、`extensionData`、`extensionShares`、`extensionSlots`、`extensionSlotInstalls`。
350
350
  - 在擴充功能的 iframe 內,規範助手是 `extensionFetch` 和 `extensionData`。舊名稱 `toolFetch` 和 `toolData` 仍然可以解析,因此較舊的擴充功能 HTML 可以繼續工作。
351
351
 
352
- 在正常使用中您也不會看到這一點,但代理有第三個相關概念,稱為“LLM 工具”——模型轉彎上的函數調用表面積(通過 `defineAction`、MCP 等定義)。這些是函數調用原語,而不是面向使用者的小部件。當此頁面顯示“擴充功能”時,它指的是面向使用者的小部件;當其他檔案在 `defineAction` 旁邊提到“工具”時,這就是 LLM 的概念。
352
+ 在正常使用中您也不會看到這一點,但代理有第三個相關概念,稱為“LLM 工具”——模型轉彎上的函式呼叫表面積(透過 `defineAction`、MCP 等定義)。這些是函式呼叫原語,而不是面向使用者的小工具。當此頁面顯示“擴充功能”時,它指的是面向使用者的小工具;當其他檔案在 `defineAction` 旁邊提到“工具”時,這就是 LLM 的概念。
353
353
 
354
- ## 下一步是什么
354
+ ## 下一步是什麼
355
355
 
356
356
  - [**Templates**](/docs/cloneable-saas) - 主機應用擴充功能擴充功能
357
- - [**Actions**](/docs/actions) — 擴充功能通過 `appAction` 調用的操作
357
+ - [**Actions**](/docs/actions) — 擴充功能透過 `appAction` 呼叫的操作
358
358
  - [**Sharing & Privacy**](/docs/sharing) — 擴充功能可見性、組織共用和每使用者授權如何工作
359
359
  - [**Onboarding & API Keys**](/docs/onboarding) — 秘密如何在設定 UI 中顯現
360
360
  - [**Security**](/docs/security) — 框架的資料範圍和存取模型