specrails-desktop 2.58.1 → 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
@@ -1,69 +1 @@
1
- # AI プロバイダー(Claude、Codex、Gemini、Kimi)
2
-
3
- Specrails は特定の AI に縛られません。Claude、Codex、Gemini、Kimi
4
- はファーストクラスのプロバイダーで、各画面には必要な capability
5
- を満たすエンジンだけが表示されます。
6
-
7
- ## 4 つのプロバイダー
8
-
9
- | プロバイダー | CLI | 提供元 | 備考 |
10
- |---|---|---|---|
11
- | **Claude** | `claude` | Anthropic | ネイティブコストと永続的な対話 transport。 |
12
- | **Codex** | `codex` | OpenAI | codex `0.128.0+` が必要です。MCP サーバーはグローバルな `~/.codex/config.toml` から読み込みます。 |
13
- | **Gemini** | `gemini` | Google | gemini `0.11.0+` が必要です。ネイティブのテレメトリと `GEMINI.md` 指示ファイルを使用します。 |
14
- | **Kimi Code** | `kimi` | Moonshot AI | Kimi `0.27.0+` が必要です。Desktop は外部 CLI を `-p` で起動し、server をインストール・起動しません。 |
15
-
16
- 4 つとも**デフォルトで有効**です。CLI が `PATH` にあれば表示されます。
17
- Kimi は `kimi --version` を確認し、`kimi login` を実行してください。
18
-
19
- ## プロバイダーは自動検出されます
20
-
21
- プロジェクトごとにプロバイダーを選ぶことはもうありません。specrails はマシンにインストールされたすべてのプロバイダー CLI を検出し、**すべて**のプロジェクトで常に**全部**を利用できるようにします。その上で各サーフェスがプロバイダーの公表するケイパビリティを確認します。Kimi の正確なマトリクスは[Kimi を使う](../../../kimi.md)を参照してください。
22
-
23
- 使いたいプロバイダーがどこにも現れない場合、ほぼ確実に CLI が未インストールか `PATH` にないためです。インストールしてログインし、アプリに戻ってください — ウィンドウのフォーカス時に検出が再実行され、プロバイダーは自動であらゆる場所に現れ、その workspace サーフェスもバックグラウンドで組み立てられます。インストール済みでも未ログインのプロバイダーは、エンジンセレクターに*未ログイン*バッジ付きで表示されます。
24
-
25
- 複数プロバイダーのマシンについて知っておくと良いこと:
26
-
27
- - **プロバイダーが 1 つだけなら挙動は以前とまったく同じです。** 1 つしか検出されなければ、プロバイダーピッカーはどこにも表示されません — アプリはすっきりシンプルなままです。
28
- - **ケイパビリティがサイドバーを決めます。** 検出済みプロバイダーの少なくとも 1 つが対応していればセクションは表示され、その中のエンジン関連の操作は対応プロバイダーだけを提示します。Kimi はプロファイル、カスタムロール、Freestyle を公表しますが、強制可能なノーツール境界を要する構造化アクションは公表しません。
29
- - **何もロックされません。** プロバイダー CLI の追加や削除はすべてのプロジェクトに自動反映されます — 管理すべきプロジェクトごとのプロバイダー設定は存在しません。
30
-
31
- ## 呼び出しごとにプロバイダーを選ぶ
32
-
33
- マルチプロバイダーのプロジェクトの真価は、グローバル設定を一切変えずに、タスクごとに最適な AI を選べることにあります。AI が動くところには、小さなプロバイダー選択 UI が現れます(プロジェクトに複数のプロバイダーがあるときだけです)。
34
-
35
- - **Add Spec** — Explore は Kimi に対応します。Quick Spec は安全な
36
- pure-output 境界を持つプロバイダーだけを表示するため、Kimi は除外されます。
37
- - **レールのヘッダー** — その特定のレールを起動する前に、使うエンジンを選べます。
38
- - **ターミナル** — 「Open AI CLI」(Sparkles)ボタンを押すとプロバイダーメニューが開き、そのプロジェクトのディレクトリで任意のインストール済み CLI に入れます。
39
-
40
- 選んだエンジンはプロジェクトごとに記憶され、デフォルトはプライマリプロバイダーです。毎回選び直す必要はありません。
41
-
42
- ## Capability の違い
43
-
44
- Kimi は Project/Agent Chat、Explore/proposal、Quick Launcher
45
- (`/opsx:ff`)、rail、Freestyle、Decider のない loop、profile/手動 role、
46
- MCP、Serena、terminal、attachment に対応します。
47
-
48
- `kimi -p` は tool を自動承認し、no-tools/read-only 境界を強制できません。
49
- そのため Quick Spec、AI Edit、Contract Refine、SMASH/Re-SMASH、
50
- Project Builder の blueprint/milestone 生成、Loop Decider、file summary/
51
- construction story、Agent Studio automation は spawn 前に拒否されます。
52
- AI auto-title は deterministic fallback を使います。詳細は
53
- [Kimi guide](../../../kimi.md) を参照してください。
54
-
55
- ## プロバイダー横断のコスト追跡
56
-
57
- **Analytics** は実際に起動した invocation を記録します。Claude は
58
- cost を報告し、Codex/Gemini は推定値です。Kimi は authoritative な
59
- token/USD cost を報告しないため、その項目は空欄です。
60
-
61
- ## トラブルシューティング
62
-
63
- - **インストールしたプロバイダーが表示されない。** `claude --version` / `codex --version` / `gemini --version` / `kimi --version` を確認してください。
64
- - **チャットで Codex の MCP サーバーが読み込まれない。** Codex は MCP サーバーをグローバルな `~/.codex/config.toml` から読み込みます — `codex mcp add` でそこに登録してください。
65
- - **緊急時の無効化。** プロバイダーは環境変数(`SPECRAILS_CODEX_BETA=0` または `SPECRAILS_GEMINI_BETA=0`)でアプリ全体から無効にできます。これはプロバイダーを*選択肢*から隠すだけで、めったに必要にはなりません。
66
-
67
- ## 関連項目
68
-
69
- [Kimi guide](../../../kimi.md)、Codex guide、Gemini guide を参照してください。
1
+ # AI プロバイダー(Claude、Codex、、)
@@ -34,11 +34,3 @@
34
34
  - **レール。** レールが走る前に、Specrails はどのプラグインがインストールされていて正常かを確認し、そのジョブのエージェントにそれらのツールを利用可能にします。劣化したプラグインはその実行ではスキップされるだけで、レールは通常どおり起動します。各ジョブは、どのプラグインが有効だったかのスナップショットを記録し、ジョブの診断エクスポートで確認できます。
35
35
  - **チャット。** チャットはプロジェクトの MCP 設定を自動的に取り込むので、インストール済みのプラグインはそこでも利用できます。
36
36
  - **セットアップ。** プロジェクトのセットアップ中はプラグインは無視されます — プロジェクトの準備が整ってから登場します。
37
-
38
- ## プロバイダーに関する注意
39
-
40
- Plugin は provider-aware です。Serena は Claude の `.mcp.json`、project ごとに分離した `CODEX_HOME` での `codex mcp add`、Kimi の `.kimi-code/mcp.json` をサポートします。Manifest が provider を宣言したときだけ表示されるため、Gemini には Serena は提供されません。Jira card は provider 非依存です。
41
-
42
- ## 予約ファイル
43
-
44
- Plugin は provider の native MCP 設定、`.specrails/plugins/` の state、必要な Claude plugin の `.claude/agents/custom-<plugin>.md` だけを管理します。Kimi entry は `.kimi-code/mcp.json` に置かれ、Kimi に Claude-only fragment を書いたり設定を無造作に上書きしたりしません。
@@ -1,6 +1,6 @@
1
1
  # 任意の AI から Specrails を操作する(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 は、[Model Context Protocol](https://modelcontextprotocol.io) を話す任意の AI アシスタント(Claude Desktop、Claude Code、Cursor、Cline、あるいは自作のエージェント)に対して、**自分自身**を公開できます。これをオンにしてアシスタントを Specrails に向ければ、チャットするだけでアプリ全体を操作できます。たとえば *「プロジェクト一覧を見せて」「API プロジェクトにソーシャルログインのスペックを作って」「レール 0 を起動して、終わったら教えて」「今週はいくら使った?」* といった具合です。あなたがあちこちクリックする代わりに、アシスタントが裏側で Specrails のツールを呼び出します。
6
6
 
@@ -33,19 +33,6 @@ Claude Desktop や Cursor のようなクライアントでは、設定は次の
33
33
 
34
34
  リモートの HTTP MCP サーバーに対応しているクライアントなら、代わりにパネルのトークンを使って `http://127.0.0.1:4200/api/mcp` を直接指すこともできます。
35
35
 
36
- ### ターミナルから: Claude Code、Gemini CLI、Codex CLI
37
-
38
- **設定 ▸ MCP ▸ トークンをコピー** からトークンをコピーして、次を実行します:
39
-
40
- ```bash
41
- # Claude Code
42
- claude mcp add --transport http specrails http://localhost:4200/api/mcp \
43
- --header "X-Desktop-Token: <あなたのトークン>"
44
-
45
- # Gemini CLI
46
- gemini mcp add --transport http specrails http://localhost:4200/api/mcp \
47
- --header "X-Desktop-Token: <あなたのトークン>"
48
-
49
36
  # Codex CLI (stdio — 設定 ▸ MCP に表示されるブリッジコマンドを登録)
50
37
  codex mcp add specrails -- <設定 ▸ MCP のブリッジコマンド>
51
38
  ```
@@ -20,16 +20,6 @@ Agent Chat は組み込みの **Specrails MCP サーバー**を通じてアプ
20
20
 
21
21
  ここでプロジェクトを選んでも、あなたのダッシュボードは**動きません**——エージェントの対象と、あなたが見ているものは互いに独立しています。
22
22
 
23
- ## プロバイダーとモデル
24
-
25
- メッセージ欄のすぐ上で、**プロバイダー**(Claude、Codex、Gemini、
26
- Kimi)とその**モデル**を選びます。切り替えると別 session が開始します。
27
-
28
- Kimi では level は Specrails MCP tool を制限しますが、`kimi -p` 自体を
29
- sandbox にはしません。native tool は自動承認されます。安全でない
30
- pure-output action は spawn 前に拒否されます。詳細は
31
- [Kimi matrix](../../../kimi.md) を参照してください。
32
-
33
23
  ## 権限レベル——手綱はあなたが握る
34
24
 
35
25
  エージェントはアプリ全体に触れられるので、どこまで自由を与えるかはあなたが決めます。**Shift+Tab** を押してその場で切り替える**レベル**でコントロールします(Claude Code が使うのと同じ循環です)。各レベルはその下のすべてを含みます。
@@ -24,10 +24,6 @@
24
24
 
25
25
  > ミッションにはサーバー側に**大きなコンテキストウィンドウ**(64k トークン以上)が必要です。オペレータープロンプトと Specrails ツールのスキーマは大きいためです。チャットと Explore は 32k で十分です。ターンが *exceeds the available context size* で失敗する場合は、ウィンドウを拡大してください(Ollama `OLLAMA_CONTEXT_LENGTH`、llama.cpp `-c`、LM Studio *Context Length*)。
26
26
 
27
- ## ローカルエンジンしかない場合は?
28
-
29
- 設定は不要です。Specrails はマシンが実際に実行できるエンジンだけを提示し、既定値はどこでも同じ規則で選びます。インストール済み CLI(Claude → Codex → Gemini → Kimi)、なければエンドポイントが応答する最初のローカルエンジンです。ローカルエンドポイントしかないマシンでは、レール、Add Spec、チャット、**エージェントのミッションと Project Builder** がそのままそのエンジンで始まり、セレクターに触れる必要はありません。サーバーが停止しているエンジンは、再び応答するまで提示されません。既存のミッションは作成時のエンジンを保持し、セレクターで切り替えることもできます。
30
-
31
27
  ## モデルの選び方
32
28
 
33
29
  品質は Specrails ではなくモデル次第です。レールには 30B パラメータ以上のツール呼び出し対応コーダーモデルを使ってください。小さな instruct モデルはチャット、Explore、Quick スペックには十分です。新しいモデルに implement レール全体を任せる前に、**Freestyle** か Explore セッションで試してください。
@@ -35,8 +35,6 @@ SpecsBoard(左) レール(右)
35
35
  | **ステータスピル** | `idle`、`running`、`failed` のいずれか。「completed」という別ステータスはありません — ジョブがきれいに完了すると、レールは `idle` に戻ります。 |
36
36
  | **スペック一覧** | このレールに割り当てられた ID。さらにドラッグして追加したり、ドラッグして外したりできます。 |
37
37
  | **Loop ピッカー** | このレールが実行する Loop — 組み込み(`Implement` / `Freestyle` / `SDD Quick (OpenSpec)`)かカスタム Loop。下の表を参照してください。レールごとに保持されます。 |
38
- | **プロファイルピッカー** | 実行する provider profile(Claude/Kimi rail)。 |
39
- | **エンジンセレクター** | rail を実行する provider — Claude、Codex、Gemini、Kimi。 |
40
38
  | **▶ Play / ■ Stop** | 開始またはキャンセル。 |
41
39
 
42
40
  ### レールが実行するもの: Loop
@@ -46,14 +44,9 @@ SpecsBoard(左) レール(右)
46
44
  | 組み込み Loop | コマンド | 役割 |
47
45
  |------|---------|--------------|
48
46
  | **Implement** | `/specrails:implement` | レール上のすべてのスペックをまとめた 1 つのジョブ。Architect → Developer → Reviewer → Ship のフルパイプラインを実行します。日常的に使うデフォルトです。 |
49
- | **Freestyle** | Freestyle | Claude または Kimi が pipeline を**バイパス**して自律的に実装します。 |
50
47
 
51
48
  複数のスペックを実行するには、関連するもの(最大 3 件)を 1 本のレールに載せる(`Implement` がまとめて 1 つのジョブとして実行します)か、独立したスペックを複数のレールに分けます。git 管理のレールはそれぞれ専用の分離された worktree で並行して動きます。
52
49
 
53
- Freestyle は provider の native tool/model を使います。Claude は
54
- persistent interactive transport、Kimi は persistent stdin のない agentic
55
- `kimi -p` process を使います。
56
-
57
50
  組み込み Loop も編集できます。Loop Builder で編集して公開すると、それを選んでいるすべてのレールがあなたのバージョンを実行します(戻すには **元に戻す** を使います)。
58
51
 
59
52
  組み込みのほかにも、**自分だけの Loop を作る** ことができます — verify → fix → verify のサイクルを目標が達成されるまで繰り返したり、AI ステップの間にシェルコマンドを連ねたり、さらにいろいろなことができます。そうしたカスタム Loop は同じ Loop ピッカーに表示されます。それが次の大きなアイデア、[Loop Builder](the-loop-builder) です。
@@ -84,11 +77,6 @@ git のないプロジェクトでは worktree 隔離も PR 継続も使えま
84
77
 
85
78
  レールヘッダーの **■ Stop** をクリックします。アプリはサブプロセスに `SIGTERM` を送り、**5 秒間** クリーンな終了を待ってから `SIGKILL` します。中途半端に生成されたものが残ることはありません。
86
79
 
87
- ## レールが起動しないとき
88
-
89
- 選択した CLI がなければ spawn 前に失敗します。Kimi は `kimi`
90
- 0.27+ を install/login してください。Desktop は server を起動しません。
91
-
92
80
  ## すべてを止める
93
81
 
94
82
  何かおかしいと感じたら、
@@ -101,4 +89,3 @@ git のないプロジェクトでは worktree 隔離も PR 継続も使えま
101
89
 
102
90
  - [Loop Builder](the-loop-builder) — レールが実行するもの、そして自分だけの Loop を作る方法。
103
91
  - [ジョブ詳細ビュー](the-job-detail-view) — フェーズ、ライブメトリクス、チケットカード。
104
- - [レールごとのエンジン選択](picking-an-engine-per-rail) — Claude / Codex / Gemini / Kimi。
@@ -94,9 +94,6 @@ Architect ──► Developer ──► Reviewer ──► Ship
94
94
  - **合計の行は本物です。** コンポーザーはライブの `N ターン · $X` サマリーを表示します。完了した各ターンの実際の使用量を合算したもので、このページの「推測しない」という約束と一貫しています。
95
95
  - **セッションの終わり方は 2 通り。** ほとんどのジョブは**自分で締めくくります**。キューにメッセージが残っていない状態でターンが終わった瞬間、セッションは自ら落ち着き、ジョブは完了します — あなたのメッセージは任意の舵取りであって、義務ではありません。控えめな**今すぐ締めくくる**アクションで、それまでの成果を保ったまま早めに終わらせることもできます。**Freestyle** ジョブだけは例外です。ターンの合間で待機し、あなたが **Finalize** をクリックするまで開き続けます — あなたが閉じる往復のセッション、それが Freestyle の設計です。
96
96
  - **Loop 実行では、メッセージはアクティブなステップに届きます。** 組み込みでもカスタムでも、Loop 上ではメッセージは**いままさに実行中の AI ステップ**に届きます。ステップの合間(Loop Decider が考えている間や、シェルコマンドの実行中)には、コンポーザーは*「次のステップを待っています…」*という短い待機状態を表示します — 下書きのテキストは保持され、次の AI ステップが始まると送信が再び有効になります。**このステップを確定**すると現在のステップを早めに終わらせ、その成果とともに Loop を先へ進められます。
97
- - **persistent interaction は Claude のみです。** Codex、Gemini、Kimi は
98
- one-shot です。Kimi chat は resume hint 後に新しい `kimi --session=<id> -p` で
99
- resume します。
100
97
 
101
98
  ## 診断のエクスポート
102
99
 
@@ -1,9 +1,5 @@
1
1
  # レールごとのエンジン選択
2
2
 
3
- Specrails desktop は **Claude Code**、**Codex CLI**、**Gemini CLI**、
4
- **Kimi Code** を一級の engine として扱います。compatible な組み合わせを
5
- install できます。
6
-
7
3
  ## セレクターが現れるとき
8
4
 
9
5
  **エンジンセレクター** はレールヘッダーの、モードコントロールのすぐ隣にあります。プロジェクトに **複数の** プロバイダーがインストールされているときだけ表示されます。
@@ -14,10 +10,6 @@ install できます。
14
10
 
15
11
  ## エンジンの選び方
16
12
 
17
- 1. レールのエンジンセレクターが表示されていることを確認します(プロジェクトにプロバイダーが 2 つ以上)。
18
- 2. **Claude**、**Codex**、**Gemini**、**Kimi** を選びます。
19
- 3. **▶ Play** でレールを起動します。
20
-
21
13
  選んだエンジンが、そのレールのパイプラインの全フェーズを実行します。選んだエンジンの CLI がインストールされていない場合、起動は即座に失敗します — 何も生成されません。足りない CLI をインストールして、もう一度試してください。
22
14
 
23
15
  ## それぞれのエンジンが得意なこと
@@ -28,34 +20,21 @@ install できます。
28
20
  |--------|--------------------|-------|
29
21
  | **Claude** | native cost、persistent interaction、strict tool policy が必要。 | Profile、Freestyle、structured transform。 |
30
22
  | **Codex** | OpenAI Codex CLI を好むとき、あるいはプロバイダー間で実装を比べたいとき。 | `codex` ≥ 0.128.0。ネイティブのコスト報告なし — アプリが料金表からコストを補います。プロファイルは適用されません。 |
31
- | **Gemini** | Google の Gemini CLI を使いたいとき、ネイティブのテレメトリがほしいとき、あるいは日常的なスペックを安く実行したいとき。 | `gemini` ≥ 0.11.0(`GEMINI_API_KEY` を設定)。ネイティブの OTLP テレメトリ。プロファイルは適用されません。 |
32
- | **Kimi** | Implement、Freestyle、Decider のない loop に agentic Kimi を使う。 | 外部 `kimi` ≥ 0.27.0。Profile/role、effort は K3 のみ。token/cost は unavailable。 |
33
-
34
- ### Capability の違い
35
-
36
- Claude/Kimi は Profile と Freestyle、Codex/Gemini は legacy。Kimi は
37
- Loop Decider と [Kimi guide](../../../kimi.md) の pure-output transform
38
- を拒否します。Claude/Kimi Profile は分離されます。
39
23
 
40
24
  ## 実用的なワークフロー
41
25
 
42
26
  複数プロバイダーのプロジェクトは、**比較** や **コスト調整** をしたいときに真価を発揮します。
43
27
 
44
28
  - **実装を比較する。** 同じスペックを 2 つのレールに乗せ、一方を Claude、もう一方を Codex に設定して両方を起動し(プロジェクトをまたいで、あるいは同じプロジェクトのキューで一つずつ)、ジョブページの **比較** ボタンで結果を差分表示します。
45
- - **スペック単位でコスト調整する。** 重要なスペックは `max` プロファイルの Claude で、日常的なクリーンアップ系のスペックは Gemini で実行して支出を抑えます。`/analytics` をエンジンで絞り込めば、内訳が見られます。
46
29
  - **賢くデフォルトを決める。** 一番よく使うエンジンをプロジェクトの主エンジンに設定してレールがそれを既定にするようにし、特定のスペックが別のエンジンを必要とするときだけレールごとに切り替えます。
47
30
 
48
31
  ## 覚えておきたいこと
49
32
 
50
33
  - **プロバイダーの選択はプロジェクト作成後は変更できません**(v1)。インストールするプロバイダーはプロジェクトを追加するときに選びます。あとから追加・削除する設定トグルはありません。
51
- - **available metrics は記録されます。** Kimi は authoritative token/
52
- USD cost を報告しないため空欄です。
53
34
  - **ターミナルの「Open AI CLI」ボタン** も、複数プロバイダーのプロジェクトではプロバイダーピッカーを表示します。自分の手で CLI を動かしたいときにどうぞ。
54
35
 
55
36
  ## 次に読むもの
56
37
 
57
38
  - [Codex を使う](../integrations/using-codex) — インストールとサインイン。
58
- - [Gemini を使う](../integrations/using-gemini) — インストール、`GEMINI_API_KEY`、テレメトリ。
59
- - [Kimi を使う](../../../kimi.md) — install と capability matrix。
60
39
  - [レールとジョブ](rails-and-jobs) — キューと起動の流れ。
61
40
  - [コストの追跡](../analytics/tracking-cost) — エンジンごとのコスト内訳。
@@ -26,7 +26,6 @@
26
26
 
27
27
  - Loop は **Loops** セクション(左サイドバー、プロジェクトの隣)にあります — これらは **グローバル** で、すべてのプロジェクトで共有されます。
28
28
  - レールはヘッダー(Loop ピッカー)で **Loop を選び**、Play を押すとそれを実行します。
29
- - provider、model、compatible effort は **rail** が決めます。compatible な Loop は Claude、Codex、Gemini、Kimi で実行できます。
30
29
 
31
30
  つまり、Loop を一度作ってしまえば、どのプロジェクトのどのレールでもそれを選べます。
32
31
 
@@ -50,10 +49,6 @@ Loop は **ノード** を **エッジ**(矢印)でつないだグラフで
50
49
 
51
50
  エッジはステップを順番につなぎます。**Loop Decider** には **continue** と **stop** という 2 つのラベル付き出力があるので、「まだ終わっていない」を作業へ配線して戻し、「終わった」を End へ配線して出します。
52
51
 
53
- > **Kimi は AI/shell step の loop に対応しますが、Loop Decider には
54
- > 対応しません。** verdict は pure-output で、`kimi -p` は no-tools
55
- > 境界を強制できません。run は最初の step より前に拒否されます。
56
-
57
52
  ### ステップのテキストを書く
58
53
 
59
54
  AI Step や Decider の中では、次のものを参照できます。
@@ -70,7 +65,6 @@ AI Step や Decider の中では、次のものを参照できます。
70
65
  |-------|--------------|
71
66
  | **Max iterations** | Decider が判断にかかわらずループバックできる回数のハードキャップ。 |
72
67
  | **Timeout (min)** | 実行全体に対する実時間(壁時計)の上限。 |
73
- | **Max cost ($)** | *任意。* Claude は cost、Codex/Gemini は estimate。Kimi は authoritative USD cost を報告しません。 |
74
68
 
75
69
  ## 自信を持って組み立てる
76
70
 
@@ -2,10 +2,6 @@
2
2
 
3
3
  クイックモードは、やりたいことがすでにわかっているときのためのモードです。アイデアを入力すれば AI がスペック全文を書き上げ、**Todo** としてボードに着地します。やり取りは不要。記述したら、あとは進むだけです。
4
4
 
5
- > **Kimi は Quick Spec では利用できません。** `kimi -p` はこの
6
- > pure-output 境界を強制できないため、spawn 前に拒否されます。Explore、
7
- > Raw、または Quick Launcher(`/opsx:ff`)を使ってください。
8
-
9
5
  ## クイックモードでスペックを作成する
10
6
 
11
7
  すばやくスペックを作成するには、次の手順で進めます。
@@ -23,9 +19,6 @@
23
19
 
24
20
  **モデル** — デフォルトでは AI が手頃なモデルを選びます。より速いモデルやより高性能なモデルを使いたい場合は、モデルピッカーからスペックごとに上書きできます。
25
21
 
26
- **エンジン** — セレクターには **compatible** なプロバイダーだけが
27
- 表示され、Quick Spec では Kimi は除外されます。
28
-
29
22
  **コンテキスト** — クイックモードは通常 1 ターンで動きます。あなたの説明からスペックを書くだけなら、コードベースを読む必要がないからです。ただし、コンテキストスライダーを使えば、AI が参照できる材料を増やせます。
30
23
 
31
24
  - 一番低い設定では、あなたの説明だけを読みます。
@@ -35,14 +35,6 @@ A seleção do perfil acontece mesmo onde lança — no **cabeçalho do rail**,
35
35
 
36
36
  É todo o fluxo: escolha um perfil, lance, pronto. Rails concorrentes no mesmo batch podem levar cada um o seu próprio perfil, por isso uma correção rápida e uma funcionalidade pesada podem correr lado a lado com configurações diferentes.
37
37
 
38
- ## Quando a secção Agentes está silenciosa
39
-
40
- Os perfis são separados por provider. Claude e Kimi suportam perfis/roles;
41
- Codex e Gemini usam modo legacy. Em projetos mistos o mesmo nome não atravessa
42
- Claude/Kimi. Kimi permite roles manuais, mas generation, smoke test e AI
43
- Refine do Agent Studio são recusados antes do spawn. Kimi exige
44
- `specrails-core` 4.12.0 ou mais recente.
45
-
46
38
  ## Para onde ir a seguir
47
39
 
48
40
  - [Personalizar modelos por agente](customizing-models-per-agent) — construa perfis `fast` e `max`.
@@ -11,29 +11,14 @@ Cada entrada do catálogo mostra para que serve o agente e o seu modelo predefin
11
11
 
12
12
  ## Adicionar um agente personalizado
13
13
 
14
- Roles são assets nativos do provider: Claude usa
15
- `.claude/agents/custom-<nome>.md`; Kimi usa
16
- `.kimi-code/skills/custom-<nome>/SKILL.md`.
17
-
18
- Quando o asset existe, aparece no catálogo desse provider e o seu id pode ser adicionado a um perfil do mesmo provider. `custom-docs` corresponde a `.claude/agents/custom-docs.md` em Claude ou `.kimi-code/skills/custom-docs/SKILL.md` em Kimi; ambos ficam separados.
19
-
20
14
  Como vivem no seu repositório, os agentes personalizados são **ativos de equipa que se podem committar**: faça commit do ficheiro e toda a equipa fica com o agente. Isto espelha a ideia central de toda a secção Agentes —
21
15
 
22
16
  > **As definições dos agentes são partilhadas (vivem no repositório e viajam com o `git`). A configuração dos modelos é por projeto (vive nos perfis).**
23
17
 
24
- Core protege ambos os formatos. Kimi permite criação/edição manual e execução;
25
- Generate, Test e AI Refine são recusados antes do spawn.
26
-
27
18
  ## Pôr um agente personalizado a trabalhar
28
19
 
29
20
  O fluxo típico:
30
21
 
31
- 1. Crie o asset Claude ou Skill Kimi nativo com instruções/modelo válidos.
32
- 2. Confirme que aparece em **Agentes → Catálogo** em Personalizados.
33
- 3. Em **Agentes → Perfis**, adicione o agente à cadeia de um perfil (substituindo opcionalmente o seu modelo para esse perfil).
34
- 4. Adicione uma regra de encaminhamento para que as tarefas com as tags certas cheguem até ele — ou confie na ordem da cadeia.
35
- 5. Lance um rail com esse perfil a partir do cabeçalho do rail.
36
-
37
22
  ## Acompanhar o desempenho dos perfis
38
23
 
39
24
  A secção Agentes tem também um separador **Utilização** — uma análise por perfil de quantos jobs correram sob cada perfil numa janela selecionada. É uma forma rápida de confirmar que a sua divisão `fast`/`max` está mesmo a ser usada como pretendia, e de detetar para que perfil a sua equipa tende a gravitar.
@@ -35,8 +35,6 @@ O specrails funciona com as principais CLIs de programação com IA:
35
35
 
36
36
  - **Claude** (Claude Code)
37
37
  - **Codex** (Codex CLI)
38
- - **Gemini** (Gemini CLI)
39
- - **Kimi** (Kimi Code)
40
38
 
41
39
  Escolha aquela que já usa — ou instale mais do que uma e escolha por tarefa. Um projeto pode correr num único fornecedor ou em vários ao mesmo tempo, por isso nunca fica preso a um só.
42
40
 
@@ -22,8 +22,6 @@ A única coisa que o specrails não consegue incluir é a própria **CLI do forn
22
22
 
23
23
  - **Claude Code**
24
24
  - **Codex CLI**
25
- - **Gemini CLI**
26
- - **Kimi Code**
27
25
 
28
26
  Instale aquela que planeia usar, inicie sessão nela uma vez a partir do seu terminal, e está tudo a postos. O specrails deteta automaticamente quais os fornecedores presentes.
29
27
 
@@ -20,10 +20,6 @@ Um rótulo amigável mostrado na barra lateral. Se deixar em branco, o specrails
20
20
 
21
21
  É todo o formulário — clique em **Adicionar** e está feito.
22
22
 
23
- ## Os fornecedores de IA são detetados automaticamente
24
-
25
- Já não escolhe fornecedores. O specrails deteta cada CLI de IA instalado na sua máquina — **Claude**, **Codex**, **Gemini**, **Kimi** — e todos os projetos podem usá-los todos, sempre. Se instalar um fornecedor novo mais tarde, ele aparece em todo o lado por si próprio na próxima vez que focar a app; sem reconfiguração, sem ajustes por projeto. Se um fornecedor estiver instalado mas sem sessão iniciada, o seu seletor mostra um distintivo subtil *Sem sessão iniciada*.
26
-
27
23
  ## A configuração acontece em silêncio
28
24
 
29
25
  Não há assistente de configuração. No momento em que clica em **Adicionar**, o projeto fica registado e aparece na barra lateral — pode abri-lo de imediato. Em segundo plano, o specrails monta o workspace do projeto (poucos segundos, totalmente offline): um pequeno ponto a pulsar na linha do projeto mostra que está a trabalhar, e desaparece quando tudo está pronto. Se algo falhar para um fornecedor, o projeto continua a funcionar com os restantes — aparece um ponto âmbar e clicar nele tenta de novo.
@@ -26,14 +26,9 @@ A barra lateral direita é o seu painel de comutação para o projeto atual. Pas
26
26
 
27
27
  - **Dashboard** — o quadro de specs e os rails (onde estava agora mesmo).
28
28
  - **Jobs** — todas as execuções do pipeline deste projeto, passadas e presentes, com estado, duração e a possibilidade de aprofundar o detalhe e os logs de qualquer execução.
29
- - **Analytics** — invocações por dia, atividade, modelo e ticket. Claude comunica custo faturado, Codex/Gemini usam estimativas e Kimi deixa vazios os campos de tokens/custo USD indisponíveis.
30
- - **Agentes** — perfis e catálogos de roles por provider para Claude e Kimi. Com Kimi, os roles são criados/editados manualmente; Generate, Test e AI Refine não estão disponíveis.
31
- - **Code** — um explorador de ficheiros só de leitura com etiquetas dos ficheiros tocados pela IA. Os resumos em linguagem simples só aparecem com providers compatíveis e não estão disponíveis com Kimi.
32
29
  - **Integrações** — extras opcionais, como ligar as suas specs a um quadro do **Jira** ou ativar ferramentas adicionais para a IA.
33
30
  - **Definições** — opções por projeto (telemetria, orçamentos, configuração de fornecedores e muito mais).
34
31
 
35
- > Secções e ações seguem as capacidades do provider efetivo. Por exemplo, os perfis funcionam com Claude e Kimi, mas as ações de IA do Agent Studio falham de forma fechada com Kimi.
36
-
37
32
  ## A barra de estado
38
33
 
39
34
  Uma faixa fina percorre o fundo da janela. É pequena, mas prática:
@@ -1,28 +1,14 @@
1
- # Providers de IA (Claude, Codex, Gemini, Kimi)
1
+ # Providers de IA (Claude, Codex)
2
2
 
3
- O Specrails não está preso a uma única IA. Claude, Codex, Gemini e Kimi são
4
- providers de primeira linha; cada superfície mostra apenas motores com as
5
- capabilities exigidas pelo seu contrato.
6
-
7
- ## Os quatro providers
3
+ ## Os dois providers
8
4
 
9
5
  | Provider | CLI | Feito por | Notas |
10
6
  |---|---|---|---|
11
7
  | **Claude** | `claude` | Anthropic | Custo nativo e transporte interativo persistente. |
12
8
  | **Codex** | `codex` | OpenAI | Requer codex `0.128.0+`. Lê os seus servidores MCP a partir do `~/.codex/config.toml` global. |
13
- | **Gemini** | `gemini` | Google | Requer gemini `0.11.0+`. Usa telemetria nativa e um ficheiro de instruções `GEMINI.md`. |
14
- | **Kimi Code** | `kimi` | Moonshot AI | Requer Kimi `0.27.0+`. O Desktop lança o CLI externo com `-p`; não instala nem inicia um servidor. |
15
-
16
- Os quatro estão **ativados por omissão**. O provider aparece quando o CLI está
17
- no `PATH`; para Kimi, confirme `kimi --version` e execute `kimi login`.
18
9
 
19
10
  ## Os providers são detetados automaticamente
20
11
 
21
- Nunca escolhes providers por projeto. O specrails deteta cada CLI de provider
22
- instalado na tua máquina e disponibiliza **todos** a **todos** os projetos,
23
- sempre. Cada superfície verifica depois as capacidades anunciadas pelo
24
- provider. Vê [Usar o Kimi](../../../kimi.md) para a matriz exata do Kimi.
25
-
26
12
  Se um provider que queres não aparece em lado nenhum, é quase sempre porque o
27
13
  CLI não está instalado ou não está no teu `PATH`. Instala-o, inicia sessão e
28
14
  volta à app — a deteção corre de novo ao focar a janela e o provider aparece
@@ -33,11 +19,6 @@ aparecer, com um distintivo *Sem sessão iniciada* nos seletores de motor.
33
19
  Algumas coisas úteis sobre máquinas multi-provider:
34
20
 
35
21
  - **Um único provider comporta-se exatamente como antes.** Se só um for detetado, nunca verás um seletor de provider — a app mantém-se limpa e simples.
36
- - **As capabilities comandam a barra lateral.** Uma secção é visível quando pelo
37
- menos um provider detetado a suporta; lá dentro, as ações por motor só
38
- oferecem os providers capazes. O Kimi anuncia perfis, roles personalizados e
39
- Freestyle; não anuncia ações estruturadas que exijam uma fronteira sem
40
- ferramentas aplicável.
41
22
  - **Nada fica bloqueado.** Instalar ou remover um CLI de provider atualiza todos
42
23
  os projetos automaticamente — não há definição de provider por projeto para gerir.
43
24
 
@@ -45,38 +26,11 @@ Algumas coisas úteis sobre máquinas multi-provider:
45
26
 
46
27
  A grande vantagem de um projeto multi-provider é poder escolher a IA certa para cada tarefa — sem mexer em nenhuma definição global. Sempre que uma IA corre, aparece um pequeno seletor de provider (apenas quando o projeto tem mais do que um):
47
28
 
48
- - **Adicionar Spec** — Explore suporta Kimi; Quick Spec mostra apenas
49
- providers com um limite pure-output seguro e exclui Kimi.
50
29
  - **Cabeçalho do rail** — escolha o motor para esse rail específico antes de o lançar.
51
30
  - **Terminal** — o botão "Open AI CLI" (Sparkles) abre um menu de providers para que possa entrar em qualquer CLI instalado na diretoria desse projeto.
52
31
 
53
32
  A sua escolha é guardada por projeto, predefinida para o provider primário, para que não tenha de a repetir de cada vez.
54
33
 
55
- ## Diferenças de capability
56
-
57
- Kimi suporta Project/Agent Chat, Explore/propostas, Quick Launcher
58
- (`/opsx:ff`), rails, Freestyle, loops sem Decider, perfis/roles manuais, MCP,
59
- Serena, terminal e anexos.
60
-
61
- `kimi -p` aprova ferramentas automaticamente e não consegue impor um limite
62
- no-tools/read-only. São recusados antes do spawn: Quick Spec, AI Edit,
63
- Contract Refine, SMASH/Re-SMASH, geração de blueprint/milestone no Project
64
- Builder, Loop Decider, resumos/construction story e automação do Agent Studio.
65
- Auto-title usa um fallback determinístico. Consulte o
66
- [guia Kimi](../../../kimi.md).
67
-
68
- ## Acompanhamento de custos entre providers
69
-
70
- **Analytics** regista invocações realmente iniciadas. Claude reporta custo;
71
- Codex/Gemini usam estimativas. Kimi não reporta tokens ou custo USD
72
- autoritativos, portanto os campos ficam vazios.
73
-
74
34
  ## Resolução de problemas
75
35
 
76
- - **Um provider que instalei não aparece.** Confirme `claude --version` / `codex --version` / `gemini --version` / `kimi --version`.
77
36
  - **Os servidores MCP do Codex não carregam no chat.** O Codex lê os servidores MCP a partir do `~/.codex/config.toml` global — registe-os aí com `codex mcp add`.
78
- - **Desativar em emergência.** Um provider pode ser desligado em toda a app através de uma variável de ambiente (`SPECRAILS_CODEX_BETA=0` ou `SPECRAILS_GEMINI_BETA=0`). Isto só esconde o provider da *seleção*; raramente é necessário.
79
-
80
- ## Ver também
81
-
82
- Consulte os guias dedicados a [Kimi](../../../kimi.md), Codex e Gemini.
@@ -34,11 +34,3 @@ Nos bastidores, a instalação é *cirúrgica e aditiva*: só acrescenta entrada
34
34
  - **Rails.** Antes de um rail correr, o Specrails verifica quais os plugins instalados e saudáveis e disponibiliza essas ferramentas ao agente para esse trabalho. Um plugin degradado é simplesmente ignorado nessa execução — o rail é lançado normalmente. Cada trabalho regista um instantâneo de quais os plugins que estavam ativos, que pode consultar na exportação de diagnóstico do trabalho.
35
35
  - **Chat.** O chat recolhe automaticamente a configuração MCP do seu projeto, por isso os plugins instalados também ficam disponíveis aí.
36
36
  - **Configuração.** Os plugins são ignorados enquanto um projeto ainda está a ser configurado — entram em ação assim que o projeto fica pronto.
37
-
38
- ## Notas sobre providers
39
-
40
- Os plugins têm consciência do provider. O Serena suporta Claude via `.mcp.json`, Codex via `codex mcp add` com `CODEX_HOME` isolado por projeto e Kimi via `.kimi-code/mcp.json`. Um plugin só aparece se o manifesto declarar o provider; por isso Serena não é oferecido para Gemini. O cartão Jira é agnóstico ao provider.
41
-
42
- ## Ficheiros reservados
43
-
44
- Os plugins gerem a configuração MCP nativa do provider, estado em `.specrails/plugins/` e, apenas quando Claude precisa, fragmentos em `.claude/agents/custom-<plugin>.md`. As entradas Kimi ficam em `.kimi-code/mcp.json`; a app não escreve fragmentos exclusivos de Claude para Kimi nem sobrescreve configurações às cegas.
@@ -1,6 +1,6 @@
1
1
  # Controlar o Specrails a partir de qualquer IA (servidor 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
  O Specrails pode expor-se **a si próprio** a qualquer assistente de IA que fale o [Model Context Protocol](https://modelcontextprotocol.io) — Claude Desktop, Claude Code, Cursor, Cline ou o seu próprio agente. Ative-o, aponte o seu assistente para o Specrails e poderá conduzir a app inteira conversando: *"lista os meus projetos", "cria uma spec para login social no projeto da API", "lança o rail 0 e avisa-me quando terminar", "quanto gastei esta semana?"*. O seu assistente invoca as ferramentas do Specrails nos bastidores em vez de ser você a clicar por toda a parte.
6
6
 
@@ -33,19 +33,6 @@ Num cliente como o Claude Desktop ou o Cursor, a configuração tem este aspeto:
33
33
 
34
34
  Os clientes que suportam servidores MCP HTTP remotos podem, em alternativa, apontar diretamente para `http://127.0.0.1:4200/api/mcp` com o token do painel.
35
35
 
36
- ### Pelo terminal: Claude Code, Gemini CLI, Codex CLI
37
-
38
- Copie seu token em **Configurações ▸ MCP ▸ Copiar token** e depois:
39
-
40
- ```bash
41
- # Claude Code
42
- claude mcp add --transport http specrails http://localhost:4200/api/mcp \
43
- --header "X-Desktop-Token: <seu token>"
44
-
45
- # Gemini CLI
46
- gemini mcp add --transport http specrails http://localhost:4200/api/mcp \
47
- --header "X-Desktop-Token: <seu token>"
48
-
49
36
  # Codex CLI (stdio — registre o comando do bridge mostrado em Configurações ▸ MCP)
50
37
  codex mcp add specrails -- <comando do bridge de Configurações ▸ MCP>
51
38
  ```
@@ -20,16 +20,6 @@ O cabeçalho tem um **seletor de projeto** (como o do Cursor). Escolha um projet
20
20
 
21
21
  Escolher um projeto aqui **não** move o seu painel — o alvo do agente e o que você está vendo são independentes.
22
22
 
23
- ## Provedor e modelo
24
-
25
- Logo acima da caixa de mensagem escolhe o **provider** (Claude, Codex, Gemini
26
- ou Kimi) e o seu **modelo**. Trocar de provider inicia uma sessão separada.
27
-
28
- Com Kimi, os níveis limitam as ferramentas MCP Specrails, mas não transformam
29
- `kimi -p` numa sandbox: ferramentas nativas são aprovadas automaticamente.
30
- Ações pure-output inseguras são recusadas antes do spawn; consulte a
31
- [matriz Kimi](../../../kimi.md).
32
-
33
23
  ## Níveis de permissão — a rédea está com você
34
24
 
35
25
  O agente pode mexer na aplicação inteira, então você decide quanta liberdade ele tem por meio de um **nível** que você muda ao vivo pressionando **Shift+Tab** (o mesmo ciclo que o Claude Code usa). Cada nível inclui tudo o que está abaixo:
@@ -24,10 +24,6 @@ Indisponível em motores locais: perfis de agente e papéis personalizados, enri
24
24
 
25
25
  > Missões precisam de uma **janela de contexto grande** no servidor (64k tokens ou mais): o prompt do operador mais os schemas de ferramentas do Specrails são grandes. Chat e Explore funcionam bem com 32k. Se um turno falhar com *exceeds the available context size*, aumente a janela (Ollama `OLLAMA_CONTEXT_LENGTH`, llama.cpp `-c`, LM Studio *Context Length*).
26
26
 
27
- ## Só tem um motor local?
28
-
29
- Nada a configurar. O Specrails oferece os motores que sua máquina realmente consegue executar e escolhe o padrão com uma única regra em todo lugar: um CLI instalado (Claude → Codex → Gemini → Kimi) ou, se não houver, o primeiro motor local cujo endpoint responda. Em uma máquina só com um endpoint local, rails, Add Spec, chat, **missões do agente e o Project Builder** começam nele — sem tocar em nenhum seletor. Um motor cujo servidor está fora do ar simplesmente não é oferecido até voltar a responder. Missões existentes mantêm o motor com que foram criadas; o seletor continua permitindo trocar.
30
-
31
27
  ## Escolher um modelo
32
28
 
33
29
  A qualidade depende do modelo, não do Specrails. Para rails use um modelo de código ajustado para tool calling com 30B parâmetros ou mais; modelos instruct menores servem para chat, Explore e specs Quick. Experimente **Freestyle** ou uma sessão Explore antes de confiar um rail implement completo a um modelo novo.
@@ -35,8 +35,6 @@ Você pode ter vários rails para organizar o trabalho em pistas nomeadas (uma p
35
35
  | **Pílula de status** | `idle`, `running` ou `failed`. Não há um "completed" separado — um rail volta para `idle` quando seu job termina sem erros. |
36
36
  | **Lista de specs** | Os IDs atribuídos a este rail. Arraste mais para dentro, arraste para fora para desanexar. |
37
37
  | **Seletor de Loop** | O Loop que este rail roda — um embutido (`Implement` / `Freestyle` / `SDD Quick (OpenSpec)`) ou um loop personalizado. Veja a tabela abaixo. Persistido por rail. |
38
- | **Seletor de perfil** | Qual perfil do provider corre (rails Claude e Kimi). |
39
- | **Seletor de motor** | Qual provider corre o rail — Claude, Codex, Gemini ou Kimi. |
40
38
  | **▶ Play / ■ Stop** | Iniciar ou cancelar. |
41
39
 
42
40
  ### O que um rail roda: Loops
@@ -46,14 +44,9 @@ Um rail roda um **Loop** — a receita do trabalho. Dois loops são **embutidos*
46
44
  | Loop embutido | Comando | O que faz |
47
45
  |------|---------|--------------|
48
46
  | **Implement** | `/specrails:implement` | Um job cobrindo todas as specs do rail. Roda o pipeline completo Architect → Developer → Reviewer → Ship. O padrão do dia a dia. |
49
- | **Freestyle** | Freestyle | Claude ou Kimi implementa cada spec de forma autónoma, **ignorando** o pipeline. |
50
47
 
51
48
  Para rodar várias specs, coloque as relacionadas (até 3) num único rail — o `Implement` executa-as como um só job agregado — ou distribua specs independentes por vários rails: cada rail com git roda em paralelo na sua própria worktree isolada.
52
49
 
53
- Freestyle usa ferramentas e modelos nativos do provider. Claude tem transport
54
- interativo persistente; Kimi usa um processo agentic `kimi -p` sem stdin
55
- persistente.
56
-
57
50
  Os embutidos também são editáveis: edite um no Loop Builder e publique-o, e todos os rails que o escolhem rodam a sua versão (use **Restaurar original** para voltar atrás).
58
51
 
59
52
  Além dos embutidos, você pode **construir seus próprios loops** — repetir um ciclo verify → fix → verify até atingir uma meta, encadear comandos de shell entre AI Steps e muito mais. Esses loops personalizados aparecem no mesmo seletor de Loop. Essa é a próxima grande ideia: [O Loop Builder](the-loop-builder).
@@ -84,11 +77,6 @@ Clique em qualquer cartão para abrir a **vista de detalhe do Job**, onde ficam
84
77
 
85
78
  Clique em **■ Stop** no cabeçalho do rail. A app envia `SIGTERM` ao subprocesso, espera **5 segundos** por uma saída limpa e então faz `SIGKILL`. Nada fica spawnado pela metade.
86
79
 
87
- ## Se um rail não lançar
88
-
89
- Se faltar o CLI escolhido, o lançamento falha antes do spawn. Para Kimi,
90
- instale/autentique `kimi` 0.27+; Desktop não inicia um server.
91
-
92
80
  ## Parando tudo
93
81
 
94
82
  Se algo parecer errado:
@@ -101,4 +89,3 @@ Se algo parecer errado:
101
89
 
102
90
  - [O Loop Builder](the-loop-builder) — o que um rail roda, e como construir seus próprios loops.
103
91
  - [A vista de detalhe do job](the-job-detail-view) — fases, métricas ao vivo, cartões de ticket.
104
- - [Escolhendo um motor por rail](picking-an-engine-per-rail) — Claude, Codex, Gemini ou Kimi.
@@ -94,8 +94,6 @@ Algumas coisas que vale a pena saber:
94
94
  - **A linha de totais é real.** O compositor mostra um resumo ao vivo `N turnos · $X`, somado a partir do uso real de cada turno concluído — coerente com a promessa desta página de nunca adivinhar.
95
95
  - **Duas formas de uma sessão terminar.** A maioria dos jobs **termina sozinha**: assim que um turno acaba sem mensagens em fila, a sessão assenta e o job conclui — as suas mensagens são orientação opcional, nunca uma obrigação. Uma ação discreta **Concluir agora** termina-a mais cedo com tudo o que foi produzido até então. Os jobs **Freestyle** são a exceção: ficam à espera entre turnos até que clique em **Finalize** — é esse o seu desenho, uma sessão de ida e volta que fecha quando terminar.
96
96
  - **Nas execuções de loop, as mensagens vão para o passo ativo.** Num loop embutido ou personalizado, a sua mensagem chega ao **passo de IA que está a correr nesse momento**. Entre passos (enquanto o Loop Decider pensa, ou um comando de shell corre) o compositor mostra um breve estado *«À espera do próximo passo…»* — o texto rascunhado mantém-se, e o envio reativa-se quando o próximo passo de IA arranca. **Assentar este passo** termina o passo atual mais cedo e deixa o loop avançar com o que ele produziu.
97
- - **Interação persistente é só Claude.** Codex, Gemini e Kimi correm one-shot;
98
- Kimi retoma o chat com novo `kimi --session=<id> -p` depois de um resume hint.
99
97
 
100
98
  ## Exportação de diagnóstico
101
99