cli-jaw 2.0.5 → 2.0.6
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 +229 -315
- package/README.ko.md +248 -315
- package/README.md +103 -186
- package/README.zh-CN.md +282 -296
- package/dist/bin/commands/browser-web-ai.js +4 -2
- package/dist/bin/commands/browser-web-ai.js.map +1 -1
- package/dist/bin/commands/browser.js +76 -0
- package/dist/bin/commands/browser.js.map +1 -1
- package/dist/bin/commands/doctor.js +122 -4
- package/dist/bin/commands/doctor.js.map +1 -1
- package/dist/bin/commands/skill.js +5 -3
- package/dist/bin/commands/skill.js.map +1 -1
- package/dist/bin/postinstall.js +507 -89
- package/dist/bin/postinstall.js.map +1 -1
- package/dist/lib/mcp/format-converters.js +32 -4
- package/dist/lib/mcp/format-converters.js.map +1 -1
- package/dist/lib/mcp/mcp-install.js +5 -0
- package/dist/lib/mcp/mcp-install.js.map +1 -1
- package/dist/lib/mcp/skills-distribution.js +52 -53
- package/dist/lib/mcp/skills-distribution.js.map +1 -1
- package/dist/lib/mcp/skills-reset.js +29 -16
- package/dist/lib/mcp/skills-reset.js.map +1 -1
- package/dist/lib/mcp/skills-utils.js +64 -2
- package/dist/lib/mcp/skills-utils.js.map +1 -1
- package/dist/lib/mcp/unified-config.js +7 -3
- package/dist/lib/mcp/unified-config.js.map +1 -1
- package/dist/scripts/fresh-install-smoke.js +1 -1
- package/dist/scripts/fresh-install-smoke.js.map +1 -1
- package/dist/server.js +44 -4
- package/dist/server.js.map +1 -1
- package/dist/src/agent/args.js +148 -1
- package/dist/src/agent/args.js.map +1 -1
- package/dist/src/agent/claude-e-runtime.js +42 -0
- package/dist/src/agent/claude-e-runtime.js.map +1 -0
- package/dist/src/agent/claude-i-runtime.js +42 -0
- package/dist/src/agent/claude-i-runtime.js.map +1 -0
- package/dist/src/agent/cli-helpers.js +9 -0
- package/dist/src/agent/cli-helpers.js.map +1 -0
- package/dist/src/agent/codex-app-client.js +240 -0
- package/dist/src/agent/codex-app-client.js.map +1 -0
- package/dist/src/agent/codex-app-events.js +268 -0
- package/dist/src/agent/codex-app-events.js.map +1 -0
- package/dist/src/agent/error-classifier.js +8 -2
- package/dist/src/agent/error-classifier.js.map +1 -1
- package/dist/src/agent/events/acp.js +200 -0
- package/dist/src/agent/events/acp.js.map +1 -0
- package/dist/src/agent/events/claude.js +200 -0
- package/dist/src/agent/events/claude.js.map +1 -0
- package/dist/src/agent/events/codex.js +118 -0
- package/dist/src/agent/events/codex.js.map +1 -0
- package/dist/src/agent/events/gemini.js +100 -0
- package/dist/src/agent/events/gemini.js.map +1 -0
- package/dist/src/agent/events/grok.js +298 -0
- package/dist/src/agent/events/grok.js.map +1 -0
- package/dist/src/agent/events/helpers.js +237 -0
- package/dist/src/agent/events/helpers.js.map +1 -0
- package/dist/src/agent/events/index.js +315 -0
- package/dist/src/agent/events/index.js.map +1 -0
- package/dist/src/agent/events/opencode.js +171 -0
- package/dist/src/agent/events/opencode.js.map +1 -0
- package/dist/src/agent/events/summary.js +128 -0
- package/dist/src/agent/events/summary.js.map +1 -0
- package/dist/src/agent/events/tool-labels.js +299 -0
- package/dist/src/agent/events/tool-labels.js.map +1 -0
- package/dist/src/agent/events/types.js +3 -0
- package/dist/src/agent/events/types.js.map +1 -0
- package/dist/src/agent/events.js +2 -1487
- package/dist/src/agent/events.js.map +1 -1
- package/dist/src/agent/grok-trace-backfill.js +153 -0
- package/dist/src/agent/grok-trace-backfill.js.map +1 -0
- package/dist/src/agent/lifecycle-handler.js +60 -16
- package/dist/src/agent/lifecycle-handler.js.map +1 -1
- package/dist/src/agent/live-run-state.js +1 -1
- package/dist/src/agent/live-run-state.js.map +1 -1
- package/dist/src/agent/memory-flush-controller.js +26 -0
- package/dist/src/agent/memory-flush-controller.js.map +1 -1
- package/dist/src/agent/resume-classifier.js +9 -0
- package/dist/src/agent/resume-classifier.js.map +1 -1
- package/dist/src/agent/session-persistence.js +7 -2
- package/dist/src/agent/session-persistence.js.map +1 -1
- package/dist/src/agent/spawn/process-kill.js +29 -0
- package/dist/src/agent/spawn/process-kill.js.map +1 -0
- package/dist/src/agent/spawn/queue.js +273 -0
- package/dist/src/agent/spawn/queue.js.map +1 -0
- package/dist/src/agent/spawn/resume.js +56 -0
- package/dist/src/agent/spawn/resume.js.map +1 -0
- package/dist/src/agent/spawn.js +435 -371
- package/dist/src/agent/spawn.js.map +1 -1
- package/dist/src/agent/watchdog.js +5 -1
- package/dist/src/agent/watchdog.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/browser-escalation.js +177 -0
- package/dist/src/browser/adaptive-fetch/browser-escalation.js.map +1 -0
- package/dist/src/browser/adaptive-fetch/browser-runtime.js +38 -0
- package/dist/src/browser/adaptive-fetch/browser-runtime.js.map +1 -0
- package/dist/src/browser/adaptive-fetch/browser-session.js +97 -0
- package/dist/src/browser/adaptive-fetch/browser-session.js.map +1 -0
- package/dist/src/browser/adaptive-fetch/challenge-detector.js +88 -0
- package/dist/src/browser/adaptive-fetch/challenge-detector.js.map +1 -0
- package/dist/src/browser/adaptive-fetch/content-scorer.js +145 -0
- package/dist/src/browser/adaptive-fetch/content-scorer.js.map +1 -0
- package/dist/src/browser/adaptive-fetch/endpoint-resolvers.js +382 -0
- package/dist/src/browser/adaptive-fetch/endpoint-resolvers.js.map +1 -0
- package/dist/src/browser/adaptive-fetch/fetcher.js +105 -0
- package/dist/src/browser/adaptive-fetch/fetcher.js.map +1 -0
- package/dist/src/browser/adaptive-fetch/human-loop.js +101 -0
- package/dist/src/browser/adaptive-fetch/human-loop.js.map +1 -0
- package/dist/src/browser/adaptive-fetch/index.js +586 -0
- package/dist/src/browser/adaptive-fetch/index.js.map +1 -0
- package/dist/src/browser/adaptive-fetch/metadata.js +169 -0
- package/dist/src/browser/adaptive-fetch/metadata.js.map +1 -0
- package/dist/src/browser/adaptive-fetch/output.js +71 -0
- package/dist/src/browser/adaptive-fetch/output.js.map +1 -0
- package/dist/src/browser/adaptive-fetch/reader-adapters.js +135 -0
- package/dist/src/browser/adaptive-fetch/reader-adapters.js.map +1 -0
- package/dist/src/browser/adaptive-fetch/safety.js +296 -0
- package/dist/src/browser/adaptive-fetch/safety.js.map +1 -0
- package/dist/src/browser/adaptive-fetch/third-party-readers.js +43 -0
- package/dist/src/browser/adaptive-fetch/third-party-readers.js.map +1 -0
- package/dist/src/browser/adaptive-fetch/trace.js +61 -0
- package/dist/src/browser/adaptive-fetch/trace.js.map +1 -0
- package/dist/src/browser/adaptive-fetch/transforms.js +81 -0
- package/dist/src/browser/adaptive-fetch/transforms.js.map +1 -0
- package/dist/src/browser/adaptive-fetch/validators.js +108 -0
- package/dist/src/browser/adaptive-fetch/validators.js.map +1 -0
- package/dist/src/browser/adaptive-fetch/waf-profiles.js +135 -0
- package/dist/src/browser/adaptive-fetch/waf-profiles.js.map +1 -0
- package/dist/src/browser/index.js +1 -0
- package/dist/src/browser/index.js.map +1 -1
- package/dist/src/browser/web-ai/gemini-model.js +42 -15
- package/dist/src/browser/web-ai/gemini-model.js.map +1 -1
- package/dist/src/cli/claude-models.js +1 -1
- package/dist/src/cli/claude-models.js.map +1 -1
- package/dist/src/cli/compact.js +2 -0
- package/dist/src/cli/compact.js.map +1 -1
- package/dist/src/cli/handlers-completions.js +3 -0
- package/dist/src/cli/handlers-completions.js.map +1 -1
- package/dist/src/cli/handlers-runtime.js +5 -2
- package/dist/src/cli/handlers-runtime.js.map +1 -1
- package/dist/src/cli/readiness.js +43 -1
- package/dist/src/cli/readiness.js.map +1 -1
- package/dist/src/cli/registry.js +58 -0
- package/dist/src/cli/registry.js.map +1 -1
- package/dist/src/core/browser-open.js +4 -1
- package/dist/src/core/browser-open.js.map +1 -1
- package/dist/src/core/claude-install.js +4 -0
- package/dist/src/core/claude-install.js.map +1 -1
- package/dist/src/core/cli-detect.js +61 -13
- package/dist/src/core/cli-detect.js.map +1 -1
- package/dist/src/core/compact.js +295 -63
- package/dist/src/core/compact.js.map +1 -1
- package/dist/src/core/config.js +151 -11
- package/dist/src/core/config.js.map +1 -1
- package/dist/src/core/db.js +10 -1
- package/dist/src/core/db.js.map +1 -1
- package/dist/src/core/employees.js +1 -1
- package/dist/src/core/employees.js.map +1 -1
- package/dist/src/core/logger.js +28 -9
- package/dist/src/core/logger.js.map +1 -1
- package/dist/src/core/runtime-settings.js +32 -5
- package/dist/src/core/runtime-settings.js.map +1 -1
- package/dist/src/manager/memory/embedding/state-machine.js +2 -1
- package/dist/src/manager/memory/embedding/state-machine.js.map +1 -1
- package/dist/src/manager/memory/embedding/sync.js +52 -33
- package/dist/src/manager/memory/embedding/sync.js.map +1 -1
- package/dist/src/manager/memory/embedding/vec-store.js +10 -10
- package/dist/src/manager/memory/embedding/vec-store.js.map +1 -1
- package/dist/src/manager/routes/dashboard-memory.js +43 -16
- package/dist/src/manager/routes/dashboard-memory.js.map +1 -1
- package/dist/src/manager/server.js +11 -0
- package/dist/src/manager/server.js.map +1 -1
- package/dist/src/memory/indexing.js +6 -1
- package/dist/src/memory/indexing.js.map +1 -1
- package/dist/src/orchestrator/distribute.js +5 -4
- package/dist/src/orchestrator/distribute.js.map +1 -1
- package/dist/src/prompt/builder.js +12 -1
- package/dist/src/prompt/builder.js.map +1 -1
- package/dist/src/prompt/runtime-context.js +69 -0
- package/dist/src/prompt/runtime-context.js.map +1 -0
- package/dist/src/routes/browser.js +33 -0
- package/dist/src/routes/browser.js.map +1 -1
- package/dist/src/routes/employees.js +1 -1
- package/dist/src/routes/employees.js.map +1 -1
- package/dist/src/routes/memory.js +1 -1
- package/dist/src/routes/memory.js.map +1 -1
- package/dist/src/routes/orchestrate.js +37 -10
- package/dist/src/routes/orchestrate.js.map +1 -1
- package/dist/src/routes/quota.js +91 -1
- package/dist/src/routes/quota.js.map +1 -1
- package/dist/src/routes/runtime-context.js +43 -0
- package/dist/src/routes/runtime-context.js.map +1 -0
- package/dist/src/routes/security-audit.js +14 -0
- package/dist/src/routes/security-audit.js.map +1 -0
- package/dist/src/routes/settings.js +8 -1
- package/dist/src/routes/settings.js.map +1 -1
- package/dist/src/security/security-audit-log.js +99 -0
- package/dist/src/security/security-audit-log.js.map +1 -0
- package/dist/src/telegram/bot.js +4 -2
- package/dist/src/telegram/bot.js.map +1 -1
- package/dist/src/types/cli-engine.js +4 -0
- package/dist/src/types/cli-engine.js.map +1 -1
- package/dist/src/types/cli-events.js +1 -1
- package/dist/src/types/cli-events.js.map +1 -1
- package/package.json +9 -3
- package/public/assets/providers/antigravity-color.svg +1 -0
- package/public/assets/providers/antigravity.svg +1 -0
- package/public/assets/providers/copilot-color.svg +1 -1
- package/public/assets/providers/copilot.svg +1 -1
- package/public/assets/providers/grok-color.svg +1 -0
- package/public/assets/providers/grok.svg +1 -0
- package/public/css/chat-search.css +168 -0
- package/public/css/chat.css +43 -1
- package/public/css/modals.css +41 -0
- package/public/dist/assets/{AdvancedExport-BAdZUC-6.js → AdvancedExport-CBvz4_IZ.js} +1 -1
- package/public/dist/assets/Agent-DlUqCMXJ.js +1 -0
- package/public/dist/assets/{Browser-BsdxDVgM.js → Browser-66BpLQck.js} +1 -1
- package/public/dist/assets/{ChannelsDiscord-Dg_jto6l.js → ChannelsDiscord-BifT2Dum.js} +1 -1
- package/public/dist/assets/{ChannelsTelegram-DGyZfJGS.js → ChannelsTelegram-CK6tYQ8k.js} +1 -1
- package/public/dist/assets/DashboardEmbeddingSection-6F8zSSja.js +2 -0
- package/public/dist/assets/{DashboardMeta-CAH9ONTb.js → DashboardMeta-Cc03HT5R.js} +1 -1
- package/public/dist/assets/{Display-DM_yvyKL.js → Display-arOjcMQZ.js} +1 -1
- package/public/dist/assets/Employees-YbW-mI67.js +1 -0
- package/public/dist/assets/{HealthBadge-Dtr-dDnw.js → HealthBadge-DEPFkcA0.js} +1 -1
- package/public/dist/assets/Heartbeat-CW4eIhtJ.js +1 -0
- package/public/dist/assets/{InlineWarn-E64UaKFh.js → InlineWarn-DoJS7AgM.js} +1 -1
- package/public/dist/assets/{Mcp-Dlp2X7X7.js → Mcp-ZQ6ARQb6.js} +1 -1
- package/public/dist/assets/Memory-BAUWJMqc.js +1 -0
- package/public/dist/assets/{MilkdownWysiwygEditor-Ctww8i0L.js → MilkdownWysiwygEditor-IAqFtXvM.js} +1 -1
- package/public/dist/assets/ModelProvider-DUtmFh0J.js +1 -0
- package/public/dist/assets/{Network-Df1R2YcQ.js → Network-B_4E82zQ.js} +1 -1
- package/public/dist/assets/{Permissions-BKJ5K6EL.js → Permissions-BkADXjQ4.js} +1 -1
- package/public/dist/assets/{Permissions-CcWZoOVP.js → Permissions-DvUCB8wA.js} +1 -1
- package/public/dist/assets/{Profile-DZ7xf1WZ.js → Profile-BcnTCSYM.js} +1 -1
- package/public/dist/assets/{Prompts-Bh5DYt8e.js → Prompts-CUs_RoRE.js} +1 -1
- package/public/dist/assets/{SpeechKeys-CQwtVxOP.js → SpeechKeys-qxc-ROWN.js} +1 -1
- package/public/dist/assets/agent-meta-Du8y6mSM.js +1 -0
- package/public/dist/assets/app-CGqTcIeF.js +39 -0
- package/public/dist/assets/app-Dpk6cE6C.css +1 -0
- package/public/dist/assets/architecture-7EHR7CIX-wVaUQezY.js +1 -0
- package/public/dist/assets/architectureDiagram-3BPJPVTR-kYIVzmWe.js +36 -0
- package/public/dist/assets/blockDiagram-GPEHLZMM-B204CPhe.js +132 -0
- package/public/dist/assets/{c4Diagram-AHTNJAMY-Bp2QLC-s.js → c4Diagram-AAUBKEIU-DAv6TAjg.js} +6 -6
- package/public/dist/assets/channel-CCQujL1n.js +1 -0
- package/public/dist/assets/{chunk-EDXVE4YY-COudQKkJ.js → chunk-2J33WTMH-xiPJWKcl.js} +1 -1
- package/public/dist/assets/chunk-3OPIFGDE-DOAvk9x8.js +62 -0
- package/public/dist/assets/{chunk-4BX2VUAB-Cm3KqBkS.js → chunk-4BX2VUAB-6lTRwyT0.js} +1 -1
- package/public/dist/assets/chunk-4EGX6M5U-DXtAEgX6.js +1 -0
- package/public/dist/assets/chunk-55IACEB6-Dx2JkQLw.js +1 -0
- package/public/dist/assets/chunk-5DO6E6H7-DDcMHB95.js +1 -0
- package/public/dist/assets/chunk-5ZQYHXKU-Bd-RFO5i.js +2 -0
- package/public/dist/assets/chunk-727SXJPM-BrsRzj8z.js +206 -0
- package/public/dist/assets/{chunk-AGHRB4JF-DIMn8T3_.js → chunk-AGHRB4JF-CYdXVA2-.js} +1 -1
- package/public/dist/assets/chunk-AQP2D5EJ-Di6Gstk-.js +231 -0
- package/public/dist/assets/{chunk-LIHQZDEY-Xw9ZX8of.js → chunk-BR22UD5L-CVuYkAd1.js} +1 -1
- package/public/dist/assets/{chunk-BSJP7CBP-DnSYKjii.js → chunk-BSJP7CBP-B47GpxcW.js} +1 -1
- package/public/dist/assets/chunk-CSCIHK7Q-CAE1p4Em.js +123 -0
- package/public/dist/assets/chunk-FHYWG6QK-CxZt-yZZ.js +1 -0
- package/public/dist/assets/{chunk-FMBD7UC4-6yXYicjw.js → chunk-FMBD7UC4-CwqBlx0l.js} +1 -1
- package/public/dist/assets/chunk-KSCS5N6A-D9a4ZkOy.js +10 -0
- package/public/dist/assets/{chunk-ZZ45TVLE-D5oxCC1O.js → chunk-L5ZTLDWV-D208QbfC.js} +1 -1
- package/public/dist/assets/{chunk-336JU56O-CAt5aBOe.js → chunk-LZXEDZCA-CE2KFduj.js} +1 -1
- package/public/dist/assets/chunk-MPE355IW-Bp4qAOUf.js +1 -0
- package/public/dist/assets/chunk-MZUSXYTE-DAU-v-0c.js +1 -0
- package/public/dist/assets/chunk-N66VUXT2-CpPz1L5u.js +1 -0
- package/public/dist/assets/chunk-ND2GUHAM-zZ7h1CPf.js +1 -0
- package/public/dist/assets/chunk-NNHCCRGN-BaiX9a5F.js +159 -0
- package/public/dist/assets/{chunk-X2U36JSP-CoMFMVNF.js → chunk-NZK2D7GU-CTqFQ8K5.js} +1 -1
- package/public/dist/assets/chunk-O5CBEL6O-BTuvXKFi.js +11 -0
- package/public/dist/assets/chunk-PUPMXCY4-ppZvktf-.js +1 -0
- package/public/dist/assets/chunk-QZHKN3VN-CBAtPPT7.js +1 -0
- package/public/dist/assets/chunk-UIBZB4QT-rJZEVBX0.js +1 -0
- package/public/dist/assets/chunk-WCWK7LTN-CGvUyB8h.js +1 -0
- package/public/dist/assets/chunk-WU5MYG2G-C3fKlSvP.js +1 -0
- package/public/dist/assets/{chunk-XPW4576I-CmAz5C-j.js → chunk-XPW4576I-BaQfzRci.js} +1 -1
- package/public/dist/assets/classDiagram-4FO5ZUOK-Cb-qL5u3.js +1 -0
- package/public/dist/assets/classDiagram-v2-Q7XG4LA2-BPhGdj15.js +1 -0
- package/public/dist/assets/constants-BxG09J6S.js +1 -0
- package/public/dist/assets/cose-bilkent-S5V4N54A-D1zmarou.js +1 -0
- package/public/dist/assets/dagre-BM42HDAG-BVkBttzA.js +4 -0
- package/public/dist/assets/dagre-DnoxfNXr.js +1 -0
- package/public/dist/assets/diagram-2AECGRRQ-Bs32KPnT.js +43 -0
- package/public/dist/assets/{diagram-5BDNPKRD-Cl4PzCD0.js → diagram-5GNKFQAL-YDYgPOQj.js} +2 -2
- package/public/dist/assets/diagram-KO2AKTUF-1tIdFl26.js +3 -0
- package/public/dist/assets/{diagram-TYMM5635-B_Xoa1Gp.js → diagram-LMA3HP47-B1y15kav.js} +1 -1
- package/public/dist/assets/diagram-OG6HWLK6-C25j1jGg.js +24 -0
- package/public/dist/assets/{dist-C9LWf2uC.js → dist-0v1UKkQ3.js} +1 -1
- package/public/dist/assets/dist-BMi_buEb.js +1 -0
- package/public/dist/assets/{dist-B6G8pbap.js → dist-BQNQk-1M.js} +1 -1
- package/public/dist/assets/{dist-CCKktDoF.js → dist-BVpa_e6W.js} +1 -1
- package/public/dist/assets/dist-BkrbW_LS.js +1 -0
- package/public/dist/assets/{dist-CkMC2PPt.js → dist-C1VqWrYZ.js} +1 -1
- package/public/dist/assets/{dist-BA7sRne4.js → dist-C3vh7d65.js} +1 -1
- package/public/dist/assets/{dist-BhzKO6nt2.js → dist-CE4s7vg82.js} +1 -1
- package/public/dist/assets/{dist-BDMNMdPF.js → dist-CjPin7Mr.js} +1 -1
- package/public/dist/assets/{dist-W7IGn2ug.js → dist-Ck6PnIlo.js} +1 -1
- package/public/dist/assets/{dist-B1rKu9eP.js → dist-CnIrGAPx.js} +1 -1
- package/public/dist/assets/{dist-CEDX2HGI.js → dist-Cv8S3FhF.js} +1 -1
- package/public/dist/assets/{dist-55MYVjjj.js → dist-D0PYXGt2.js} +1 -1
- package/public/dist/assets/{dist-C0sOT_UM.js → dist-D5GUqT-6.js} +1 -1
- package/public/dist/assets/{dist-C5S-Rbvc.js → dist-D66X8iAn.js} +1 -1
- package/public/dist/assets/dist-D815C1Fv.js +1 -0
- package/public/dist/assets/{dist-Ch6JG5jE.js → dist-DDDFJ8jG.js} +1 -1
- package/public/dist/assets/{dist-2oDfqE98.js → dist-DHQI31dn.js} +1 -1
- package/public/dist/assets/{dist-BTp_Oy_x.js → dist-DTQW91xt.js} +1 -1
- package/public/dist/assets/{dist-BuaQLcgQ.js → dist-Dm7RAaUo.js} +1 -1
- package/public/dist/assets/{dist-BJyDhGpS.js → dist-DrIWh2fi.js} +1 -1
- package/public/dist/assets/{dist-BGzHP3f8.js → dist-DzT7frM2.js} +1 -1
- package/public/dist/assets/{dist-wdLr2dSH.js → dist-Qs7HHNCC.js} +1 -1
- package/public/dist/assets/{dist-BjqyutOM.js → dist-Rs_Khtjb.js} +1 -1
- package/public/dist/assets/{dist-DdhWu7OM.js → dist-fJAyK82z.js} +1 -1
- package/public/dist/assets/{dist-G7QUHtDS.js → dist-jcptfm_T.js} +1 -1
- package/public/dist/assets/dist-sOV2kBhQ.js +1 -0
- package/public/dist/assets/{dist-BoG5I6U5.js → dist-vQskrHxt.js} +1 -1
- package/public/dist/assets/{dockerfile-CrC2HXHP.js → dockerfile-DAfh5qoE.js} +1 -1
- package/public/dist/assets/{employees-CIkIyvtL.js → employees-DRmX2RDd.js} +2 -2
- package/public/dist/assets/{erDiagram-SMLLAGMA-BvtqhMsS.js → erDiagram-TEJ5UH35-CRvCbztR.js} +6 -6
- package/public/dist/assets/{error-normalize-CkhPeQYx.js → error-normalize-CNbPE4lO.js} +1 -1
- package/public/dist/assets/eventmodeling-FCH6USID-Cq0nylxO.js +1 -0
- package/public/dist/assets/{factor-1CttFx2G.js → factor-BpoYJieo.js} +1 -1
- package/public/dist/assets/fields-DUawAHWZ.js +1 -0
- package/public/dist/assets/flowDiagram-I6XJVG4X-CzvVnib_.js +162 -0
- package/public/dist/assets/ganttDiagram-6RSMTGT7-BbUYP6iv.js +292 -0
- package/public/dist/assets/gitGraph-WXDBUCRP-DDq6-3D3.js +1 -0
- package/public/dist/assets/gitGraphDiagram-PVQCEYII-CbKdM7nW.js +106 -0
- package/public/dist/assets/graphlib-BLOO0H5r.js +1 -0
- package/public/dist/assets/info-J43DQDTF-OUnqwpUV.js +1 -0
- package/public/dist/assets/infoDiagram-5YYISTIA-BrZmg1At.js +2 -0
- package/public/dist/assets/{ishikawaDiagram-UXIWVN3A-DZW-Nqsf.js → ishikawaDiagram-YF4QCWOH-BDWXqJi5.js} +2 -2
- package/public/dist/assets/javascript-CZjRNq5R.js +1 -0
- package/public/dist/assets/{journeyDiagram-VCZTEJTY-ByVRJxVF.js → journeyDiagram-JHISSGLW-CPFRd_M3.js} +6 -6
- package/public/dist/assets/{jsx-runtime-BjL7qHh8.js → jsx-runtime-BZmCptaP.js} +1 -1
- package/public/dist/assets/{kanban-definition-6JOO6SKY-xwN0YCW2.js → kanban-definition-UN3LZRKU-BcQbBplS.js} +10 -10
- package/public/dist/assets/katex-CF5bGce6.js +1 -0
- package/public/dist/assets/manager-B5OmizBL.css +1 -0
- package/public/dist/assets/manager-Cs3eMBcx.js +25 -0
- package/public/dist/assets/{memory-CnBc2_Va.js → memory-BA-ki3gn.js} +1 -1
- package/public/dist/assets/memory-DLQbyBA3.js +1 -0
- package/public/dist/assets/mermaid-loader-BVPsKrpr.js +1 -0
- package/public/dist/assets/mermaid-parser.core-C62NUJRb.js +3 -0
- package/public/dist/assets/mermaid.core-ArqR5iFa.js +9 -0
- package/public/dist/assets/mermaid.core-BAwu4U2Y.js +1 -0
- package/public/dist/assets/{mindmap-definition-QFDTVHPH-Chqgsh1N.js → mindmap-definition-RKZ34NQL-C35cGkNU.js} +29 -29
- package/public/dist/assets/{nsis-_CjIiUyF.js → nsis-Ch4QINLN.js} +1 -1
- package/public/dist/assets/packet-YPE3B663-Bb9hBQ06.js +1 -0
- package/public/dist/assets/{page-shell-CTxVDJ8Y.js → page-shell-CVAobxbP.js} +1 -1
- package/public/dist/assets/pie-LRSECV5Y-CNRQnRNZ.js +1 -0
- package/public/dist/assets/pieDiagram-4H26LBE5-B8C_hoqJ.js +30 -0
- package/public/dist/assets/provider-icons-dxT69zGg.js +8 -0
- package/public/dist/assets/{pug-CbR8lCtK.js → pug-CXYqmmpP.js} +1 -1
- package/public/dist/assets/quadrantDiagram-W4KKPZXB-BEPrine5.js +7 -0
- package/public/dist/assets/radar-GUYGQ44K-BxngU2v0.js +1 -0
- package/public/dist/assets/{render-lpTpN1El.js → render-C7_e0J_X.js} +3 -3
- package/public/dist/assets/{requirementDiagram-MS252O5E-wnPtv0LG.js → requirementDiagram-4Y6WPE33-ClDDon9c.js} +4 -4
- package/public/dist/assets/rolldown-runtime-XQCOJYun.js +1 -0
- package/public/dist/assets/sankeyDiagram-5OEKKPKP-Bjs3OE-1.js +40 -0
- package/public/dist/assets/sequenceDiagram-3UESZ5HK-BM8IAaEe.js +162 -0
- package/public/dist/assets/settings-DjyKdqev.js +1 -0
- package/public/dist/assets/settings-pUJzyeX2.js +42 -0
- package/public/dist/assets/{sidebar-Cwt0FxQl.js → sidebar-CO9Qjj6v.js} +2 -2
- package/public/dist/assets/skills-CX3qJ77s.js +1 -0
- package/public/dist/assets/{skills-DDmTyywh.js → skills-Dq7fD8I3.js} +1 -1
- package/public/dist/assets/{slash-commands-D5y5AVvS.js → slash-commands-DRsKtuGT.js} +1 -1
- package/public/dist/assets/slash-commands-UbS8w9ij.js +1 -0
- package/public/dist/assets/stateDiagram-AJRCARHV-BvNABuXE.js +1 -0
- package/public/dist/assets/stateDiagram-v2-BHNVJYJU-CCIo81qy.js +1 -0
- package/public/dist/assets/{timeline-definition-GMOUNBTQ-DUz1-iOx.js → timeline-definition-PNZ67QCA-CIvTvac3.js} +8 -8
- package/public/dist/assets/trace-drawer-DDFdU07_.js +15 -0
- package/public/dist/assets/treeView-BLDUP644-cXRzPGzz.js +1 -0
- package/public/dist/assets/treemap-LRROVOQU-BsZE5HPE.js +1 -0
- package/public/dist/assets/ui-CeBmBBZM.js +140 -0
- package/public/dist/assets/ui-TMXjvH0r.js +1 -0
- package/public/dist/assets/{vendor-render-DEStnpJ8.js → vendor-render-DCb9B75Q.js} +38 -37
- package/public/dist/assets/vendor-utils-BnxL60_-.js +1 -0
- package/public/dist/assets/vennDiagram-CIIHVFJN-C5cbS2KC.js +34 -0
- package/public/dist/assets/wardley-L42UT6IY-D_qm0cZD.js +1 -0
- package/public/dist/assets/{wardleyDiagram-NUSXRM2D-CLAhOzap.js → wardleyDiagram-YWT4CUSO-BsRBBGFP.js} +61 -3
- package/public/dist/assets/{wiki-link-suggestions-LQuYT22G.js → wiki-link-suggestions-BHwNQXT_.js} +2 -2
- package/public/dist/assets/{xychartDiagram-5P7HB3ND-DLnY9i8z.js → xychartDiagram-2RQKCTM6-B6rqui6F.js} +6 -6
- package/public/dist/index.html +102 -3
- package/public/dist/manager/index.html +2 -2
- package/public/index.html +101 -1
- package/public/js/constants.ts +72 -0
- package/public/js/diagram/iframe-renderer.ts +7 -0
- package/public/js/features/chat-scroll.ts +31 -0
- package/public/js/features/chat-search.ts +223 -0
- package/public/js/features/help-content.ts +20 -2
- package/public/js/features/help-dialog.ts +38 -2
- package/public/js/features/pending-queue.ts +6 -0
- package/public/js/features/process-block.ts +20 -0
- package/public/js/features/settings-channel.ts +3 -1
- package/public/js/features/settings-cli-status.ts +24 -3
- package/public/js/features/settings-core.ts +134 -21
- package/public/js/features/settings-types.ts +12 -1
- package/public/js/features/settings.ts +1 -1
- package/public/js/features/trace-drawer.ts +2 -1
- package/public/js/features/voice-recorder.ts +222 -42
- package/public/js/main.ts +58 -4
- package/public/js/provider-icons.ts +46 -27
- package/public/js/render/markdown.ts +6 -0
- package/public/js/ui.ts +33 -7
- package/public/js/ws.ts +5 -1
- package/public/locales/en.json +31 -7
- package/public/locales/ja.json +31 -7
- package/public/locales/ko.json +31 -7
- package/public/locales/zh.json +31 -7
- package/public/manager/src/App.tsx +19 -55
- package/public/manager/src/InstancePreview.tsx +46 -1
- package/public/manager/src/components/InstanceDetailPanel.tsx +7 -2
- package/public/manager/src/components/InstanceLogsPanel.tsx +138 -0
- package/public/manager/src/dashboard-settings/DashboardEmbeddingSection.tsx +37 -7
- package/public/manager/src/jaw-ceo/useJawCeoDashboardBridge.tsx +1 -0
- package/public/manager/src/manager-components.css +76 -0
- package/public/manager/src/preview.ts +26 -3
- package/public/manager/src/settings/fields/SelectField.tsx +51 -17
- package/public/manager/src/settings/pages/Agent.tsx +37 -2
- package/public/manager/src/settings/pages/Heartbeat.tsx +3 -2
- package/public/manager/src/settings/pages/Memory.tsx +3 -2
- package/public/manager/src/settings/pages/components/EmployeeRow.tsx +8 -4
- package/public/manager/src/settings/pages/components/PerCliRow.tsx +31 -5
- package/public/manager/src/settings/pages/components/agent/FlushAgentSection.tsx +4 -2
- package/public/manager/src/settings/pages/components/agent/RuntimeEmployeeRow.tsx +1 -1
- package/public/manager/src/settings/pages/components/agent/RuntimeHeader.tsx +23 -1
- package/public/manager/src/settings/pages/components/agent/agent-meta.ts +49 -0
- package/public/manager/src/settings/pages/components/employees-helpers.ts +6 -1
- package/public/manager/src/settings/pages/components/heartbeat-helpers.ts +11 -1
- package/public/manager/src/settings-controls.css +25 -0
- package/public/manager/src/usePreviewShortcutMessages.ts +30 -0
- package/public/manager/src/usePreviewSttLifecycle.ts +31 -0
- package/scripts/fresh-install-smoke.ts +1 -1
- package/scripts/install-officecli.ps1 +33 -5
- package/scripts/install-officecli.sh +52 -8
- package/scripts/install-wsl.sh +96 -24
- package/scripts/install.sh +82 -11
- package/scripts/postinstall-guard.cjs +57 -30
- package/public/dist/assets/Agent-DNpehKB2.js +0 -1
- package/public/dist/assets/DashboardEmbeddingSection-BYdGgqg7.js +0 -2
- package/public/dist/assets/Employees-CuYuTy0R.js +0 -1
- package/public/dist/assets/Heartbeat-C-vq02MW.js +0 -1
- package/public/dist/assets/Memory-BPKWJDXK.js +0 -1
- package/public/dist/assets/ModelProvider-Bd6vGkXT.js +0 -1
- package/public/dist/assets/agent-meta-C1pQzExf.js +0 -1
- package/public/dist/assets/app-BxsIleo0.js +0 -32
- package/public/dist/assets/app-CB9n5A77.css +0 -1
- package/public/dist/assets/architecture-YZFGNWBL-BRI-0IaU.js +0 -1
- package/public/dist/assets/architectureDiagram-Q4EWVU46-z0JCgZrJ.js +0 -36
- package/public/dist/assets/blockDiagram-DXYQGD6D-KaOz3aFS.js +0 -132
- package/public/dist/assets/channel-jLopKIgm.js +0 -1
- package/public/dist/assets/chunk-2KRD3SAO-C8hJZPJu.js +0 -1
- package/public/dist/assets/chunk-426QAEUC-atJRhvKN.js +0 -1
- package/public/dist/assets/chunk-4TB4RGXK-BD7UhIN8.js +0 -206
- package/public/dist/assets/chunk-55IACEB6-CAWcPDdr.js +0 -1
- package/public/dist/assets/chunk-5FUZZQ4R-Cg1pzs6p.js +0 -62
- package/public/dist/assets/chunk-5PVQY5BW-otv3HwE_.js +0 -2
- package/public/dist/assets/chunk-67CJDMHE-AU2iOKLT.js +0 -1
- package/public/dist/assets/chunk-7N4EOEYR-BTIS4jBw.js +0 -1
- package/public/dist/assets/chunk-AA7GKIK3-c9UUJO_T.js +0 -1
- package/public/dist/assets/chunk-CIAEETIT-Dwbln6rM.js +0 -1
- package/public/dist/assets/chunk-ENJZ2VHE-PT_jAckw.js +0 -10
- package/public/dist/assets/chunk-FOC6F5B3-BqDmFFeg.js +0 -1
- package/public/dist/assets/chunk-ICPOFSXX-P6V6jqiT.js +0 -122
- package/public/dist/assets/chunk-K5T4RW27-C42sOmZR.js +0 -27
- package/public/dist/assets/chunk-KGLVRYIC-K-BVa8b2.js +0 -1
- package/public/dist/assets/chunk-ORNJ4GCN-CEXU6WaD.js +0 -1
- package/public/dist/assets/chunk-OYMX7WX6-DmJG2z1S.js +0 -231
- package/public/dist/assets/chunk-QZHKN3VN-BkVLii_3.js +0 -1
- package/public/dist/assets/chunk-U2HBQHQK-Ny6UwUgK.js +0 -11
- package/public/dist/assets/chunk-YZCP3GAM-c7FYtZME.js +0 -1
- package/public/dist/assets/classDiagram-6PBFFD2Q-BgOyAynm.js +0 -1
- package/public/dist/assets/classDiagram-v2-HSJHXN6E-5gBdoVH9.js +0 -1
- package/public/dist/assets/constants-4A2GptQT.js +0 -1
- package/public/dist/assets/cose-bilkent-S5V4N54A-CvH6qY_r.js +0 -1
- package/public/dist/assets/dagre--20B2-ZQ.js +0 -1
- package/public/dist/assets/dagre-KV5264BT-CQ0wo0ma.js +0 -4
- package/public/dist/assets/diagram-G4DWMVQ6-_aP6kMTh.js +0 -24
- package/public/dist/assets/diagram-MMDJMWI5-J1l6Q0JG.js +0 -43
- package/public/dist/assets/dist-B1p80u1b.js +0 -1
- package/public/dist/assets/dist-BKyzWv22.js +0 -1
- package/public/dist/assets/dist-CxJpXP6s.js +0 -1
- package/public/dist/assets/dist-DNLFuTrS.js +0 -1
- package/public/dist/assets/fields-BISouxp2.js +0 -1
- package/public/dist/assets/flowDiagram-DWJPFMVM-C_F0rqqT.js +0 -162
- package/public/dist/assets/ganttDiagram-T4ZO3ILL-B5S8EZRg.js +0 -292
- package/public/dist/assets/gitGraph-7Q5UKJZL-DTTW6pxr.js +0 -1
- package/public/dist/assets/gitGraphDiagram-UUTBAWPF-DMGzYJeb.js +0 -106
- package/public/dist/assets/graphlib-CZk_Ii16.js +0 -1
- package/public/dist/assets/info-OMHHGYJF-BU-iuaSm.js +0 -1
- package/public/dist/assets/infoDiagram-42DDH7IO-dzSaYFFK.js +0 -2
- package/public/dist/assets/javascript-BhB45e0W.js +0 -1
- package/public/dist/assets/katex-DamPUmTE.js +0 -1
- package/public/dist/assets/manager-B84u-pcn.js +0 -25
- package/public/dist/assets/manager-DMg_sTEP.css +0 -1
- package/public/dist/assets/memory-BV62wlsG.js +0 -1
- package/public/dist/assets/mermaid-loader-DxFGz4EE.js +0 -1
- package/public/dist/assets/mermaid-parser.core-CMIZ0my_.js +0 -3
- package/public/dist/assets/mermaid.core-CicVBD9l.js +0 -1
- package/public/dist/assets/mermaid.core-Dj6viEzN.js +0 -11
- package/public/dist/assets/packet-4T2RLAQJ-DzmBsAf0.js +0 -1
- package/public/dist/assets/pie-ZZUOXDRM-DyG1KzTn.js +0 -1
- package/public/dist/assets/pieDiagram-DEJITSTG-DJLiSymi.js +0 -30
- package/public/dist/assets/quadrantDiagram-34T5L4WZ-qcnWmcRr.js +0 -7
- package/public/dist/assets/radar-PYXPWWZC-CEBZARUu.js +0 -1
- package/public/dist/assets/rolldown-runtime-DE9SaGGd.js +0 -1
- package/public/dist/assets/sankeyDiagram-XADWPNL6-Bn3pUd_K.js +0 -10
- package/public/dist/assets/sequenceDiagram-FGHM5R23-DfxcHSdj.js +0 -157
- package/public/dist/assets/settings-CfAXLa8a.js +0 -1
- package/public/dist/assets/settings-FWgmcubl.js +0 -40
- package/public/dist/assets/skills-D-qUVJ-e.js +0 -1
- package/public/dist/assets/slash-commands-BfI19vIz.js +0 -1
- package/public/dist/assets/stateDiagram-FHFEXIEX-CiR7P2OG.js +0 -1
- package/public/dist/assets/stateDiagram-v2-QKLJ7IA2-BaWWpysK.js +0 -1
- package/public/dist/assets/trace-drawer-DVF5F1df.js +0 -15
- package/public/dist/assets/treeView-SZITEDCU-D5-TP7Qp.js +0 -1
- package/public/dist/assets/treemap-W4RFUUIX-BQhm_ZSp.js +0 -1
- package/public/dist/assets/ui-BJXY16Dk.js +0 -140
- package/public/dist/assets/ui-BXm3OPPh.js +0 -1
- package/public/dist/assets/vendor-utils-IVTPs69f.js +0 -68
- package/public/dist/assets/vennDiagram-DHZGUBPP-CYu7SDdG.js +0 -34
- package/public/dist/assets/wardley-RL74JXVD-CpnBMRe0.js +0 -1
- package/public/manager/src/settings/pages/Embedding.tsx +0 -382
- /package/public/dist/assets/{apl-HYRstREL.js → apl-CieDeb7B.js} +0 -0
- /package/public/dist/assets/{asciiarmor-BDXCrhAK.js → asciiarmor-BRTyulZY.js} +0 -0
- /package/public/dist/assets/{asn1-CnSBhb0M.js → asn1-DoNAtQ5o.js} +0 -0
- /package/public/dist/assets/{asterisk-AqV7rnIi.js → asterisk-CR7oKPxi.js} +0 -0
- /package/public/dist/assets/{brainfuck-Dv46-iL9.js → brainfuck-abzPcrOz.js} +0 -0
- /package/public/dist/assets/{clike-GRffz5hY.js → clike-B71Zq38G.js} +0 -0
- /package/public/dist/assets/{clojure-DzgT_fqE.js → clojure-Zm0UzHPq.js} +0 -0
- /package/public/dist/assets/{cmake-Co1237r5.js → cmake-D3UNdg6L.js} +0 -0
- /package/public/dist/assets/{cobol-rUaLketb.js → cobol-4fYvwQR0.js} +0 -0
- /package/public/dist/assets/{coffeescript-DQyfHE86.js → coffeescript-Ct6bZdRU.js} +0 -0
- /package/public/dist/assets/{commonlisp-Buue1PGW.js → commonlisp-CrgXVPcd.js} +0 -0
- /package/public/dist/assets/{crystal-BMWO0kOJ.js → crystal-bGOl67VM.js} +0 -0
- /package/public/dist/assets/{css-DaxibPo5.js → css-B_EV3Xq2.js} +0 -0
- /package/public/dist/assets/{cypher-CmpGfiBR.js → cypher-DXDlHTYf.js} +0 -0
- /package/public/dist/assets/{cytoscape.esm-zT8GwLFm.js → cytoscape.esm-BK7ao2Ti.js} +0 -0
- /package/public/dist/assets/{d-qmdtoIzU.js → d-RL5ynsiz.js} +0 -0
- /package/public/dist/assets/{diff-B40m6u1h.js → diff-B5McBGjz.js} +0 -0
- /package/public/dist/assets/{dtd-569ynYVj.js → dtd-l3sK4p_C.js} +0 -0
- /package/public/dist/assets/{dylan-Dxolp30i.js → dylan-WjJGY-rW.js} +0 -0
- /package/public/dist/assets/{ebnf-BZiX9Iq3.js → ebnf-BGY79HOS.js} +0 -0
- /package/public/dist/assets/{ecl-B8F1Q0oZ.js → ecl-BKh7OE1d.js} +0 -0
- /package/public/dist/assets/{eiffel-Bv8Kvgh1.js → eiffel-Bzvlg3oK.js} +0 -0
- /package/public/dist/assets/{elm-QWXQaIis.js → elm-5_BqNmKu.js} +0 -0
- /package/public/dist/assets/{erlang-CuDGzTGm.js → erlang-BdVwz8I8.js} +0 -0
- /package/public/dist/assets/{fcl-BiFeqtHf.js → fcl-B9cnfODD.js} +0 -0
- /package/public/dist/assets/{forth-R7Uc2VcL.js → forth-wZbbnGzb.js} +0 -0
- /package/public/dist/assets/{fortran-kDRG6BzW.js → fortran-BAJZrRfU.js} +0 -0
- /package/public/dist/assets/{gas-CyRkuC5T.js → gas-D60ZhBat.js} +0 -0
- /package/public/dist/assets/{gherkin-BE0p00ey.js → gherkin-B8tKjAAi.js} +0 -0
- /package/public/dist/assets/{groovy-B_Sh3D1t.js → groovy-BAG9eJUD.js} +0 -0
- /package/public/dist/assets/{haskell-DWXgCy4o.js → haskell-Cj4TmWbg.js} +0 -0
- /package/public/dist/assets/{haxe-xGxZ54Hv.js → haxe-8chnvz-o.js} +0 -0
- /package/public/dist/assets/{http-CKv9cSBA.js → http-DDYeO71z.js} +0 -0
- /package/public/dist/assets/{idl-DmlI3XzS.js → idl-D1hY-Gp_.js} +0 -0
- /package/public/dist/assets/{javascript-j6r5uf_k.js → javascript-Sh0ZUMP2.js} +0 -0
- /package/public/dist/assets/{julia-CQSp9Qa0.js → julia-BibioBF2.js} +0 -0
- /package/public/dist/assets/{livescript-CqvtVTlb.js → livescript-CSZrB6F4.js} +0 -0
- /package/public/dist/assets/{lua-DazQKUZ0.js → lua-BvTlo5w3.js} +0 -0
- /package/public/dist/assets/{mathematica-DqhJVCs9.js → mathematica-Bexv8BWZ.js} +0 -0
- /package/public/dist/assets/{mbox-Dsyo1_UL.js → mbox-BAhbA8z2.js} +0 -0
- /package/public/dist/assets/{mirc-D7ThhoF-.js → mirc-BzT5Kh4S.js} +0 -0
- /package/public/dist/assets/{mllike-EPZ6pqQD.js → mllike-DeoJnUZQ.js} +0 -0
- /package/public/dist/assets/{modelica-PU45hbqg.js → modelica-FD_-Fxlc.js} +0 -0
- /package/public/dist/assets/{mscgen-DEnh2Ojr.js → mscgen-C-OyhbwB.js} +0 -0
- /package/public/dist/assets/{mumps-8GhR7rRa.js → mumps-BxkCDTK7.js} +0 -0
- /package/public/dist/assets/{nginx-CXwagpwp.js → nginx-2JaV__gC.js} +0 -0
- /package/public/dist/assets/{ntriples-BDQxxstw.js → ntriples--rhhCzqb.js} +0 -0
- /package/public/dist/assets/{octave-2c90WnyU.js → octave-rS4nMzRe.js} +0 -0
- /package/public/dist/assets/{oz-CO0rQ8EL.js → oz-I4fMb_NC.js} +0 -0
- /package/public/dist/assets/{pascal-CcVwOGeN.js → pascal-BEghJs8t.js} +0 -0
- /package/public/dist/assets/{path-utils-DySmCVZK.js → path-utils-r2bJIu28.js} +0 -0
- /package/public/dist/assets/{perl-B9UvGoAV.js → perl-BRO9ZFo9.js} +0 -0
- /package/public/dist/assets/{pig-Cd1f86ZJ.js → pig-L4Ii6KI0.js} +0 -0
- /package/public/dist/assets/{powershell-DV4cOnkJ.js → powershell-BBeqUCRp.js} +0 -0
- /package/public/dist/assets/{properties-DaSVPhrZ.js → properties-Boi0jF2J.js} +0 -0
- /package/public/dist/assets/{protobuf-CEtFnY22.js → protobuf-fB2aGypX.js} +0 -0
- /package/public/dist/assets/{puppet-Ca0DHfcW.js → puppet-BRmsErtO.js} +0 -0
- /package/public/dist/assets/{python-ydzCwWG-.js → python-Be4P9Dgp.js} +0 -0
- /package/public/dist/assets/{q-Cl8kzQmk.js → q-DZGhDLYt.js} +0 -0
- /package/public/dist/assets/{r-DKZPJFrD.js → r-B4NERjRM.js} +0 -0
- /package/public/dist/assets/{rough.esm-Dnk3WN4D.js → rough.esm-C0Gkx4O1.js} +0 -0
- /package/public/dist/assets/{rpm-D0lqeHoZ.js → rpm-e-QbHJ1q.js} +0 -0
- /package/public/dist/assets/{ruby-RVmtmNDw.js → ruby-BSVP_v59.js} +0 -0
- /package/public/dist/assets/{sas-CEzodAB7.js → sas-DHlU4v4g.js} +0 -0
- /package/public/dist/assets/{scheme-Pqmt6dh3.js → scheme-BGXbz5Hz.js} +0 -0
- /package/public/dist/assets/{settings-client-BN3XzwEo.js → settings-client-DPuJroyk.js} +0 -0
- /package/public/dist/assets/{shell-CLG3zy-u.js → shell-yonx6xY2.js} +0 -0
- /package/public/dist/assets/{sieve-C95IWC3O.js → sieve-ClPJUZyi.js} +0 -0
- /package/public/dist/assets/{simple-mode-B9ErAHMD.js → simple-mode-CjViblDK.js} +0 -0
- /package/public/dist/assets/{smalltalk-4cL-gRJb.js → smalltalk-CHXubeqS.js} +0 -0
- /package/public/dist/assets/{solr-CEA7oOx_.js → solr-C6q6YwPz.js} +0 -0
- /package/public/dist/assets/{sparql-w8kHjP6I.js → sparql-CcspZvEd.js} +0 -0
- /package/public/dist/assets/{spreadsheet-C8bDfTgC.js → spreadsheet-DH3a4LBS.js} +0 -0
- /package/public/dist/assets/{sql-BrKz8968.js → sql-meoY6gNi.js} +0 -0
- /package/public/dist/assets/{stex-xFw1nXeT.js → stex-D2bn6Zsh.js} +0 -0
- /package/public/dist/assets/{stylus-gS_68vPk.js → stylus-DbXGih0S.js} +0 -0
- /package/public/dist/assets/{swift-D5lXmY2d.js → swift-Ch391uOd.js} +0 -0
- /package/public/dist/assets/{tcl-D-41REtC.js → tcl-CQBgGWDP.js} +0 -0
- /package/public/dist/assets/{textile-D-Znao0j.js → textile-4i3oG3tg.js} +0 -0
- /package/public/dist/assets/{tiddlywiki-Co8lXJKd.js → tiddlywiki-CXG1-CcK.js} +0 -0
- /package/public/dist/assets/{tiki-DsiNRYMP.js → tiki-DJqKUhA-.js} +0 -0
- /package/public/dist/assets/{toml-CaVZGou4.js → toml-C1FnyICQ.js} +0 -0
- /package/public/dist/assets/{troff-DJvDVr-d.js → troff-Cp8NvRO0.js} +0 -0
- /package/public/dist/assets/{ttcn-DAC92l4d.js → ttcn-NlmW_fji.js} +0 -0
- /package/public/dist/assets/{ttcn-cfg-C0X-mYlr.js → ttcn-cfg-BVuxfGZf.js} +0 -0
- /package/public/dist/assets/{turtle-D6WHyCrL.js → turtle-Ba9ERlnm.js} +0 -0
- /package/public/dist/assets/{vb-CEo_ccq3.js → vb-DDs4gjJb.js} +0 -0
- /package/public/dist/assets/{vbscript-B_PKDV1v.js → vbscript-gOFmdMJN.js} +0 -0
- /package/public/dist/assets/{velocity-ClKnKBLH.js → velocity-DtSNZA7i.js} +0 -0
- /package/public/dist/assets/{verilog-Pnuspgw6.js → verilog-Pldmtxe7.js} +0 -0
- /package/public/dist/assets/{vhdl-CZnyY4fs.js → vhdl-BFfSgWGp.js} +0 -0
- /package/public/dist/assets/{w3c-keyname-DJlC6DTY.js → w3c-keyname-BggQEPNo.js} +0 -0
- /package/public/dist/assets/{webidl-DHr762Dm.js → webidl-B6ZFYE2L.js} +0 -0
- /package/public/dist/assets/{xquery-5-FiyUtN.js → xquery-DhxUT98N.js} +0 -0
- /package/public/dist/assets/{yacas-GlqsXIeT.js → yacas-jSkQeF1Q.js} +0 -0
- /package/public/dist/assets/{z80-CI7N40Oo.js → z80-D7Lt6v61.js} +0 -0
package/README.zh-CN.md
CHANGED
|
@@ -2,164 +2,119 @@
|
|
|
2
2
|
|
|
3
3
|
# CLI-JAW
|
|
4
4
|
|
|
5
|
-
###
|
|
5
|
+
### 你的个人 AI 助手。2 行安装。7 个 AI 引擎,一个仪表盘。
|
|
6
6
|
|
|
7
7
|
[](https://npmjs.com/package/cli-jaw)
|
|
8
|
+
[](https://github.com/lidge-jun/cli-jaw/releases)
|
|
8
9
|
[](https://typescriptlang.org)
|
|
9
10
|
[](https://nodejs.org)
|
|
10
11
|
[](LICENSE)
|
|
11
|
-
[](
|
|
12
|
+
[](#docker)
|
|
12
13
|
|
|
13
14
|
[English](README.md) / [한국어](README.ko.md) / **中文** / [日本語](README.ja.md)
|
|
14
15
|
|
|
15
|
-

|
|
16
|
-
|
|
17
16
|
</div>
|
|
18
17
|
|
|
19
|
-
|
|
20
|
-
<tr><td><b>统一使用已有订阅</b></td><td>通过 OAuth 接入 Claude Max、ChatGPT Pro、Copilot、Gemini Advanced。也可以通过 OpenCode 添加任意模型。没有按 token 计费。</td></tr>
|
|
21
|
-
<tr><td><b>Manager dashboard</b></td><td>在一个浏览器工作区里追踪所有本地 JAW 实例,预览实时 Web UI,切换浅色/深色主题,查看运行时设置,并启动或停止托管会话。</td></tr>
|
|
22
|
-
<tr><td><b>Notes workspace</b></td><td>仪表盘主目录下的 Markdown 仓库。支持文件夹、重命名/移动、未保存状态标记、raw/split/preview 模式、KaTeX、Mermaid 和代码高亮。</td></tr>
|
|
23
|
-
<tr><td><b>你在哪里,它就在哪里</b></td><td>Manager dashboard、Web PWA、Mac WebView app、terminal TUI、带语音的 Telegram、Discord。所有入口共享同一个助手和同一份记忆。</td></tr>
|
|
24
|
-
<tr><td><b>3-layer memory</b></td><td>History Block(近期会话)+ Memory Flush(episodes、daily logs)+ Soul and Task Snapshot(identity、semantic recall)。使用 SQLite FTS5 全文搜索。</td></tr>
|
|
25
|
-
<tr><td><b>Multi-agent orchestration</b></td><td>PABCD 是持久化到 DB 的 5 阶段 FSM。Employee system 带 worker registry。支持并行 subtask 和文件重叠检测。每个 phase 都由你确认。</td></tr>
|
|
26
|
-
<tr><td><b>Browser and desktop automation</b></td><td>Chrome CDP、vision-click、ChatGPT/Grok/Gemini 的 DOM reference、通过 Codex App 接入 Computer Use、用于 SVG 与交互式可视化的 diagram skill。</td></tr>
|
|
27
|
-
<tr><td><b>MCP install once, 5 engines</b></td><td><code>jaw mcp install</code> 会同时同步到 Claude、Codex、Gemini、OpenCode、Copilot。只维护一份配置。</td></tr>
|
|
28
|
-
<tr><td><b>多语言支持</b></td><td>English、Korean、Chinese、Japanese README。i18n Web UI。通过 OfficeCLI 支持 HWP/HWPX 韩文办公文档。</td></tr>
|
|
29
|
-
</table>
|
|
18
|
+
## 安装
|
|
30
19
|
|
|
31
|
-
|
|
20
|
+
<details>
|
|
21
|
+
<summary><b>安全安装</b> — 面向现有用户,最小改动</summary>
|
|
32
22
|
|
|
33
|
-
|
|
23
|
+
```bash
|
|
24
|
+
# macOS / Linux
|
|
25
|
+
JAW_SAFE=1 npm install -g cli-jaw # skips optional tool/runtime setup
|
|
26
|
+
jaw init # 准备好后再交互式配置
|
|
34
27
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
28
|
+
# Windows PowerShell
|
|
29
|
+
$env:JAW_SAFE="1"; npm install -g cli-jaw
|
|
30
|
+
jaw init
|
|
31
|
+
```
|
|
39
32
|
|
|
40
|
-
|
|
33
|
+
</details>
|
|
41
34
|
|
|
42
|
-
|
|
35
|
+
```bash
|
|
36
|
+
npm install -g cli-jaw
|
|
37
|
+
jaw dashboard
|
|
38
|
+
```
|
|
43
39
|
|
|
44
|
-
|
|
40
|
+
完成。打开 **http://localhost:3457** 即可拥有你的个人 AI 助手。需要 [Node.js 22+](https://nodejs.org)。
|
|
45
41
|
|
|
46
|
-
|
|
47
|
-
|---|---|
|
|
48
|
-
| **Navigator** | 按活跃/运行中/离线分组实例,显示 CLI 与模型标签、自定义名称、端口,并提供预览/打开/启动/停止/重启操作 |
|
|
49
|
-
| **Live preview** | 通过 Manager 预览代理嵌入所选实例的 Web UI,带刷新/打开控件和预览开关 |
|
|
50
|
-
| **Runtime settings** | 显示所选实例的当前 CLI、模型、推理深度、权限模式、工作目录、员工、技能和设置 |
|
|
51
|
-
| **Notes** | 仪表盘本地的 markdown 仓库,支持文件夹树、手动保存、拖拽到文件夹、重命名、分屏预览、KaTeX、Mermaid 和代码高亮 |
|
|
42
|
+
> **第一次用?** 安装时会自动配置 Claude、Codex、Gemini、Copilot 和 OpenCode CLI。只需认证其中一个(参见[认证](#认证))即可开始。
|
|
52
43
|
|
|
53
|
-
|
|
44
|
+
<details>
|
|
45
|
+
<summary><b>macOS 一键安装</b> — 没有 Node.js?用这个</summary>
|
|
54
46
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
47
|
+
```bash
|
|
48
|
+
curl -fsSL https://raw.githubusercontent.com/lidge-jun/cli-jaw/master/scripts/install.sh | bash
|
|
49
|
+
```
|
|
58
50
|
|
|
59
|
-
|
|
60
|
-
<summary>在 Windows 上使用?— WSL 一键安装</summary>
|
|
51
|
+
</details>
|
|
61
52
|
|
|
62
|
-
|
|
53
|
+
<details>
|
|
54
|
+
<summary><b>Windows(WSL — Windows 子系统 Linux)</b> — 从零一键安装</summary>
|
|
63
55
|
|
|
64
56
|
```powershell
|
|
57
|
+
# 1. 安装 WSL(以管理员身份运行 PowerShell)
|
|
65
58
|
wsl --install
|
|
66
59
|
```
|
|
67
60
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
**步骤 2:安装 CLI-JAW**
|
|
61
|
+
重启后打开 **Ubuntu**,然后:
|
|
71
62
|
|
|
72
63
|
```bash
|
|
64
|
+
# 2. 安装 CLI-JAW + 所有依赖
|
|
73
65
|
curl -fsSL https://raw.githubusercontent.com/lidge-jun/cli-jaw/master/scripts/install-wsl.sh | bash
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
**步骤 3:重新加载 shell 并启动**
|
|
77
|
-
|
|
78
|
-
```bash
|
|
79
66
|
source ~/.bashrc
|
|
80
|
-
|
|
81
|
-
jaw serve # → http://localhost:3457
|
|
67
|
+
jaw dashboard
|
|
82
68
|
```
|
|
83
69
|
|
|
84
|
-
WSL 脚本是集成 Linux 安装路径:它会验证 `jaw --version`,以 strict mode
|
|
85
|
-
请求同捆 CLI 工具,安装 OfficeCLI,并在成功前验证 `officecli --version`。
|
|
86
|
-
如果没有检测到可运行的 Chromium 或 Windows Chrome fallback,安装器会给出警告,
|
|
87
|
-
不会把 browser/web-ai 说成已经完全可用。
|
|
88
|
-
|
|
89
|
-
<details>
|
|
90
|
-
<summary>WSL 故障排查</summary>
|
|
91
|
-
|
|
92
|
-
| 问题 | 解决办法 |
|
|
93
|
-
|---|---|
|
|
94
|
-
| `unzip: command not found` | 重新运行 installer |
|
|
95
|
-
| `jaw: command not found` | `source ~/.bashrc` 或 `export PATH="$HOME/.local/bin:$PATH"` |
|
|
96
|
-
| `officecli: command not found` | 重新运行 WSL installer,或执行 `bash "$(npm root -g)/cli-jaw/scripts/install-officecli.sh"` |
|
|
97
|
-
| Permission errors | `sudo chown -R $USER $(npm config get prefix)` |
|
|
98
|
-
|
|
99
|
-
</details>
|
|
100
70
|
</details>
|
|
101
71
|
|
|
102
72
|
<details>
|
|
103
|
-
<summary
|
|
104
|
-
|
|
105
|
-
1. 打开 **Terminal**(`Cmd + Space` → 输入 `Terminal`)
|
|
106
|
-
2. 粘贴下面的命令并按 Enter:
|
|
73
|
+
<summary><b>Docker</b></summary>
|
|
107
74
|
|
|
108
75
|
```bash
|
|
109
|
-
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
3. 认证并启动:
|
|
113
|
-
|
|
114
|
-
```bash
|
|
115
|
-
copilot login
|
|
116
|
-
jaw serve # → http://localhost:3457
|
|
76
|
+
docker compose up -d # → http://localhost:3457
|
|
117
77
|
```
|
|
118
78
|
|
|
119
79
|
</details>
|
|
120
80
|
|
|
121
81
|
---
|
|
122
82
|
|
|
123
|
-
##
|
|
83
|
+
## CLI-JAW 是什么?
|
|
124
84
|
|
|
125
|
-
|
|
126
|
-
npm install -g cli-jaw
|
|
127
|
-
jaw serve
|
|
128
|
-
```
|
|
85
|
+
CLI-JAW 是一个开源平台,将你已经在用的 AI 编码 CLI — Claude、Codex、Gemini、Grok、OpenCode、Copilot — 统一成**一个助手、一份记忆、一个仪表盘**。
|
|
129
86
|
|
|
130
|
-
|
|
131
|
-
best-effort。需要集成安装保证时请使用 WSL 一键脚本;普通 Linux 安装后请手动验证:
|
|
87
|
+
你的主 CLI(Boss)调度其他 CLI 作为"员工"。不用在各种应用之间来回切换,直接在一个地方下达指令。
|
|
132
88
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
jaw doctor
|
|
137
|
-
```
|
|
89
|
+
- **无需 API 密钥** — 通过你已有的订阅路由
|
|
90
|
+
- **无按 token 计费** — 和你现在的月费一样
|
|
91
|
+
- **本地运行** — 代码不会离开你的机器
|
|
138
92
|
|
|
139
|
-
|
|
93
|
+
<div align="center">
|
|
94
|
+
|
|
95
|
+

|
|
140
96
|
|
|
141
|
-
>
|
|
142
|
-
>
|
|
143
|
-
> Claude Code 说明:如果需要 Anthropic computer-use MCP,建议使用原生 Claude installer(`curl -fsSL https://claude.ai/install.sh | bash` 或 `claude install`)。当 `claude` 看起来由 npm/bun 管理时,`jaw doctor` 现在会提示警告。
|
|
97
|
+
</div>
|
|
144
98
|
|
|
145
99
|
---
|
|
146
100
|
|
|
147
|
-
##
|
|
101
|
+
## 认证
|
|
148
102
|
|
|
149
|
-
|
|
103
|
+
只需一个。选择你已经订阅的服务:
|
|
150
104
|
|
|
151
105
|
```bash
|
|
152
|
-
#
|
|
153
|
-
copilot login # GitHub Copilot
|
|
154
|
-
opencode # OpenCode —
|
|
106
|
+
# 免费选项(无需信用卡)
|
|
107
|
+
copilot login # GitHub Copilot(有免费层)
|
|
108
|
+
opencode # OpenCode — 有免费模型
|
|
155
109
|
|
|
156
|
-
#
|
|
157
|
-
claude auth
|
|
158
|
-
codex login # OpenAI ChatGPT Pro
|
|
110
|
+
# 付费(你已经在付的月订阅)
|
|
111
|
+
claude auth login # Anthropic Claude Max
|
|
112
|
+
codex login # OpenAI ChatGPT Pro
|
|
159
113
|
gemini # Google Gemini Advanced
|
|
114
|
+
grok login --oauth # xAI Grok / Grok Heavy
|
|
160
115
|
```
|
|
161
116
|
|
|
162
|
-
|
|
117
|
+
一次性检查全部:`jaw doctor`
|
|
163
118
|
|
|
164
119
|
<details>
|
|
165
120
|
<summary>jaw doctor 输出示例</summary>
|
|
@@ -174,9 +129,9 @@ gemini # Google Gemini Advanced
|
|
|
174
129
|
✅ OpenCode CLI installed
|
|
175
130
|
✅ Copilot CLI installed
|
|
176
131
|
✅ Database jaw.db OK
|
|
177
|
-
✅ Skills
|
|
178
|
-
✅ MCP
|
|
179
|
-
✅ Memory
|
|
132
|
+
✅ Skills 32 active, 194 reference
|
|
133
|
+
✅ MCP(插件) 3 servers configured
|
|
134
|
+
✅ Memory structured/ exists
|
|
180
135
|
✅ Server port 3457 available
|
|
181
136
|
```
|
|
182
137
|
|
|
@@ -184,321 +139,352 @@ gemini # Google Gemini Advanced
|
|
|
184
139
|
|
|
185
140
|
---
|
|
186
141
|
|
|
187
|
-
##
|
|
142
|
+
## 仪表盘
|
|
188
143
|
|
|
189
|
-
|
|
144
|
+
仪表盘是你的指挥中心——一个运行在 `http://localhost:3457` 的本地 Web 应用。
|
|
190
145
|
|
|
191
|
-
|
|
192
|
-
|---|---|
|
|
193
|
-
| **Web PWA** | 完整 UI:markdown/KaTeX/Mermaid rendering、virtual scroll、WS streaming、drag-and-drop file upload、voice recording、PABCD roadmap bar、i18n(English, Korean, Chinese, Japanese)、dark/light theme、基于 IndexedDB 的 offline message cache |
|
|
194
|
-
| **Mac WebView app** | 把 `jaw serve` 包在原生 macOS app shell 中。不打开浏览器也能从 Dock 访问 |
|
|
195
|
-
| **Terminal TUI** | multiline editing、slash-command autocomplete、overlay selectors、session persistence、resume classification |
|
|
196
|
-
| **Telegram** | 语音消息(multi-provider STT)、照片、文件。scheduled task 结果会自动送达。支持 model/CLI 切换 slash commands |
|
|
197
|
-
| **Discord** | 文本和文件消息、command sync、channel/thread routing、agent result forwarder |
|
|
146
|
+
### 实例管理器
|
|
198
147
|
|
|
199
|
-
|
|
148
|
+
查看每个正在运行的 AI 实例——一键启动、停止、重启。在仪表盘中直接预览实时 Web UI。
|
|
200
149
|
|
|
201
|
-
|
|
150
|
+
<div align="center">
|
|
202
151
|
|
|
203
|
-
|
|
152
|
+

|
|
204
153
|
|
|
205
|
-
|
|
206
|
-
|---|---|---|---|
|
|
207
|
-
| **Claude** | `opus-4-6` | `claude auth` | Claude Max subscription |
|
|
208
|
-
| **Codex** | `gpt-5.5` | `codex login` | ChatGPT Pro subscription |
|
|
209
|
-
| **Gemini** | `gemini-3.1-pro-preview` | `gemini` | Gemini Advanced subscription |
|
|
210
|
-
| **OpenCode** | `minimax-m2.7` | `opencode` | Free models available |
|
|
211
|
-
| **Copilot** | `gpt-5-mini` | `copilot login` | Free tier available |
|
|
154
|
+
</div>
|
|
212
155
|
|
|
213
|
-
|
|
156
|
+
### 看板
|
|
214
157
|
|
|
215
|
-
|
|
158
|
+
将实例卡片拖入泳道(Backlog → Ready → In Progress → Review → Done)。跟踪每个 AI 会话正在做什么。
|
|
216
159
|
|
|
217
|
-
>
|
|
160
|
+
<div align="center">
|
|
218
161
|
|
|
219
|
-
|
|
162
|
+

|
|
163
|
+
|
|
164
|
+
</div>
|
|
220
165
|
|
|
221
|
-
|
|
166
|
+
### 优先级矩阵
|
|
222
167
|
|
|
223
|
-
|
|
168
|
+
艾森豪威尔矩阵管理你的任务和提醒。优先处理重要的事。
|
|
224
169
|
|
|
225
|
-
|
|
226
|
-
|---|---|---|
|
|
227
|
-
| **History Block** | 最近的会话上下文 | `buildHistoryBlock()` — 最近 10 个会话,最多 8000 字符,按工作目录限定范围。注入到提示开头 |
|
|
228
|
-
| **Memory Flush** | 从对话中提取的结构化知识 | 达到阈值后触发(默认 10 轮)。抽取提示汇总为事件记录、每日日志(`YYYY-MM-DD.md`)、实时笔记,并保存为 markdown 文件 |
|
|
229
|
-
| **Soul + Task Snapshot** | 身份和语义检索 | `soul.md` 定义核心价值、语调、边界。Task Snapshot 每次提示都从 FTS5 index 中搜索最多 4 条语义相关命中(每条 700 字符) |
|
|
170
|
+
<div align="center">
|
|
230
171
|
|
|
231
|
-
|
|
172
|
+

|
|
232
173
|
|
|
233
|
-
|
|
174
|
+
</div>
|
|
234
175
|
|
|
235
|
-
|
|
176
|
+
### 笔记
|
|
236
177
|
|
|
237
|
-
|
|
178
|
+
仪表盘内的迷你 Obsidian。文件夹、可视化(WYSIWYG)+ 源码 + 分屏编辑、KaTeX(数学公式渲染)、Mermaid(图表即代码)、语法高亮代码块。
|
|
238
179
|
|
|
239
|
-
|
|
180
|
+
<div align="center">
|
|
240
181
|
|
|
241
|
-
|
|
242
|
-
P (Plan) → A (Audit) → B (Build) → C (Check) → D (Done) → IDLE
|
|
243
|
-
⛔ ⛔ ⛔ auto auto
|
|
244
|
-
```
|
|
182
|
+

|
|
245
183
|
|
|
246
|
-
|
|
247
|
-
|---|---|
|
|
248
|
-
| **P** | Boss AI 写出 diff-level plan,并停下来等你 review |
|
|
249
|
-
| **A** | read-only worker 验证 plan 是否可执行 |
|
|
250
|
-
| **B** | Boss 实现。read-only worker 验证结果 |
|
|
251
|
-
| **C** | type-check、docs update、consistency check |
|
|
252
|
-
| **D** | 汇总所有变更,然后回到 idle |
|
|
184
|
+
</div>
|
|
253
185
|
|
|
254
|
-
|
|
186
|
+
### 代理状态
|
|
187
|
+
|
|
188
|
+
一目了然地监控每个 AI 引擎的健康状况和使用情况。
|
|
189
|
+
|
|
190
|
+
<div align="center">
|
|
191
|
+
|
|
192
|
+

|
|
193
|
+
|
|
194
|
+
</div>
|
|
255
195
|
|
|
256
196
|
---
|
|
257
197
|
|
|
258
|
-
##
|
|
198
|
+
## 员工系统的工作原理
|
|
259
199
|
|
|
260
|
-
|
|
200
|
+
核心理念:**你的主 CLI 调用其他 CLI 作为工作者。**
|
|
261
201
|
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
| **Media** | `video`, `imagegen`, `lecture-stt`, `tts` | Remotion video rendering、OpenAI image generation、lecture transcription、text-to-speech |
|
|
267
|
-
| **Integration** | `github`, `notion`, `telegram-send`, `memory` | issues/PRs/CI、Notion pages、Telegram media delivery、persistent memory |
|
|
268
|
-
| **Visualization** | `diagram` | 在 chat 中渲染 SVG diagrams、charts、interactive visualizations |
|
|
269
|
-
| **Dev guides** | `dev`, `dev-frontend`, `dev-backend`, `dev-data`, `dev-testing`, `dev-pabcd`, `dev-code-reviewer` | 注入 sub-agent prompts 的 engineering guidelines |
|
|
202
|
+
你和一个 AI(Boss)对话。当它需要专业工作时,会向员工分派任务——每个员工运行自己的 CLI 和模型:
|
|
203
|
+
|
|
204
|
+
```
|
|
205
|
+
你:"修复前端样式,并更新 API 端点"
|
|
270
206
|
|
|
271
|
-
|
|
207
|
+
Boss(Claude)思考中...
|
|
208
|
+
├── 分派到 Frontend 员工(OpenCode)→ "修复 dashboard.tsx 中的 CSS grid 布局"
|
|
209
|
+
├── 分派到 Backend 员工(Codex) → "更新 /api/users 以返回分页元数据"
|
|
210
|
+
└── 综合两方结果返回给你
|
|
211
|
+
```
|
|
272
212
|
|
|
273
213
|
```bash
|
|
274
|
-
|
|
214
|
+
# 底层就是一条命令:
|
|
215
|
+
jaw dispatch --agent "Frontend" --task "修复 dashboard.tsx 中的 CSS grid 布局"
|
|
275
216
|
```
|
|
276
217
|
|
|
277
|
-
|
|
218
|
+
员工是在你的设置中配置的其他 AI CLI。每个有自己的会话、模型和上下文。Boss 审核它们的输出后再呈现给你。
|
|
278
219
|
|
|
279
|
-
|
|
220
|
+
### 员工 vs 子代理
|
|
280
221
|
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
|
284
|
-
|
|
285
|
-
|
|
|
286
|
-
|
|
|
287
|
-
|
|
|
222
|
+
这是两个不同的东西:
|
|
223
|
+
|
|
224
|
+
| | 员工 | 子代理 |
|
|
225
|
+
|---|---|---|
|
|
226
|
+
| **是什么** | 配置为工作者的其他 AI CLI(Codex、OpenCode 等) | 单个 CLI 内置的并行任务工具 |
|
|
227
|
+
| **何时用** | 跨不同代码库或领域的多专家协作 | 内部研究、文件读取、并行分析 |
|
|
228
|
+
| **如何用** | `jaw dispatch --agent "Name" --task "..."` | 自动——CLI 在内部生成 |
|
|
229
|
+
|
|
230
|
+
员工用于"Frontend 做 CSS,Backend 做 API"。子代理用于"做决定前并行读取 5 个文件"。
|
|
288
231
|
|
|
289
232
|
---
|
|
290
233
|
|
|
291
|
-
##
|
|
234
|
+
## AI 运行时
|
|
292
235
|
|
|
293
|
-
|
|
236
|
+
无按 token 的 API 计费。通过你已有的订阅路由。
|
|
294
237
|
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
238
|
+
| CLI | 默认模型 | 认证 | 费用 |
|
|
239
|
+
|---|---|---|---|
|
|
240
|
+
| **Claude** | `opus-4-6` | `claude auth login` | Claude Max 订阅 |
|
|
241
|
+
| **Codex** | `gpt-5.5` | `codex login` | ChatGPT Pro 订阅 |
|
|
242
|
+
| **Codex App** | `gpt-5.4` | `codex login` | ChatGPT Pro 订阅 |
|
|
243
|
+
| **Gemini** | `gemini-3.1-pro-preview` | `gemini` | Gemini Advanced 订阅 |
|
|
244
|
+
| **Grok** | `grok-build` | `grok login --oauth` | Grok 订阅;配额仅限认证/状态 |
|
|
245
|
+
| **OpenCode** | `minimax-m2.7` | `opencode` | 有免费模型 |
|
|
246
|
+
| **Copilot** | `gpt-5-mini` | `copilot login` | 有免费层 |
|
|
299
247
|
|
|
300
|
-
|
|
248
|
+
**回退链**:当一个引擎被限速时,下一个自动接上。用 `/fallback [cli1 cli2...]` 配置。
|
|
301
249
|
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
250
|
+
**OpenCode 通配符**:连接任意模型端点——OpenRouter、本地 LLM(大语言模型)、任何 OpenAI 兼容 API。
|
|
251
|
+
|
|
252
|
+
> 切换引擎:`/cli codex`。切换模型:`/model gpt-5.5`。Web、终端、Telegram 或 Discord 均可。
|
|
305
253
|
|
|
306
254
|
---
|
|
307
255
|
|
|
308
|
-
##
|
|
256
|
+
## PABCD 编排(Plan → Audit → Build → Check → Done)
|
|
309
257
|
|
|
310
|
-
|
|
258
|
+
对于复杂任务,CLI-JAW 使用结构化的 5 阶段工作流。每次转换都需要你的批准——没有你的确认什么都不会发布。
|
|
311
259
|
|
|
312
260
|
```
|
|
313
|
-
|
|
261
|
+
P (Plan) → A (Audit) → B (Build) → C (Check) → D (Done) → IDLE
|
|
262
|
+
⛔ ⛔ ⛔ auto auto
|
|
314
263
|
```
|
|
315
264
|
|
|
316
|
-
|
|
317
|
-
|
|
265
|
+
| 阶段 | 发生什么 |
|
|
266
|
+
|---|---|
|
|
267
|
+
| **P — Plan** | Boss AI 编写 diff 级别的计划。停下等你审查 |
|
|
268
|
+
| **A — Audit** | 只读工作者验证计划是否可行(imports 存在、签名匹配) |
|
|
269
|
+
| **B — Build** | Boss 实现。只读工作者验证结果 |
|
|
270
|
+
| **C — Check** | 类型检查(`tsc --noEmit`)、文档更新、一致性检查 |
|
|
271
|
+
| **D — Done** | 汇总所有变更。返回空闲状态 |
|
|
318
272
|
|
|
319
|
-
|
|
320
|
-
2. 配置 — `jaw init --telegram-token YOUR_TOKEN`,或使用 Web UI settings
|
|
321
|
-
3. 给 bot 发送任意消息。Chat ID 会在第一条消息时自动保存
|
|
273
|
+
状态持久化在数据库中,服务器重启后仍然保留。工作者不能修改文件——只能验证。用 `jaw orchestrate`、`/orchestrate` 或 `/pabcd` 启动。
|
|
322
274
|
|
|
323
|
-
|
|
275
|
+
---
|
|
324
276
|
|
|
325
|
-
|
|
277
|
+
## 记忆
|
|
326
278
|
|
|
327
|
-
|
|
279
|
+
三个层次,各覆盖不同的回忆范围。
|
|
328
280
|
|
|
329
|
-
|
|
281
|
+
| 层 | 存储内容 | 工作方式 |
|
|
282
|
+
|---|---|---|
|
|
283
|
+
| **History Block** | 近期会话上下文 | 最近 10 个会话,最多 8000 字符,按工作目录限定范围。注入到提示开头 |
|
|
284
|
+
| **Memory Flush** | 从对话中提取的结构化知识 | 达到阈值后触发(默认 10 轮)。提取为事件记录、每日日志、语义笔记,保存为 markdown |
|
|
285
|
+
| **Soul + Task Snapshot** | 身份和语义检索 | 核心价值观、语调、边界。全文搜索索引每次提示返回最多 4 条语义相关结果 |
|
|
330
286
|
|
|
331
|
-
|
|
287
|
+
三层全部自动注入系统提示。记忆可搜索:
|
|
332
288
|
|
|
333
|
-
|
|
289
|
+
```bash
|
|
290
|
+
jaw memory search "我们是怎么设置 API 认证的?"
|
|
291
|
+
```
|
|
334
292
|
|
|
335
293
|
---
|
|
336
294
|
|
|
337
|
-
##
|
|
295
|
+
## 技能
|
|
338
296
|
|
|
339
|
-
|
|
340
|
-
|---|---|
|
|
341
|
-
| **Heartbeat jobs** | 按 cron schedule 运行 unattended tasks。结果发送到 Telegram/Discord |
|
|
342
|
-
| **Service auto-start** | `jaw service install` — 自动检测 systemd(Linux)、launchd(macOS)或 Docker |
|
|
343
|
-
| **Memory auto-reflect** | 用于 structured knowledge extraction 的 optional post-flush reflection |
|
|
297
|
+
230+ 技能覆盖开发工作流、办公文档、自动化和媒体。
|
|
344
298
|
|
|
345
|
-
|
|
299
|
+
| 分类 | 技能 | 覆盖范围 |
|
|
300
|
+
|---|---|---|
|
|
301
|
+
| **办公** | `pdf`, `docx`, `xlsx`, `pptx`, `hwp` | 读取、创建、编辑文档。HWP/HWPX(韩国文字处理器格式)原生支持 |
|
|
302
|
+
| **自动化** | `browser`, `vision-click`, `screen-capture`, `desktop-control` | Chrome DevTools Protocol(CDP)浏览器控制、AI 坐标点击、macOS 截屏、Computer Use |
|
|
303
|
+
| **媒体** | `video`, `imagegen`, `lecture-stt`, `tts` | Remotion 视频、OpenAI 图像生成、讲座转录、文字转语音 |
|
|
304
|
+
| **集成** | `github`, `notion`, `telegram-send`, `memory` | Issues/PRs/CI、Notion 页面、Telegram 媒体发送、持久记忆 |
|
|
305
|
+
| **可视化** | `diagram` | 在聊天中渲染 SVG 图表、图形、交互式可视化 |
|
|
306
|
+
| **开发指南** | `dev`, `dev-frontend`, `dev-backend`, `dev-data`, `dev-testing`, `dev-pabcd` | 注入代理提示的工程指南 |
|
|
346
307
|
|
|
347
|
-
|
|
308
|
+
参考技能位于 `skills_ref/`,按需安装到活跃运行时。
|
|
348
309
|
|
|
349
310
|
```bash
|
|
350
|
-
jaw
|
|
351
|
-
jaw
|
|
352
|
-
jaw doctor # 12-point diagnostics
|
|
353
|
-
jaw service install # auto-start on boot
|
|
354
|
-
jaw skill install <name> # activate a skill
|
|
355
|
-
jaw mcp install <package> # install MCP → syncs to 5 engines
|
|
356
|
-
jaw memory search <query> # search memory
|
|
357
|
-
jaw browser start # launch Chrome (CDP)
|
|
358
|
-
jaw browser vision-click "Login" # AI-powered click
|
|
359
|
-
jaw clone ~/project # clone instance
|
|
360
|
-
jaw --home ~/project serve --port 3458 # run second instance
|
|
361
|
-
jaw orchestrate # enter PABCD
|
|
362
|
-
jaw dispatch --agent Backend --task "..." # dispatch employee
|
|
363
|
-
jaw reset # full reset
|
|
311
|
+
jaw skill install <name> # 激活参考技能
|
|
312
|
+
jaw skill list # 查看可用技能
|
|
364
313
|
```
|
|
365
314
|
|
|
366
315
|
---
|
|
367
316
|
|
|
368
|
-
##
|
|
369
|
-
|
|
370
|
-
运行彼此隔离的实例。每个实例都有独立 settings、memory 和 database。
|
|
317
|
+
## 浏览器和桌面自动化
|
|
371
318
|
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
319
|
+
| 功能 | 工作方式 |
|
|
320
|
+
|---|---|
|
|
321
|
+
| **Chrome DevTools Protocol** | 导航、点击、输入、截屏、执行 JS、滚动、按键——Chrome 的远程控制 |
|
|
322
|
+
| **Vision-click** | 截屏 → AI 提取目标坐标 → 点击。`jaw browser vision-click "Login button"` |
|
|
323
|
+
| **Computer Use** | 通过 Codex Computer Use 自动化桌面应用。用 Safari 访问 localhost,体验如同 Codex 应用 |
|
|
324
|
+
| **Web-AI 供应商** | `jaw browser web-ai --vendor chatgpt\|gemini\|grok`——会话生命周期、诊断、源码审计支持 |
|
|
325
|
+
| **Diagram 技能** | 生成 SVG 图表和交互式可视化,在聊天中内联渲染 |
|
|
376
326
|
|
|
377
|
-
|
|
327
|
+
Computer Use 让你用自然语言控制任何 macOS 应用——Finder、Safari、系统设置、Xcode。
|
|
378
328
|
|
|
379
329
|
---
|
|
380
330
|
|
|
381
|
-
##
|
|
331
|
+
## 消息
|
|
382
332
|
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
333
|
+
### Telegram
|
|
334
|
+
|
|
335
|
+
```
|
|
336
|
+
📱 Telegram ←→ 🦈 CLI-JAW ←→ 🤖 AI Engines
|
|
386
337
|
```
|
|
387
338
|
|
|
388
|
-
|
|
339
|
+
文字聊天、语音消息(通过多供应商 STT——语音转文字 自动转录)、文件/照片上传、斜杠命令(`/cli`、`/model`、`/status`)、定时任务(`every`/`cron`——循环计划)结果自动送达。
|
|
389
340
|
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
- `*.ts.net` — MagicDNS hostnames(Host + Origin both pass)
|
|
341
|
+
<details>
|
|
342
|
+
<summary>设置(3 步)</summary>
|
|
393
343
|
|
|
394
|
-
|
|
344
|
+
1. 给 [@BotFather](https://t.me/BotFather) 发消息 → `/newbot` → 复制 token
|
|
345
|
+
2. `jaw init --telegram-token YOUR_TOKEN` 或在 Web UI 设置中输入
|
|
346
|
+
3. 给 bot 发送任意消息。Chat ID 首次消息时自动保存
|
|
395
347
|
|
|
396
|
-
|
|
397
|
-
- Shared tailnets:结合 Tailscale ACL(`acl.tailnet`)限制谁能访问 node。
|
|
398
|
-
- Subnet router / exit node:SNAT 会把 peer IP 折叠成 router 的 100.x,trust boundary 会变模糊。建议使用 direct tailnet membership。
|
|
399
|
-
- Production:尽量把 `bindHost` 缩到 `tailscale0` interface address,而不是 `0.0.0.0`。
|
|
400
|
-
- `lanBypass=true` 时,tailnet peers 会跳过 Bearer token(与 RFC 1918 一样按 LAN 处理)。如需让所有非 loopback peer 都提供 `JAW_AUTH_TOKEN`,设置 `lanBypass=false`。
|
|
348
|
+
</details>
|
|
401
349
|
|
|
402
|
-
|
|
350
|
+
### Discord
|
|
403
351
|
|
|
404
|
-
|
|
352
|
+
与 Telegram 功能相同——文字、文件、命令。频道/线程路由、规范 `/api/channel/send`、代理结果广播转发器。通过 Web UI 设置配置。
|
|
405
353
|
|
|
406
|
-
|
|
407
|
-
docker compose up -d # → http://localhost:3457
|
|
408
|
-
```
|
|
354
|
+
### 语音 & STT
|
|
409
355
|
|
|
410
|
-
|
|
356
|
+
语音输入支持 Web(麦克风按钮)、Telegram(语音消息)和 Discord。供应商:OpenAI 兼容、Google Vertex AI 或任意自定义端点。
|
|
411
357
|
|
|
412
|
-
|
|
413
|
-
<summary>Docker details</summary>
|
|
358
|
+
---
|
|
414
359
|
|
|
415
|
-
|
|
416
|
-
# Dev build
|
|
417
|
-
docker build -f Dockerfile.dev -t cli-jaw:dev .
|
|
418
|
-
docker run -d -p 3457:3457 --env-file .env cli-jaw:dev
|
|
360
|
+
## MCP(Model Context Protocol)
|
|
419
361
|
|
|
420
|
-
|
|
421
|
-
docker build --build-arg CLI_JAW_VERSION=1.0.1 -t cli-jaw:1.0.1 .
|
|
362
|
+
[MCP](https://modelcontextprotocol.io) 是一个让 AI 工具共享能力的标准——就像 AI 代理的插件。CLI-JAW 用一个文件管理所有引擎的 MCP 配置。
|
|
422
363
|
|
|
423
|
-
|
|
424
|
-
|
|
364
|
+
```bash
|
|
365
|
+
jaw mcp install @anthropic/context7
|
|
366
|
+
# → 同步到 Claude、Codex、Gemini、OpenCode、Copilot 的配置文件
|
|
425
367
|
```
|
|
426
368
|
|
|
427
|
-
|
|
369
|
+
不用再分别编辑多个 JSON 文件。安装一次,每个 MCP 感知引擎都会获得配置。Grok CLI 是标准运行时,但在 Grok 暴露兼容配置面之前不计为 MCP 同步对象。
|
|
370
|
+
|
|
371
|
+
```bash
|
|
372
|
+
jaw mcp sync # 手动编辑后重新同步
|
|
373
|
+
```
|
|
428
374
|
|
|
429
375
|
---
|
|
430
376
|
|
|
431
|
-
##
|
|
377
|
+
## CLI 命令
|
|
432
378
|
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
379
|
+
```bash
|
|
380
|
+
# 核心
|
|
381
|
+
jaw dashboard # 启动管理仪表盘
|
|
382
|
+
jaw serve # 启动服务器(http://localhost:3457)
|
|
383
|
+
jaw chat # 终端聊天 UI
|
|
384
|
+
jaw doctor # 12 项诊断
|
|
385
|
+
|
|
386
|
+
# 实例
|
|
387
|
+
jaw clone ~/project # 克隆实例到新目录
|
|
388
|
+
jaw --home ~/project serve --port 3458 # 运行第二个实例
|
|
389
|
+
jaw service install # 开机自启
|
|
390
|
+
|
|
391
|
+
# AI 和编排
|
|
392
|
+
jaw dispatch --agent "Backend" --task "..." # 分派员工
|
|
393
|
+
jaw orchestrate # 进入/控制 PABCD 工作流
|
|
394
|
+
|
|
395
|
+
# 技能和 MCP
|
|
396
|
+
jaw skill install <name> # 激活技能
|
|
397
|
+
jaw skill list # 列出可用技能
|
|
398
|
+
jaw mcp install <package> # 安装 MCP → 同步支持的 MCP 感知引擎
|
|
399
|
+
jaw mcp sync # 重新同步 MCP 配置
|
|
400
|
+
|
|
401
|
+
# 记忆
|
|
402
|
+
jaw memory search <query> # 跨所有记忆层搜索
|
|
403
|
+
jaw memory save <file> <content> # 保存到结构化记忆
|
|
404
|
+
|
|
405
|
+
# 浏览器
|
|
406
|
+
jaw browser start # 启动 Chrome 自动化
|
|
407
|
+
jaw browser fetch "https://example.com" --json --trace # 自适应 URL 读取
|
|
408
|
+
jaw browser snapshot # 捕获页面状态
|
|
409
|
+
jaw browser vision-click "Login" # AI 驱动的点击
|
|
410
|
+
|
|
411
|
+
# 维护
|
|
412
|
+
jaw reset # 完全重置
|
|
413
|
+
```
|
|
443
414
|
|
|
444
415
|
---
|
|
445
416
|
|
|
446
|
-
##
|
|
417
|
+
## 多实例
|
|
447
418
|
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
| **Orchestration** | PABCD 5-phase FSM | Subagent spawn | Task tool |
|
|
457
|
-
| **Execution** | Local + Docker | Local/Docker/SSH/Daytona/Modal/Singularity | Local |
|
|
458
|
-
| **Skills** | 100+ bundled | Self-creating + agentskills.io | User-configured |
|
|
459
|
-
| **i18n** | English, Korean, Chinese, Japanese | English | English |
|
|
460
|
-
|
|
461
|
-
CLI-JAW 源自 OpenClaw harness architecture(hybrid search manager、fallback patterns、session indexing)。如果从 OpenClaw 迁移,slash-command surface 和 memory model 会很熟悉。
|
|
419
|
+
运行互相隔离的独立实例,各有独立的设置、记忆和数据库:
|
|
420
|
+
|
|
421
|
+
```bash
|
|
422
|
+
jaw clone ~/my-project
|
|
423
|
+
jaw --home ~/my-project serve --port 3458
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
每个实例完全独立——不同的工作目录、记忆、MCP 配置。管理仪表盘可以看到全部。
|
|
462
427
|
|
|
463
428
|
---
|
|
464
429
|
|
|
465
|
-
##
|
|
430
|
+
## 开发
|
|
466
431
|
|
|
467
432
|
```bash
|
|
468
433
|
npm run build # tsc → dist/
|
|
469
|
-
npm run dev # tsx server.ts
|
|
470
|
-
npm test #
|
|
434
|
+
npm run dev # tsx server.ts(热重载)
|
|
435
|
+
npm test # Node.js 原生测试运行器
|
|
436
|
+
npm run gate:all # 发布/文档一致性门禁
|
|
471
437
|
```
|
|
472
438
|
|
|
473
|
-
|
|
439
|
+
架构详情:[ARCHITECTURE.md](docs/ARCHITECTURE.md) · 测试覆盖:[TESTS.md](TESTS.md) · 内部结构文档:[structure/](structure/)
|
|
440
|
+
|
|
441
|
+
---
|
|
442
|
+
|
|
443
|
+
## 对比
|
|
444
|
+
|
|
445
|
+
| | CLI-JAW 2.0 | Hermes Agent | Claude Code |
|
|
446
|
+
|---|---|---|---|
|
|
447
|
+
| **模型接入** | Claude、Codex、Codex App、Gemini、Grok、OpenCode 和 Copilot(通过厂商认证) | API 密钥(OpenRouter 200+、Nous Portal) | 仅 Anthropic |
|
|
448
|
+
| **费用模型** | 你已经在付的月订阅 | 按 token API 计费 | Anthropic 订阅 |
|
|
449
|
+
| **主 UI** | 管理仪表盘 + Web 应用 + Mac 应用 + 终端 UI | 仅终端 | CLI + IDE 插件 |
|
|
450
|
+
| **仪表盘** | 多实例管理器、看板、笔记工作区 | 无 | 无 |
|
|
451
|
+
| **消息** | Telegram(语音)+ Discord | Telegram/Discord/Slack/WhatsApp/Signal | 无 |
|
|
452
|
+
| **记忆** | 3 层(History/Flush/Soul)+ 全文搜索 | 自我改进循环 + Honcho | 文件型自动记忆 |
|
|
453
|
+
| **多代理** | 员工系统(分派其他 CLI)+ PABCD | 子代理生成 | Task 工具 |
|
|
454
|
+
| **浏览器自动化** | Chrome DevTools + vision-click + Computer Use | 有限 | 通过 MCP |
|
|
455
|
+
| **运行环境** | 本地 + Docker | 本地/Docker/SSH/Daytona/Modal | 本地 |
|
|
456
|
+
| **技能** | 230+ 内置 | 自动创建 + agentskills.io | 用户配置 |
|
|
457
|
+
| **多语言** | 英语、韩语、中文、日语 | 英语 | 英语 |
|
|
474
458
|
|
|
475
459
|
---
|
|
476
460
|
|
|
477
|
-
##
|
|
461
|
+
## 故障排查
|
|
478
462
|
|
|
479
463
|
| 问题 | 解决办法 |
|
|
480
464
|
|---|---|
|
|
481
|
-
| `cli-jaw: command not found` | 重新运行 `npm install -g cli-jaw
|
|
465
|
+
| `cli-jaw: command not found` | 重新运行 `npm install -g cli-jaw`。检查 `~/.local/bin` 或 `npm bin -g` 是否在 `$PATH` 中 |
|
|
482
466
|
| `Error: node version` | 升级到 Node.js 22+:`nvm install 22` |
|
|
483
|
-
| `NODE_MODULE_VERSION` mismatch | `npm run ensure:native
|
|
484
|
-
| `EADDRINUSE: port 3457` |
|
|
485
|
-
| Telegram
|
|
486
|
-
|
|
|
467
|
+
| `NODE_MODULE_VERSION` mismatch | `npm run ensure:native`(自动重编译原生模块) |
|
|
468
|
+
| `EADDRINUSE: port 3457` | 另一个实例正在运行。使用 `--port 3458` 或先停止 |
|
|
469
|
+
| Telegram / Discord 认证失败 | 运行 `jaw doctor`,检查 token,重启 `jaw serve` |
|
|
470
|
+
| 浏览器命令失败 | 安装 Chrome/Chromium。先运行 `jaw browser start` |
|
|
471
|
+
| 员工分派挂起 | 确保员工 CLI 已认证(`jaw doctor`) |
|
|
472
|
+
| Computer Use 不工作 | 仅限 macOS。需要 Codex CLI。在系统设置中检查自动化权限 |
|
|
487
473
|
|
|
488
474
|
---
|
|
489
475
|
|
|
490
|
-
##
|
|
476
|
+
## 参与贡献
|
|
491
477
|
|
|
492
|
-
1. 从 `master`
|
|
478
|
+
1. 从 `master` Fork 并创建分支
|
|
493
479
|
2. `npm run build && npm test`
|
|
494
480
|
3. 提交 PR
|
|
495
481
|
|
|
496
|
-
|
|
482
|
+
Bug 报告和功能建议:[Open an issue](https://github.com/lidge-jun/cli-jaw/issues)
|
|
497
483
|
|
|
498
484
|
---
|
|
499
485
|
|
|
500
486
|
<div align="center">
|
|
501
487
|
|
|
502
|
-
**[MIT License](LICENSE)**
|
|
488
|
+
**[MIT License](LICENSE)** · 由受够了在 AI 应用间切换标签的开发者们打造。
|
|
503
489
|
|
|
504
490
|
</div>
|