cli-jaw 2.0.6 → 2.0.13
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.ja.md +24 -11
- package/README.ko.md +24 -11
- package/README.md +95 -11
- package/README.zh-CN.md +24 -11
- package/dist/bin/cli-jaw.js +4 -1
- package/dist/bin/cli-jaw.js.map +1 -1
- package/dist/bin/commands/browser-web-ai.js +2 -2
- package/dist/bin/commands/browser-web-ai.js.map +1 -1
- package/dist/bin/commands/doctor.js +12 -2
- package/dist/bin/commands/doctor.js.map +1 -1
- package/dist/bin/commands/init.js +4 -2
- package/dist/bin/commands/init.js.map +1 -1
- package/dist/bin/commands/project.js +167 -0
- package/dist/bin/commands/project.js.map +1 -0
- package/dist/bin/commands/tui/types.js +20 -4
- package/dist/bin/commands/tui/types.js.map +1 -1
- package/dist/bin/postinstall.js +226 -24
- package/dist/bin/postinstall.js.map +1 -1
- package/dist/lib/mime-detect.js +5 -0
- package/dist/lib/mime-detect.js.map +1 -1
- package/dist/scripts/fresh-install-smoke.js +78 -6
- package/dist/scripts/fresh-install-smoke.js.map +1 -1
- package/dist/src/agent/agy-runtime.js +15 -0
- package/dist/src/agent/agy-runtime.js.map +1 -0
- package/dist/src/agent/args.js +44 -5
- package/dist/src/agent/args.js.map +1 -1
- package/dist/src/agent/cli-helpers.js +1 -1
- package/dist/src/agent/cli-helpers.js.map +1 -1
- package/dist/src/agent/lifecycle-handler.js +6 -3
- package/dist/src/agent/lifecycle-handler.js.map +1 -1
- package/dist/src/agent/session-persistence.js +1 -1
- package/dist/src/agent/session-persistence.js.map +1 -1
- package/dist/src/agent/smoke-detector.js +3 -0
- package/dist/src/agent/smoke-detector.js.map +1 -1
- package/dist/src/agent/spawn/resume.js +2 -0
- package/dist/src/agent/spawn/resume.js.map +1 -1
- package/dist/src/agent/spawn-env.js +6 -0
- package/dist/src/agent/spawn-env.js.map +1 -1
- package/dist/src/agent/spawn.js +120 -15
- package/dist/src/agent/spawn.js.map +1 -1
- package/dist/src/browser/web-ai/capability-observation-presets.js +1 -1
- package/dist/src/browser/web-ai/capability-observation-presets.js.map +1 -1
- package/dist/src/browser/web-ai/capability-registry.js +6 -5
- package/dist/src/browser/web-ai/capability-registry.js.map +1 -1
- package/dist/src/browser/web-ai/chatgpt-attachments.js +7 -0
- package/dist/src/browser/web-ai/chatgpt-attachments.js.map +1 -1
- package/dist/src/browser/web-ai/context-pack/builder.js +19 -4
- package/dist/src/browser/web-ai/context-pack/builder.js.map +1 -1
- package/dist/src/browser/web-ai/context-pack/zip-writer.js +116 -0
- package/dist/src/browser/web-ai/context-pack/zip-writer.js.map +1 -0
- package/dist/src/browser/web-ai/gemini-live.js +21 -3
- package/dist/src/browser/web-ai/gemini-live.js.map +1 -1
- package/dist/src/browser/web-ai/gemini-model.js +26 -8
- package/dist/src/browser/web-ai/gemini-model.js.map +1 -1
- package/dist/src/cli/commands.js +2 -0
- package/dist/src/cli/commands.js.map +1 -1
- package/dist/src/cli/handlers-project.js +55 -0
- package/dist/src/cli/handlers-project.js.map +1 -0
- package/dist/src/cli/readiness.js +6 -1
- package/dist/src/cli/readiness.js.map +1 -1
- package/dist/src/cli/registry.js +11 -0
- package/dist/src/cli/registry.js.map +1 -1
- package/dist/src/core/claude-install.js +10 -1
- package/dist/src/core/claude-install.js.map +1 -1
- package/dist/src/core/config.js +63 -7
- package/dist/src/core/config.js.map +1 -1
- package/dist/src/core/db.js +11 -4
- package/dist/src/core/db.js.map +1 -1
- package/dist/src/core/runtime-settings.js +4 -1
- package/dist/src/core/runtime-settings.js.map +1 -1
- package/dist/src/manager/metadata.js +7 -2
- package/dist/src/manager/metadata.js.map +1 -1
- package/dist/src/manager/notes/routes.js +7 -0
- package/dist/src/manager/notes/routes.js.map +1 -1
- package/dist/src/manager/notes/store.js +72 -0
- package/dist/src/manager/notes/store.js.map +1 -1
- package/dist/src/manager/registry.js +1 -1
- package/dist/src/manager/registry.js.map +1 -1
- package/dist/src/manager/scan.js +2 -0
- package/dist/src/manager/scan.js.map +1 -1
- package/dist/src/messaging/send.js +1 -1
- package/dist/src/messaging/send.js.map +1 -1
- package/dist/src/orchestrator/distribute.js +25 -4
- package/dist/src/orchestrator/distribute.js.map +1 -1
- package/dist/src/orchestrator/pipeline.js +21 -5
- package/dist/src/orchestrator/pipeline.js.map +1 -1
- package/dist/src/orchestrator/state-machine.js +7 -1
- package/dist/src/orchestrator/state-machine.js.map +1 -1
- package/dist/src/orchestrator/workspace-context.js +49 -14
- package/dist/src/orchestrator/workspace-context.js.map +1 -1
- package/dist/src/routes/messaging.js +1 -1
- package/dist/src/routes/messaging.js.map +1 -1
- package/dist/src/routes/orchestrate.js +11 -4
- package/dist/src/routes/orchestrate.js.map +1 -1
- package/dist/src/routes/settings.js +73 -8
- package/dist/src/routes/settings.js.map +1 -1
- package/dist/src/security/path-guards.js +35 -14
- package/dist/src/security/path-guards.js.map +1 -1
- package/dist/src/types/cli-engine.js +1 -0
- package/dist/src/types/cli-engine.js.map +1 -1
- package/package.json +19 -4
- package/public/css/chat.css +6 -2
- package/public/dist/assets/{AdvancedExport-CBvz4_IZ.js → AdvancedExport-CZEVPqHb.js} +1 -1
- package/public/dist/assets/{Agent-DlUqCMXJ.js → Agent-BBrJGd5m.js} +1 -1
- package/public/dist/assets/{Browser-66BpLQck.js → Browser-dBaU9G9D.js} +1 -1
- package/public/dist/assets/{ChannelsDiscord-BifT2Dum.js → ChannelsDiscord-CbmWms9-.js} +1 -1
- package/public/dist/assets/{ChannelsTelegram-CK6tYQ8k.js → ChannelsTelegram-BD4Eyztg.js} +1 -1
- package/public/dist/assets/{DashboardMeta-Cc03HT5R.js → DashboardMeta-LVAL7TtE.js} +1 -1
- package/public/dist/assets/{Display-arOjcMQZ.js → Display-CFm1UmEo.js} +1 -1
- package/public/dist/assets/{Employees-YbW-mI67.js → Employees-DcMChleU.js} +1 -1
- package/public/dist/assets/{Heartbeat-CW4eIhtJ.js → Heartbeat-BoobN35p.js} +1 -1
- package/public/dist/assets/{Mcp-ZQ6ARQb6.js → Mcp-9NU4YkKO.js} +1 -1
- package/public/dist/assets/{Memory-BAUWJMqc.js → Memory-uZT30fww.js} +1 -1
- package/public/dist/assets/{MilkdownWysiwygEditor-IAqFtXvM.js → MilkdownWysiwygEditor-Otw40DDF.js} +1 -1
- package/public/dist/assets/{ModelProvider-DUtmFh0J.js → ModelProvider-CsIOyoZP.js} +1 -1
- package/public/dist/assets/{Network-B_4E82zQ.js → Network-D7hGwnyG.js} +1 -1
- package/public/dist/assets/NotesGraphView-CJuk9lKn.js +1 -0
- package/public/dist/assets/Permissions-CcIBptg3.js +1 -0
- package/public/dist/assets/{Permissions-BkADXjQ4.js → Permissions-DwdU3wi8.js} +1 -1
- package/public/dist/assets/{Profile-BcnTCSYM.js → Profile-BNTKD_Ex.js} +1 -1
- package/public/dist/assets/{Prompts-CUs_RoRE.js → Prompts-D_mCfYiu.js} +1 -1
- package/public/dist/assets/{SpeechKeys-qxc-ROWN.js → SpeechKeys-BTXCM-Fs.js} +1 -1
- package/public/dist/assets/agent-meta-BC7mLqo6.js +1 -0
- package/public/dist/assets/{app-CGqTcIeF.js → app-C7MAcAMu.js} +5 -5
- package/public/dist/assets/app-CkFBKUf8.css +1 -0
- package/public/dist/assets/{architectureDiagram-3BPJPVTR-kYIVzmWe.js → architectureDiagram-3BPJPVTR-CJCPEsxo.js} +1 -1
- package/public/dist/assets/{blockDiagram-GPEHLZMM-B204CPhe.js → blockDiagram-GPEHLZMM-CO1bkn0E.js} +2 -2
- package/public/dist/assets/{c4Diagram-AAUBKEIU-DAv6TAjg.js → c4Diagram-AAUBKEIU-D2R36Xu6.js} +1 -1
- package/public/dist/assets/{chunk-3OPIFGDE-DOAvk9x8.js → chunk-3OPIFGDE-DixnEkZw.js} +1 -1
- package/public/dist/assets/chunk-55IACEB6-DhWWzzdj.js +1 -0
- package/public/dist/assets/{chunk-5ZQYHXKU-Bd-RFO5i.js → chunk-5ZQYHXKU-Bli4k6GI.js} +2 -2
- package/public/dist/assets/{chunk-727SXJPM-BrsRzj8z.js → chunk-727SXJPM-sp4W8bhf.js} +1 -1
- package/public/dist/assets/{chunk-AQP2D5EJ-Di6Gstk-.js → chunk-AQP2D5EJ-Co6ucdGq.js} +1 -1
- package/public/dist/assets/{chunk-KSCS5N6A-D9a4ZkOy.js → chunk-KSCS5N6A-Beq1s5eO.js} +2 -2
- package/public/dist/assets/{chunk-L5ZTLDWV-D208QbfC.js → chunk-L5ZTLDWV-DfUlBdXN.js} +1 -1
- package/public/dist/assets/{chunk-LZXEDZCA-CE2KFduj.js → chunk-LZXEDZCA-B_yP4UKw.js} +1 -1
- package/public/dist/assets/{chunk-ND2GUHAM-zZ7h1CPf.js → chunk-ND2GUHAM-3qbNb7I9.js} +1 -1
- package/public/dist/assets/{chunk-O5CBEL6O-BTuvXKFi.js → chunk-O5CBEL6O-D-jDqsN2.js} +1 -1
- package/public/dist/assets/{chunk-WU5MYG2G-C3fKlSvP.js → chunk-WU5MYG2G-DlBJtD7-.js} +1 -1
- package/public/dist/assets/classDiagram-4FO5ZUOK-DmPJvqRM.js +1 -0
- package/public/dist/assets/classDiagram-v2-Q7XG4LA2-ECmTUt7U.js +1 -0
- package/public/dist/assets/constants-BXWl7LTi.js +1 -0
- package/public/dist/assets/{cose-bilkent-S5V4N54A-D1zmarou.js → cose-bilkent-S5V4N54A-Bt9AAJCx.js} +1 -1
- package/public/dist/assets/{dagre-BM42HDAG-BVkBttzA.js → dagre-BM42HDAG-CXEA1wvZ.js} +1 -1
- package/public/dist/assets/{dagre-DnoxfNXr.js → dagre-Ve-IAfyz.js} +1 -1
- package/public/dist/assets/{diagram-2AECGRRQ-Bs32KPnT.js → diagram-2AECGRRQ-CCB0OKc2.js} +1 -1
- package/public/dist/assets/{diagram-5GNKFQAL-YDYgPOQj.js → diagram-5GNKFQAL-Cki9HABy.js} +1 -1
- package/public/dist/assets/{diagram-KO2AKTUF-1tIdFl26.js → diagram-KO2AKTUF-DNBDjE2o.js} +1 -1
- package/public/dist/assets/{diagram-LMA3HP47-B1y15kav.js → diagram-LMA3HP47-Cy23RDPa.js} +1 -1
- package/public/dist/assets/{diagram-OG6HWLK6-C25j1jGg.js → diagram-OG6HWLK6-CT_YF8cA.js} +1 -1
- package/public/dist/assets/dist-3R3GxjCf.js +13 -0
- package/public/dist/assets/{dist-D0PYXGt2.js → dist-BLd7xdyq.js} +1 -1
- package/public/dist/assets/{dist-fJAyK82z.js → dist-BaRrwDy3.js} +1 -1
- package/public/dist/assets/{dist-Rs_Khtjb.js → dist-Bbsp4OF7.js} +1 -1
- package/public/dist/assets/{dist-Cv8S3FhF.js → dist-BkBGlG70.js} +1 -1
- package/public/dist/assets/{dist-0v1UKkQ3.js → dist-BkJ_1mj9.js} +1 -1
- package/public/dist/assets/{dist-BQNQk-1M.js → dist-BxCRVW5D.js} +1 -1
- package/public/dist/assets/{dist-DDDFJ8jG.js → dist-C-v7Rm67.js} +1 -1
- package/public/dist/assets/dist-CNgDEAy8.js +1 -0
- package/public/dist/assets/dist-CO_W5rr2.js +1 -0
- package/public/dist/assets/{dist-vQskrHxt.js → dist-ChAUfTbO.js} +1 -1
- package/public/dist/assets/{dist-CjPin7Mr.js → dist-D-k-lzQT.js} +1 -1
- package/public/dist/assets/dist-D1hPukqY.js +1 -0
- package/public/dist/assets/{dist-C1VqWrYZ.js → dist-D5Qx-jQQ.js} +1 -1
- package/public/dist/assets/{dist-DTQW91xt.js → dist-D7VNzYBv.js} +1 -1
- package/public/dist/assets/{dist-DHQI31dn.js → dist-DAxnodoa.js} +1 -1
- package/public/dist/assets/{dist-CnIrGAPx.js → dist-DHSyODkR.js} +1 -1
- package/public/dist/assets/{dist-CE4s7vg82.js → dist-DaYTPjbb2.js} +1 -1
- package/public/dist/assets/{dist-jcptfm_T.js → dist-DlWi9tVO.js} +1 -1
- package/public/dist/assets/{dist-D66X8iAn.js → dist-DuuoJfRB.js} +1 -1
- package/public/dist/assets/{dist-DzT7frM2.js → dist-Dv36UUXz.js} +1 -1
- package/public/dist/assets/{dist-BVpa_e6W.js → dist-F4CVhitP.js} +1 -1
- package/public/dist/assets/{dist-Qs7HHNCC.js → dist-LHbJYy3N.js} +1 -1
- package/public/dist/assets/{dist-Ck6PnIlo.js → dist-VIlx7JdU.js} +1 -1
- package/public/dist/assets/{dist-D5GUqT-6.js → dist-cgDt2PmY.js} +1 -1
- package/public/dist/assets/dist-eW2LjRIK.js +1 -0
- package/public/dist/assets/{dist-Dm7RAaUo.js → dist-vGn3_sWA.js} +1 -1
- package/public/dist/assets/{employees-DRmX2RDd.js → employees-BmxY8Mw3.js} +1 -1
- package/public/dist/assets/{erDiagram-TEJ5UH35-CRvCbztR.js → erDiagram-TEJ5UH35-Cq7oHdXg.js} +1 -1
- package/public/dist/assets/{flowDiagram-I6XJVG4X-CzvVnib_.js → flowDiagram-I6XJVG4X-D8CdEnfM.js} +1 -1
- package/public/dist/assets/ganttDiagram-6RSMTGT7-B1rzKXi_.js +292 -0
- package/public/dist/assets/{gitGraphDiagram-PVQCEYII-CbKdM7nW.js → gitGraphDiagram-PVQCEYII-CqLh-joi.js} +1 -1
- package/public/dist/assets/{graphlib-BLOO0H5r.js → graphlib-W5bESv3F.js} +1 -1
- package/public/dist/assets/{infoDiagram-5YYISTIA-BrZmg1At.js → infoDiagram-5YYISTIA-C1zVxumj.js} +1 -1
- package/public/dist/assets/{ishikawaDiagram-YF4QCWOH-BDWXqJi5.js → ishikawaDiagram-YF4QCWOH-x-9J6xPM.js} +1 -1
- package/public/dist/assets/{journeyDiagram-JHISSGLW-CPFRd_M3.js → journeyDiagram-JHISSGLW-BDYzHrtn.js} +1 -1
- package/public/dist/assets/{kanban-definition-UN3LZRKU-BcQbBplS.js → kanban-definition-UN3LZRKU-BJ-06i6Z.js} +1 -1
- package/public/dist/assets/manager-B2NWzG7j.css +1 -0
- package/public/dist/assets/manager-C5e1IxEN.js +25 -0
- package/public/dist/assets/memory-BqqibBIE.js +1 -0
- package/public/dist/assets/{memory-BA-ki3gn.js → memory-CRL72HB-.js} +1 -1
- package/public/dist/assets/mermaid-loader-Dqb4ZUz6.js +1 -0
- package/public/dist/assets/{mermaid.core-ArqR5iFa.js → mermaid.core-D8VnfThU.js} +2 -2
- package/public/dist/assets/mermaid.core-DYHvk6Pd.js +1 -0
- package/public/dist/assets/{mindmap-definition-RKZ34NQL-C35cGkNU.js → mindmap-definition-RKZ34NQL-D8NDuIhn.js} +1 -1
- package/public/dist/assets/{pieDiagram-4H26LBE5-B8C_hoqJ.js → pieDiagram-4H26LBE5-CpBePil_.js} +3 -3
- package/public/dist/assets/{quadrantDiagram-W4KKPZXB-BEPrine5.js → quadrantDiagram-W4KKPZXB-C1WWpn88.js} +1 -1
- package/public/dist/assets/{render-C7_e0J_X.js → render-o_YEiCEO.js} +2 -2
- package/public/dist/assets/{requirementDiagram-4Y6WPE33-ClDDon9c.js → requirementDiagram-4Y6WPE33-C_D5VbNk.js} +1 -1
- package/public/dist/assets/{sankeyDiagram-5OEKKPKP-Bjs3OE-1.js → sankeyDiagram-5OEKKPKP--RH3Es8R.js} +3 -3
- package/public/dist/assets/{sequenceDiagram-3UESZ5HK-BM8IAaEe.js → sequenceDiagram-3UESZ5HK-CVI4AjhN.js} +1 -1
- package/public/dist/assets/settings-B0RlyAkI.js +1 -0
- package/public/dist/assets/settings-CCXRL5Ar.js +46 -0
- package/public/dist/assets/sidebar-DRJffqO1.js +14 -0
- package/public/dist/assets/skills-CFdzXbtK.js +1 -0
- package/public/dist/assets/{skills-Dq7fD8I3.js → skills-DbRVI-zf.js} +1 -1
- package/public/dist/assets/slash-commands-BUM6u-Ex.js +1 -0
- package/public/dist/assets/{slash-commands-DRsKtuGT.js → slash-commands-C2YBMaQV.js} +1 -1
- package/public/dist/assets/{stateDiagram-AJRCARHV-BvNABuXE.js → stateDiagram-AJRCARHV-4bx1rPZ3.js} +1 -1
- package/public/dist/assets/stateDiagram-v2-BHNVJYJU-CrfGPzHb.js +1 -0
- package/public/dist/assets/{timeline-definition-PNZ67QCA-CIvTvac3.js → timeline-definition-PNZ67QCA-DeQoGRE2.js} +1 -1
- package/public/dist/assets/{trace-drawer-DDFdU07_.js → trace-drawer-CIVBXyRH.js} +1 -1
- package/public/dist/assets/ui-C3ArwMhv.js +140 -0
- package/public/dist/assets/ui-CboUuc_E.js +1 -0
- package/public/dist/assets/vendor-utils-rVejrfMR.js +1 -0
- package/public/dist/assets/{vennDiagram-CIIHVFJN-C5cbS2KC.js → vennDiagram-CIIHVFJN-CejyJK0L.js} +1 -1
- package/public/dist/assets/{wardleyDiagram-YWT4CUSO-BsRBBGFP.js → wardleyDiagram-YWT4CUSO-DqXV0sa1.js} +1 -1
- package/public/dist/assets/wiki-link-suggestions-e5BzJAZH.js +23 -0
- package/public/dist/assets/{xychartDiagram-2RQKCTM6-B6rqui6F.js → xychartDiagram-2RQKCTM6-CWLoVl2b.js} +2 -2
- package/public/dist/index.html +20 -2
- package/public/dist/manager/index.html +2 -2
- package/public/index.html +18 -0
- package/public/js/constants.ts +12 -1
- package/public/js/features/settings-cli-status.ts +27 -4
- package/public/js/features/settings-core.ts +28 -15
- package/public/js/features/settings-types.ts +1 -0
- package/public/js/features/ui-status.ts +3 -0
- package/public/js/ws.ts +5 -1
- package/public/manager/src/SidebarRailRouter.tsx +5 -2
- package/public/manager/src/api.ts +13 -0
- package/public/manager/src/components/WorkbenchHeader.tsx +10 -0
- package/public/manager/src/manager-notes.css +228 -0
- package/public/manager/src/notes/NotesBacklinksPanel.tsx +91 -0
- package/public/manager/src/notes/NotesCommandPalette.tsx +212 -0
- package/public/manager/src/notes/NotesGraphView.tsx +145 -0
- package/public/manager/src/notes/NotesSidebar.tsx +183 -5
- package/public/manager/src/notes/NotesToolbar.tsx +9 -3
- package/public/manager/src/notes/NotesWorkspace.tsx +140 -4
- package/public/manager/src/notes/notes-api.ts +2 -0
- package/public/manager/src/notes/notes-command-registry.tsx +79 -0
- package/public/manager/src/notes/notes-quick-switcher.css +151 -0
- package/public/manager/src/notes/notes-shortcuts.ts +23 -0
- package/public/manager/src/notes/notes-types.ts +1 -1
- package/public/manager/src/notes/template-engine.ts +27 -0
- package/public/manager/src/settings/pages/components/agent/agent-meta.ts +7 -1
- package/public/manager/src/types.ts +2 -1
- package/scripts/audit-fresh-install-evidence.mjs +278 -0
- package/scripts/collect-fresh-install-evidence.sh +459 -0
- package/scripts/fresh-install-smoke.ts +85 -6
- package/scripts/install-officecli.ps1 +14 -1
- package/scripts/install-risk-gate.mjs +161 -0
- package/scripts/install-wsl.sh +78 -16
- package/scripts/install.sh +272 -72
- package/scripts/postinstall-guard.cjs +2 -2
- package/scripts/release-preview.sh +25 -3
- package/scripts/release.sh +37 -8
- package/scripts/require-release-evidence.mjs +236 -0
- package/scripts/verify-fresh-install.sh +120 -0
- package/scripts/verify-release-evidence.mjs +158 -0
- package/public/dist/assets/Permissions-DvUCB8wA.js +0 -1
- package/public/dist/assets/agent-meta-Du8y6mSM.js +0 -1
- package/public/dist/assets/app-Dpk6cE6C.css +0 -1
- package/public/dist/assets/chunk-55IACEB6-Dx2JkQLw.js +0 -1
- package/public/dist/assets/classDiagram-4FO5ZUOK-Cb-qL5u3.js +0 -1
- package/public/dist/assets/classDiagram-v2-Q7XG4LA2-BPhGdj15.js +0 -1
- package/public/dist/assets/constants-BxG09J6S.js +0 -1
- package/public/dist/assets/dist-BMi_buEb.js +0 -1
- package/public/dist/assets/dist-BkrbW_LS.js +0 -1
- package/public/dist/assets/dist-C3vh7d65.js +0 -13
- package/public/dist/assets/dist-D815C1Fv.js +0 -1
- package/public/dist/assets/dist-sOV2kBhQ.js +0 -1
- package/public/dist/assets/ganttDiagram-6RSMTGT7-BbUYP6iv.js +0 -292
- package/public/dist/assets/manager-B5OmizBL.css +0 -1
- package/public/dist/assets/manager-Cs3eMBcx.js +0 -25
- package/public/dist/assets/memory-DLQbyBA3.js +0 -1
- package/public/dist/assets/mermaid-loader-BVPsKrpr.js +0 -1
- package/public/dist/assets/mermaid.core-BAwu4U2Y.js +0 -1
- package/public/dist/assets/settings-DjyKdqev.js +0 -1
- package/public/dist/assets/settings-pUJzyeX2.js +0 -42
- package/public/dist/assets/sidebar-CO9Qjj6v.js +0 -14
- package/public/dist/assets/skills-CX3qJ77s.js +0 -1
- package/public/dist/assets/slash-commands-UbS8w9ij.js +0 -1
- package/public/dist/assets/stateDiagram-v2-BHNVJYJU-CCIo81qy.js +0 -1
- package/public/dist/assets/ui-CeBmBBZM.js +0 -140
- package/public/dist/assets/ui-TMXjvH0r.js +0 -1
- package/public/dist/assets/vendor-utils-BnxL60_-.js +0 -1
- package/public/dist/assets/wiki-link-suggestions-BHwNQXT_.js +0 -23
- /package/public/dist/assets/{HealthBadge-DEPFkcA0.js → HealthBadge-CfLTPTPW.js} +0 -0
- /package/public/dist/assets/{InlineWarn-DoJS7AgM.js → InlineWarn-C7ISyzDI.js} +0 -0
- /package/public/dist/assets/{fields-DUawAHWZ.js → fields-BwD_NGxe.js} +0 -0
- /package/public/dist/assets/{locale-BHMJIzyw.js → locale-DT1WRaeJ.js} +0 -0
- /package/public/dist/assets/{page-shell-CVAobxbP.js → page-shell-uNOxwdbr.js} +0 -0
- /package/public/dist/assets/{path-utils-r2bJIu28.js → path-utils-h2GAj3hH.js} +0 -0
- /package/public/dist/assets/{provider-icons-dxT69zGg.js → provider-icons-ClVd2suJ.js} +0 -0
package/README.ja.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# CLI-JAW
|
|
4
4
|
|
|
5
|
-
### あなた専用の AI エージェント。2 行でインストール。
|
|
5
|
+
### あなた専用の AI エージェント。2 行でインストール。10 個の AI ランタイムをひとつのダッシュボードに。
|
|
6
6
|
|
|
7
7
|
[](https://npmjs.com/package/cli-jaw)
|
|
8
8
|
[](https://github.com/lidge-jun/cli-jaw/releases)
|
|
@@ -24,28 +24,29 @@
|
|
|
24
24
|
# macOS / Linux
|
|
25
25
|
JAW_SAFE=1 npm install -g cli-jaw # skips optional tool/runtime setup
|
|
26
26
|
jaw init # 準備ができたら対話型セットアップ
|
|
27
|
-
|
|
28
|
-
# Windows PowerShell
|
|
29
|
-
$env:JAW_SAFE="1"; npm install -g cli-jaw
|
|
30
|
-
jaw init
|
|
31
27
|
```
|
|
32
28
|
|
|
29
|
+
Windows ユーザーは下の WSL インストール手順を使ってください。ネイティブ PowerShell は CLI-JAW のサポート対象インストール先ではありません。
|
|
30
|
+
|
|
33
31
|
</details>
|
|
34
32
|
|
|
35
33
|
```bash
|
|
34
|
+
# macOS / Linux / WSL、Node.js 22+ が既にある場合
|
|
36
35
|
npm install -g cli-jaw
|
|
37
36
|
jaw dashboard
|
|
38
37
|
```
|
|
39
38
|
|
|
40
39
|
これで完了です。**http://localhost:3457** を開けば、あなた専用の AI エージェントが使えます。[Node.js 22+](https://nodejs.org) が必要です。
|
|
41
40
|
|
|
42
|
-
> **初めてですか?**
|
|
41
|
+
> **初めてですか?** デフォルトの npm インストールは CLI-JAW の初期化とネイティブ Claude のセットアップを試みます。他の AI CLI は任意です。macOS/Linux で npm インストール時にすべて入れる場合は `CLI_JAW_INSTALL_CLI_TOOLS=1 npm install -g cli-jaw` を使ってください。Windows では下の WSL インストール手順を使ってください。
|
|
43
42
|
|
|
44
43
|
<details>
|
|
45
44
|
<summary><b>macOS ワンクリック</b> — Node.js がない場合はこちら</summary>
|
|
46
45
|
|
|
47
46
|
```bash
|
|
48
47
|
curl -fsSL https://raw.githubusercontent.com/lidge-jun/cli-jaw/master/scripts/install.sh | bash
|
|
48
|
+
source "${ZDOTDIR:-$HOME}/.zshrc" 2>/dev/null || true
|
|
49
|
+
bash "$(npm root -g)/cli-jaw/scripts/verify-fresh-install.sh"
|
|
49
50
|
```
|
|
50
51
|
|
|
51
52
|
</details>
|
|
@@ -65,6 +66,13 @@ wsl --install
|
|
|
65
66
|
curl -fsSL https://raw.githubusercontent.com/lidge-jun/cli-jaw/master/scripts/install-wsl.sh | bash
|
|
66
67
|
source ~/.bashrc
|
|
67
68
|
jaw dashboard
|
|
69
|
+
bash "$(npm root -g)/cli-jaw/scripts/verify-fresh-install.sh"
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Windows PowerShell から WSL 内のコマンドを実行する場合は、WSL profile PATH が読み込まれるよう login shell 経由にしてください:
|
|
73
|
+
|
|
74
|
+
```powershell
|
|
75
|
+
wsl.exe -d Ubuntu -- bash -lc "jaw dashboard"
|
|
68
76
|
```
|
|
69
77
|
|
|
70
78
|
</details>
|
|
@@ -82,7 +90,7 @@ docker compose up -d # → http://localhost:3457
|
|
|
82
90
|
|
|
83
91
|
## CLI-JAW とは
|
|
84
92
|
|
|
85
|
-
CLI-JAW は、すでに使っている AI コーディング CLI — Claude、Codex、Gemini、Grok、OpenCode、Copilot — を**ひとつのアシスタント、ひとつのメモリ、ひとつのダッシュボード**に統合するオープンソースプラットフォームです。
|
|
93
|
+
CLI-JAW は、すでに使っている AI コーディング CLI — Antigravity、AI-E、Claude、Claude E、Codex、Codex App、Gemini、Grok、OpenCode、Copilot — を**ひとつのアシスタント、ひとつのメモリ、ひとつのダッシュボード**に統合するオープンソースプラットフォームです。
|
|
86
94
|
|
|
87
95
|
メイン CLI(Boss)が他の CLI を「Employee(従業員)」として呼び出します。アプリを切り替える必要はなく、ひとつの場所から指示できます。
|
|
88
96
|
|
|
@@ -238,6 +246,9 @@ Employee は「Frontend は CSS、Backend は API」用。サブエージェン
|
|
|
238
246
|
| CLI | デフォルトモデル | 認証 | コスト |
|
|
239
247
|
|---|---|---|---|
|
|
240
248
|
| **Claude** | `opus-4-6` | `claude auth login` | Claude Max サブスクリプション |
|
|
249
|
+
| **Claude E** | `opus-4-6` | underlying `claude auth login` | 実験的なインタラクティブ Claude wrapper |
|
|
250
|
+
| **AI-E** | provider-selected | 選択 provider の認証 | マルチ provider runtime wrapper |
|
|
251
|
+
| **Antigravity** | AGY-selected | `agy` 実行時に確認 | `--conversation` resume 対応の実験的な AGY print-mode runtime。モデル変更は native AGY UI 側 |
|
|
241
252
|
| **Codex** | `gpt-5.5` | `codex login` | ChatGPT Pro サブスクリプション |
|
|
242
253
|
| **Codex App** | `gpt-5.4` | `codex login` | ChatGPT Pro サブスクリプション |
|
|
243
254
|
| **Gemini** | `gemini-3.1-pro-preview` | `gemini` | Gemini Advanced サブスクリプション |
|
|
@@ -245,6 +256,8 @@ Employee は「Frontend は CSS、Backend は API」用。サブエージェン
|
|
|
245
256
|
| **OpenCode** | `minimax-m2.7` | `opencode` | 無料モデルあり |
|
|
246
257
|
| **Copilot** | `gpt-5-mini` | `copilot login` | 無料枠あり |
|
|
247
258
|
|
|
259
|
+
クォータ/ステータスパネルは registry と同じ runtime キーセットを維持します。Wrapper runtime(`ai-e`, `claude-e`, `codex-app`)は underlying provider に委譲し、AGY/Grok/OpenCode のように CLI が quota window を公開しない場合は auth/status-only として表示します。
|
|
260
|
+
|
|
248
261
|
**フォールバックチェーン**:あるエンジンがレートリミットされると、次のエンジンが自動で引き継ぎます。`/fallback [cli1 cli2...]` で設定。
|
|
249
262
|
|
|
250
263
|
**OpenCode ワイルドカード**:OpenRouter、ローカル LLM(大規模言語モデル)、OpenAI 互換 API など任意のモデルエンドポイントに接続可能。
|
|
@@ -363,10 +376,10 @@ Telegram と同等の機能 — テキスト、ファイル、コマンド。チ
|
|
|
363
376
|
|
|
364
377
|
```bash
|
|
365
378
|
jaw mcp install @anthropic/context7
|
|
366
|
-
# → Claude、Codex、Gemini、OpenCode、Copilot の設定ファイルに同期
|
|
379
|
+
# → Claude、Codex、Gemini、OpenCode、Copilot、Antigravity の設定ファイルに同期
|
|
367
380
|
```
|
|
368
381
|
|
|
369
|
-
複数の JSON ファイルを個別に編集する必要はありません。一度インストールすれば MCP 対応エンジンすべてに反映されます。Grok CLI は標準ランタイムですが、Grok 側に互換 MCP 設定面が確認されるまで MCP 同期対象とは表記しません。
|
|
382
|
+
複数の JSON ファイルを個別に編集する必要はありません。一度インストールすれば MCP 対応エンジンすべてに反映されます。Grok CLI は標準ランタイムですが、Grok 側に互換 MCP 設定面が確認されるまで MCP 同期対象とは表記しません。Antigravity MCP sync は `agy` runtime registry entry とは別の config target です。
|
|
370
383
|
|
|
371
384
|
```bash
|
|
372
385
|
jaw mcp sync # 手動編集後の再同期
|
|
@@ -444,7 +457,7 @@ npm run gate:all # リリース/ドキュメント整合性ゲート
|
|
|
444
457
|
|
|
445
458
|
| | CLI-JAW 2.0 | Hermes Agent | Claude Code |
|
|
446
459
|
|---|---|---|---|
|
|
447
|
-
| **モデルアクセス** | Claude、Codex、Codex App、Gemini、Grok、OpenCode、Copilot —
|
|
460
|
+
| **モデルアクセス** | Antigravity、AI-E、Claude、Claude E、Codex、Codex App、Gemini、Grok、OpenCode、Copilot — ベンダー/ネイティブ認証経由 | API キー(OpenRouter 200+、Nous Portal) | Anthropic のみ |
|
|
448
461
|
| **コストモデル** | 契約済みの月額サブスクリプション | トークン単位の API 課金 | Anthropic サブスクリプション |
|
|
449
462
|
| **メイン UI** | マネージャーダッシュボード + Web アプリ + Mac アプリ + ターミナル UI | ターミナルのみ | CLI + IDE プラグイン |
|
|
450
463
|
| **ダッシュボード** | マルチインスタンスマネージャー、カンバン、ノートワークスペース | なし | なし |
|
|
@@ -462,7 +475,7 @@ npm run gate:all # リリース/ドキュメント整合性ゲート
|
|
|
462
475
|
|
|
463
476
|
| 症状 | 対処 |
|
|
464
477
|
|---|---|
|
|
465
|
-
| `cli-jaw: command not found` | `npm install -g cli-jaw`
|
|
478
|
+
| `cli-jaw: command not found` | `npm install -g cli-jaw` を再実行。macOS/Linux/WSL では `~/.local/bin` または `npm prefix -g` + `/bin` が `$PATH` に含まれているか確認。Windows PowerShell からは `wsl.exe -d Ubuntu -- bash -lc "jaw dashboard"` のように WSL login shell 経由で実行 |
|
|
466
479
|
| `Error: node version` | Node.js 22+ にアップグレード:`nvm install 22` |
|
|
467
480
|
| `NODE_MODULE_VERSION` mismatch | `npm run ensure:native`(ネイティブモジュールの自動リビルド) |
|
|
468
481
|
| `EADDRINUSE: port 3457` | 別のインスタンスが起動中。`--port 3458` で回避 |
|
package/README.ko.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# CLI-JAW
|
|
4
4
|
|
|
5
|
-
### 나만의 AI 에이전트. 2줄이면 설치 끝.
|
|
5
|
+
### 나만의 AI 에이전트. 2줄이면 설치 끝. 10개 AI 런타임을 하나의 대시보드에서.
|
|
6
6
|
|
|
7
7
|
[](https://npmjs.com/package/cli-jaw)
|
|
8
8
|
[](https://github.com/lidge-jun/cli-jaw/releases)
|
|
@@ -24,28 +24,29 @@
|
|
|
24
24
|
# macOS / Linux
|
|
25
25
|
JAW_SAFE=1 npm install -g cli-jaw # skips optional tool/runtime setup
|
|
26
26
|
jaw init # 준비되면 대화형 설정
|
|
27
|
-
|
|
28
|
-
# Windows PowerShell
|
|
29
|
-
$env:JAW_SAFE="1"; npm install -g cli-jaw
|
|
30
|
-
jaw init
|
|
31
27
|
```
|
|
32
28
|
|
|
29
|
+
Windows 사용자는 아래 WSL 설치 경로를 사용하세요. 네이티브 PowerShell은 지원되는 CLI-JAW 설치 대상이 아닙니다.
|
|
30
|
+
|
|
33
31
|
</details>
|
|
34
32
|
|
|
35
33
|
```bash
|
|
34
|
+
# macOS / Linux / WSL, Node.js 22+가 이미 설치된 경우
|
|
36
35
|
npm install -g cli-jaw
|
|
37
36
|
jaw dashboard
|
|
38
37
|
```
|
|
39
38
|
|
|
40
39
|
끝입니다. **http://localhost:3457** 을 열면 나만의 AI 에이전트가 준비됩니다. [Node.js 22+](https://nodejs.org) 필요.
|
|
41
40
|
|
|
42
|
-
> **처음이세요?**
|
|
41
|
+
> **처음이세요?** 기본 npm 설치는 CLI-JAW 초기화와 네이티브 Claude 설정을 시도합니다. 다른 AI CLI는 선택 사항입니다. macOS/Linux에서 npm 설치 중 모두 설치하려면 `CLI_JAW_INSTALL_CLI_TOOLS=1 npm install -g cli-jaw`를 사용하세요. Windows에서는 아래 WSL 설치 경로를 사용하세요.
|
|
43
42
|
|
|
44
43
|
<details>
|
|
45
44
|
<summary><b>macOS 원클릭</b> — Node.js가 없다면 이걸로</summary>
|
|
46
45
|
|
|
47
46
|
```bash
|
|
48
47
|
curl -fsSL https://raw.githubusercontent.com/lidge-jun/cli-jaw/master/scripts/install.sh | bash
|
|
48
|
+
source "${ZDOTDIR:-$HOME}/.zshrc" 2>/dev/null || true
|
|
49
|
+
bash "$(npm root -g)/cli-jaw/scripts/verify-fresh-install.sh"
|
|
49
50
|
```
|
|
50
51
|
|
|
51
52
|
</details>
|
|
@@ -65,6 +66,13 @@ wsl --install
|
|
|
65
66
|
curl -fsSL https://raw.githubusercontent.com/lidge-jun/cli-jaw/master/scripts/install-wsl.sh | bash
|
|
66
67
|
source ~/.bashrc
|
|
67
68
|
jaw dashboard
|
|
69
|
+
bash "$(npm root -g)/cli-jaw/scripts/verify-fresh-install.sh"
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Windows PowerShell에서 WSL로 실행할 때는 WSL 프로필 PATH가 로드되도록 login shell을 거치세요:
|
|
73
|
+
|
|
74
|
+
```powershell
|
|
75
|
+
wsl.exe -d Ubuntu -- bash -lc "jaw dashboard"
|
|
68
76
|
```
|
|
69
77
|
|
|
70
78
|
</details>
|
|
@@ -82,7 +90,7 @@ docker compose up -d # → http://localhost:3457
|
|
|
82
90
|
|
|
83
91
|
## CLI-JAW가 뭔가요?
|
|
84
92
|
|
|
85
|
-
CLI-JAW는 여러분이 이미 사용하는 AI 코딩 CLI — Claude, Codex, Gemini, Grok, OpenCode, Copilot — 를 **하나의 비서, 하나의 메모리, 하나의 대시보드**로 통합하는 오픈소스 플랫폼입니다.
|
|
93
|
+
CLI-JAW는 여러분이 이미 사용하는 AI 코딩 CLI — Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Gemini, Grok, OpenCode, Copilot — 를 **하나의 비서, 하나의 메모리, 하나의 대시보드**로 통합하는 오픈소스 플랫폼입니다.
|
|
86
94
|
|
|
87
95
|
메인 CLI(Boss)가 다른 CLI를 "직원"으로 부릅니다. 앱을 왔다 갔다 할 필요 없이 한 곳에서 지시하면 됩니다.
|
|
88
96
|
|
|
@@ -238,6 +246,9 @@ jaw dispatch --agent "Frontend" --task "dashboard.tsx의 CSS 그리드 레이아
|
|
|
238
246
|
| CLI | 기본 모델 | 인증 | 비용 |
|
|
239
247
|
|---|---|---|---|
|
|
240
248
|
| **Claude** | `opus-4-6` | `claude auth login` | Claude Max 구독 |
|
|
249
|
+
| **Claude E** | `opus-4-6` | underlying `claude auth login` | 실험적 인터랙티브 Claude wrapper |
|
|
250
|
+
| **AI-E** | provider-selected | 선택 provider 인증 | 다중 provider runtime wrapper |
|
|
251
|
+
| **Antigravity** | AGY-selected | `agy` 실행 시 확인 | `--conversation` resume을 쓰는 실험적 AGY print-mode runtime; 모델 변경은 native AGY UI 표면 |
|
|
241
252
|
| **Codex** | `gpt-5.5` | `codex login` | ChatGPT Pro 구독 |
|
|
242
253
|
| **Codex App** | `gpt-5.4` | `codex login` | ChatGPT Pro 구독 |
|
|
243
254
|
| **Gemini** | `gemini-3.1-pro-preview` | `gemini` | Gemini Advanced 구독 |
|
|
@@ -245,6 +256,8 @@ jaw dispatch --agent "Frontend" --task "dashboard.tsx의 CSS 그리드 레이아
|
|
|
245
256
|
| **OpenCode** | `minimax-m2.7` | `opencode` | 무료 모델 사용 가능 |
|
|
246
257
|
| **Copilot** | `gpt-5-mini` | `copilot login` | 무료 티어 사용 가능 |
|
|
247
258
|
|
|
259
|
+
쿼터/상태 패널은 registry와 같은 runtime 키셋을 유지합니다. Wrapper runtime(`ai-e`, `claude-e`, `codex-app`)은 underlying provider로 위임하고, AGY/Grok/OpenCode처럼 CLI가 quota window를 노출하지 않는 경우 auth/status-only로 표시합니다.
|
|
260
|
+
|
|
248
261
|
**Fallback 체인**: 한 엔진이 레이트 리밋되면 다음이 이어받습니다. `/fallback [cli1 cli2...]`로 설정.
|
|
249
262
|
|
|
250
263
|
**OpenCode 와일드카드**: OpenRouter, 로컬 LLM(대규모 언어 모델), OpenAI 호환 API 등 어떤 모델 엔드포인트든 연결 가능.
|
|
@@ -363,10 +376,10 @@ Web(마이크 버튼), Telegram(음성 메시지), Discord에서 음성 입력
|
|
|
363
376
|
|
|
364
377
|
```bash
|
|
365
378
|
jaw mcp install @anthropic/context7
|
|
366
|
-
# → Claude, Codex, Gemini, OpenCode, Copilot 설정 파일에 동시에 동기화
|
|
379
|
+
# → Claude, Codex, Gemini, OpenCode, Copilot, Antigravity 설정 파일에 동시에 동기화
|
|
367
380
|
```
|
|
368
381
|
|
|
369
|
-
여러 JSON 파일을 따로 편집할 필요 없습니다. 한 번 설치하면 MCP 지원 엔진 전체에 반영됩니다. Grok CLI는 표준 런타임이지만, Grok 쪽에 호환 MCP 설정이 확인될 때까지 MCP 동기화 대상으로 표기하지 않습니다.
|
|
382
|
+
여러 JSON 파일을 따로 편집할 필요 없습니다. 한 번 설치하면 MCP 지원 엔진 전체에 반영됩니다. Grok CLI는 표준 런타임이지만, Grok 쪽에 호환 MCP 설정이 확인될 때까지 MCP 동기화 대상으로 표기하지 않습니다. Antigravity MCP 동기화는 `agy` runtime registry entry와 별개의 config target입니다.
|
|
370
383
|
|
|
371
384
|
```bash
|
|
372
385
|
jaw mcp sync # 수동 편집 후 다시 동기화
|
|
@@ -444,7 +457,7 @@ npm run gate:all # 릴리스/문서 정합성 게이트
|
|
|
444
457
|
|
|
445
458
|
| | CLI-JAW 2.0 | Hermes Agent | Claude Code |
|
|
446
459
|
|---|---|---|---|
|
|
447
|
-
| **모델 접근** | Claude, Codex, Codex App, Gemini, Grok, OpenCode, Copilot —
|
|
460
|
+
| **모델 접근** | Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Gemini, Grok, OpenCode, Copilot — 벤더/네이티브 인증으로 연결 | API 키 (OpenRouter 200+, Nous Portal) | Anthropic 전용 |
|
|
448
461
|
| **비용 모델** | 이미 결제 중인 월 구독 그대로 | 토큰당 API 과금 | Anthropic 구독 |
|
|
449
462
|
| **메인 UI** | 매니저 대시보드 + 웹앱 + Mac앱 + 터미널 UI | 터미널 전용 | CLI + IDE 플러그인 |
|
|
450
463
|
| **대시보드** | 멀티 인스턴스 매니저, 칸반, 노트 워크스페이스 | 없음 | 없음 |
|
|
@@ -462,7 +475,7 @@ npm run gate:all # 릴리스/문서 정합성 게이트
|
|
|
462
475
|
|
|
463
476
|
| 문제 | 해결 방법 |
|
|
464
477
|
|---|---|
|
|
465
|
-
| `cli-jaw: command not found` | `npm install -g cli-jaw` 재실행. `~/.local/bin` 또는 `npm
|
|
478
|
+
| `cli-jaw: command not found` | `npm install -g cli-jaw` 재실행. macOS/Linux/WSL에서는 `~/.local/bin` 또는 `npm prefix -g` + `/bin`이 `$PATH`에 있는지 확인. Windows PowerShell에서는 `wsl.exe -d Ubuntu -- bash -lc "jaw dashboard"`처럼 WSL login shell로 실행 |
|
|
466
479
|
| `Error: node version` | Node.js 22+로 업그레이드: `nvm install 22` |
|
|
467
480
|
| `NODE_MODULE_VERSION` mismatch | `npm run ensure:native` (네이티브 모듈 자동 재빌드) |
|
|
468
481
|
| `EADDRINUSE: port 3457` | 다른 인스턴스 실행 중. `--port 3458` 사용 또는 기존 프로세스 종료 |
|
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# CLI-JAW
|
|
4
4
|
|
|
5
|
-
### Your personal AI agent. 2 lines to install.
|
|
5
|
+
### Your personal AI agent. 2 lines to install. 10 AI runtime surfaces in one dashboard.
|
|
6
6
|
|
|
7
7
|
[](https://npmjs.com/package/cli-jaw)
|
|
8
8
|
[](https://github.com/lidge-jun/cli-jaw/releases)
|
|
@@ -24,28 +24,29 @@
|
|
|
24
24
|
# macOS / Linux
|
|
25
25
|
JAW_SAFE=1 npm install -g cli-jaw # skips optional tool/runtime setup
|
|
26
26
|
jaw init # interactive setup later when you're ready
|
|
27
|
-
|
|
28
|
-
# Windows PowerShell
|
|
29
|
-
$env:JAW_SAFE="1"; npm install -g cli-jaw
|
|
30
|
-
jaw init
|
|
31
27
|
```
|
|
32
28
|
|
|
29
|
+
Windows users should use the WSL install path below. Native PowerShell is not the supported CLI-JAW install target.
|
|
30
|
+
|
|
33
31
|
</details>
|
|
34
32
|
|
|
35
33
|
```bash
|
|
34
|
+
# macOS / Linux / WSL with Node.js 22+ already installed
|
|
36
35
|
npm install -g cli-jaw
|
|
37
36
|
jaw dashboard
|
|
38
37
|
```
|
|
39
38
|
|
|
40
39
|
That's it. Open **http://localhost:3457** and you have a personal AI agent. Requires [Node.js 22+](https://nodejs.org).
|
|
41
40
|
|
|
42
|
-
> **First time?** The
|
|
41
|
+
> **First time?** The default npm install initializes CLI-JAW and attempts native Claude setup. Other AI CLIs are optional; install them all during npm setup with `CLI_JAW_INSTALL_CLI_TOOLS=1 npm install -g cli-jaw` on macOS/Linux. On Windows, use the WSL install path below.
|
|
43
42
|
|
|
44
43
|
<details>
|
|
45
44
|
<summary><b>macOS one-click</b> — don't have Node.js? This installs everything</summary>
|
|
46
45
|
|
|
47
46
|
```bash
|
|
48
47
|
curl -fsSL https://raw.githubusercontent.com/lidge-jun/cli-jaw/master/scripts/install.sh | bash
|
|
48
|
+
source "${ZDOTDIR:-$HOME}/.zshrc" 2>/dev/null || true
|
|
49
|
+
bash "$(npm root -g)/cli-jaw/scripts/verify-fresh-install.sh"
|
|
49
50
|
```
|
|
50
51
|
|
|
51
52
|
</details>
|
|
@@ -65,6 +66,84 @@ Restart, open **Ubuntu**, then:
|
|
|
65
66
|
curl -fsSL https://raw.githubusercontent.com/lidge-jun/cli-jaw/master/scripts/install-wsl.sh | bash
|
|
66
67
|
source ~/.bashrc
|
|
67
68
|
jaw dashboard
|
|
69
|
+
bash "$(npm root -g)/cli-jaw/scripts/verify-fresh-install.sh"
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
From Windows PowerShell into WSL, run commands through a login shell so the WSL profile PATH is loaded:
|
|
73
|
+
|
|
74
|
+
```powershell
|
|
75
|
+
wsl.exe -d Ubuntu -- bash -lc "jaw dashboard"
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
</details>
|
|
79
|
+
|
|
80
|
+
<details>
|
|
81
|
+
<summary><b>Fresh-machine evidence</b> — maintainer release check</summary>
|
|
82
|
+
|
|
83
|
+
Run this on a clean VM before publishing installer changes. It writes environment snapshots, installer logs, the exact collector/installer/verifier scripts that ran, their SHA-256 hashes, verifier logs, and new-shell PATH probes into `~/cli-jaw-fresh-install-evidence-*`.
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
# macOS Terminal
|
|
87
|
+
COLLECTOR=/tmp/cli-jaw-collect-fresh-install-evidence.sh
|
|
88
|
+
curl -fsSL https://raw.githubusercontent.com/lidge-jun/cli-jaw/master/scripts/collect-fresh-install-evidence.sh -o "$COLLECTOR"
|
|
89
|
+
bash "$COLLECTOR" --target macos
|
|
90
|
+
|
|
91
|
+
# Ubuntu inside WSL
|
|
92
|
+
COLLECTOR=/tmp/cli-jaw-collect-fresh-install-evidence.sh
|
|
93
|
+
curl -fsSL https://raw.githubusercontent.com/lidge-jun/cli-jaw/master/scripts/collect-fresh-install-evidence.sh -o "$COLLECTOR"
|
|
94
|
+
bash "$COLLECTOR" --target wsl
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
From Windows PowerShell, enter the supported WSL path:
|
|
98
|
+
|
|
99
|
+
```powershell
|
|
100
|
+
wsl.exe -d Ubuntu -- bash -lc 'COLLECTOR=/tmp/cli-jaw-collect-fresh-install-evidence.sh; curl -fsSL https://raw.githubusercontent.com/lidge-jun/cli-jaw/master/scripts/collect-fresh-install-evidence.sh -o "$COLLECTOR"; bash "$COLLECTOR" --target wsl'
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
If the collector says `powershell.exe` is not available inside WSL, run this from Windows PowerShell before auditing:
|
|
104
|
+
|
|
105
|
+
```powershell
|
|
106
|
+
wsl.exe -d Ubuntu -- bash -lc 'EVIDENCE_DIR="$(ls -dt ~/cli-jaw-fresh-install-evidence-* | head -1)"; { echo "command=wsl.exe -d Ubuntu -- bash -lc jaw --version"; jaw --version; } | tee "$EVIDENCE_DIR/33-powershell-to-wsl-probe.log"'
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
For an unmerged branch or local VM checkout, pass the local installer and verifier explicitly:
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
bash scripts/collect-fresh-install-evidence.sh --target macos --install-script scripts/install.sh --verifier-script scripts/verify-fresh-install.sh
|
|
113
|
+
bash scripts/collect-fresh-install-evidence.sh --target wsl --install-script scripts/install-wsl.sh --verifier-script scripts/verify-fresh-install.sh
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Audit each collected directory before treating it as target evidence:
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
EVIDENCE_DIR="$(ls -dt ~/cli-jaw-fresh-install-evidence-* | head -1)"
|
|
120
|
+
AUDITOR="$(npm root -g)/cli-jaw/scripts/audit-fresh-install-evidence.mjs"
|
|
121
|
+
node "$AUDITOR" "$EVIDENCE_DIR" --target macos
|
|
122
|
+
node "$AUDITOR" "$EVIDENCE_DIR" --target wsl
|
|
123
|
+
|
|
124
|
+
# For a local checkout, audit with the checkout's auditor:
|
|
125
|
+
node scripts/audit-fresh-install-evidence.mjs "$EVIDENCE_DIR" --target macos
|
|
126
|
+
node scripts/audit-fresh-install-evidence.mjs "$EVIDENCE_DIR" --target wsl
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Before publishing installer changes, run the matrix gate with both strict evidence directories:
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
GATE="$(npm root -g)/cli-jaw/scripts/verify-release-evidence.mjs"
|
|
133
|
+
node "$GATE" --macos /path/to/macos-evidence --wsl /path/to/wsl-evidence
|
|
134
|
+
|
|
135
|
+
# For a local checkout:
|
|
136
|
+
node scripts/verify-release-evidence.mjs --macos /path/to/macos-evidence --wsl /path/to/wsl-evidence
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
The matrix gate rejects evidence collected with stale collector, installer, or verifier scripts; archived evidence scripts must match the current package or checkout that runs the gate.
|
|
140
|
+
|
|
141
|
+
When `scripts/release.sh`, `scripts/release-preview.sh`, or `npm publish` detects installer-sensitive changes since the previous tag, it runs this same matrix gate before any git push or npm publish. Set the evidence directories before starting a release:
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
CLI_JAW_MACOS_EVIDENCE_DIR=/path/to/macos-evidence \
|
|
145
|
+
CLI_JAW_WSL_EVIDENCE_DIR=/path/to/wsl-evidence \
|
|
146
|
+
bash scripts/release.sh patch
|
|
68
147
|
```
|
|
69
148
|
|
|
70
149
|
</details>
|
|
@@ -82,7 +161,7 @@ docker compose up -d # → http://localhost:3457
|
|
|
82
161
|
|
|
83
162
|
## What is CLI-JAW?
|
|
84
163
|
|
|
85
|
-
CLI-JAW is an open-source platform that unifies the AI coding CLIs you already use — Claude, Codex, Gemini, Grok, OpenCode, Copilot — into **one assistant with one memory and one dashboard**.
|
|
164
|
+
CLI-JAW is an open-source platform that unifies the AI coding CLIs you already use — Claude, Claude E, AI-E, Antigravity, Codex, Codex App, Gemini, Grok, OpenCode, and Copilot — into **one assistant with one memory and one dashboard**.
|
|
86
165
|
|
|
87
166
|
Your main CLI (the “Boss”) calls the others as “employees.” You stop copy-pasting between apps and start giving orders from a single place.
|
|
88
167
|
|
|
@@ -238,6 +317,9 @@ No per-token API billing. Route through subscriptions you already pay for.
|
|
|
238
317
|
| CLI | Default Model | Auth | Cost |
|
|
239
318
|
|---|---|---|---|
|
|
240
319
|
| **Claude** | `opus-4-6` | `claude auth login` | Claude Max subscription |
|
|
320
|
+
| **Claude E** | `opus-4-6` | underlying `claude auth login` | Experimental interactive Claude wrapper |
|
|
321
|
+
| **AI-E** | provider-selected | selected provider auth | Multi-provider runtime wrapper |
|
|
322
|
+
| **Antigravity** | AGY-selected | checked by `agy` at run time | Experimental AGY print-mode runtime with `--conversation` resume; model switching stays in native AGY UI |
|
|
241
323
|
| **Codex** | `gpt-5.5` | `codex login` | ChatGPT Pro subscription |
|
|
242
324
|
| **Codex App** | `gpt-5.4` | `codex login` | ChatGPT Pro subscription |
|
|
243
325
|
| **Gemini** | `gemini-3.1-pro-preview` | `gemini` | Gemini Advanced subscription |
|
|
@@ -245,6 +327,8 @@ No per-token API billing. Route through subscriptions you already pay for.
|
|
|
245
327
|
| **OpenCode** | `minimax-m2.7` | `opencode` | Free models available |
|
|
246
328
|
| **Copilot** | `gpt-5-mini` | `copilot login` | Free tier available |
|
|
247
329
|
|
|
330
|
+
The quota/status panel keeps the same runtime keyset as the registry. Wrapper runtimes (`ai-e`, `claude-e`, `codex-app`) delegate to their underlying provider, while AGY/Grok/OpenCode are shown as auth/status-only when their CLIs do not expose quota windows.
|
|
331
|
+
|
|
248
332
|
**Fallback chain**: if one engine is rate-limited, the next picks up. Configure with `/fallback [cli1 cli2...]`.
|
|
249
333
|
|
|
250
334
|
**OpenCode wildcard**: connect any model endpoint — OpenRouter, local LLMs (Large Language Models), any OpenAI-compatible API.
|
|
@@ -363,10 +447,10 @@ Voice input works on Web (mic button), Telegram (voice messages), and Discord. P
|
|
|
363
447
|
|
|
364
448
|
```bash
|
|
365
449
|
jaw mcp install @anthropic/context7
|
|
366
|
-
# → syncs to Claude, Codex, Gemini, OpenCode, Copilot config files simultaneously
|
|
450
|
+
# → syncs to Claude, Codex, Gemini, OpenCode, Copilot, and Antigravity config files simultaneously
|
|
367
451
|
```
|
|
368
452
|
|
|
369
|
-
No more editing several different JSON files. Install once, every MCP-aware engine gets it. Grok CLI is a standard runtime here, but it is not counted as MCP-sync capable until Grok exposes a compatible config surface.
|
|
453
|
+
No more editing several different JSON files. Install once, every MCP-aware engine gets it. Grok CLI is a standard runtime here, but it is not counted as MCP-sync capable until Grok exposes a compatible config surface. Antigravity MCP sync is a separate config target from the `agy` runtime registry entry.
|
|
370
454
|
|
|
371
455
|
```bash
|
|
372
456
|
jaw mcp sync # re-sync after manual edits
|
|
@@ -445,7 +529,7 @@ Architecture details: [ARCHITECTURE.md](docs/ARCHITECTURE.md) · Test coverage:
|
|
|
445
529
|
|
|
446
530
|
| | CLI-JAW 2.0 | Hermes Agent | Claude Code |
|
|
447
531
|
|---|---|---|---|
|
|
448
|
-
| **Model access** | Claude, Codex, Codex App, Gemini, Grok, OpenCode, and Copilot through vendor auth where supported | API keys (OpenRouter 200+, Nous Portal) | Anthropic only |
|
|
532
|
+
| **Model access** | Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Gemini, Grok, OpenCode, and Copilot through vendor/native auth where supported | API keys (OpenRouter 200+, Nous Portal) | Anthropic only |
|
|
449
533
|
| **Cost model** | Monthly subscriptions you already pay for | Per-token API billing | Anthropic subscription |
|
|
450
534
|
| **Primary UI** | Manager dashboard + Web app + Mac app + terminal UI | Terminal only | CLI + IDE plugins |
|
|
451
535
|
| **Dashboard** | Multi-instance manager, Kanban, Notes workspace | None | None |
|
|
@@ -463,7 +547,7 @@ Architecture details: [ARCHITECTURE.md](docs/ARCHITECTURE.md) · Test coverage:
|
|
|
463
547
|
|
|
464
548
|
| Problem | Solution |
|
|
465
549
|
|---|---|
|
|
466
|
-
| `cli-jaw: command not found` | `npm install -g cli-jaw` again.
|
|
550
|
+
| `cli-jaw: command not found` | `npm install -g cli-jaw` again. macOS/Linux/WSL: check `~/.local/bin` or `npm prefix -g` + `/bin` is in `$PATH`. From Windows PowerShell, invoke WSL through a login shell: `wsl.exe -d Ubuntu -- bash -lc "jaw dashboard"`. |
|
|
467
551
|
| `Error: node version` | Upgrade to Node.js 22+: `nvm install 22` |
|
|
468
552
|
| `NODE_MODULE_VERSION` mismatch | `npm run ensure:native` (auto-rebuilds native modules) |
|
|
469
553
|
| `EADDRINUSE: port 3457` | Another instance running. Use `--port 3458` or stop it first |
|
package/README.zh-CN.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# CLI-JAW
|
|
4
4
|
|
|
5
|
-
### 你的个人 AI 助手。2 行安装。
|
|
5
|
+
### 你的个人 AI 助手。2 行安装。10 个 AI 运行时,一个仪表盘。
|
|
6
6
|
|
|
7
7
|
[](https://npmjs.com/package/cli-jaw)
|
|
8
8
|
[](https://github.com/lidge-jun/cli-jaw/releases)
|
|
@@ -24,28 +24,29 @@
|
|
|
24
24
|
# macOS / Linux
|
|
25
25
|
JAW_SAFE=1 npm install -g cli-jaw # skips optional tool/runtime setup
|
|
26
26
|
jaw init # 准备好后再交互式配置
|
|
27
|
-
|
|
28
|
-
# Windows PowerShell
|
|
29
|
-
$env:JAW_SAFE="1"; npm install -g cli-jaw
|
|
30
|
-
jaw init
|
|
31
27
|
```
|
|
32
28
|
|
|
29
|
+
Windows 用户应使用下方的 WSL 安装路径。原生 PowerShell 不是 CLI-JAW 支持的安装目标。
|
|
30
|
+
|
|
33
31
|
</details>
|
|
34
32
|
|
|
35
33
|
```bash
|
|
34
|
+
# macOS / Linux / WSL,已安装 Node.js 22+
|
|
36
35
|
npm install -g cli-jaw
|
|
37
36
|
jaw dashboard
|
|
38
37
|
```
|
|
39
38
|
|
|
40
39
|
完成。打开 **http://localhost:3457** 即可拥有你的个人 AI 助手。需要 [Node.js 22+](https://nodejs.org)。
|
|
41
40
|
|
|
42
|
-
> **第一次用?**
|
|
41
|
+
> **第一次用?** 默认 npm 安装会初始化 CLI-JAW,并尝试配置原生 Claude。其他 AI CLI 是可选项;在 macOS/Linux 上如需安装全部工具,可运行 `CLI_JAW_INSTALL_CLI_TOOLS=1 npm install -g cli-jaw`。Windows 请使用下方 WSL 安装路径。
|
|
43
42
|
|
|
44
43
|
<details>
|
|
45
44
|
<summary><b>macOS 一键安装</b> — 没有 Node.js?用这个</summary>
|
|
46
45
|
|
|
47
46
|
```bash
|
|
48
47
|
curl -fsSL https://raw.githubusercontent.com/lidge-jun/cli-jaw/master/scripts/install.sh | bash
|
|
48
|
+
source "${ZDOTDIR:-$HOME}/.zshrc" 2>/dev/null || true
|
|
49
|
+
bash "$(npm root -g)/cli-jaw/scripts/verify-fresh-install.sh"
|
|
49
50
|
```
|
|
50
51
|
|
|
51
52
|
</details>
|
|
@@ -65,6 +66,13 @@ wsl --install
|
|
|
65
66
|
curl -fsSL https://raw.githubusercontent.com/lidge-jun/cli-jaw/master/scripts/install-wsl.sh | bash
|
|
66
67
|
source ~/.bashrc
|
|
67
68
|
jaw dashboard
|
|
69
|
+
bash "$(npm root -g)/cli-jaw/scripts/verify-fresh-install.sh"
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
从 Windows PowerShell 进入 WSL 时,请通过 login shell 运行命令,以便加载 WSL profile PATH:
|
|
73
|
+
|
|
74
|
+
```powershell
|
|
75
|
+
wsl.exe -d Ubuntu -- bash -lc "jaw dashboard"
|
|
68
76
|
```
|
|
69
77
|
|
|
70
78
|
</details>
|
|
@@ -82,7 +90,7 @@ docker compose up -d # → http://localhost:3457
|
|
|
82
90
|
|
|
83
91
|
## CLI-JAW 是什么?
|
|
84
92
|
|
|
85
|
-
CLI-JAW 是一个开源平台,将你已经在用的 AI 编码 CLI — Claude、Codex、Gemini、Grok、OpenCode、Copilot — 统一成**一个助手、一份记忆、一个仪表盘**。
|
|
93
|
+
CLI-JAW 是一个开源平台,将你已经在用的 AI 编码 CLI — Antigravity、AI-E、Claude、Claude E、Codex、Codex App、Gemini、Grok、OpenCode、Copilot — 统一成**一个助手、一份记忆、一个仪表盘**。
|
|
86
94
|
|
|
87
95
|
你的主 CLI(Boss)调度其他 CLI 作为"员工"。不用在各种应用之间来回切换,直接在一个地方下达指令。
|
|
88
96
|
|
|
@@ -238,6 +246,9 @@ jaw dispatch --agent "Frontend" --task "修复 dashboard.tsx 中的 CSS grid 布
|
|
|
238
246
|
| CLI | 默认模型 | 认证 | 费用 |
|
|
239
247
|
|---|---|---|---|
|
|
240
248
|
| **Claude** | `opus-4-6` | `claude auth login` | Claude Max 订阅 |
|
|
249
|
+
| **Claude E** | `opus-4-6` | underlying `claude auth login` | 实验性互动 Claude wrapper |
|
|
250
|
+
| **AI-E** | provider-selected | 所选 provider 认证 | 多 provider runtime wrapper |
|
|
251
|
+
| **Antigravity** | AGY-selected | 由 `agy` 在运行时检查 | 支持 `--conversation` resume 的实验性 AGY print-mode runtime;模型切换保留在 native AGY UI |
|
|
241
252
|
| **Codex** | `gpt-5.5` | `codex login` | ChatGPT Pro 订阅 |
|
|
242
253
|
| **Codex App** | `gpt-5.4` | `codex login` | ChatGPT Pro 订阅 |
|
|
243
254
|
| **Gemini** | `gemini-3.1-pro-preview` | `gemini` | Gemini Advanced 订阅 |
|
|
@@ -245,6 +256,8 @@ jaw dispatch --agent "Frontend" --task "修复 dashboard.tsx 中的 CSS grid 布
|
|
|
245
256
|
| **OpenCode** | `minimax-m2.7` | `opencode` | 有免费模型 |
|
|
246
257
|
| **Copilot** | `gpt-5-mini` | `copilot login` | 有免费层 |
|
|
247
258
|
|
|
259
|
+
配额/状态面板保持与 registry 相同的 runtime keyset。Wrapper runtime(`ai-e`, `claude-e`, `codex-app`)委托给 underlying provider;AGY/Grok/OpenCode 这类 CLI 不暴露 quota window 时,会以 auth/status-only 显示。
|
|
260
|
+
|
|
248
261
|
**回退链**:当一个引擎被限速时,下一个自动接上。用 `/fallback [cli1 cli2...]` 配置。
|
|
249
262
|
|
|
250
263
|
**OpenCode 通配符**:连接任意模型端点——OpenRouter、本地 LLM(大语言模型)、任何 OpenAI 兼容 API。
|
|
@@ -363,10 +376,10 @@ Computer Use 让你用自然语言控制任何 macOS 应用——Finder、Safari
|
|
|
363
376
|
|
|
364
377
|
```bash
|
|
365
378
|
jaw mcp install @anthropic/context7
|
|
366
|
-
# → 同步到 Claude、Codex、Gemini、OpenCode、Copilot 的配置文件
|
|
379
|
+
# → 同步到 Claude、Codex、Gemini、OpenCode、Copilot、Antigravity 的配置文件
|
|
367
380
|
```
|
|
368
381
|
|
|
369
|
-
不用再分别编辑多个 JSON 文件。安装一次,每个 MCP 感知引擎都会获得配置。Grok CLI 是标准运行时,但在 Grok 暴露兼容配置面之前不计为 MCP 同步对象。
|
|
382
|
+
不用再分别编辑多个 JSON 文件。安装一次,每个 MCP 感知引擎都会获得配置。Grok CLI 是标准运行时,但在 Grok 暴露兼容配置面之前不计为 MCP 同步对象。Antigravity MCP 同步是独立的 config target,不等同于 `agy` runtime registry entry。
|
|
370
383
|
|
|
371
384
|
```bash
|
|
372
385
|
jaw mcp sync # 手动编辑后重新同步
|
|
@@ -444,7 +457,7 @@ npm run gate:all # 发布/文档一致性门禁
|
|
|
444
457
|
|
|
445
458
|
| | CLI-JAW 2.0 | Hermes Agent | Claude Code |
|
|
446
459
|
|---|---|---|---|
|
|
447
|
-
| **模型接入** | Claude、Codex、Codex App、Gemini、Grok、OpenCode 和 Copilot
|
|
460
|
+
| **模型接入** | Antigravity、AI-E、Claude、Claude E、Codex、Codex App、Gemini、Grok、OpenCode 和 Copilot(通过厂商/原生认证) | API 密钥(OpenRouter 200+、Nous Portal) | 仅 Anthropic |
|
|
448
461
|
| **费用模型** | 你已经在付的月订阅 | 按 token API 计费 | Anthropic 订阅 |
|
|
449
462
|
| **主 UI** | 管理仪表盘 + Web 应用 + Mac 应用 + 终端 UI | 仅终端 | CLI + IDE 插件 |
|
|
450
463
|
| **仪表盘** | 多实例管理器、看板、笔记工作区 | 无 | 无 |
|
|
@@ -462,7 +475,7 @@ npm run gate:all # 发布/文档一致性门禁
|
|
|
462
475
|
|
|
463
476
|
| 问题 | 解决办法 |
|
|
464
477
|
|---|---|
|
|
465
|
-
| `cli-jaw: command not found` | 重新运行 `npm install -g cli-jaw
|
|
478
|
+
| `cli-jaw: command not found` | 重新运行 `npm install -g cli-jaw`。macOS/Linux/WSL:检查 `~/.local/bin` 或 `npm prefix -g` + `/bin` 是否在 `$PATH` 中。从 Windows PowerShell 运行时,请通过 WSL login shell:`wsl.exe -d Ubuntu -- bash -lc "jaw dashboard"` |
|
|
466
479
|
| `Error: node version` | 升级到 Node.js 22+:`nvm install 22` |
|
|
467
480
|
| `NODE_MODULE_VERSION` mismatch | `npm run ensure:native`(自动重编译原生模块) |
|
|
468
481
|
| `EADDRINUSE: port 3457` | 另一个实例正在运行。使用 `--port 3458` 或先停止 |
|
package/dist/bin/cli-jaw.js
CHANGED
|
@@ -31,7 +31,7 @@ const _homeEqArg = process.argv.find(a => a.startsWith('--home='));
|
|
|
31
31
|
if (_homeIdx !== -1 && process.argv[_homeIdx + 1]) {
|
|
32
32
|
const _homeVal = process.argv[_homeIdx + 1];
|
|
33
33
|
// Guard: if the "value" looks like a known subcommand, user forgot the path
|
|
34
|
-
const _knownCmds = ['serve', 'init', 'doctor', 'chat', 'employee', 'reset', 'mcp', 'skill', 'status', 'browser', 'memory', 'launchd', 'clone', 'service', 'dashboard', 'connector', 'reminders', 'orchestrate', 'dispatch'];
|
|
34
|
+
const _knownCmds = ['serve', 'init', 'doctor', 'chat', 'employee', 'reset', 'mcp', 'skill', 'status', 'browser', 'memory', 'launchd', 'clone', 'service', 'dashboard', 'connector', 'reminders', 'orchestrate', 'dispatch', 'project'];
|
|
35
35
|
if (_knownCmds.includes(_homeVal)) {
|
|
36
36
|
console.error(` ❌ --home requires a path argument (got subcommand '${_homeVal}')`);
|
|
37
37
|
console.error(` Usage: jaw --home <path> ${_homeVal}`);
|
|
@@ -178,6 +178,9 @@ switch (command) {
|
|
|
178
178
|
case 'reminders':
|
|
179
179
|
await import('./commands/reminders.js');
|
|
180
180
|
break;
|
|
181
|
+
case 'project':
|
|
182
|
+
await import('./commands/project.js');
|
|
183
|
+
break;
|
|
181
184
|
case '--version':
|
|
182
185
|
case '-v':
|
|
183
186
|
console.log(`cli-jaw v${pkg.version}`);
|
package/dist/bin/cli-jaw.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-jaw.js","sourceRoot":"","sources":["../../bin/cli-jaw.ts"],"names":[],"mappings":";AACA;;;;GAIG;AACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAK1D,SAAS,eAAe,CAAC,OAAe;IACpC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAY,CAAC;IACpE,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,MAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;AACtF,CAAC;AAED,IAAI,GAAgB,CAAC;AACrB,IAAI,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IACtD,GAAG,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAAC,MAAM,CAAC;IACL,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IAC5D,GAAG,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED,2EAA2E;AAC3E,0EAA0E;AAC1E,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAChD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;AACnE,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC;IAChD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAE,CAAC;IAC7C,4EAA4E;IAC5E,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"cli-jaw.js","sourceRoot":"","sources":["../../bin/cli-jaw.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,7 +27,7 @@ Commands:
|
|
|
27
27
|
Provider:
|
|
28
28
|
--vendor <name> chatgpt | gemini | grok (default: chatgpt)
|
|
29
29
|
--model <alias> ChatGPT: instant, thinking, pro
|
|
30
|
-
Gemini: flash-lite, flash, pro
|
|
30
|
+
Gemini: flash-lite, flash, pro, deepthink
|
|
31
31
|
Grok: auto, fast, expert, thinking, heavy
|
|
32
32
|
--effort <alias> ChatGPT reasoning effort. Requires --model because
|
|
33
33
|
Pro and Thinking expose different effort menus.
|
|
@@ -92,7 +92,7 @@ function isSupportedWebAiModel(vendor, model) {
|
|
|
92
92
|
return true;
|
|
93
93
|
const byVendor = {
|
|
94
94
|
chatgpt: new Set(['instant', 'fast', 'gpt-5-3', 'gpt-5.3', 'thinking', 'think', 'gpt-5-5-thinking', 'gpt-5.5-thinking', 'pro', 'gpt-5-5-pro', 'gpt-5.5-pro']),
|
|
95
|
-
gemini: new Set(['fast', 'flash-lite', 'flash_lite', 'flash lite', 'gemini-fast', 'gemini-flash-lite', 'gemini-flash_lite', 'gemini flash lite', 'flash', 'gemini-flash', 'thinking', 'think', 'gemini-thinking', 'pro', 'gemini-pro']),
|
|
95
|
+
gemini: new Set(['fast', 'flash-lite', 'flash_lite', 'flash lite', 'gemini-fast', 'gemini-flash-lite', 'gemini-flash_lite', 'gemini flash lite', 'flash', 'gemini-flash', 'thinking', 'think', 'gemini-thinking', 'pro', 'gemini-pro', 'deepthink', 'deep-think', 'deep_think', 'deep think', 'gemini-deepthink', 'gemini-deep-think']),
|
|
96
96
|
grok: new Set(['auto', 'automatic', 'fast', 'quick', 'expert', 'thinking', 'think', 'grok-4.3', 'grok43', 'grok-43', 'beta', 'heavy']),
|
|
97
97
|
};
|
|
98
98
|
return Boolean(byVendor[String(vendor || 'chatgpt')]?.has(key));
|