specrails-desktop 2.30.2 → 2.31.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 (462) hide show
  1. package/README.md +28 -24
  2. package/client/dist/assets/{ActivityFeedPage-9DZOvIcY.js → ActivityFeedPage-CAhFRUO4.js} +1 -1
  3. package/client/dist/assets/{AgentBrowserCapture-DqyHbzk7.js → AgentBrowserCapture-Ct4G5lsE.js} +1 -1
  4. package/client/dist/assets/AgentModeCodePane-DQt9WIvu.js +2 -0
  5. package/client/dist/assets/{AgentModeJobsPane-CTIHMUKN.js → AgentModeJobsPane-podaJVl9.js} +1 -1
  6. package/client/dist/assets/AgentsPage-DTZdbW80.js +87 -0
  7. package/client/dist/assets/AnalyticsPage-BskgGPm0.js +1 -0
  8. package/client/dist/assets/CodePage-CvtYo1DU.js +2 -0
  9. package/client/dist/assets/{DesktopAnalyticsPage-CkXUFj3F.js → DesktopAnalyticsPage-Dnf99E8e.js} +1 -1
  10. package/client/dist/assets/{DocsDialog-PhdCJNVj.js → DocsDialog-DHi36rZ4.js} +1 -1
  11. package/client/dist/assets/{DocsPage-BY-wDthx.js → DocsPage-DIdVrQz1.js} +1 -1
  12. package/client/dist/assets/{InteractiveJobComposer-C9I0A4KR.js → InteractiveJobComposer-BHeB2inv.js} +1 -1
  13. package/client/dist/assets/{JobDetailModal-I_RoQJV4.js → JobDetailModal-CF1SKUHH.js} +1 -1
  14. package/client/dist/assets/JobDetailPage-De3rY18h.js +1 -0
  15. package/client/dist/assets/{JobsPage-DcllM4Ip.js → JobsPage-CfAqqJTx.js} +1 -1
  16. package/client/dist/assets/{LoopBuilderPage-DGm_iuff.js → LoopBuilderPage-DSBMuTb3.js} +2 -2
  17. package/client/dist/assets/{LoopPreviewModal-BC-TeFdD.js → LoopPreviewModal-B-c37kA0.js} +1 -1
  18. package/client/dist/assets/LoopsPage-DjnNXdmm.js +1 -0
  19. package/client/dist/assets/{MinimizedChatsContext-Cs34FPTz.js → MinimizedChatsContext-DIsnQMVz.js} +1 -1
  20. package/client/dist/assets/PluginsPage-DA5pQ_6u.js +2 -0
  21. package/client/dist/assets/{ProjectSettingsDialog-nEs-ENrE.js → ProjectSettingsDialog-DA23PSi6.js} +1 -1
  22. package/client/dist/assets/{TemplatePreviewModal-D4qW-J9B.js → TemplatePreviewModal-Cp7IQ-g2.js} +1 -1
  23. package/client/dist/assets/TicketDetailModal-BPD2i_0R.js +14 -0
  24. package/client/dist/assets/{Trans-CPISVji8.js → Trans-cWtExGkC.js} +1 -1
  25. package/client/dist/assets/addspec-4WmLJmBG.js +1 -0
  26. package/client/dist/assets/addspec-BRlk8jON.js +1 -0
  27. package/client/dist/assets/addspec-C7XRejU4.js +1 -0
  28. package/client/dist/assets/addspec-CHW9xf_X.js +1 -0
  29. package/client/dist/assets/addspec-DTmRrWrF.js +1 -0
  30. package/client/dist/assets/addspec-DhmnXER8.js +1 -0
  31. package/client/dist/assets/addspec-Di41DpYV.js +1 -0
  32. package/client/dist/assets/addspec-x3mizDxc.js +1 -0
  33. package/client/dist/assets/agent-BKsuIgIT.js +1 -0
  34. package/client/dist/assets/agent-Bs9NilfI.js +1 -0
  35. package/client/dist/assets/agent-C23h684q.js +1 -0
  36. package/client/dist/assets/agent-CqEjy3Z2.js +1 -0
  37. package/client/dist/assets/agent-D5DZTks1.js +1 -0
  38. package/client/dist/assets/agent-DE8hUYPl.js +1 -0
  39. package/client/dist/assets/agent-DsTuJGSc.js +1 -0
  40. package/client/dist/assets/agent-DwZM05-x.js +1 -0
  41. package/client/dist/assets/agents-45GbINfh.js +1 -0
  42. package/client/dist/assets/agents-BHp0_FQt.js +1 -0
  43. package/client/dist/assets/agents-Bvyi3y6R.js +1 -0
  44. package/client/dist/assets/agents-DMKFStHL.js +1 -0
  45. package/client/dist/assets/agents-DaYcxAr1.js +1 -0
  46. package/client/dist/assets/agents-IUOgqT5t.js +1 -0
  47. package/client/dist/assets/agents-ms7TwG16.js +1 -0
  48. package/client/dist/assets/agents-rzPnqoBR.js +1 -0
  49. package/client/dist/assets/agentstudio-8TQqBenW.js +1 -0
  50. package/client/dist/assets/agentstudio-B8Z_mmEX.js +1 -0
  51. package/client/dist/assets/agentstudio-BZR9YmLs.js +1 -0
  52. package/client/dist/assets/agentstudio-Bge9pAWb.js +1 -0
  53. package/client/dist/assets/agentstudio-Bz169Vzt.js +1 -0
  54. package/client/dist/assets/agentstudio-D6L2jpNi.js +1 -0
  55. package/client/dist/assets/agentstudio-K2-Z7CL0.js +1 -0
  56. package/client/dist/assets/agentstudio-Zmgzthv8.js +1 -0
  57. package/client/dist/assets/analytics-B8Qtptbl.js +1 -0
  58. package/client/dist/assets/analytics-BHqUazhP.js +1 -0
  59. package/client/dist/assets/analytics-BPptRY4f.js +1 -0
  60. package/client/dist/assets/analytics-BxDGOIwf.js +1 -0
  61. package/client/dist/assets/analytics-C9RaQcE3.js +1 -0
  62. package/client/dist/assets/analytics-CJIwqrEl.js +1 -0
  63. package/client/dist/assets/analytics-D_OZdQ9O.js +1 -0
  64. package/client/dist/assets/analytics-We6lUMI8.js +1 -0
  65. package/client/dist/assets/builder-3bygQtZi.js +1 -0
  66. package/client/dist/assets/builder-BiUG9Z5K.js +1 -0
  67. package/client/dist/assets/builder-CGRz_-zP.js +1 -0
  68. package/client/dist/assets/builder-CWYPw7Cw.js +1 -0
  69. package/client/dist/assets/builder-CX1437hF.js +1 -0
  70. package/client/dist/assets/{builder-CwA4T7gP.js → builder-Cowk9jtL.js} +1 -1
  71. package/client/dist/assets/builder-DwDexYRE.js +1 -0
  72. package/client/dist/assets/builder-skfnZ1uC.js +1 -0
  73. package/client/dist/assets/code-B0O8-p8k.js +1 -0
  74. package/client/dist/assets/code-B1VLZDhS.js +1 -0
  75. package/client/dist/assets/code-B86IMAfz.js +1 -0
  76. package/client/dist/assets/code-Bpj4Ddml.js +1 -0
  77. package/client/dist/assets/code-BykBZ5-e.js +1 -0
  78. package/client/dist/assets/code-CHPkOkDS.js +1 -0
  79. package/client/dist/assets/code-CkUuW4m9.js +1 -0
  80. package/client/dist/assets/code-cAqaqMTx.js +1 -0
  81. package/client/dist/assets/{dashboard-Dy2Um-US.js → dashboard-BVq6kRJe.js} +1 -1
  82. package/client/dist/assets/{dashboard-CHCEkds4.js → dashboard-BaKPPmLH.js} +1 -1
  83. package/client/dist/assets/{dashboard-CrlTV1ms.js → dashboard-Bm8e4zYG.js} +1 -1
  84. package/client/dist/assets/{dashboard-WhzOQw1S.js → dashboard-Bt6IesnM.js} +1 -1
  85. package/client/dist/assets/{dashboard-Cslu_GCH.js → dashboard-C_NQZle_.js} +1 -1
  86. package/client/dist/assets/{dashboard-DweT3Y4R.js → dashboard-CyZKoGoI.js} +1 -1
  87. package/client/dist/assets/{dashboard-DUU8-_Rg.js → dashboard-HIUdUBQ0.js} +1 -1
  88. package/client/dist/assets/{dashboard-Cqmmbh3l.js → dashboard-pm4Mr229.js} +1 -1
  89. package/client/dist/assets/{dist-js-jwoXo0YD.js → dist-js-BaP-xLOy.js} +1 -1
  90. package/client/dist/assets/{dist-js-Dj72W6qo.js → dist-js-CLlgOa5a.js} +1 -1
  91. package/client/dist/assets/format-command-C0D9IPmV.js +1 -0
  92. package/client/dist/assets/{formatDistanceToNow-ByKli7Q_.js → formatDistanceToNow-DUyzS4rr.js} +1 -1
  93. package/client/dist/assets/{getTimezoneOffsetInMilliseconds-qrcBaLW1.js → getTimezoneOffsetInMilliseconds-BCIwmmTj.js} +1 -1
  94. package/client/dist/assets/{i18n-Bf9Ckd10.js → i18n-D21Pr8Sj.js} +2 -2
  95. package/client/dist/assets/index-BdSDUFnA.css +2 -0
  96. package/client/dist/assets/index-Ci4-JKDr.js +77 -0
  97. package/client/dist/assets/{jobs-CVFD8rar.js → jobs-BAls3bWq.js} +1 -1
  98. package/client/dist/assets/{jobs-DoSaFzAa.js → jobs-B_TeSQxb.js} +1 -1
  99. package/client/dist/assets/jobs-Bgq-PZkC.js +1 -0
  100. package/client/dist/assets/jobs-Bpks6doU.js +1 -0
  101. package/client/dist/assets/jobs-CN_zv4Gr.js +1 -0
  102. package/client/dist/assets/jobs-DUlWSYq2.js +1 -0
  103. package/client/dist/assets/{jobs-B-sDHEay.js → jobs-DhxKgWFq.js} +1 -1
  104. package/client/dist/assets/{jobs-lk1_Dq1U.js → jobs-SwYS2M-B.js} +1 -1
  105. package/client/dist/assets/nav-BHDiSIVu.js +1 -0
  106. package/client/dist/assets/nav-CMiYAq4i.js +1 -0
  107. package/client/dist/assets/nav-CqS7NrDW.js +1 -0
  108. package/client/dist/assets/nav-D-0M7xfv.js +1 -0
  109. package/client/dist/assets/nav-D65O6u9I.js +1 -0
  110. package/client/dist/assets/nav-D_LKYvBr.js +1 -0
  111. package/client/dist/assets/nav-FDTJmU79.js +1 -0
  112. package/client/dist/assets/nav-VaB-C4k5.js +1 -0
  113. package/client/dist/assets/provider-capabilities-BvoExILy.js +1 -0
  114. package/client/dist/assets/settings-BveOJoaI.js +1 -0
  115. package/client/dist/assets/settings-Cj1C6F5k.js +1 -0
  116. package/client/dist/assets/settings-CuVwOpe0.js +1 -0
  117. package/client/dist/assets/settings-D5X4DfRc.js +1 -0
  118. package/client/dist/assets/settings-DXwxe-BW.js +1 -0
  119. package/client/dist/assets/settings-Di81Ba_V.js +1 -0
  120. package/client/dist/assets/settings-jbLjCYC_.js +1 -0
  121. package/client/dist/assets/settings-wIZNPFnn.js +1 -0
  122. package/client/dist/assets/setup-BBiHEO7h.js +1 -0
  123. package/client/dist/assets/setup-BlTWhNIQ.js +1 -0
  124. package/client/dist/assets/setup-Bp2L_oiP.js +1 -0
  125. package/client/dist/assets/setup-CInYXp1-.js +1 -0
  126. package/client/dist/assets/{setup-CITtPjed.js → setup-CYH3bP6K.js} +1 -1
  127. package/client/dist/assets/setup-DwcQ921P.js +1 -0
  128. package/client/dist/assets/setup-PBLjuDSs.js +1 -0
  129. package/client/dist/assets/setup-bx6FtoBp.js +1 -0
  130. package/client/dist/assets/{spending-DMnCXy84.js → spending-BCyUxoOI.js} +1 -1
  131. package/client/dist/assets/{tickets-B8BuAaj5.js → tickets-BL9r1G0e.js} +1 -1
  132. package/client/dist/assets/{tickets-DpmdE8tv.js → tickets-B_NyHJ8f.js} +1 -1
  133. package/client/dist/assets/{tickets-B_yh4qQk.js → tickets-BarF1wuG.js} +1 -1
  134. package/client/dist/assets/{tickets-pAUJkDTu.js → tickets-CclVhpQA.js} +1 -1
  135. package/client/dist/assets/{tickets-D_yDquEw.js → tickets-CqqOHbli.js} +1 -1
  136. package/client/dist/assets/{tickets-CFk2n2Or.js → tickets-DCkFSiqt.js} +1 -1
  137. package/client/dist/assets/{tickets-DQp7JS2R.js → tickets-Djn3ccfT.js} +1 -1
  138. package/client/dist/assets/{tickets-Bs37scwY.js → tickets-MiHBPsy_.js} +1 -1
  139. package/client/dist/assets/{useBrowserCaptureSession-CkBJShUw.js → useBrowserCaptureSession-CkVCDzer.js} +1 -1
  140. package/client/dist/assets/{useDesktop-B4pSBIDd.js → useDesktop-DCP_MHp9.js} +1 -1
  141. package/client/dist/index.html +25 -24
  142. package/docs/README.md +7 -3
  143. package/docs/cli.md +3 -3
  144. package/docs/codex.md +51 -64
  145. package/docs/creating-specs.md +36 -4
  146. package/docs/customizing.md +5 -5
  147. package/docs/gemini.md +35 -47
  148. package/docs/getting-started.md +15 -9
  149. package/docs/guide/de/agents/2-profiles-and-the-balanced-default.md +5 -1
  150. package/docs/guide/de/agents/4-custom-agents-catalog.md +7 -4
  151. package/docs/guide/de/getting-started/1-what-is-specrails.md +1 -0
  152. package/docs/guide/de/getting-started/2-installing-and-first-run.md +1 -0
  153. package/docs/guide/de/getting-started/4-the-dashboard-tour.md +4 -4
  154. package/docs/guide/de/integrations/1-ai-providers.md +29 -18
  155. package/docs/guide/de/integrations/2-plugins.md +3 -3
  156. package/docs/guide/de/integrations/6-agent-chat.md +8 -1
  157. package/docs/guide/de/pipeline/1-rails-and-jobs.md +9 -6
  158. package/docs/guide/de/pipeline/2-the-job-detail-view.md +3 -1
  159. package/docs/guide/de/pipeline/3-batch-implement-and-multi-feature.md +1 -1
  160. package/docs/guide/de/pipeline/4-picking-an-engine-per-rail.md +13 -13
  161. package/docs/guide/de/pipeline/5-the-loop-builder.md +6 -2
  162. package/docs/guide/de/specs/2-add-spec-quick-mode.md +6 -1
  163. package/docs/guide/en/agents/2-profiles-and-the-balanced-default.md +7 -1
  164. package/docs/guide/en/agents/4-custom-agents-catalog.md +17 -4
  165. package/docs/guide/en/getting-started/1-what-is-specrails.md +2 -1
  166. package/docs/guide/en/getting-started/2-installing-and-first-run.md +2 -1
  167. package/docs/guide/en/getting-started/4-the-dashboard-tour.md +5 -5
  168. package/docs/guide/en/insights/3-code-explorer.md +5 -0
  169. package/docs/guide/en/integrations/1-ai-providers.md +63 -22
  170. package/docs/guide/en/integrations/2-plugins.md +3 -3
  171. package/docs/guide/en/integrations/6-agent-chat.md +14 -2
  172. package/docs/guide/en/pipeline/1-rails-and-jobs.md +19 -7
  173. package/docs/guide/en/pipeline/2-the-job-detail-view.md +3 -1
  174. package/docs/guide/en/pipeline/3-batch-implement-and-multi-feature.md +1 -1
  175. package/docs/guide/en/pipeline/4-picking-an-engine-per-rail.md +25 -11
  176. package/docs/guide/en/pipeline/5-the-loop-builder.md +7 -2
  177. package/docs/guide/en/specs/2-add-spec-quick-mode.md +10 -1
  178. package/docs/guide/es/agents/2-profiles-and-the-balanced-default.md +5 -1
  179. package/docs/guide/es/agents/4-custom-agents-catalog.md +7 -4
  180. package/docs/guide/es/getting-started/1-what-is-specrails.md +1 -0
  181. package/docs/guide/es/getting-started/2-installing-and-first-run.md +1 -0
  182. package/docs/guide/es/getting-started/4-the-dashboard-tour.md +4 -4
  183. package/docs/guide/es/integrations/1-ai-providers.md +30 -18
  184. package/docs/guide/es/integrations/2-plugins.md +3 -3
  185. package/docs/guide/es/integrations/6-agent-chat.md +8 -1
  186. package/docs/guide/es/pipeline/1-rails-and-jobs.md +9 -6
  187. package/docs/guide/es/pipeline/2-the-job-detail-view.md +3 -1
  188. package/docs/guide/es/pipeline/3-batch-implement-and-multi-feature.md +1 -1
  189. package/docs/guide/es/pipeline/4-picking-an-engine-per-rail.md +15 -13
  190. package/docs/guide/es/pipeline/5-the-loop-builder.md +6 -2
  191. package/docs/guide/es/specs/2-add-spec-quick-mode.md +6 -1
  192. package/docs/guide/fr/agents/2-profiles-and-the-balanced-default.md +5 -1
  193. package/docs/guide/fr/agents/4-custom-agents-catalog.md +7 -4
  194. package/docs/guide/fr/getting-started/1-what-is-specrails.md +1 -0
  195. package/docs/guide/fr/getting-started/2-installing-and-first-run.md +1 -0
  196. package/docs/guide/fr/getting-started/4-the-dashboard-tour.md +4 -4
  197. package/docs/guide/fr/integrations/1-ai-providers.md +29 -18
  198. package/docs/guide/fr/integrations/2-plugins.md +3 -3
  199. package/docs/guide/fr/integrations/6-agent-chat.md +8 -1
  200. package/docs/guide/fr/pipeline/1-rails-and-jobs.md +9 -6
  201. package/docs/guide/fr/pipeline/2-the-job-detail-view.md +3 -1
  202. package/docs/guide/fr/pipeline/3-batch-implement-and-multi-feature.md +1 -1
  203. package/docs/guide/fr/pipeline/4-picking-an-engine-per-rail.md +15 -13
  204. package/docs/guide/fr/pipeline/5-the-loop-builder.md +6 -2
  205. package/docs/guide/fr/specs/2-add-spec-quick-mode.md +6 -1
  206. package/docs/guide/it/agents/2-profiles-and-the-balanced-default.md +5 -1
  207. package/docs/guide/it/agents/4-custom-agents-catalog.md +7 -4
  208. package/docs/guide/it/getting-started/1-what-is-specrails.md +1 -0
  209. package/docs/guide/it/getting-started/2-installing-and-first-run.md +1 -0
  210. package/docs/guide/it/getting-started/4-the-dashboard-tour.md +4 -4
  211. package/docs/guide/it/integrations/1-ai-providers.md +28 -18
  212. package/docs/guide/it/integrations/2-plugins.md +3 -3
  213. package/docs/guide/it/integrations/6-agent-chat.md +8 -1
  214. package/docs/guide/it/pipeline/1-rails-and-jobs.md +9 -6
  215. package/docs/guide/it/pipeline/2-the-job-detail-view.md +3 -1
  216. package/docs/guide/it/pipeline/3-batch-implement-and-multi-feature.md +1 -1
  217. package/docs/guide/it/pipeline/4-picking-an-engine-per-rail.md +13 -13
  218. package/docs/guide/it/pipeline/5-the-loop-builder.md +6 -2
  219. package/docs/guide/it/specs/2-add-spec-quick-mode.md +6 -1
  220. package/docs/guide/ja/agents/2-profiles-and-the-balanced-default.md +6 -1
  221. package/docs/guide/ja/agents/4-custom-agents-catalog.md +7 -4
  222. package/docs/guide/ja/getting-started/1-what-is-specrails.md +1 -0
  223. package/docs/guide/ja/getting-started/2-installing-and-first-run.md +1 -0
  224. package/docs/guide/ja/getting-started/4-the-dashboard-tour.md +4 -4
  225. package/docs/guide/ja/integrations/1-ai-providers.md +28 -18
  226. package/docs/guide/ja/integrations/2-plugins.md +3 -3
  227. package/docs/guide/ja/integrations/6-agent-chat.md +7 -1
  228. package/docs/guide/ja/pipeline/1-rails-and-jobs.md +9 -6
  229. package/docs/guide/ja/pipeline/2-the-job-detail-view.md +3 -1
  230. package/docs/guide/ja/pipeline/3-batch-implement-and-multi-feature.md +1 -1
  231. package/docs/guide/ja/pipeline/4-picking-an-engine-per-rail.md +14 -13
  232. package/docs/guide/ja/pipeline/5-the-loop-builder.md +6 -2
  233. package/docs/guide/ja/specs/2-add-spec-quick-mode.md +6 -1
  234. package/docs/guide/pt/agents/2-profiles-and-the-balanced-default.md +5 -1
  235. package/docs/guide/pt/agents/4-custom-agents-catalog.md +7 -4
  236. package/docs/guide/pt/getting-started/1-what-is-specrails.md +1 -0
  237. package/docs/guide/pt/getting-started/2-installing-and-first-run.md +1 -0
  238. package/docs/guide/pt/getting-started/4-the-dashboard-tour.md +4 -4
  239. package/docs/guide/pt/integrations/1-ai-providers.md +28 -18
  240. package/docs/guide/pt/integrations/2-plugins.md +3 -3
  241. package/docs/guide/pt/integrations/6-agent-chat.md +7 -1
  242. package/docs/guide/pt/pipeline/1-rails-and-jobs.md +9 -6
  243. package/docs/guide/pt/pipeline/2-the-job-detail-view.md +2 -1
  244. package/docs/guide/pt/pipeline/3-batch-implement-and-multi-feature.md +1 -1
  245. package/docs/guide/pt/pipeline/4-picking-an-engine-per-rail.md +14 -13
  246. package/docs/guide/pt/pipeline/5-the-loop-builder.md +6 -2
  247. package/docs/guide/pt/specs/2-add-spec-quick-mode.md +6 -1
  248. package/docs/guide/zh/agents/2-profiles-and-the-balanced-default.md +4 -1
  249. package/docs/guide/zh/agents/4-custom-agents-catalog.md +7 -4
  250. package/docs/guide/zh/getting-started/1-what-is-specrails.md +1 -0
  251. package/docs/guide/zh/getting-started/2-installing-and-first-run.md +1 -0
  252. package/docs/guide/zh/getting-started/4-the-dashboard-tour.md +4 -4
  253. package/docs/guide/zh/integrations/1-ai-providers.md +26 -18
  254. package/docs/guide/zh/integrations/2-plugins.md +3 -3
  255. package/docs/guide/zh/integrations/6-agent-chat.md +6 -1
  256. package/docs/guide/zh/pipeline/1-rails-and-jobs.md +9 -6
  257. package/docs/guide/zh/pipeline/2-the-job-detail-view.md +2 -1
  258. package/docs/guide/zh/pipeline/3-batch-implement-and-multi-feature.md +1 -1
  259. package/docs/guide/zh/pipeline/4-picking-an-engine-per-rail.md +12 -12
  260. package/docs/guide/zh/pipeline/5-the-loop-builder.md +6 -2
  261. package/docs/guide/zh/specs/2-add-spec-quick-mode.md +6 -1
  262. package/docs/internals/README.md +4 -1
  263. package/docs/internals/adding-a-provider.md +32 -28
  264. package/docs/internals/api-reference.md +37 -13
  265. package/docs/internals/architecture.md +5 -5
  266. package/docs/internals/bundled-framework-build-plan.md +3 -3
  267. package/docs/internals/code-explorer-story.md +4 -0
  268. package/docs/internals/configuration.md +17 -5
  269. package/docs/internals/global-artifacts-alignment-contract.md +1 -1
  270. package/docs/internals/operations-runbook.md +1 -1
  271. package/docs/internals/profiles.md +37 -45
  272. package/docs/internals/project-builder.md +16 -0
  273. package/docs/kimi.md +291 -0
  274. package/docs/mcp.md +9 -2
  275. package/docs/platforms/macos.md +17 -7
  276. package/docs/platforms/windows.md +9 -4
  277. package/docs/running-pipelines.md +46 -12
  278. package/docs/terminal.md +1 -1
  279. package/docs/tracking-cost.md +25 -6
  280. package/package.json +4 -2
  281. package/server/dist/agent-chat-manager.js +74 -32
  282. package/server/dist/agent-chat-router.js +40 -17
  283. package/server/dist/agent-cwd-manager.js +14 -7
  284. package/server/dist/agent-generator.js +69 -85
  285. package/server/dist/agent-mcp-config.js +17 -11
  286. package/server/dist/agent-operator-prompt.js +29 -20
  287. package/server/dist/agent-refine-manager.js +58 -38
  288. package/server/dist/ai-invocations.js +65 -20
  289. package/server/dist/attachment-manager.js +49 -15
  290. package/server/dist/blueprint-chat-manager.js +41 -16
  291. package/server/dist/blueprint-router.js +40 -6
  292. package/server/dist/chat-manager.js +165 -89
  293. package/server/dist/code-explorer-router.js +26 -7
  294. package/server/dist/contract-refine-runner.js +146 -113
  295. package/server/dist/core-compat.js +57 -2
  296. package/server/dist/core-package.js +3 -3
  297. package/server/dist/core-update-manager.js +17 -1
  298. package/server/dist/db.js +60 -5
  299. package/server/dist/desktop-analytics.js +44 -6
  300. package/server/dist/desktop-router.js +127 -11
  301. package/server/dist/explore-cwd-manager.js +19 -3
  302. package/server/dist/feature-flags.js +1 -1
  303. package/server/dist/file-story-manager.js +3 -3
  304. package/server/dist/file-summary-generator.js +21 -15
  305. package/server/dist/file-summary-manager.js +6 -6
  306. package/server/dist/framework-manager.js +19 -2
  307. package/server/dist/framework-migration.js +27 -12
  308. package/server/dist/install-config-path.js +1 -1
  309. package/server/dist/interactive-job-session.js +8 -6
  310. package/server/dist/loop-command-catalog.js +27 -10
  311. package/server/dist/loop-executors.js +59 -27
  312. package/server/dist/loop-factory.js +2 -2
  313. package/server/dist/loop-run-manager.js +100 -39
  314. package/server/dist/loops-router.js +1 -1
  315. package/server/dist/mcp/guide.js +23 -16
  316. package/server/dist/mcp/tools/agents.js +47 -41
  317. package/server/dist/mcp/tools/analytics.js +2 -2
  318. package/server/dist/mcp/tools/loops.js +2 -2
  319. package/server/dist/mcp/tools/plugins.js +14 -9
  320. package/server/dist/mcp/tools/rails.js +12 -13
  321. package/server/dist/mcp/tools/support.js +1 -1
  322. package/server/dist/mobile/mobile-router.js +5 -1
  323. package/server/dist/offline-assemble.js +13 -1
  324. package/server/dist/path-resolver.js +2 -2
  325. package/server/dist/plugin-manager.js +391 -106
  326. package/server/dist/plugins/claude-md-mutation.js +5 -4
  327. package/server/dist/plugins/drift.js +32 -29
  328. package/server/dist/plugins/rail-integration.js +13 -2
  329. package/server/dist/plugins/serena/install.js +25 -17
  330. package/server/dist/plugins/serena/manifest.js +22 -5
  331. package/server/dist/plugins/serena/verify.js +46 -16
  332. package/server/dist/plugins-router.js +59 -8
  333. package/server/dist/profile-manager.js +148 -36
  334. package/server/dist/profiles-router.js +311 -82
  335. package/server/dist/project-registry.js +2 -2
  336. package/server/dist/project-router-chat.js +17 -8
  337. package/server/dist/project-router-helpers.js +93 -5
  338. package/server/dist/project-router-jobs.js +76 -12
  339. package/server/dist/project-router-loop-runs.js +42 -14
  340. package/server/dist/project-router-settings.js +31 -10
  341. package/server/dist/project-router-setup.js +4 -5
  342. package/server/dist/project-router-spending.js +15 -3
  343. package/server/dist/project-router-tickets.js +187 -181
  344. package/server/dist/project-router.js +1 -0
  345. package/server/dist/proposal-manager.js +125 -85
  346. package/server/dist/providers/claude-adapter.js +14 -0
  347. package/server/dist/providers/codex-adapter.js +20 -0
  348. package/server/dist/providers/gemini-adapter.js +14 -0
  349. package/server/dist/providers/index.js +18 -1
  350. package/server/dist/providers/kimi-adapter.js +361 -0
  351. package/server/dist/providers/kimi-skill-prompt.js +332 -0
  352. package/server/dist/providers/runtime.js +137 -0
  353. package/server/dist/queue-manager.js +103 -78
  354. package/server/dist/rail-isolated-launch.js +1 -1
  355. package/server/dist/rails-router.js +51 -38
  356. package/server/dist/result-event.js +5 -0
  357. package/server/dist/schemas/profile.v1.json +3 -4
  358. package/server/dist/setup-manager.js +222 -101
  359. package/server/dist/setup-prerequisites.js +7 -1
  360. package/server/dist/smash-runner.js +104 -57
  361. package/server/dist/spawn-lifecycle.js +18 -14
  362. package/server/dist/spec-launcher-manager.js +66 -54
  363. package/server/dist/spec-models.js +15 -6
  364. package/server/dist/spending.js +110 -17
  365. package/server/dist/util/cli-prompt.js +142 -5
  366. package/server/dist/util/stream-display.js +46 -0
  367. package/server/dist/workspace-manager.js +100 -37
  368. package/server/dist/worktree-manager.js +4 -0
  369. package/server/dist/worktree-overlay.js +12 -3
  370. package/client/dist/assets/AgentModeCodePane-BAYyFRmY.js +0 -2
  371. package/client/dist/assets/AgentsPage-DuyJuaFs.js +0 -86
  372. package/client/dist/assets/AnalyticsPage-BY7gtCx6.js +0 -1
  373. package/client/dist/assets/CodePage-vyQr40Vl.js +0 -2
  374. package/client/dist/assets/JobDetailPage-CU4FEnUC.js +0 -1
  375. package/client/dist/assets/LoopsPage-SqglnXlp.js +0 -1
  376. package/client/dist/assets/PluginsPage-B89S8o1a.js +0 -2
  377. package/client/dist/assets/TicketDetailModal-CI47Dq9E.js +0 -14
  378. package/client/dist/assets/addspec-BXjvkh5q.js +0 -1
  379. package/client/dist/assets/addspec-C4bwrmpi.js +0 -1
  380. package/client/dist/assets/addspec-CArHXUDM.js +0 -1
  381. package/client/dist/assets/addspec-DTKJcXiR.js +0 -1
  382. package/client/dist/assets/addspec-DbNBbrha.js +0 -1
  383. package/client/dist/assets/addspec-Rw8uVBC1.js +0 -1
  384. package/client/dist/assets/addspec-htHGZHOe.js +0 -1
  385. package/client/dist/assets/addspec-lr_LP6jk.js +0 -1
  386. package/client/dist/assets/agent-BABjRt0P.js +0 -1
  387. package/client/dist/assets/agent-BuUpgqVx.js +0 -1
  388. package/client/dist/assets/agent-CCDZesgU.js +0 -1
  389. package/client/dist/assets/agent-CVn64zWH.js +0 -1
  390. package/client/dist/assets/agent-CWeOny0E.js +0 -1
  391. package/client/dist/assets/agent-DOysmad_.js +0 -1
  392. package/client/dist/assets/agent-DSsjTBhn.js +0 -1
  393. package/client/dist/assets/agent-DlZMxfM9.js +0 -1
  394. package/client/dist/assets/agents-6ZOJXWVk.js +0 -1
  395. package/client/dist/assets/agents-BZ0XQKjg.js +0 -1
  396. package/client/dist/assets/agents-BqWklnHR.js +0 -1
  397. package/client/dist/assets/agents-Bz-thHkB.js +0 -1
  398. package/client/dist/assets/agents-CJclElx6.js +0 -1
  399. package/client/dist/assets/agents-D_l9L0VA.js +0 -1
  400. package/client/dist/assets/agents-DhG7mg6-.js +0 -1
  401. package/client/dist/assets/agents-u_C0jPB5.js +0 -1
  402. package/client/dist/assets/agentstudio-BF19hbXj.js +0 -1
  403. package/client/dist/assets/agentstudio-BIUe1Im2.js +0 -1
  404. package/client/dist/assets/agentstudio-BLGvxWBx.js +0 -1
  405. package/client/dist/assets/agentstudio-D9UKiWTj.js +0 -1
  406. package/client/dist/assets/agentstudio-Drs37nIM.js +0 -1
  407. package/client/dist/assets/agentstudio-nEnKkcXM.js +0 -1
  408. package/client/dist/assets/agentstudio-pyFcSBKy.js +0 -1
  409. package/client/dist/assets/agentstudio-zfTzQh3U.js +0 -1
  410. package/client/dist/assets/analytics-BC7mwR4s.js +0 -1
  411. package/client/dist/assets/analytics-BiNg8edP.js +0 -1
  412. package/client/dist/assets/analytics-C0s_T2GN.js +0 -1
  413. package/client/dist/assets/analytics-CdsAPAwZ.js +0 -1
  414. package/client/dist/assets/analytics-Cr1_q-lC.js +0 -1
  415. package/client/dist/assets/analytics-DZ8Aoq3I.js +0 -1
  416. package/client/dist/assets/analytics-IEsKZvpW.js +0 -1
  417. package/client/dist/assets/analytics-SRPf84OT.js +0 -1
  418. package/client/dist/assets/builder-BH8Fua-g.js +0 -1
  419. package/client/dist/assets/builder-BoV7DgKd.js +0 -1
  420. package/client/dist/assets/builder-Cc_Lf79C.js +0 -1
  421. package/client/dist/assets/builder-CwZ7Bme2.js +0 -1
  422. package/client/dist/assets/builder-CxW-JFsR.js +0 -1
  423. package/client/dist/assets/builder-D94lrV7x.js +0 -1
  424. package/client/dist/assets/builder-cqHpCyGa.js +0 -1
  425. package/client/dist/assets/code-76gS0IdL.js +0 -1
  426. package/client/dist/assets/code-BDXEM4ml.js +0 -1
  427. package/client/dist/assets/code-C1VwxlML.js +0 -1
  428. package/client/dist/assets/code-CnMZyJpr.js +0 -1
  429. package/client/dist/assets/code-D20ef9Cf.js +0 -1
  430. package/client/dist/assets/code-DdOXaWRY.js +0 -1
  431. package/client/dist/assets/code-Duohuf9l.js +0 -1
  432. package/client/dist/assets/code-geHmknB9.js +0 -1
  433. package/client/dist/assets/format-command-Dfa1o2d-.js +0 -1
  434. package/client/dist/assets/index-Dh9i4CnN.css +0 -2
  435. package/client/dist/assets/index-F9r8mWP_.js +0 -76
  436. package/client/dist/assets/jobs-BCtGfgUA.js +0 -1
  437. package/client/dist/assets/jobs-BHR_EnDI.js +0 -1
  438. package/client/dist/assets/jobs-BMbZJjJJ.js +0 -1
  439. package/client/dist/assets/jobs-DzSIR8V6.js +0 -1
  440. package/client/dist/assets/nav-BRJBxaGt.js +0 -1
  441. package/client/dist/assets/nav-CAGKv3_F.js +0 -1
  442. package/client/dist/assets/nav-CNskRJKQ.js +0 -1
  443. package/client/dist/assets/nav-DY93irBL.js +0 -1
  444. package/client/dist/assets/nav-DhjvYgqt.js +0 -1
  445. package/client/dist/assets/nav-Gb-r4wop.js +0 -1
  446. package/client/dist/assets/nav-TvumAFD2.js +0 -1
  447. package/client/dist/assets/nav-myFaXRHD.js +0 -1
  448. package/client/dist/assets/settings-B0ypw9uw.js +0 -1
  449. package/client/dist/assets/settings-B9ilOSYO.js +0 -1
  450. package/client/dist/assets/settings-BqlWHRHA.js +0 -1
  451. package/client/dist/assets/settings-D8dlqt4d.js +0 -1
  452. package/client/dist/assets/settings-DAZqjX2a.js +0 -1
  453. package/client/dist/assets/settings-DRh39v1S.js +0 -1
  454. package/client/dist/assets/settings-Mj1OJbfd.js +0 -1
  455. package/client/dist/assets/settings-lRReaSYm.js +0 -1
  456. package/client/dist/assets/setup-3832BJCo.js +0 -1
  457. package/client/dist/assets/setup-B8J-gECe.js +0 -1
  458. package/client/dist/assets/setup-BCIOxVsc.js +0 -1
  459. package/client/dist/assets/setup-BciLj_tU.js +0 -1
  460. package/client/dist/assets/setup-CTkE3cfh.js +0 -1
  461. package/client/dist/assets/setup-ajB4rYm-.js +0 -1
  462. package/client/dist/assets/setup-xFO1wNl0.js +0 -1
@@ -23,6 +23,7 @@ Das Einzige, was specrails nicht mitbringen kann, ist die **KI-Provider-CLI** se
23
23
  - **Claude Code**
24
24
  - **Codex CLI**
25
25
  - **Gemini CLI**
26
+ - **Kimi Code**
26
27
 
27
28
  Installiere die, die du nutzen möchtest, melde dich einmal über dein Terminal an – fertig. specrails erkennt automatisch, welche Provider vorhanden sind.
28
29
 
@@ -26,13 +26,13 @@ Die rechte Seitenleiste ist deine Schaltzentrale für das aktuelle Projekt. Fahr
26
26
 
27
27
  - **Dashboard** – das Specs-Board und die Rails (wo du gerade warst).
28
28
  - **Jobs** – jeder Pipeline-Lauf dieses Projekts, vergangen und aktuell, mit Status, Dauer und der Möglichkeit, in die Details und Logs jedes Laufs einzutauchen.
29
- - **Analytics** – was deine KI-Nutzung kostet. Ausgaben aufgeschlüsselt nach Tag, nach Aktivität, nach Modell und nach Ticket – damit es keine Überraschungen gibt.
30
- - **Agenten** – die Agent-Profile deines Projekts: welche Agenten in der Pipeline laufen und welche KI-Modelle sie nutzen. *(Nur bei Claude-betriebenen Projekten.)*
31
- - **Code** – ein schreibgeschützter Datei-Browser mit KI-Zusammenfassungen in einfacher Sprache und Chips, die zeigen, welche Dateien die KI angefasst hat. Ideal für Nicht-Entwickler, die mitverfolgen möchten.
29
+ - **Analytics** – Aufrufe nach Tag, Aktivität, Modell und Ticket. Claude meldet abgerechnete Kosten, Codex/Gemini Schätzwerte; Kimi lässt nicht verfügbare Token-/USD-Felder leer.
30
+ - **Agenten** – provider-spezifische Profile und Rollenkataloge für Claude und Kimi. Kimi-Rollen lassen sich manuell erstellen und bearbeiten; Generate, Test und AI Refine sind nicht verfügbar.
31
+ - **Code** – ein schreibgeschützter Datei-Browser mit Chips für von der KI berührte Dateien. KI-Zusammenfassungen in einfacher Sprache erscheinen nur bei kompatiblen Providern und sind mit Kimi nicht verfügbar.
32
32
  - **Integrationen** – optionale Erweiterungen, etwa das Verbinden deiner Specs mit einem **Jira**-Board oder das Aktivieren zusätzlicher Werkzeuge für die KI.
33
33
  - **Einstellungen** – projektspezifische Optionen (Telemetrie, Budgets, Provider-Konfiguration und mehr).
34
34
 
35
- > Manche Abschnitte erscheinen nur, wenn sie für die gewählten Provider sinnvoll sind – zum Beispiel ist **Agenten** spezifisch für Claude. Siehst du einen Abschnitt nicht, gilt er für das Setup dieses Projekts schlicht nicht.
35
+ > Abschnitte und Aktionen richten sich nach den Fähigkeiten des effektiven Providers. Profile funktionieren etwa mit Claude und Kimi; Agent Studios KI-Aktionen werden mit Kimi dagegen sicher abgelehnt.
36
36
 
37
37
  ## Die Statusleiste
38
38
 
@@ -1,16 +1,21 @@
1
- # KI-Anbieter (Claude, Codex, Gemini)
1
+ # KI-Anbieter (Claude, Codex, Gemini, Kimi)
2
2
 
3
- Specrails ist nicht an eine einzige KI gebunden. Jeder Teil der App, der mit einer KI spricht — Explore Spec, Quick-Spec, Rails, Chat, AI Edit, der „Open AI CLI“-Button im Terminal — kann über einen von drei vollwertigen Anbietern laufen. Du legst fest, welche ein Projekt verwendet, und kannst sogar pro Aufgabe umschalten.
3
+ Specrails ist nicht an eine einzige KI gebunden. Claude, Codex, Gemini und
4
+ Kimi sind vollwertige Anbieter; jede Oberfläche zeigt nur Engines, deren
5
+ Fähigkeiten ihren Vertrag erfüllen.
4
6
 
5
- ## Die drei Anbieter
7
+ ## Die vier Anbieter
6
8
 
7
9
  | Anbieter | CLI | Hersteller | Hinweise |
8
10
  |---|---|---|---|
9
- | **Claude** | `claude` | Anthropic | Der mit Abstand umfangreichste. Der einzige Anbieter für Agents (Profile), Freestyle-Rails und Contract Refine. |
11
+ | **Claude** | `claude` | Anthropic | Native Kosten und persistenter interaktiver Transport. |
10
12
  | **Codex** | `codex` | OpenAI | Benötigt codex `0.128.0+`. Liest seine MCP-Server aus deiner globalen `~/.codex/config.toml`. |
11
13
  | **Gemini** | `gemini` | Google | Benötigt gemini `0.11.0+`. Nutzt native Telemetrie und eine `GEMINI.md`-Instruktionsdatei. |
14
+ | **Kimi Code** | `kimi` | Moonshot AI | Benötigt Kimi `0.27.0+`. Desktop startet die externe CLI mit `-p`; kein Server wird installiert oder gestartet. |
12
15
 
13
- Alle drei sind **standardmäßig aktiviert**. Ein Anbieter taucht in **Projekt hinzufügen** auf, sobald seine CLI installiert ist und in deinem `PATH` liegt. Der erste Schritt ist also immer derselbe: Installiere die gewünschte CLI und melde dich damit an — genau so, wie es in der jeweiligen Dokumentation des Tools beschrieben ist. Sobald `claude --version` (oder `codex` bzw. `gemini`) in deinem Terminal funktioniert, kann Specrails es nutzen.
16
+ Alle vier sind **standardmäßig aktiviert**. Ein Anbieter erscheint, wenn seine
17
+ CLI im `PATH` liegt. Für Kimi: `kimi --version` prüfen und `kimi login`
18
+ ausführen.
14
19
 
15
20
  ## Einen Anbieter für ein Projekt installieren
16
21
 
@@ -25,40 +30,46 @@ Du kannst **mehr als einen** Anbieter in dasselbe Projekt installieren — zum B
25
30
  Ein paar Dinge, die du über Multi-Anbieter-Projekte wissen solltest:
26
31
 
27
32
  - **Ein einzelner Anbieter verhält sich genau wie zuvor.** Hat ein Projekt nur einen einzigen Anbieter, siehst du nirgendwo eine Anbieterauswahl — die App bleibt schlank und einfach.
28
- - **Die rechte Seitenleiste zeigt nur Bereiche, die jeder installierte Anbieter unterstützt.** Da Agents (Profile) ein reines Claude-Konzept ist, verschwindet der Bereich **Agents** in dem Moment, in dem ein Projekt einen Nicht-Claude-Anbieter enthält. Alles andere (Specs, Code, Analytics, Integrationen, Terminal, Chat) bleibt erhalten.
33
+ - **Fähigkeiten steuern die UI.** Claude und Kimi unterstützen getrennte
34
+ provider-spezifische Profile; Codex und Gemini laufen im Legacy-Modus.
29
35
  - **Die Anbieterwahl ist nach dem Anlegen festgelegt.** In dieser Version wählst du deine Anbieter beim Hinzufügen des Projekts, und sie lassen sich später nicht mehr über die Einstellungen ändern. Brauchst du eine andere Kombination, ist das ein neues Projekt.
30
36
 
31
37
  ## Pro Aufruf einen Anbieter wählen
32
38
 
33
39
  Der eigentliche Gewinn eines Multi-Anbieter-Projekts liegt darin, für jede Aufgabe die richtige KI zu wählen — ohne irgendeine globale Einstellung zu ändern. Überall dort, wo eine KI läuft, erscheint eine kleine Anbieterauswahl (nur, wenn das Projekt mehr als einen Anbieter hat):
34
40
 
35
- - **Spec hinzufügen** — über die Engine-Auswahl kannst du eine Spec mit dem Anbieter deiner Wahl per Explore oder Quick erzeugen.
41
+ - **Spec hinzufügen** — Explore unterstützt Kimi; Quick Spec zeigt nur
42
+ Provider mit einer sicheren Pure-Output-Grenze und daher kein Kimi.
36
43
  - **Rail-Kopf** — wähle die Engine für genau diese Rail, bevor du sie startest.
37
44
  - **Terminal** — der „Open AI CLI“-Button (Sparkles) öffnet ein Anbietermenü, über das du in jede installierte CLI im Verzeichnis dieses Projekts springen kannst.
38
45
 
39
46
  Deine Wahl wird pro Projekt gemerkt und fällt standardmäßig auf den primären Anbieter zurück — du musst also nicht jedes Mal neu wählen.
40
47
 
41
- ## Was nur Claude kann
48
+ ## Unterschiede der Fähigkeiten
42
49
 
43
- Eine Handvoll Funktionen sind ihrer Natur nach Claude-spezifisch und werden daher ausgeblendet oder übersprungen, wenn ein anderer Anbieter im Spiel ist:
50
+ Kimi unterstützt Project/Agent Chat, Explore/Proposals, Quick Launcher
51
+ (`/opsx:ff`), Rails, Freestyle, Loops ohne Decider, Profile/manuelle Rollen,
52
+ MCP, Serena, Terminal und Anhänge.
44
53
 
45
- - **Agents (Profile)** — der projektbezogene Agenten-Katalog und das Modell-Routing. Auf jedem Projekt ausgeblendet, das einen Nicht-Claude-Anbieter enthält.
46
- - **Freestyle-Rails** — laufen immer auf Claude.
47
- - **Contract Refine** — der zusätzliche „Contract Layer“-Durchlauf auf einer committeten Spec läuft nur, wenn der Anbieter der Konversation Claude ist.
48
- - **Erweiterte Modi bei „Spec hinzufügen“** (SMASH / Contract Layer) — bei Nicht-Claude-Engines ausgeblendet.
49
-
50
- Alles andere — Explore, Quick-Spec, die vollständige Rails-Pipeline, AI Edit, Chat, Kosten-Analytics — funktioniert über alle drei hinweg.
54
+ `kimi -p` genehmigt Tools automatisch und kann keine No-Tools/Read-only-Grenze
55
+ erzwingen. Vor dem Spawn abgelehnt werden daher Quick Spec, AI Edit, Contract
56
+ Refine, SMASH/Re-SMASH, Project-Builder-Blueprint/Milestone-Generierung, Loop
57
+ Decider, Datei-Zusammenfassungen/Construction Story und Agent-Studio-
58
+ Automatisierung. Auto-Title nutzt einen deterministischen Fallback. Siehe
59
+ [Kimi-Guide](../../../kimi.md).
51
60
 
52
61
  ## Kostenverfolgung über alle Anbieter hinweg
53
62
 
54
- Die **Analytics**-Seite erfasst jeden abrechenbaren Aufruf unabhängig vom Anbieter. Auf Multi-Anbieter-Projekten ergänzt sie Engine-Filter-Chips, mit denen du die Ausgaben pro Anbieter vergleichen kannst. Claude meldet seine eigenen exakten Kosten; für Codex und Gemini schätzt Specrails die Kosten anhand einer eingebauten Preistabelle — die Zahlen sind also gute Näherungswerte, keine tatsächlich abgerechneten Beträge.
63
+ **Analytics** erfasst tatsächlich gestartete Aufrufe. Claude meldet Kosten,
64
+ Codex/Gemini werden geschätzt. Kimi meldet keine autoritativen Tokens oder
65
+ USD-Kosten; diese Felder bleiben leer.
55
66
 
56
67
  ## Fehlerbehebung
57
68
 
58
- - **Ein installierter Anbieter wird nicht angeboten.** Stelle sicher, dass die CLI in deinem `PATH` liegt (probiere `claude --version` / `codex --version` / `gemini --version` in einem frischen Terminal). Die App prüft Anbieter-CLIs über deinen System-`PATH`.
69
+ - **Ein installierter Anbieter wird nicht angeboten.** Prüfe `claude --version` / `codex --version` / `gemini --version` / `kimi --version` in einem frischen Terminal.
59
70
  - **Codex-MCP-Server werden im Chat nicht geladen.** Codex liest MCP-Server aus deiner globalen `~/.codex/config.toml` — registriere sie dort mit `codex mcp add`.
60
71
  - **Notabschaltung.** Ein Anbieter lässt sich app-weit über eine Umgebungsvariable abschalten (`SPECRAILS_CODEX_BETA=0` oder `SPECRAILS_GEMINI_BETA=0`). Das blendet den Anbieter nur aus der *Auswahl* aus; es wird selten gebraucht.
61
72
 
62
73
  ## Siehe auch
63
74
 
64
- Die dedizierten Anbieter-Guides gehen tiefer auf jede CLI ein: Der Codex-Guide und der Gemini-Guide behandeln jeweils Einrichtung, Funktionsumfang und anbieterspezifische Besonderheiten.
75
+ Siehe die dedizierten Guides für [Kimi](../../../kimi.md), Codex und Gemini.
@@ -21,7 +21,7 @@ Das Vorzeige-Plugin ist:
21
21
  3. Klicke in das Plugin hinein, um die **Installation vorab anzusehen** — das zeigt dir genau, welche Dateien sich ändern werden, bevor irgendetwas passiert.
22
22
  4. Klicke auf **Installieren**. Du siehst den Fortschritt live, während es eingerichtet wird.
23
23
 
24
- Im Hintergrund läuft die Installation *chirurgisch und additiv* ab: Sie fügt der `.mcp.json` deines Projekts nur ihre eigenen Einträge hinzu (und bei manchen Plugins eine Fragment-Datei im geschützten `.claude/agents/`-Namensraum). Sie schreibt deine Konfiguration nie komplett neu, und ein zweites Plugin kann das erste niemals stören. Kann sich eine Installation nicht als fehlerfrei verifizieren, wird sie sauber zurückgerollt.
24
+ Im Hintergrund läuft die Installation *chirurgisch und additiv*: Sie ergänzt nur die native MCP-Konfiguration des gewählten Providers (und bei manchen Claude-Installationen ein Fragment unter `.claude/agents/`). Sie schreibt die Konfiguration nie komplett neu und rollt bei fehlgeschlagener Verifikation sauber zurück.
25
25
 
26
26
  ## Installierte Plugins verwalten
27
27
 
@@ -37,8 +37,8 @@ Im Hintergrund läuft die Installation *chirurgisch und additiv* ab: Sie fügt d
37
37
 
38
38
  ## Anbieterhinweise
39
39
 
40
- Plugins sind anbieterbewusst. Serena und ähnliche MCP-Plugins greifen bei Anbietern, die MCP über die `.mcp.json` des Projekts registrieren (Claude und Gemini). Bei Codex-Projekten werden MCP-Server stattdessen über Codex' eigene globale Konfiguration verwaltet, sodass Plugin-Einträge in **Integrationen** entsprechend gefiltert werden. Die Jira-Karte in den Integrationen ist anbieterunabhängig und erscheint für alle — siehe den Jira-Guide.
40
+ Plugins sind anbieterbewusst. Serena unterstützt Claude über `.mcp.json`, Codex über `codex mcp add` mit isoliertem `CODEX_HOME` pro Projekt und Kimi über `.kimi-code/mcp.json`. Ein Plugin erscheint nur, wenn sein Manifest den Provider deklariert; Serena wird daher für Gemini nicht angeboten. Die Jira-Karte ist providerunabhängig.
41
41
 
42
42
  ## Reservierte Dateien
43
43
 
44
- Plugins verwalten eine kleine, klar abgegrenzte Menge an Dateien in deinem Projekt: deine `.mcp.json` (chirurgisch zusammengeführt), etwas Zustand unter `.specrails/plugins/` sowie pro Plugin Agenten-Fragmente unter `.claude/agents/custom-<plugin>.md`. Das sind committbare Team-Assets, falls du eine Integration mit deinen Teamkolleg:innen teilen möchtest — die App überschreibt sie nie blind.
44
+ Plugins verwalten die native MCP-Konfiguration des Providers, Zustand unter `.specrails/plugins/` und nur bei Bedarf für Claude Fragmente unter `.claude/agents/custom-<plugin>.md`. Kimi-Einträge liegen in `.kimi-code/mcp.json`; die App schreibt keine Claude-Fragmente für Kimi und überschreibt Konfigurationen nie blind.
@@ -22,7 +22,14 @@ Ein Projekt hier auszuwählen **verschiebt** dein Dashboard **nicht** — das Zi
22
22
 
23
23
  ## Anbieter und Modell
24
24
 
25
- Direkt über dem Nachrichtenfeld wählst du den **Anbieter** (Claude, Codex oder Gemini) und dessen **Modell**. Jeder Anbieter hat seine eigene Modellliste, und ein Anbieterwechsel startet eine frische Sitzung mit dem Standardmodell dieses Anbieters — so kannst du etwa die App mit Claude steuern und für eine andere Unterhaltung zu Codex wechseln, ohne dass etwas durcheinandergerät.
25
+ Direkt über dem Nachrichtenfeld wählst du den **Anbieter** (Claude, Codex,
26
+ Gemini oder Kimi) und dessen **Modell**. Ein Anbieterwechsel startet eine
27
+ getrennte Sitzung.
28
+
29
+ Bei Kimi begrenzen die Stufen Specrails-MCP-Tools, machen `kimi -p` aber nicht
30
+ zum Sandbox-Prozess: native Kimi-Tools werden automatisch genehmigt. Unsichere
31
+ Pure-Output-Aktionen werden vor dem Spawn abgelehnt; siehe
32
+ [Kimi-Matrix](../../../kimi.md).
26
33
 
27
34
  ## Berechtigungsstufen — du hältst die Leine
28
35
 
@@ -35,8 +35,8 @@ Das war's. Die rail startet einen KI-CLI-Prozess im richtigen Ausführungskontex
35
35
  | **Status-Pill** | `idle`, `running` oder `failed`. Es gibt kein eigenes „completed“ — eine rail kehrt auf `idle` zurück, wenn ihr Job sauber durchläuft. |
36
36
  | **Spec-Liste** | Die IDs, die dieser rail zugewiesen sind. Zieh weitere hinein oder heraus, um sie wieder zu lösen. |
37
37
  | **Loop-Auswahl** | Der Loop, den diese rail ausführt — ein eingebauter (`Implement` / `Batch` / `Freestyle`) oder ein eigener Loop. Siehe Tabelle unten. Pro rail gespeichert. |
38
- | **Profil-Auswahl** | Welches Agent-Profil läuft (nur bei Claude-rails). Erscheint erst, wenn das Projekt mindestens ein Profil hat. |
39
- | **Engine-Auswahl** | Welcher installierte Provider diese rail ausführt — Claude, Codex oder Gemini. Wird nur angezeigt, wenn das Projekt mehr als einen Provider hat. Siehe [Engine pro Rail wählen](picking-an-engine-per-rail). |
38
+ | **Profil-Auswahl** | Welches Provider-Profil läuft (Claude- und Kimi-Rails). |
39
+ | **Engine-Auswahl** | Welcher Provider die Rail ausführt — Claude, Codex, Gemini oder Kimi. |
40
40
  | **▶ Play / ■ Stop** | Starten oder abbrechen. |
41
41
 
42
42
  ### Was eine rail ausführt: Loops
@@ -47,9 +47,11 @@ Eine rail führt einen **Loop** aus — das Rezept für die Arbeit. Drei Loops s
47
47
  |------|---------|--------------|
48
48
  | **Implement** | `/specrails:implement` | Ein Job für alle Specs auf der rail. Durchläuft die komplette Pipeline Architect → Developer → Reviewer → Ship. Der Alltagsstandard. |
49
49
  | **Batch** | `/specrails:batch-implement` | Ein Job, der die Specs der rail nacheinander abarbeitet — in abhängigkeitsbewussten Wellen. Ideal für mehrere zusammenhängende Specs. |
50
- | **Freestyle** | Freestyle | Claude implementiert jede Spec eigenständig und **umgeht** dabei die Pipeline. Ein unabhängiger Job pro Spec. Nur Claude. |
50
+ | **Freestyle** | Freestyle | Claude oder Kimi implementiert jede Spec eigenständig und **umgeht** dabei die Pipeline. |
51
51
 
52
- Freestyle ist der Sonderfall: Es überspringt die Agent-Kette und übergibt Claude die rohe Spec, an der es mit seinen nativen Tools arbeitet. Das ist offen angelegt, deshalb öffnet Play zuerst eine Bestätigung, und eine Modell-Auswahl pro rail lässt dich zwischen Haiku / Sonnet / Opus wählen. Es erscheint nur, wenn die Engine der rail Claude ist. Ein Freestyle-Lauf ist außerdem der einzige Job, der **für dich offen bleibt**: Chatte mit ihm über den Composer der Job-Detail-Ansicht und klicke auf **Finalize**, wenn du zufrieden bist (alle anderen Jobs schließen sich selbst ab).
52
+ Freestyle nutzt native Tools und Modelle des Providers. Claude hat persistenten
53
+ interaktiven Transport; Kimi nutzt einen agentischen `kimi -p`-Prozess ohne
54
+ persistentes stdin.
53
55
 
54
56
  Über die eingebauten Loops hinaus kannst du **deine eigenen Loops bauen** — einen verify → fix → verify-Zyklus wiederholen, bis ein Ziel erreicht ist, Shell-Befehle zwischen KI-Schritten verketten und mehr. Diese eigenen Loops erscheinen in derselben Loop-Auswahl. Das ist die nächste große Idee: [Der Loop Builder](the-loop-builder).
55
57
 
@@ -81,7 +83,8 @@ Klick im rail-Header auf **■ Stop**. Die App sendet `SIGTERM` an den Subprozes
81
83
 
82
84
  ## Wenn eine Rail nicht starten will
83
85
 
84
- Wenn du eine Engine wählst, deren CLI nicht auf deinem Rechner installiert ist, **schlägt der Start sofort fehl**, anstatt einen kaputten Job zu starten — es wird nichts gestartet. Installiere die fehlende Provider-CLI ([Codex verwenden](../integrations/using-codex), [Gemini verwenden](../integrations/using-gemini)) und starte erneut. Ein fehlendes Claude oder Codex liefert eine präzise „*&lt;provider&gt; CLI not found*“-Meldung; ein fehlendes Gemini zeigt heute eine generische Startfehlermeldung, aber das Ergebnis ist dasselbe.
86
+ Fehlt die gewählte CLI, schlägt der Start vor dem Spawn fehl. Für Kimi:
87
+ `kimi` 0.27+ installieren/anmelden; Desktop startet keinen Server.
85
88
 
86
89
  ## Alles stoppen
87
90
 
@@ -96,4 +99,4 @@ Wenn etwas nicht stimmt:
96
99
  - [Der Loop Builder](the-loop-builder) — was eine rail ausführt und wie du deine eigenen Loops baust.
97
100
  - [Die Job-Detail-Ansicht](the-job-detail-view) — Phasen, Live-Metriken, Ticket-Karten.
98
101
  - [Batch implement & Multi-Feature](batch-implement-and-multi-feature) — mehrere Specs auf einmal ausführen.
99
- - [Engine pro Rail wählen](picking-an-engine-per-rail) — Claude vs. Codex vs. Gemini.
102
+ - [Engine pro Rail wählen](picking-an-engine-per-rail) — Claude, Codex, Gemini oder Kimi.
@@ -94,7 +94,9 @@ Ein paar Dinge, die man wissen sollte:
94
94
  - **Die Summenzeile ist echt.** Der Composer zeigt eine Live-Zusammenfassung `N Turns · $X`, aufsummiert aus dem tatsächlichen Verbrauch jedes abgeschlossenen Turns — konsistent mit dem Versprechen dieser Seite, nichts zu raten.
95
95
  - **Zwei Arten, wie eine Session endet.** Die meisten Jobs **schließen sich selbst ab**: Sobald ein Turn ohne wartende Nachrichten endet, setzt sich die Session zur Ruhe und der Job ist fertig — deine Nachrichten sind optionale Lenkung, nie eine Pflicht. Eine dezente Aktion **Jetzt abschließen** beendet sie früher, mit allem, was bis dahin entstanden ist. **Freestyle**-Jobs sind die Ausnahme: Sie warten zwischen den Turns, bis du auf **Finalize** klickst — das ist ihr Design, eine Hin-und-her-Session, die du schließt, wenn du fertig bist.
96
96
  - **Bei Loop-Läufen geht die Nachricht an den aktiven Schritt.** In einem eingebauten oder eigenen Loop erreicht deine Nachricht den **gerade laufenden KI-Schritt**. Zwischen den Schritten (während der Loop Decider nachdenkt oder ein Shell-Befehl läuft) zeigt der Composer kurz *„Warte auf den nächsten Schritt…"* — dein Entwurf bleibt erhalten, und das Senden wird wieder aktiv, sobald der nächste KI-Schritt startet. **Diesen Schritt abschließen** beendet den aktuellen Schritt vorzeitig und lässt den Loop mit dem Erreichten weiterziehen.
97
- - **Vorerst nur Claude.** Codex- und Gemini-Jobs laufen wie bisher als One-Shot — es erscheint kein Composer. (Server-Betreiber können das ganze Feature mit `SPECRAILS_INTERACTIVE_JOBS=false` abschalten.)
97
+ - **Persistente Interaktion gibt es nur bei Claude.** Codex, Gemini und Kimi
98
+ laufen One-Shot; Kimi setzt Chats nach einem Resume Hint mit einem neuen
99
+ `kimi --session=<id> -p` fort.
98
100
 
99
101
  ## Diagnose-Export
100
102
 
@@ -81,4 +81,4 @@ Es gibt kein globales Parallelitäts-Limit, das du einstellen musst. Öffne die
81
81
 
82
82
  - [Rails & Jobs](rails-and-jobs) — das Queue-Modell im Detail.
83
83
  - [Die Job-Detail-Ansicht](the-job-detail-view) — einem Batch-Lauf live zusehen.
84
- - [Engine pro Rail wählen](picking-an-engine-per-rail) — beachte: Batch läuft auf jedem Provider; Freestyle gibt es nur bei Claude.
84
+ - [Engine pro Rail wählen](picking-an-engine-per-rail) — Batch läuft auf jedem Provider; Freestyle gibt es mit Claude und Kimi.
@@ -1,6 +1,7 @@
1
1
  # Engine pro Rail wählen
2
2
 
3
- Specrails desktop behandelt **Claude Code**, **Codex CLI** und **Gemini CLI** als gleichwertige Engines. Ein Projekt kann eine, zwei oder alle drei installiert haben — und wenn mehr als eine vorhanden ist, wählst du, welche Engine jede Rail ausführt. Diese Seite zeigt die Engine-Auswahl pro Rail und wann du zu welcher greifst.
3
+ Specrails desktop behandelt **Claude Code**, **Codex CLI**, **Gemini CLI** und
4
+ **Kimi Code** als gleichwertige Engines. Jede kompatible Kombination ist möglich.
4
5
 
5
6
  ## Wann die Auswahl erscheint
6
7
 
@@ -13,30 +14,27 @@ Wenn sie erscheint, gilt deine Wahl **pro Rail und pro Start** — verschiedene
13
14
  ## So wählst du eine Engine
14
15
 
15
16
  1. Vergewissere dich, dass die Engine-Auswahl der Rail sichtbar ist (Projekt hat 2+ Provider).
16
- 2. Klick darauf und wähle **Claude**, **Codex** oder **Gemini**.
17
+ 2. Klick darauf und wähle **Claude**, **Codex**, **Gemini** oder **Kimi**.
17
18
  3. Starte die Rail mit **▶ Play**.
18
19
 
19
20
  Die ausgewählte Engine führt jede Phase der Pipeline dieser Rail aus. Ist die CLI der gewählten Engine nicht installiert, schlägt der Start sofort fehl — es wird nichts gestartet. Installiere die fehlende CLI und versuch es erneut.
20
21
 
21
22
  ## Wofür jede Engine gut ist
22
23
 
23
- Alle drei führen die Standard-Pipelines **Implement** und **Batch** aus. Hier ein praktischer Leitfaden zur Auswahl:
24
+ Alle vier führen **Implement** und **Batch** aus:
24
25
 
25
26
  | Engine | Greif dazu, wenn… | Hinweise |
26
27
  |--------|--------------------|-------|
27
- | **Claude** | Du den vollen Funktionsumfang willst: Agent-Profile, Freestyle, native Kostenmeldung, die umfangreichste Tool-Unterstützung. Der Standard für die meiste Arbeit. | Die einzige Engine, die **Agent-Profile**, **Freestyle** und ein paar Claude-exklusive Spec-Features (Contract Layer, SMASH) unterstützt. |
28
+ | **Claude** | Du native Kosten, persistente Interaktion oder strikte Tool-Policies brauchst. | Profile, Freestyle und strukturierte Transforms. |
28
29
  | **Codex** | Du die OpenAI Codex CLI bevorzugst oder Implementierungen über verschiedene Provider hinweg vergleichen willst. | `codex` ≥ 0.128.0. Keine native Kostenmeldung — die App ergänzt die Kosten aus ihrer Preistabelle. Profile gelten nicht. |
29
30
  | **Gemini** | Du Googles Gemini CLI, native Telemetrie oder einen günstigeren Lauf für Routine-Specs willst. | `gemini` ≥ 0.11.0 (setze `GEMINI_API_KEY`). Native OTLP-Telemetrie. Profile gelten nicht. |
31
+ | **Kimi** | Du agentisches Kimi für Implement, Batch, Freestyle oder Loops ohne Decider willst. | Externes `kimi` ≥ 0.27.0; Profile/Rollen, Effort nur K3; Tokens/Kosten nicht verfügbar. |
30
32
 
31
- ### Die Claude-exklusiven Features
33
+ ### Fähigkeitsunterschiede
32
34
 
33
- Ein paar Dinge funktionieren nur auf Claude-Rails — wähle Claude, wenn du sie brauchst:
34
-
35
- - **Agent-Profile** — Modell-Routing pro Agent. Auf Codex- oder Gemini-Rails läuft der Lauf immer im Legacy-Modus, und ein ausgewähltes Profil wird **ignoriert**. Die Profil-Auswahl ist für Nicht-Claude-Engines ausgeblendet.
36
- - **Freestyle** — der autonome, pipeline-umgehende Modus. Das `Freestyle`-Segment und seine Haiku/Sonnet/Opus-Modell-Auswahl erscheinen nur, wenn die Engine der Rail Claude ist.
37
- - **Contract Layer & SMASH** — Claude-exklusive Features zur Spec-Verfeinerung (das sind Add-Spec-Optionen, keine Rail-Optionen, aber dieselbe Einschränkung gilt).
38
-
39
- Wenn ein Projekt Engines mischt, zeigt die rechte Seitenleiste nur Bereiche, die **jeder** installierte Provider unterstützt — der **Agents**-Bereich verschwindet also komplett bei einem Projekt, das irgendeinen Nicht-Claude-Provider enthält, weil Profile Claude-spezifisch sind.
35
+ Claude und Kimi unterstützen Profile/Freestyle; Codex/Gemini laufen legacy.
36
+ Kimi lehnt Loop Decider und die Pure-Output-Transforms im
37
+ [Kimi-Guide](../../../kimi.md) ab. Claude/Kimi-Profile sind getrennt.
40
38
 
41
39
  ## Ein praktischer Workflow
42
40
 
@@ -49,12 +47,14 @@ Multi-Provider-Projekte spielen ihre Stärken aus, wenn du **vergleichen** oder
49
47
  ## Worauf du achten solltest
50
48
 
51
49
  - **Die Provider-Wahl ist nach dem Anlegen des Projekts unveränderlich** (v1). Du wählst die installierten Provider beim Hinzufügen des Projekts; es gibt keinen Einstellungs-Schalter, um später einen hinzuzufügen oder zu entfernen.
52
- - **Kosten werden immer verfolgt**, auch für Engines ohne native Kostenmeldung — die App greift auf eine Preistabelle zurück, sodass auch Codex- und Gemini-Läufe in den [Analysen](../analytics/tracking-cost) auftauchen.
50
+ - **Verfügbare Metriken werden erfasst.** Kimi liefert keine autoritativen
51
+ Tokens/USD-Kosten; die Felder bleiben leer.
53
52
  - **Der „Open AI CLI“-Button im Terminal** bietet bei Multi-Provider-Projekten ebenfalls eine Provider-Auswahl, falls du eine CLI lieber von Hand bedienst.
54
53
 
55
54
  ## Wie es weitergeht
56
55
 
57
56
  - [Codex verwenden](../integrations/using-codex) — installieren und anmelden.
58
57
  - [Gemini verwenden](../integrations/using-gemini) — installieren, `GEMINI_API_KEY`, Telemetrie.
58
+ - [Kimi verwenden](../../../kimi.md) — Installation und vollständige Matrix.
59
59
  - [Rails & Jobs](rails-and-jobs) — die Queue und der Start-Flow.
60
60
  - [Kosten verfolgen](../analytics/tracking-cost) — Kostenaufschlüsselung pro Engine.
@@ -17,7 +17,7 @@ Ein **Loop** ist das *Rezept* für die Arbeit; eine **rail** ist die *Spur*, die
17
17
 
18
18
  - Loops leben im **Loops**-Bereich (linke Seitenleiste, neben deinen Projekten) — sie sind **global**, projektübergreifend geteilt.
19
19
  - Eine rail **wählt einen Loop** in ihrem Header (der Loop-Picker) und führt ihn aus, wenn du Play drückst.
20
- - Die **rail** entscheidet über Provider, Modell und Reasoning-Aufwand — *nicht* die Schritte des Loops. Derselbe Loop läuft auf Claude, Codex oder Gemini, je nach rail.
20
+ - Die **rail** wählt Provider, Modell und kompatiblen Aufwand. Ein kompatibler Loop läuft auf Claude, Codex, Gemini oder Kimi.
21
21
 
22
22
  Also: Bau einen Loop einmal, dann wähl ihn auf jeder rail in jedem Projekt.
23
23
 
@@ -41,6 +41,10 @@ Ein Loop ist ein Graph aus **Knoten**, verbunden durch **Kanten** (die Pfeile).
41
41
 
42
42
  Kanten verbinden die Schritte der Reihe nach. Der **Loop Decider** hat zwei beschriftete Ausgänge — **continue** und **stop** — also verdrahtest du „noch nicht fertig" zurück in die Arbeit und „fertig" hinaus zu einem End.
43
43
 
44
+ > **Kimi führt Loops mit AI-/Shell-Schritten aus, aber nicht mit Loop
45
+ > Decider.** Das Urteil ist Pure-Output; `kimi -p` kann die No-Tools-Grenze
46
+ > nicht erzwingen. Der Run wird vor dem ersten Schritt abgelehnt.
47
+
44
48
  ### Schritt-Text schreiben
45
49
 
46
50
  Innerhalb jedes AI Step oder Decider kannst du referenzieren:
@@ -57,7 +61,7 @@ Ein Loop, der nie stoppt, würde ewig Geld verbrennen, also hat jeder Lauf drei
57
61
  |-------|--------------|
58
62
  | **Max iterations** | Harte Obergrenze, wie oft der Decider zurückschleifen darf, unabhängig von seinem Urteil. |
59
63
  | **Timeout (min)** | Echtzeit-Limit für den gesamten Lauf. |
60
- | **Max cost ($)** | *Optional.* Stoppt den Loop, sobald die aufgelaufenen Kosten dein Budget überschreiten. Wird **zwischen Schritten** geprüft (die Kosten eines Schritts sind erst bekannt, wenn er fertig ist), kann also um einen Schritt überschießen. Auf Claude sind die Kosten exakt; auf Codex und Gemini sind sie eine Schätzung. Lass es leer für keine Obergrenze. |
64
+ | **Max cost ($)** | *Optional.* Claude meldet Kosten; Codex/Gemini werden geschätzt. Kimi meldet keine autoritativen USD-Kosten. |
61
65
 
62
66
  ## Mit Sicherheit bauen
63
67
 
@@ -2,6 +2,10 @@
2
2
 
3
3
  Der Quick-Modus ist für die Momente gedacht, in denen du bereits weißt, was du willst. Du tippst deine Idee ein, die KI schreibt die vollständige Spec, und sie landet als **To-do** auf deinem Board. Kein Hin und Her – einfach beschreiben und los.
4
4
 
5
+ > **Kimi ist für Quick Spec nicht verfügbar.** `kimi -p` kann die
6
+ > Pure-Output-Grenze dieses Formulars nicht erzwingen. Die Anfrage wird vor
7
+ > dem Spawn abgelehnt; nutze Explore, Raw oder Quick Launcher (`/opsx:ff`).
8
+
5
9
  ## Eine Spec im Quick-Modus erstellen
6
10
 
7
11
  So erstellst du schnell eine Spec:
@@ -19,7 +23,8 @@ Das ist der ganze Ablauf. Alles Weitere unten ist optionale Feinjustierung.
19
23
 
20
24
  **Modell** – standardmäßig wählt die KI ein sinnvolles Modell. Du kannst es pro Spec über die Modellauswahl überschreiben, wenn du ein schnelleres oder leistungsfähigeres möchtest.
21
25
 
22
- **Engine** – wenn in deinem Projekt mehr als ein KI-Provider installiert ist (irgendeine Mischung aus Claude, Codex und Gemini), sitzt oben im Dialog eine Engine-Auswahl, mit der du festlegst, welche diese Spec generiert. Deine Wahl wird pro Projekt gemerkt. Projekte mit nur einem Provider zeigen das nicht – es gibt ja nichts zu wählen.
26
+ **Engine** – die Auswahl zeigt nur **kompatible** Provider; Kimi ist bei Quick
27
+ Spec ausgeschlossen.
23
28
 
24
29
  **Kontext** – der Quick-Modus läuft meist als einzelner Durchgang, weil er deine Codebasis nicht lesen muss, um aus deiner Beschreibung eine Spec zu schreiben. Aber ein Kontext-Schieberegler erlaubt dir, ihm mehr an die Hand zu geben:
25
30
 
@@ -37,7 +37,13 @@ That's the whole flow: choose a profile, launch, done. Concurrent rails in the s
37
37
 
38
38
  ## When the Agents section is quiet
39
39
 
40
- Profiles are a Claude capability. On a project that includes a non-Claude provider (Codex or Gemini), the Agents section is hidden and rails run without profiles — that's expected, not a bug. Profiles also require a recent enough `specrails-core` in the project; if it's older, you'll see a yellow banner. Profiles you create still **save** — they just don't affect the pipeline until core is updated. Update with the command shown in the banner to unlock them.
40
+ Profiles are provider-scoped. Claude and Kimi support role/profile execution;
41
+ Codex and Gemini rails use legacy mode. A mixed project keeps independent
42
+ Claude and Kimi profile files/models, so identically named profiles cannot
43
+ silently cross providers. Kimi also supports manual `custom-*` role
44
+ creation/editing/execution, while Agent Studio generation, smoke test, and AI
45
+ Refine fail closed. Profiles require a recent enough `specrails-core`; Kimi's
46
+ framework target requires Core 4.12.0 or newer.
41
47
 
42
48
  ## Where to go next
43
49
 
@@ -11,21 +11,34 @@ Each catalog entry shows what the agent is for and its default model, so you can
11
11
 
12
12
  ## Adding a custom agent
13
13
 
14
- Custom agents are plain Markdown files in your repository under `.claude/agents/`, named `custom-<something>.md`. The file contains the agent's instructions (its system prompt) and a small frontmatter header that includes a default `model:`.
14
+ Custom roles are provider-native Markdown assets. Claude uses
15
+ `.claude/agents/custom-<something>.md`; Kimi uses
16
+ `.kimi-code/skills/custom-<something>/SKILL.md` with valid Skill
17
+ frontmatter. The catalog/profile editor scopes models and paths to the selected
18
+ provider.
15
19
 
16
- Once the file exists in the project, it appears in the catalog as a custom agent, and you can add its id to any profile's agent chain (and route tasks to it). The id must match the filename — an entry for `custom-docs` maps to `.claude/agents/custom-docs.md`.
20
+ Once the asset exists, it appears in that provider's catalog and can be added
21
+ to a matching profile. A Kimi role is never resolved through
22
+ `.claude/agents`, and same-named Claude/Kimi roles remain independent.
17
23
 
18
24
  Because they live in your repo, custom agents are **committable team assets**: commit the file and your whole team gets the agent. This mirrors the core idea throughout the Agents section —
19
25
 
20
26
  > **Agent definitions are shared (they live in the repo and travel with `git`). Model configuration is per-project (it lives in profiles).**
21
27
 
22
- The `custom-*` namespace is reserved and protected: `specrails-core`'s `init` and `update` commands never touch `.claude/agents/custom-*.md`, so your custom agents survive core upgrades untouched. (The same protection covers plugin-contributed fragments like `custom-serena.md`.)
28
+ The `custom-*` namespace is reserved and protected: `specrails-core` never
29
+ overwrites Claude custom files or Kimi custom skill directories.
30
+
31
+ Kimi supports manual blank/template/duplicate/edit and execution. Agent Studio
32
+ generation, smoke Test, and AI Refine are unavailable for Kimi because
33
+ `kimi -p` cannot enforce their no-tools/read-only boundary; direct requests
34
+ fail before spawn.
23
35
 
24
36
  ## Putting a custom agent to work
25
37
 
26
38
  The typical flow:
27
39
 
28
- 1. Write `.claude/agents/custom-<name>.md` with instructions and a default model.
40
+ 1. Create the provider-native Claude agent file or Kimi Skill directory with
41
+ instructions and a valid provider model.
29
42
  2. Confirm it shows up in **Agents → Catalog** under Custom.
30
43
  3. In **Agents → Profiles**, add the agent to a profile's chain (optionally overriding its model for that profile).
31
44
  4. Add a routing rule so tasks with the right tags reach it — or rely on the chain order.
@@ -36,6 +36,7 @@ Specrails works with the major AI coding CLIs:
36
36
  - **Claude** (Claude Code)
37
37
  - **Codex** (Codex CLI)
38
38
  - **Gemini** (Gemini CLI)
39
+ - **Kimi** (Kimi Code)
39
40
 
40
41
  Pick whichever you already use — or install more than one and choose per task. A project can run on a single provider or several at once, so you're never locked in.
41
42
 
@@ -46,4 +47,4 @@ Pick whichever you already use — or install more than one and choose per task.
46
47
  - **Your machine, your code** — everything runs locally against your real repository.
47
48
  - **One place for everything** — specs, jobs, chat, a built-in terminal, and cost tracking, all in a single window.
48
49
 
49
- Ready to get going? Next up: [Installing & first run](installing-and-first-run).
50
+ Ready to get going? Next up: [Installing & first run](installing-and-first-run).
@@ -23,6 +23,7 @@ The one thing specrails can't bundle is the **AI provider CLI** itself. You'll n
23
23
  - **Claude Code**
24
24
  - **Codex CLI**
25
25
  - **Gemini CLI**
26
+ - **Kimi Code**
26
27
 
27
28
  Install whichever you plan to use, sign in to it once from your terminal, and you're set. Specrails detects which providers are present automatically.
28
29
 
@@ -39,4 +40,4 @@ You'll see:
39
40
 
40
41
  That's the whole onboarding — no account to create, no sign-up. Specrails works entirely on your machine.
41
42
 
42
- Click **Add your first project** and continue to [Adding your first project](adding-your-first-project).
43
+ Click **Add your first project** and continue to [Adding your first project](adding-your-first-project).
@@ -26,13 +26,13 @@ The right sidebar is your switchboard for the current project. Hover it to expan
26
26
 
27
27
  - **Dashboard** — the specs board and rails (where you just were).
28
28
  - **Jobs** — every pipeline run for this project, past and present, with status, duration, and the ability to dig into any run's detail and logs.
29
- - **Analytics** — what your AI usage is costing. Spending broken down by day, by activity, by model, and by ticket — so there are no surprises.
30
- - **Agents** — your project's agent profiles: which agents run in the pipeline and which AI models they use. *(Claude-powered projects only.)*
31
- - **Code** — a read-only file browser with plain-language AI summaries, and chips showing which files the AI has touched. Great for non-developers who want to follow along.
29
+ - **Analytics** — invocations broken down by day, activity, model, and ticket. Claude reports billed cost, Codex/Gemini use estimates, and Kimi leaves unavailable token/USD fields blank.
30
+ - **Agents** — provider-scoped profiles and role catalogs for Claude and Kimi. Kimi roles can be created and edited manually; Generate, Test, and AI Refine are unavailable.
31
+ - **Code** — a read-only file browser and chips showing which files the AI has touched. Plain-language AI summaries appear only for providers that support that transform; they are unavailable with Kimi.
32
32
  - **Integrations** — optional add-ons, like connecting your specs to a **Jira** board or enabling extra tooling for the AI.
33
33
  - **Settings** — per-project options (telemetry, budgets, provider configuration, and more).
34
34
 
35
- > Some sections only appear when they make sense for the providers you chose — for example, **Agents** is specific to Claude. If you don't see a section, it simply doesn't apply to this project's setup.
35
+ > Sections and actions appear only when they make sense for the effective provider. For example, profiles are available for Claude and Kimi, while Kimi's Agent Studio AI actions fail closed.
36
36
 
37
37
  ## The status bar
38
38
 
@@ -50,4 +50,4 @@ A thin strip runs along the very bottom of the window. It's small but handy:
50
50
 
51
51
  ## Where to go next
52
52
 
53
- That's the lay of the land. From here, the natural first move is to **add a spec** and launch it on a rail — watch the pipeline run end to end, then check **Analytics** to see what it cost. Welcome aboard.
53
+ That's the lay of the land. From here, the natural first move is to **add a spec** and launch it on a rail — watch the pipeline run end to end, then check **Analytics** to see what it cost. Welcome aboard.
@@ -31,6 +31,11 @@ Since editing isn't part of this version, the viewer offers an **Edit in externa
31
31
 
32
32
  Above the code you'll see a **plain-language summary** of the file — what it's for, what it does — written so a non-developer can follow along. These are generated for you and cached, so opening a file you've looked at before is instant.
33
33
 
34
+ Kimi does not generate these summaries. File summary and construction-story
35
+ explanation are read-only transforms, but Kimi 0.27 `-p` cannot enforce a
36
+ read-only tool boundary. The controls are unavailable for Kimi; existing
37
+ provenance facts, diffs, and previously generated text remain readable.
38
+
34
39
  Summaries are smart about staying fresh: they're keyed to the file's contents, so when a file genuinely changes the summary is regenerated, but unchanged files don't get re-summarised needlessly. If you edit a file yourself, its summary is marked as stale rather than silently regenerated — you stay in control of when it's refreshed. There's a **regenerate** action when you want a fresh take on demand.
35
40
 
36
41
  A couple of guardrails keep costs sane: summary generation runs within a **monthly budget** (a few dollars by default, configurable in Settings), and there are caps on how many summaries a single job will kick off. If a summary is skipped, the app tells you why — budget reached, a per-job cap, or the file simply not being found.