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.
- package/README.md +28 -24
- package/client/dist/assets/{ActivityFeedPage-9DZOvIcY.js → ActivityFeedPage-CAhFRUO4.js} +1 -1
- package/client/dist/assets/{AgentBrowserCapture-DqyHbzk7.js → AgentBrowserCapture-Ct4G5lsE.js} +1 -1
- package/client/dist/assets/AgentModeCodePane-DQt9WIvu.js +2 -0
- package/client/dist/assets/{AgentModeJobsPane-CTIHMUKN.js → AgentModeJobsPane-podaJVl9.js} +1 -1
- package/client/dist/assets/AgentsPage-DTZdbW80.js +87 -0
- package/client/dist/assets/AnalyticsPage-BskgGPm0.js +1 -0
- package/client/dist/assets/CodePage-CvtYo1DU.js +2 -0
- package/client/dist/assets/{DesktopAnalyticsPage-CkXUFj3F.js → DesktopAnalyticsPage-Dnf99E8e.js} +1 -1
- package/client/dist/assets/{DocsDialog-PhdCJNVj.js → DocsDialog-DHi36rZ4.js} +1 -1
- package/client/dist/assets/{DocsPage-BY-wDthx.js → DocsPage-DIdVrQz1.js} +1 -1
- package/client/dist/assets/{InteractiveJobComposer-C9I0A4KR.js → InteractiveJobComposer-BHeB2inv.js} +1 -1
- package/client/dist/assets/{JobDetailModal-I_RoQJV4.js → JobDetailModal-CF1SKUHH.js} +1 -1
- package/client/dist/assets/JobDetailPage-De3rY18h.js +1 -0
- package/client/dist/assets/{JobsPage-DcllM4Ip.js → JobsPage-CfAqqJTx.js} +1 -1
- package/client/dist/assets/{LoopBuilderPage-DGm_iuff.js → LoopBuilderPage-DSBMuTb3.js} +2 -2
- package/client/dist/assets/{LoopPreviewModal-BC-TeFdD.js → LoopPreviewModal-B-c37kA0.js} +1 -1
- package/client/dist/assets/LoopsPage-DjnNXdmm.js +1 -0
- package/client/dist/assets/{MinimizedChatsContext-Cs34FPTz.js → MinimizedChatsContext-DIsnQMVz.js} +1 -1
- package/client/dist/assets/PluginsPage-DA5pQ_6u.js +2 -0
- package/client/dist/assets/{ProjectSettingsDialog-nEs-ENrE.js → ProjectSettingsDialog-DA23PSi6.js} +1 -1
- package/client/dist/assets/{TemplatePreviewModal-D4qW-J9B.js → TemplatePreviewModal-Cp7IQ-g2.js} +1 -1
- package/client/dist/assets/TicketDetailModal-BPD2i_0R.js +14 -0
- package/client/dist/assets/{Trans-CPISVji8.js → Trans-cWtExGkC.js} +1 -1
- package/client/dist/assets/addspec-4WmLJmBG.js +1 -0
- package/client/dist/assets/addspec-BRlk8jON.js +1 -0
- package/client/dist/assets/addspec-C7XRejU4.js +1 -0
- package/client/dist/assets/addspec-CHW9xf_X.js +1 -0
- package/client/dist/assets/addspec-DTmRrWrF.js +1 -0
- package/client/dist/assets/addspec-DhmnXER8.js +1 -0
- package/client/dist/assets/addspec-Di41DpYV.js +1 -0
- package/client/dist/assets/addspec-x3mizDxc.js +1 -0
- package/client/dist/assets/agent-BKsuIgIT.js +1 -0
- package/client/dist/assets/agent-Bs9NilfI.js +1 -0
- package/client/dist/assets/agent-C23h684q.js +1 -0
- package/client/dist/assets/agent-CqEjy3Z2.js +1 -0
- package/client/dist/assets/agent-D5DZTks1.js +1 -0
- package/client/dist/assets/agent-DE8hUYPl.js +1 -0
- package/client/dist/assets/agent-DsTuJGSc.js +1 -0
- package/client/dist/assets/agent-DwZM05-x.js +1 -0
- package/client/dist/assets/agents-45GbINfh.js +1 -0
- package/client/dist/assets/agents-BHp0_FQt.js +1 -0
- package/client/dist/assets/agents-Bvyi3y6R.js +1 -0
- package/client/dist/assets/agents-DMKFStHL.js +1 -0
- package/client/dist/assets/agents-DaYcxAr1.js +1 -0
- package/client/dist/assets/agents-IUOgqT5t.js +1 -0
- package/client/dist/assets/agents-ms7TwG16.js +1 -0
- package/client/dist/assets/agents-rzPnqoBR.js +1 -0
- package/client/dist/assets/agentstudio-8TQqBenW.js +1 -0
- package/client/dist/assets/agentstudio-B8Z_mmEX.js +1 -0
- package/client/dist/assets/agentstudio-BZR9YmLs.js +1 -0
- package/client/dist/assets/agentstudio-Bge9pAWb.js +1 -0
- package/client/dist/assets/agentstudio-Bz169Vzt.js +1 -0
- package/client/dist/assets/agentstudio-D6L2jpNi.js +1 -0
- package/client/dist/assets/agentstudio-K2-Z7CL0.js +1 -0
- package/client/dist/assets/agentstudio-Zmgzthv8.js +1 -0
- package/client/dist/assets/analytics-B8Qtptbl.js +1 -0
- package/client/dist/assets/analytics-BHqUazhP.js +1 -0
- package/client/dist/assets/analytics-BPptRY4f.js +1 -0
- package/client/dist/assets/analytics-BxDGOIwf.js +1 -0
- package/client/dist/assets/analytics-C9RaQcE3.js +1 -0
- package/client/dist/assets/analytics-CJIwqrEl.js +1 -0
- package/client/dist/assets/analytics-D_OZdQ9O.js +1 -0
- package/client/dist/assets/analytics-We6lUMI8.js +1 -0
- package/client/dist/assets/builder-3bygQtZi.js +1 -0
- package/client/dist/assets/builder-BiUG9Z5K.js +1 -0
- package/client/dist/assets/builder-CGRz_-zP.js +1 -0
- package/client/dist/assets/builder-CWYPw7Cw.js +1 -0
- package/client/dist/assets/builder-CX1437hF.js +1 -0
- package/client/dist/assets/{builder-CwA4T7gP.js → builder-Cowk9jtL.js} +1 -1
- package/client/dist/assets/builder-DwDexYRE.js +1 -0
- package/client/dist/assets/builder-skfnZ1uC.js +1 -0
- package/client/dist/assets/code-B0O8-p8k.js +1 -0
- package/client/dist/assets/code-B1VLZDhS.js +1 -0
- package/client/dist/assets/code-B86IMAfz.js +1 -0
- package/client/dist/assets/code-Bpj4Ddml.js +1 -0
- package/client/dist/assets/code-BykBZ5-e.js +1 -0
- package/client/dist/assets/code-CHPkOkDS.js +1 -0
- package/client/dist/assets/code-CkUuW4m9.js +1 -0
- package/client/dist/assets/code-cAqaqMTx.js +1 -0
- package/client/dist/assets/{dashboard-Dy2Um-US.js → dashboard-BVq6kRJe.js} +1 -1
- package/client/dist/assets/{dashboard-CHCEkds4.js → dashboard-BaKPPmLH.js} +1 -1
- package/client/dist/assets/{dashboard-CrlTV1ms.js → dashboard-Bm8e4zYG.js} +1 -1
- package/client/dist/assets/{dashboard-WhzOQw1S.js → dashboard-Bt6IesnM.js} +1 -1
- package/client/dist/assets/{dashboard-Cslu_GCH.js → dashboard-C_NQZle_.js} +1 -1
- package/client/dist/assets/{dashboard-DweT3Y4R.js → dashboard-CyZKoGoI.js} +1 -1
- package/client/dist/assets/{dashboard-DUU8-_Rg.js → dashboard-HIUdUBQ0.js} +1 -1
- package/client/dist/assets/{dashboard-Cqmmbh3l.js → dashboard-pm4Mr229.js} +1 -1
- package/client/dist/assets/{dist-js-jwoXo0YD.js → dist-js-BaP-xLOy.js} +1 -1
- package/client/dist/assets/{dist-js-Dj72W6qo.js → dist-js-CLlgOa5a.js} +1 -1
- package/client/dist/assets/format-command-C0D9IPmV.js +1 -0
- package/client/dist/assets/{formatDistanceToNow-ByKli7Q_.js → formatDistanceToNow-DUyzS4rr.js} +1 -1
- package/client/dist/assets/{getTimezoneOffsetInMilliseconds-qrcBaLW1.js → getTimezoneOffsetInMilliseconds-BCIwmmTj.js} +1 -1
- package/client/dist/assets/{i18n-Bf9Ckd10.js → i18n-D21Pr8Sj.js} +2 -2
- package/client/dist/assets/index-BdSDUFnA.css +2 -0
- package/client/dist/assets/index-Ci4-JKDr.js +77 -0
- package/client/dist/assets/{jobs-CVFD8rar.js → jobs-BAls3bWq.js} +1 -1
- package/client/dist/assets/{jobs-DoSaFzAa.js → jobs-B_TeSQxb.js} +1 -1
- package/client/dist/assets/jobs-Bgq-PZkC.js +1 -0
- package/client/dist/assets/jobs-Bpks6doU.js +1 -0
- package/client/dist/assets/jobs-CN_zv4Gr.js +1 -0
- package/client/dist/assets/jobs-DUlWSYq2.js +1 -0
- package/client/dist/assets/{jobs-B-sDHEay.js → jobs-DhxKgWFq.js} +1 -1
- package/client/dist/assets/{jobs-lk1_Dq1U.js → jobs-SwYS2M-B.js} +1 -1
- package/client/dist/assets/nav-BHDiSIVu.js +1 -0
- package/client/dist/assets/nav-CMiYAq4i.js +1 -0
- package/client/dist/assets/nav-CqS7NrDW.js +1 -0
- package/client/dist/assets/nav-D-0M7xfv.js +1 -0
- package/client/dist/assets/nav-D65O6u9I.js +1 -0
- package/client/dist/assets/nav-D_LKYvBr.js +1 -0
- package/client/dist/assets/nav-FDTJmU79.js +1 -0
- package/client/dist/assets/nav-VaB-C4k5.js +1 -0
- package/client/dist/assets/provider-capabilities-BvoExILy.js +1 -0
- package/client/dist/assets/settings-BveOJoaI.js +1 -0
- package/client/dist/assets/settings-Cj1C6F5k.js +1 -0
- package/client/dist/assets/settings-CuVwOpe0.js +1 -0
- package/client/dist/assets/settings-D5X4DfRc.js +1 -0
- package/client/dist/assets/settings-DXwxe-BW.js +1 -0
- package/client/dist/assets/settings-Di81Ba_V.js +1 -0
- package/client/dist/assets/settings-jbLjCYC_.js +1 -0
- package/client/dist/assets/settings-wIZNPFnn.js +1 -0
- package/client/dist/assets/setup-BBiHEO7h.js +1 -0
- package/client/dist/assets/setup-BlTWhNIQ.js +1 -0
- package/client/dist/assets/setup-Bp2L_oiP.js +1 -0
- package/client/dist/assets/setup-CInYXp1-.js +1 -0
- package/client/dist/assets/{setup-CITtPjed.js → setup-CYH3bP6K.js} +1 -1
- package/client/dist/assets/setup-DwcQ921P.js +1 -0
- package/client/dist/assets/setup-PBLjuDSs.js +1 -0
- package/client/dist/assets/setup-bx6FtoBp.js +1 -0
- package/client/dist/assets/{spending-DMnCXy84.js → spending-BCyUxoOI.js} +1 -1
- package/client/dist/assets/{tickets-B8BuAaj5.js → tickets-BL9r1G0e.js} +1 -1
- package/client/dist/assets/{tickets-DpmdE8tv.js → tickets-B_NyHJ8f.js} +1 -1
- package/client/dist/assets/{tickets-B_yh4qQk.js → tickets-BarF1wuG.js} +1 -1
- package/client/dist/assets/{tickets-pAUJkDTu.js → tickets-CclVhpQA.js} +1 -1
- package/client/dist/assets/{tickets-D_yDquEw.js → tickets-CqqOHbli.js} +1 -1
- package/client/dist/assets/{tickets-CFk2n2Or.js → tickets-DCkFSiqt.js} +1 -1
- package/client/dist/assets/{tickets-DQp7JS2R.js → tickets-Djn3ccfT.js} +1 -1
- package/client/dist/assets/{tickets-Bs37scwY.js → tickets-MiHBPsy_.js} +1 -1
- package/client/dist/assets/{useBrowserCaptureSession-CkBJShUw.js → useBrowserCaptureSession-CkVCDzer.js} +1 -1
- package/client/dist/assets/{useDesktop-B4pSBIDd.js → useDesktop-DCP_MHp9.js} +1 -1
- package/client/dist/index.html +25 -24
- package/docs/README.md +7 -3
- package/docs/cli.md +3 -3
- package/docs/codex.md +51 -64
- package/docs/creating-specs.md +36 -4
- package/docs/customizing.md +5 -5
- package/docs/gemini.md +35 -47
- package/docs/getting-started.md +15 -9
- package/docs/guide/de/agents/2-profiles-and-the-balanced-default.md +5 -1
- package/docs/guide/de/agents/4-custom-agents-catalog.md +7 -4
- package/docs/guide/de/getting-started/1-what-is-specrails.md +1 -0
- package/docs/guide/de/getting-started/2-installing-and-first-run.md +1 -0
- package/docs/guide/de/getting-started/4-the-dashboard-tour.md +4 -4
- package/docs/guide/de/integrations/1-ai-providers.md +29 -18
- package/docs/guide/de/integrations/2-plugins.md +3 -3
- package/docs/guide/de/integrations/6-agent-chat.md +8 -1
- package/docs/guide/de/pipeline/1-rails-and-jobs.md +9 -6
- package/docs/guide/de/pipeline/2-the-job-detail-view.md +3 -1
- package/docs/guide/de/pipeline/3-batch-implement-and-multi-feature.md +1 -1
- package/docs/guide/de/pipeline/4-picking-an-engine-per-rail.md +13 -13
- package/docs/guide/de/pipeline/5-the-loop-builder.md +6 -2
- package/docs/guide/de/specs/2-add-spec-quick-mode.md +6 -1
- package/docs/guide/en/agents/2-profiles-and-the-balanced-default.md +7 -1
- package/docs/guide/en/agents/4-custom-agents-catalog.md +17 -4
- package/docs/guide/en/getting-started/1-what-is-specrails.md +2 -1
- package/docs/guide/en/getting-started/2-installing-and-first-run.md +2 -1
- package/docs/guide/en/getting-started/4-the-dashboard-tour.md +5 -5
- package/docs/guide/en/insights/3-code-explorer.md +5 -0
- package/docs/guide/en/integrations/1-ai-providers.md +63 -22
- package/docs/guide/en/integrations/2-plugins.md +3 -3
- package/docs/guide/en/integrations/6-agent-chat.md +14 -2
- package/docs/guide/en/pipeline/1-rails-and-jobs.md +19 -7
- package/docs/guide/en/pipeline/2-the-job-detail-view.md +3 -1
- package/docs/guide/en/pipeline/3-batch-implement-and-multi-feature.md +1 -1
- package/docs/guide/en/pipeline/4-picking-an-engine-per-rail.md +25 -11
- package/docs/guide/en/pipeline/5-the-loop-builder.md +7 -2
- package/docs/guide/en/specs/2-add-spec-quick-mode.md +10 -1
- package/docs/guide/es/agents/2-profiles-and-the-balanced-default.md +5 -1
- package/docs/guide/es/agents/4-custom-agents-catalog.md +7 -4
- package/docs/guide/es/getting-started/1-what-is-specrails.md +1 -0
- package/docs/guide/es/getting-started/2-installing-and-first-run.md +1 -0
- package/docs/guide/es/getting-started/4-the-dashboard-tour.md +4 -4
- package/docs/guide/es/integrations/1-ai-providers.md +30 -18
- package/docs/guide/es/integrations/2-plugins.md +3 -3
- package/docs/guide/es/integrations/6-agent-chat.md +8 -1
- package/docs/guide/es/pipeline/1-rails-and-jobs.md +9 -6
- package/docs/guide/es/pipeline/2-the-job-detail-view.md +3 -1
- package/docs/guide/es/pipeline/3-batch-implement-and-multi-feature.md +1 -1
- package/docs/guide/es/pipeline/4-picking-an-engine-per-rail.md +15 -13
- package/docs/guide/es/pipeline/5-the-loop-builder.md +6 -2
- package/docs/guide/es/specs/2-add-spec-quick-mode.md +6 -1
- package/docs/guide/fr/agents/2-profiles-and-the-balanced-default.md +5 -1
- package/docs/guide/fr/agents/4-custom-agents-catalog.md +7 -4
- package/docs/guide/fr/getting-started/1-what-is-specrails.md +1 -0
- package/docs/guide/fr/getting-started/2-installing-and-first-run.md +1 -0
- package/docs/guide/fr/getting-started/4-the-dashboard-tour.md +4 -4
- package/docs/guide/fr/integrations/1-ai-providers.md +29 -18
- package/docs/guide/fr/integrations/2-plugins.md +3 -3
- package/docs/guide/fr/integrations/6-agent-chat.md +8 -1
- package/docs/guide/fr/pipeline/1-rails-and-jobs.md +9 -6
- package/docs/guide/fr/pipeline/2-the-job-detail-view.md +3 -1
- package/docs/guide/fr/pipeline/3-batch-implement-and-multi-feature.md +1 -1
- package/docs/guide/fr/pipeline/4-picking-an-engine-per-rail.md +15 -13
- package/docs/guide/fr/pipeline/5-the-loop-builder.md +6 -2
- package/docs/guide/fr/specs/2-add-spec-quick-mode.md +6 -1
- package/docs/guide/it/agents/2-profiles-and-the-balanced-default.md +5 -1
- package/docs/guide/it/agents/4-custom-agents-catalog.md +7 -4
- package/docs/guide/it/getting-started/1-what-is-specrails.md +1 -0
- package/docs/guide/it/getting-started/2-installing-and-first-run.md +1 -0
- package/docs/guide/it/getting-started/4-the-dashboard-tour.md +4 -4
- package/docs/guide/it/integrations/1-ai-providers.md +28 -18
- package/docs/guide/it/integrations/2-plugins.md +3 -3
- package/docs/guide/it/integrations/6-agent-chat.md +8 -1
- package/docs/guide/it/pipeline/1-rails-and-jobs.md +9 -6
- package/docs/guide/it/pipeline/2-the-job-detail-view.md +3 -1
- package/docs/guide/it/pipeline/3-batch-implement-and-multi-feature.md +1 -1
- package/docs/guide/it/pipeline/4-picking-an-engine-per-rail.md +13 -13
- package/docs/guide/it/pipeline/5-the-loop-builder.md +6 -2
- package/docs/guide/it/specs/2-add-spec-quick-mode.md +6 -1
- package/docs/guide/ja/agents/2-profiles-and-the-balanced-default.md +6 -1
- package/docs/guide/ja/agents/4-custom-agents-catalog.md +7 -4
- package/docs/guide/ja/getting-started/1-what-is-specrails.md +1 -0
- package/docs/guide/ja/getting-started/2-installing-and-first-run.md +1 -0
- package/docs/guide/ja/getting-started/4-the-dashboard-tour.md +4 -4
- package/docs/guide/ja/integrations/1-ai-providers.md +28 -18
- package/docs/guide/ja/integrations/2-plugins.md +3 -3
- package/docs/guide/ja/integrations/6-agent-chat.md +7 -1
- package/docs/guide/ja/pipeline/1-rails-and-jobs.md +9 -6
- package/docs/guide/ja/pipeline/2-the-job-detail-view.md +3 -1
- package/docs/guide/ja/pipeline/3-batch-implement-and-multi-feature.md +1 -1
- package/docs/guide/ja/pipeline/4-picking-an-engine-per-rail.md +14 -13
- package/docs/guide/ja/pipeline/5-the-loop-builder.md +6 -2
- package/docs/guide/ja/specs/2-add-spec-quick-mode.md +6 -1
- package/docs/guide/pt/agents/2-profiles-and-the-balanced-default.md +5 -1
- package/docs/guide/pt/agents/4-custom-agents-catalog.md +7 -4
- package/docs/guide/pt/getting-started/1-what-is-specrails.md +1 -0
- package/docs/guide/pt/getting-started/2-installing-and-first-run.md +1 -0
- package/docs/guide/pt/getting-started/4-the-dashboard-tour.md +4 -4
- package/docs/guide/pt/integrations/1-ai-providers.md +28 -18
- package/docs/guide/pt/integrations/2-plugins.md +3 -3
- package/docs/guide/pt/integrations/6-agent-chat.md +7 -1
- package/docs/guide/pt/pipeline/1-rails-and-jobs.md +9 -6
- package/docs/guide/pt/pipeline/2-the-job-detail-view.md +2 -1
- package/docs/guide/pt/pipeline/3-batch-implement-and-multi-feature.md +1 -1
- package/docs/guide/pt/pipeline/4-picking-an-engine-per-rail.md +14 -13
- package/docs/guide/pt/pipeline/5-the-loop-builder.md +6 -2
- package/docs/guide/pt/specs/2-add-spec-quick-mode.md +6 -1
- package/docs/guide/zh/agents/2-profiles-and-the-balanced-default.md +4 -1
- package/docs/guide/zh/agents/4-custom-agents-catalog.md +7 -4
- package/docs/guide/zh/getting-started/1-what-is-specrails.md +1 -0
- package/docs/guide/zh/getting-started/2-installing-and-first-run.md +1 -0
- package/docs/guide/zh/getting-started/4-the-dashboard-tour.md +4 -4
- package/docs/guide/zh/integrations/1-ai-providers.md +26 -18
- package/docs/guide/zh/integrations/2-plugins.md +3 -3
- package/docs/guide/zh/integrations/6-agent-chat.md +6 -1
- package/docs/guide/zh/pipeline/1-rails-and-jobs.md +9 -6
- package/docs/guide/zh/pipeline/2-the-job-detail-view.md +2 -1
- package/docs/guide/zh/pipeline/3-batch-implement-and-multi-feature.md +1 -1
- package/docs/guide/zh/pipeline/4-picking-an-engine-per-rail.md +12 -12
- package/docs/guide/zh/pipeline/5-the-loop-builder.md +6 -2
- package/docs/guide/zh/specs/2-add-spec-quick-mode.md +6 -1
- package/docs/internals/README.md +4 -1
- package/docs/internals/adding-a-provider.md +32 -28
- package/docs/internals/api-reference.md +37 -13
- package/docs/internals/architecture.md +5 -5
- package/docs/internals/bundled-framework-build-plan.md +3 -3
- package/docs/internals/code-explorer-story.md +4 -0
- package/docs/internals/configuration.md +17 -5
- package/docs/internals/global-artifacts-alignment-contract.md +1 -1
- package/docs/internals/operations-runbook.md +1 -1
- package/docs/internals/profiles.md +37 -45
- package/docs/internals/project-builder.md +16 -0
- package/docs/kimi.md +291 -0
- package/docs/mcp.md +9 -2
- package/docs/platforms/macos.md +17 -7
- package/docs/platforms/windows.md +9 -4
- package/docs/running-pipelines.md +46 -12
- package/docs/terminal.md +1 -1
- package/docs/tracking-cost.md +25 -6
- package/package.json +4 -2
- package/server/dist/agent-chat-manager.js +74 -32
- package/server/dist/agent-chat-router.js +40 -17
- package/server/dist/agent-cwd-manager.js +14 -7
- package/server/dist/agent-generator.js +69 -85
- package/server/dist/agent-mcp-config.js +17 -11
- package/server/dist/agent-operator-prompt.js +29 -20
- package/server/dist/agent-refine-manager.js +58 -38
- package/server/dist/ai-invocations.js +65 -20
- package/server/dist/attachment-manager.js +49 -15
- package/server/dist/blueprint-chat-manager.js +41 -16
- package/server/dist/blueprint-router.js +40 -6
- package/server/dist/chat-manager.js +165 -89
- package/server/dist/code-explorer-router.js +26 -7
- package/server/dist/contract-refine-runner.js +146 -113
- package/server/dist/core-compat.js +57 -2
- package/server/dist/core-package.js +3 -3
- package/server/dist/core-update-manager.js +17 -1
- package/server/dist/db.js +60 -5
- package/server/dist/desktop-analytics.js +44 -6
- package/server/dist/desktop-router.js +127 -11
- package/server/dist/explore-cwd-manager.js +19 -3
- package/server/dist/feature-flags.js +1 -1
- package/server/dist/file-story-manager.js +3 -3
- package/server/dist/file-summary-generator.js +21 -15
- package/server/dist/file-summary-manager.js +6 -6
- package/server/dist/framework-manager.js +19 -2
- package/server/dist/framework-migration.js +27 -12
- package/server/dist/install-config-path.js +1 -1
- package/server/dist/interactive-job-session.js +8 -6
- package/server/dist/loop-command-catalog.js +27 -10
- package/server/dist/loop-executors.js +59 -27
- package/server/dist/loop-factory.js +2 -2
- package/server/dist/loop-run-manager.js +100 -39
- package/server/dist/loops-router.js +1 -1
- package/server/dist/mcp/guide.js +23 -16
- package/server/dist/mcp/tools/agents.js +47 -41
- package/server/dist/mcp/tools/analytics.js +2 -2
- package/server/dist/mcp/tools/loops.js +2 -2
- package/server/dist/mcp/tools/plugins.js +14 -9
- package/server/dist/mcp/tools/rails.js +12 -13
- package/server/dist/mcp/tools/support.js +1 -1
- package/server/dist/mobile/mobile-router.js +5 -1
- package/server/dist/offline-assemble.js +13 -1
- package/server/dist/path-resolver.js +2 -2
- package/server/dist/plugin-manager.js +391 -106
- package/server/dist/plugins/claude-md-mutation.js +5 -4
- package/server/dist/plugins/drift.js +32 -29
- package/server/dist/plugins/rail-integration.js +13 -2
- package/server/dist/plugins/serena/install.js +25 -17
- package/server/dist/plugins/serena/manifest.js +22 -5
- package/server/dist/plugins/serena/verify.js +46 -16
- package/server/dist/plugins-router.js +59 -8
- package/server/dist/profile-manager.js +148 -36
- package/server/dist/profiles-router.js +311 -82
- package/server/dist/project-registry.js +2 -2
- package/server/dist/project-router-chat.js +17 -8
- package/server/dist/project-router-helpers.js +93 -5
- package/server/dist/project-router-jobs.js +76 -12
- package/server/dist/project-router-loop-runs.js +42 -14
- package/server/dist/project-router-settings.js +31 -10
- package/server/dist/project-router-setup.js +4 -5
- package/server/dist/project-router-spending.js +15 -3
- package/server/dist/project-router-tickets.js +187 -181
- package/server/dist/project-router.js +1 -0
- package/server/dist/proposal-manager.js +125 -85
- package/server/dist/providers/claude-adapter.js +14 -0
- package/server/dist/providers/codex-adapter.js +20 -0
- package/server/dist/providers/gemini-adapter.js +14 -0
- package/server/dist/providers/index.js +18 -1
- package/server/dist/providers/kimi-adapter.js +361 -0
- package/server/dist/providers/kimi-skill-prompt.js +332 -0
- package/server/dist/providers/runtime.js +137 -0
- package/server/dist/queue-manager.js +103 -78
- package/server/dist/rail-isolated-launch.js +1 -1
- package/server/dist/rails-router.js +51 -38
- package/server/dist/result-event.js +5 -0
- package/server/dist/schemas/profile.v1.json +3 -4
- package/server/dist/setup-manager.js +222 -101
- package/server/dist/setup-prerequisites.js +7 -1
- package/server/dist/smash-runner.js +104 -57
- package/server/dist/spawn-lifecycle.js +18 -14
- package/server/dist/spec-launcher-manager.js +66 -54
- package/server/dist/spec-models.js +15 -6
- package/server/dist/spending.js +110 -17
- package/server/dist/util/cli-prompt.js +142 -5
- package/server/dist/util/stream-display.js +46 -0
- package/server/dist/workspace-manager.js +100 -37
- package/server/dist/worktree-manager.js +4 -0
- package/server/dist/worktree-overlay.js +12 -3
- package/client/dist/assets/AgentModeCodePane-BAYyFRmY.js +0 -2
- package/client/dist/assets/AgentsPage-DuyJuaFs.js +0 -86
- package/client/dist/assets/AnalyticsPage-BY7gtCx6.js +0 -1
- package/client/dist/assets/CodePage-vyQr40Vl.js +0 -2
- package/client/dist/assets/JobDetailPage-CU4FEnUC.js +0 -1
- package/client/dist/assets/LoopsPage-SqglnXlp.js +0 -1
- package/client/dist/assets/PluginsPage-B89S8o1a.js +0 -2
- package/client/dist/assets/TicketDetailModal-CI47Dq9E.js +0 -14
- package/client/dist/assets/addspec-BXjvkh5q.js +0 -1
- package/client/dist/assets/addspec-C4bwrmpi.js +0 -1
- package/client/dist/assets/addspec-CArHXUDM.js +0 -1
- package/client/dist/assets/addspec-DTKJcXiR.js +0 -1
- package/client/dist/assets/addspec-DbNBbrha.js +0 -1
- package/client/dist/assets/addspec-Rw8uVBC1.js +0 -1
- package/client/dist/assets/addspec-htHGZHOe.js +0 -1
- package/client/dist/assets/addspec-lr_LP6jk.js +0 -1
- package/client/dist/assets/agent-BABjRt0P.js +0 -1
- package/client/dist/assets/agent-BuUpgqVx.js +0 -1
- package/client/dist/assets/agent-CCDZesgU.js +0 -1
- package/client/dist/assets/agent-CVn64zWH.js +0 -1
- package/client/dist/assets/agent-CWeOny0E.js +0 -1
- package/client/dist/assets/agent-DOysmad_.js +0 -1
- package/client/dist/assets/agent-DSsjTBhn.js +0 -1
- package/client/dist/assets/agent-DlZMxfM9.js +0 -1
- package/client/dist/assets/agents-6ZOJXWVk.js +0 -1
- package/client/dist/assets/agents-BZ0XQKjg.js +0 -1
- package/client/dist/assets/agents-BqWklnHR.js +0 -1
- package/client/dist/assets/agents-Bz-thHkB.js +0 -1
- package/client/dist/assets/agents-CJclElx6.js +0 -1
- package/client/dist/assets/agents-D_l9L0VA.js +0 -1
- package/client/dist/assets/agents-DhG7mg6-.js +0 -1
- package/client/dist/assets/agents-u_C0jPB5.js +0 -1
- package/client/dist/assets/agentstudio-BF19hbXj.js +0 -1
- package/client/dist/assets/agentstudio-BIUe1Im2.js +0 -1
- package/client/dist/assets/agentstudio-BLGvxWBx.js +0 -1
- package/client/dist/assets/agentstudio-D9UKiWTj.js +0 -1
- package/client/dist/assets/agentstudio-Drs37nIM.js +0 -1
- package/client/dist/assets/agentstudio-nEnKkcXM.js +0 -1
- package/client/dist/assets/agentstudio-pyFcSBKy.js +0 -1
- package/client/dist/assets/agentstudio-zfTzQh3U.js +0 -1
- package/client/dist/assets/analytics-BC7mwR4s.js +0 -1
- package/client/dist/assets/analytics-BiNg8edP.js +0 -1
- package/client/dist/assets/analytics-C0s_T2GN.js +0 -1
- package/client/dist/assets/analytics-CdsAPAwZ.js +0 -1
- package/client/dist/assets/analytics-Cr1_q-lC.js +0 -1
- package/client/dist/assets/analytics-DZ8Aoq3I.js +0 -1
- package/client/dist/assets/analytics-IEsKZvpW.js +0 -1
- package/client/dist/assets/analytics-SRPf84OT.js +0 -1
- package/client/dist/assets/builder-BH8Fua-g.js +0 -1
- package/client/dist/assets/builder-BoV7DgKd.js +0 -1
- package/client/dist/assets/builder-Cc_Lf79C.js +0 -1
- package/client/dist/assets/builder-CwZ7Bme2.js +0 -1
- package/client/dist/assets/builder-CxW-JFsR.js +0 -1
- package/client/dist/assets/builder-D94lrV7x.js +0 -1
- package/client/dist/assets/builder-cqHpCyGa.js +0 -1
- package/client/dist/assets/code-76gS0IdL.js +0 -1
- package/client/dist/assets/code-BDXEM4ml.js +0 -1
- package/client/dist/assets/code-C1VwxlML.js +0 -1
- package/client/dist/assets/code-CnMZyJpr.js +0 -1
- package/client/dist/assets/code-D20ef9Cf.js +0 -1
- package/client/dist/assets/code-DdOXaWRY.js +0 -1
- package/client/dist/assets/code-Duohuf9l.js +0 -1
- package/client/dist/assets/code-geHmknB9.js +0 -1
- package/client/dist/assets/format-command-Dfa1o2d-.js +0 -1
- package/client/dist/assets/index-Dh9i4CnN.css +0 -2
- package/client/dist/assets/index-F9r8mWP_.js +0 -76
- package/client/dist/assets/jobs-BCtGfgUA.js +0 -1
- package/client/dist/assets/jobs-BHR_EnDI.js +0 -1
- package/client/dist/assets/jobs-BMbZJjJJ.js +0 -1
- package/client/dist/assets/jobs-DzSIR8V6.js +0 -1
- package/client/dist/assets/nav-BRJBxaGt.js +0 -1
- package/client/dist/assets/nav-CAGKv3_F.js +0 -1
- package/client/dist/assets/nav-CNskRJKQ.js +0 -1
- package/client/dist/assets/nav-DY93irBL.js +0 -1
- package/client/dist/assets/nav-DhjvYgqt.js +0 -1
- package/client/dist/assets/nav-Gb-r4wop.js +0 -1
- package/client/dist/assets/nav-TvumAFD2.js +0 -1
- package/client/dist/assets/nav-myFaXRHD.js +0 -1
- package/client/dist/assets/settings-B0ypw9uw.js +0 -1
- package/client/dist/assets/settings-B9ilOSYO.js +0 -1
- package/client/dist/assets/settings-BqlWHRHA.js +0 -1
- package/client/dist/assets/settings-D8dlqt4d.js +0 -1
- package/client/dist/assets/settings-DAZqjX2a.js +0 -1
- package/client/dist/assets/settings-DRh39v1S.js +0 -1
- package/client/dist/assets/settings-Mj1OJbfd.js +0 -1
- package/client/dist/assets/settings-lRReaSYm.js +0 -1
- package/client/dist/assets/setup-3832BJCo.js +0 -1
- package/client/dist/assets/setup-B8J-gECe.js +0 -1
- package/client/dist/assets/setup-BCIOxVsc.js +0 -1
- package/client/dist/assets/setup-BciLj_tU.js +0 -1
- package/client/dist/assets/setup-CTkE3cfh.js +0 -1
- package/client/dist/assets/setup-ajB4rYm-.js +0 -1
- 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** –
|
|
30
|
-
- **Agenten** –
|
|
31
|
-
- **Code** – ein schreibgeschützter Datei-Browser mit KI-Zusammenfassungen in einfacher Sprache
|
|
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
|
-
>
|
|
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.
|
|
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
|
|
7
|
+
## Die vier Anbieter
|
|
6
8
|
|
|
7
9
|
| Anbieter | CLI | Hersteller | Hinweise |
|
|
8
10
|
|---|---|---|---|
|
|
9
|
-
| **Claude** | `claude` | Anthropic |
|
|
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
|
|
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
|
-
- **
|
|
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** —
|
|
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
|
-
##
|
|
48
|
+
## Unterschiede der Fähigkeiten
|
|
42
49
|
|
|
43
|
-
|
|
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
|
-
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
-
|
|
49
|
-
|
|
50
|
-
|
|
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
|
-
|
|
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.**
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
39
|
-
| **Engine-Auswahl** | Welcher
|
|
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.
|
|
50
|
+
| **Freestyle** | Freestyle | Claude oder Kimi implementiert jede Spec eigenständig und **umgeht** dabei die Pipeline. |
|
|
51
51
|
|
|
52
|
-
Freestyle
|
|
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
|
-
|
|
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
|
|
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
|
-
- **
|
|
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) —
|
|
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
|
|
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 **
|
|
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
|
|
24
|
+
Alle vier führen **Implement** und **Batch** aus:
|
|
24
25
|
|
|
25
26
|
| Engine | Greif dazu, wenn… | Hinweise |
|
|
26
27
|
|--------|--------------------|-------|
|
|
27
|
-
| **Claude** | Du
|
|
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
|
-
###
|
|
33
|
+
### Fähigkeitsunterschiede
|
|
32
34
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
-
|
|
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
|
-
- **
|
|
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**
|
|
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.*
|
|
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** –
|
|
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
|
|
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
|
|
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
|
|
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`
|
|
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.
|
|
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** —
|
|
30
|
-
- **Agents** —
|
|
31
|
-
- **Code** — a read-only file browser
|
|
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
|
-
>
|
|
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.
|