vibe64 0.1.39 → 0.1.40

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 (261) hide show
  1. package/bin/run.js +1942 -1846
  2. package/bin/server.js +136 -112
  3. package/bin/upgrade-state.js +5023 -4860
  4. package/dist/assets/GithubBrowserTabs-BoDkGFtY.js +1 -0
  5. package/dist/assets/LocalDatabaseServer-BWAvRlUl.css +1 -0
  6. package/dist/assets/LocalDatabaseServer-CVsGChHh.js +2 -0
  7. package/dist/assets/StudioErrorNotice-C_jbvp9V.js +1 -0
  8. package/dist/assets/VAlert-gwuhYlYb.js +1 -0
  9. package/dist/assets/VAutocomplete-D7Vk5wq_.js +1 -0
  10. package/dist/assets/VAvatar-DvRBcmqv.js +1 -0
  11. package/dist/assets/VBtn-BhVEwXLX.js +1 -0
  12. package/dist/assets/VCard-C3Hx769y.js +1 -0
  13. package/dist/assets/VCheckbox-DyCGSN0H.js +1 -0
  14. package/dist/assets/VCheckboxBtn-DCyuVH7W.css +1 -0
  15. package/dist/assets/VCheckboxBtn-DYcQU2Pn.js +1 -0
  16. package/dist/assets/VChip-VVdtjfq-.js +1 -0
  17. package/dist/assets/VDialog-CQDhjRiV.js +1 -0
  18. package/dist/assets/VDivider-Dq25WsKu.js +1 -0
  19. package/dist/assets/VExpansionPanels-C1y-myl5.js +1 -0
  20. package/dist/assets/VMenu-CDcBLYWR.js +1 -0
  21. package/dist/assets/VOverlay-Cp4rFk6g.js +1 -0
  22. package/dist/assets/VRadioGroup-CAjNZwF7.js +1 -0
  23. package/dist/assets/VRow-BskP28jR.js +1 -0
  24. package/dist/assets/VSelect-D3oLvCcB.js +2 -0
  25. package/dist/assets/VSheet-DxYEFfnM.js +1 -0
  26. package/dist/assets/VSkeletonLoader-Cync3lZZ.js +1 -0
  27. package/dist/assets/VSpacer-CgWOWvBh.js +1 -0
  28. package/dist/assets/VSwitch-BxGuGypi.js +1 -0
  29. package/dist/assets/VTextField-C0b_0cSa.js +1 -0
  30. package/dist/assets/VTextField-F6unyhrS.css +1 -0
  31. package/dist/assets/VTextarea-B7sZd1JY.js +1 -0
  32. package/dist/assets/{Vibe64AsyncModuleState-Do9EqX3S.js → Vibe64AsyncModuleState-syuPcpGx.js} +1 -1
  33. package/dist/assets/Vibe64AuthSettingsButton-CmiidAs5.js +5 -0
  34. package/dist/assets/{Vibe64AuthSettingsButton-M44SSmZ9.css → Vibe64AuthSettingsButton-D2lltUhi.css} +1 -1
  35. package/dist/assets/Vibe64CopyCommand-CYiZcy0d.js +1 -0
  36. package/dist/assets/Vibe64CopyCommand-ClbQLYZi.css +1 -0
  37. package/dist/assets/{Vibe64DashboardBackButton-BH_8j_VR.js → Vibe64DashboardBackButton-Go_MJuIK.js} +1 -1
  38. package/dist/assets/{Vibe64DashboardPageHeader-BXQR00HK.js → Vibe64DashboardPageHeader-BMrdRph6.js} +1 -1
  39. package/dist/assets/Vibe64DashboardPageHeader-CdlzsyKQ.css +1 -0
  40. package/dist/assets/Vibe64DashboardShell-MCzEQCWu.js +1 -0
  41. package/dist/assets/{Vibe64DatabaseWorkspace-CEml9BWn.js → Vibe64DatabaseWorkspace-DM9V017v.js} +3 -3
  42. package/dist/assets/{Vibe64DatabaseWorkspace-DPDMxhAW.css → Vibe64DatabaseWorkspace-DePBDUMy.css} +1 -1
  43. package/dist/assets/Vibe64OutputControls-CU9H0Dur.js +8 -0
  44. package/dist/assets/{Vibe64OutputControls-Co5YzwcK.css → Vibe64OutputControls-CeBzZPUT.css} +1 -1
  45. package/dist/assets/{Vibe64RepositoryWorkspace-Agyt4O-V.css → Vibe64RepositoryWorkspace-Bw9W691N.css} +1 -1
  46. package/dist/assets/{Vibe64RepositoryWorkspace-obZFXkoG.js → Vibe64RepositoryWorkspace-DaAChLA8.js} +2 -2
  47. package/dist/assets/{Vibe64SessionFiles-CQzs6fee.js → Vibe64SessionFiles-CM2EzXBf.js} +4 -4
  48. package/dist/assets/Vibe64SessionFiles-DsPb8hOe.css +1 -0
  49. package/dist/assets/{Vibe64TemporaryAiFixAction-BiuIE9mC.js → Vibe64TemporaryAiFixAction-CIePbdW8.js} +1 -1
  50. package/dist/assets/{Vibe64UiStoryboardView-BhKRpL0N.js → Vibe64UiStoryboardView-Bp9STItF.js} +1 -1
  51. package/dist/assets/{Vibe64UnavailableSessions-Ca5nC7KH.js → Vibe64UnavailableSessions-JBgHzM-j.js} +1 -1
  52. package/dist/assets/{_sessionId_-CKkGH3Rx.js → _sessionId_-DVHd6D5V.js} +1 -1
  53. package/dist/assets/{_sessionTool_-1V-z6Pbp.js → _sessionTool_-BV1AwpUx.js} +1 -1
  54. package/dist/assets/_slug_-DsfaE8Vh.js +25 -0
  55. package/dist/assets/_slug_-_qfQqdHb.css +1 -0
  56. package/dist/assets/{access-WlhPvPgy.js → access-BbzSuMt5.js} +1 -1
  57. package/dist/assets/app-BNh2oZg-.js +1 -0
  58. package/dist/assets/assistantRouting-DeE8jvtE.js +3 -0
  59. package/dist/assets/{changes-CHJjrZAc.js → changes-D8Koqrqg.js} +1 -1
  60. package/dist/assets/client-CybfBKCn.js +2 -0
  61. package/dist/assets/client-D6UGamrv.css +1 -0
  62. package/dist/assets/{conversation-B90ERX9h.js → conversation-DZW4-Wck.js} +2 -2
  63. package/dist/assets/{conversation-vxJGwmtW.css → conversation-TK6EmDk4.css} +1 -1
  64. package/dist/assets/{createSimpleFunctional-CZTGuNuR.js → createSimpleFunctional-zlXZooQW.js} +1 -1
  65. package/dist/assets/{dashboard-CuutW8iv.js → dashboard-DLrmf5ed.js} +1 -1
  66. package/dist/assets/definitions-DgyQJgn-.js +1 -0
  67. package/dist/assets/dialog-transition-D2vqGksQ.js +1 -0
  68. package/dist/assets/env-B5V1EC4M.css +1 -0
  69. package/dist/assets/env-rVQwLtYr.js +1 -0
  70. package/dist/assets/health-92hh8xXh.css +1 -0
  71. package/dist/assets/health-B6r9LLrd.js +1 -0
  72. package/dist/assets/{history-1_NU8azF.js → history-C6xLWUxL.js} +1 -1
  73. package/dist/assets/incoming-Bdqo8z25.css +1 -0
  74. package/dist/assets/incoming-CNwZa_yD.js +2 -0
  75. package/dist/assets/index-B9P6KjvH.js +138 -0
  76. package/dist/assets/{index-irlMYzLh.css → index-BC29JK2e.css} +1 -1
  77. package/dist/assets/{integrations-BMzWQQpa.js → integrations-CcrqPXxj.js} +10 -10
  78. package/dist/assets/integrations-Co8WvCiD.css +1 -0
  79. package/dist/assets/issues-DEjIlMdl.js +1 -0
  80. package/dist/assets/layout-B2Ap07aa.js +1 -0
  81. package/dist/assets/{lazy-NHSwD9FS.js → lazy-BjyT2XvW.js} +1 -1
  82. package/dist/assets/{learning-Bdi3XRS7.js → learning-BP1xvd8w.js} +1 -1
  83. package/dist/assets/mdi-Bt90Ns76.js +1 -0
  84. package/dist/assets/placement-CQy46H3H.js +1 -0
  85. package/dist/assets/publish-CPWnztCc.css +1 -0
  86. package/dist/assets/publish-CVXolnAG.js +3 -0
  87. package/dist/assets/pull-requests-BjwokcU0.css +1 -0
  88. package/dist/assets/pull-requests-DdgzLzY_.js +1 -0
  89. package/dist/assets/{repository-BL_2bgzC.js → repository-5S0LzRq3.js} +1 -1
  90. package/dist/assets/ripple-EFNA8EBu.js +11 -0
  91. package/dist/assets/rolldown-runtime-DBalRfVu.js +1 -0
  92. package/dist/assets/{session-BdhKrcX4.js → session-BGpiZThC.js} +1 -1
  93. package/dist/assets/{settings-1rpuL7eR.js → settings-BKP_eQ3F.js} +1 -1
  94. package/dist/assets/settings-D8x4KUqV.css +1 -0
  95. package/dist/assets/shared-DZETtWRH.js +2 -0
  96. package/dist/assets/studioGateApi-BXHVBVEc.js +1 -0
  97. package/dist/assets/studioUrls-DpSS-0z1.js +1 -0
  98. package/dist/assets/useArchivedVibe64Sessions-D8DWpcSy.js +1 -0
  99. package/dist/assets/useCommand-nWFczmJy.js +1 -0
  100. package/dist/assets/useEndpointResource-Ds8EDBZ2.js +1 -0
  101. package/dist/assets/useRealtimeEvent-DrOiU8lJ.js +1 -0
  102. package/dist/assets/{useUiFeedback-BPBF_0bp.js → useUiFeedback-CMwE4MLs.js} +1 -1
  103. package/dist/assets/useVibe64ConversationLog-D-Vkq0sK.js +1 -0
  104. package/dist/assets/{useVibe64DatabaseTools-4o6S8eXq.js → useVibe64DatabaseTools-Dpm53ruL.js} +1 -1
  105. package/dist/assets/useVibe64ProjectScope-B5ogg6jd.js +1 -0
  106. package/dist/assets/useVibe64SessionData-CGJXj3r7.js +1 -0
  107. package/dist/assets/{useVibe64SessionSelection-BzL1y_Vq.js → useVibe64SessionSelection-BEqKR412.js} +1 -1
  108. package/dist/assets/{useVibe64SystemGraph-B4RmsC9Y.js → useVibe64SystemGraph-DbSfrYF8.js} +1 -1
  109. package/dist/assets/{useVibe64Terminal-Cg3idMcy.js → useVibe64Terminal-I7Sf6xMW.js} +1 -1
  110. package/dist/assets/vibe64ProjectScope.local-B06ABkhI.js +1 -0
  111. package/dist/assets/vibe64SavedEnvValues-B_QE9aAj.js +1 -0
  112. package/dist/assets/vibe64SessionFocus-CA-sk8Ri.css +1 -0
  113. package/dist/assets/vibe64SessionFocus-tv2wz7_H.js +1 -0
  114. package/dist/assets/{vibe64SessionInfo-BuBUdL-e.js → vibe64SessionInfo-B0uItVOK.js} +1 -1
  115. package/dist/assets/{vibe64SessionToolDefinitions-BJaJH5LR.js → vibe64SessionToolDefinitions-Dsn8WYmO.js} +1 -1
  116. package/dist/index.html +56 -46
  117. package/docs/colleague-usage/account-profile-and-appearance.md +1 -1
  118. package/docs/colleague-usage/{ai-accounts-and-routing.md → ai-accounts.md} +41 -114
  119. package/docs/colleague-usage/ai-model-setups.md +159 -0
  120. package/docs/colleague-usage/ai-onboarding.md +94 -21
  121. package/docs/colleague-usage/ai-personal-use.md +41 -0
  122. package/docs/colleague-usage/auto-workflow.md +8 -3
  123. package/docs/colleague-usage/codex-context-recovery.md +2 -1
  124. package/docs/colleague-usage/coding-agent-goals.md +7 -4
  125. package/docs/colleague-usage/coding-agents.md +8 -5
  126. package/docs/colleague-usage/colleague-watches.md +15 -4
  127. package/docs/colleague-usage/colleague.md +21 -5
  128. package/docs/colleague-usage/connected-contributions.md +13 -13
  129. package/docs/colleague-usage/connected-projects.md +2 -2
  130. package/docs/colleague-usage/conversation-context.md +1 -1
  131. package/docs/colleague-usage/dashboard-navigation.md +5 -3
  132. package/docs/colleague-usage/development-env.md +21 -4
  133. package/docs/colleague-usage/file-interfaces.md +1 -1
  134. package/docs/colleague-usage/github-work.md +8 -8
  135. package/docs/colleague-usage/health-checks.md +52 -18
  136. package/docs/colleague-usage/incoming-changes.md +3 -3
  137. package/docs/colleague-usage/integrations.md +5 -3
  138. package/docs/colleague-usage/learning-course-catalogue.md +3 -3
  139. package/docs/colleague-usage/learning-environment.md +55 -47
  140. package/docs/colleague-usage/learning-mode-ui.md +13 -10
  141. package/docs/colleague-usage/learning-practice-projects.md +13 -2
  142. package/docs/colleague-usage/learning-teacher-guide.md +9 -4
  143. package/docs/colleague-usage/learning-with-colleague.md +9 -5
  144. package/docs/colleague-usage/lesson-authoring.md +12 -12
  145. package/docs/colleague-usage/lesson-step-bar.md +22 -22
  146. package/docs/colleague-usage/main-chat-approvals.md +150 -0
  147. package/docs/colleague-usage/preview-browser-checks.md +5 -1
  148. package/docs/colleague-usage/project-language-tools.md +16 -2
  149. package/docs/colleague-usage/project-settings.md +1 -1
  150. package/docs/colleague-usage/project-setup.md +17 -7
  151. package/docs/colleague-usage/publishing.md +185 -0
  152. package/docs/colleague-usage/running-vibe64-on-your-computer.md +54 -6
  153. package/docs/colleague-usage/sessions.md +18 -10
  154. package/docs/colleague-usage/set-up-linux.md +254 -0
  155. package/docs/colleague-usage/set-up-macos.md +199 -0
  156. package/docs/colleague-usage/set-up-windows.md +76 -0
  157. package/docs/colleague-usage/starter-apps.md +21 -4
  158. package/docs/colleague-usage/teaching-content.md +2 -2
  159. package/docs/colleague-usage/team-ai-access.md +108 -0
  160. package/docs/colleague-usage/temporary-chats.md +9 -7
  161. package/docs/colleague-usage/workspace-preparation.md +50 -1
  162. package/docs/templates/learn-topic/README.md +3 -3
  163. package/docs/templates/learn-topic/training/lessons/TOPIC-01/lesson.json +2 -1
  164. package/docs/training-content.md +37 -15
  165. package/node_modules/@jskit-ai/assistant-core/package.json +1 -1
  166. package/node_modules/@jskit-ai/assistant-runtime/package.json +1 -1
  167. package/node_modules/@jskit-ai/assistant-voice/package.json +1 -1
  168. package/node_modules/@jskit-ai/connector-google-calendar/package.json +1 -1
  169. package/node_modules/@jskit-ai/connectors-catalog/package.json +1 -1
  170. package/node_modules/@jskit-ai/connectors-catalog/patterns/oauth-connection/PATTERN.md +25 -0
  171. package/node_modules/@jskit-ai/connectors-core/package.json +1 -1
  172. package/node_modules/@jskit-ai/http-runtime/package.json +1 -1
  173. package/node_modules/@jskit-ai/kernel/package.json +1 -1
  174. package/node_modules/@jskit-ai/realtime/package.json +1 -1
  175. package/node_modules/@jskit-ai/resource-core/package.json +1 -1
  176. package/node_modules/@jskit-ai/resource-crud-core/package.json +1 -1
  177. package/node_modules/@jskit-ai/uploads-runtime/package.json +1 -1
  178. package/node_modules/@local/vibe64-accounts/package.json +2 -1
  179. package/node_modules/@local/vibe64-core/package.json +4 -1
  180. package/node_modules/@local/vibe64-execution/src/host/execHelper.js +82 -81
  181. package/node_modules/@local/vibe64-genesis/bin/vibe64-genesis-host-context +73 -69
  182. package/node_modules/@local/vibe64-genesis/package.json +1 -0
  183. package/node_modules/@local/vibe64-genesis/src/server/agentSpecs.js +118 -68
  184. package/node_modules/@local/vibe64-genesis/src/server/index.js +501 -415
  185. package/node_modules/@local/vibe64-genesis/src/server/packaging.js +105 -0
  186. package/node_modules/@local/vibe64-genesis/src/server/promptContext.js +143 -139
  187. package/node_modules/@local/vibe64-packaging/package.json +26 -0
  188. package/node_modules/@local/vibe64-packaging/src/server/packers/capacitor/ShellIcons.java +112 -0
  189. package/node_modules/@local/vibe64-project/package.json +3 -1
  190. package/node_modules/@local/vibe64-publishing/package.json +12 -0
  191. package/node_modules/@local/vibe64-runtime/src/server/codexAppServerProcess.js +7 -7
  192. package/node_modules/@local/vibe64-runtime/src/shared/assistantRoutingScores.json +25 -22
  193. package/node_modules/@local/vibe64-terminals/package.json +2 -1
  194. package/node_modules/@local/vibe64-terminals/src/server/sessionWorkOperationCommand.js +1340 -1300
  195. package/node_modules/@local/vibe64-training/package.json +2 -1
  196. package/package.json +19 -15
  197. package/server.bundle.mjs +42890 -40887
  198. package/dist/assets/GithubBrowserTabs-C2NO5l8g.js +0 -1
  199. package/dist/assets/StudioErrorNotice-CSrUw1QV.js +0 -1
  200. package/dist/assets/VAlert-P256xaE0.js +0 -1
  201. package/dist/assets/VAutocomplete-BDb95qJX.js +0 -1
  202. package/dist/assets/VAvatar-DPzqDH4r.js +0 -1
  203. package/dist/assets/VBtn-B2MBK2DL.js +0 -1
  204. package/dist/assets/VCard-mXy0k4aS.js +0 -1
  205. package/dist/assets/VCheckbox-C7A1ZW4D.js +0 -1
  206. package/dist/assets/VChip-CcI-Oo2J.js +0 -1
  207. package/dist/assets/VDialog-Bu3EfKb1.js +0 -1
  208. package/dist/assets/VDivider-BMEqUoAB.js +0 -1
  209. package/dist/assets/VExpansionPanels-Dgjrop0V.js +0 -1
  210. package/dist/assets/VMenu-C_x18lwb.js +0 -1
  211. package/dist/assets/VOverlay-CeMZurIN.js +0 -1
  212. package/dist/assets/VRadioGroup-CUu2-KIP.js +0 -1
  213. package/dist/assets/VRow-Cpw7OHQV.js +0 -1
  214. package/dist/assets/VSelect-DL3HaA5m.js +0 -2
  215. package/dist/assets/VSheet-DZWsu0kL.js +0 -1
  216. package/dist/assets/VSkeletonLoader-CttxM1tw.js +0 -1
  217. package/dist/assets/VSpacer-Dhmsvk4t.js +0 -1
  218. package/dist/assets/VSwitch-BRHeDJkH.js +0 -1
  219. package/dist/assets/VTextField-BR2eZeFT.js +0 -1
  220. package/dist/assets/VTextField-BiatYyd3.css +0 -1
  221. package/dist/assets/VTextarea-DbqamXJd.js +0 -1
  222. package/dist/assets/Vibe64AuthSettingsButton-fY4ZiIFF.js +0 -5
  223. package/dist/assets/Vibe64DashboardPageHeader-Gm1IvlHx.css +0 -1
  224. package/dist/assets/Vibe64DashboardShell-BSq7uXEW.js +0 -1
  225. package/dist/assets/Vibe64OutputControls-_zhGX9ne.js +0 -8
  226. package/dist/assets/Vibe64SessionFiles-Bl8wJ5Sk.css +0 -1
  227. package/dist/assets/_slug_-BclonbST.js +0 -24
  228. package/dist/assets/_slug_-CZ1bxO9C.css +0 -1
  229. package/dist/assets/app-BNP_n_Tt.js +0 -1
  230. package/dist/assets/assistantRouting-D4XpXcEf.js +0 -3
  231. package/dist/assets/client-BWV84wi2.js +0 -2
  232. package/dist/assets/client-DGrP-2AJ.css +0 -1
  233. package/dist/assets/definitions-BrMvu6yV.js +0 -1
  234. package/dist/assets/env-BzRtyO0w.css +0 -1
  235. package/dist/assets/env-D3KQGvRe.js +0 -1
  236. package/dist/assets/health-BJvooRnJ.css +0 -1
  237. package/dist/assets/health-BhoO1d4h.js +0 -1
  238. package/dist/assets/incoming-DWDrmxyH.css +0 -1
  239. package/dist/assets/incoming-DzADFGqp.js +0 -2
  240. package/dist/assets/index-dNxr4Lg9.js +0 -138
  241. package/dist/assets/integrations-Cq1x-Di9.css +0 -1
  242. package/dist/assets/issues-Bywux4s7.js +0 -1
  243. package/dist/assets/mdi-CG9pWOSj.js +0 -1
  244. package/dist/assets/placement-BF-zIEhA.js +0 -1
  245. package/dist/assets/pull-requests-CdbhyFOv.css +0 -1
  246. package/dist/assets/pull-requests-ncmKT3sS.js +0 -1
  247. package/dist/assets/ripple-BVltMmyV.js +0 -11
  248. package/dist/assets/settings-BopLnpB0.css +0 -1
  249. package/dist/assets/shared-DpMvYJO3.js +0 -2
  250. package/dist/assets/studioGateApi-DcCqiD9V.js +0 -1
  251. package/dist/assets/studioUrls-DmMMIScP.js +0 -1
  252. package/dist/assets/useArchivedVibe64Sessions-_LB2XxEa.js +0 -1
  253. package/dist/assets/useCommand-Bqxb-naz.js +0 -1
  254. package/dist/assets/useEndpointResource-DWoQ2keu.js +0 -1
  255. package/dist/assets/useRealtimeEvent-Bwapstla.js +0 -1
  256. package/dist/assets/useVibe64ConversationLog-BqUI0S5n.js +0 -1
  257. package/dist/assets/useVibe64Learning-DyqXkpLw.js +0 -1
  258. package/dist/assets/useVibe64ProjectScope-Bp1ImZlz.js +0 -1
  259. package/dist/assets/useVibe64SessionData-B686lToN.js +0 -1
  260. package/dist/assets/vibe64SessionFocus-CqZNTvYF.js +0 -1
  261. package/dist/assets/vibe64SessionFocus-OJ2toBd9.css +0 -1
package/dist/index.html CHANGED
@@ -21,72 +21,80 @@
21
21
  }, true);
22
22
  </script>
23
23
  <style>#startup-shell{color:#25232a;background:#faf9fc;grid-template-rows:56px 1fr;font:15px system-ui,sans-serif;display:grid;position:fixed;inset:0}#startup-shell header{border-bottom:1px solid #dedce3;align-items:center;padding:0 24px;font-weight:600;display:flex}#startup-shell main{grid-template-columns:240px 1fr;min-height:0;display:grid}#startup-shell aside{border-right:1px solid #dedce3;padding:24px}#startup-shell .startup-placeholder{background:#e5e2eb;border-radius:4px;height:16px;margin-bottom:20px}#startup-shell section{padding:32px}#startup-shell a{min-height:48px;color:inherit;align-items:center;display:inline-flex}@media (width<=600px){#startup-shell main{grid-template-columns:1fr}#startup-shell aside{display:none}}@media (prefers-color-scheme:dark){#startup-shell{color:#eeeaf3;background:#19181d}#startup-shell header,#startup-shell aside{border-color:#3c3942}#startup-shell .startup-placeholder{background:#35323d}}</style>
24
- <script type="module" crossorigin src="/assets/index-dNxr4Lg9.js"></script>
24
+ <script type="module" crossorigin src="/assets/index-B9P6KjvH.js"></script>
25
+ <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-DBalRfVu.js">
25
26
  <link rel="modulepreload" crossorigin href="/assets/runtime-core.esm-bundler-DGXg_mpN.js">
26
- <link rel="modulepreload" crossorigin href="/assets/ripple-BVltMmyV.js">
27
+ <link rel="modulepreload" crossorigin href="/assets/ripple-EFNA8EBu.js">
27
28
  <link rel="modulepreload" crossorigin href="/assets/normalize-CO2KHj_d.js">
28
29
  <link rel="modulepreload" crossorigin href="/assets/error-Dug56can.js">
29
30
  <link rel="modulepreload" crossorigin href="/assets/deepFreeze-BgoYkoTa.js">
30
- <link rel="modulepreload" crossorigin href="/assets/useRealtimeEvent-Bwapstla.js">
31
- <link rel="modulepreload" crossorigin href="/assets/useEndpointResource-DWoQ2keu.js">
31
+ <link rel="modulepreload" crossorigin href="/assets/vibe64ProjectScope.local-B06ABkhI.js">
32
+ <link rel="modulepreload" crossorigin href="/assets/useRealtimeEvent-DrOiU8lJ.js">
33
+ <link rel="modulepreload" crossorigin href="/assets/useEndpointResource-Ds8EDBZ2.js">
32
34
  <link rel="modulepreload" crossorigin href="/assets/useApi-BPuI6ZR9-CFWU1m37.js">
33
35
  <link rel="modulepreload" crossorigin href="/assets/surface-DY1u73tB.js">
34
36
  <link rel="modulepreload" crossorigin href="/assets/placement-CwTqWLQH.js">
35
37
  <link rel="modulepreload" crossorigin href="/assets/preload-helper-BvdcsxN9.js">
36
- <link rel="modulepreload" crossorigin href="/assets/VAvatar-DPzqDH4r.js">
37
- <link rel="modulepreload" crossorigin href="/assets/lazy-NHSwD9FS.js">
38
- <link rel="modulepreload" crossorigin href="/assets/VOverlay-CeMZurIN.js">
39
- <link rel="modulepreload" crossorigin href="/assets/createSimpleFunctional-CZTGuNuR.js">
38
+ <link rel="modulepreload" crossorigin href="/assets/lazy-BjyT2XvW.js">
39
+ <link rel="modulepreload" crossorigin href="/assets/VOverlay-Cp4rFk6g.js">
40
+ <link rel="modulepreload" crossorigin href="/assets/createSimpleFunctional-zlXZooQW.js">
41
+ <link rel="modulepreload" crossorigin href="/assets/dialog-transition-D2vqGksQ.js">
42
+ <link rel="modulepreload" crossorigin href="/assets/VAvatar-DvRBcmqv.js">
40
43
  <link rel="modulepreload" crossorigin href="/assets/ssrBoot-Rlh6kLbD.js">
41
- <link rel="modulepreload" crossorigin href="/assets/VDivider-BMEqUoAB.js">
42
- <link rel="modulepreload" crossorigin href="/assets/VMenu-C_x18lwb.js">
43
- <link rel="modulepreload" crossorigin href="/assets/VChip-CcI-Oo2J.js">
44
- <link rel="modulepreload" crossorigin href="/assets/VTextField-BR2eZeFT.js">
45
- <link rel="modulepreload" crossorigin href="/assets/VSheet-DZWsu0kL.js">
46
- <link rel="modulepreload" crossorigin href="/assets/VSelect-DL3HaA5m.js">
44
+ <link rel="modulepreload" crossorigin href="/assets/VDivider-Dq25WsKu.js">
45
+ <link rel="modulepreload" crossorigin href="/assets/VMenu-CDcBLYWR.js">
46
+ <link rel="modulepreload" crossorigin href="/assets/VChip-VVdtjfq-.js">
47
+ <link rel="modulepreload" crossorigin href="/assets/VTextField-C0b_0cSa.js">
48
+ <link rel="modulepreload" crossorigin href="/assets/VCheckboxBtn-DYcQU2Pn.js">
49
+ <link rel="modulepreload" crossorigin href="/assets/VSheet-DxYEFfnM.js">
50
+ <link rel="modulepreload" crossorigin href="/assets/VSelect-D3oLvCcB.js">
51
+ <link rel="modulepreload" crossorigin href="/assets/layout-B2Ap07aa.js">
47
52
  <link rel="modulepreload" crossorigin href="/assets/vibe64AssistantHost-CP6oxv5b.js">
48
- <link rel="modulepreload" crossorigin href="/assets/useVibe64Learning-DyqXkpLw.js">
49
- <link rel="modulepreload" crossorigin href="/assets/studioUrls-DmMMIScP.js">
50
- <link rel="modulepreload" crossorigin href="/assets/mdi-CG9pWOSj.js">
51
- <link rel="modulepreload" crossorigin href="/assets/VBtn-B2MBK2DL.js">
52
- <link rel="modulepreload" crossorigin href="/assets/VAlert-P256xaE0.js">
53
- <link rel="modulepreload" crossorigin href="/assets/VAutocomplete-BDb95qJX.js">
54
- <link rel="modulepreload" crossorigin href="/assets/VCheckbox-C7A1ZW4D.js">
55
- <link rel="modulepreload" crossorigin href="/assets/VDialog-Bu3EfKb1.js">
56
- <link rel="modulepreload" crossorigin href="/assets/VCard-mXy0k4aS.js">
57
- <link rel="modulepreload" crossorigin href="/assets/VRow-Cpw7OHQV.js">
58
- <link rel="modulepreload" crossorigin href="/assets/VSpacer-Dhmsvk4t.js">
59
- <link rel="modulepreload" crossorigin href="/assets/VExpansionPanels-Dgjrop0V.js">
60
- <link rel="modulepreload" crossorigin href="/assets/VSkeletonLoader-CttxM1tw.js">
61
- <link rel="modulepreload" crossorigin href="/assets/VSwitch-BRHeDJkH.js">
53
+ <link rel="modulepreload" crossorigin href="/assets/studioUrls-DpSS-0z1.js">
54
+ <link rel="modulepreload" crossorigin href="/assets/mdi-Bt90Ns76.js">
55
+ <link rel="modulepreload" crossorigin href="/assets/VBtn-BhVEwXLX.js">
56
+ <link rel="modulepreload" crossorigin href="/assets/VAlert-gwuhYlYb.js">
57
+ <link rel="modulepreload" crossorigin href="/assets/VAutocomplete-D7Vk5wq_.js">
58
+ <link rel="modulepreload" crossorigin href="/assets/VCheckbox-DyCGSN0H.js">
59
+ <link rel="modulepreload" crossorigin href="/assets/VDialog-CQDhjRiV.js">
60
+ <link rel="modulepreload" crossorigin href="/assets/VCard-C3Hx769y.js">
61
+ <link rel="modulepreload" crossorigin href="/assets/VRow-BskP28jR.js">
62
+ <link rel="modulepreload" crossorigin href="/assets/VSpacer-CgWOWvBh.js">
63
+ <link rel="modulepreload" crossorigin href="/assets/VExpansionPanels-C1y-myl5.js">
64
+ <link rel="modulepreload" crossorigin href="/assets/VRadioGroup-CAjNZwF7.js">
65
+ <link rel="modulepreload" crossorigin href="/assets/VSkeletonLoader-Cync3lZZ.js">
62
66
  <link rel="modulepreload" crossorigin href="/assets/_plugin-vue_export-helper-DNW4j-dv.js">
63
- <link rel="modulepreload" crossorigin href="/assets/StudioErrorNotice-CSrUw1QV.js">
64
- <link rel="modulepreload" crossorigin href="/assets/browserLocalStorage-B4C7rHrs.js">
65
67
  <link rel="modulepreload" crossorigin href="/assets/clipboard-CZs9aH3L.js">
66
- <link rel="modulepreload" crossorigin href="/assets/useVibe64Terminal-Cg3idMcy.js">
67
- <link rel="modulepreload" crossorigin href="/assets/shared-DpMvYJO3.js">
68
- <link rel="modulepreload" crossorigin href="/assets/assistantRouting-D4XpXcEf.js">
68
+ <link rel="modulepreload" crossorigin href="/assets/Vibe64CopyCommand-CYiZcy0d.js">
69
+ <link rel="modulepreload" crossorigin href="/assets/VSwitch-BxGuGypi.js">
70
+ <link rel="modulepreload" crossorigin href="/assets/StudioErrorNotice-C_jbvp9V.js">
71
+ <link rel="modulepreload" crossorigin href="/assets/browserLocalStorage-B4C7rHrs.js">
72
+ <link rel="modulepreload" crossorigin href="/assets/useVibe64Terminal-I7Sf6xMW.js">
73
+ <link rel="modulepreload" crossorigin href="/assets/shared-DZETtWRH.js">
74
+ <link rel="modulepreload" crossorigin href="/assets/assistantRouting-DeE8jvtE.js">
69
75
  <link rel="modulepreload" crossorigin href="/assets/pathname-Bb895US8.js">
70
76
  <link rel="modulepreload" crossorigin href="/assets/usePaths-Db88-HOm.js">
71
- <link rel="modulepreload" crossorigin href="/assets/useUiFeedback-BPBF_0bp.js">
72
- <link rel="modulepreload" crossorigin href="/assets/useCommand-Bqxb-naz.js">
77
+ <link rel="modulepreload" crossorigin href="/assets/useUiFeedback-CMwE4MLs.js">
78
+ <link rel="modulepreload" crossorigin href="/assets/useCommand-nWFczmJy.js">
73
79
  <link rel="modulepreload" crossorigin href="/assets/shared-BEwrtWSp.js">
74
80
  <link rel="modulepreload" crossorigin href="/assets/vibe64ApiResponses-DNLY1Kel.js">
75
- <link rel="modulepreload" crossorigin href="/assets/client-BWV84wi2.js">
76
- <link rel="modulepreload" crossorigin href="/assets/VTextarea-DbqamXJd.js">
81
+ <link rel="modulepreload" crossorigin href="/assets/studioGateApi-BXHVBVEc.js">
82
+ <link rel="modulepreload" crossorigin href="/assets/client-CybfBKCn.js">
83
+ <link rel="modulepreload" crossorigin href="/assets/VTextarea-B7sZd1JY.js">
77
84
  <link rel="modulepreload" crossorigin href="/assets/thinkingText-DewCOEcu.js">
78
- <link rel="modulepreload" crossorigin href="/assets/conversation-B90ERX9h.js">
79
- <link rel="modulepreload" crossorigin href="/assets/useVibe64ProjectScope-Bp1ImZlz.js">
85
+ <link rel="modulepreload" crossorigin href="/assets/conversation-DZW4-Wck.js">
86
+ <link rel="modulepreload" crossorigin href="/assets/useVibe64ProjectScope-B5ogg6jd.js">
80
87
  <link rel="modulepreload" crossorigin href="/assets/vibe64BrowserTabOrigin-SF9E31vi.js">
81
- <link rel="modulepreload" crossorigin href="/assets/useVibe64DatabaseTools-4o6S8eXq.js">
82
- <link rel="modulepreload" crossorigin href="/assets/useVibe64SystemGraph-B4RmsC9Y.js">
88
+ <link rel="modulepreload" crossorigin href="/assets/useVibe64DatabaseTools-Dpm53ruL.js">
89
+ <link rel="modulepreload" crossorigin href="/assets/useVibe64SystemGraph-DbSfrYF8.js">
83
90
  <link rel="stylesheet" crossorigin href="/assets/ripple-DqhAt1Ze.css">
84
- <link rel="stylesheet" crossorigin href="/assets/VAvatar-9ilDR2r2.css">
85
91
  <link rel="stylesheet" crossorigin href="/assets/VOverlay-DG-PukqI.css">
92
+ <link rel="stylesheet" crossorigin href="/assets/VAvatar-9ilDR2r2.css">
86
93
  <link rel="stylesheet" crossorigin href="/assets/VDivider-DvkP_iX7.css">
87
94
  <link rel="stylesheet" crossorigin href="/assets/VMenu-D_W8zRGm.css">
88
95
  <link rel="stylesheet" crossorigin href="/assets/VChip-PprDbmQn.css">
89
- <link rel="stylesheet" crossorigin href="/assets/VTextField-BiatYyd3.css">
96
+ <link rel="stylesheet" crossorigin href="/assets/VTextField-F6unyhrS.css">
97
+ <link rel="stylesheet" crossorigin href="/assets/VCheckboxBtn-DCyuVH7W.css">
90
98
  <link rel="stylesheet" crossorigin href="/assets/VSheet-BbLSwuzR.css">
91
99
  <link rel="stylesheet" crossorigin href="/assets/VSelect-y7fezdfU.css">
92
100
  <link rel="stylesheet" crossorigin href="/assets/VBtn-uSpaN2Ha.css">
@@ -98,14 +106,16 @@
98
106
  <link rel="stylesheet" crossorigin href="/assets/VRow-DIr3-SqU.css">
99
107
  <link rel="stylesheet" crossorigin href="/assets/VSpacer-DfbUir7X.css">
100
108
  <link rel="stylesheet" crossorigin href="/assets/VExpansionPanels-cvCWEkWz.css">
109
+ <link rel="stylesheet" crossorigin href="/assets/VRadioGroup-C9f4tbih.css">
101
110
  <link rel="stylesheet" crossorigin href="/assets/VSkeletonLoader-LCPSxykp.css">
111
+ <link rel="stylesheet" crossorigin href="/assets/Vibe64CopyCommand-ClbQLYZi.css">
102
112
  <link rel="stylesheet" crossorigin href="/assets/VSwitch-FGoTnWb6.css">
103
113
  <link rel="stylesheet" crossorigin href="/assets/StudioErrorNotice-1K8E_MXD.css">
104
114
  <link rel="stylesheet" crossorigin href="/assets/useVibe64Terminal-Bk2QOSDO.css">
105
- <link rel="stylesheet" crossorigin href="/assets/client-DGrP-2AJ.css">
115
+ <link rel="stylesheet" crossorigin href="/assets/client-D6UGamrv.css">
106
116
  <link rel="stylesheet" crossorigin href="/assets/VTextarea-DDl63AeD.css">
107
- <link rel="stylesheet" crossorigin href="/assets/conversation-vxJGwmtW.css">
108
- <link rel="stylesheet" crossorigin href="/assets/index-irlMYzLh.css">
117
+ <link rel="stylesheet" crossorigin href="/assets/conversation-TK6EmDk4.css">
118
+ <link rel="stylesheet" crossorigin href="/assets/index-BC29JK2e.css">
109
119
  </head>
110
120
  <body>
111
121
  <div id="app">
@@ -23,7 +23,7 @@ name** stays disabled.
23
23
 
24
24
  Under **Appearance** (This browser), choose **Light**, **Dark** or **System**.
25
25
  The whole app switches immediately, including the Learning environment (**L**),
26
- its lesson reader and the Learn page's Lesson tab. **System** follows your device's light or dark setting
26
+ its lesson reader and the Learn page's Lesson pane. **System** follows your device's light or dark setting
27
27
  and changes when the device does. Light is the default.
28
28
 
29
29
  The choice is saved in this browser only. Another browser, another device or a
@@ -1,4 +1,4 @@
1
- # Connect AI accounts and choose Model routing
1
+ # Connect AI accounts
2
2
 
3
3
  ## Try an app while verification continues
4
4
 
@@ -29,13 +29,14 @@ coding session is required. AI Accounts is the same screen as
29
29
  [AI onboarding](ai-onboarding.md): while no AI is connected (accounts marked
30
30
  **Reconnect required** do not count) it shows **Pick the AI behind Vibe64** with
31
31
  the ranked provider cards; once one is, it shows **Your AI setup** with your
32
- cards first, each with **Manage**, and the collapsed **Advanced** panel below
33
- them. Finishing a connection there returns to that overview (**Done**). The
32
+ cards first, each with **Manage**, a **Models** summary and the collapsed
33
+ **Advanced** panel below them. Which model does which job is explained in
34
+ [AI model setups](ai-model-setups.md). Finishing a connection there returns to that overview (**Done**). The
34
35
  guided flow with its **Why** screen opens from **Redo onboarding** in the account
35
36
  menu (next to **Account settings**). Vibe64 includes no AI of its own; the free
36
37
  option is GLM-4.7 Flash through a free Z.AI account (see below). OpenCode Zen is
37
38
  an ordinary keyed provider: add your own Zen key to use it. Its free Big Pickle
38
- model is not offered, and model routing or Colleague choices that named it were
39
+ model is not offered, and model or Colleague choices that named it were
39
40
  cleared by the release upgrade, so the next use recommends one of your connected
40
41
  AIs.
41
42
 
@@ -49,10 +50,10 @@ logins in your home folder, so a login made in a terminal works in Vibe64 too).
49
50
  opencode is different: Vibe64 runs your installed opencode program but signs it in with
50
51
  the keys you add in AI Accounts, not with opencode's own login.
51
52
 
52
- Before you pick a provider, its card in AI onboarding and **Your AI setup** says
53
- **Needs Claude Code on this computer** (or Codex, or opencode) under its buttons
54
- when that program is missing; the GLM free option says **Needs opencode on this
55
- computer**. When a program is missing, AI Accounts (and the matching step of AI onboarding) shows
53
+ Before you pick a provider, a card in AI onboarding and **Your AI setup** whose program is missing is
54
+ greyed and leads with **Install Claude Code first** (or Codex, or opencode), which
55
+ opens the install row inside the card; a card whose program runs says **Ready on
56
+ this computer** (see [AI onboarding](ai-onboarding.md)). When a program is missing, AI Accounts (and the matching step of AI onboarding) shows
56
57
  a warning instead of the sign-in button. In **Advanced → Add a connection**, an orchestrator whose
57
58
  program is missing says **Not installed on this computer** under its name; choosing it
58
59
  (or **Choose provider** for OpenCode) opens the same warning, and the setup dialog's
@@ -63,15 +64,14 @@ status chip reads **Not installed** or **Didn't start** instead of **Not connect
63
64
  **Other ways to install** it. Open a terminal on this computer, paste the command,
64
65
  press Enter, then choose **Check again**. You run the command yourself; Colleague
65
66
  can explain it but cannot run it for you.
66
- The command matches the computer Vibe64 runs on. On macOS and Linux:
67
+ The same commands work on macOS, Linux and Windows inside WSL (Vibe64 runs on
68
+ Windows only inside WSL, so install them in the Ubuntu terminal, not PowerShell):
67
69
  - Claude Code: `curl -fsSL https://claude.ai/install.sh | bash`
68
70
  - Codex: `curl -fsSL https://chatgpt.com/codex/install.sh | sh`
69
71
  - opencode: `curl -fsSL https://opencode.ai/install | bash`
70
72
 
71
- On Windows, in PowerShell (opencode uses its npm package, which needs Node.js):
72
- - Claude Code: `irm https://claude.ai/install.ps1 | iex`
73
- - Codex: `powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"`
74
- - opencode: `npm install -g opencode-ai`
73
+ The setup guides walk through the whole computer: [Linux](set-up-linux.md),
74
+ [macOS](set-up-macos.md), [Windows](set-up-windows.md).
75
75
  - **Codex didn't start** means the program is installed but could not be run at all.
76
76
  Choose **Check again**; if it keeps failing, reinstall it with the same command. The
77
77
  program's own error output is under **Details**, collapsed.
@@ -85,24 +85,23 @@ needed. It looks on your `PATH` and in the official installers' folders
85
85
  (`~/.local/bin`, `~/.claude/local`, `~/.opencode/bin`, `/opt/homebrew/bin` and
86
86
  `/usr/local/bin`), so it finds them even when it was started outside a terminal. A
87
87
  program installed somewhere else must be on the `PATH` of the terminal that starts
88
- Vibe64. When Vibe64 starts, it prints one line for each program it can't find, and
89
- **Dashboard → Health** shows a check for each. Where the host provides pinned versions
88
+ Vibe64. When Vibe64 starts with no AI program at all, it prints one plain message;
89
+ **Dashboard → Health** needs one AI program and lists the others as optional. Where the host provides pinned versions
90
90
  of these programs, none of these warnings or install commands appear.
91
91
 
92
92
  ## Advanced in Your AI setup
93
93
 
94
94
  Below the provider cards, AI Accounts (and **Your AI setup** in AI onboarding)
95
- has a collapsed **Advanced** panel once any AI is configured. Its summary counts
96
- the connections, for example **7 connections · 2 not on a card above**. Select it
97
- to open:
95
+ has a collapsed **Advanced** panel once any AI is configured. It holds only the connection
96
+ plumbing; models are chosen in **Models** (see
97
+ [AI model setups](ai-model-setups.md)). Its summary counts the connections, for
98
+ example **7 connections · 2 not on a card above**. Select it to open:
98
99
 
99
100
  - **Add a connection** opens **Choose an orchestrator** (Claude Code, Codex, or
100
101
  OpenCode's provider catalog) for an exact orchestrator and provider pair. **Refresh** rechecks every account.
101
- - **Model routing** has one button per connected orchestrator (**Claude Code**,
102
- **Codex**, **OpenCode**); each opens that orchestrator's routing form.
103
102
  - **Other connections** lists connected providers that have no card, such as
104
103
  OpenCode Zen or another OpenCode catalog provider, each **through OpenCode**,
105
- with **Replace key**, **Model routing** and **Remove**. OpenCode Zen's model
104
+ with **Replace key** and **Remove**. OpenCode Zen's model
106
105
  access controls (**Check & enable working models**, **Enable all current
107
106
  models**, **Use the recommended model only**, **Cancel check**) are on its tile.
108
107
  These providers also appear in the **Connected** or **Currently using** strip
@@ -125,8 +124,9 @@ authorization code. You perform provider consent and secret entry. Wait for the
125
124
  saved connected state, and use **Refresh** or **Check saved key** when offered.
126
125
  Do not reconnect or resend a key solely because a status request was interrupted.
127
126
  DeepSeek, regular GLM API and GLM Coding Plan connections belong to the
128
- orchestrator shown in that row. Use **Advanced → Add a connection**, choose **Claude Code**,
129
- **Codex** or **OpenCode**, then its provider. Enter a key and complete
127
+ orchestrator shown in that row. The DeepSeek card connects DeepSeek inside
128
+ **Claude Code**; to connect it in another tool as well, use **Advanced → Add a
129
+ connection**, choose **Claude Code**, **Codex** or **OpenCode**, then its provider. Enter a key and complete
130
130
  that row's verification. Each orchestrator can save a different key, or you can
131
131
  enter the same key independently for several orchestrators. Connecting or
132
132
  checking one row does not connect, check or copy a key to another. Regular GLM
@@ -151,16 +151,11 @@ known terminals using another provider keep running. Refusal preserves the saved
151
151
  key and connection status.
152
152
  OpenCode may require you to close its native terminals, other-provider chats and
153
153
  Colleague conversations before changing a key. If it refuses, the saved key stays
154
- unchanged and those conversations keep running; close the named users and retry. Saved routing can still name a disconnected
155
- provider; reconnect the exact row or deliberately choose a different route.
156
- **Start an AI session** lists only orchestrators you can use: one whose account
157
- was removed disappears until you connect it again, while its saved routing is
158
- kept. A connected orchestrator with a routing problem stays visible but greyed
159
- out with its reason; fix it with **Configure model routing**. An existing chat
160
- whose orchestrator is no longer connected shows **Open AI Accounts** and, when
161
- another orchestrator is available, **Switch to** that orchestrator (for example
162
- **Switch to Claude Code**). Switching keeps the chat's Senior, Junior or Auto
163
- mode (Custom becomes Senior), turns automatic review off, and keeps your draft.
154
+ unchanged and those conversations keep running; close the named users and retry.
155
+ Removing a connection keeps the saved model choices that name it; reconnect the
156
+ exact row or deliberately choose other models in **Models**. Main chat always
157
+ runs in your Senior's tool, so a removed Senior connection stops main chat until
158
+ you reconnect it or choose another Senior.
164
159
  The controls and results are the same on desktop and mobile. Colleague can
165
160
  inspect redacted readiness and explain these steps; secret entry and connection
166
161
  consent remain your interaction in **AI Accounts**.
@@ -173,6 +168,8 @@ minute before retrying. If the error persists, ask the workspace operator to
173
168
  check the managed Claude version and refresh-lock recovery. This error alone
174
169
  does not prove that you signed out or need to replace your credentials.
175
170
  Changing the workspace's Claude account stops its existing Claude processes.
171
+ Sign-ins and key checks show a spinner and what is happening while they wait,
172
+ as described in [AI onboarding](ai-onboarding.md#while-it-works).
176
173
  Main chats keep their history and resume with the newly connected account; they
177
174
  do not require access to the previous account. Model selection in **Chat mode**
178
175
  also uses the current workspace connection. If the old process cannot be stopped,
@@ -199,83 +196,6 @@ change models or resend the pending words until cleanup and delivery are resolve
199
196
  Colleague can explain the error and inspect readiness, but cannot repair the
200
197
  host's process service. These recovery steps apply on desktop and mobile.
201
198
 
202
- After connecting, the **[provider] connected** screen names the orchestrator you
203
- selected. For example, connecting DeepSeek through Codex shows only Codex's
204
- optional suggestions and **Configure Codex routing**, even if the key also works
205
- with Claude Code. Review **Current** and **Suggested**, select the changes you
206
- want, then use **Apply [number] changes**. **Keep current routing** leaves the
207
- connection ready without applying those suggestions. If no changes are suggested,
208
- use **Done** or the same orchestrator's routing button under **Advanced → Model
209
- routing**.
210
-
211
- Open **Advanced → Model routing** and choose the orchestrator (or **Model
212
- routing** on a connection's tile) to choose its supported
213
- **Senior**, **Junior**, **Helper** and **Router** destinations and thinking choices.
214
- The displayed routing form can also offer **Review recommendations**,
215
- **Confirm Helper** and **Save routing**. Follow any
216
- required review, then Save routing. On mobile, scroll the same dialog to its controls.
217
- Disabled models are unavailable or incompatible; they must not be invented.
218
-
219
- The workflow picker checks access to your saved Senior, Junior and shared backup
220
- choices. It offers recommendations for roles that have not been configured;
221
- opening the picker does not replace saved choices or deliberately empty roles.
222
- First-time setup loads models for the chosen workflow and any other orchestrator
223
- already assigned to one of its roles. Choosing Codex or Claude Code does not
224
- require OpenCode model discovery unless one of those saved roles uses OpenCode.
225
-
226
- Recommendations prefer **Claude → Codex/OpenAI → DeepSeek → GLM** among models
227
- connected and permitted for each role. Within the chosen provider, Senior uses
228
- Opus/Astra, Junior uses Sonnet/Sol, and Helper/Router use Haiku/Luna when offered.
229
- Senior and Junior stay in the selected orchestrator; independent roles can use
230
- other permitted orchestrators. Personal connections cannot supply a shared
231
- backup. **No recommended changes** means the current choices already match the
232
- available recommendations. To review different recommendations for saved
233
- routes, select **Review recommendations**, inspect them, select **Apply to form**,
234
- then **Save routing**. Connecting or reconnecting does not overwrite saved roles.
235
-
236
- The model dropdown groups choices under orchestrator headings such as **Codex**,
237
- **Claude Code** and **OpenCode**. Choose an indented model beneath its heading;
238
- the second line identifies its provider and personal or workspace access.
239
- **Recommended** marks the suggested model for that role. Unavailable choices
240
- show their reason and cannot be selected. Type to search by model, orchestrator,
241
- provider or access; only matching groups remain visible. The selected field
242
- shows the model and its orchestrator/access details, without a thinking level.
243
- Use the separate **[role] thinking** control beside it to inspect or change
244
- thinking after selecting a model; the chosen level is included in Save routing.
245
- Recommendation reviews and collaborator outcomes still name the complete model
246
- and thinking selection. On mobile, the controls may be stacked vertically.
247
-
248
- Senior and Junior share an orchestrator. Helper and Router have their own allowed
249
- choices. Helper also reviews your work when you press **Check my work** on a
250
- lesson's review step: it uses the Helper of the practice session's workflow, on
251
- your own account. Without an available Helper the review says so and records
252
- nothing; choose one here, then press **Check my work** again. Shared Backup can supply a permitted alternative for collaborators.
253
- Changing routing applies to future work, not a running agent or Colleague's own
254
- model. Select Colleague's model through its own composer model picker; active work
255
- can prevent changing it until its turn stops.
256
-
257
- Colleague needs no Model routing step of its own. If an AI shows **Connected**
258
- but its roles were never saved (for example a Codex login that existed before
259
- Vibe64 was installed), Colleague's first message or **Teach me** saves that
260
- workflow's recommended routing, as starting a session does, and uses its
261
- Senior model, trying Claude Code before Codex and then the other connected
262
- workflows. Saved choices are never replaced. Colleague says it has **no usable
263
- AI model** only when no connected workflow can supply a Senior model; connect an
264
- AI, or open **Advanced → Model routing** and choose an available Senior, then press
265
- Send or **Teach me** again. That message clears by itself once an AI is usable.
266
-
267
- If the form says routing changed elsewhere, use **Reload current choices** and
268
- review your retained draft before saving. If no permitted model is usable, finish
269
- the real account/access setup before promising an AI answer. Vibe64 includes no
270
- AI of its own on any installation; AI Accounts or AI onboarding connects one,
271
- including the free GLM-4.7 Flash option.
272
-
273
- Colleague can explain these steps, inspect account/routing readiness, open AI
274
- Accounts and save supported routing changes when the owner explicitly asks. It
275
- offers assistance without changing anything for a how-to question. Connection,
276
- consent and model-access operations that are not exposed to it must be completed
277
- in the actual account UI; it should recheck status after the person finishes.
278
-
279
199
  For regular Z.AI setup, ask Colleague “Is my regular Z.AI connection saved?”
280
200
  The workspace owner can get a fresh, read-only check without opening a project.
281
201
  It reports the saved connection, preferred provider, default model and whether
@@ -295,9 +215,9 @@ If it reports insufficient balance or no resource package, check the provider's
295
215
  billing and quota before retrying. A failed replacement keeps the existing saved
296
216
  key. These messages and steps apply on desktop and mobile. Colleague can explain
297
217
  the reason; key entry remains your step in **AI Accounts**.
298
- The preferred provider/default-model badge does not prove future Senior routing
299
- or change Colleague's model. Ask for the actual routing before changing only the
300
- requested future workflow role. A correct lesson answer establishes understanding,
218
+ The preferred provider/default-model badge does not prove which models Vibe64
219
+ uses or change Colleague's model. Ask for the actual choices in **Models** before
220
+ changing only the requested role. A correct lesson answer establishes understanding,
301
221
  not successful account setup or model execution.
302
222
 
303
223
  To connect the regular Z.AI API, use the GLM card's free option (**Start free**
@@ -324,9 +244,16 @@ If those choices changed while the dialog was open, press **Cancel**, reopen
324
244
  Claude Code uses its selected provider for background model calls as well.
325
245
 
326
246
  If an administrator's stopped-service upgrade reports an unsupported saved
327
- routing request even though the conversation uses current Senior, Junior, Auto
247
+ model request even though the conversation uses current Senior, Junior, Auto
328
248
  or Custom, use the corrected candidate release's read-only upgrade preflight.
329
249
  Valid current choices and pending delivery receipts are preserved by the explicit
330
250
  upgrade. Do not reset the conversation or change its model to work around that
331
251
  error. Unknown or corrupt routing still needs administrator inspection before
332
252
  apply; Colleague can explain the recovery but cannot perform the host upgrade.
253
+
254
+ Colleague can explain these steps, inspect account readiness and open AI
255
+ Accounts. It offers help without changing anything for a how-to question.
256
+ Connection, consent and model-access steps it cannot perform must be completed
257
+ in the actual account screens; it rechecks status after you finish. Vibe64
258
+ includes no AI of its own on any installation; AI Accounts or AI onboarding
259
+ connects one, including the free GLM-4.7 Flash option.
@@ -0,0 +1,159 @@
1
+ # Choose models: owner and team setups
2
+
3
+ Vibe64 chooses a model for each job from **Models**. Open it from **Account
4
+ settings → AI Accounts** (or AI onboarding's **Your AI setup**): the **Models**
5
+ summary under the provider cards lists **Senior**, **Junior** and, in a
6
+ workspace with a team, **Team members**; choose **Review models**. Connecting
7
+ an AI is explained in [AI accounts](ai-accounts.md).
8
+
9
+ Only the workspace owner changes models. Everyone else sees the team members'
10
+ models read-only.
11
+
12
+ ## Jobs (roles)
13
+
14
+ **Main chat**
15
+
16
+ - **Senior**: Plans, reviews and Deslop in main chat. Your most capable model.
17
+ - **Junior**: Everyday changes in main chat.
18
+ - **Router**: Chooses Senior or Junior when main chat is on Auto.
19
+
20
+ **Helpers**
21
+
22
+ - **Colleague**: The default for Colleague. Each person can change their own.
23
+ - **Fix it with AI**: Repair chats opened from errors and conflicts. Can run in a
24
+ different tool from the chat it fixes.
25
+ - **Explain & check**: Explain this code, the database assistant and Check my
26
+ work.
27
+ - **Quick helper**: Titles, commit messages, prompt hints and summaries.
28
+
29
+ Main chat always runs in your Senior's tool (Claude Code, Codex or OpenCode);
30
+ Senior and Junior must run in the same tool. A chat that last ran in another
31
+ tool catches up on its next message. Helpers can each use any allowed model.
32
+
33
+ ## Two setups: Owner and Team members
34
+
35
+ There are two setups. **Owner (you)** has every role and is used for main chat
36
+ and for the owner's own helpers. **Team members** has only the helpers and is
37
+ used by everyone else in the workspace for their Colleague, Fix it with AI,
38
+ Explain & check and Quick helper. Main chat always runs on the owner's setup,
39
+ and the owner approves what team members send to it.
40
+
41
+ The switch **Owner (you) | Team members** at the top of Models appears only for
42
+ the owner, and only when the team setup has a model or Models was opened for
43
+ the team (from the team card or **Set up team AI**). A solo owner never sees it.
44
+
45
+ On **Team members** the screen says: Team members' Colleague, Fix it with AI,
46
+ Explain & check and Quick helper use these models. Main chat always runs on your
47
+ setup, and you approve what team members send to it. Personal plans, like your
48
+ Claude plan, can't be used by team members. Their model lists show only
49
+ **Workspace use** models; saving a personal one is refused with **Team members
50
+ can't use personal plans. Choose a Workspace-use model.**
51
+
52
+ With nothing chosen yet it shows **No team AI yet. Team members can't open
53
+ projects until you add one.** and **Add a DeepSeek key** (see
54
+ [team AI access](team-ai-access.md)); from chat's Models it opens AI setup on
55
+ the team step. When a Workspace-use model is already connected it adds **Or
56
+ choose a Workspace-use model you already connected below.** with the Colleague
57
+ and Quick helper pickers; Fix it with AI and Explain & check show their default
58
+ **Same as** lines, saved with the first choice.
59
+
60
+ ## Same as
61
+
62
+ A helper can follow another role. It shows one quiet line, for example **Same as
63
+ Senior · Opus 5.5 · High**, with **Change**. By default the owner's Colleague
64
+ follows Senior, Fix it with AI follows Junior and Explain & check follows Quick
65
+ helper; the team's Fix it with AI follows the team's Colleague and Explain &
66
+ check follows its Quick helper. A followed role changes with the role it
67
+ follows.
68
+
69
+ **Change** opens that row's model and thinking pickers with the followed
70
+ choice; saving makes it the row's own choice. A row with its own choice offers
71
+ **Use Senior's model** (or the role it would follow) to follow again.
72
+
73
+ ## Model, thinking and Runs in
74
+
75
+ Each row shows its model and thinking, for example **Opus 5.5 · High**. Pick a
76
+ model from the list: each item shows the model, its provider and an amber
77
+ **Personal use** badge for a personal plan (see
78
+ [personal-use subscriptions](ai-personal-use.md)). **Recommended** marks the
79
+ suggested model; unavailable choices show their reason and cannot be chosen.
80
+ Type to search. Choose thinking in the separate thinking control beside it.
81
+
82
+ The tool a model runs in appears only when it is not the usual one, for example
83
+ **DeepSeek V4 Pro · runs in Codex**. **Advanced** under a row appears only when
84
+ there is something to see:
85
+
86
+ - A subscription model runs in its own tool, with no choice: **Runs in Claude
87
+ Code — required by your Claude plan.** or **Runs in Codex — required by your
88
+ ChatGPT plan.**
89
+ - A key model connected in more than one tool shows **Runs in** with one option
90
+ per connected tool (**Claude Code**, **Codex**, **OpenCode**) and
91
+ **Recommended** on the usual one: Claude Code for DeepSeek, Codex for an
92
+ OpenAI key and the GLM Coding Plan, OpenCode for the free GLM option, an
93
+ Anthropic key and other OpenCode providers.
94
+ - When the provider's key is connected in only some tools, **Connect [provider]
95
+ in another tool** opens **Add a connection** (from chat's Models, AI setup
96
+ on that provider).
97
+
98
+ Choosing another model keeps the row's tool when the new model runs there, and
99
+ otherwise uses the new model's usual tool.
100
+
101
+ ## Recommendations and saving
102
+
103
+ Roles nobody chose get recommended models when an AI is first connected,
104
+ preferring Claude Code, then Codex/OpenAI, DeepSeek and GLM among models you may
105
+ use. The owner's gold standard is Opus 5.5 · High for Senior, Opus 5.5 · Medium
106
+ for Junior and Haiku 5.5 · Low for Router and Quick helper; the team's is
107
+ DeepSeek V4 Pro · High for Colleague and DeepSeek V4.1 Flash · Low for Quick
108
+ helper. Connecting or reconnecting never replaces saved choices.
109
+
110
+ When recommendations differ from saved choices, **Review recommendations**
111
+ lists the changes; **Apply to form** puts them in the form, then **Save**.
112
+ **No recommended changes** means the choices already match. While Vibe64 checks
113
+ the new choices it shows **Checking access…**. **Cancel** discards the draft.
114
+ If Models changed in another tab, use **Reload current choices** and review
115
+ your kept draft before saving. Changes apply to future work, not to a running
116
+ agent.
117
+
118
+ After connecting a provider, **[provider] connected** may suggest changes with
119
+ **Current** and **Suggested**: select the ones you want and choose **Apply
120
+ [number] changes**, or **Keep current models**. **Configure AI setup** opens
121
+ Models.
122
+
123
+ ## Main AI
124
+
125
+ **Main AI** is the provider behind your Senior. **Your AI setup** reads
126
+ **Currently using · Main AI: [provider]**, adding the tool when it is not the
127
+ provider's own, for example **Main AI: DeepSeek, via Claude Code**. **Use as
128
+ main AI** on another card moves Senior, Junior, Router and Quick helper to that
129
+ provider in the tool it is connected through (see
130
+ [AI onboarding](ai-onboarding.md#redo-with-an-existing-setup)). The crown and
131
+ **Recommended** ribbon stay on Claude's card; they never mean "in use".
132
+
133
+ ## Colleague's model
134
+
135
+ Each person's Colleague starts on their setup's Colleague model: the owner's
136
+ follows Senior, team members use the team's Colleague. Anyone can change their
137
+ own Colleague's model from Colleague's model menu; that choice is theirs alone
138
+ and does not change Models. Team members see the note **Change your own
139
+ Colleague's model from Colleague's menu.** Colleague needs no setup step of its
140
+ own: if the roles were never saved, its first message saves the recommended
141
+ models. Colleague says it has **no usable AI model** only when none can serve
142
+ it; connect an AI or choose an available model in Models, then send again.
143
+
144
+ Explain & check also reviews **Check my work** on a lesson's review step on
145
+ your own account; without an available model the review says so and records
146
+ nothing.
147
+
148
+ ## Desktop and phone
149
+
150
+ On a desktop each row has its label on the left and its pickers on the right. On
151
+ a phone (under 600 px) rows stack label, description, model, thinking and
152
+ Advanced, and Save/Cancel stay at the bottom.
153
+
154
+ ## What Colleague can do
155
+
156
+ Colleague can explain the roles and setups, read the current choices, open AI
157
+ Accounts and save supported model changes when the owner explicitly asks. It
158
+ offers help without changing anything for a how-to question. Team members'
159
+ Colleague can explain the team setup but cannot change it.