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
|
@@ -17,7 +17,7 @@ Un **loop** est la *recette* du travail ; un **rail** est la *voie* qui l'exécu
|
|
|
17
17
|
|
|
18
18
|
- Les loops vivent dans la section **Loops** (barre latérale gauche, à côté de vos projets) — ils sont **globaux**, partagés entre tous les projets.
|
|
19
19
|
- Un rail **choisit un loop** dans son en-tête (le sélecteur de Loop) et l'exécute quand vous appuyez sur Play.
|
|
20
|
-
- Le **rail**
|
|
20
|
+
- Le **rail** choisit provider, modèle et effort compatible. Un loop compatible tourne sur Claude, Codex, Gemini ou Kimi.
|
|
21
21
|
|
|
22
22
|
Donc : construisez un loop une fois, puis choisissez-le sur n'importe quel rail dans n'importe quel projet.
|
|
23
23
|
|
|
@@ -41,6 +41,10 @@ Un loop est un graphe de **nœuds** reliés par des **arêtes** (les flèches).
|
|
|
41
41
|
|
|
42
42
|
Les arêtes relient les étapes dans l'ordre. Le **Loop Decider** a deux sorties étiquetées — **continue** et **stop** — donc vous câblez « pas encore fini » de retour vers le travail et « fini » vers un End.
|
|
43
43
|
|
|
44
|
+
> **Kimi exécute les loops avec étapes IA/shell, mais sans Loop Decider.** Le
|
|
45
|
+
> verdict est pure-output et `kimi -p` ne peut pas imposer sa frontière sans
|
|
46
|
+
> outils ; le run est refusé avant la première étape.
|
|
47
|
+
|
|
44
48
|
### Écrire le texte d'une étape
|
|
45
49
|
|
|
46
50
|
À l'intérieur de n'importe quel AI Step ou Decider, vous pouvez référencer :
|
|
@@ -57,7 +61,7 @@ Un loop qui ne s'arrête jamais brûlerait de l'argent indéfiniment, donc chaqu
|
|
|
57
61
|
|-------|--------------|
|
|
58
62
|
| **Max iterations** | Plafond strict sur le nombre de fois où le Decider peut boucler en arrière, quel que soit son verdict. |
|
|
59
63
|
| **Timeout (min)** | Limite en temps réel pour toute l'exécution. |
|
|
60
|
-
| **Max cost ($)** | *Optionnel.*
|
|
64
|
+
| **Max cost ($)** | *Optionnel.* Claude rapporte le coût ; Codex/Gemini utilisent une estimation. Kimi ne fournit aucun coût USD autoritatif. |
|
|
61
65
|
|
|
62
66
|
## Construire en confiance
|
|
63
67
|
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
Le mode Quick, c'est pour quand vous savez déjà ce que vous voulez. Vous tapez votre idée, l'IA écrit la spec complète, et elle atterrit sur votre tableau au statut **À faire**. Aucun aller-retour — vous décrivez et c'est parti.
|
|
4
4
|
|
|
5
|
+
> **Kimi n'est pas disponible pour Quick Spec.** `kimi -p` ne peut pas
|
|
6
|
+
> imposer la frontière pure-output de ce formulaire. La requête est refusée
|
|
7
|
+
> avant le démarrage ; utilisez Explore, Raw ou Quick Launcher (`/opsx:ff`).
|
|
8
|
+
|
|
5
9
|
## Créer une spec en mode Quick
|
|
6
10
|
|
|
7
11
|
Pour créer une spec rapidement :
|
|
@@ -19,7 +23,8 @@ C'est tout le déroulé. Tout ce qui suit n'est qu'un réglage fin optionnel.
|
|
|
19
23
|
|
|
20
24
|
**Modèle** — par défaut, l'IA choisit un modèle adapté. Vous pouvez le surcharger spec par spec depuis le sélecteur de modèle, si vous en voulez un plus rapide ou plus performant.
|
|
21
25
|
|
|
22
|
-
**Moteur** —
|
|
26
|
+
**Moteur** — le sélecteur affiche les fournisseurs **compatibles** ; Kimi est
|
|
27
|
+
exclu de Quick Spec.
|
|
23
28
|
|
|
24
29
|
**Contexte** — le mode Quick s'exécute en général en un seul tour, car il n'a pas besoin de lire votre base de code pour rédiger une spec à partir de votre description. Mais un curseur de contexte lui permet de disposer de plus d'éléments :
|
|
25
30
|
|
|
@@ -37,7 +37,11 @@ La scelta del profilo avviene proprio dove si lancia — nell'**intestazione del
|
|
|
37
37
|
|
|
38
38
|
## Quando la sezione Agenti tace
|
|
39
39
|
|
|
40
|
-
I profili sono
|
|
40
|
+
I profili sono separati per provider. Claude e Kimi supportano profili/ruoli;
|
|
41
|
+
Codex e Gemini usano la modalità legacy. In progetti misti lo stesso nome non
|
|
42
|
+
attraversa Claude/Kimi. Kimi consente ruoli manuali, ma generazione, smoke test
|
|
43
|
+
e AI Refine di Agent Studio sono rifiutati prima dello spawn. Kimi richiede
|
|
44
|
+
`specrails-core` 4.12.0 o più recente.
|
|
41
45
|
|
|
42
46
|
## Dove andare adesso
|
|
43
47
|
|
|
@@ -11,21 +11,24 @@ Ogni voce del catalogo mostra a cosa serve l'agente e il suo modello predefinito
|
|
|
11
11
|
|
|
12
12
|
## Aggiungere un agente custom
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
I ruoli sono asset nativi del provider: Claude usa
|
|
15
|
+
`.claude/agents/custom-<nome>.md`; Kimi usa
|
|
16
|
+
`.kimi-code/skills/custom-<nome>/SKILL.md`.
|
|
15
17
|
|
|
16
|
-
|
|
18
|
+
Quando l'asset esiste, compare nel catalogo del provider e il suo id può essere aggiunto a un profilo dello stesso provider. `custom-docs` mappa su `.claude/agents/custom-docs.md` per Claude o `.kimi-code/skills/custom-docs/SKILL.md` per Kimi; i due restano separati.
|
|
17
19
|
|
|
18
20
|
Poiché vivono nel tuo repo, gli agenti custom sono **asset di squadra committabili**: committi il file e tutta la tua squadra ottiene l'agente. Questo riflette l'idea centrale che attraversa l'intera sezione Agenti —
|
|
19
21
|
|
|
20
22
|
> **Le definizioni degli agenti sono condivise (vivono nel repo e viaggiano con `git`). La configurazione dei modelli è per progetto (vive nei profili).**
|
|
21
23
|
|
|
22
|
-
|
|
24
|
+
Core protegge entrambi i formati. Kimi permette creazione/modifica manuale ed
|
|
25
|
+
esecuzione; Generate, Test e AI Refine sono rifiutati prima dello spawn.
|
|
23
26
|
|
|
24
27
|
## Mettere al lavoro un agente custom
|
|
25
28
|
|
|
26
29
|
Il flusso tipico:
|
|
27
30
|
|
|
28
|
-
1.
|
|
31
|
+
1. Crea l'asset Claude o lo Skill Kimi nativo con istruzioni/modello validi.
|
|
29
32
|
2. Verifica che compaia in **Agenti → Catalogo** sotto Custom.
|
|
30
33
|
3. In **Agenti → Profili**, aggiungi l'agente alla catena di un profilo (facendo eventualmente l'override del suo modello per quel profilo).
|
|
31
34
|
4. Aggiungi una regola di routing affinché i task con i tag giusti lo raggiungano — oppure affidati all'ordine della catena.
|
|
@@ -36,6 +36,7 @@ Specrails funziona con le principali CLI di programmazione AI:
|
|
|
36
36
|
- **Claude** (Claude Code)
|
|
37
37
|
- **Codex** (Codex CLI)
|
|
38
38
|
- **Gemini** (Gemini CLI)
|
|
39
|
+
- **Kimi** (Kimi Code)
|
|
39
40
|
|
|
40
41
|
Scegli quella che già usi — oppure installane più di una e scegline una a seconda dell'attività. Un progetto può funzionare con un singolo provider o con più provider contemporaneamente, così non resti mai vincolato a una scelta.
|
|
41
42
|
|
|
@@ -23,6 +23,7 @@ L'unica cosa che specrails non può includere è la **CLI del provider AI** vera
|
|
|
23
23
|
- **Claude Code**
|
|
24
24
|
- **Codex CLI**
|
|
25
25
|
- **Gemini CLI**
|
|
26
|
+
- **Kimi Code**
|
|
26
27
|
|
|
27
28
|
Installa quella che intendi usare, accedi una volta dal terminale e sei a posto. Specrails rileva automaticamente quali provider sono presenti.
|
|
28
29
|
|
|
@@ -26,13 +26,13 @@ La barra laterale destra è il tuo centralino per il progetto corrente. Passaci
|
|
|
26
26
|
|
|
27
27
|
- **Dashboard** — la board delle spec e i rail (dove ti trovavi poco fa).
|
|
28
28
|
- **Job** — ogni esecuzione della pipeline per questo progetto, passata e presente, con stato, durata e la possibilità di approfondire il dettaglio e i log di ciascuna esecuzione.
|
|
29
|
-
- **Analytics** —
|
|
30
|
-
- **Agenti** —
|
|
31
|
-
- **Codice** — un browser di file in sola lettura con
|
|
29
|
+
- **Analytics** — invocazioni per giorno, attività, modello e ticket. Claude riporta il costo fatturato, Codex/Gemini usano stime e Kimi lascia vuoti i campi token/costo USD non disponibili.
|
|
30
|
+
- **Agenti** — profili e cataloghi di ruoli separati per provider per Claude e Kimi. Con Kimi i ruoli si creano/modificano manualmente; Generate, Test e AI Refine non sono disponibili.
|
|
31
|
+
- **Codice** — un browser di file in sola lettura con chip per i file toccati dall'AI. I riepiloghi AI in linguaggio semplice compaiono solo con provider compatibili e non sono disponibili con Kimi.
|
|
32
32
|
- **Integrazioni** — componenti aggiuntivi opzionali, come collegare le tue spec a una board **Jira** o abilitare strumenti extra per l'AI.
|
|
33
33
|
- **Impostazioni** — opzioni per progetto (telemetria, budget, configurazione dei provider e altro ancora).
|
|
34
34
|
|
|
35
|
-
>
|
|
35
|
+
> Sezioni e azioni seguono le capacità del provider effettivo. Per esempio, i profili funzionano con Claude e Kimi, mentre le azioni AI di Agent Studio falliscono in modo chiuso con Kimi.
|
|
36
36
|
|
|
37
37
|
## La barra di stato
|
|
38
38
|
|
|
@@ -1,16 +1,20 @@
|
|
|
1
|
-
# Provider AI (Claude, Codex, Gemini)
|
|
1
|
+
# Provider AI (Claude, Codex, Gemini, Kimi)
|
|
2
2
|
|
|
3
|
-
Specrails non è legato a una sola AI.
|
|
3
|
+
Specrails non è legato a una sola AI. Claude, Codex, Gemini e Kimi sono
|
|
4
|
+
provider di prima classe; ogni superficie propone solo i motori compatibili
|
|
5
|
+
con il proprio contratto.
|
|
4
6
|
|
|
5
|
-
## I
|
|
7
|
+
## I quattro provider
|
|
6
8
|
|
|
7
9
|
| Provider | CLI | Realizzato da | Note |
|
|
8
10
|
|---|---|---|---|
|
|
9
|
-
| **Claude** | `claude` | Anthropic |
|
|
11
|
+
| **Claude** | `claude` | Anthropic | Costo nativo e trasporto interattivo persistente. |
|
|
10
12
|
| **Codex** | `codex` | OpenAI | Richiede codex `0.128.0+`. Legge i suoi server MCP dal file globale `~/.codex/config.toml`. |
|
|
11
13
|
| **Gemini** | `gemini` | Google | Richiede gemini `0.11.0+`. Usa la telemetria nativa e un file di istruzioni `GEMINI.md`. |
|
|
14
|
+
| **Kimi Code** | `kimi` | Moonshot AI | Richiede Kimi `0.27.0+`. Desktop avvia la CLI esterna con `-p`; non installa né avvia un server. |
|
|
12
15
|
|
|
13
|
-
Tutti e
|
|
16
|
+
Tutti e quattro sono **abilitati di default**. Il provider compare quando la
|
|
17
|
+
CLI è nel `PATH`; per Kimi verifica `kimi --version` ed esegui `kimi login`.
|
|
14
18
|
|
|
15
19
|
## Installare un provider per un progetto
|
|
16
20
|
|
|
@@ -25,40 +29,46 @@ Puoi installare **più di un** provider nello stesso progetto — per esempio Cl
|
|
|
25
29
|
Qualche cosa utile da sapere sui progetti multi-provider:
|
|
26
30
|
|
|
27
31
|
- **Con un solo provider tutto si comporta esattamente come prima.** Se un progetto ha un unico provider, non vedrai mai un selettore di provider da nessuna parte — l'app resta pulita e semplice.
|
|
28
|
-
- **
|
|
32
|
+
- **Le capability guidano la UI.** Claude e Kimi supportano profili separati
|
|
33
|
+
per provider; Codex e Gemini usano la modalità legacy.
|
|
29
34
|
- **La scelta dei provider è bloccata dopo la creazione.** In questa versione scegli i tuoi provider quando aggiungi il progetto e non possono essere modificati in seguito dalle Impostazioni. Se ti serve un mix diverso, crea un nuovo progetto.
|
|
30
35
|
|
|
31
36
|
## Scegliere un provider per ogni invocazione
|
|
32
37
|
|
|
33
38
|
Il vero vantaggio di un progetto multi-provider è poter scegliere l'AI giusta per ciascun task — senza toccare alcuna impostazione globale. Ovunque venga eseguita un'AI compare un piccolo selettore di provider (solo quando il progetto ne ha più di uno):
|
|
34
39
|
|
|
35
|
-
- **Add Spec** —
|
|
40
|
+
- **Add Spec** — Explore supporta Kimi; Quick Spec mostra solo provider con un
|
|
41
|
+
confine pure-output sicuro e quindi esclude Kimi.
|
|
36
42
|
- **Intestazione del rail** — scegli il motore per quello specifico rail prima di avviarlo.
|
|
37
43
|
- **Terminale** — il pulsante "Open AI CLI" (Sparkles) apre un menu dei provider così puoi entrare in una qualsiasi CLI installata nella cartella di quel progetto.
|
|
38
44
|
|
|
39
45
|
La tua scelta viene ricordata per progetto, con il provider primario come default, così non devi riselezionarla ogni volta.
|
|
40
46
|
|
|
41
|
-
##
|
|
47
|
+
## Differenze di capability
|
|
42
48
|
|
|
43
|
-
|
|
49
|
+
Kimi supporta Project/Agent Chat, Explore/proposte, Quick Launcher
|
|
50
|
+
(`/opsx:ff`), rail, Freestyle, loop senza Decider, profili/ruoli manuali, MCP,
|
|
51
|
+
Serena, terminale e allegati.
|
|
44
52
|
|
|
45
|
-
-
|
|
46
|
-
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
53
|
+
`kimi -p` approva automaticamente gli strumenti e non può imporre un confine
|
|
54
|
+
no-tools/read-only. Sono quindi rifiutati prima dello spawn: Quick Spec, AI
|
|
55
|
+
Edit, Contract Refine, SMASH/Re-SMASH, generazione blueprint/milestone di
|
|
56
|
+
Project Builder, Loop Decider, riassunti/construction story e automazione
|
|
57
|
+
Agent Studio. Auto-title usa un fallback deterministico. Vedi la
|
|
58
|
+
[guida Kimi](../../../kimi.md).
|
|
51
59
|
|
|
52
60
|
## Tracciamento dei costi tra i provider
|
|
53
61
|
|
|
54
|
-
|
|
62
|
+
**Analisi** registra le invocazioni realmente avviate. Claude riporta il
|
|
63
|
+
costo; Codex/Gemini usano una stima. Kimi non riporta token o costo USD
|
|
64
|
+
autorevoli, quindi i campi restano vuoti.
|
|
55
65
|
|
|
56
66
|
## Risoluzione dei problemi
|
|
57
67
|
|
|
58
|
-
- **Un provider che ho installato non viene proposto.**
|
|
68
|
+
- **Un provider che ho installato non viene proposto.** Prova `claude --version` / `codex --version` / `gemini --version` / `kimi --version`.
|
|
59
69
|
- **I server MCP di Codex non si caricano in chat.** Codex legge i server MCP dal file globale `~/.codex/config.toml` — registrali lì con `codex mcp add`.
|
|
60
70
|
- **Disabilitazione d'emergenza.** Un provider può essere disattivato a livello di app tramite una variabile d'ambiente (`SPECRAILS_CODEX_BETA=0` o `SPECRAILS_GEMINI_BETA=0`). Questo nasconde il provider solo dalla *selezione*; raramente è necessario.
|
|
61
71
|
|
|
62
72
|
## Vedi anche
|
|
63
73
|
|
|
64
|
-
|
|
74
|
+
Consulta le guide dedicate a [Kimi](../../../kimi.md), Codex e Gemini.
|
|
@@ -21,7 +21,7 @@ Il plugin di punta è:
|
|
|
21
21
|
3. Entra nel plugin per **vedere l'anteprima dell'installazione** — ti mostra esattamente quali file cambieranno prima che succeda qualsiasi cosa.
|
|
22
22
|
4. Clicca **Installa**. Vedrai l'avanzamento in tempo reale durante la configurazione.
|
|
23
23
|
|
|
24
|
-
Dietro le quinte l'installazione è *chirurgica e additiva*: aggiunge
|
|
24
|
+
Dietro le quinte l'installazione è *chirurgica e additiva*: aggiunge voci solo alla configurazione MCP nativa del provider scelto (e, per alcune installazioni Claude, un frammento sotto `.claude/agents/`). Non riscrive mai tutta la configurazione e, se la verifica fallisce, esegue un rollback pulito.
|
|
25
25
|
|
|
26
26
|
## Gestire i plugin installati
|
|
27
27
|
|
|
@@ -37,8 +37,8 @@ Dietro le quinte l'installazione è *chirurgica e additiva*: aggiunge soltanto l
|
|
|
37
37
|
|
|
38
38
|
## Note sui provider
|
|
39
39
|
|
|
40
|
-
I plugin sono consapevoli del provider. Serena
|
|
40
|
+
I plugin sono consapevoli del provider. Serena supporta Claude tramite `.mcp.json`, Codex tramite `codex mcp add` con `CODEX_HOME` isolato per progetto e Kimi tramite `.kimi-code/mcp.json`. Un plugin compare solo se il manifesto dichiara il provider; Serena quindi non è offerto per Gemini. La scheda Jira resta indipendente dal provider.
|
|
41
41
|
|
|
42
42
|
## File riservati
|
|
43
43
|
|
|
44
|
-
I plugin gestiscono
|
|
44
|
+
I plugin gestiscono la configurazione MCP nativa del provider, lo stato sotto `.specrails/plugins/` e, solo quando serve a Claude, frammenti sotto `.claude/agents/custom-<plugin>.md`. Le voci Kimi vivono in `.kimi-code/mcp.json`; l'app non scrive frammenti esclusivi di Claude per Kimi e non sovrascrive mai le configurazioni alla cieca.
|
|
@@ -22,7 +22,14 @@ Scegliere un progetto qui **non** sposta la tua dashboard: l'obiettivo dell'agen
|
|
|
22
22
|
|
|
23
23
|
## Provider e modello
|
|
24
24
|
|
|
25
|
-
Proprio sopra la casella del messaggio scegli il **provider** (Claude, Codex
|
|
25
|
+
Proprio sopra la casella del messaggio scegli il **provider** (Claude, Codex,
|
|
26
|
+
Gemini o Kimi) e il suo **modello**. Cambiare provider avvia una sessione
|
|
27
|
+
separata.
|
|
28
|
+
|
|
29
|
+
Con Kimi i livelli limitano gli strumenti MCP Specrails, ma non trasformano
|
|
30
|
+
`kimi -p` in una sandbox: gli strumenti nativi sono approvati
|
|
31
|
+
automaticamente. Le azioni pure-output non sicure sono rifiutate prima dello
|
|
32
|
+
spawn; vedi la [matrice Kimi](../../../kimi.md).
|
|
26
33
|
|
|
27
34
|
## Livelli di permesso — le redini le tieni tu
|
|
28
35
|
|
|
@@ -35,8 +35,8 @@ Tutto qui. Il rail avvia un processo CLI AI nel contesto di esecuzione corretto
|
|
|
35
35
|
| **Pillola di stato** | `idle`, `running` o `failed`. Non esiste uno stato "completed" separato — un rail torna a `idle` quando il suo job termina senza errori. |
|
|
36
36
|
| **Elenco spec** | Gli ID assegnati a questo rail. Trascinane altri dentro, oppure fuori per staccarli. |
|
|
37
37
|
| **Selettore Loop** | Il Loop che questo rail esegue — uno integrato (`Implement` / `Batch` / `Freestyle`) o un loop personalizzato. Vedi la tabella più sotto. Viene salvato per ogni rail. |
|
|
38
|
-
| **Selettore profilo** | Quale profilo
|
|
39
|
-
| **Selettore engine** | Quale provider
|
|
38
|
+
| **Selettore profilo** | Quale profilo del provider viene eseguito (rail Claude e Kimi). |
|
|
39
|
+
| **Selettore engine** | Quale provider esegue il rail — Claude, Codex, Gemini o Kimi. |
|
|
40
40
|
| **▶ Play / ■ Stop** | Avvia o annulla. |
|
|
41
41
|
|
|
42
42
|
### Cosa esegue un rail: i Loop
|
|
@@ -47,9 +47,11 @@ Un rail esegue un **Loop** — la ricetta del lavoro. Tre loop sono **integrati*
|
|
|
47
47
|
|------|---------|--------------|
|
|
48
48
|
| **Implement** | `/specrails:implement` | Un unico job che copre tutte le spec sul rail. Esegue l'intera pipeline Architect → Developer → Reviewer → Ship. L'impostazione predefinita di tutti i giorni. |
|
|
49
49
|
| **Batch** | `/specrails:batch-implement` | Un unico job che lavora le spec del rail in sequenza, in ondate consapevoli delle dipendenze. Ideale per più spec correlate. |
|
|
50
|
-
| **Freestyle** | Freestyle | Claude implementa ogni spec in autonomia, **bypassando** la pipeline.
|
|
50
|
+
| **Freestyle** | Freestyle | Claude o Kimi implementa ogni spec in autonomia, **bypassando** la pipeline. |
|
|
51
51
|
|
|
52
|
-
Freestyle
|
|
52
|
+
Freestyle usa strumenti e modelli nativi del provider. Claude ha un transport
|
|
53
|
+
interattivo persistente; Kimi usa un processo agentic `kimi -p` senza stdin
|
|
54
|
+
persistente.
|
|
53
55
|
|
|
54
56
|
Oltre agli integrati, puoi **costruire i tuoi loop** — ripetere un ciclo verify → fix → verify finché un obiettivo non è raggiunto, concatenare comandi shell tra gli AI Step e altro ancora. Quei loop personalizzati compaiono nello stesso selettore Loop. È la prossima grande idea: [Il Loop Builder](the-loop-builder).
|
|
55
57
|
|
|
@@ -81,7 +83,8 @@ Clicca su **■ Stop** nell'intestazione del rail. L'app invia `SIGTERM` al sott
|
|
|
81
83
|
|
|
82
84
|
## Se un rail non parte
|
|
83
85
|
|
|
84
|
-
Se
|
|
86
|
+
Se manca la CLI scelta, l'avvio fallisce prima dello spawn. Per Kimi,
|
|
87
|
+
installa/autentica `kimi` 0.27+; Desktop non avvia un server.
|
|
85
88
|
|
|
86
89
|
## Fermare tutto
|
|
87
90
|
|
|
@@ -96,4 +99,4 @@ Se qualcosa sembra non andare:
|
|
|
96
99
|
- [Il Loop Builder](the-loop-builder) — cosa esegue un rail e come costruire i tuoi loop.
|
|
97
100
|
- [La vista Dettaglio job](the-job-detail-view) — fasi, metriche live, schede ticket.
|
|
98
101
|
- [Batch implement e multi-feature](batch-implement-and-multi-feature) — esegui più spec insieme.
|
|
99
|
-
- [Scegliere un engine per ogni rail](picking-an-engine-per-rail) — Claude
|
|
102
|
+
- [Scegliere un engine per ogni rail](picking-an-engine-per-rail) — Claude, Codex, Gemini o Kimi.
|
|
@@ -94,7 +94,9 @@ Alcune cose che vale la pena sapere:
|
|
|
94
94
|
- **La riga dei totali è reale.** Il composer mostra un riepilogo live `N turni · $X`, sommato dall'uso reale di ogni turno completato — coerente con la promessa di questa pagina di non tirare mai a indovinare.
|
|
95
95
|
- **Due modi in cui una sessione finisce.** La maggior parte dei job **si conclude da sola**: nel momento in cui un turno termina senza messaggi in coda, la sessione si assesta e il job si completa — i tuoi messaggi sono guida opzionale, mai un obbligo. Un'azione discreta **Concludi ora** la chiude prima, con tutto ciò che è stato prodotto fin lì. I job **Freestyle** sono l'eccezione: restano in attesa tra un turno e l'altro finché non clicchi **Finalize** — è il loro design, una sessione botta e risposta che chiudi quando hai finito.
|
|
96
96
|
- **Nelle esecuzioni di loop i messaggi vanno al passo attivo.** Su un loop integrato o personalizzato, il tuo messaggio raggiunge il **passo AI in esecuzione in quel momento**. Tra un passo e l'altro (mentre il Loop Decider riflette, o gira un comando shell) il composer mostra un breve stato *«In attesa del prossimo passo…»* — il testo in bozza viene conservato, e l'invio si riattiva quando parte il prossimo passo AI. **Assesta questo passo** termina il passo corrente in anticipo e lascia che il loop avanzi con ciò che ha prodotto.
|
|
97
|
-
- **
|
|
97
|
+
- **L'interazione persistente è solo Claude.** Codex, Gemini e Kimi sono
|
|
98
|
+
one-shot; Kimi riprende una chat con un nuovo `kimi --session=<id> -p` dopo un resume
|
|
99
|
+
hint riuscito.
|
|
98
100
|
|
|
99
101
|
## Esportazione diagnostica
|
|
100
102
|
|
|
@@ -81,4 +81,4 @@ Non c'è alcun limite globale di concorrenza da regolare. Apri i progetti o i ra
|
|
|
81
81
|
|
|
82
82
|
- [Rail e job](rails-and-jobs) — il modello della coda in dettaglio.
|
|
83
83
|
- [La vista Dettaglio job](the-job-detail-view) — guarda un batch in esecuzione dal vivo.
|
|
84
|
-
- [Scegliere un engine per ogni rail](picking-an-engine-per-rail) —
|
|
84
|
+
- [Scegliere un engine per ogni rail](picking-an-engine-per-rail) — Batch gira su qualsiasi provider; Freestyle è disponibile con Claude e Kimi.
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# Scegliere un engine per ogni rail
|
|
2
2
|
|
|
3
|
-
Specrails desktop tratta **Claude Code**, **Codex CLI
|
|
3
|
+
Specrails desktop tratta **Claude Code**, **Codex CLI**, **Gemini CLI** e
|
|
4
|
+
**Kimi Code** come engine di prima classe. È possibile ogni combinazione compatibile.
|
|
4
5
|
|
|
5
6
|
## Quando compare il selettore
|
|
6
7
|
|
|
@@ -13,30 +14,27 @@ Quando compare, la tua scelta è **per rail e per avvio** — rail diversi posso
|
|
|
13
14
|
## Come scegliere un engine
|
|
14
15
|
|
|
15
16
|
1. Assicurati che il selettore di engine del rail sia visibile (il progetto ha 2+ provider).
|
|
16
|
-
2. Cliccaci sopra e scegli **Claude**, **Codex** o **
|
|
17
|
+
2. Cliccaci sopra e scegli **Claude**, **Codex**, **Gemini** o **Kimi**.
|
|
17
18
|
3. Avvia il rail con **▶ Play**.
|
|
18
19
|
|
|
19
20
|
L'engine selezionato esegue ogni fase della pipeline di quel rail. Se la CLI dell'engine scelto non è installata, l'avvio fallisce subito — non viene avviato nulla. Installa la CLI mancante e riprova.
|
|
20
21
|
|
|
21
22
|
## In cosa è bravo ciascun engine
|
|
22
23
|
|
|
23
|
-
Tutti e
|
|
24
|
+
Tutti e quattro eseguono **Implement** e **Batch**:
|
|
24
25
|
|
|
25
26
|
| Engine | Scegli questo quando… | Note |
|
|
26
27
|
|--------|--------------------|-------|
|
|
27
|
-
| **Claude** |
|
|
28
|
+
| **Claude** | Servono costi nativi, interazione persistente o tool policy rigorose. | Profili, Freestyle e transform strutturati. |
|
|
28
29
|
| **Codex** | Preferisci la CLI Codex di OpenAI o vuoi confrontare le implementazioni tra provider diversi. | `codex` ≥ 0.128.0. Nessuna reportistica nativa dei costi — l'app ricava il costo dalla sua tabella prezzi. I profili non si applicano. |
|
|
29
30
|
| **Gemini** | Vuoi la CLI Gemini di Google, telemetria nativa o un'esecuzione più economica per le spec di routine. | `gemini` ≥ 0.11.0 (imposta `GEMINI_API_KEY`). Telemetria OTLP nativa. I profili non si applicano. |
|
|
31
|
+
| **Kimi** | Vuoi Kimi agentic per Implement, Batch, Freestyle o loop senza Decider. | `kimi` ≥ 0.27.0 esterno; profili/ruoli, effort solo K3; token/costo non disponibili. |
|
|
30
32
|
|
|
31
|
-
###
|
|
33
|
+
### Differenze di capability
|
|
32
34
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
- **Freestyle** — la modalità autonoma che bypassa la pipeline. Il segmento `Freestyle` e il suo selettore di modello Haiku/Sonnet/Opus compaiono solo quando l'engine del rail è Claude.
|
|
37
|
-
- **Contract Layer e SMASH** — funzionalità di affinamento delle spec esclusive di Claude (sono opzioni di Add Spec, non opzioni del rail, ma vale lo stesso vincolo).
|
|
38
|
-
|
|
39
|
-
Se un progetto mescola engine, la barra laterale destra mostra solo le sezioni supportate da **ogni** provider installato — quindi la sezione **Agenti** sparisce del tutto su un progetto che include un provider diverso da Claude, perché i profili sono specifici di Claude.
|
|
35
|
+
Claude e Kimi supportano profili/Freestyle; Codex/Gemini usano legacy. Kimi
|
|
36
|
+
rifiuta Loop Decider e i transform pure-output nella
|
|
37
|
+
[guida Kimi](../../../kimi.md). I profili Claude/Kimi restano separati.
|
|
40
38
|
|
|
41
39
|
## Un flusso di lavoro pratico
|
|
42
40
|
|
|
@@ -49,12 +47,14 @@ I progetti multi-provider danno il meglio quando vuoi **confrontare** o **ottimi
|
|
|
49
47
|
## Cose da tenere a mente
|
|
50
48
|
|
|
51
49
|
- **La selezione del provider è immutabile dopo la creazione del progetto** (v1). Scegli i provider installati quando aggiungi il progetto; non c'è alcun interruttore nelle Impostazioni per aggiungerne o rimuoverne uno in seguito.
|
|
52
|
-
- **
|
|
50
|
+
- **Le metriche disponibili sono tracciate.** Kimi non fornisce token/costo USD
|
|
51
|
+
autorevoli; i campi restano vuoti.
|
|
53
52
|
- **Il pulsante "Open AI CLI" del terminale** offre anch'esso un selettore di provider sui progetti multi-provider, se preferisci pilotare una CLI a mano.
|
|
54
53
|
|
|
55
54
|
## Dove andare ora
|
|
56
55
|
|
|
57
56
|
- [Usare Codex](../integrations/using-codex) — installazione e accesso.
|
|
58
57
|
- [Usare Gemini](../integrations/using-gemini) — installazione, `GEMINI_API_KEY`, telemetria.
|
|
58
|
+
- [Usare Kimi](../../../kimi.md) — installazione e matrice completa.
|
|
59
59
|
- [Rail e job](rails-and-jobs) — la coda e il flusso di avvio.
|
|
60
60
|
- [Tracciare i costi](../analytics/tracking-cost) — ripartizione dei costi per engine.
|
|
@@ -17,7 +17,7 @@ Un **loop** è la *ricetta* del lavoro; un **rail** è la *corsia* che lo esegue
|
|
|
17
17
|
|
|
18
18
|
- I loop vivono nella sezione **Loops** (sidebar sinistra, accanto ai tuoi progetti) — sono **globali**, condivisi tra tutti i progetti.
|
|
19
19
|
- Un rail **sceglie un loop** nel suo header (il selettore Loop) e lo esegue quando premi Play.
|
|
20
|
-
-
|
|
20
|
+
- Il **rail** sceglie provider, modello ed effort compatibile. Un loop compatibile gira su Claude, Codex, Gemini o Kimi.
|
|
21
21
|
|
|
22
22
|
Quindi: costruisci un loop una volta, poi scegli quel loop su qualsiasi rail in qualsiasi progetto.
|
|
23
23
|
|
|
@@ -41,6 +41,10 @@ Un loop è un grafo di **nodi** collegati da **archi** (le frecce). Ogni nodo è
|
|
|
41
41
|
|
|
42
42
|
Gli archi collegano gli step in ordine. Il **Loop Decider** ha due uscite etichettate — **continue** e **stop** — così colleghi "non ancora finito" di nuovo nel lavoro e "fatto" verso un End.
|
|
43
43
|
|
|
44
|
+
> **Kimi esegue loop con step AI/shell, ma non con Loop Decider.** Il verdetto
|
|
45
|
+
> è pure-output e `kimi -p` non può imporre il confine no-tools; il run è
|
|
46
|
+
> rifiutato prima del primo step.
|
|
47
|
+
|
|
44
48
|
### Scrivere il testo di uno step
|
|
45
49
|
|
|
46
50
|
Dentro qualsiasi AI Step o Decider puoi fare riferimento a:
|
|
@@ -57,7 +61,7 @@ Un loop che non si ferma mai brucerebbe soldi per sempre, quindi ogni esecuzione
|
|
|
57
61
|
|-------|--------------|
|
|
58
62
|
| **Max iterations** | Tetto massimo di quante volte il Decider può tornare indietro, indipendentemente dal suo verdetto. |
|
|
59
63
|
| **Timeout (min)** | Limite di tempo reale per l'intera esecuzione. |
|
|
60
|
-
| **Max cost ($)** | *Opzionale.*
|
|
64
|
+
| **Max cost ($)** | *Opzionale.* Claude riporta il costo; Codex/Gemini usano stime. Kimi non riporta costo USD autorevole. |
|
|
61
65
|
|
|
62
66
|
## Costruire con sicurezza
|
|
63
67
|
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
La modalità Quick è pensata per quando sai già cosa vuoi. Scrivi la tua idea, l'AI redige la spec completa e questa atterra sulla tua board come **Da fare**. Niente botta e risposta — basta descriverla e partire.
|
|
4
4
|
|
|
5
|
+
> **Kimi non è disponibile per Quick Spec.** `kimi -p` non può imporre il
|
|
6
|
+
> confine pure-output del form. La richiesta è rifiutata prima dello spawn;
|
|
7
|
+
> usa Explore, Raw o Quick Launcher (`/opsx:ff`).
|
|
8
|
+
|
|
5
9
|
## Creare una spec in modalità Quick
|
|
6
10
|
|
|
7
11
|
Per creare rapidamente una spec:
|
|
@@ -19,7 +23,8 @@ Questo è tutto il flusso. Tutto ciò che segue è una rifinitura facoltativa.
|
|
|
19
23
|
|
|
20
24
|
**Modello** — per impostazione predefinita l'AI sceglie un modello sensato. Puoi sovrascriverlo per ogni spec dal selettore di modello, se ne vuoi uno più veloce o più capace.
|
|
21
25
|
|
|
22
|
-
**Engine** —
|
|
26
|
+
**Engine** — il selettore mostra solo provider **compatibili**; Kimi è escluso
|
|
27
|
+
da Quick Spec.
|
|
23
28
|
|
|
24
29
|
**Contesto** — la modalità Quick di solito viene eseguita come un singolo turno, perché non ha bisogno di leggere il tuo codebase per scrivere una spec a partire dalla tua descrizione. Ma uno slider di contesto ti permette di darle più materiale su cui lavorare:
|
|
25
30
|
|
|
@@ -37,7 +37,12 @@
|
|
|
37
37
|
|
|
38
38
|
## Agents セクションが静かなとき
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
Profile は provider ごとに分離されます。Claude と Kimi は profile/
|
|
41
|
+
role に対応し、Codex と Gemini は legacy mode で実行します。混在する
|
|
42
|
+
project でも同じ名前が Claude/Kimi 間で交差することはありません。
|
|
43
|
+
Kimi は手動 role に対応しますが、Agent Studio の generation、smoke
|
|
44
|
+
test、AI Refine は spawn 前に拒否されます。Kimi には
|
|
45
|
+
`specrails-core` 4.12.0 以降が必要です。
|
|
41
46
|
|
|
42
47
|
## 次に読むなら
|
|
43
48
|
|
|
@@ -11,21 +11,24 @@
|
|
|
11
11
|
|
|
12
12
|
## カスタムエージェントを追加する
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
Role は provider-native asset です。Claude は
|
|
15
|
+
`.claude/agents/custom-<name>.md`、Kimi は
|
|
16
|
+
`.kimi-code/skills/custom-<name>/SKILL.md` を使います。
|
|
15
17
|
|
|
16
|
-
|
|
18
|
+
Asset が存在すると、その provider の Catalog に現れ、同じ provider の Profile に id を追加できます。`custom-docs` は Claude では `.claude/agents/custom-docs.md`、Kimi では `.kimi-code/skills/custom-docs/SKILL.md` に対応し、両者は独立しています。
|
|
17
19
|
|
|
18
20
|
カスタムエージェントはリポジトリの中に住んでいるので、**コミット可能なチームの資産** です: ファイルをコミットすれば、チーム全員がそのエージェントを手に入れます。これは Agents セクション全体を貫く中心的な考え方を映したものです ——
|
|
19
21
|
|
|
20
22
|
> **エージェントの定義は共有されます(リポジトリの中に住み、`git` とともに移動します)。モデルの設定はプロジェクトごとです(プロファイルの中に住みます)。**
|
|
21
23
|
|
|
22
|
-
|
|
24
|
+
Core は両形式を保護します。Kimi は manual create/edit/run に対応しますが、
|
|
25
|
+
Generate、Test、AI Refine は spawn 前に拒否されます。
|
|
23
26
|
|
|
24
27
|
## カスタムエージェントを実際に使う
|
|
25
28
|
|
|
26
29
|
典型的な流れは次のとおりです。
|
|
27
30
|
|
|
28
|
-
1.
|
|
31
|
+
1. native Claude asset または Kimi Skill を valid な指示/model で作成する。
|
|
29
32
|
2. それが **Agents → Catalog** の Custom に現れることを確認する。
|
|
30
33
|
3. **Agents → Profiles** で、そのエージェントをプロファイルのチェーンに追加する(必要なら、そのプロファイル用にモデルを上書きする)。
|
|
31
34
|
4. 適切なタグの付いたタスクがそのエージェントに届くようにルーティングルールを追加する —— あるいはチェーンの順序に任せる。
|
|
@@ -26,13 +26,13 @@
|
|
|
26
26
|
|
|
27
27
|
- **ダッシュボード** — スペックボードとレール(さきほどまでいた場所)です。
|
|
28
28
|
- **ジョブ** — このプロジェクトのすべてのパイプライン実行を、過去・現在を問わず一覧表示します。ステータス・所要時間が分かり、任意の実行の詳細やログを掘り下げられます。
|
|
29
|
-
- **分析** —
|
|
30
|
-
- **エージェント** —
|
|
31
|
-
- **コード** —
|
|
29
|
+
- **分析** — 日別・アクティビティ別・モデル別・チケット別の呼び出しです。Claude は請求コスト、Codex/Gemini は推定値を表示し、Kimi は取得できない token/USD 欄を空のままにします。
|
|
30
|
+
- **エージェント** — Claude と Kimi の provider ごとに独立した Profile と Role カタログです。Kimi Role は手動で作成・編集できますが、Generate、Test、AI Refine は利用できません。
|
|
31
|
+
- **コード** — 読み取り専用ファイルブラウザと、AI が触れたファイルを示すチップです。平易な AI サマリーは対応 provider でのみ表示され、Kimi では利用できません。
|
|
32
32
|
- **インテグレーション** — 任意のアドオンです。スペックを **Jira** ボードに接続したり、AI 向けの追加ツールを有効にしたりできます。
|
|
33
33
|
- **設定** — プロジェクトごとのオプション(テレメトリ、予算、プロバイダー設定など)です。
|
|
34
34
|
|
|
35
|
-
>
|
|
35
|
+
> セクションとアクションは有効な provider の capability に従います。たとえば Profile は Claude/Kimi で使えますが、Kimi では Agent Studio の AI アクションが fail closed になります。
|
|
36
36
|
|
|
37
37
|
## ステータスバー
|
|
38
38
|
|