specrails-desktop 2.58.0 → 2.59.0

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 (425) hide show
  1. package/README.md +2 -5
  2. package/client/dist/assets/{ActivityFeedPage-BQGppIR0.js → ActivityFeedPage-DBFt8ZHP.js} +1 -1
  3. package/client/dist/assets/AgentBrowserCapture-DiQx0W67.js +1 -0
  4. package/client/dist/assets/AgentModeAnalyticsPane-BmDSXp_J.js +2 -0
  5. package/client/dist/assets/AgentModeCodePane-BLQLPSwr.js +2 -0
  6. package/client/dist/assets/{AgentModeJobsPane-DR_06oqH.js → AgentModeJobsPane-BbTXdKUa.js} +1 -1
  7. package/client/dist/assets/{AgentsPage-BKIKjm_1.js → AgentsPage-Dei1jGR8.js} +3 -3
  8. package/client/dist/assets/{AnalyticsPage-069npRVo.js → AnalyticsPage-BhkeGIGn.js} +1 -1
  9. package/client/dist/assets/CodePage-B_9yYWUx.js +3 -0
  10. package/client/dist/assets/{DesktopAnalyticsPage-qtWAPM47.js → DesktopAnalyticsPage-DAcfEJac.js} +1 -1
  11. package/client/dist/assets/DocsDialog-WCuiYgsc.js +11 -0
  12. package/client/dist/assets/DocsPage-bGVYTMTU.js +11 -0
  13. package/client/dist/assets/{ExportDropdown-BcMpvV89.js → ExportDropdown-CsodZ-yb.js} +1 -1
  14. package/client/dist/assets/InteractiveJobComposer-D5fh_eVL.js +19 -0
  15. package/client/dist/assets/JobDetailModal-DlpXF61O.js +1 -0
  16. package/client/dist/assets/JobDetailPage-2yR19_Lb.js +1 -0
  17. package/client/dist/assets/JobsPage-CS9IR6Dq.js +1 -0
  18. package/client/dist/assets/LoopBuilderPage-BwiAtmOr.js +1 -0
  19. package/client/dist/assets/{LoopPreviewModal-je5pSCf-.js → LoopPreviewModal--upwvgTv.js} +1 -1
  20. package/client/dist/assets/LoopWindowSurface-DRnUixtl.js +1 -0
  21. package/client/dist/assets/LoopsPage-Xm3nRToQ.js +2 -0
  22. package/client/dist/assets/MinimizedChatsContext-D_8L4EWZ.js +1 -0
  23. package/client/dist/assets/PluginsPage-CAFQ1B4Q.js +2 -0
  24. package/client/dist/assets/ProjectSettingsDialog-DYSO4v90.js +1 -0
  25. package/client/dist/assets/{RepositoryDeliveries-BiwJuS8r.js → RepositoryDeliveries-CbQmW7Qx.js} +1 -1
  26. package/client/dist/assets/RepositoryScopeSelector-DKzvIGSZ.js +2 -0
  27. package/client/dist/assets/ReviewPacketPage-SDBhYdQB.js +4 -0
  28. package/client/dist/assets/TemplatePreviewModal-DHBUds51.js +1 -0
  29. package/client/dist/assets/TicketDetailModalContext-UAeNm7BB.js +16 -0
  30. package/client/dist/assets/{Trans-D3AfDylf.js → Trans-DExd3Z00.js} +1 -1
  31. package/client/dist/assets/agent-BElLtdKP.js +1 -0
  32. package/client/dist/assets/agent-C-m9VugX.js +1 -0
  33. package/client/dist/assets/agent-CGSKxfZk.js +1 -0
  34. package/client/dist/assets/agent-CW74ODDP.js +1 -0
  35. package/client/dist/assets/agent-DeCAZDhL.js +1 -0
  36. package/client/dist/assets/agent-DrM4qned.js +1 -0
  37. package/client/dist/assets/agent-KdIXq3w5.js +1 -0
  38. package/client/dist/assets/agent-jK8mCisM.js +1 -0
  39. package/client/dist/assets/{agentRuntime-DGz_IqKW.js → agentRuntime-15Pkk6we.js} +1 -1
  40. package/client/dist/assets/agentRuntime-Bpx3yWHK.js +1 -0
  41. package/client/dist/assets/{agentRuntime-Bg9tbmqm.js → agentRuntime-C78n13To.js} +1 -1
  42. package/client/dist/assets/{agentRuntime-D-GJVGkj.js → agentRuntime-CCI7XF4c.js} +1 -1
  43. package/client/dist/assets/{agentRuntime-D2__CVI_.js → agentRuntime-CKDHe2-a.js} +1 -1
  44. package/client/dist/assets/{agentRuntime-D35dGVOP.js → agentRuntime-Ddqvp2bP.js} +1 -1
  45. package/client/dist/assets/{agentRuntime-hInH9Fzj.js → agentRuntime-TXPQowKJ.js} +1 -1
  46. package/client/dist/assets/{agentRuntime-O1liDt6G.js → agentRuntime-hqZRy08E.js} +1 -1
  47. package/client/dist/assets/{builder-DGETbtZj.js → builder-B9gorTnT.js} +1 -1
  48. package/client/dist/assets/{builder-DyQperXU.js → builder-Bvw5s3Mi.js} +1 -1
  49. package/client/dist/assets/{builder-C1neIYGR.js → builder-CL5l4dU3.js} +1 -1
  50. package/client/dist/assets/{builder-DXEJUlC0.js → builder-CVDTVrQX.js} +1 -1
  51. package/client/dist/assets/{builder-CzW5ovyI.js → builder-CpS9liE9.js} +1 -1
  52. package/client/dist/assets/{builder-CvnFm0im.js → builder-DNctIL9Q.js} +1 -1
  53. package/client/dist/assets/{builder-D06L7iPy.js → builder-De2NxX6o.js} +1 -1
  54. package/client/dist/assets/{builder-C0FyvM83.js → builder-DeYT7Y-m.js} +1 -1
  55. package/client/dist/assets/{button-Ccc9Dc-D.js → button-D1xExSTF.js} +1 -1
  56. package/client/dist/assets/{common-DmsclwjP.js → common-Bdi0qN4S.js} +1 -1
  57. package/client/dist/assets/{common-C4Yvvhp6.js → common-Bhb9zN1P.js} +1 -1
  58. package/client/dist/assets/{common-od8WThlf.js → common-BykKlZg1.js} +1 -1
  59. package/client/dist/assets/{common-C0BOdeNi.js → common-CvnNNSJA.js} +1 -1
  60. package/client/dist/assets/{common-BCK7c9Pv.js → common-D5zk_mqq.js} +1 -1
  61. package/client/dist/assets/{common-DpLWwgI1.js → common-DQNO_al5.js} +1 -1
  62. package/client/dist/assets/{common-OCvl3c8t.js → common-Dax30Vmp.js} +1 -1
  63. package/client/dist/assets/{common-c0aujEZC.js → common-DkllpVSb.js} +1 -1
  64. package/client/dist/assets/{dialog-xXB2q5HJ.js → dialog-CMgps2MY.js} +1 -1
  65. package/client/dist/assets/external-link-D6XxC_Cu.js +1 -0
  66. package/client/dist/assets/file-text-BcLCfcWZ.js +1 -0
  67. package/client/dist/assets/{formatDistanceToNow-aBss1Nai.js → formatDistanceToNow-aw7H5ORC.js} +1 -1
  68. package/client/dist/assets/{getTimezoneOffsetInMilliseconds-DOGj1Mfz.js → getTimezoneOffsetInMilliseconds-NyC7gZJX.js} +1 -1
  69. package/client/dist/assets/index-CahchzS5.css +2 -0
  70. package/client/dist/assets/index-JSTZVJfe.js +83 -0
  71. package/client/dist/assets/integrations-BkpRUbvp.js +1 -0
  72. package/client/dist/assets/integrations-Bo8qbJf4.js +1 -0
  73. package/client/dist/assets/integrations-CmSrKzZb.js +1 -0
  74. package/client/dist/assets/integrations-DGtq26Rr.js +1 -0
  75. package/client/dist/assets/integrations-De38GFnQ.js +1 -0
  76. package/client/dist/assets/integrations-Dw6zdtb-.js +1 -0
  77. package/client/dist/assets/integrations-Dwl9KQp0.js +1 -0
  78. package/client/dist/assets/integrations-Refg_d2I.js +1 -0
  79. package/client/dist/assets/jira-api-DlXaRwA3.js +1 -0
  80. package/client/dist/assets/{jobs-KG4Sn12X.js → jobs-1G3wodhl.js} +1 -1
  81. package/client/dist/assets/{jobs-6_-r75yC.js → jobs-B4pu8TdF.js} +1 -1
  82. package/client/dist/assets/{jobs-pPv4KWjb.js → jobs-BD47Ov11.js} +1 -1
  83. package/client/dist/assets/{jobs-B1yqyId5.js → jobs-BLOoVRRl.js} +1 -1
  84. package/client/dist/assets/{jobs-BKiK-ZWh.js → jobs-CSrRx5lD.js} +1 -1
  85. package/client/dist/assets/{jobs-BFuV7ttH.js → jobs-DZAbh1m2.js} +1 -1
  86. package/client/dist/assets/{jobs-DmKV7b7d.js → jobs-epP7gt8W.js} +1 -1
  87. package/client/dist/assets/{jobs-BKa8LuwA.js → jobs-tWjcDF_6.js} +1 -1
  88. package/client/dist/assets/loops--KWr0X-w.js +1 -0
  89. package/client/dist/assets/{loops-BO3V8244.js → loops-3IutojWt.js} +1 -1
  90. package/client/dist/assets/{loops-C-hZK8pf.js → loops-BAosWtXE.js} +1 -1
  91. package/client/dist/assets/{loops-eUnCfLjC.js → loops-BISDssL5.js} +1 -1
  92. package/client/dist/assets/{loops-Dv849ckF.js → loops-Cm55CXJ4.js} +1 -1
  93. package/client/dist/assets/{loops-CDOWZ0ci.js → loops-D7tL_Saw.js} +1 -1
  94. package/client/dist/assets/{loops-BJDY9FTh.js → loops-DHQtnfze.js} +1 -1
  95. package/client/dist/assets/{loops-Q9LIgGkq.js → loops-kIJJkaxf.js} +1 -1
  96. package/client/dist/assets/nav--u7iPYlS.js +1 -0
  97. package/client/dist/assets/nav-C5Jgfaby.js +1 -0
  98. package/client/dist/assets/nav-CAna_Wpt.js +1 -0
  99. package/client/dist/assets/nav-CCLqeyHo.js +1 -0
  100. package/client/dist/assets/nav-Cf3c90Jk.js +1 -0
  101. package/client/dist/assets/nav-DMYQaQjR.js +1 -0
  102. package/client/dist/assets/nav-Df_PkZ9F.js +1 -0
  103. package/client/dist/assets/nav-VyNGBJwj.js +1 -0
  104. package/client/dist/assets/{project-repositories-CSnfzUpg.js → project-repositories-DXhb9FP4.js} +1 -1
  105. package/client/dist/assets/provider-capabilities-lePfeT_Y.js +1 -0
  106. package/client/dist/assets/save-OsUqVn99.js +1 -0
  107. package/client/dist/assets/settings-B5Hy_Kol.js +1 -0
  108. package/client/dist/assets/settings-BBj_kZaD.js +1 -0
  109. package/client/dist/assets/settings-ByVE7jdZ.js +1 -0
  110. package/client/dist/assets/settings-COlH_P33.js +1 -0
  111. package/client/dist/assets/settings-D77mC_Lb.js +1 -0
  112. package/client/dist/assets/settings-DZKy7MqN.js +1 -0
  113. package/client/dist/assets/settings-Dbyd6gmj.js +1 -0
  114. package/client/dist/assets/settings-Dn-pXukr.js +1 -0
  115. package/client/dist/assets/setup-Be485n2u.js +1 -0
  116. package/client/dist/assets/setup-CKGUxKr-.js +1 -0
  117. package/client/dist/assets/setup-Ck1Uwd7_.js +1 -0
  118. package/client/dist/assets/setup-Cm774a6v.js +1 -0
  119. package/client/dist/assets/setup-DIqMQpxt.js +1 -0
  120. package/client/dist/assets/setup-DfCsoNFL.js +1 -0
  121. package/client/dist/assets/setup-DkeE8mP0.js +1 -0
  122. package/client/dist/assets/setup-xVntVaz1.js +1 -0
  123. package/client/dist/assets/{spending-HBSk-6jv.js → spending-BdcyVkcd.js} +1 -1
  124. package/client/dist/assets/subscriptionUsage-Cf87DeS_.js +1 -0
  125. package/client/dist/assets/subscriptionUsage-D6u7VBdz.js +1 -0
  126. package/client/dist/assets/subscriptionUsage-DQ02J25O.js +1 -0
  127. package/client/dist/assets/subscriptionUsage-DWF3zKp4.js +1 -0
  128. package/client/dist/assets/subscriptionUsage-DkIf6Zuh.js +1 -0
  129. package/client/dist/assets/subscriptionUsage-DoWQv7l1.js +1 -0
  130. package/client/dist/assets/subscriptionUsage-N9hB-ARf.js +1 -0
  131. package/client/dist/assets/subscriptionUsage-zRcRPHkP.js +1 -0
  132. package/client/dist/assets/tauri-shell-DE6LfGPw.js +2 -0
  133. package/client/dist/assets/{useDesktop-0unHDBJJ.js → useDesktop-D07TvesS.js} +1 -1
  134. package/client/dist/assets/{useRuntimeRuns-BN1rhyEm.js → useRuntimeRuns-pGLmtAC6.js} +1 -1
  135. package/client/dist/assets/useSharedWebSocket-TzKtPRp9.js +2 -0
  136. package/client/dist/index.html +33 -32
  137. package/docs/README.md +1 -9
  138. package/docs/agent-live-steering.md +0 -6
  139. package/docs/agents/README.md +0 -2
  140. package/docs/agents/mcp.md +1 -14
  141. package/docs/cli.md +0 -13
  142. package/docs/codex.md +2 -75
  143. package/docs/creating-specs.md +0 -39
  144. package/docs/customizing.md +1 -15
  145. package/docs/getting-started.md +0 -23
  146. package/docs/guide/de/agents/2-profiles-and-the-balanced-default.md +0 -8
  147. package/docs/guide/de/agents/4-custom-agents-catalog.md +0 -15
  148. package/docs/guide/de/getting-started/1-what-is-specrails.md +0 -2
  149. package/docs/guide/de/getting-started/2-installing-and-first-run.md +0 -2
  150. package/docs/guide/de/getting-started/3-adding-your-first-project.md +0 -4
  151. package/docs/guide/de/getting-started/4-the-dashboard-tour.md +0 -5
  152. package/docs/guide/de/integrations/1-ai-providers.md +2 -50
  153. package/docs/guide/de/integrations/2-plugins.md +0 -8
  154. package/docs/guide/de/integrations/5-mcp-server.md +1 -14
  155. package/docs/guide/de/integrations/6-agent-chat.md +0 -11
  156. package/docs/guide/de/integrations/7-local-engines.md +0 -4
  157. package/docs/guide/de/pipeline/1-rails-and-jobs.md +0 -13
  158. package/docs/guide/de/pipeline/2-the-job-detail-view.md +0 -3
  159. package/docs/guide/de/pipeline/4-picking-an-engine-per-rail.md +0 -20
  160. package/docs/guide/de/pipeline/5-the-loop-builder.md +0 -6
  161. package/docs/guide/de/specs/2-add-spec-quick-mode.md +0 -7
  162. package/docs/guide/en/agents/2-profiles-and-the-balanced-default.md +0 -10
  163. package/docs/guide/en/agents/4-custom-agents-catalog.md +0 -25
  164. package/docs/guide/en/getting-started/1-what-is-specrails.md +0 -2
  165. package/docs/guide/en/getting-started/2-installing-and-first-run.md +0 -2
  166. package/docs/guide/en/getting-started/3-adding-your-first-project.md +0 -4
  167. package/docs/guide/en/getting-started/4-the-dashboard-tour.md +0 -5
  168. package/docs/guide/en/insights/3-code-explorer.md +0 -5
  169. package/docs/guide/en/integrations/1-ai-providers.md +10 -99
  170. package/docs/guide/en/integrations/2-plugins.md +0 -8
  171. package/docs/guide/en/integrations/5-mcp-server.md +1 -1
  172. package/docs/guide/en/integrations/6-agent-chat.md +0 -17
  173. package/docs/guide/en/integrations/7-local-engines.md +0 -4
  174. package/docs/guide/en/pipeline/1-rails-and-jobs.md +2 -24
  175. package/docs/guide/en/pipeline/2-the-job-detail-view.md +0 -3
  176. package/docs/guide/en/pipeline/4-picking-an-engine-per-rail.md +10 -65
  177. package/docs/guide/en/pipeline/5-the-loop-builder.md +0 -7
  178. package/docs/guide/en/specs/2-add-spec-quick-mode.md +0 -11
  179. package/docs/guide/es/agents/2-profiles-and-the-balanced-default.md +0 -8
  180. package/docs/guide/es/agents/4-custom-agents-catalog.md +0 -15
  181. package/docs/guide/es/getting-started/1-what-is-specrails.md +0 -2
  182. package/docs/guide/es/getting-started/2-installing-and-first-run.md +0 -2
  183. package/docs/guide/es/getting-started/3-adding-your-first-project.md +0 -4
  184. package/docs/guide/es/getting-started/4-the-dashboard-tour.md +0 -5
  185. package/docs/guide/es/integrations/1-ai-providers.md +10 -75
  186. package/docs/guide/es/integrations/2-plugins.md +0 -8
  187. package/docs/guide/es/integrations/5-mcp-server.md +1 -1
  188. package/docs/guide/es/integrations/6-agent-chat.md +0 -11
  189. package/docs/guide/es/integrations/7-local-engines.md +0 -4
  190. package/docs/guide/es/pipeline/1-rails-and-jobs.md +3 -13
  191. package/docs/guide/es/pipeline/2-the-job-detail-view.md +0 -3
  192. package/docs/guide/es/pipeline/4-picking-an-engine-per-rail.md +10 -53
  193. package/docs/guide/es/pipeline/5-the-loop-builder.md +1 -6
  194. package/docs/guide/es/specs/2-add-spec-quick-mode.md +0 -7
  195. package/docs/guide/fr/agents/2-profiles-and-the-balanced-default.md +0 -8
  196. package/docs/guide/fr/agents/4-custom-agents-catalog.md +0 -15
  197. package/docs/guide/fr/getting-started/1-what-is-specrails.md +0 -2
  198. package/docs/guide/fr/getting-started/2-installing-and-first-run.md +0 -2
  199. package/docs/guide/fr/getting-started/3-adding-your-first-project.md +0 -4
  200. package/docs/guide/fr/getting-started/4-the-dashboard-tour.md +0 -5
  201. package/docs/guide/fr/integrations/1-ai-providers.md +2 -50
  202. package/docs/guide/fr/integrations/2-plugins.md +0 -8
  203. package/docs/guide/fr/integrations/5-mcp-server.md +1 -14
  204. package/docs/guide/fr/integrations/6-agent-chat.md +0 -11
  205. package/docs/guide/fr/integrations/7-local-engines.md +0 -4
  206. package/docs/guide/fr/pipeline/1-rails-and-jobs.md +0 -13
  207. package/docs/guide/fr/pipeline/2-the-job-detail-view.md +0 -3
  208. package/docs/guide/fr/pipeline/4-picking-an-engine-per-rail.md +0 -22
  209. package/docs/guide/fr/pipeline/5-the-loop-builder.md +0 -6
  210. package/docs/guide/fr/specs/2-add-spec-quick-mode.md +0 -7
  211. package/docs/guide/it/agents/2-profiles-and-the-balanced-default.md +0 -8
  212. package/docs/guide/it/agents/4-custom-agents-catalog.md +0 -15
  213. package/docs/guide/it/getting-started/1-what-is-specrails.md +0 -2
  214. package/docs/guide/it/getting-started/2-installing-and-first-run.md +0 -2
  215. package/docs/guide/it/getting-started/3-adding-your-first-project.md +0 -4
  216. package/docs/guide/it/getting-started/4-the-dashboard-tour.md +0 -5
  217. package/docs/guide/it/integrations/1-ai-providers.md +2 -48
  218. package/docs/guide/it/integrations/2-plugins.md +0 -8
  219. package/docs/guide/it/integrations/5-mcp-server.md +1 -14
  220. package/docs/guide/it/integrations/6-agent-chat.md +0 -11
  221. package/docs/guide/it/integrations/7-local-engines.md +0 -4
  222. package/docs/guide/it/pipeline/1-rails-and-jobs.md +2 -13
  223. package/docs/guide/it/pipeline/2-the-job-detail-view.md +0 -3
  224. package/docs/guide/it/pipeline/4-picking-an-engine-per-rail.md +0 -20
  225. package/docs/guide/it/pipeline/5-the-loop-builder.md +1 -6
  226. package/docs/guide/it/specs/2-add-spec-quick-mode.md +0 -7
  227. package/docs/guide/ja/agents/2-profiles-and-the-balanced-default.md +0 -9
  228. package/docs/guide/ja/agents/4-custom-agents-catalog.md +0 -15
  229. package/docs/guide/ja/getting-started/1-what-is-specrails.md +0 -2
  230. package/docs/guide/ja/getting-started/2-installing-and-first-run.md +0 -2
  231. package/docs/guide/ja/getting-started/3-adding-your-first-project.md +0 -4
  232. package/docs/guide/ja/getting-started/4-the-dashboard-tour.md +0 -5
  233. package/docs/guide/ja/integrations/1-ai-providers.md +1 -69
  234. package/docs/guide/ja/integrations/2-plugins.md +0 -8
  235. package/docs/guide/ja/integrations/5-mcp-server.md +1 -14
  236. package/docs/guide/ja/integrations/6-agent-chat.md +0 -10
  237. package/docs/guide/ja/integrations/7-local-engines.md +0 -4
  238. package/docs/guide/ja/pipeline/1-rails-and-jobs.md +0 -13
  239. package/docs/guide/ja/pipeline/2-the-job-detail-view.md +0 -3
  240. package/docs/guide/ja/pipeline/4-picking-an-engine-per-rail.md +0 -21
  241. package/docs/guide/ja/pipeline/5-the-loop-builder.md +0 -6
  242. package/docs/guide/ja/specs/2-add-spec-quick-mode.md +0 -7
  243. package/docs/guide/pt/agents/2-profiles-and-the-balanced-default.md +0 -8
  244. package/docs/guide/pt/agents/4-custom-agents-catalog.md +0 -15
  245. package/docs/guide/pt/getting-started/1-what-is-specrails.md +0 -2
  246. package/docs/guide/pt/getting-started/2-installing-and-first-run.md +0 -2
  247. package/docs/guide/pt/getting-started/3-adding-your-first-project.md +0 -4
  248. package/docs/guide/pt/getting-started/4-the-dashboard-tour.md +0 -5
  249. package/docs/guide/pt/integrations/1-ai-providers.md +2 -48
  250. package/docs/guide/pt/integrations/2-plugins.md +0 -8
  251. package/docs/guide/pt/integrations/5-mcp-server.md +1 -14
  252. package/docs/guide/pt/integrations/6-agent-chat.md +0 -10
  253. package/docs/guide/pt/integrations/7-local-engines.md +0 -4
  254. package/docs/guide/pt/pipeline/1-rails-and-jobs.md +0 -13
  255. package/docs/guide/pt/pipeline/2-the-job-detail-view.md +0 -2
  256. package/docs/guide/pt/pipeline/4-picking-an-engine-per-rail.md +0 -21
  257. package/docs/guide/pt/pipeline/5-the-loop-builder.md +0 -6
  258. package/docs/guide/pt/specs/2-add-spec-quick-mode.md +0 -7
  259. package/docs/guide/zh/agents/2-profiles-and-the-balanced-default.md +0 -7
  260. package/docs/guide/zh/agents/4-custom-agents-catalog.md +0 -15
  261. package/docs/guide/zh/getting-started/1-what-is-specrails.md +0 -2
  262. package/docs/guide/zh/getting-started/2-installing-and-first-run.md +0 -2
  263. package/docs/guide/zh/getting-started/3-adding-your-first-project.md +0 -4
  264. package/docs/guide/zh/getting-started/4-the-dashboard-tour.md +0 -5
  265. package/docs/guide/zh/integrations/1-ai-providers.md +1 -67
  266. package/docs/guide/zh/integrations/2-plugins.md +0 -8
  267. package/docs/guide/zh/integrations/5-mcp-server.md +1 -14
  268. package/docs/guide/zh/integrations/6-agent-chat.md +0 -9
  269. package/docs/guide/zh/integrations/7-local-engines.md +0 -4
  270. package/docs/guide/zh/pipeline/1-rails-and-jobs.md +0 -13
  271. package/docs/guide/zh/pipeline/2-the-job-detail-view.md +0 -2
  272. package/docs/guide/zh/pipeline/4-picking-an-engine-per-rail.md +0 -20
  273. package/docs/guide/zh/pipeline/5-the-loop-builder.md +0 -6
  274. package/docs/guide/zh/specs/2-add-spec-quick-mode.md +0 -7
  275. package/docs/internals/adding-a-provider.md +7 -0
  276. package/docs/internals/desktop-owned-workflows.md +121 -0
  277. package/docs/internals/operations-runbook.md +20 -0
  278. package/docs/internals/programmatic-agent-runtime.md +34 -28
  279. package/docs/internals/project-builder.md +34 -11
  280. package/docs/internals/source-map.md +51 -3
  281. package/docs/internals/spec-addenda.md +11 -5
  282. package/docs/local-providers.md +8 -13
  283. package/docs/mcp.md +1 -17
  284. package/docs/platforms/macos.md +0 -40
  285. package/docs/platforms/windows-parity.md +1 -1
  286. package/docs/platforms/windows.md +0 -8
  287. package/docs/running-pipelines.md +1 -46
  288. package/docs/subscription-usage.md +19 -0
  289. package/docs/terminal.md +0 -2
  290. package/docs/tracking-cost.md +2 -33
  291. package/package.json +1 -1
  292. package/server/dist/core-execution.js +24 -15
  293. package/server/dist/desktop-db.js +23 -10
  294. package/server/dist/desktop-router.js +8 -4
  295. package/server/dist/index.js +10 -5
  296. package/server/dist/mcp/guide.js +1 -0
  297. package/server/dist/mcp/tools/jobs.js +1 -1
  298. package/server/dist/mcp/tools/loops.js +2 -0
  299. package/server/dist/mcp/tools/meta.js +6 -7
  300. package/server/dist/mcp/tools/projects.js +31 -6
  301. package/server/dist/mcp/tools/rails.js +6 -3
  302. package/server/dist/mcp/tools/setup.js +10 -0
  303. package/server/dist/mcp/tools/specs.js +1 -1
  304. package/server/dist/modules/accounting/runtime/pricing.js +6 -1
  305. package/server/dist/modules/agent-runtime/runtime/agent-runtime-bridge.js +55 -12
  306. package/server/dist/modules/agent-runtime/runtime/agent-runtime-metrics.js +1 -1
  307. package/server/dist/modules/agent-runtime/runtime/agent-runtime-settings-router.js +1 -1
  308. package/server/dist/modules/agent-runtime/runtime/agent-runtime-settings.js +42 -0
  309. package/server/dist/modules/agent-runtime/runtime/agent-runtime-verification-suggestions.js +10 -4
  310. package/server/dist/modules/builder/runtime/milestone-chain.js +76 -10
  311. package/server/dist/modules/delivery/runtime/delivery-evidence.js +3 -2
  312. package/server/dist/modules/delivery/runtime/multi-repo-execution.js +3 -0
  313. package/server/dist/modules/delivery/runtime/rail-isolated-launch.js +1 -0
  314. package/server/dist/modules/delivery/runtime/rail-launch-parser.js +8 -0
  315. package/server/dist/modules/delivery/runtime/rails-router.js +48 -26
  316. package/server/dist/modules/delivery/runtime/review-packet.js +1 -1
  317. package/server/dist/modules/loops/runtime/loop-agent-defaults.json +6 -0
  318. package/server/dist/modules/loops/runtime/loop-agents.js +21 -0
  319. package/server/dist/modules/loops/runtime/loop-command-catalog.js +1 -1
  320. package/server/dist/modules/loops/runtime/loop-core-factory.js +19 -3
  321. package/server/dist/modules/loops/runtime/loop-definition.js +79 -12
  322. package/server/dist/modules/loops/runtime/loop-effect.js +1 -1
  323. package/server/dist/modules/loops/runtime/loop-executors.js +24 -9
  324. package/server/dist/modules/loops/runtime/loop-factory.js +1 -1
  325. package/server/dist/modules/loops/runtime/loop-graph.js +5 -14
  326. package/server/dist/modules/loops/runtime/loop-implement-recipe.js +49 -0
  327. package/server/dist/modules/loops/runtime/loop-run-manager.js +3 -3
  328. package/server/dist/modules/loops/runtime/loop-templates.js +29 -5
  329. package/server/dist/modules/loops/runtime/loops-router.js +17 -0
  330. package/server/dist/modules/missions/runtime/agent-context-resolver.js +1 -1
  331. package/server/dist/modules/missions/runtime/agent-operator-prompt.js +17 -8
  332. package/server/dist/modules/specs/runtime/spec-models.js +4 -7
  333. package/server/dist/modules/subscription-usage/adapters/claude.js +113 -0
  334. package/server/dist/modules/subscription-usage/adapters/codex.js +164 -0
  335. package/server/dist/modules/subscription-usage/adapters/errors.js +15 -0
  336. package/server/dist/modules/subscription-usage/adapters/http.js +20 -0
  337. package/server/dist/modules/subscription-usage/adapters/local-auth.js +61 -0
  338. package/server/dist/modules/subscription-usage/application.js +11 -0
  339. package/server/dist/modules/subscription-usage/domain.js +70 -0
  340. package/server/dist/modules/subscription-usage/index.js +2 -0
  341. package/server/dist/modules/subscription-usage/ports.js +2 -0
  342. package/server/dist/modules/subscription-usage/runtime/composition.js +20 -0
  343. package/server/dist/modules/subscription-usage/runtime/usage-service.js +111 -0
  344. package/server/dist/project-registry.js +16 -1
  345. package/server/dist/project-repositories.js +51 -2
  346. package/server/dist/project-router-helpers.js +1 -1
  347. package/server/dist/project-router-loop-runs.js +4 -1
  348. package/server/dist/providers/claude-adapter.js +6 -4
  349. package/server/dist/providers/codex-adapter.js +4 -5
  350. package/server/dist/schemas/workflow-definition.schema.json +2 -0
  351. package/client/dist/assets/AgentBrowserCapture-PI-cxyxi.js +0 -1
  352. package/client/dist/assets/AgentModeAnalyticsPane-mQsOqdXx.js +0 -2
  353. package/client/dist/assets/AgentModeCodePane-BL-vpmlY.js +0 -2
  354. package/client/dist/assets/CodePage-Alitorrv.js +0 -3
  355. package/client/dist/assets/DocsDialog-DwL6rgcT.js +0 -11
  356. package/client/dist/assets/DocsPage-BA1hiJZ-.js +0 -11
  357. package/client/dist/assets/InteractiveJobComposer-B3H1YHr6.js +0 -19
  358. package/client/dist/assets/JobDetailModal-XZQ9eAAy.js +0 -1
  359. package/client/dist/assets/JobDetailPage-B-SIaq_q.js +0 -1
  360. package/client/dist/assets/JobsPage-iQXAv2mx.js +0 -1
  361. package/client/dist/assets/LoopBuilderPage-B_gbFAHn.js +0 -1
  362. package/client/dist/assets/LoopsPage-BZwcY5cu.js +0 -2
  363. package/client/dist/assets/MinimizedChatsContext-CNx_0bZu.js +0 -1
  364. package/client/dist/assets/PluginsPage-DFocnoHX.js +0 -2
  365. package/client/dist/assets/ProjectSettingsDialog-Bh3S6EBB.js +0 -1
  366. package/client/dist/assets/RepositoryScopeSelector-C2mvWBQ6.js +0 -1
  367. package/client/dist/assets/ReviewPacketPage-CrAf-WDy.js +0 -4
  368. package/client/dist/assets/TemplatePreviewModal-C7DordpN.js +0 -1
  369. package/client/dist/assets/TicketDetailModalContext-B-DySpKL.js +0 -16
  370. package/client/dist/assets/agent-BaG10AN6.js +0 -1
  371. package/client/dist/assets/agent-CH4aJ884.js +0 -1
  372. package/client/dist/assets/agent-CLc9fA7v.js +0 -1
  373. package/client/dist/assets/agent-DHh9-AdL.js +0 -1
  374. package/client/dist/assets/agent-DkKnd6Wv.js +0 -1
  375. package/client/dist/assets/agent-aiVhqFW1.js +0 -1
  376. package/client/dist/assets/agent-dbznD3eO.js +0 -1
  377. package/client/dist/assets/agent-sMVFcPwL.js +0 -1
  378. package/client/dist/assets/agentRuntime-BeUb3g9g.js +0 -1
  379. package/client/dist/assets/file-text-CFT-xXKN.js +0 -1
  380. package/client/dist/assets/index-BS7KCWkV.css +0 -2
  381. package/client/dist/assets/index-C4Mv6tV6.js +0 -80
  382. package/client/dist/assets/integrations-CH0zy1Mw.js +0 -1
  383. package/client/dist/assets/integrations-CIAjhd7L.js +0 -1
  384. package/client/dist/assets/integrations-CZdwOe8A.js +0 -1
  385. package/client/dist/assets/integrations-Ct7omMld.js +0 -1
  386. package/client/dist/assets/integrations-D6MSxy3-.js +0 -1
  387. package/client/dist/assets/integrations-DbZa-Zyc.js +0 -1
  388. package/client/dist/assets/integrations-b8pH-vfl.js +0 -1
  389. package/client/dist/assets/integrations-mB-7zoyT.js +0 -1
  390. package/client/dist/assets/jira-api-BYbEPlkr.js +0 -1
  391. package/client/dist/assets/layers-eDMjG41I.js +0 -1
  392. package/client/dist/assets/loops-B4_D-nbg.js +0 -1
  393. package/client/dist/assets/nav-B-tpjyc2.js +0 -1
  394. package/client/dist/assets/nav-BJNXGg29.js +0 -1
  395. package/client/dist/assets/nav-BdhtRLP7.js +0 -1
  396. package/client/dist/assets/nav-ByYgyN5T.js +0 -1
  397. package/client/dist/assets/nav-DA0Mva2c.js +0 -1
  398. package/client/dist/assets/nav-DcJm_Jg_.js +0 -1
  399. package/client/dist/assets/nav-DhMPtAXc.js +0 -1
  400. package/client/dist/assets/nav-DhPb-Isc.js +0 -1
  401. package/client/dist/assets/provider-capabilities-Vi1ZGvAK.js +0 -1
  402. package/client/dist/assets/save-B6wGWwBR.js +0 -1
  403. package/client/dist/assets/settings-3o4Ntzi5.js +0 -1
  404. package/client/dist/assets/settings-B97jlkwD.js +0 -1
  405. package/client/dist/assets/settings-BTaT_bsS.js +0 -1
  406. package/client/dist/assets/settings-CT8w7WiC.js +0 -1
  407. package/client/dist/assets/settings-Cvr8_tvh.js +0 -1
  408. package/client/dist/assets/settings-Dn1qgAC8.js +0 -1
  409. package/client/dist/assets/settings-EShDdg4J.js +0 -1
  410. package/client/dist/assets/settings-tfLhQZRN.js +0 -1
  411. package/client/dist/assets/setup-CBMu3tqH.js +0 -1
  412. package/client/dist/assets/setup-CPh-e6J2.js +0 -1
  413. package/client/dist/assets/setup-CRKLp_ke.js +0 -1
  414. package/client/dist/assets/setup-Cy302v4J.js +0 -1
  415. package/client/dist/assets/setup-D681vTPf.js +0 -1
  416. package/client/dist/assets/setup-DYK0VBkE.js +0 -1
  417. package/client/dist/assets/setup-KAuiIiVs.js +0 -1
  418. package/client/dist/assets/setup-OGX-oCfI.js +0 -1
  419. package/client/dist/assets/useSharedWebSocket-BZMrX4jr.js +0 -2
  420. package/client/dist/assets/wrench-BfmNO9Vw.js +0 -1
  421. package/docs/agy-cli-provider-study.md +0 -257
  422. package/docs/gemini-cli-provider-study.md +0 -301
  423. package/docs/gemini-core-support-evaluation.md +0 -160
  424. package/docs/gemini.md +0 -257
  425. package/docs/kimi.md +0 -291
@@ -26,7 +26,6 @@ Un **loop** est la *recette* du travail ; un **rail** est la *voie* qui l'exécu
26
26
 
27
27
  - Les loops vivent dans la section **Loops** (barre latérale gauche, à côté de vos projets) — ils sont **globaux**, partagés entre tous les projets.
28
28
  - Un rail **choisit un loop** dans son en-tête (le sélecteur de Loop) et l'exécute quand vous appuyez sur Play.
29
- - Le **rail** choisit provider, modèle et effort compatible. Un loop compatible tourne sur Claude, Codex, Gemini ou Kimi.
30
29
 
31
30
  Donc : construisez un loop une fois, puis choisissez-le sur n'importe quel rail dans n'importe quel projet.
32
31
 
@@ -50,10 +49,6 @@ Un loop est un graphe de **nœuds** reliés par des **arêtes** (les flèches).
50
49
 
51
50
  Les arêtes relient les étapes dans l'ordre. Le **Loop Decider** a deux sorties étiquetées — **continue** et **stop** — donc vous câblez « pas encore fini » de retour vers le travail et « fini » vers un End.
52
51
 
53
- > **Kimi exécute les loops avec étapes IA/shell, mais sans Loop Decider.** Le
54
- > verdict est pure-output et `kimi -p` ne peut pas imposer sa frontière sans
55
- > outils ; le run est refusé avant la première étape.
56
-
57
52
  ### Écrire le texte d'une étape
58
53
 
59
54
  À l'intérieur de n'importe quel AI Step ou Decider, vous pouvez référencer :
@@ -70,7 +65,6 @@ Un loop qui ne s'arrête jamais brûlerait de l'argent indéfiniment, donc chaqu
70
65
  |-------|--------------|
71
66
  | **Max iterations** | Plafond strict sur le nombre de fois où le Decider peut boucler en arrière, quel que soit son verdict. |
72
67
  | **Timeout (min)** | Limite en temps réel pour toute l'exécution. |
73
- | **Max cost ($)** | *Optionnel.* Claude rapporte le coût ; Codex/Gemini utilisent une estimation. Kimi ne fournit aucun coût USD autoritatif. |
74
68
 
75
69
  ## Construire en confiance
76
70
 
@@ -2,10 +2,6 @@
2
2
 
3
3
  Le mode Quick, c'est pour quand vous savez déjà ce que vous voulez. Vous tapez votre idée, l'IA écrit la spec complète, et elle atterrit sur votre tableau au statut **À faire**. Aucun aller-retour — vous décrivez et c'est parti.
4
4
 
5
- > **Kimi n'est pas disponible pour Quick Spec.** `kimi -p` ne peut pas
6
- > imposer la frontière pure-output de ce formulaire. La requête est refusée
7
- > avant le démarrage ; utilisez Explore, Raw ou Quick Launcher (`/opsx:ff`).
8
-
9
5
  ## Créer une spec en mode Quick
10
6
 
11
7
  Pour créer une spec rapidement :
@@ -23,9 +19,6 @@ C'est tout le déroulé. Tout ce qui suit n'est qu'un réglage fin optionnel.
23
19
 
24
20
  **Modèle** — par défaut, l'IA choisit un modèle adapté. Vous pouvez le surcharger spec par spec depuis le sélecteur de modèle, si vous en voulez un plus rapide ou plus performant.
25
21
 
26
- **Moteur** — le sélecteur affiche les fournisseurs **compatibles** ; Kimi est
27
- exclu de Quick Spec.
28
-
29
22
  **Contexte** — le mode Quick s'exécute en général en un seul tour, car il n'a pas besoin de lire votre base de code pour rédiger une spec à partir de votre description. Mais un curseur de contexte lui permet de disposer de plus d'éléments :
30
23
 
31
24
  - Au réglage le plus bas, il lit simplement votre description.
@@ -35,14 +35,6 @@ La scelta del profilo avviene proprio dove si lancia — nell'**intestazione del
35
35
 
36
36
  È tutto il flusso: scegli un profilo, avvia, fatto. I rail concorrenti nello stesso batch possono portare ciascuno il proprio profilo, così una correzione veloce e una feature impegnativa possono girare fianco a fianco con configurazioni diverse.
37
37
 
38
- ## Quando la sezione Agenti tace
39
-
40
- I profili sono separati per provider. Claude e Kimi supportano profili/ruoli;
41
- Codex e Gemini usano la modalità legacy. In progetti misti lo stesso nome non
42
- attraversa Claude/Kimi. Kimi consente ruoli manuali, ma generazione, smoke test
43
- e AI Refine di Agent Studio sono rifiutati prima dello spawn. Kimi richiede
44
- `specrails-core` 4.12.0 o più recente.
45
-
46
38
  ## Dove andare adesso
47
39
 
48
40
  - [Personalizzare i modelli per agente](customizing-models-per-agent) — costruisci i profili `fast` e `max`.
@@ -11,29 +11,14 @@ Ogni voce del catalogo mostra a cosa serve l'agente e il suo modello predefinito
11
11
 
12
12
  ## Aggiungere un agente custom
13
13
 
14
- I ruoli sono asset nativi del provider: Claude usa
15
- `.claude/agents/custom-<nome>.md`; Kimi usa
16
- `.kimi-code/skills/custom-<nome>/SKILL.md`.
17
-
18
- Quando l'asset esiste, compare nel catalogo del provider e il suo id può essere aggiunto a un profilo dello stesso provider. `custom-docs` mappa su `.claude/agents/custom-docs.md` per Claude o `.kimi-code/skills/custom-docs/SKILL.md` per Kimi; i due restano separati.
19
-
20
14
  Poiché vivono nel tuo repo, gli agenti custom sono **asset di squadra committabili**: committi il file e tutta la tua squadra ottiene l'agente. Questo riflette l'idea centrale che attraversa l'intera sezione Agenti —
21
15
 
22
16
  > **Le definizioni degli agenti sono condivise (vivono nel repo e viaggiano con `git`). La configurazione dei modelli è per progetto (vive nei profili).**
23
17
 
24
- Core protegge entrambi i formati. Kimi permette creazione/modifica manuale ed
25
- esecuzione; Generate, Test e AI Refine sono rifiutati prima dello spawn.
26
-
27
18
  ## Mettere al lavoro un agente custom
28
19
 
29
20
  Il flusso tipico:
30
21
 
31
- 1. Crea l'asset Claude o lo Skill Kimi nativo con istruzioni/modello validi.
32
- 2. Verifica che compaia in **Agenti → Catalogo** sotto Custom.
33
- 3. In **Agenti → Profili**, aggiungi l'agente alla catena di un profilo (facendo eventualmente l'override del suo modello per quel profilo).
34
- 4. Aggiungi una regola di routing affinché i task con i tag giusti lo raggiungano — oppure affidati all'ordine della catena.
35
- 5. Avvia un rail con quel profilo dall'intestazione del rail.
36
-
37
22
  ## Tenere d'occhio le prestazioni dei profili
38
23
 
39
24
  La sezione Agenti ha anche una scheda **Utilizzo** — una ripartizione per profilo di quanti job sono stati eseguiti con ciascun profilo in una finestra temporale selezionata. È un modo rapido per confermare che la tua suddivisione `fast`/`max` venga davvero usata come intendevi, e per individuare verso quale profilo gravita la tua squadra.
@@ -35,8 +35,6 @@ Specrails funziona con le principali CLI di programmazione AI:
35
35
 
36
36
  - **Claude** (Claude Code)
37
37
  - **Codex** (Codex CLI)
38
- - **Gemini** (Gemini CLI)
39
- - **Kimi** (Kimi Code)
40
38
 
41
39
  Scegli quella che già usi — oppure installane più di una e scegline una a seconda dell'attività. Un progetto può funzionare con un singolo provider o con più provider contemporaneamente, così non resti mai vincolato a una scelta.
42
40
 
@@ -22,8 +22,6 @@ L'unica cosa che specrails non può includere è la **CLI del provider AI** vera
22
22
 
23
23
  - **Claude Code**
24
24
  - **Codex CLI**
25
- - **Gemini CLI**
26
- - **Kimi Code**
27
25
 
28
26
  Installa quella che intendi usare, accedi una volta dal terminale e sei a posto. Specrails rileva automaticamente quali provider sono presenti.
29
27
 
@@ -20,10 +20,6 @@ Un'etichetta amichevole mostrata nella barra laterale. Se lo lasci vuoto, specra
20
20
 
21
21
  Questo è tutto il modulo — fai clic su **Aggiungi** e hai finito.
22
22
 
23
- ## I provider IA vengono rilevati automaticamente
24
-
25
- Non scegli più i provider. Specrails rileva ogni CLI di IA installata sulla tua macchina — **Claude**, **Codex**, **Gemini**, **Kimi** — e ogni progetto può usarli tutti, sempre. Installa un nuovo provider in seguito e apparirà ovunque da solo la prossima volta che torni sull'app; nessuna riconfigurazione, nessuna impostazione per progetto. Se un provider è installato ma non connesso, il suo selettore mostra un badge discreto *Non connesso*.
26
-
27
23
  ## La configurazione avviene in silenzio
28
24
 
29
25
  Non c'è alcuna procedura guidata. Nel momento in cui fai clic su **Aggiungi**, il progetto è registrato e appare nella barra laterale — puoi aprirlo subito. In background, specrails assembla il workspace del progetto (pochi secondi, completamente offline): un piccolo punto pulsante sulla riga del progetto indica che sta lavorando, e scompare quando tutto è pronto. Se qualcosa fallisce per un provider, il progetto continua a funzionare con gli altri — appare un punto ambra e un clic riprova.
@@ -26,14 +26,9 @@ La barra laterale destra è il tuo centralino per il progetto corrente. Passaci
26
26
 
27
27
  - **Dashboard** — la board delle spec e i rail (dove ti trovavi poco fa).
28
28
  - **Job** — ogni esecuzione della pipeline per questo progetto, passata e presente, con stato, durata e la possibilità di approfondire il dettaglio e i log di ciascuna esecuzione.
29
- - **Analytics** — invocazioni per giorno, attività, modello e ticket. Claude riporta il costo fatturato, Codex/Gemini usano stime e Kimi lascia vuoti i campi token/costo USD non disponibili.
30
- - **Agenti** — profili e cataloghi di ruoli separati per provider per Claude e Kimi. Con Kimi i ruoli si creano/modificano manualmente; Generate, Test e AI Refine non sono disponibili.
31
- - **Codice** — un browser di file in sola lettura con chip per i file toccati dall'AI. I riepiloghi AI in linguaggio semplice compaiono solo con provider compatibili e non sono disponibili con Kimi.
32
29
  - **Integrazioni** — componenti aggiuntivi opzionali, come collegare le tue spec a una board **Jira** o abilitare strumenti extra per l'AI.
33
30
  - **Impostazioni** — opzioni per progetto (telemetria, budget, configurazione dei provider e altro ancora).
34
31
 
35
- > Sezioni e azioni seguono le capacità del provider effettivo. Per esempio, i profili funzionano con Claude e Kimi, mentre le azioni AI di Agent Studio falliscono in modo chiuso con Kimi.
36
-
37
32
  ## La barra di stato
38
33
 
39
34
  Una sottile striscia corre lungo il bordo inferiore della finestra. È piccola ma utile:
@@ -1,28 +1,14 @@
1
- # Provider AI (Claude, Codex, Gemini, Kimi)
1
+ # Provider AI (Claude, Codex)
2
2
 
3
- Specrails non è legato a una sola AI. Claude, Codex, Gemini e Kimi sono
4
- provider di prima classe; ogni superficie propone solo i motori compatibili
5
- con il proprio contratto.
6
-
7
- ## I quattro provider
3
+ ## I due provider
8
4
 
9
5
  | Provider | CLI | Realizzato da | Note |
10
6
  |---|---|---|---|
11
7
  | **Claude** | `claude` | Anthropic | Costo nativo e trasporto interattivo persistente. |
12
8
  | **Codex** | `codex` | OpenAI | Richiede codex `0.128.0+`. Legge i suoi server MCP dal file globale `~/.codex/config.toml`. |
13
- | **Gemini** | `gemini` | Google | Richiede gemini `0.11.0+`. Usa la telemetria nativa e un file di istruzioni `GEMINI.md`. |
14
- | **Kimi Code** | `kimi` | Moonshot AI | Richiede Kimi `0.27.0+`. Desktop avvia la CLI esterna con `-p`; non installa né avvia un server. |
15
-
16
- Tutti e quattro sono **abilitati di default**. Il provider compare quando la
17
- CLI è nel `PATH`; per Kimi verifica `kimi --version` ed esegui `kimi login`.
18
9
 
19
10
  ## I provider vengono rilevati automaticamente
20
11
 
21
- Non scegli mai i provider per progetto. Specrails rileva ogni CLI di provider
22
- installata sulla tua macchina e li rende **tutti** disponibili a **ogni**
23
- progetto, sempre. Ogni superficie verifica poi le capability annunciate dal
24
- provider. Vedi [Usare Kimi](../../../kimi.md) per la matrice esatta di Kimi.
25
-
26
12
  Se un provider che vuoi non compare da nessuna parte, è quasi sempre perché la
27
13
  CLI non è installata o non è nel tuo `PATH`. Installala, accedi e torna
28
14
  sull'app — il rilevamento si riesegue al focus della finestra e il provider
@@ -33,11 +19,6 @@ badge *Non connesso* nei selettori di engine.
33
19
  Alcune cose utili sulle macchine multi-provider:
34
20
 
35
21
  - **Un solo provider si comporta esattamente come prima.** Se ne viene rilevato uno solo, non vedrai mai un selettore di provider — l'app resta pulita e semplice.
36
- - **Le capability guidano la barra laterale.** Una sezione è visibile quando
37
- almeno un provider rilevato la supporta; al suo interno, le azioni legate
38
- all'engine offrono solo i provider capaci. Kimi annuncia profili, ruoli
39
- personalizzati e Freestyle; non annuncia azioni strutturate che richiedono un
40
- confine senza strumenti applicabile.
41
22
  - **Niente è bloccato.** Installare o rimuovere una CLI di provider aggiorna
42
23
  tutti i progetti automaticamente — non c'è alcuna impostazione di provider per
43
24
  progetto da gestire.
@@ -46,38 +27,11 @@ Alcune cose utili sulle macchine multi-provider:
46
27
 
47
28
  Il vero vantaggio di un progetto multi-provider è poter scegliere l'AI giusta per ciascun task — senza toccare alcuna impostazione globale. Ovunque venga eseguita un'AI compare un piccolo selettore di provider (solo quando il progetto ne ha più di uno):
48
29
 
49
- - **Add Spec** — Explore supporta Kimi; Quick Spec mostra solo provider con un
50
- confine pure-output sicuro e quindi esclude Kimi.
51
30
  - **Intestazione del rail** — scegli il motore per quello specifico rail prima di avviarlo.
52
31
  - **Terminale** — il pulsante "Open AI CLI" (Sparkles) apre un menu dei provider così puoi entrare in una qualsiasi CLI installata nella cartella di quel progetto.
53
32
 
54
33
  La tua scelta viene ricordata per progetto, con il provider primario come default, così non devi riselezionarla ogni volta.
55
34
 
56
- ## Differenze di capability
57
-
58
- Kimi supporta Project/Agent Chat, Explore/proposte, Quick Launcher
59
- (`/opsx:ff`), rail, Freestyle, loop senza Decider, profili/ruoli manuali, MCP,
60
- Serena, terminale e allegati.
61
-
62
- `kimi -p` approva automaticamente gli strumenti e non può imporre un confine
63
- no-tools/read-only. Sono quindi rifiutati prima dello spawn: Quick Spec, AI
64
- Edit, Contract Refine, SMASH/Re-SMASH, generazione blueprint/milestone di
65
- Project Builder, Loop Decider, riassunti/construction story e automazione
66
- Agent Studio. Auto-title usa un fallback deterministico. Vedi la
67
- [guida Kimi](../../../kimi.md).
68
-
69
- ## Tracciamento dei costi tra i provider
70
-
71
- **Analisi** registra le invocazioni realmente avviate. Claude riporta il
72
- costo; Codex/Gemini usano una stima. Kimi non riporta token o costo USD
73
- autorevoli, quindi i campi restano vuoti.
74
-
75
35
  ## Risoluzione dei problemi
76
36
 
77
- - **Un provider che ho installato non viene proposto.** Prova `claude --version` / `codex --version` / `gemini --version` / `kimi --version`.
78
37
  - **I server MCP di Codex non si caricano in chat.** Codex legge i server MCP dal file globale `~/.codex/config.toml` — registrali lì con `codex mcp add`.
79
- - **Disabilitazione d'emergenza.** Un provider può essere disattivato a livello di app tramite una variabile d'ambiente (`SPECRAILS_CODEX_BETA=0` o `SPECRAILS_GEMINI_BETA=0`). Questo nasconde il provider solo dalla *selezione*; raramente è necessario.
80
-
81
- ## Vedi anche
82
-
83
- Consulta le guide dedicate a [Kimi](../../../kimi.md), Codex e Gemini.
@@ -34,11 +34,3 @@ Dietro le quinte l'installazione è *chirurgica e additiva*: aggiunge voci solo
34
34
  - **Rail.** Prima che un rail venga eseguito, Specrails controlla quali plugin sono installati e integri e rende quegli strumenti disponibili all'agente per quel job. Un plugin degradato viene semplicemente saltato per quell'esecuzione — il rail si avvia comunque normalmente. Ogni job registra uno snapshot di quali plugin erano attivi, che puoi vedere nell'esportazione diagnostica del job.
35
35
  - **Chat.** La chat eredita automaticamente la configurazione MCP del tuo progetto, quindi i plugin installati sono disponibili anche lì.
36
36
  - **Setup.** I plugin vengono ignorati mentre un progetto è ancora in fase di configurazione — entrano in gioco una volta che il progetto è pronto.
37
-
38
- ## Note sui provider
39
-
40
- I plugin sono consapevoli del provider. Serena supporta Claude tramite `.mcp.json`, Codex tramite `codex mcp add` con `CODEX_HOME` isolato per progetto e Kimi tramite `.kimi-code/mcp.json`. Un plugin compare solo se il manifesto dichiara il provider; Serena quindi non è offerto per Gemini. La scheda Jira resta indipendente dal provider.
41
-
42
- ## File riservati
43
-
44
- I plugin gestiscono la configurazione MCP nativa del provider, lo stato sotto `.specrails/plugins/` e, solo quando serve a Claude, frammenti sotto `.claude/agents/custom-<plugin>.md`. Le voci Kimi vivono in `.kimi-code/mcp.json`; l'app non scrive frammenti esclusivi di Claude per Kimi e non sovrascrive mai le configurazioni alla cieca.
@@ -1,6 +1,6 @@
1
1
  # Controlla Specrails da qualsiasi AI (server MCP)
2
2
 
3
- > **For agents (English):** use the [current connection runbook](../../../agents/mcp.md) for Claude, Codex, Kimi and Gemini. It includes verified bridge discovery, registration and read-only checks.
3
+ > **For agents (English):** use the [current connection runbook](../../../agents/mcp.md) for Claude and Codex. It includes verified bridge discovery, registration and read-only checks.
4
4
 
5
5
  Specrails può esporre **se stesso** a qualsiasi assistente AI che parli il [Model Context Protocol](https://modelcontextprotocol.io) — Claude Desktop, Claude Code, Cursor, Cline o un tuo agente. Attivalo, punta il tuo assistente verso Specrails e potrai pilotare l'intera app chiacchierando: *"elenca i miei progetti", "crea una spec per il login social nel progetto API", "lancia il rail 0 e dimmi quando ha finito", "quanto ho speso questa settimana?"*. Il tuo assistente richiama gli strumenti di Specrails dietro le quinte, al posto tuo che clicchi qua e là.
6
6
 
@@ -33,19 +33,6 @@ In un client come Claude Desktop o Cursor, la configurazione si presenta così:
33
33
 
34
34
  I client che supportano i server MCP HTTP remoti possono invece puntare direttamente a `http://127.0.0.1:4200/api/mcp` con il token preso dal pannello.
35
35
 
36
- ### Dal terminale: Claude Code, Gemini CLI, Codex CLI
37
-
38
- Copia il tuo token da **Impostazioni ▸ MCP ▸ Copia token**, poi:
39
-
40
- ```bash
41
- # Claude Code
42
- claude mcp add --transport http specrails http://localhost:4200/api/mcp \
43
- --header "X-Desktop-Token: <il tuo token>"
44
-
45
- # Gemini CLI
46
- gemini mcp add --transport http specrails http://localhost:4200/api/mcp \
47
- --header "X-Desktop-Token: <il tuo token>"
48
-
49
36
  # Codex CLI (stdio — registra il comando bridge mostrato in Impostazioni ▸ MCP)
50
37
  codex mcp add specrails -- <comando bridge da Impostazioni ▸ MCP>
51
38
  ```
@@ -20,17 +20,6 @@ L'intestazione ha un **selettore di progetto** (come quello di Cursor). Scegli u
20
20
 
21
21
  Scegliere un progetto qui **non** sposta la tua dashboard: l'obiettivo dell'agente e ciò che stai guardando sono indipendenti.
22
22
 
23
- ## Provider e modello
24
-
25
- Proprio sopra la casella del messaggio scegli il **provider** (Claude, Codex,
26
- Gemini o Kimi) e il suo **modello**. Cambiare provider avvia una sessione
27
- separata.
28
-
29
- Con Kimi i livelli limitano gli strumenti MCP Specrails, ma non trasformano
30
- `kimi -p` in una sandbox: gli strumenti nativi sono approvati
31
- automaticamente. Le azioni pure-output non sicure sono rifiutate prima dello
32
- spawn; vedi la [matrice Kimi](../../../kimi.md).
33
-
34
23
  ## Livelli di permesso — le redini le tieni tu
35
24
 
36
25
  L'agente può toccare tutta l'app, quindi decidi tu quanta libertà ha tramite un **livello** che cambi dal vivo premendo **Shift+Tab** (lo stesso ciclo usato da Claude Code). Ogni livello include tutto ciò che sta sotto:
@@ -24,10 +24,6 @@ Non disponibile sui motori locali: profili agente e ruoli personalizzati, arricc
24
24
 
25
25
  > Le missioni richiedono una **finestra di contesto ampia** sul server (64k token o più): il prompt dell'operatore più gli schemi degli strumenti Specrails sono grandi. Chat ed Explore vanno bene a 32k. Se un turno fallisce con *exceeds the available context size*, aumenta la finestra (Ollama `OLLAMA_CONTEXT_LENGTH`, llama.cpp `-c`, LM Studio *Context Length*).
26
26
 
27
- ## Hai solo un motore locale?
28
-
29
- Niente da configurare. Specrails offre i motori che la tua macchina può davvero eseguire e sceglie il predefinito con un'unica regola ovunque: una CLI installata (Claude → Codex → Gemini → Kimi), altrimenti il primo motore locale il cui endpoint risponde. Su una macchina con il solo endpoint locale, rail, Add Spec, chat, **missioni dell'agente e Project Builder** partono su di esso — nessun selettore da toccare. Un motore con il server spento semplicemente non viene offerto finché non risponde di nuovo. Le missioni esistenti mantengono il motore con cui sono state create; il selettore permette comunque di cambiarlo.
30
-
31
27
  ## Scegliere il modello
32
28
 
33
29
  La qualità dipende dal modello, non da Specrails. Per i rail usa un modello di codice addestrato al tool calling da 30B parametri o più; i modelli instruct piccoli bastano per chat, Explore e spec Quick. Prova **Freestyle** o una sessione Explore prima di affidare un rail implement completo a un modello nuovo.
@@ -35,8 +35,7 @@ Tutto qui. Il rail avvia un processo CLI AI nel contesto di esecuzione corretto
35
35
  | **Pillola di stato** | `idle`, `running` o `failed`. Non esiste uno stato "completed" separato — un rail torna a `idle` quando il suo job termina senza errori. |
36
36
  | **Elenco spec** | Gli ID assegnati a questo rail. Trascinane altri dentro, oppure fuori per staccarli. |
37
37
  | **Selettore Loop** | Il Loop che questo rail esegue — uno integrato (`Implement` / `Freestyle` / `SDD Quick (OpenSpec)`) o un loop personalizzato. Vedi la tabella più sotto. Viene salvato per ogni rail. |
38
- | **Selettore profilo** | Quale profilo del provider viene eseguito (rail Claude e Kimi). |
39
- | **Selettore engine** | Quale provider esegue il rail — Claude, Codex, Gemini o Kimi. |
38
+ | **Selettore engine** | Quale provider esegue il rail — Claude o Codex. |
40
39
  | **▶ Play / ■ Stop** | Avvia o annulla. |
41
40
 
42
41
  ### Cosa esegue un rail: i Loop
@@ -46,14 +45,9 @@ Un rail esegue un **Loop** — la ricetta del lavoro. Due loop sono **integrati*
46
45
  | Loop integrato | Comando | Cosa fa |
47
46
  |------|---------|--------------|
48
47
  | **Implement** | `/specrails:implement` | Un unico job che copre tutte le spec sul rail. Esegue l'intera pipeline Architect → Developer → Reviewer → Ship. L'impostazione predefinita di tutti i giorni. |
49
- | **Freestyle** | Freestyle | Claude o Kimi implementa ogni spec in autonomia, **bypassando** la pipeline. |
50
48
 
51
49
  Per eseguire più spec, metti quelle correlate (fino a 3) su un unico rail — `Implement` le esegue come un solo job aggregato — oppure distribuisci le spec indipendenti su più rail: ogni rail con git gira in parallelo nel proprio worktree isolato.
52
50
 
53
- Freestyle usa strumenti e modelli nativi del provider. Claude ha un transport
54
- interattivo persistente; Kimi usa un processo agentic `kimi -p` senza stdin
55
- persistente.
56
-
57
51
  Anche i loop integrati sono modificabili: modificane uno nel Loop Builder e pubblicalo, e ogni rail che lo sceglie esegue la tua versione (usa **Ripristina originale** per tornare indietro).
58
52
 
59
53
  Oltre agli integrati, puoi **costruire i tuoi loop** — ripetere un ciclo verify → fix → verify finché un obiettivo non è raggiunto, concatenare comandi shell tra gli AI Step e altro ancora. Quei loop personalizzati compaiono nello stesso selettore Loop. È la prossima grande idea: [Il Loop Builder](the-loop-builder).
@@ -84,11 +78,6 @@ Clicca su una scheda qualsiasi per aprire la **vista Dettaglio job**, dove vivon
84
78
 
85
79
  Clicca su **■ Stop** nell'intestazione del rail. L'app invia `SIGTERM` al sottoprocesso, attende **5 secondi** un'uscita pulita e poi gli invia `SIGKILL`. Niente resta avviato a metà.
86
80
 
87
- ## Se un rail non parte
88
-
89
- Se manca la CLI scelta, l'avvio fallisce prima dello spawn. Per Kimi,
90
- installa/autentica `kimi` 0.27+; Desktop non avvia un server.
91
-
92
81
  ## Fermare tutto
93
82
 
94
83
  Se qualcosa sembra non andare:
@@ -101,4 +90,4 @@ Se qualcosa sembra non andare:
101
90
 
102
91
  - [Il Loop Builder](the-loop-builder) — cosa esegue un rail e come costruire i tuoi loop.
103
92
  - [La vista Dettaglio job](the-job-detail-view) — fasi, metriche live, schede ticket.
104
- - [Scegliere un engine per ogni rail](picking-an-engine-per-rail) — Claude, Codex, Gemini o Kimi.
93
+ - [Scegliere un engine per ogni rail](picking-an-engine-per-rail) — Claude o Codex.
@@ -94,9 +94,6 @@ Alcune cose che vale la pena sapere:
94
94
  - **La riga dei totali è reale.** Il composer mostra un riepilogo live `N turni · $X`, sommato dall'uso reale di ogni turno completato — coerente con la promessa di questa pagina di non tirare mai a indovinare.
95
95
  - **Due modi in cui una sessione finisce.** La maggior parte dei job **si conclude da sola**: nel momento in cui un turno termina senza messaggi in coda, la sessione si assesta e il job si completa — i tuoi messaggi sono guida opzionale, mai un obbligo. Un'azione discreta **Concludi ora** la chiude prima, con tutto ciò che è stato prodotto fin lì. I job **Freestyle** sono l'eccezione: restano in attesa tra un turno e l'altro finché non clicchi **Finalize** — è il loro design, una sessione botta e risposta che chiudi quando hai finito.
96
96
  - **Nelle esecuzioni di loop i messaggi vanno al passo attivo.** Su un loop integrato o personalizzato, il tuo messaggio raggiunge il **passo AI in esecuzione in quel momento**. Tra un passo e l'altro (mentre il Loop Decider riflette, o gira un comando shell) il composer mostra un breve stato *«In attesa del prossimo passo…»* — il testo in bozza viene conservato, e l'invio si riattiva quando parte il prossimo passo AI. **Assesta questo passo** termina il passo corrente in anticipo e lascia che il loop avanzi con ciò che ha prodotto.
97
- - **L'interazione persistente è solo Claude.** Codex, Gemini e Kimi sono
98
- one-shot; Kimi riprende una chat con un nuovo `kimi --session=<id> -p` dopo un resume
99
- hint riuscito.
100
97
 
101
98
  ## Esportazione diagnostica
102
99
 
@@ -1,8 +1,5 @@
1
1
  # Scegliere un engine per ogni rail
2
2
 
3
- Specrails desktop tratta **Claude Code**, **Codex CLI**, **Gemini CLI** e
4
- **Kimi Code** come engine di prima classe. È possibile ogni combinazione compatibile.
5
-
6
3
  ## Quando compare il selettore
7
4
 
8
5
  Il **selettore di engine** vive nell'intestazione del rail, proprio accanto al controllo della modalità. Viene mostrato solo quando il progetto ha installato **più di un** provider.
@@ -13,10 +10,6 @@ Quando compare, la tua scelta è **per rail e per avvio** — rail diversi posso
13
10
 
14
11
  ## Come scegliere un engine
15
12
 
16
- 1. Assicurati che il selettore di engine del rail sia visibile (il progetto ha 2+ provider).
17
- 2. Cliccaci sopra e scegli **Claude**, **Codex**, **Gemini** o **Kimi**.
18
- 3. Avvia il rail con **▶ Play**.
19
-
20
13
  L'engine selezionato esegue ogni fase della pipeline di quel rail. Se la CLI dell'engine scelto non è installata, l'avvio fallisce subito — non viene avviato nulla. Installa la CLI mancante e riprova.
21
14
 
22
15
  ## In cosa è bravo ciascun engine
@@ -27,34 +20,21 @@ Tutti e quattro eseguono **Implement**:
27
20
  |--------|--------------------|-------|
28
21
  | **Claude** | Servono costi nativi, interazione persistente o tool policy rigorose. | Profili, Freestyle e transform strutturati. |
29
22
  | **Codex** | Preferisci la CLI Codex di OpenAI o vuoi confrontare le implementazioni tra provider diversi. | `codex` ≥ 0.128.0. Nessuna reportistica nativa dei costi — l'app ricava il costo dalla sua tabella prezzi. I profili non si applicano. |
30
- | **Gemini** | Vuoi la CLI Gemini di Google, telemetria nativa o un'esecuzione più economica per le spec di routine. | `gemini` ≥ 0.11.0 (imposta `GEMINI_API_KEY`). Telemetria OTLP nativa. I profili non si applicano. |
31
- | **Kimi** | Vuoi Kimi agentic per Implement, Freestyle o loop senza Decider. | `kimi` ≥ 0.27.0 esterno; profili/ruoli, effort solo K3; token/costo non disponibili. |
32
-
33
- ### Differenze di capability
34
-
35
- Claude e Kimi supportano profili/Freestyle; Codex/Gemini usano legacy. Kimi
36
- rifiuta Loop Decider e i transform pure-output nella
37
- [guida Kimi](../../../kimi.md). I profili Claude/Kimi restano separati.
38
23
 
39
24
  ## Un flusso di lavoro pratico
40
25
 
41
26
  I progetti multi-provider danno il meglio quando vuoi **confrontare** o **ottimizzare i costi**:
42
27
 
43
28
  - **Confronta le implementazioni.** Metti la stessa spec su due rail, imposta uno su Claude e uno su Codex, avviali entrambi (su progetti diversi, oppure uno dopo l'altro nella coda dello stesso progetto), poi usa il pulsante **Confronta** nella pagina Job per mettere a confronto i risultati.
44
- - **Ottimizza i costi per spec.** Esegui le spec ad alto rischio su Claude con un profilo `max`; esegui le spec di pulizia di routine su Gemini per risparmiare. Filtra `/analytics` per engine per vedere la ripartizione.
45
29
  - **Imposta un default sensato.** Imposta l'engine che usi più spesso come primario del progetto, così i rail partono da quello, e cambia per ogni rail solo quando una spec specifica vuole un engine diverso.
46
30
 
47
31
  ## Cose da tenere a mente
48
32
 
49
33
  - **La selezione del provider è immutabile dopo la creazione del progetto** (v1). Scegli i provider installati quando aggiungi il progetto; non c'è alcun interruttore nelle Impostazioni per aggiungerne o rimuoverne uno in seguito.
50
- - **Le metriche disponibili sono tracciate.** Kimi non fornisce token/costo USD
51
- autorevoli; i campi restano vuoti.
52
34
  - **Il pulsante "Open AI CLI" del terminale** offre anch'esso un selettore di provider sui progetti multi-provider, se preferisci pilotare una CLI a mano.
53
35
 
54
36
  ## Dove andare ora
55
37
 
56
38
  - [Usare Codex](../integrations/using-codex) — installazione e accesso.
57
- - [Usare Gemini](../integrations/using-gemini) — installazione, `GEMINI_API_KEY`, telemetria.
58
- - [Usare Kimi](../../../kimi.md) — installazione e matrice completa.
59
39
  - [Rail e job](rails-and-jobs) — la coda e il flusso di avvio.
60
40
  - [Tracciare i costi](../analytics/tracking-cost) — ripartizione dei costi per engine.
@@ -26,7 +26,7 @@ Un **loop** è la *ricetta* del lavoro; un **rail** è la *corsia* che lo esegue
26
26
 
27
27
  - I loop vivono nella sezione **Loops** (sidebar sinistra, accanto ai tuoi progetti) — sono **globali**, condivisi tra tutti i progetti.
28
28
  - Un rail **sceglie un loop** nel suo header (il selettore Loop) e lo esegue quando premi Play.
29
- - Il **rail** sceglie provider, modello ed effort compatibile. Un loop compatibile gira su Claude, Codex, Gemini o Kimi.
29
+ - Il **rail** sceglie provider, modello ed effort compatibile. Un loop compatibile gira su Claude o Codex.
30
30
 
31
31
  Quindi: costruisci un loop una volta, poi scegli quel loop su qualsiasi rail in qualsiasi progetto.
32
32
 
@@ -50,10 +50,6 @@ Un loop è un grafo di **nodi** collegati da **archi** (le frecce). Ogni nodo è
50
50
 
51
51
  Gli archi collegano gli step in ordine. Il **Loop Decider** ha due uscite etichettate — **continue** e **stop** — così colleghi "non ancora finito" di nuovo nel lavoro e "fatto" verso un End.
52
52
 
53
- > **Kimi esegue loop con step AI/shell, ma non con Loop Decider.** Il verdetto
54
- > è pure-output e `kimi -p` non può imporre il confine no-tools; il run è
55
- > rifiutato prima del primo step.
56
-
57
53
  ### Scrivere il testo di uno step
58
54
 
59
55
  Dentro qualsiasi AI Step o Decider puoi fare riferimento a:
@@ -70,7 +66,6 @@ Un loop che non si ferma mai brucerebbe soldi per sempre, quindi ogni esecuzione
70
66
  |-------|--------------|
71
67
  | **Max iterations** | Tetto massimo di quante volte il Decider può tornare indietro, indipendentemente dal suo verdetto. |
72
68
  | **Timeout (min)** | Limite di tempo reale per l'intera esecuzione. |
73
- | **Max cost ($)** | *Opzionale.* Claude riporta il costo; Codex/Gemini usano stime. Kimi non riporta costo USD autorevole. |
74
69
 
75
70
  ## Costruire con sicurezza
76
71
 
@@ -2,10 +2,6 @@
2
2
 
3
3
  La modalità Quick è pensata per quando sai già cosa vuoi. Scrivi la tua idea, l'AI redige la spec completa e questa atterra sulla tua board come **Da fare**. Niente botta e risposta — basta descriverla e partire.
4
4
 
5
- > **Kimi non è disponibile per Quick Spec.** `kimi -p` non può imporre il
6
- > confine pure-output del form. La richiesta è rifiutata prima dello spawn;
7
- > usa Explore, Raw o Quick Launcher (`/opsx:ff`).
8
-
9
5
  ## Creare una spec in modalità Quick
10
6
 
11
7
  Per creare rapidamente una spec:
@@ -23,9 +19,6 @@ Questo è tutto il flusso. Tutto ciò che segue è una rifinitura facoltativa.
23
19
 
24
20
  **Modello** — per impostazione predefinita l'AI sceglie un modello sensato. Puoi sovrascriverlo per ogni spec dal selettore di modello, se ne vuoi uno più veloce o più capace.
25
21
 
26
- **Engine** — il selettore mostra solo provider **compatibili**; Kimi è escluso
27
- da Quick Spec.
28
-
29
22
  **Contesto** — la modalità Quick di solito viene eseguita come un singolo turno, perché non ha bisogno di leggere il tuo codebase per scrivere una spec a partire dalla tua descrizione. Ma uno slider di contesto ti permette di darle più materiale su cui lavorare:
30
23
 
31
24
  - Al livello più basso legge solo la tua descrizione.
@@ -35,15 +35,6 @@
35
35
 
36
36
  これが流れのすべてです: プロファイルを選び、起動し、おしまい。同じバッチ内で並行するレールは、それぞれ自分のプロファイルを持てるので、ちょっとした修正と重めの機能を、別々の設定で並べて走らせることができます。
37
37
 
38
- ## Agents セクションが静かなとき
39
-
40
- Profile は provider ごとに分離されます。Claude と Kimi は profile/
41
- role に対応し、Codex と Gemini は legacy mode で実行します。混在する
42
- project でも同じ名前が Claude/Kimi 間で交差することはありません。
43
- Kimi は手動 role に対応しますが、Agent Studio の generation、smoke
44
- test、AI Refine は spawn 前に拒否されます。Kimi には
45
- `specrails-core` 4.12.0 以降が必要です。
46
-
47
38
  ## 次に読むなら
48
39
 
49
40
  - [エージェントごとのモデルのカスタマイズ](customizing-models-per-agent) — `fast` と `max` のプロファイルを作る。
@@ -11,29 +11,14 @@
11
11
 
12
12
  ## カスタムエージェントを追加する
13
13
 
14
- Role は provider-native asset です。Claude は
15
- `.claude/agents/custom-<name>.md`、Kimi は
16
- `.kimi-code/skills/custom-<name>/SKILL.md` を使います。
17
-
18
- Asset が存在すると、その provider の Catalog に現れ、同じ provider の Profile に id を追加できます。`custom-docs` は Claude では `.claude/agents/custom-docs.md`、Kimi では `.kimi-code/skills/custom-docs/SKILL.md` に対応し、両者は独立しています。
19
-
20
14
  カスタムエージェントはリポジトリの中に住んでいるので、**コミット可能なチームの資産** です: ファイルをコミットすれば、チーム全員がそのエージェントを手に入れます。これは Agents セクション全体を貫く中心的な考え方を映したものです ——
21
15
 
22
16
  > **エージェントの定義は共有されます(リポジトリの中に住み、`git` とともに移動します)。モデルの設定はプロジェクトごとです(プロファイルの中に住みます)。**
23
17
 
24
- Core は両形式を保護します。Kimi は manual create/edit/run に対応しますが、
25
- Generate、Test、AI Refine は spawn 前に拒否されます。
26
-
27
18
  ## カスタムエージェントを実際に使う
28
19
 
29
20
  典型的な流れは次のとおりです。
30
21
 
31
- 1. native Claude asset または Kimi Skill を valid な指示/model で作成する。
32
- 2. それが **Agents → Catalog** の Custom に現れることを確認する。
33
- 3. **Agents → Profiles** で、そのエージェントをプロファイルのチェーンに追加する(必要なら、そのプロファイル用にモデルを上書きする)。
34
- 4. 適切なタグの付いたタスクがそのエージェントに届くようにルーティングルールを追加する —— あるいはチェーンの順序に任せる。
35
- 5. レールヘッダーから、そのプロファイルでレールを起動する。
36
-
37
22
  ## プロファイルの成績を観察する
38
23
 
39
24
  Agents セクションには **Usage** タブもあります —— 選んだ期間のあいだに、各プロファイルでいくつのジョブが実行されたかを、プロファイルごとに内訳表示するものです。`fast` / `max` の使い分けが本当に意図どおりに使われているかをさっと確認したり、チームがどのプロファイルに引き寄せられているかを見つけたりするのに便利です。
@@ -35,8 +35,6 @@ specrails は、主要な AI コーディング CLI に対応しています。
35
35
 
36
36
  - **Claude**(Claude Code)
37
37
  - **Codex**(Codex CLI)
38
- - **Gemini**(Gemini CLI)
39
- - **Kimi**(Kimi Code)
40
38
 
41
39
  すでに使っているものを選んでも、複数インストールしてタスクごとに使い分けてもかまいません。プロジェクトは単一のプロバイダーでも、複数同時でも動かせるので、特定のツールに縛られることはありません。
42
40
 
@@ -22,8 +22,6 @@ specrails が同梱できない唯一のものが、**AI プロバイダーの C
22
22
 
23
23
  - **Claude Code**
24
24
  - **Codex CLI**
25
- - **Gemini CLI**
26
- - **Kimi Code**
27
25
 
28
26
  使う予定のものをインストールし、ターミナルから一度サインインしておけば準備完了です。どのプロバイダーが入っているかは specrails が自動で検出します。
29
27
 
@@ -20,10 +20,6 @@
20
20
 
21
21
  フォームはこれだけです — **追加**をクリックすれば完了です。
22
22
 
23
- ## AI プロバイダーは自動検出されます
24
-
25
- もうプロバイダーを選ぶ必要はありません。specrails はマシンにインストールされたすべての AI CLI — **Claude**、**Codex**、**Gemini**、**Kimi** — を検出し、どのプロジェクトでも常にそのすべてを使えます。後から新しいプロバイダーをインストールすれば、次にアプリへ戻ったときに自動であらゆる場所に現れます。再セットアップも、プロジェクトごとの設定も不要です。インストール済みでも未ログインのプロバイダーには、セレクターに控えめな*未ログイン*バッジが表示されます。
26
-
27
23
  ## セットアップは静かに行われます
28
24
 
29
25
  セットアップウィザードはありません。**追加**をクリックした瞬間にプロジェクトは登録され、サイドバーに現れます — すぐに開けます。バックグラウンドで specrails がプロジェクトの workspace を組み立てます(数秒、完全オフライン)。プロジェクト行の小さく点滅するドットが作業中を示し、すべて整うと自然に消えます。あるプロバイダーで失敗しても、プロジェクトは他のプロバイダーで動き続けます — 琥珀色のドットが現れ、クリックすると再試行します。
@@ -26,14 +26,9 @@
26
26
 
27
27
  - **ダッシュボード** — スペックボードとレール(さきほどまでいた場所)です。
28
28
  - **ジョブ** — このプロジェクトのすべてのパイプライン実行を、過去・現在を問わず一覧表示します。ステータス・所要時間が分かり、任意の実行の詳細やログを掘り下げられます。
29
- - **分析** — 日別・アクティビティ別・モデル別・チケット別の呼び出しです。Claude は請求コスト、Codex/Gemini は推定値を表示し、Kimi は取得できない token/USD 欄を空のままにします。
30
- - **エージェント** — Claude と Kimi の provider ごとに独立した Profile と Role カタログです。Kimi Role は手動で作成・編集できますが、Generate、Test、AI Refine は利用できません。
31
- - **コード** — 読み取り専用ファイルブラウザと、AI が触れたファイルを示すチップです。平易な AI サマリーは対応 provider でのみ表示され、Kimi では利用できません。
32
29
  - **インテグレーション** — 任意のアドオンです。スペックを **Jira** ボードに接続したり、AI 向けの追加ツールを有効にしたりできます。
33
30
  - **設定** — プロジェクトごとのオプション(テレメトリ、予算、プロバイダー設定など)です。
34
31
 
35
- > セクションとアクションは有効な provider の capability に従います。たとえば Profile は Claude/Kimi で使えますが、Kimi では Agent Studio の AI アクションが fail closed になります。
36
-
37
32
  ## ステータスバー
38
33
 
39
34
  ウィンドウのいちばん下に、細い帯が走っています。小さいながらも便利です。