@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,14 +1,14 @@
1
1
  ---
2
- title: "實時協作"
3
- description: "多使用者協作編輯,其中 AI 代理是一流的同行:CRDT 合並、實時呈現、SSE 快速路徑和細粒度伺服器端合並 - 在任何 SQL 資料庫和任何主機上。"
2
+ title: "即時協作"
3
+ description: "多使用者協作編輯,其中 AI 代理是一流的同行:CRDT 合併、即時呈現、SSE 快速路徑和細粒度伺服器端合併 - 在任何 SQL 資料庫和任何主機上。"
4
4
  ---
5
5
 
6
- # 實時協作
6
+ # 即時協作
7
7
 
8
- 想象一下開啟檔案並看到同伴的光標滾動到某個段落,
9
- 然後文本會自行重寫——就像外科手術一樣,不會丟失你的位置。那
8
+ 想象一下開啟檔案並看到同伴的游標滾動到某個段落,
9
+ 然後文字會自行重寫——就像外科手術一樣,不會丟失你的位置。那
10
10
  同伴可能是隊友。可能是代理吧來自框架的
11
- 從角度來看它們是相同的:都產生合並的 Yjs 操作
11
+ 從角度來看它們是相同的:都產生合併的 Yjs 操作
12
12
  無衝突地進入共用檔案。這是
13
13
  代理與本機協作模型。
14
14
 
@@ -17,28 +17,28 @@ description: "多使用者協作編輯,其中 AI 代理是一流的同行:CR
17
17
  與代理一起編輯感覺就像在 Google Docs 或 Figma 中工作
18
18
  一位既快速又不知疲倦的同事:
19
19
 
20
- 如果您只需要在代理或其他使用者寫入 SQL 時刷新 UI,則不需要任何這些 — 使用 [`useDbSync`](/docs/client)。此頁面用於對單個富文本檔案進行字符級共同編輯(共用光標、無衝突合並)。兩者都使用相同的 `/_agent-native/poll` 通道。
20
+ 如果您只需要在代理或其他使用者寫入 SQL 時重新整理 UI,則不需要任何這些 — 使用 [`useDbSync`](/docs/client)。此頁面用於對單一富文字檔案進行字符級共同編輯(共用游標、無衝突合併)。兩者都使用相同的 `/_agent-native/poll` 通道。
21
21
 
22
- 它建立在三項經過實战檢驗的技術之上:**Yjs**(CRDT,用於無衝突合並)、**TipTap**(富文本編輯器)和**基於輪詢的同步**(適用於所有部署環境,包括無伺服器和邊缘)。
22
+ 它建立在三項經過實战檢驗的技術之上:**Yjs**(CRDT,用於無衝突合併)、**TipTap**(富文字編輯器)和**基於輪詢的同步**(適用於所有部署環境,包括無伺服器和邊緣)。
23
23
 
24
- - **CRDT 合並** - 人類和代理的並發編輯無需合並
24
+ - **CRDT 合併** - 人類和代理的並發編輯無需合併
25
25
  衝突。您輸入一個段落;代理重寫另一個;兩者
26
26
  幹淨利落地著陸。
27
27
  - **存在** - `PresenceBar` 顯示目前誰在檔案中,
28
- 當客服人員正在積極編輯時,包括客服人員存在指示器。
29
- - **代理作為對等編輯器** — 代理通過相同的 Yjs 進行編輯流程
30
- 作為人工編輯的基礎設施。它們顯示為實時狀態,不會幹擾光標
31
- 位置、選取或撤消堆堆疊。
32
- - **隨處可用** — Drizzle 支持的任何 SQL 資料庫(SQLite、Postgres)。
33
- Nitro 支持的任何託管目標,包括無伺服器和邊缘。
28
+ 當代理正在積極編輯時,包括代理存在指示器。
29
+ - **代理作為對等編輯器** — 代理透過相同的 Yjs 進行編輯流程
30
+ 作為人工編輯的基礎設施。它們顯示為即時狀態,不會幹擾游標
31
+ 位置、選取或復原堆堆疊。
32
+ - **隨處可用** — Drizzle 支援的任何 SQL 資料庫(SQLite、Postgres)。
33
+ Nitro 支援的任何託管目標,包括無伺服器和邊緣。
34
34
 
35
35
  ## 架構 {#architecture}
36
36
 
37
37
  協作系統有五個互鎖層。
38
38
 
39
- ```an-diagram title="五層互鎖" summary="從內存中的 CRDT 到在對等點之間傳送更新的傳輸 — 每一層都有一項工作。"
39
+ ```an-diagram title="五層互鎖" summary="從記憶中的 CRDT 到在對等點之間傳送更新的傳輸 — 每一層都有一項工作。"
40
40
  {
41
- "html": "<div class=\"diagram-stack\"><div class=\"diagram-card layer\"><span class=\"diagram-pill accent\">1 &middot; Yjs Y.Doc</span><small class=\"diagram-muted\">CRDT &mdash; 無衝突合並,無協調器</small></div><div class=\"diagram-card layer\"><span class=\"diagram-pill\">2 &middot; SQL 規範內容</span><small class=\"diagram-muted\">_collab_docs &mdash; durable source of truth, versioned</small></div><div class=\"diagram-card layer\"><span class=\"diagram-pill\">3 &middot; 由 updatedAt 門控的對帳</span><small class=\"diagram-muted\">代理編輯通過 SQL 更新時間傳播</small></div><div class=\"diagram-card layer\"><span class=\"diagram-pill\">4 &middot; 主用戶端選舉</span><small class=\"diagram-muted\">恰好一個標籤頁面應用快照</small></div><div class=\"diagram-card layer\"><span class=\"diagram-pill ok\">5 &middot; SSE 快速路徑 + 輪詢</span><small class=\"diagram-muted\">約幾十毫秒,任何地方都可降級為 2 秒輪詢</small></div></div>",
41
+ "html": "<div class=\"diagram-stack\"><div class=\"diagram-card layer\"><span class=\"diagram-pill accent\">1 &middot; Yjs Y.Doc</span><small class=\"diagram-muted\">CRDT &mdash; 無衝突合併,無協調器</small></div><div class=\"diagram-card layer\"><span class=\"diagram-pill\">2 &middot; SQL 規範內容</span><small class=\"diagram-muted\">_collab_docs &mdash; durable source of truth, versioned</small></div><div class=\"diagram-card layer\"><span class=\"diagram-pill\">3 &middot; 由 updatedAt 門控的對帳</span><small class=\"diagram-muted\">代理編輯透過 SQL 更新時間傳播</small></div><div class=\"diagram-card layer\"><span class=\"diagram-pill\">4 &middot; 主用戶端選舉</span><small class=\"diagram-muted\">恰好一個標籤頁面應用快照</small></div><div class=\"diagram-card layer\"><span class=\"diagram-pill ok\">5 &middot; SSE 快速路徑 + 輪詢</span><small class=\"diagram-muted\">約幾十毫秒,任何地方都可降級為 2 秒輪詢</small></div></div>",
42
42
  "css": ".diagram-stack{display:flex;flex-direction:column;gap:8px}.diagram-stack .layer{display:flex;flex-direction:column;gap:4px;padding:12px 14px}"
43
43
  }
44
44
  ```
@@ -46,8 +46,8 @@ description: "多使用者協作編輯,其中 AI 代理是一流的同行:CR
46
46
  ### 1。 Yjs Y.Doc(CRDT層)
47
47
 
48
48
  每個協作檔案都是一個包含共用型別的 `Y.Doc` — 通常是
49
- `Y.XmlFragment` 用於富文本(TipTap 讀取的 ProseMirror 節點樹)或
50
- `Y.Map` / `Y.Array` 用於結構化 JSON 資料。 Yjs合並並發更新
49
+ `Y.XmlFragment` 用於富文字(TipTap 讀取的 ProseMirror 節點樹)或
50
+ `Y.Map` / `Y.Array` 用於結構化 JSON 資料。 Yjs合併並發更新
51
51
  沒有中央協調員;任何兩個交換狀態的用戶端
52
52
  無論順序如何,結果都是相同的。
53
53
 
@@ -57,15 +57,15 @@ Yjs 狀態以 Base64 編碼的二進制形式儲存在 `_collab_docs` 表中。
57
57
  該表由框架管理且與提供者無關(SQLite 和 Postgres 使用
58
58
  相同的模式)。每行都有一個樂觀並發版本列
59
59
  防止並發寫入競爭。墓碑壓縮會機會性地執行
60
- 當存儲的 blob 超過新編碼狀態的 4 倍時 — 無後台作業
60
+ 當儲存的 blob 超過新編碼狀態的 4 倍時 — 無背景作業
61
61
  必需。
62
62
 
63
63
  ### 3。 `updatedAt` 門控協調(代理編輯傳播)
64
64
 
65
- 代理 actions 不會推送到進程中的 Yjs。相反,該操作會編輯
65
+ 代理 actions 不會推送到行程中的 Yjs。相反,該操作會編輯
66
66
  規範的 SQL 內容列和凹凸 `updatedAt`。變更同步系統
67
- 檢測到碰撞,開啟的編輯器重新獲取紀錄,並且主要用戶端
68
- 通過 `setContent` 將新內容應用到共用的 Y.Doc 中。一個`updatedAt`
67
+ 偵測到碰撞,開啟的編輯器重新取得紀錄,並且主要用戶端
68
+ 透過 `setContent` 將新內容應用到共用的 Y.Doc 中。一個`updatedAt`
69
69
  gate 確保僅采用真正較新的內容 - 滯後的民意調查回應
70
70
  無法恢復編輯。
71
71
 
@@ -80,27 +80,27 @@ gate 確保僅采用真正較新的內容 - 滯後的民意調查回應
80
80
 
81
81
  ### 5。 SSE 快速路徑+輪詢回退(傳輸)
82
82
 
83
- 協作更新事件通過兩條路徑傳輸:
83
+ 協作更新事件透過兩條路徑傳輸:
84
84
 
85
85
  - **SSE 快速路徑** — 用戶端訂閱 `/_agent-native/poll-events`
86
86
  (`useDbSync` 使用的相同 `EventSource`)。協作更新事件到來
87
87
  推送式,通常為數十毫秒。雖然 SSE 很健康
88
- 輪詢循環放松到較慢的節奏(預設情況下約為 12 秒)。
88
+ 輪詢迴圈放松到較慢的節奏(預設情況下約為 12 秒)。
89
89
  - **輪詢回退** — `/_agent-native/poll?since=N` 每 2 秒輪詢一次
90
90
  當 SSE 不可用時。這使得協作可以在任何部署上進行
91
91
  目標 - 包括持久連線的無伺服器功能
92
- 不可能,不同的調用可以處理不同的請求。
92
+ 不可能,不同的呼叫可以處理不同的請求。
93
93
 
94
- 本機 Yjs 更新已去抖並與 `Y.mergeUpdates` 合並(約 80 毫秒)
95
- 在發送到伺服器之前,減少擊鍵級別的網路流量。
96
- 批次立即在 `visibilitychange` 或 `pagehide` 上刷新。一個
94
+ 本機 Yjs 更新已去抖並與 `Y.mergeUpdates` 合併(約 80 毫秒)
95
+ 在傳送到伺服器之前,減少擊鍵層級的網路流量。
96
+ 批次立即在 `visibilitychange` 或 `pagehide` 上重新整理。一個
97
97
  狀態向量差異(`GET /:docId/state?stateVector=…`)僅在
98
98
  重新連線、環形緩衝區溢出或每 15 個輪詢週期 - 不是每個
99
- 循環。
99
+ 迴圈。
100
100
 
101
101
  網路錯誤使用帶抖動的指數退避,上限約為 15 秒。
102
102
 
103
- ```an-diagram title="兩條編輯路徑,一條合並" summary="人類擊鍵流程 Y.Doc → 伺服器 → SSE。代理編輯經過 SQL:操作在更新時發生碰撞,主要客戶進行協調,然後更改重新進入 Yjs。"
103
+ ```an-diagram title="兩條編輯路徑,一條合併" summary="人類擊鍵流程 Y.Doc → 伺服器 → SSE。代理編輯經過 SQL:操作在更新時發生碰撞,主要客戶進行協調,然後更改重新進入 Yjs。"
104
104
  {
105
105
  "html": "<div class=\"diagram-collab\"><div class=\"lane\"><span class=\"diagram-pill\">人工編輯</span><div class=\"diagram-node\">Y.Doc update<br><small class=\"diagram-muted\">debounce 約 80ms</small></div><span class=\"diagram-arrow diagram-muted\" aria-hidden=\"true\">&rarr;</span><div class=\"diagram-box\" data-rough>POST /update<br><small class=\"diagram-muted\">apply + persist</small></div><span class=\"diagram-arrow diagram-accent\" aria-hidden=\"true\">&rarr;</span><div class=\"diagram-box diagram-accent\">SSE push<br><small class=\"diagram-muted\">to all peers</small></div></div><div class=\"lane\"><span class=\"diagram-pill warn\">代理編輯</span><div class=\"diagram-node\">Action 寫入 SQL<br><small class=\"diagram-muted\">更新 updatedAt</small></div><span class=\"diagram-arrow diagram-muted\" aria-hidden=\"true\">&rarr;</span><div class=\"diagram-box\" data-rough>主用戶端<br><small class=\"diagram-muted\">setContent 寫入 Y.Doc</small></div><span class=\"diagram-arrow diagram-accent\" aria-hidden=\"true\">&rarr;</span><div class=\"diagram-box diagram-accent\">POST /update<br><small class=\"diagram-muted\">re-enters Yjs &middot; SSE push</small></div></div></div>",
106
106
  "css": ".diagram-collab{display:flex;flex-direction:column;gap:14px}.diagram-collab .lane{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.diagram-collab .diagram-arrow{font-size:22px;line-height:1}"
@@ -115,9 +115,9 @@ gate 確保僅采用真正較新的內容 - 滯後的民意調查回應
115
115
  pnpm add @tiptap/extension-collaboration @tiptap/extension-collaboration-caret @tiptap/y-tiptap @tiptap/core
116
116
  ```
117
117
 
118
- ### 2。新增Vite最佳化Deps
118
+ ### 2。新增 Vite 最佳化Deps
119
119
 
120
- 防止 Vite 在開發過程中以不兼容的方式重新捆綁 TipTap:
120
+ 防止 Vite 在開發過程中以不相容的方式重新捆綁 TipTap:
121
121
 
122
122
  ```ts
123
123
  // vite.config.ts
@@ -143,7 +143,7 @@ export default defineConfig({
143
143
  ### 3。新增協作伺服器外掛
144
144
 
145
145
  始終將 `resourceType` 設定為註冊的可共用資源的名稱
146
- 通過 `registerShareableResource`。如果沒有它,協作推送事件就會被傳遞
146
+ 透過 `registerShareableResource`。如果沒有它,協作推送事件就會被傳遞
147
147
  所有經過驗證的使用者(沒有檔案級範圍)和伺服器
148
148
  紀錄一次性警告。
149
149
 
@@ -216,31 +216,31 @@ useEffect(() => {
216
216
  }, [ydoc, editor, isLoaded]);
217
217
  ```
218
218
 
219
- 使用者身分來源自工作階段電子郵件。該框架提供了 `emailToColor()` 和 `emailToName()` 幫助程序,用於根據電子郵件地址生成一致的光標顏色和顯示名稱。
219
+ 使用者身分來源自工作階段電子郵件。此框架提供了 `emailToColor()` 和 `emailToName()` 幫助程式,用於根據電子郵件地址產生一致的游標顏色和顯示名稱。
220
220
 
221
221
  ## 評論 {#comments}
222
222
 
223
- 範本可以新增評論系統,對檔案進行線程討論。內容範本的評論系統包括完整的實現:
223
+ 範本可以新增評論系統,對檔案進行對話串討論。內容範本的評論系統包括完整的實現:
224
224
 
225
- - `document_comments` SQL 表(話題、回複、已解決狀態)
226
- - 內容範本的REST路由,用於在`/api/comments/:id`處更新/刪除;通過 `add-comment` / `list-comments` actions 建立並列出執行。自訂範本針對核心 `POST /_agent-native/collab/:docId/search-replace` 路由實現自己的等效端點。
227
- - 帶有線索視圖和回複的評論側邊欄 UI
228
- - 解析/取消解析線程
229
- - **發送到 AI** 按鈕 - 通過 `sendToAgentChat()` 將評論線程上下文發送到代理聊天
225
+ - `document_comments` SQL 表(話題、回覆、已解決狀態)
226
+ - 內容範本的REST路由,用於在`/api/comments/:id`處更新/刪除;透過 `add-comment` / `list-comments` actions 建立並列出執行。自訂範本針對核心 `POST /_agent-native/collab/:docId/search-replace` 路由實現自己的等效端點。
227
+ - 帶有線索檢視和回覆的評論側邊欄 UI
228
+ - 解析/取消解析對話串
229
+ - **傳送到 AI** 按鈕 - 透過 `sendToAgentChat()` 將評論對話串脈絡傳送到代理聊天
230
230
  - 代理actions:`list-comments`,`add-comment`
231
- - Notion評論同步:`sync-notion-comments`雙向拉/推操作
231
+ - Notion 評論同步:`sync-notion-comments`雙向拉/推操作
232
232
 
233
- ## 協作路線 {#collab-routes}
233
+ ## 協作路由 {#collab-routes}
234
234
 
235
235
  所有協作路由均由協作外掛自動掛載在 `/_agent-native/collab/` 下:
236
236
 
237
- | 路線 | 目的 |
237
+ | 路由 | 目的 |
238
238
  | ----------------------------- | ------------------------------------------ |
239
- | `GET /:docId/state` | 獲取完整的 Y.Doc 狀態 (base64) |
239
+ | `GET /:docId/state` | 取得完整的 Y.Doc 狀態 (base64) |
240
240
  | `POST /:docId/update` | 應用用戶端 Yjs 更新 |
241
241
  | `POST /:docId/text` | 應用全文替換(基於差異) |
242
- | `POST /:docId/search-replace` | 在 Y.XmlFragment 中進行外科手術式查找/替換 |
243
- | `POST /:docId/awareness` | 同步光標/存在狀態 |
242
+ | `POST /:docId/search-replace` | 在 Y.XmlFragment 中進行外科手術式尋找/替換 |
243
+ | `POST /:docId/awareness` | 同步游標/存在狀態 |
244
244
  | `GET /:docId/users` | 列出檔案上的活躍使用者 |
245
245
 
246
246
  ## 代理編輯操作 {#edit-document}
@@ -262,7 +262,7 @@ pnpm action edit-document --id doc123 --find "delete me" --replace ""
262
262
 
263
263
  ## 存在套件 {#presence-kit}
264
264
 
265
- 存在套件在現有感知層之上提供 Liveblocks/Figma 級實時光標和選取基元。
265
+ 存在套件在現有感知層之上提供 Liveblocks/Figma 級即時游標和選取基元。
266
266
 
267
267
  從焦點瀏覽器子路徑匯入用戶端狀態和編輯器 UI:
268
268
 
@@ -276,7 +276,7 @@ import {
276
276
  } from "@agent-native/core/client/collab";
277
277
  ```
278
278
 
279
- 伺服器端代理存在幫助程序保留在較低級別的協作包中:
279
+ 伺服器端代理存在幫助程式保留在較低階別的協作包中:
280
280
 
281
281
  ```ts
282
282
  import {
@@ -286,19 +286,19 @@ import {
286
286
  } from "@agent-native/core/collab";
287
287
  ```
288
288
 
289
- ### 公開API {#presence-public-api}
289
+ ### 公開 API {#presence-public-api}
290
290
 
291
291
  | API | 目的 |
292
292
  | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
293
- | `useCollaborativeDoc(options)` | 建立穩定的 `Y.Doc` 和感知執行個體,處理狀態向量同步、SSE 快速路徑、輪詢回退、活動使用者和代理存在標志。 |
294
- | `usePresence(awareness, localClientId)` | 派生遠端參與者並發布任意本機感知欄位,例如光標、選取、視口或工具模式。 |
295
- | `<PresenceBar>` | 渲染活躍的協作者和人工智能代理,並帶有可選的頭像點擊跟隨模式連線。 |
296
- | `<LiveCursorOverlay>` | 根據標準化的 0-1 坐標在定位容器上渲染遠端光標標籤。 |
293
+ | `useCollaborativeDoc(options)` | 建立穩定的 `Y.Doc` 和感知執行個體,處理狀態向量同步、SSE 快速路徑、輪詢回退、活動使用者和代理存在標誌。 |
294
+ | `usePresence(awareness, localClientId)` | 派生遠端參與者並發布任意本機感知欄位,例如游標、選取、視口或工具模式。 |
295
+ | `<PresenceBar>` | 渲染活躍的協作者和人工智慧代理,並帶有可選的頭像點選跟隨模式連線。 |
296
+ | `<LiveCursorOverlay>` | 根據標準化的 0-1 坐標在定位容器上渲染遠端游標標籤。 |
297
297
  | `<RemoteSelectionRings>` | 在您的應用解析的選定 DOM 元素週圍渲染彩色環和標籤。 |
298
- | `useFollowUser(options)` | 當關注的參與者發布視口更改時調用回調。 |
298
+ | `useFollowUser(options)` | 當關注的參與者發布視口更改時呼叫回調。 |
299
299
  | `toNormalized()` / `fromNormalized()` | 將指針坐標與標準化容器坐標相互轉換。 |
300
300
  | `dedupeCollabUsersByEmail()` | 建置自訂頭像堆堆疊,無需一個使用者在每個開啟的分頁中顯示一次。 |
301
- | `useCollaborativeMap()` / `useCollaborativeArray()` | 用於 Y.Map/Y.Array 結構化協作的用戶端掛鉤。視為較低級別,直到範本證明準確的產品模式。 |
301
+ | `useCollaborativeMap()` / `useCollaborativeArray()` | 用於 Y.Map/Y.Array 結構化協作的用戶端掛鉤。視為較低階別,直到範本證明準確的產品模式。 |
302
302
 
303
303
  `UseCollaborativeDocOptions`:
304
304
 
@@ -309,15 +309,15 @@ import {
309
309
  | `pollIntervalWithSse` | SSE 執行狀況良好時輪詢間隔較慢。預設值:`12000`。 |
310
310
  | `pauseWhenHidden` | 隱藏時暫停遠端更新/狀態輪詢。預設值:`true`。 |
311
311
  | `baseUrl` | 協作端點前綴。預設值:`/_agent-native/collab`。 |
312
- | `requestSource` | 穩定的分頁/來源 ID 用於忽略自產生的刷新噪音。 |
313
- | `user` | 光標中顯示 `{ name, email, color }` 並存在 UI。 |
312
+ | `requestSource` | 穩定的分頁/來源 ID 用於忽略自產生的重新整理噪音。 |
313
+ | `user` | 游標中顯示 `{ name, email, color }` 並存在 UI。 |
314
314
 
315
315
  `UseCollaborativeDocResult`:
316
316
 
317
317
  | 欄位 | 描述 |
318
318
  | -------------- | --------------------------------------------------- |
319
319
  | `ydoc` | 目前`docId`的穩定`Y.Doc`。 |
320
- | `awareness` | 光標、選取和跟隨模式使用的 Yjs Awareness 執行個體。 |
320
+ | `awareness` | 游標、選取和跟隨模式使用的 Yjs Awareness 執行個體。 |
321
321
  | `isLoading` | 初始伺服器狀態仍在載入中。 |
322
322
  | `isSynced` | 掛鉤已趕上伺服器狀態。 |
323
323
  | `activeUsers` | 來自意識的人類合作者。 |
@@ -328,12 +328,12 @@ import {
328
328
 
329
329
  感知狀態更改現在以約 150 毫秒的速度傳播,而不是 2 秒的輪詢週期:
330
330
 
331
- - **用戶端 → 伺服器**:對 `setPresence()` 或 `awareness.setLocalStateField()` 的任何調用都會在 150 毫秒內觸發對 POST 到 `/_agent-native/collab/:docId/awareness` 的節流,將快速更改合並為一個請求。
332
- - **伺服器 → 用戶端**:`postAwareness` 處理程序在存儲後發出 `AWARENESS_CHANGE_EVENT`。 `/_agent-native/poll-events` SSE 流將這些事件推送式轉發到連線的對等點。僅輪詢部署繼續工作 - 光標降級到輪詢節奏而不會出現錯誤。
331
+ - **用戶端 → 伺服器**:對 `setPresence()` 或 `awareness.setLocalStateField()` 的任何呼叫都會在 150 毫秒內觸發對 POST 到 `/_agent-native/collab/:docId/awareness` 的節流,將快速更改合併為一個請求。
332
+ - **伺服器 → 用戶端**:`postAwareness` 處理常式在儲存後發出 `AWARENESS_CHANGE_EVENT`。 `/_agent-native/poll-events` SSE 流將這些事件推送式轉發到連線的對等點。僅輪詢部署繼續工作 - 游標降級到輪詢節奏而不會出現錯誤。
333
333
 
334
334
  ### `usePresence(awareness, localClientId)` {#use-presence}
335
335
 
336
- 返回遠端參與者的反應列表和本機線上狀態有效負載的設定器:
336
+ 返回遠端參與者的反應清單和本機線上狀態有效負載的設定器:
337
337
 
338
338
  ```ts
339
339
  import { usePresence } from "@agent-native/core/client";
@@ -352,11 +352,11 @@ setPresence({ cursor: { x: 0.4, y: 0.7 }, selection: "#hero" });
352
352
  // }
353
353
  ```
354
354
 
355
- 代理 (AGENT_CLIENT_ID) 顯示為 `isAgent: true` 的一級參與者。當 `agentUpdateSelection()` 被稱為伺服器端時,它的選取元資料像任何其他參與者一樣流經 `usePresence`。
355
+ 代理 (AGENT_CLIENT_ID) 顯示為 `isAgent: true` 的一級參與者。當 `agentUpdateSelection()` 被稱為伺服器端時,它的選取中繼資料像任何其他參與者一樣流經 `usePresence`。
356
356
 
357
357
  ### `LiveCursorOverlay` {#live-cursor-overlay}
358
358
 
359
- 將遠端光標呈現為容器元素上的絕對定位標籤:
359
+ 將遠端游標呈現為容器元素上的絕對定位標籤:
360
360
 
361
361
  ```tsx
362
362
  import { LiveCursorOverlay } from "@agent-native/core/client";
@@ -372,7 +372,7 @@ import { LiveCursorOverlay } from "@agent-native/core/client";
372
372
  </div>;
373
373
  ```
374
374
 
375
- 代理的光標清晰地呈現為閃爍圖標。光標在 10 秒不活動後淡出,並以 120 毫秒平滑 CSS 過渡。
375
+ 代理的游標清晰地呈現為閃爍圖示。游標在 10 秒不活動後淡出,並以 120 毫秒平滑 CSS 過渡。
376
376
 
377
377
  ### `RemoteSelectionRings` {#remote-selection-rings}
378
378
 
@@ -396,7 +396,7 @@ import { RemoteSelectionRings } from "@agent-native/core/client";
396
396
 
397
397
  ### `useFollowUser` {#follow-user}
398
398
 
399
- 每當跟隨的參與者的視口發生變化時調用回調:
399
+ 每當跟隨的參與者的視口發生變化時呼叫回調:
400
400
 
401
401
  ```ts
402
402
  import { useFollowUser } from "@agent-native/core/client";
@@ -448,9 +448,9 @@ setPresence({ cursor: norm });
448
448
  const px = fromNormalized(norm, container.getBoundingClientRect());
449
449
  ```
450
450
 
451
- ### 代理光標管道 {#agent-cursor}
451
+ ### 代理游標管道 {#agent-cursor}
452
452
 
453
- 伺服器端actions調用`agentUpdateSelection()`來發布代理在哪裡工作。設計範本的 `edit-design` 和 `generate-design` actions 自動調用此函數。其他範本也可以執行相同的操作:
453
+ 伺服器端actions呼叫`agentUpdateSelection()`來發布代理在哪裡工作。設計範本的 `edit-design` 和 `generate-design` actions 自動呼叫此函式。其他範本也可以執行相同的操作:
454
454
 
455
455
  ```ts
456
456
  import {
@@ -471,7 +471,7 @@ try {
471
471
  }
472
472
  ```
473
473
 
474
- 選取元資料作為 `other.presence.selection` 在連線的用戶端上通過 `usePresence` 流動。
474
+ 選取中繼資料作為 `other.presence.selection` 在連線的用戶端上透過 `usePresence` 流動。
475
475
 
476
476
  ---
477
477
 
@@ -480,29 +480,29 @@ try {
480
480
  所有路由均由協作自動掛載在`/_agent-native/collab/`下
481
481
  外掛:
482
482
 
483
- | 路線 | 目的 |
483
+ | 路由 | 目的 |
484
484
  | ----------------------------- | --------------------------------------------------------- |
485
485
  | `GET /:docId/state` | 完整的 Y.Doc 狀態 (base64)。接受 `?stateVector=` 進行差異 |
486
486
  | `POST /:docId/update` | 應用用戶端 Yjs 更新 (base64)。預設最大 2 MB |
487
487
  | `POST /:docId/text` | 應用全文替換(基於差異) |
488
- | `POST /:docId/search-replace` | 在 Y.XmlFragment 中進行外科手術式查找/替換 |
488
+ | `POST /:docId/search-replace` | 在 Y.XmlFragment 中進行外科手術式尋找/替換 |
489
489
  | `POST /:docId/json` | 將完整的 JSON 差異應用於 Y.Map/Y.Array |
490
490
  | `GET /:docId/json` | 讀取目前JSON狀態 |
491
491
  | `POST /:docId/patch` | 應用手術 JSON 補丁操作(更新插入/刪除/重新排序) |
492
- | `POST /:docId/awareness` | 同步光標/存在狀態 |
492
+ | `POST /:docId/awareness` | 同步游標/存在狀態 |
493
493
  | `GET /:docId/users` | 列出檔案上的活躍使用者 |
494
494
 
495
495
  ## 傳輸和性能 {#transport}
496
496
 
497
497
  | 財產 | 值 |
498
498
  | -------------------- | -------------------------------------------- |
499
- | 更新去抖 | ~80 ms(通過 `Y.mergeUpdates` 合並快速擊鍵) |
500
- | 輪詢間隔(無 SSE) | 2秒(可通過`pollInterval`設定) |
501
- | 輪詢間隔(SSE 健康) | ~12秒(可通過`pollIntervalWithSse`設定) |
502
- | 狀態向量獲取頻率 | 重新連線、環形緩衝區間隙或每 15 個輪詢週期時 |
499
+ | 更新去抖 | ~80 ms(透過 `Y.mergeUpdates` 合併快速擊鍵) |
500
+ | 輪詢間隔(無 SSE) | 2秒(可透過`pollInterval`設定) |
501
+ | 輪詢間隔(SSE 健康) | ~12秒(可透過`pollIntervalWithSse`設定) |
502
+ | 狀態向量取得頻率 | 重新連線、環形緩衝區間隙或每 15 個輪詢週期時 |
503
503
  | 出錯時退避 | 帶抖動的指數,上限約為 15 秒 |
504
- | 最大有效負載(寫入) | 預設 2 MB,可通過 `maxPayloadBytes` 設定 |
505
- | 壓縮閾值 | 存儲的 blob > 4× 新編碼觸發墓碑緊湊 |
504
+ | 最大有效負載(寫入) | 預設 2 MB,可透過 `maxPayloadBytes` 設定 |
505
+ | 壓縮閾值 | 儲存的 blob > 4× 新編碼觸發墓碑緊湊 |
506
506
  | 每次寫入資料庫讀取 | 1(僅在`persistMergedState`內部讀取CAS版本) |
507
507
 
508
508
  ## 安全 {#security}
@@ -516,7 +516,7 @@ createCollabPlugin({
516
516
  ```
517
517
 
518
518
  如果沒有 `resourceType`,外掛會紀錄警告並廣播協作推送
519
- 部署中所有經過驗證的使用者的事件,無檔案級別
519
+ 部署中所有經過驗證的使用者的事件,無檔案層級
520
520
  範圍。非所有者退回到狀態向量追趕(安全但更高
521
521
  延遲),無論是否設定 `resourceType`。
522
522
 
@@ -524,7 +524,7 @@ createCollabPlugin({
524
524
 
525
525
  所有協作路由都需要驗證。當 `resourceType` 設定時,讀取
526
526
  至少需要檢視者存取權限,並且寫入需要編輯者存取權限,使用
527
- 與共用系統相同的 `resolveAccess` / `assertAccess` 幫助程序。 404
527
+ 與共用系統相同的 `resolveAccess` / `assertAccess` 幫助程式。 404
528
528
  (不是 403)在存取失敗時返回,以避免泄漏檔案存在。
529
529
 
530
530
  ### 有效負載限制
@@ -542,13 +542,13 @@ createCollabPlugin({
542
542
 
543
543
  ### 意識範圍
544
544
 
545
- 意識路線(`POST /awareness`、`GET /users`)由相同的門控
545
+ 意識路由(`POST /awareness`、`GET /users`)由相同的門控
546
546
  讀取時進行存取檢查 - 缺乏檢視者存取權限的使用者無法了解其他人
547
547
  正在編輯檔案。
548
548
 
549
549
  ## 模式 {#patterns}
550
550
 
551
- ### 結構化資料的粒度伺服器端合並
551
+ ### 結構化資料的粒度伺服器端合併
552
552
 
553
553
  對於結構化檔案(幻燈片、表單建置器、設計檔案),Yjs
554
554
  當兩個代理或使用者重寫相同的主體協作模型時,可能會發生衝突
@@ -571,7 +571,7 @@ type PatchDeckOp =
571
571
  兩個使用者編輯不同的幻燈片均成功;
572
572
  甲板層。
573
573
 
574
- **表單 (`patch-form-fields`)** — 使用更新插入/刪除/重新排序進行欄位級合並
574
+ **表單 (`patch-form-fields`)** — 使用更新插入/刪除/重新排序進行欄位級合併
575
575
  操作,因此對不同表單欄位的並發編輯都可以生存。
576
576
 
577
577
  在以下情況下使用此模式:
@@ -582,13 +582,13 @@ type PatchDeckOp =
582
582
 
583
583
  在以下情況下使用主體協作(Y.XmlFragment + TipTap):
584
584
 
585
- - 該檔案是自由格式的富文本,可以編輯任何區域。
586
- - 游標級 CRDT 合並很重要。
585
+ - 該檔案是自由格式的富文字,可以編輯任何區域。
586
+ - 游標級 CRDT 合併很重要。
587
587
 
588
- ### 協作撤消範圍(Y.UndoManager)
588
+ ### 協作復原範圍(Y.UndoManager)
589
589
 
590
- 設計範本使用 `Y.UndoManager` 將撤消/重做範圍限制為本機
591
- 使用者自己的編輯。遠端對等編輯和代理編輯永遠不會被撤消
590
+ 設計範本使用 `Y.UndoManager` 將復原/重做範圍限制為本機
591
+ 使用者自己的編輯。遠端對等編輯和代理編輯永遠不會被復原
592
592
  使用者的 Cmd+Z。
593
593
 
594
594
  ```ts
@@ -614,7 +614,7 @@ undoManager.redo(); // Shift+Cmd+Z
614
614
  關鍵屬性:
615
615
 
616
616
  - `trackedOrigins` 必須是 `Set`。僅具有匹配來源的 transactions
617
- 在撤消堆堆疊中捕獲。
617
+ 在復原堆堆疊中捕獲。
618
618
  - 遠端更新(來源 `"remote"`)和代理更新(來源 `"agent"`)
619
619
  從未被捕獲。
620
620
  - 當活動檔案發生變化時,重新建立並處置管理器;陳舊
@@ -625,23 +625,23 @@ undoManager.redo(); // Shift+Cmd+Z
625
625
  ```an-callout
626
626
  {
627
627
  "tone": "risk",
628
- "body": "**同一區域同時重寫是最後寫入獲勝。**如果代理重寫了一個段落,而人類在“完全相同的區域”中有未儲存的編輯,則主要用戶端快照可能會破壞正在進行的人類編輯。不同區域中的編輯始終通過 CRDT 幹淨地合並。對於結構化檔案,請使用粒度伺服器端合並來完全避免這種情況。"
628
+ "body": "**同一區域同時重寫是最後寫入獲勝。**如果代理重寫了一個段落,而人類在“完全相同的區域”中有未儲存的編輯,則主要用戶端快照可能會破壞正在進行的人類編輯。不同區域中的編輯始終透過 CRDT 幹淨地合併。對於結構化檔案,請使用粒度伺服器端合併來完全避免這種情況。"
629
629
  }
630
630
  ```
631
631
 
632
632
  - **同區域同時重寫為 LWW** — 如果代理重寫了
633
633
  段落和人類在完全相同的區域中有未儲存的編輯,
634
634
  主要客戶快照可以覆蓋人類正在進行的更改。編輯
635
- 不同區域通過 CRDT 正確合並。細粒度伺服器端合並
635
+ 不同區域透過 CRDT 正確合併。細粒度伺服器端合併
636
636
  (見上文)避免了結構化檔案的這種情況。
637
- - **無伺服器上的進程內寫入鎖** — `_writeLocks` 對應為
638
- 進程本機。並發請求登陸不同的Serverless
639
- 調用在 SQL CAS 層(樂觀並發)序列化
640
- 比內存鎖。這是安全的,但意味著高吞吐量場景
637
+ - **無伺服器上的行程內寫入鎖** — `_writeLocks` 對應為
638
+ 行程本機。並發請求登陸不同的Serverless
639
+ 呼叫在 SQL CAS 層(樂觀並發)序列化
640
+ 比記憶鎖。這是安全的,但意味著高吞吐量場景
641
641
  無伺服器可能會看到更多 CAS 重試。
642
- - **感知是針對每個進程的**感知內存存儲是
643
- 進程本機。無伺服器/多進程部署看到部分感知
644
- 每次調用的狀態。客戶仍然會收到每個的完整認知快照
642
+ - **感知是針對每個行程的**感知記憶儲存是
643
+ 行程本機。無伺服器/多行程部署看到部分感知
644
+ 每次呼叫的狀態。客戶仍然會收到每個的完整認知快照
645
645
  輪詢週期,因此狀態指示器會在一個輪詢間隔內更新。
646
646
 
647
647
  ## 存在 {#presence}
@@ -656,10 +656,10 @@ undoManager.redo(); // Shift+Cmd+Z
656
656
  (持久存在心跳)。
657
657
 
658
658
  Use `emailToColor(email)` and `emailToName(email)` from
659
- `@agent-native/core/client` 生成一致的光標顏色和顯示
659
+ `@agent-native/core/client` 產生一致的游標顏色和顯示
660
660
  電子郵件地址中的姓名。
661
661
 
662
- 使用 `activeUsers` 渲染的 `PresenceBar` 顯示活人和特工
662
+ 使用 `activeUsers` 渲染的 `PresenceBar` 顯示活人和代理
663
663
  合作者。每張幻燈片的存在(哪些使用者正在檢視給定的幻燈片)
664
664
  同一意識狀態之上的層。
665
665
 
@@ -671,10 +671,10 @@ Use `emailToColor(email)` and `emailToName(email)` from
671
671
  和`assertAccess`為`resourceType`引用的存取模型。
672
672
  - [Sharing](/docs/sharing) — 如何共用檔案以及如何授予存取權限。
673
673
  - [Template: Content](/docs/template-content) — 參考實現
674
- 協作富文本編輯。
674
+ 協作富文字編輯。
675
675
  - [Template: Slides](/docs/template-slides) — 精細的 `patch-deck` 操作
676
676
  結構化並發編輯。
677
677
  - [Template: Forms](/docs/template-forms) — 欄位級 `patch-form-fields`
678
- 伺服器端合並。
679
- - [Template: Design](/docs/template-design) — `Y.UndoManager` 撤消/重做範圍
678
+ 伺服器端合併。
679
+ - [Template: Design](/docs/template-design) — `Y.UndoManager` 復原/重做範圍
680
680
  本機使用者編輯。
@@ -17,17 +17,17 @@ description: "Cron 調度提示代理自行執行 - 每日摘要、每週報告
17
17
  {
18
18
  "filename": "jobs/morning-digest.md",
19
19
  "language": "markdown",
20
- "code": "---\nschedule: \"0 7 * * *\"\nenabled: true\nrunAs: creator\n---\n\n# 早間摘要\n\n總結隔夜收到的電子郵件。按發件人域分組。\n將今天看起來需要回複的前 3 個線程固定到\n\"Needs reply\" 標籤。對任何顯而易見的問題草擬答複。",
20
+ "code": "---\nschedule: \"0 7 * * *\"\nenabled: true\nrunAs: creator\n---\n\n# 早間摘要\n\n總結隔夜收到的電子郵件。按發件人域分組。\n將今天看起來需要回覆的前 3 個對話串固定到\n\"Needs reply\" 標籤。對任何顯而易見的問題草擬答覆。",
21
21
  "annotations": [
22
22
  { "lines": "2", "label": "當", "note": "標準 5 欄位 cron — `0 7 * * *` 是每天 07:00。" },
23
23
  { "lines": "3", "label": "暫停開關", "note": "Flip to `false` to stop the job without deleting it." },
24
24
  { "lines": "4", "label": "身分", "note": "`creator` runs with the owner's identity and `ANTHROPIC_API_KEY`; `shared` uses the org's key." },
25
- { "lines": "7-12", "label": "提示", "note": "主體只是一個提示 - 代理在每次觸發時使用其所有常規工具和工作區上下文執行它。" }
25
+ { "lines": "7-12", "label": "提示", "note": "主體只是一個提示 - 代理在每次觸發時使用其所有一般工具和工作區脈絡執行它。" }
26
26
  ]
27
27
  }
28
28
  ```
29
29
 
30
- 就是這樣。內文是代理在每次計畫觸發時執行的提示。代理可以存取其在互動式聊天中擁有的所有相同工具和工作區上下文 - actions、skills、內存、連線的 MCP 伺服器、子代理。
30
+ 就是這樣。內文是代理在每次計畫觸發時執行的提示。代理可以存取其在互動式聊天中擁有的所有相同工具和工作區脈絡 - actions、skills、記憶、連線的 MCP 伺服器、子代理。
31
31
 
32
32
  ## 前線 {#frontmatter}
33
33
 
@@ -36,14 +36,14 @@ description: "Cron 調度提示代理自行執行 - 每日摘要、每週報告
36
36
  | `schedule` | cron 表達式 | _(必填)_ | 標準 5 欄位 cron。 `"0 7 * * *"` = 每天 07:00; `"0 */4 * * *"` = 每 4 小時一次。 |
37
37
  | `enabled` | 布爾值 | `true` | 翻轉到 `false` 以暫停而不刪除作業。 |
38
38
  | `runAs` | `"creator"` \| `"shared"` | `"creator"` | `"creator"` 以作業所有者的身分和 `ANTHROPIC_API_KEY` 執行。 `"shared"` 使用組織的金鑰。 |
39
- | `createdBy` | 電子郵件 | _(自動)_ | 當通過工作區 UI 或代理建立作業時填充。 |
39
+ | `createdBy` | 電子郵件 | _(自動)_ | 當透過工作區 UI 或代理建立作業時填充。 |
40
40
  | `orgId` | 字串 | _(自動)_ | 組織範圍;從建立者的活動組織繼承。 |
41
- | `lastRun` | ISO時間戳 | _(託管)_ | 由調度程序在每次執行後寫入。 |
41
+ | `lastRun` | ISO時間戳 | _(託管)_ | 由調度程式在每次執行後寫入。 |
42
42
  | `lastStatus` | `"success"` \| `"error"` \| … | _(託管)_ | 最新結果。 |
43
43
  | `lastError` | 字串 | _(託管)_ | 如果上次執行失敗,則會出現錯誤訊息。 |
44
- | `nextRun` | ISO時間戳 | _(託管)_ | 由`schedule`計算得出;由調度程序用來決定下次何時觸發。 |
44
+ | `nextRun` | ISO時間戳 | _(託管)_ | 由`schedule`計算得出;由調度程式用來決定下次何時觸發。 |
45
45
 
46
- `last*` 和 `nextRun` 欄位由調度程序寫入。您可以閱讀它們以檢視歷史紀錄,但不要手動編輯它們 - 下次執行將覆蓋它們。
46
+ `last*` 和 `nextRun` 欄位由調度程式寫入。您可以閱讀它們以檢視歷史紀錄,但不要手動編輯它們 - 下次執行將覆蓋它們。
47
47
 
48
48
  ## cron 語法 {#cron}
49
49
 
@@ -59,7 +59,7 @@ description: "Cron 調度提示代理自行執行 - 每日摘要、每週報告
59
59
  | `0 17 * * 1-5` | 工作日 17:00 |
60
60
  | `0 0 1 * *` | 每個月的第一天 |
61
61
 
62
- 該框架包括用於驗證和呈現 cron 字串的 cron 實用程序(`isValidCron()` 和 `describeCron()`),由資源層和調度程序層在內部使用。
62
+ 此框架包括用於驗證和呈現 cron 字串的 cron 實用程式(`isValidCron()` 和 `describeCron()`),由資源層和調度程式層在內部使用。
63
63
 
64
64
  ## 建立作業 {#creating}
65
65
 
@@ -67,7 +67,7 @@ description: "Cron 調度提示代理自行執行 - 每日摘要、每週報告
67
67
 
68
68
  `+` → **工作區面板中的計畫工作**。填寫提示和時間表。另存為 `jobs/<slug>.md` 並在下一個匹配的刻度處開始執行。
69
69
 
70
- ### 通過詢問代理
70
+ ### 透過詢問代理
71
71
 
72
72
  > “建立一個計畫工作,每天早上 7 點總結我未讀的電子郵件。”
73
73
 
@@ -75,7 +75,7 @@ description: "Cron 調度提示代理自行執行 - 每日摘要、每週報告
75
75
 
76
76
  ### 手動
77
77
 
78
- 通過框架的資源APIs將Markdown檔案拖放到`jobs/`中:
78
+ 透過框架的資源 APIs Markdown 檔案拖放到 `jobs/` 中:
79
79
 
80
80
  ```ts
81
81
  import { resourcePut } from "@agent-native/core/resources";
@@ -91,11 +91,11 @@ Summarize overnight emails.`,
91
91
  );
92
92
  ```
93
93
 
94
- ## 調度程序如何執行 {#how-scheduler-runs}
94
+ ## 調度程式如何執行 {#how-scheduler-runs}
95
95
 
96
- 調度程序是一個在進程中執行的框架外掛(內部 `processRecurringJobs()` 例程):無論伺服器在何處執行,代理聊天外掛內的 `setInterval` 每 60 秒觸發一次(有 10 秒的啟動延遲)。
96
+ 調度程式是一個在行程中執行的框架外掛(內部 `processRecurringJobs()` 例程):無論伺服器在何處執行,代理聊天外掛內的 `setInterval` 每 60 秒觸發一次(有 10 秒的啟動延遲)。
97
97
 
98
- ```an-diagram title="一個調度程序勾選" summary="每 60 秒,調度程序就會找到到期的作業,將每個作業作為新的代理線程執行,並將結果寫回作業檔案。"
98
+ ```an-diagram title="一個調度程式勾選" summary="每 60 秒,調度程式就會找到到期的作業,將每個作業作為新的代理對話串執行,並將結果寫回作業檔案。"
99
99
  {
100
100
  "html": "<div class=\"sched\"><div class=\"diagram-box accent\"><code>setInterval</code> &bull; 60s &#8635;</div><div class=\"diagram-arrow diagram-muted\" aria-hidden=\"true\">&darr;</div><div class=\"diagram-card\"><span class=\"diagram-pill\">1 &middot; scan</span><small class=\"diagram-muted\">list every enabled <code>jobs/*.md</code> across all owners</small></div><div class=\"diagram-arrow diagram-muted\" aria-hidden=\"true\">&darr;</div><div class=\"diagram-card\"><span class=\"diagram-pill\">2 &middot; due?</span><small class=\"diagram-muted\">compare <code>nextRun</code> to now</small></div><div class=\"diagram-arrow diagram-muted\" aria-hidden=\"true\">&darr;</div><div class=\"diagram-card accent\"><span class=\"diagram-pill accent\">3 &middot; run</span><small class=\"diagram-muted\">fresh agent thread, job body as the user message &mdash; actions, SQL, A2A, email</small></div><div class=\"diagram-arrow diagram-muted\" aria-hidden=\"true\">&darr;</div><div class=\"diagram-card ok\"><span class=\"diagram-pill ok\">4 &middot; record</span><small class=\"diagram-muted\">write <code>lastRun</code> / <code>lastStatus</code> / <code>lastError</code>, recompute <code>nextRun</code></small></div></div>",
101
101
  "css": ".sched{display:flex;flex-direction:column;gap:6px;max-width:520px}.sched .diagram-card{display:flex;flex-direction:column;gap:2px;padding:10px 14px}.sched .diagram-box{align-self:flex-start}.sched .diagram-arrow{font-size:18px;align-self:center}"
@@ -109,7 +109,7 @@ Summarize overnight emails.`,
109
109
  ## 偵錯作業 {#debugging}
110
110
 
111
111
  - 在工作區中開啟 `jobs/<name>.md` — frontmatter 顯示 `lastRun`、`lastStatus`、`lastError`、`nextRun`。
112
- - **無需等待即可測試:**沒有強制發射工具。要按需執行相同的工作,可以將作業的提示貼上到代理聊天中並讓它在那裡執行,或者暫時將計畫設定為下一分鐘,以便調度程序在下一個時間點上選取它(然後恢復真正的 cron)。
112
+ - **無需等待即可測試:**沒有強制發射工具。要按需執行相同的工作,可以將作業的提示貼上到代理聊天中並讓它在那裡執行,或者暫時將計畫設定為下一分鐘,以便調度程式在下一個時間點上選取它(然後恢復真正的 cron)。
113
113
  - **暫停:**翻轉`enabled: false`。檔案保持不變,只是停止執行。
114
114
 
115
115
  ## 代理工具 {#agent-tool}
@@ -129,14 +129,14 @@ Summarize overnight emails.`,
129
129
 
130
130
  不要將重複性作業與 `@agent-native/scheduling` 混淆:
131
131
 
132
- - **重複作業(本頁面)** — cron 計畫*提示*代理在後台執行。框架級別。住在工作區。在任何代理本機應用程式上執行。
133
- - **`@agent-native/scheduling`** — 用於建置行事曆/預訂功能(事件型別、可用窗口、預訂)的可重用域包。為 `calendar` 範本和自訂調度介面提供支持。
132
+ - **重複作業(本頁面)** — cron 計畫*提示*代理在背景執行。框架層級。住在工作區。在任何 Agent-Native 應用程式上執行。
133
+ - **`@agent-native/scheduling`** — 用於建置行事曆/預訂功能(事件型別、可用視窗、預訂)的可重用域包。為 `calendar` 範本和自訂調度介面提供支援。
134
134
 
135
135
  重複性工作是“如何讓代理自行行動?”日程安排包是“如何建置行事曆應用程式?”不同的關注點。
136
136
 
137
- ## 下一步是什么
137
+ ## 下一步是什麼
138
138
 
139
139
  - [**Automations**](/docs/automations) — 將事件觸發器和條件新增到相同的 `jobs/` 格式
140
- - [**Workspace**](/docs/workspace) — 作業與 skills、內存和自訂代理一起存在
141
- - [**Actions**](/docs/actions) — 工作調用的工具
140
+ - [**Workspace**](/docs/workspace) — 作業與 skills、記憶和自訂代理一起存在
141
+ - [**Actions**](/docs/actions) — 工作呼叫的工具
142
142
  - [**Agent Teams**](/docs/agent-teams) - 作業通常會產生子代理來執行並行工作