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
|
@@ -1,16 +1,20 @@
|
|
|
1
|
-
# AI プロバイダー(Claude、Codex、Gemini)
|
|
1
|
+
# AI プロバイダー(Claude、Codex、Gemini、Kimi)
|
|
2
2
|
|
|
3
|
-
Specrails は特定の AI
|
|
3
|
+
Specrails は特定の AI に縛られません。Claude、Codex、Gemini、Kimi
|
|
4
|
+
はファーストクラスのプロバイダーで、各画面には必要な capability
|
|
5
|
+
を満たすエンジンだけが表示されます。
|
|
4
6
|
|
|
5
|
-
##
|
|
7
|
+
## 4 つのプロバイダー
|
|
6
8
|
|
|
7
9
|
| プロバイダー | CLI | 提供元 | 備考 |
|
|
8
10
|
|---|---|---|---|
|
|
9
|
-
| **Claude** | `claude` | Anthropic |
|
|
11
|
+
| **Claude** | `claude` | Anthropic | ネイティブコストと永続的な対話 transport。 |
|
|
10
12
|
| **Codex** | `codex` | OpenAI | codex `0.128.0+` が必要です。MCP サーバーはグローバルな `~/.codex/config.toml` から読み込みます。 |
|
|
11
13
|
| **Gemini** | `gemini` | Google | gemini `0.11.0+` が必要です。ネイティブのテレメトリと `GEMINI.md` 指示ファイルを使用します。 |
|
|
14
|
+
| **Kimi Code** | `kimi` | Moonshot AI | Kimi `0.27.0+` が必要です。Desktop は外部 CLI を `-p` で起動し、server をインストール・起動しません。 |
|
|
12
15
|
|
|
13
|
-
|
|
16
|
+
4 つとも**デフォルトで有効**です。CLI が `PATH` にあれば表示されます。
|
|
17
|
+
Kimi は `kimi --version` を確認し、`kimi login` を実行してください。
|
|
14
18
|
|
|
15
19
|
## プロジェクトに 1 つのプロバイダーをインストールする
|
|
16
20
|
|
|
@@ -25,40 +29,46 @@ Specrails は特定の AI に縛られません。アプリの中で AI とや
|
|
|
25
29
|
マルチプロバイダーのプロジェクトについて、知っておくとよいことがいくつかあります。
|
|
26
30
|
|
|
27
31
|
- **プロバイダーが 1 つなら、これまでとまったく同じ挙動です。** プロジェクトにプロバイダーが 1 つしかなければ、プロバイダーの選択 UI はどこにも表示されません — アプリはすっきりシンプルなままです。
|
|
28
|
-
-
|
|
32
|
+
- **UI は capability に従います。** Claude と Kimi はプロバイダー別の
|
|
33
|
+
profile に対応し、Codex と Gemini は legacy mode で実行します。
|
|
29
34
|
- **プロバイダーの選択は作成後に固定されます。** このバージョンでは、プロジェクトを追加するときにプロバイダーを選び、あとから設定で変更することはできません。別の組み合わせが必要になったら、新しいプロジェクトを作成してください。
|
|
30
35
|
|
|
31
36
|
## 呼び出しごとにプロバイダーを選ぶ
|
|
32
37
|
|
|
33
38
|
マルチプロバイダーのプロジェクトの真価は、グローバル設定を一切変えずに、タスクごとに最適な AI を選べることにあります。AI が動くところには、小さなプロバイダー選択 UI が現れます(プロジェクトに複数のプロバイダーがあるときだけです)。
|
|
34
39
|
|
|
35
|
-
- **Add Spec** —
|
|
40
|
+
- **Add Spec** — Explore は Kimi に対応します。Quick Spec は安全な
|
|
41
|
+
pure-output 境界を持つプロバイダーだけを表示するため、Kimi は除外されます。
|
|
36
42
|
- **レールのヘッダー** — その特定のレールを起動する前に、使うエンジンを選べます。
|
|
37
43
|
- **ターミナル** — 「Open AI CLI」(Sparkles)ボタンを押すとプロバイダーメニューが開き、そのプロジェクトのディレクトリで任意のインストール済み CLI に入れます。
|
|
38
44
|
|
|
39
45
|
選んだエンジンはプロジェクトごとに記憶され、デフォルトはプライマリプロバイダーです。毎回選び直す必要はありません。
|
|
40
46
|
|
|
41
|
-
##
|
|
47
|
+
## Capability の違い
|
|
42
48
|
|
|
43
|
-
|
|
49
|
+
Kimi は Project/Agent Chat、Explore/proposal、Quick Launcher
|
|
50
|
+
(`/opsx:ff`)、rail、Freestyle、Decider のない loop、profile/手動 role、
|
|
51
|
+
MCP、Serena、terminal、attachment に対応します。
|
|
44
52
|
|
|
45
|
-
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
53
|
+
`kimi -p` は tool を自動承認し、no-tools/read-only 境界を強制できません。
|
|
54
|
+
そのため Quick Spec、AI Edit、Contract Refine、SMASH/Re-SMASH、
|
|
55
|
+
Project Builder の blueprint/milestone 生成、Loop Decider、file summary/
|
|
56
|
+
construction story、Agent Studio automation は spawn 前に拒否されます。
|
|
57
|
+
AI auto-title は deterministic fallback を使います。詳細は
|
|
58
|
+
[Kimi guide](../../../kimi.md) を参照してください。
|
|
51
59
|
|
|
52
60
|
## プロバイダー横断のコスト追跡
|
|
53
61
|
|
|
54
|
-
**Analytics**
|
|
62
|
+
**Analytics** は実際に起動した invocation を記録します。Claude は
|
|
63
|
+
cost を報告し、Codex/Gemini は推定値です。Kimi は authoritative な
|
|
64
|
+
token/USD cost を報告しないため、その項目は空欄です。
|
|
55
65
|
|
|
56
66
|
## トラブルシューティング
|
|
57
67
|
|
|
58
|
-
- **インストールしたプロバイダーが表示されない。**
|
|
68
|
+
- **インストールしたプロバイダーが表示されない。** `claude --version` / `codex --version` / `gemini --version` / `kimi --version` を確認してください。
|
|
59
69
|
- **チャットで Codex の MCP サーバーが読み込まれない。** Codex は MCP サーバーをグローバルな `~/.codex/config.toml` から読み込みます — `codex mcp add` でそこに登録してください。
|
|
60
70
|
- **緊急時の無効化。** プロバイダーは環境変数(`SPECRAILS_CODEX_BETA=0` または `SPECRAILS_GEMINI_BETA=0`)でアプリ全体から無効にできます。これはプロバイダーを*選択肢*から隠すだけで、めったに必要にはなりません。
|
|
61
71
|
|
|
62
72
|
## 関連項目
|
|
63
73
|
|
|
64
|
-
|
|
74
|
+
[Kimi guide](../../../kimi.md)、Codex guide、Gemini guide を参照してください。
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
3. プラグインをクリックして**インストールのプレビュー**を確認します — 何かが起こる前に、どのファイルが変更されるのかを正確に確認できます。
|
|
22
22
|
4. **Install** をクリックします。セットアップの進行状況がリアルタイムで表示されます。
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
内部のインストールは*外科的かつ追加的*です。選択 provider の native MCP 設定(Claude の一部では `.claude/agents/` の fragment も)に自分の entry だけを加えます。設定全体は書き換えず、検証に失敗すれば clean に rollback します。
|
|
25
25
|
|
|
26
26
|
## インストール済みプラグインを管理する
|
|
27
27
|
|
|
@@ -37,8 +37,8 @@
|
|
|
37
37
|
|
|
38
38
|
## プロバイダーに関する注意
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
Plugin は provider-aware です。Serena は Claude の `.mcp.json`、project ごとに分離した `CODEX_HOME` での `codex mcp add`、Kimi の `.kimi-code/mcp.json` をサポートします。Manifest が provider を宣言したときだけ表示されるため、Gemini には Serena は提供されません。Jira card は provider 非依存です。
|
|
41
41
|
|
|
42
42
|
## 予約ファイル
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
Plugin は provider の native MCP 設定、`.specrails/plugins/` の state、必要な Claude plugin の `.claude/agents/custom-<plugin>.md` だけを管理します。Kimi entry は `.kimi-code/mcp.json` に置かれ、Kimi に Claude-only fragment を書いたり設定を無造作に上書きしたりしません。
|
|
@@ -22,7 +22,13 @@ Agent Chat は組み込みの **Specrails MCP サーバー**を通じてアプ
|
|
|
22
22
|
|
|
23
23
|
## プロバイダーとモデル
|
|
24
24
|
|
|
25
|
-
メッセージ欄のすぐ上で、**プロバイダー**(Claude、Codex、Gemini
|
|
25
|
+
メッセージ欄のすぐ上で、**プロバイダー**(Claude、Codex、Gemini、
|
|
26
|
+
Kimi)とその**モデル**を選びます。切り替えると別 session が開始します。
|
|
27
|
+
|
|
28
|
+
Kimi では level は Specrails MCP tool を制限しますが、`kimi -p` 自体を
|
|
29
|
+
sandbox にはしません。native tool は自動承認されます。安全でない
|
|
30
|
+
pure-output action は spawn 前に拒否されます。詳細は
|
|
31
|
+
[Kimi matrix](../../../kimi.md) を参照してください。
|
|
26
32
|
|
|
27
33
|
## 権限レベル——手綱はあなたが握る
|
|
28
34
|
|
|
@@ -35,8 +35,8 @@ SpecsBoard(左) レール(右)
|
|
|
35
35
|
| **ステータスピル** | `idle`、`running`、`failed` のいずれか。「completed」という別ステータスはありません — ジョブがきれいに完了すると、レールは `idle` に戻ります。 |
|
|
36
36
|
| **スペック一覧** | このレールに割り当てられた ID。さらにドラッグして追加したり、ドラッグして外したりできます。 |
|
|
37
37
|
| **Loop ピッカー** | このレールが実行する Loop — 組み込み(`Implement` / `Batch` / `Freestyle`)かカスタム Loop。下の表を参照してください。レールごとに保持されます。 |
|
|
38
|
-
| **プロファイルピッカー** |
|
|
39
|
-
| **エンジンセレクター** |
|
|
38
|
+
| **プロファイルピッカー** | 実行する provider profile(Claude/Kimi rail)。 |
|
|
39
|
+
| **エンジンセレクター** | rail を実行する provider — Claude、Codex、Gemini、Kimi。 |
|
|
40
40
|
| **▶ Play / ■ Stop** | 開始またはキャンセル。 |
|
|
41
41
|
|
|
42
42
|
### レールが実行するもの: Loop
|
|
@@ -47,9 +47,11 @@ SpecsBoard(左) レール(右)
|
|
|
47
47
|
|------|---------|--------------|
|
|
48
48
|
| **Implement** | `/specrails:implement` | レール上のすべてのスペックをまとめた 1 つのジョブ。Architect → Developer → Reviewer → Ship のフルパイプラインを実行します。日常的に使うデフォルトです。 |
|
|
49
49
|
| **Batch** | `/specrails:batch-implement` | レール上のスペックを、依存関係を考慮したウェーブで順番に処理する 1 つのジョブ。関連する複数のスペックに最適です。 |
|
|
50
|
-
| **Freestyle** | Freestyle | Claude
|
|
50
|
+
| **Freestyle** | Freestyle | Claude または Kimi が pipeline を**バイパス**して自律的に実装します。 |
|
|
51
51
|
|
|
52
|
-
Freestyle
|
|
52
|
+
Freestyle は provider の native tool/model を使います。Claude は
|
|
53
|
+
persistent interactive transport、Kimi は persistent stdin のない agentic
|
|
54
|
+
`kimi -p` process を使います。
|
|
53
55
|
|
|
54
56
|
組み込みのほかにも、**自分だけの Loop を作る** ことができます — verify → fix → verify のサイクルを目標が達成されるまで繰り返したり、AI ステップの間にシェルコマンドを連ねたり、さらにいろいろなことができます。そうしたカスタム Loop は同じ Loop ピッカーに表示されます。それが次の大きなアイデア、[Loop Builder](the-loop-builder) です。
|
|
55
57
|
|
|
@@ -81,7 +83,8 @@ git のないプロジェクトでは worktree 隔離も PR 継続も使えま
|
|
|
81
83
|
|
|
82
84
|
## レールが起動しないとき
|
|
83
85
|
|
|
84
|
-
|
|
86
|
+
選択した CLI がなければ spawn 前に失敗します。Kimi は `kimi`
|
|
87
|
+
0.27+ を install/login してください。Desktop は server を起動しません。
|
|
85
88
|
|
|
86
89
|
## すべてを止める
|
|
87
90
|
|
|
@@ -96,4 +99,4 @@ CLI がマシンにインストールされていないエンジンを選ぶと
|
|
|
96
99
|
- [Loop Builder](the-loop-builder) — レールが実行するもの、そして自分だけの Loop を作る方法。
|
|
97
100
|
- [ジョブ詳細ビュー](the-job-detail-view) — フェーズ、ライブメトリクス、チケットカード。
|
|
98
101
|
- [バッチ実装とマルチフィーチャー](batch-implement-and-multi-feature) — 複数のスペックをまとめて実行する。
|
|
99
|
-
- [レールごとのエンジン選択](picking-an-engine-per-rail) — Claude / Codex / Gemini
|
|
102
|
+
- [レールごとのエンジン選択](picking-an-engine-per-rail) — Claude / Codex / Gemini / Kimi。
|
|
@@ -94,7 +94,9 @@ Architect ──► Developer ──► Reviewer ──► Ship
|
|
|
94
94
|
- **合計の行は本物です。** コンポーザーはライブの `N ターン · $X` サマリーを表示します。完了した各ターンの実際の使用量を合算したもので、このページの「推測しない」という約束と一貫しています。
|
|
95
95
|
- **セッションの終わり方は 2 通り。** ほとんどのジョブは**自分で締めくくります**。キューにメッセージが残っていない状態でターンが終わった瞬間、セッションは自ら落ち着き、ジョブは完了します — あなたのメッセージは任意の舵取りであって、義務ではありません。控えめな**今すぐ締めくくる**アクションで、それまでの成果を保ったまま早めに終わらせることもできます。**Freestyle** ジョブだけは例外です。ターンの合間で待機し、あなたが **Finalize** をクリックするまで開き続けます — あなたが閉じる往復のセッション、それが Freestyle の設計です。
|
|
96
96
|
- **Loop 実行では、メッセージはアクティブなステップに届きます。** 組み込みでもカスタムでも、Loop 上ではメッセージは**いままさに実行中の AI ステップ**に届きます。ステップの合間(Loop Decider が考えている間や、シェルコマンドの実行中)には、コンポーザーは*「次のステップを待っています…」*という短い待機状態を表示します — 下書きのテキストは保持され、次の AI ステップが始まると送信が再び有効になります。**このステップを確定**すると現在のステップを早めに終わらせ、その成果とともに Loop を先へ進められます。
|
|
97
|
-
-
|
|
97
|
+
- **persistent interaction は Claude のみです。** Codex、Gemini、Kimi は
|
|
98
|
+
one-shot です。Kimi chat は resume hint 後に新しい `kimi --session=<id> -p` で
|
|
99
|
+
resume します。
|
|
98
100
|
|
|
99
101
|
## 診断のエクスポート
|
|
100
102
|
|
|
@@ -81,4 +81,4 @@ Batch モードは、関連するスペックを*順番に処理する*一番す
|
|
|
81
81
|
|
|
82
82
|
- [レールとジョブ](rails-and-jobs) — キューモデルを掘り下げて。
|
|
83
83
|
- [ジョブ詳細ビュー](the-job-detail-view) — バッチ実行をライブで見守る。
|
|
84
|
-
- [レールごとのエンジン選択](picking-an-engine-per-rail) — Batch
|
|
84
|
+
- [レールごとのエンジン選択](picking-an-engine-per-rail) — Batch はすべてのプロバイダーで動き、Freestyle は Claude と Kimi で利用できます。
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# レールごとのエンジン選択
|
|
2
2
|
|
|
3
|
-
Specrails desktop は **Claude Code**、**Codex CLI**、**Gemini CLI
|
|
3
|
+
Specrails desktop は **Claude Code**、**Codex CLI**、**Gemini CLI**、
|
|
4
|
+
**Kimi Code** を一級の engine として扱います。compatible な組み合わせを
|
|
5
|
+
install できます。
|
|
4
6
|
|
|
5
7
|
## セレクターが現れるとき
|
|
6
8
|
|
|
@@ -13,30 +15,27 @@ Specrails desktop は **Claude Code**、**Codex CLI**、**Gemini CLI** をいず
|
|
|
13
15
|
## エンジンの選び方
|
|
14
16
|
|
|
15
17
|
1. レールのエンジンセレクターが表示されていることを確認します(プロジェクトにプロバイダーが 2 つ以上)。
|
|
16
|
-
2.
|
|
18
|
+
2. **Claude**、**Codex**、**Gemini**、**Kimi** を選びます。
|
|
17
19
|
3. **▶ Play** でレールを起動します。
|
|
18
20
|
|
|
19
21
|
選んだエンジンが、そのレールのパイプラインの全フェーズを実行します。選んだエンジンの CLI がインストールされていない場合、起動は即座に失敗します — 何も生成されません。足りない CLI をインストールして、もう一度試してください。
|
|
20
22
|
|
|
21
23
|
## それぞれのエンジンが得意なこと
|
|
22
24
|
|
|
23
|
-
|
|
25
|
+
4 つすべてが **Implement** と **Batch** を実行します。
|
|
24
26
|
|
|
25
27
|
| エンジン | こんなときに | 補足 |
|
|
26
28
|
|--------|--------------------|-------|
|
|
27
|
-
| **Claude** |
|
|
29
|
+
| **Claude** | native cost、persistent interaction、strict tool policy が必要。 | Profile、Freestyle、structured transform。 |
|
|
28
30
|
| **Codex** | OpenAI Codex CLI を好むとき、あるいはプロバイダー間で実装を比べたいとき。 | `codex` ≥ 0.128.0。ネイティブのコスト報告なし — アプリが料金表からコストを補います。プロファイルは適用されません。 |
|
|
29
31
|
| **Gemini** | Google の Gemini CLI を使いたいとき、ネイティブのテレメトリがほしいとき、あるいは日常的なスペックを安く実行したいとき。 | `gemini` ≥ 0.11.0(`GEMINI_API_KEY` を設定)。ネイティブの OTLP テレメトリ。プロファイルは適用されません。 |
|
|
32
|
+
| **Kimi** | Implement、Batch、Freestyle、Decider のない loop に agentic Kimi を使う。 | 外部 `kimi` ≥ 0.27.0。Profile/role、effort は K3 のみ。token/cost は unavailable。 |
|
|
30
33
|
|
|
31
|
-
###
|
|
34
|
+
### Capability の違い
|
|
32
35
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
- **Freestyle** — 自律的でパイプラインをバイパスするモード。`Freestyle` セグメントと、その Haiku/Sonnet/Opus のモデルピッカーは、レールのエンジンが Claude のときだけ表示されます。
|
|
37
|
-
- **Contract Layer と SMASH** — Claude 専用のスペック改良機能(これらはレールのオプションではなく Add-Spec のオプションですが、同じ制約が当てはまります)。
|
|
38
|
-
|
|
39
|
-
プロジェクトが複数のエンジンを混在させると、右サイドバーにはインストール済みの **すべての** プロバイダーがサポートするセクションだけが表示されます — つまり、Claude 以外のプロバイダーを含むプロジェクトでは **エージェント** セクションがまるごと消えます。プロファイルは Claude 固有のものだからです。
|
|
36
|
+
Claude/Kimi は Profile と Freestyle、Codex/Gemini は legacy。Kimi は
|
|
37
|
+
Loop Decider と [Kimi guide](../../../kimi.md) の pure-output transform
|
|
38
|
+
を拒否します。Claude/Kimi Profile は分離されます。
|
|
40
39
|
|
|
41
40
|
## 実用的なワークフロー
|
|
42
41
|
|
|
@@ -49,12 +48,14 @@ Specrails desktop は **Claude Code**、**Codex CLI**、**Gemini CLI** をいず
|
|
|
49
48
|
## 覚えておきたいこと
|
|
50
49
|
|
|
51
50
|
- **プロバイダーの選択はプロジェクト作成後は変更できません**(v1)。インストールするプロバイダーはプロジェクトを追加するときに選びます。あとから追加・削除する設定トグルはありません。
|
|
52
|
-
-
|
|
51
|
+
- **available metrics は記録されます。** Kimi は authoritative token/
|
|
52
|
+
USD cost を報告しないため空欄です。
|
|
53
53
|
- **ターミナルの「Open AI CLI」ボタン** も、複数プロバイダーのプロジェクトではプロバイダーピッカーを表示します。自分の手で CLI を動かしたいときにどうぞ。
|
|
54
54
|
|
|
55
55
|
## 次に読むもの
|
|
56
56
|
|
|
57
57
|
- [Codex を使う](../integrations/using-codex) — インストールとサインイン。
|
|
58
58
|
- [Gemini を使う](../integrations/using-gemini) — インストール、`GEMINI_API_KEY`、テレメトリ。
|
|
59
|
+
- [Kimi を使う](../../../kimi.md) — install と capability matrix。
|
|
59
60
|
- [レールとジョブ](rails-and-jobs) — キューと起動の流れ。
|
|
60
61
|
- [コストの追跡](../analytics/tracking-cost) — エンジンごとのコスト内訳。
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
|
|
18
18
|
- Loop は **Loops** セクション(左サイドバー、プロジェクトの隣)にあります — これらは **グローバル** で、すべてのプロジェクトで共有されます。
|
|
19
19
|
- レールはヘッダー(Loop ピッカー)で **Loop を選び**、Play を押すとそれを実行します。
|
|
20
|
-
-
|
|
20
|
+
- provider、model、compatible effort は **rail** が決めます。compatible な Loop は Claude、Codex、Gemini、Kimi で実行できます。
|
|
21
21
|
|
|
22
22
|
つまり、Loop を一度作ってしまえば、どのプロジェクトのどのレールでもそれを選べます。
|
|
23
23
|
|
|
@@ -41,6 +41,10 @@ Loop は **ノード** を **エッジ**(矢印)でつないだグラフで
|
|
|
41
41
|
|
|
42
42
|
エッジはステップを順番につなぎます。**Loop Decider** には **continue** と **stop** という 2 つのラベル付き出力があるので、「まだ終わっていない」を作業へ配線して戻し、「終わった」を End へ配線して出します。
|
|
43
43
|
|
|
44
|
+
> **Kimi は AI/shell step の loop に対応しますが、Loop Decider には
|
|
45
|
+
> 対応しません。** verdict は pure-output で、`kimi -p` は no-tools
|
|
46
|
+
> 境界を強制できません。run は最初の step より前に拒否されます。
|
|
47
|
+
|
|
44
48
|
### ステップのテキストを書く
|
|
45
49
|
|
|
46
50
|
AI Step や Decider の中では、次のものを参照できます。
|
|
@@ -57,7 +61,7 @@ AI Step や Decider の中では、次のものを参照できます。
|
|
|
57
61
|
|-------|--------------|
|
|
58
62
|
| **Max iterations** | Decider が判断にかかわらずループバックできる回数のハードキャップ。 |
|
|
59
63
|
| **Timeout (min)** | 実行全体に対する実時間(壁時計)の上限。 |
|
|
60
|
-
| **Max cost ($)** | *任意。*
|
|
64
|
+
| **Max cost ($)** | *任意。* Claude は cost、Codex/Gemini は estimate。Kimi は authoritative USD cost を報告しません。 |
|
|
61
65
|
|
|
62
66
|
## 自信を持って組み立てる
|
|
63
67
|
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
クイックモードは、やりたいことがすでにわかっているときのためのモードです。アイデアを入力すれば AI がスペック全文を書き上げ、**Todo** としてボードに着地します。やり取りは不要。記述したら、あとは進むだけです。
|
|
4
4
|
|
|
5
|
+
> **Kimi は Quick Spec では利用できません。** `kimi -p` はこの
|
|
6
|
+
> pure-output 境界を強制できないため、spawn 前に拒否されます。Explore、
|
|
7
|
+
> Raw、または Quick Launcher(`/opsx:ff`)を使ってください。
|
|
8
|
+
|
|
5
9
|
## クイックモードでスペックを作成する
|
|
6
10
|
|
|
7
11
|
すばやくスペックを作成するには、次の手順で進めます。
|
|
@@ -19,7 +23,8 @@
|
|
|
19
23
|
|
|
20
24
|
**モデル** — デフォルトでは AI が手頃なモデルを選びます。より速いモデルやより高性能なモデルを使いたい場合は、モデルピッカーからスペックごとに上書きできます。
|
|
21
25
|
|
|
22
|
-
**エンジン** —
|
|
26
|
+
**エンジン** — セレクターには **compatible** なプロバイダーだけが
|
|
27
|
+
表示され、Quick Spec では Kimi は除外されます。
|
|
23
28
|
|
|
24
29
|
**コンテキスト** — クイックモードは通常 1 ターンで動きます。あなたの説明からスペックを書くだけなら、コードベースを読む必要がないからです。ただし、コンテキストスライダーを使えば、AI が参照できる材料を増やせます。
|
|
25
30
|
|
|
@@ -37,7 +37,11 @@ A seleção do perfil acontece mesmo onde lança — no **cabeçalho do rail**,
|
|
|
37
37
|
|
|
38
38
|
## Quando a secção Agentes está silenciosa
|
|
39
39
|
|
|
40
|
-
Os perfis são
|
|
40
|
+
Os perfis são separados por provider. Claude e Kimi suportam perfis/roles;
|
|
41
|
+
Codex e Gemini usam modo legacy. Em projetos mistos o mesmo nome não atravessa
|
|
42
|
+
Claude/Kimi. Kimi permite roles manuais, mas generation, smoke test e AI
|
|
43
|
+
Refine do Agent Studio são recusados antes do spawn. Kimi exige
|
|
44
|
+
`specrails-core` 4.12.0 ou mais recente.
|
|
41
45
|
|
|
42
46
|
## Para onde ir a seguir
|
|
43
47
|
|
|
@@ -11,21 +11,24 @@ Cada entrada do catálogo mostra para que serve o agente e o seu modelo predefin
|
|
|
11
11
|
|
|
12
12
|
## Adicionar um agente personalizado
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
Roles são assets nativos do provider: Claude usa
|
|
15
|
+
`.claude/agents/custom-<nome>.md`; Kimi usa
|
|
16
|
+
`.kimi-code/skills/custom-<nome>/SKILL.md`.
|
|
15
17
|
|
|
16
|
-
|
|
18
|
+
Quando o asset existe, aparece no catálogo desse provider e o seu id pode ser adicionado a um perfil do mesmo provider. `custom-docs` corresponde a `.claude/agents/custom-docs.md` em Claude ou `.kimi-code/skills/custom-docs/SKILL.md` em Kimi; ambos ficam separados.
|
|
17
19
|
|
|
18
20
|
Como vivem no seu repositório, os agentes personalizados são **ativos de equipa que se podem committar**: faça commit do ficheiro e toda a equipa fica com o agente. Isto espelha a ideia central de toda a secção Agentes —
|
|
19
21
|
|
|
20
22
|
> **As definições dos agentes são partilhadas (vivem no repositório e viajam com o `git`). A configuração dos modelos é por projeto (vive nos perfis).**
|
|
21
23
|
|
|
22
|
-
|
|
24
|
+
Core protege ambos os formatos. Kimi permite criação/edição manual e execução;
|
|
25
|
+
Generate, Test e AI Refine são recusados antes do spawn.
|
|
23
26
|
|
|
24
27
|
## Pôr um agente personalizado a trabalhar
|
|
25
28
|
|
|
26
29
|
O fluxo típico:
|
|
27
30
|
|
|
28
|
-
1.
|
|
31
|
+
1. Crie o asset Claude ou Skill Kimi nativo com instruções/modelo válidos.
|
|
29
32
|
2. Confirme que aparece em **Agentes → Catálogo** em Personalizados.
|
|
30
33
|
3. Em **Agentes → Perfis**, adicione o agente à cadeia de um perfil (substituindo opcionalmente o seu modelo para esse perfil).
|
|
31
34
|
4. Adicione uma regra de encaminhamento para que as tarefas com as tags certas cheguem até ele — ou confie na ordem da cadeia.
|
|
@@ -36,6 +36,7 @@ O specrails funciona com as principais CLIs de programação com IA:
|
|
|
36
36
|
- **Claude** (Claude Code)
|
|
37
37
|
- **Codex** (Codex CLI)
|
|
38
38
|
- **Gemini** (Gemini CLI)
|
|
39
|
+
- **Kimi** (Kimi Code)
|
|
39
40
|
|
|
40
41
|
Escolha aquela que já usa — ou instale mais do que uma e escolha por tarefa. Um projeto pode correr num único fornecedor ou em vários ao mesmo tempo, por isso nunca fica preso a um só.
|
|
41
42
|
|
|
@@ -23,6 +23,7 @@ A única coisa que o specrails não consegue incluir é a própria **CLI do forn
|
|
|
23
23
|
- **Claude Code**
|
|
24
24
|
- **Codex CLI**
|
|
25
25
|
- **Gemini CLI**
|
|
26
|
+
- **Kimi Code**
|
|
26
27
|
|
|
27
28
|
Instale aquela que planeia usar, inicie sessão nela uma vez a partir do seu terminal, e está tudo a postos. O specrails deteta automaticamente quais os fornecedores presentes.
|
|
28
29
|
|
|
@@ -26,13 +26,13 @@ A barra lateral direita é o seu painel de comutação para o projeto atual. Pas
|
|
|
26
26
|
|
|
27
27
|
- **Dashboard** — o quadro de specs e os rails (onde estava agora mesmo).
|
|
28
28
|
- **Jobs** — todas as execuções do pipeline deste projeto, passadas e presentes, com estado, duração e a possibilidade de aprofundar o detalhe e os logs de qualquer execução.
|
|
29
|
-
- **Analytics** —
|
|
30
|
-
- **Agentes** —
|
|
31
|
-
- **Code** — um explorador de ficheiros só de leitura com
|
|
29
|
+
- **Analytics** — invocações por dia, atividade, modelo e ticket. Claude comunica custo faturado, Codex/Gemini usam estimativas e Kimi deixa vazios os campos de tokens/custo USD indisponíveis.
|
|
30
|
+
- **Agentes** — perfis e catálogos de roles por provider para Claude e Kimi. Com Kimi, os roles são criados/editados manualmente; Generate, Test e AI Refine não estão disponíveis.
|
|
31
|
+
- **Code** — um explorador de ficheiros só de leitura com etiquetas dos ficheiros tocados pela IA. Os resumos em linguagem simples só aparecem com providers compatíveis e não estão disponíveis com Kimi.
|
|
32
32
|
- **Integrações** — extras opcionais, como ligar as suas specs a um quadro do **Jira** ou ativar ferramentas adicionais para a IA.
|
|
33
33
|
- **Definições** — opções por projeto (telemetria, orçamentos, configuração de fornecedores e muito mais).
|
|
34
34
|
|
|
35
|
-
>
|
|
35
|
+
> Secções e ações seguem as capacidades do provider efetivo. Por exemplo, os perfis funcionam com Claude e Kimi, mas as ações de IA do Agent Studio falham de forma fechada com Kimi.
|
|
36
36
|
|
|
37
37
|
## A barra de estado
|
|
38
38
|
|
|
@@ -1,16 +1,20 @@
|
|
|
1
|
-
# Providers de IA (Claude, Codex, Gemini)
|
|
1
|
+
# Providers de IA (Claude, Codex, Gemini, Kimi)
|
|
2
2
|
|
|
3
|
-
O Specrails não está preso a uma única IA.
|
|
3
|
+
O Specrails não está preso a uma única IA. Claude, Codex, Gemini e Kimi são
|
|
4
|
+
providers de primeira linha; cada superfície mostra apenas motores com as
|
|
5
|
+
capabilities exigidas pelo seu contrato.
|
|
4
6
|
|
|
5
|
-
## Os
|
|
7
|
+
## Os quatro providers
|
|
6
8
|
|
|
7
9
|
| Provider | CLI | Feito por | Notas |
|
|
8
10
|
|---|---|---|---|
|
|
9
|
-
| **Claude** | `claude` | Anthropic |
|
|
11
|
+
| **Claude** | `claude` | Anthropic | Custo nativo e transporte interativo persistente. |
|
|
10
12
|
| **Codex** | `codex` | OpenAI | Requer codex `0.128.0+`. Lê os seus servidores MCP a partir do `~/.codex/config.toml` global. |
|
|
11
13
|
| **Gemini** | `gemini` | Google | Requer gemini `0.11.0+`. Usa telemetria nativa e um ficheiro de instruções `GEMINI.md`. |
|
|
14
|
+
| **Kimi Code** | `kimi` | Moonshot AI | Requer Kimi `0.27.0+`. O Desktop lança o CLI externo com `-p`; não instala nem inicia um servidor. |
|
|
12
15
|
|
|
13
|
-
Os
|
|
16
|
+
Os quatro estão **ativados por omissão**. O provider aparece quando o CLI está
|
|
17
|
+
no `PATH`; para Kimi, confirme `kimi --version` e execute `kimi login`.
|
|
14
18
|
|
|
15
19
|
## Instalar um provider para um projeto
|
|
16
20
|
|
|
@@ -25,40 +29,46 @@ Pode instalar **mais do que um** provider no mesmo projeto — por exemplo Claud
|
|
|
25
29
|
Algumas coisas que vale a pena saber sobre projetos multi-provider:
|
|
26
30
|
|
|
27
31
|
- **Com um só provider, tudo se comporta exatamente como antes.** Se um projeto tiver apenas um provider, nunca verá um seletor de provider em lado nenhum — a app mantém-se limpa e simples.
|
|
28
|
-
- **
|
|
32
|
+
- **As capabilities controlam a UI.** Claude e Kimi suportam perfis separados
|
|
33
|
+
por provider; Codex e Gemini usam modo legacy.
|
|
29
34
|
- **A escolha de providers fica fixada após a criação.** Nesta versão escolhe os seus providers quando adiciona o projeto e não podem ser alterados mais tarde nas Definições. Se precisar de uma combinação diferente, isso é um projeto novo.
|
|
30
35
|
|
|
31
36
|
## Escolher um provider a cada invocação
|
|
32
37
|
|
|
33
38
|
A grande vantagem de um projeto multi-provider é poder escolher a IA certa para cada tarefa — sem mexer em nenhuma definição global. Sempre que uma IA corre, aparece um pequeno seletor de provider (apenas quando o projeto tem mais do que um):
|
|
34
39
|
|
|
35
|
-
- **Adicionar Spec** —
|
|
40
|
+
- **Adicionar Spec** — Explore suporta Kimi; Quick Spec mostra apenas
|
|
41
|
+
providers com um limite pure-output seguro e exclui Kimi.
|
|
36
42
|
- **Cabeçalho do rail** — escolha o motor para esse rail específico antes de o lançar.
|
|
37
43
|
- **Terminal** — o botão "Open AI CLI" (Sparkles) abre um menu de providers para que possa entrar em qualquer CLI instalado na diretoria desse projeto.
|
|
38
44
|
|
|
39
45
|
A sua escolha é guardada por projeto, predefinida para o provider primário, para que não tenha de a repetir de cada vez.
|
|
40
46
|
|
|
41
|
-
##
|
|
47
|
+
## Diferenças de capability
|
|
42
48
|
|
|
43
|
-
|
|
49
|
+
Kimi suporta Project/Agent Chat, Explore/propostas, Quick Launcher
|
|
50
|
+
(`/opsx:ff`), rails, Freestyle, loops sem Decider, perfis/roles manuais, MCP,
|
|
51
|
+
Serena, terminal e anexos.
|
|
44
52
|
|
|
45
|
-
-
|
|
46
|
-
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
53
|
+
`kimi -p` aprova ferramentas automaticamente e não consegue impor um limite
|
|
54
|
+
no-tools/read-only. São recusados antes do spawn: Quick Spec, AI Edit,
|
|
55
|
+
Contract Refine, SMASH/Re-SMASH, geração de blueprint/milestone no Project
|
|
56
|
+
Builder, Loop Decider, resumos/construction story e automação do Agent Studio.
|
|
57
|
+
Auto-title usa um fallback determinístico. Consulte o
|
|
58
|
+
[guia Kimi](../../../kimi.md).
|
|
51
59
|
|
|
52
60
|
## Acompanhamento de custos entre providers
|
|
53
61
|
|
|
54
|
-
|
|
62
|
+
**Analytics** regista invocações realmente iniciadas. Claude reporta custo;
|
|
63
|
+
Codex/Gemini usam estimativas. Kimi não reporta tokens ou custo USD
|
|
64
|
+
autoritativos, portanto os campos ficam vazios.
|
|
55
65
|
|
|
56
66
|
## Resolução de problemas
|
|
57
67
|
|
|
58
|
-
- **Um provider que instalei não aparece.** Confirme
|
|
68
|
+
- **Um provider que instalei não aparece.** Confirme `claude --version` / `codex --version` / `gemini --version` / `kimi --version`.
|
|
59
69
|
- **Os servidores MCP do Codex não carregam no chat.** O Codex lê os servidores MCP a partir do `~/.codex/config.toml` global — registe-os aí com `codex mcp add`.
|
|
60
70
|
- **Desativar em emergência.** Um provider pode ser desligado em toda a app através de uma variável de ambiente (`SPECRAILS_CODEX_BETA=0` ou `SPECRAILS_GEMINI_BETA=0`). Isto só esconde o provider da *seleção*; raramente é necessário.
|
|
61
71
|
|
|
62
72
|
## Ver também
|
|
63
73
|
|
|
64
|
-
|
|
74
|
+
Consulte os guias dedicados a [Kimi](../../../kimi.md), Codex e Gemini.
|
|
@@ -21,7 +21,7 @@ O plugin de destaque é:
|
|
|
21
21
|
3. Clique no plugin para **pré-visualizar a instalação** — isto mostra-lhe exatamente que ficheiros vão mudar antes de qualquer coisa acontecer.
|
|
22
22
|
4. Clique em **Instalar**. Verá o progresso em tempo real à medida que tudo é configurado.
|
|
23
23
|
|
|
24
|
-
Nos bastidores, a instalação é *cirúrgica e aditiva*: só acrescenta
|
|
24
|
+
Nos bastidores, a instalação é *cirúrgica e aditiva*: só acrescenta entradas à configuração MCP nativa do provider escolhido (e, em algumas instalações Claude, um fragmento em `.claude/agents/`). Nunca reescreve toda a configuração e faz rollback limpo se a verificação falhar.
|
|
25
25
|
|
|
26
26
|
## Gerir plugins instalados
|
|
27
27
|
|
|
@@ -37,8 +37,8 @@ Nos bastidores, a instalação é *cirúrgica e aditiva*: só acrescenta as suas
|
|
|
37
37
|
|
|
38
38
|
## Notas sobre providers
|
|
39
39
|
|
|
40
|
-
Os plugins têm consciência do provider. O Serena
|
|
40
|
+
Os plugins têm consciência do provider. O Serena suporta Claude via `.mcp.json`, Codex via `codex mcp add` com `CODEX_HOME` isolado por projeto e Kimi via `.kimi-code/mcp.json`. Um plugin só aparece se o manifesto declarar o provider; por isso Serena não é oferecido para Gemini. O cartão Jira é agnóstico ao provider.
|
|
41
41
|
|
|
42
42
|
## Ficheiros reservados
|
|
43
43
|
|
|
44
|
-
Os plugins gerem
|
|
44
|
+
Os plugins gerem a configuração MCP nativa do provider, estado em `.specrails/plugins/` e, apenas quando Claude precisa, fragmentos em `.claude/agents/custom-<plugin>.md`. As entradas Kimi ficam em `.kimi-code/mcp.json`; a app não escreve fragmentos exclusivos de Claude para Kimi nem sobrescreve configurações às cegas.
|
|
@@ -22,7 +22,13 @@ Escolher um projeto aqui **não** move o seu painel — o alvo do agente e o que
|
|
|
22
22
|
|
|
23
23
|
## Provedor e modelo
|
|
24
24
|
|
|
25
|
-
Logo acima da caixa de mensagem
|
|
25
|
+
Logo acima da caixa de mensagem escolhe o **provider** (Claude, Codex, Gemini
|
|
26
|
+
ou Kimi) e o seu **modelo**. Trocar de provider inicia uma sessão separada.
|
|
27
|
+
|
|
28
|
+
Com Kimi, os níveis limitam as ferramentas MCP Specrails, mas não transformam
|
|
29
|
+
`kimi -p` numa sandbox: ferramentas nativas são aprovadas automaticamente.
|
|
30
|
+
Ações pure-output inseguras são recusadas antes do spawn; consulte a
|
|
31
|
+
[matriz Kimi](../../../kimi.md).
|
|
26
32
|
|
|
27
33
|
## Níveis de permissão — a rédea está com você
|
|
28
34
|
|
|
@@ -35,8 +35,8 @@ Você pode ter vários rails para organizar o trabalho em pistas nomeadas (uma p
|
|
|
35
35
|
| **Pílula de status** | `idle`, `running` ou `failed`. Não há um "completed" separado — um rail volta para `idle` quando seu job termina sem erros. |
|
|
36
36
|
| **Lista de specs** | Os IDs atribuídos a este rail. Arraste mais para dentro, arraste para fora para desanexar. |
|
|
37
37
|
| **Seletor de Loop** | O Loop que este rail roda — um embutido (`Implement` / `Batch` / `Freestyle`) ou um loop personalizado. Veja a tabela abaixo. Persistido por rail. |
|
|
38
|
-
| **Seletor de perfil** | Qual perfil
|
|
39
|
-
| **Seletor de motor** | Qual
|
|
38
|
+
| **Seletor de perfil** | Qual perfil do provider corre (rails Claude e Kimi). |
|
|
39
|
+
| **Seletor de motor** | Qual provider corre o rail — Claude, Codex, Gemini ou Kimi. |
|
|
40
40
|
| **▶ Play / ■ Stop** | Iniciar ou cancelar. |
|
|
41
41
|
|
|
42
42
|
### O que um rail roda: Loops
|
|
@@ -47,9 +47,11 @@ Um rail roda um **Loop** — a receita do trabalho. Três loops são **embutidos
|
|
|
47
47
|
|------|---------|--------------|
|
|
48
48
|
| **Implement** | `/specrails:implement` | Um job cobrindo todas as specs do rail. Roda o pipeline completo Architect → Developer → Reviewer → Ship. O padrão do dia a dia. |
|
|
49
49
|
| **Batch** | `/specrails:batch-implement` | Um job que percorre as specs do rail sequencialmente, em ondas que respeitam as dependências. Melhor para várias specs relacionadas. |
|
|
50
|
-
| **Freestyle** | Freestyle |
|
|
50
|
+
| **Freestyle** | Freestyle | Claude ou Kimi implementa cada spec de forma autónoma, **ignorando** o pipeline. |
|
|
51
51
|
|
|
52
|
-
|
|
52
|
+
Freestyle usa ferramentas e modelos nativos do provider. Claude tem transport
|
|
53
|
+
interativo persistente; Kimi usa um processo agentic `kimi -p` sem stdin
|
|
54
|
+
persistente.
|
|
53
55
|
|
|
54
56
|
Além dos embutidos, você pode **construir seus próprios loops** — repetir um ciclo verify → fix → verify até atingir uma meta, encadear comandos de shell entre AI Steps e muito mais. Esses loops personalizados aparecem no mesmo seletor de Loop. Essa é a próxima grande ideia: [O Loop Builder](the-loop-builder).
|
|
55
57
|
|
|
@@ -81,7 +83,8 @@ Clique em **■ Stop** no cabeçalho do rail. A app envia `SIGTERM` ao subproces
|
|
|
81
83
|
|
|
82
84
|
## Se um rail não lançar
|
|
83
85
|
|
|
84
|
-
Se
|
|
86
|
+
Se faltar o CLI escolhido, o lançamento falha antes do spawn. Para Kimi,
|
|
87
|
+
instale/autentique `kimi` 0.27+; Desktop não inicia um server.
|
|
85
88
|
|
|
86
89
|
## Parando tudo
|
|
87
90
|
|
|
@@ -96,4 +99,4 @@ Se algo parecer errado:
|
|
|
96
99
|
- [O Loop Builder](the-loop-builder) — o que um rail roda, e como construir seus próprios loops.
|
|
97
100
|
- [A vista de detalhe do job](the-job-detail-view) — fases, métricas ao vivo, cartões de ticket.
|
|
98
101
|
- [Batch implement e multi-feature](batch-implement-and-multi-feature) — rode várias specs de uma vez.
|
|
99
|
-
- [Escolhendo um motor por rail](picking-an-engine-per-rail) — Claude
|
|
102
|
+
- [Escolhendo um motor por rail](picking-an-engine-per-rail) — Claude, Codex, Gemini ou Kimi.
|