super-dsh 0.1.12 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +50 -13
- package/agent-agy/dist/world-plugin.d.ts +1 -1
- package/agent-agy/dist/world-plugin.js +14 -27
- package/agent-agy-sdk/dist/world-plugin.d.ts +1 -1
- package/agent-agy-sdk/dist/world-plugin.js +14 -27
- package/agent-codex/dist/world-plugin.js +14 -27
- package/agent-codex-sdk/dist/world-plugin.js +14 -43
- package/agent-hermes/dist/world-plugin.js +14 -27
- package/agent-omp/dist/world-plugin.js +14 -39
- package/agent-omp/lib/client/index.js +258 -0
- package/agent-omp-sdk/dist/world-plugin.d.ts +1 -1
- package/agent-omp-sdk/dist/world-plugin.js +14 -43
- package/agent-pi/dist/world-plugin.js +14 -27
- package/bundles/better-dsh.tgz +0 -0
- package/bundles/manifest.json +10 -0
- package/client/index.js +434 -307
- package/cordis.patch.yml +7 -16
- package/node_modules/better-dsh/LICENSE +24 -0
- package/node_modules/better-dsh/README.md +323 -0
- package/node_modules/better-dsh/THIRD_PARTY_NOTICES.md +52 -0
- package/node_modules/better-dsh/cordis.patch.yml +139 -0
- package/node_modules/better-dsh/docs/00_adr/0001-bridge-tool-layer-not-service-layer.md +14 -0
- package/node_modules/better-dsh/docs/00_adr/0002-masking-is-presentation-only.md +15 -0
- package/node_modules/better-dsh/docs/10_plans/2026-09-23-remote-execution-framework.md +236 -0
- package/node_modules/better-dsh/docs/10_plans/2026-09-23-remote-framework-impl.md +2083 -0
- package/node_modules/better-dsh/docs/10_plans/2026-09-26-lsp-ast-reminder.md +64 -0
- package/node_modules/better-dsh/docs/10_plans/A2A-messaging-channel-test-archive.md +256 -0
- package/node_modules/better-dsh/docs/10_plans/code-mode-vs-rlm-ipython-comparison.md +137 -0
- package/node_modules/better-dsh/docs/10_plans/dashr-blueprint-review.md +201 -0
- package/node_modules/better-dsh/docs/10_plans/dashr-blueprint.md +561 -0
- package/node_modules/better-dsh/docs/10_plans/dashr-compaction-window-and-archive.md +307 -0
- package/node_modules/better-dsh/docs/10_plans/dashr-profile-layer-feasibility.md +367 -0
- package/node_modules/better-dsh/docs/10_plans/dashr-sandbox-escalation-semantics-gap.md +171 -0
- package/node_modules/better-dsh/docs/10_plans/dashr-security-sandbox-analysis.md +187 -0
- package/node_modules/better-dsh/docs/10_plans/dashr-surface-invariant-and-omp-imports.md +97 -0
- package/node_modules/better-dsh/docs/10_plans/ipython-kernel-interactive-interface-test-report.md +152 -0
- package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-IPython-Control-Prompt-draft.md +146 -0
- package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-IPython-Control-Prompt-draft_v3.md +50 -0
- package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-IPython-Control-Prompt-draft_v4.md +79 -0
- package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-vs-PrimeAgent-systemprompt-toolcatalog-comparison.md +138 -0
- package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/RLM-system-prompt-injection-gap-report.md +161 -0
- package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/V0.1.5-development-plan.md +109 -0
- package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/actinoable-surface-to-llm-in-agent-runtime_dsh.md +50 -0
- package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/actinoable-surface-to-llm-in-agent-runtime_prime.md +113 -0
- package/node_modules/better-dsh/docs/10_plans/recallable-compaction.md +147 -0
- package/node_modules/better-dsh/docs/10_plans/spike-tag-repro.mjs +102 -0
- package/node_modules/better-dsh/docs/10_plans/upstream-analysis.md +128 -0
- package/node_modules/better-dsh/docs/20_specs/agent/spec.md +54 -0
- package/node_modules/better-dsh/docs/20_specs/ast/spec.md +57 -0
- package/node_modules/better-dsh/docs/20_specs/compaction-recall/spec.md +46 -0
- package/node_modules/better-dsh/docs/20_specs/ctx/spec.md +107 -0
- package/node_modules/better-dsh/docs/20_specs/dsh/spec.md +47 -0
- package/node_modules/better-dsh/docs/20_specs/dvc/spec.md +106 -0
- package/node_modules/better-dsh/docs/20_specs/escalation-guidance/spec.md +44 -0
- package/node_modules/better-dsh/docs/20_specs/fs-scheme-resolution/spec.md +37 -0
- package/node_modules/better-dsh/docs/20_specs/hash-edit/spec.md +41 -0
- package/node_modules/better-dsh/docs/20_specs/http-read/spec.md +73 -0
- package/node_modules/better-dsh/docs/20_specs/kernel-provisioning/spec.md +53 -0
- package/node_modules/better-dsh/docs/20_specs/lsp/spec.md +121 -0
- package/node_modules/better-dsh/docs/20_specs/mobile-layout/spec.md +108 -0
- package/node_modules/better-dsh/docs/20_specs/model-failover/spec.md +20 -0
- package/node_modules/better-dsh/docs/20_specs/plugins-page-components/spec.md +79 -0
- package/node_modules/better-dsh/docs/20_specs/preact-ui-shell/spec.md +22 -0
- package/node_modules/better-dsh/docs/20_specs/repl-dispatch-resilience/spec.md +21 -0
- package/node_modules/better-dsh/docs/20_specs/skill/spec.md +58 -0
- package/node_modules/better-dsh/docs/20_specs/tool-surface/spec.md +222 -0
- package/node_modules/better-dsh/docs/20_specs/url-schema/spec.md +148 -0
- package/node_modules/better-dsh/docs/20_specs/web-trust-fence/spec.md +43 -0
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-06-write/345/267/245/345/205/267sandbox/345/215/207/347/272/247/351/200/217/344/274/240bug/345/244/215/345/217/221/345/217/212/346/214/202/350/265/267-/344/272/213/344/273/266/346/212/245/345/221/212.md +176 -0
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-08-hashline-edit-E_RANGE_UNVERIFIED/350/267/250/350/275/256/344/274/232/350/257/235/351/224/256/345/244/261/346/225/210-/350/257/212/346/226/255/346/212/245/345/221/212.md +226 -0
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-11-control-prompt-into-eval-description/345/256/236/346/265/213/346/212/245/345/221/212.md +222 -0
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-fs-scheme-resolution-/345/256/236/346/265/213/346/212/245/345/221/212.md +81 -0
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-url-schemes-grammar-matrix/344/270/216catalog-centralize-/345/256/236/346/265/213/346/212/245/345/221/212.md +234 -0
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-url-schemes-recallable-context-design/351/252/214/350/257/201/346/212/245/345/221/212.md +160 -0
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-url-schemes-recallable-context-/345/256/236/346/265/213/345/211/247/346/234/254.md +44 -0
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-url-schemes-recallable-context-/345/256/236/346/265/213/346/212/245/345/221/212.md +89 -0
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-url-schemes-/345/205/255scheme/345/206/222/347/203/237/344/270/216/350/276/271/347/225/214/345/256/236/346/265/213/346/212/245/345/221/212.md +198 -0
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-13-hashline-off/344/270/213scheme/345/217/257/350/276/276/346/200/247/345/267/245/345/205/267/351/235/242/344/270/215/345/257/271/347/247/260-/345/256/236/346/265/213/346/212/245/345/221/212.md +246 -0
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-13-preact-ui-shell/345/256/236/346/265/213/346/212/245/345/221/212.md +50 -0
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-14-4999-skill/346/270/205/345/215/225/344/270/216lsp-gate/345/256/236/346/265/213/346/212/245/345/221/212.md +63 -0
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-17-plugins/351/241/265/345/205/255/347/273/204/344/273/266/346/213/206/345/210/206/345/256/236/346/265/213/346/212/245/345/221/212.md +76 -0
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-22-4988/345/217/214/345/271/263/351/235/242/345/220/257/345/212/250/344/277/256/345/244/215/345/256/236/346/265/213/346/212/245/345/221/212.md +76 -0
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-22-better-dsh/347/273/204/344/273/266/347/203/255/346/217/222/346/213/224/344/270/216/344/276/235/350/265/226/347/272/247/350/201/224/345/256/236/346/265/213/346/212/245/345/221/212.md +134 -0
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-23-remote-framework/345/256/236/346/265/213/346/212/245/345/221/212.md +92 -0
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-23-remote-framework/347/254/254/344/270/200/344/272/272/347/247/260/345/244/215/346/265/213/346/212/245/345/221/212.md +125 -0
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-23-ssh/345/267/245/345/205/267assisted-pty/344/274/232/350/257/235framing/345/256/236/346/265/213/346/212/245/345/221/212.md +207 -0
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-24-v0.1.7-rc.1/345/257/271/351/275/220/350/275/256-compaction/344/270/216failover/350/256/276/347/275/256/351/235/242/344/277/256/345/244/215/345/256/236/346/265/213/346/212/245/345/221/212.md +65 -0
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-27-lsp-ast-reminder-4999/345/256/236/346/265/213/346/212/245/345/221/212.md +53 -0
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-28-ctx-scheme/351/225/277/344/274/232/350/257/235utility/345/256/236/346/265/213/346/212/245/345/221/212.md +155 -0
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-01-v0.2.4d-web-password-gate/345/256/236/346/265/213/346/212/245/345/221/212.md +105 -0
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-02-better-dsh-schemastery/344/276/235/350/265/226/345/243/260/346/230/216/344/277/256/345/244/215/345/256/236/346/265/213/346/212/245/345/221/212.md +62 -0
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-02-ctx-navigation/345/256/236/346/265/213/346/212/245/345/221/212.md +137 -0
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-02-v0.2.0-rc.2/345/257/271/351/275/220/350/275/256/345/256/236/346/265/213/346/212/245/345/221/212.md +38 -0
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-ast-engine-deomp-4999/345/256/236/346/265/213/346/212/245/345/221/212.md +325 -0
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-better-dsh-tool-surface-repl-dvc-browser-ast-lsp-4999/345/256/236/346/265/213/346/212/245/345/221/212.md +185 -0
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-docs-packaging-trim/345/256/236/346/265/213/346/212/245/345/221/212.md +82 -0
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-physical-import/344/270/216llm-completion-ast/347/233/270/345/257/271/350/267/257/345/276/204/344/277/256/345/244/215/345/256/236/346/265/213/346/212/245/345/221/212.md +101 -0
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-pnpm11/345/271/264/351/276/204/351/227/250/351/224/201/346/226/207/344/273/266/347/233/270/344/275/215/345/256/236/350/257/201.md +54 -0
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-remote-BYO-PTY-label/351/207/215/346/236/204/347/254/254/344/270/200/344/272/272/347/247/260/345/256/236/346/265/213/346/212/245/345/221/212.md +447 -0
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-schemastery-cosmokit/346/272/220/347/240/201/345/206/205/350/201/224/345/256/236/346/265/213/346/212/245/345/221/212.md +63 -0
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-zero-npm-runtime-deps/345/256/236/346/265/213/346/212/245/345/221/212.md +82 -0
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-04-ast-engine-deomp-0.2.5-d/345/217/221/345/270/203/351/252/214/346/224/266/346/212/245/345/221/212.md +220 -0
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-04-ast_grep/344/270/216ast_edit/345/245/221/347/272/246/344/270/216/350/276/271/347/225/214/345/256/236/346/265/213/346/212/245/345/221/212.md +151 -0
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-06-authentication-only-web-admission-4999.md +63 -0
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-07-better-dsh-welcome-self-contained-4999.md +52 -0
- package/node_modules/better-dsh/docs/50_test-reports/REPL-/345/267/245/345/205/267/350/260/203/347/224/250-/346/210/252/346/226/255/350/257/212/346/226/255.md +110 -0
- package/node_modules/better-dsh/docs/50_test-reports/kernel-provisioning.md +44 -0
- package/node_modules/better-dsh/docs/50_test-reports/repl-kernel-provisioning-test-report.md +87 -0
- package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.2-alpha.5-local-test-report.md +81 -0
- package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.2-alpha.5-report.md +93 -0
- package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.3-alpha.2-local-test-report.md +44 -0
- package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.3-alpha.2-report.md +110 -0
- package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.5-rc.2-local-test-report.md +79 -0
- package/node_modules/better-dsh/docs/50_test-reports/v0.1.8-improved-/345/256/236/346/265/213/346/212/245/345/221/212.md +142 -0
- package/node_modules/better-dsh/docs/50_test-reports/v0.1.8-/345/256/236/346/265/213/346/212/245/345/221/212.md +193 -0
- package/node_modules/better-dsh/docs/50_test-reports/v0.1.8b-/345/256/236/346/265/213/346/212/245/345/221/212.md +96 -0
- package/node_modules/better-dsh/docs/50_test-reports/v0.1.8c-/345/256/236/346/265/213/346/212/245/345/221/212.md +127 -0
- package/node_modules/better-dsh/docs/50_test-reports/v0.1.8d-/345/256/236/346/265/213/346/212/245/345/221/212.md +150 -0
- package/node_modules/better-dsh/docs/50_test-reports/v0.1.8e-/345/256/236/346/265/213/346/212/245/345/221/212.md +224 -0
- package/node_modules/better-dsh/docs/50_test-reports/v0.1.9a-/345/256/236/346/265/213/346/212/245/345/221/212.md +168 -0
- package/node_modules/better-dsh/docs/50_test-reports/v0.2.0b-/345/256/236/346/265/213/346/212/245/345/221/212.md +123 -0
- package/node_modules/better-dsh/docs/50_test-reports/v0.2.1-/345/256/236/346/265/213/346/212/245/345/221/212.md +110 -0
- package/node_modules/better-dsh/docs/50_test-reports/v0.2.1b-/345/256/236/346/265/213/346/212/245/345/221/212.md +86 -0
- package/node_modules/better-dsh/docs/50_test-reports/v0.2.1c-/345/256/236/346/265/213/346/212/245/345/221/212.md +66 -0
- package/node_modules/better-dsh/docs/50_test-reports/v0.2.1d-/345/256/236/346/265/213/346/212/245/345/221/212.md +67 -0
- package/node_modules/better-dsh/docs/50_test-reports/v0.2.1e-P1-/345/256/236/346/265/213/346/212/245/345/221/212.md +136 -0
- package/node_modules/better-dsh/docs/50_test-reports/v0.2.1ef-dev-audit-report.md +73 -0
- package/node_modules/better-dsh/docs/50_test-reports/v0.2.1f-plugin-shipped-ui-patches/345/256/236/346/265/213/346/212/245/345/221/212.md +102 -0
- package/node_modules/better-dsh/docs/50_test-reports/v0.2.3b-hashline-content-locator/345/256/236/346/265/213/346/212/245/345/221/212.md +73 -0
- package/node_modules/better-dsh/docs/50_test-reports/v0.2.3c-mobile-wave/345/256/236/346/265/213/346/212/245/345/221/212.md +47 -0
- package/node_modules/better-dsh/docs/50_test-reports/v0.2.4-ios-focus-zoom-suppression/345/256/236/346/265/213/346/212/245/345/221/212.md +158 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/SKILL.md +147 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch01-user-guide.md +123 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch02-plugin-basics.md +127 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch03-plugin-framework-practice.md +120 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch04-cordis-fundamentals.md +129 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch05-cordis-api.md +115 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch06-architecture.md +109 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch07-capability-seams.md +97 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch08-internals-pipelines.md +111 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch09-api-gateway.md +106 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch10-config-catalog.md +97 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch11-tool-catalog.md +121 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch12-persistence-catalog.md +109 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch13-subsystems-core-session.md +106 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch14-subsystems-agent-loop.md +111 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch15-subsystems-tool-execution.md +106 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch16-subsystems-session-data.md +132 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch17-subsystems-llm-streaming.md +128 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch18-subsystems-web-ui.md +142 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch19-cookbook.md +149 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch20-development-testing.md +87 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch21-postmortems.md +82 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch22-i18n.md +86 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/cheatsheet.md +67 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/glossary.md +57 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/patterns.md +88 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/AGENTS.md +75 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/agent-lifecycle.md +84 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/agent-lifecycle.zh.md +86 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/api-gateway.md +164 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/api-gateway.zh.md +164 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/architecture.md +150 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/architecture.zh.md +154 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/capability-seams.md +543 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/capability-seams.zh.md +545 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/config-catalog.md +3473 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/config-catalog.zh.md +3474 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-package.md +117 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-package.zh.md +119 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-remote-api.md +197 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-remote-api.zh.md +197 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-settings-card.md +102 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-settings-card.zh.md +102 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-tool.md +101 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-tool.zh.md +103 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-vendored-package.md +59 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-vendored-package.zh.md +59 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-an-llm-adapter.md +43 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-an-llm-adapter.zh.md +43 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/extension-cookbook.md +132 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/extension-cookbook.zh.md +136 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/maintaining-dsh-code-review.md +64 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/maintaining-dsh-code-review.zh.md +64 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/responding-to-pr-review-on-a-stack.md +32 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/responding-to-pr-review-on-a-stack.zh.md +32 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/context.md +364 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/context.zh.md +366 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/events.md +207 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/events.zh.md +209 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/fiber.md +375 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/fiber.zh.md +377 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/inherited.md +39 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/registry.md +152 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/registry.zh.md +154 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/service.md +102 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/service.zh.md +104 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-primer.md +45 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-primer.zh.md +51 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/01-first-plugin.md +95 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/01-first-plugin.zh.md +95 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/02-lifecycle-and-effects.md +98 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/02-lifecycle-and-effects.zh.md +98 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/03-services.md +98 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/03-services.zh.md +98 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/04-events.md +144 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/04-events.zh.md +144 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/05-config.md +84 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/05-config.zh.md +84 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/06-composition-and-hmr.md +113 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/06-composition-and-hmr.zh.md +113 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/07-into-the-harness.md +108 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/07-into-the-harness.zh.md +108 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/index.md +60 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/index.zh.md +62 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/deepseek-llm-api-wire-extensions.md +163 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/deepseek-llm-api-wire-extensions.zh.md +163 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/defensive-patterns.md +33 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/defensive-patterns.zh.md +35 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/development.md +167 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/development.zh.md +173 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/event-producer-consumer.md +86 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/event-producer-consumer.zh.md +88 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/glossary.md +45 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/glossary.zh.md +45 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/graph-atlas.md +22 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/graph-atlas.zh.md +24 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/README.md +60 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/README.zh.md +62 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/style-samples.md +87 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/terminology.md +214 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/translation-prompt.md +263 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/translation-rules.md +69 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/translation-rules.zh.md +69 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/module-graph.md +1411 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/module-graph.zh.md +1413 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/persistence-catalog.md +1075 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/persistence-catalog.zh.md +1077 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0001-acp-default-export-drops-inject.md +113 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0001-acp-default-export-drops-inject.zh.md +113 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0002-js-expression-disabled-filesystem-tools.md +47 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0002-js-expression-disabled-filesystem-tools.zh.md +47 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0003-web-agent-gui-feedback-loop.md +53 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0003-web-agent-gui-feedback-loop.zh.md +53 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.md +55 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.zh.md +55 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/README.md +18 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/README.zh.md +18 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/rescope.md +53 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/rescope.zh.md +53 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/README.md +61 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/README.zh.md +61 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/agent-team.md +207 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/agent-team.zh.md +207 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/approval.md +170 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/approval.zh.md +170 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/attachment.md +351 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/attachment.zh.md +351 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/client-modules.md +168 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/client-modules.zh.md +168 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/code-runtime.md +195 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/code-runtime.zh.md +195 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/commands.md +219 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/commands.zh.md +219 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/compaction.md +238 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/compaction.zh.md +238 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/conversation.md +258 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/conversation.zh.md +258 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/core.md +1209 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/core.zh.md +1219 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/credentials.md +329 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/credentials.zh.md +329 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/extensions.md +382 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/extensions.zh.md +382 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/feedback.md +266 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/feedback.zh.md +266 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/filesystem.md +505 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/filesystem.zh.md +505 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/goal.md +277 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/goal.zh.md +277 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/invariants.md +88 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/invariants.zh.md +88 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/jobs.md +290 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/jobs.zh.md +290 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/llm-streaming.md +1080 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/llm-streaming.zh.md +1086 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/lsp.md +202 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/lsp.zh.md +202 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/permission-presets.md +131 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/permission-presets.zh.md +131 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/persistence.md +395 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/persistence.zh.md +395 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/plan.md +87 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/plan.zh.md +87 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/sandbox.md +220 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/sandbox.zh.md +220 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/schedule.md +192 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/schedule.zh.md +192 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/scope.md +59 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/scope.zh.md +59 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-projection.md +354 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-projection.zh.md +354 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-query.md +509 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-query.zh.md +509 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-reference.md +219 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-reference.zh.md +219 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-telemetry.md +194 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-telemetry.zh.md +194 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-title.md +204 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-title.zh.md +204 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session.md +1155 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session.zh.md +1159 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/settings.md +405 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/settings.zh.md +405 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/shell.md +303 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/shell.zh.md +303 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/skills.md +354 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/skills.zh.md +354 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/slots.md +175 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/slots.zh.md +175 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/spill.md +117 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/spill.zh.md +117 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/storage.md +260 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/storage.zh.md +260 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subagent.md +766 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subagent.zh.md +770 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subprocess.md +324 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subprocess.zh.md +324 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/system-prompt.md +220 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/system-prompt.zh.md +220 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/terminal.md +184 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/terminal.zh.md +184 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/todo.md +32 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/todo.zh.md +32 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/token-meter.md +105 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/token-meter.zh.md +105 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/tools.md +720 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/tools.zh.md +720 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/typert.md +343 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/typert.zh.md +343 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/user-questions.md +178 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/user-questions.zh.md +178 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-client.md +95 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-client.zh.md +95 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-server.md +154 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-server.zh.md +154 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web.md +206 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web.zh.md +206 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/webhook.md +70 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/webhook.zh.md +70 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workflow.md +278 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workflow.zh.md +278 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workspace.md +321 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workspace.zh.md +321 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/testing.md +54 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/testing.zh.md +54 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-catalog.md +2225 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-catalog.zh.md +2233 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-execution-pipeline.md +62 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-execution-pipeline.zh.md +64 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/config.md +106 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/config.zh.md +106 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/index.md +144 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/index.zh.md +144 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/publish.md +183 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/publish.zh.md +183 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/tool.md +52 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/tool.zh.md +52 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/events.md +143 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/events.zh.md +143 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/index.md +137 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/index.zh.md +137 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/service.md +148 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/service.zh.md +150 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/dynamic-cordis.md +15 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/dynamic-cordis.zh.md +15 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/index.md +155 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/index.zh.md +155 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/llm-adapter.md +189 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/llm-adapter.zh.md +189 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/github-review.md +102 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/github-review.zh.md +102 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/index.md +30 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/index.zh.md +30 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/mcp-memory.md +101 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/mcp-memory.zh.md +101 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/network-proxy.md +85 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/network-proxy.zh.md +85 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/providers.md +190 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/providers.zh.md +190 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/python-sdk.md +150 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/python-sdk.zh.md +150 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/schedule.md +21 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/schedule.zh.md +21 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/index.md +11 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/index.zh.md +11 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/web-styling.md +29 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/web-styling.zh.md +29 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/site-pages-map.txt +234 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/site-pages.json +232 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src-README.md +63 -0
- package/node_modules/better-dsh/docs/dev-test-environment-notes.md +137 -0
- package/node_modules/better-dsh/docs/distro-blueprint.md +81 -0
- package/node_modules/better-dsh/docs/dsh-webUI-with-rlm-mode.png +0 -0
- package/node_modules/better-dsh/docs/repositioning-and-rebranding.md +102 -0
- package/node_modules/better-dsh/docs/specs/agent/spec.md +54 -0
- package/node_modules/better-dsh/docs/specs/ast/spec.md +57 -0
- package/node_modules/better-dsh/docs/specs/ast-engine-deomp/spec.md +170 -0
- package/node_modules/better-dsh/docs/specs/authentication-only-web-admission/spec.md +51 -0
- package/node_modules/better-dsh/docs/specs/compaction-recall/spec.md +46 -0
- package/node_modules/better-dsh/docs/specs/ctx/spec.md +179 -0
- package/node_modules/better-dsh/docs/specs/docs-packaging-trim/spec.md +110 -0
- package/node_modules/better-dsh/docs/specs/dsh/spec.md +47 -0
- package/node_modules/better-dsh/docs/specs/dvc/spec.md +106 -0
- package/node_modules/better-dsh/docs/specs/escalation-guidance/spec.md +44 -0
- package/node_modules/better-dsh/docs/specs/fs-scheme-resolution/spec.md +37 -0
- package/node_modules/better-dsh/docs/specs/hash-edit/spec.md +41 -0
- package/node_modules/better-dsh/docs/specs/http-read/spec.md +73 -0
- package/node_modules/better-dsh/docs/specs/kernel-provisioning/spec.md +53 -0
- package/node_modules/better-dsh/docs/specs/lsp/spec.md +121 -0
- package/node_modules/better-dsh/docs/specs/mobile-layout/spec.md +108 -0
- package/node_modules/better-dsh/docs/specs/model-failover/spec.md +20 -0
- package/node_modules/better-dsh/docs/specs/model-picker-ios-blur/spec.md +168 -0
- package/node_modules/better-dsh/docs/specs/plugins-page-components/spec.md +79 -0
- package/node_modules/better-dsh/docs/specs/preact-ui-shell/spec.md +22 -0
- package/node_modules/better-dsh/docs/specs/remote-pty-label/spec.md +126 -0
- package/node_modules/better-dsh/docs/specs/repl-dispatch-resilience/spec.md +21 -0
- package/node_modules/better-dsh/docs/specs/skill/spec.md +58 -0
- package/node_modules/better-dsh/docs/specs/tool-surface/spec.md +222 -0
- package/node_modules/better-dsh/docs/specs/url-schema/spec.md +148 -0
- package/node_modules/better-dsh/docs/specs/web-trust-fence/spec.md +43 -0
- package/node_modules/better-dsh/docs/specs/welcome-self-contained/spec.md +13 -0
- package/node_modules/better-dsh/docs/specs/zero-npm-runtime-deps/spec.md +85 -0
- package/node_modules/better-dsh/docs/superpowers/plans/2026-10-02-ctx-navigation.md +319 -0
- package/node_modules/better-dsh/docs/superpowers/plans/2026-10-03-ast-engine-deomp.md +1214 -0
- package/node_modules/better-dsh/docs/superpowers/plans/2026-10-03-docs-packaging-trim.md +181 -0
- package/node_modules/better-dsh/docs/superpowers/specs/2026-10-02-ctx-navigation-design.md +209 -0
- package/node_modules/better-dsh/docs/upstream-dsh-0.1.5-rc.2-report.md +156 -0
- package/node_modules/better-dsh/dsh-docs/AGENTS.md +75 -0
- package/node_modules/better-dsh/dsh-docs/agent-lifecycle.md +84 -0
- package/node_modules/better-dsh/dsh-docs/agent-lifecycle.zh.md +86 -0
- package/node_modules/better-dsh/dsh-docs/api-gateway.md +164 -0
- package/node_modules/better-dsh/dsh-docs/api-gateway.zh.md +164 -0
- package/node_modules/better-dsh/dsh-docs/architecture.md +150 -0
- package/node_modules/better-dsh/dsh-docs/architecture.zh.md +154 -0
- package/node_modules/better-dsh/dsh-docs/capability-seams.md +543 -0
- package/node_modules/better-dsh/dsh-docs/capability-seams.zh.md +545 -0
- package/node_modules/better-dsh/dsh-docs/config-catalog.md +3473 -0
- package/node_modules/better-dsh/dsh-docs/config-catalog.zh.md +3474 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-package.md +117 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-package.zh.md +119 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-remote-api.md +197 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-remote-api.zh.md +197 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-session-format-version.md +109 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-session-format-version.zh.md +109 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-settings-card.md +102 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-settings-card.zh.md +102 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-tool.md +101 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-tool.zh.md +103 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-vendored-package.md +59 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-vendored-package.zh.md +59 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-an-llm-adapter.md +43 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-an-llm-adapter.zh.md +43 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/extension-cookbook.md +132 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/extension-cookbook.zh.md +136 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/maintaining-dsh-code-review.md +64 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/maintaining-dsh-code-review.zh.md +64 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/responding-to-pr-review-on-a-stack.md +32 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/responding-to-pr-review-on-a-stack.zh.md +32 -0
- package/node_modules/better-dsh/dsh-docs/cordis-api/context.md +364 -0
- package/node_modules/better-dsh/dsh-docs/cordis-api/context.zh.md +366 -0
- package/node_modules/better-dsh/dsh-docs/cordis-api/events.md +207 -0
- package/node_modules/better-dsh/dsh-docs/cordis-api/events.zh.md +209 -0
- package/node_modules/better-dsh/dsh-docs/cordis-api/fiber.md +375 -0
- package/node_modules/better-dsh/dsh-docs/cordis-api/fiber.zh.md +377 -0
- package/node_modules/better-dsh/dsh-docs/cordis-api/inherited.md +39 -0
- package/node_modules/better-dsh/dsh-docs/cordis-api/registry.md +152 -0
- package/node_modules/better-dsh/dsh-docs/cordis-api/registry.zh.md +154 -0
- package/node_modules/better-dsh/dsh-docs/cordis-api/service.md +102 -0
- package/node_modules/better-dsh/dsh-docs/cordis-api/service.zh.md +104 -0
- package/node_modules/better-dsh/dsh-docs/cordis-primer.md +45 -0
- package/node_modules/better-dsh/dsh-docs/cordis-primer.zh.md +51 -0
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/01-first-plugin.md +95 -0
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/01-first-plugin.zh.md +95 -0
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/02-lifecycle-and-effects.md +98 -0
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/02-lifecycle-and-effects.zh.md +98 -0
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/03-services.md +98 -0
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/03-services.zh.md +98 -0
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/04-events.md +144 -0
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/04-events.zh.md +144 -0
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/05-config.md +84 -0
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/05-config.zh.md +84 -0
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/06-composition-and-hmr.md +113 -0
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/06-composition-and-hmr.zh.md +113 -0
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/07-into-the-harness.md +108 -0
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/07-into-the-harness.zh.md +108 -0
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/index.md +60 -0
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/index.zh.md +62 -0
- package/node_modules/better-dsh/dsh-docs/deepseek-llm-api-wire-extensions.md +163 -0
- package/node_modules/better-dsh/dsh-docs/deepseek-llm-api-wire-extensions.zh.md +163 -0
- package/node_modules/better-dsh/dsh-docs/defensive-patterns.md +33 -0
- package/node_modules/better-dsh/dsh-docs/defensive-patterns.zh.md +35 -0
- package/node_modules/better-dsh/dsh-docs/development.md +167 -0
- package/node_modules/better-dsh/dsh-docs/development.zh.md +173 -0
- package/node_modules/better-dsh/dsh-docs/event-producer-consumer.md +86 -0
- package/node_modules/better-dsh/dsh-docs/event-producer-consumer.zh.md +88 -0
- package/node_modules/better-dsh/dsh-docs/glossary.md +45 -0
- package/node_modules/better-dsh/dsh-docs/glossary.zh.md +45 -0
- package/node_modules/better-dsh/dsh-docs/graph-atlas.md +22 -0
- package/node_modules/better-dsh/dsh-docs/graph-atlas.zh.md +24 -0
- package/node_modules/better-dsh/dsh-docs/i18n/README.md +60 -0
- package/node_modules/better-dsh/dsh-docs/i18n/README.zh.md +62 -0
- package/node_modules/better-dsh/dsh-docs/i18n/style-samples.md +87 -0
- package/node_modules/better-dsh/dsh-docs/i18n/terminology.md +214 -0
- package/node_modules/better-dsh/dsh-docs/i18n/translation-prompt.md +263 -0
- package/node_modules/better-dsh/dsh-docs/i18n/translation-rules.md +69 -0
- package/node_modules/better-dsh/dsh-docs/i18n/translation-rules.zh.md +69 -0
- package/node_modules/better-dsh/dsh-docs/module-graph.md +1411 -0
- package/node_modules/better-dsh/dsh-docs/module-graph.zh.md +1413 -0
- package/node_modules/better-dsh/dsh-docs/persistence-catalog.md +1075 -0
- package/node_modules/better-dsh/dsh-docs/persistence-catalog.zh.md +1077 -0
- package/node_modules/better-dsh/dsh-docs/postmortem/0001-acp-default-export-drops-inject.md +113 -0
- package/node_modules/better-dsh/dsh-docs/postmortem/0001-acp-default-export-drops-inject.zh.md +113 -0
- package/node_modules/better-dsh/dsh-docs/postmortem/0002-js-expression-disabled-filesystem-tools.md +47 -0
- package/node_modules/better-dsh/dsh-docs/postmortem/0002-js-expression-disabled-filesystem-tools.zh.md +47 -0
- package/node_modules/better-dsh/dsh-docs/postmortem/0003-web-agent-gui-feedback-loop.md +53 -0
- package/node_modules/better-dsh/dsh-docs/postmortem/0003-web-agent-gui-feedback-loop.zh.md +53 -0
- package/node_modules/better-dsh/dsh-docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.md +55 -0
- package/node_modules/better-dsh/dsh-docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.zh.md +55 -0
- package/node_modules/better-dsh/dsh-docs/postmortem/README.md +18 -0
- package/node_modules/better-dsh/dsh-docs/postmortem/README.zh.md +18 -0
- package/node_modules/better-dsh/dsh-docs/rescope.md +53 -0
- package/node_modules/better-dsh/dsh-docs/rescope.zh.md +53 -0
- package/node_modules/better-dsh/dsh-docs/session-format-status.md +47 -0
- package/node_modules/better-dsh/dsh-docs/session-format-status.zh.md +47 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/README.md +61 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/README.zh.md +61 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/agent-team.md +207 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/agent-team.zh.md +207 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/approval.md +170 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/approval.zh.md +170 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/attachment.md +351 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/attachment.zh.md +351 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/client-modules.md +168 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/client-modules.zh.md +168 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/client-resources.md +91 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/client-resources.zh.md +91 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/code-runtime.md +195 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/code-runtime.zh.md +195 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/commands.md +219 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/commands.zh.md +219 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/compaction.md +238 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/compaction.zh.md +238 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/conversation.md +258 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/conversation.zh.md +258 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/core.md +1209 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/core.zh.md +1219 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/credentials.md +329 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/credentials.zh.md +329 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/extensions.md +382 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/extensions.zh.md +382 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/feedback.md +266 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/feedback.zh.md +266 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/filesystem.md +505 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/filesystem.zh.md +505 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/goal.md +277 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/goal.zh.md +277 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/invariants.md +88 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/invariants.zh.md +88 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/jobs.md +290 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/jobs.zh.md +290 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/llm-streaming.md +1080 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/llm-streaming.zh.md +1086 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/lsp.md +202 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/lsp.zh.md +202 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/permission-presets.md +131 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/permission-presets.zh.md +131 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/persistence.md +395 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/persistence.zh.md +395 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/plan.md +87 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/plan.zh.md +87 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/sandbox.md +220 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/sandbox.zh.md +220 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/schedule.md +192 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/schedule.zh.md +192 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/scope.md +59 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/scope.zh.md +59 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/session-projection.md +354 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/session-projection.zh.md +354 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/session-query.md +509 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/session-query.zh.md +509 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/session-reference.md +219 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/session-reference.zh.md +219 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/session-telemetry.md +194 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/session-telemetry.zh.md +194 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/session-title.md +204 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/session-title.zh.md +204 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/session.md +1155 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/session.zh.md +1159 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/settings.md +405 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/settings.zh.md +405 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/shell.md +303 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/shell.zh.md +303 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/sidebar-right.md +148 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/sidebar-right.zh.md +148 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/skills.md +354 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/skills.zh.md +354 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/slots.md +175 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/slots.zh.md +175 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/spill.md +117 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/spill.zh.md +117 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/storage.md +260 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/storage.zh.md +260 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/subagent.md +766 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/subagent.zh.md +770 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/subprocess.md +324 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/subprocess.zh.md +324 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/system-prompt.md +220 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/system-prompt.zh.md +220 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/terminal.md +184 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/terminal.zh.md +184 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/todo.md +32 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/todo.zh.md +32 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/token-meter.md +105 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/token-meter.zh.md +105 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/tools.md +720 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/tools.zh.md +720 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/typert.md +343 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/typert.zh.md +343 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/user-questions.md +178 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/user-questions.zh.md +178 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/web-client.md +95 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/web-client.zh.md +95 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/web-server.md +154 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/web-server.zh.md +154 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/web.md +206 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/web.zh.md +206 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/webhook.md +70 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/webhook.zh.md +70 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/workflow.md +278 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/workflow.zh.md +278 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/workspace.md +321 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/workspace.zh.md +321 -0
- package/node_modules/better-dsh/dsh-docs/testing.md +54 -0
- package/node_modules/better-dsh/dsh-docs/testing.zh.md +54 -0
- package/node_modules/better-dsh/dsh-docs/tool-catalog.md +2225 -0
- package/node_modules/better-dsh/dsh-docs/tool-catalog.zh.md +2233 -0
- package/node_modules/better-dsh/dsh-docs/tool-execution-pipeline.md +62 -0
- package/node_modules/better-dsh/dsh-docs/tool-execution-pipeline.zh.md +64 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/basic/config.md +106 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/basic/config.zh.md +106 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/basic/index.md +144 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/basic/index.zh.md +144 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/basic/publish.md +183 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/basic/publish.zh.md +183 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/basic/tool.md +52 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/basic/tool.zh.md +52 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/framework/events.md +143 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/framework/events.zh.md +143 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/framework/index.md +137 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/framework/index.zh.md +137 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/framework/service.md +148 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/framework/service.zh.md +150 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/practice/dynamic-cordis.md +15 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/practice/dynamic-cordis.zh.md +15 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/practice/index.md +155 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/practice/index.zh.md +155 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/practice/llm-adapter.md +189 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/practice/llm-adapter.zh.md +189 -0
- package/node_modules/better-dsh/dsh-docs/user/guide/github-review.md +102 -0
- package/node_modules/better-dsh/dsh-docs/user/guide/github-review.zh.md +102 -0
- package/node_modules/better-dsh/dsh-docs/user/guide/index.md +30 -0
- package/node_modules/better-dsh/dsh-docs/user/guide/index.zh.md +30 -0
- package/node_modules/better-dsh/dsh-docs/user/guide/mcp-memory.md +101 -0
- package/node_modules/better-dsh/dsh-docs/user/guide/mcp-memory.zh.md +101 -0
- package/node_modules/better-dsh/dsh-docs/user/guide/network-proxy.md +85 -0
- package/node_modules/better-dsh/dsh-docs/user/guide/network-proxy.zh.md +85 -0
- package/node_modules/better-dsh/dsh-docs/user/guide/providers.md +190 -0
- package/node_modules/better-dsh/dsh-docs/user/guide/providers.zh.md +190 -0
- package/node_modules/better-dsh/dsh-docs/user/guide/python-sdk.md +150 -0
- package/node_modules/better-dsh/dsh-docs/user/guide/python-sdk.zh.md +150 -0
- package/node_modules/better-dsh/dsh-docs/user/guide/schedule.md +21 -0
- package/node_modules/better-dsh/dsh-docs/user/guide/schedule.zh.md +21 -0
- package/node_modules/better-dsh/dsh-docs/user/index.md +11 -0
- package/node_modules/better-dsh/dsh-docs/user/index.zh.md +11 -0
- package/node_modules/better-dsh/dsh-docs/web-styling.md +29 -0
- package/node_modules/better-dsh/dsh-docs/web-styling.zh.md +29 -0
- package/node_modules/better-dsh/eval-description.md +33 -0
- package/node_modules/better-dsh/lib/BrowserWebSocketTransport-D1aFReu_.js +4 -0
- package/node_modules/better-dsh/lib/BrowserWebSocketTransport-wm99h94r.js +39 -0
- package/node_modules/better-dsh/lib/LaunchOptions-B874eBu2.js +4 -0
- package/node_modules/better-dsh/lib/LaunchOptions-kGXcZOe0.js +17 -0
- package/node_modules/better-dsh/lib/NodeWebSocketTransport-BRLjmu2R.js +4 -0
- package/node_modules/better-dsh/lib/NodeWebSocketTransport-D9ysYGLM.js +3634 -0
- package/node_modules/better-dsh/lib/ast-assets/ast-grep.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-bash.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-c.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-cpp.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-css.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-go.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-html.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-javascript.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-json.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-python.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-ruby.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-rust.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-tsx.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-typescript.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-yaml.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter.wasm +0 -0
- package/node_modules/better-dsh/lib/bidi-BalpKaJc.js +16106 -0
- package/node_modules/better-dsh/lib/bundle-delivery.d.ts +20 -0
- package/node_modules/better-dsh/lib/bundle-delivery.js +209 -0
- package/node_modules/better-dsh/lib/chunk-DQxbwPpZ.js +30 -0
- package/node_modules/better-dsh/lib/client/index.js +712 -0
- package/node_modules/better-dsh/lib/compaction/index.d.ts +57 -0
- package/node_modules/better-dsh/lib/compaction/index.js +145 -0
- package/node_modules/better-dsh/lib/failover/index.d.ts +59 -0
- package/node_modules/better-dsh/lib/failover/index.js +147 -0
- package/node_modules/better-dsh/lib/fs-aware/sandbox-plugin.d.ts +71 -0
- package/node_modules/better-dsh/lib/fs-aware/sandbox-plugin.js +249 -0
- package/node_modules/better-dsh/lib/hmr.d.ts +32 -0
- package/node_modules/better-dsh/lib/hmr.js +49 -0
- package/node_modules/better-dsh/lib/index-DTDXUe6m.d.ts +208 -0
- package/node_modules/better-dsh/lib/index-browser-CysrjMyM.js +21061 -0
- package/node_modules/better-dsh/lib/index.d.ts +705 -0
- package/node_modules/better-dsh/lib/index.js +3816 -0
- package/node_modules/better-dsh/lib/kernel-bridge.py +172 -0
- package/node_modules/better-dsh/lib/kernel-env-D8UOWeji.js +195 -0
- package/node_modules/better-dsh/lib/kernel-env.d.ts +80 -0
- package/node_modules/better-dsh/lib/kernel-env.js +3 -0
- package/node_modules/better-dsh/lib/lib-C8_jXvwA.js +894 -0
- package/node_modules/better-dsh/lib/lsp-server-registry-BXvUTBY7.js +3 -0
- package/node_modules/better-dsh/lib/lsp-server-registry-CH9WNFFt.js +972 -0
- package/node_modules/better-dsh/lib/main-BQeFrBM1.js +3 -0
- package/node_modules/better-dsh/lib/main-CupOhMp5.js +1432 -0
- package/node_modules/better-dsh/lib/mobile/plugin.d.ts +29 -0
- package/node_modules/better-dsh/lib/mobile/plugin.js +54 -0
- package/node_modules/better-dsh/lib/native-capture-BEByDXYM.js +68 -0
- package/node_modules/better-dsh/lib/puppeteer-core-CSk2PtSm.js +1136 -0
- package/node_modules/better-dsh/lib/py-sdk-D7klhpWb.js +178 -0
- package/node_modules/better-dsh/lib/py-sdk.d.ts +19 -0
- package/node_modules/better-dsh/lib/py-sdk.js +3 -0
- package/node_modules/better-dsh/lib/remote/plugin.d.ts +24 -0
- package/node_modules/better-dsh/lib/remote/plugin.js +1190 -0
- package/node_modules/better-dsh/lib/url-schemes/index.d.ts +88 -0
- package/node_modules/better-dsh/lib/url-schemes/index.js +12229 -0
- package/node_modules/better-dsh/lib/util-BHL_dfV_.js +2953 -0
- package/node_modules/better-dsh/lib/wasm_bg-CNXhHjVg.js +1291 -0
- package/node_modules/better-dsh/lib/web-password.d.ts +156 -0
- package/node_modules/better-dsh/lib/web-password.js +562 -0
- package/node_modules/better-dsh/lib/web-tree-sitter-CPrPD4J2.js +3440 -0
- package/node_modules/better-dsh/lib/web-trust-D6gJpUMf.js +393 -0
- package/node_modules/better-dsh/lib/web-trust-Dej_RI2B.d.ts +113 -0
- package/node_modules/better-dsh/lib/web-trust.d.ts +3 -0
- package/node_modules/better-dsh/lib/web-trust.js +4 -0
- package/node_modules/better-dsh/lib/webserver.d.ts +10 -0
- package/node_modules/better-dsh/lib/webserver.js +19 -0
- package/node_modules/better-dsh/lib/welcome-notice.d.ts +18 -0
- package/node_modules/better-dsh/lib/welcome-notice.js +59 -0
- package/node_modules/better-dsh/lib/wrap-T4I0nfPM.js +750 -0
- package/node_modules/better-dsh/package.json +430 -0
- package/node_modules/better-dsh/scripts/kernel-provision.mjs +35 -0
- package/node_modules/better-dsh/scripts/register-bundle.mjs +80 -0
- package/node_modules/better-dsh/url-schemes-instruction.md +22 -0
- package/package.json +21 -6
- package/superd-hub/assets/icons/README.md +20 -0
- package/superd-hub/assets/icons/amp.png +0 -0
- package/superd-hub/assets/icons/ante.png +0 -0
- package/superd-hub/assets/icons/antigravity.png +0 -0
- package/superd-hub/assets/icons/aug.png +0 -0
- package/superd-hub/assets/icons/autohand.png +0 -0
- package/superd-hub/assets/icons/claude.svg +1 -0
- package/superd-hub/assets/icons/cline.png +0 -0
- package/superd-hub/assets/icons/codebuddy.png +0 -0
- package/superd-hub/assets/icons/codebuff.png +0 -0
- package/superd-hub/assets/icons/codex.svg +1 -0
- package/superd-hub/assets/icons/command-code.png +0 -0
- package/superd-hub/assets/icons/continue.png +0 -0
- package/superd-hub/assets/icons/copilot.png +0 -0
- package/superd-hub/assets/icons/crush.png +0 -0
- package/superd-hub/assets/icons/cursor.png +0 -0
- package/superd-hub/assets/icons/devin.png +0 -0
- package/superd-hub/assets/icons/droid.png +0 -0
- package/superd-hub/assets/icons/dsh-fish.svg +3 -0
- package/superd-hub/assets/icons/dsh.png +0 -0
- package/superd-hub/assets/icons/freebuff.png +0 -0
- package/superd-hub/assets/icons/gemini.png +0 -0
- package/superd-hub/assets/icons/goose.png +0 -0
- package/superd-hub/assets/icons/grok.png +0 -0
- package/superd-hub/assets/icons/hermes.png +0 -0
- package/superd-hub/assets/icons/jcode.png +0 -0
- package/superd-hub/assets/icons/kilo.png +0 -0
- package/superd-hub/assets/icons/kimi.png +0 -0
- package/superd-hub/assets/icons/kiro.png +0 -0
- package/superd-hub/assets/icons/manifest.json +20 -0
- package/superd-hub/assets/icons/mimo-code.png +0 -0
- package/superd-hub/assets/icons/mistral-vibe.png +0 -0
- package/superd-hub/assets/icons/muse.png +0 -0
- package/superd-hub/assets/icons/omp.svg +1 -0
- package/superd-hub/assets/icons/openclaude.png +0 -0
- package/superd-hub/assets/icons/openclaw.png +0 -0
- package/superd-hub/assets/icons/opencode.png +0 -0
- package/superd-hub/assets/icons/pi.svg +1 -0
- package/superd-hub/assets/icons/prime-agent.png +0 -0
- package/superd-hub/assets/icons/qoder-cn.png +0 -0
- package/superd-hub/assets/icons/qoder.png +0 -0
- package/superd-hub/assets/icons/qwen-code.png +0 -0
- package/superd-hub/assets/icons/rovo.png +0 -0
- package/superd-hub/assets/icons/trae.png +0 -0
- package/superd-hub/assets/icons/zcode.png +0 -0
- package/superd-hub/dist/a2a-row.js +1 -1
- package/superd-hub/dist/agent-roster.d.ts +8 -3
- package/superd-hub/dist/agent-roster.js +19 -7
- package/superd-hub/dist/bundle-setup.d.ts +2 -0
- package/superd-hub/dist/bundle-setup.js +2 -0
- package/superd-hub/dist/client/icon-assets.gen.d.ts +16 -0
- package/superd-hub/dist/client/icon-assets.gen.js +54 -0
- package/superd-hub/dist/client/mesh-api.d.ts +28 -17
- package/superd-hub/dist/client/mesh-api.js +44 -31
- package/superd-hub/dist/client/mesh-groups.d.ts +13 -11
- package/superd-hub/dist/client/mesh-groups.js +30 -10
- package/superd-hub/dist/client/roster.d.ts +7 -16
- package/superd-hub/dist/client/roster.js +5 -3
- package/superd-hub/dist/fusion-transport.d.ts +11 -10
- package/superd-hub/dist/fusion-transport.js +21 -11
- package/superd-hub/dist/index.d.ts +0 -1
- package/superd-hub/dist/index.js +0 -1
- package/superd-hub/dist/machines.d.ts +6 -3
- package/superd-hub/dist/machines.js +15 -3
- package/superd-hub/dist/mesh-federate.d.ts +18 -8
- package/superd-hub/dist/mesh-federate.js +14 -9
- package/superd-hub/dist/mesh-link.d.ts +37 -3
- package/superd-hub/dist/mesh-link.js +49 -4
- package/superd-hub/dist/mesh-rpc.d.ts +48 -16
- package/superd-hub/dist/mesh-rpc.js +139 -14
- package/superd-hub/dist/roster.d.ts +20 -0
- package/superd-hub/dist/roster.js +24 -0
- package/superd-hub/dist/switch-core.d.ts +3 -2
- package/superd-hub/dist/switch-core.js +1 -1
- package/superd-hub/dist/world-entry.d.ts +3 -0
- package/superd-hub/dist/world-entry.js +4 -1
- package/superd-hub/dist/world-host.d.ts +5 -2
- package/superd-hub/dist/world-host.js +6 -2
- package/superd-hub/dist/world-join.d.ts +1 -1
- package/superd-hub/dist/world-join.js +14 -32
- package/superd-hub/dist/world-lifecycle.d.ts +20 -0
- package/superd-hub/dist/world-lifecycle.js +69 -0
- package/superd-hub/dist/world-mount.d.ts +1 -1
- package/superd-hub/dist/world-mount.js +2 -2
- package/superd-hub/lib/client/index.js +434 -307
- package/superd-hub/package.json +3 -2
- package/superd-hub/dist/connection-trust.d.ts +0 -8
- package/superd-hub/dist/connection-trust.js +0 -16
- package/superd-hub/dist/web-trust.d.ts +0 -84
- package/superd-hub/dist/web-trust.js +0 -101
|
@@ -0,0 +1,367 @@
|
|
|
1
|
+
# 可行性研究:DASHR 从 Agent Preset 层上升到 Profile 层
|
|
2
|
+
|
|
3
|
+
> 日期:2026-08-16 · 类型:纯可行性研究(不干预开发、不改 v0.5 蓝图)
|
|
4
|
+
> 触发:用户提出——Dash 有 Profile(`dsh --profile`)与 Agent Preset 两层,
|
|
5
|
+
> 现蓝图把 DASHR 做成"与内建 PTC 编码模式同级的第五 preset",能否再拔高
|
|
6
|
+
> 一层,到 Profile 层面去做?
|
|
7
|
+
> 方法:直读 `deepseek-harness @47f9438` 的 boot / bundle / preset 三层源码 +
|
|
8
|
+
> 活体 profile 目录(`~/.dsh/profiles/`)+ DASHR 两包实测,逐条取证。
|
|
9
|
+
> v1.1(2026-08-16 补):新增 §9 决策附录(四模式核实/隔离实测/Web UI 复用)、
|
|
10
|
+
> §10 形态收敛(直接做成 Profile)+ TUI 可行性(三条思路源码取证 + 生态实证)。
|
|
11
|
+
> 一句话结论:**可行,且机制已内置——Profile 层的可分发原子是 bundle
|
|
12
|
+
> (声明 `dsh.bundle.patch` 的包);"上升到 Profile 层"精确等价于"把
|
|
13
|
+
> DASHR 从 plugin+preset 变成 bundle(甚至一个 headless 式的独立运行时
|
|
14
|
+
> profile)"。内建先例就是 headless。**
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## 0. 结论摘要(TL;DR)
|
|
19
|
+
|
|
20
|
+
1. **用户"两层"直觉需修正为四层 + 一个正交层**(§1)。Profile 与 Agent
|
|
21
|
+
Preset **不是上下级**,而是两个不同阶段的层:Profile 是 boot 层(决定
|
|
22
|
+
挂哪些 bundle/插件),Agent Preset 是 session 层(决定模型看到哪些
|
|
23
|
+
工具/提示)。真正的"Profile 层的可分发插件"原语是 **bundle**。
|
|
24
|
+
2. **"上升到 Profile 层" = 成为 bundle**。精确语义是:DASHR 的 runtime
|
|
25
|
+
半边(`rlmRuntime` 服务 + presentation + 生命周期)从 preset 的
|
|
26
|
+
per-session scope 移到 **boot 层 / host realm**;模型面半边(工具 +
|
|
27
|
+
提示)仍是 preset,但借 bundle 覆盖 `agent-presets.default` 变成
|
|
28
|
+
**默认 preset**(甚至像 headless 那样干脆不需要 preset 名册)。
|
|
29
|
+
3. **最硬的实证支点**:DASHR 现在两个包 `dsh: null`(非 bundle),装包后
|
|
30
|
+
preset 连注册都要靠手动 `--patch` overlay(`dashr-presentation/README`
|
|
31
|
+
L48-73 实证)。升 bundle 后这一步由 bundle 自己的 `cordis.patch.yml`
|
|
32
|
+
在 boot 时自动完成——一次 `dsh plugin add` 全落。
|
|
33
|
+
4. **内建先例 = headless**:`headless` bundle 就是"编码模式做成运行时"的
|
|
34
|
+
官方示范——boot 层直接挂 `code-runtime` worker-thread,无 preset 名册,
|
|
35
|
+
`tools.mode` 走 `DSH_TOOLS_MODE`。DASHR 的"Profile 层"完全可以照抄这
|
|
36
|
+
条,做一个 `dashr` profile:boot 挂 `rlmRuntime`,运行时即 RLM 模式。
|
|
37
|
+
5. **代价**:boot 层耦合面变宽(依赖 `agent-presets`/`session`/`sandbox`
|
|
38
|
+
等行 id 稳定),与 v0.5 §7.6"运行时零上游依赖"决策存在**真实张力**,
|
|
39
|
+
需重新权衡(§6)。
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 1. 源码证实的真实分层(修正"两层"直觉)
|
|
44
|
+
|
|
45
|
+
活体 `~/.dsh/profiles/web/package.json` + `packages/boot/app-boot/src/profile.ts`
|
|
46
|
+
+ `packages/preset/agent-presets/` 三处对读,实际是**四层 + 一个正交层**:
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
boot 阶段(决定"装了什么运行时") session 阶段(决定"模型看到什么")
|
|
50
|
+
┌─ Profile ~/.dsh/profiles/<name>/ ┌─ Agent Preset(正交,非下级)
|
|
51
|
+
│ package.json: dsh.profile.bundles[] agent.cordis.yml 列表 = 面向模型的
|
|
52
|
+
│ cordis.patch.yml(用户层) 工具行 + 提示行 + scoped 服务
|
|
53
|
+
│ └─ Bundle npm 包,声明 dsh.bundle.patch 发现:roots 扫描(system shipped
|
|
54
|
+
│ cordis.patch.yml = insert 行 + 覆盖行 + ~/.dsh/.agent-presets/)
|
|
55
|
+
│ └─ Plugin 单个 Cordis entry(id+name+config) 选择:default + 会话头 + 事件,锁
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
**证据**:
|
|
59
|
+
- Profile 本体:`profile.ts` L36-96(`Profile`/`ProfileLayer`/`bundles`);
|
|
60
|
+
`PROFILE_TEMPLATES` L114-117(`web`/`headless` 自动初始化);
|
|
61
|
+
`DEFAULT_PROFILE_BUNDLES = ['@deepseek-ai/dsh-base']` L125。
|
|
62
|
+
- Bundle 声明:`profile.ts` L42-45(`dsh.bundle.patch`);L371-397
|
|
63
|
+
(`loadProfile` 解析 bundle patch,缺 `dsh.bundle` 则 fail-loud L392-394)。
|
|
64
|
+
- 装配:空根 `[]` + bundle 层按序 + profile 层 + home 层 + overlay
|
|
65
|
+
(`apps/cli/src/profile-boot.ts` `composeProfile`)。
|
|
66
|
+
- Preset 发现:`discovery.ts` `COMPOSITION_FILE='agent.cordis.yml'` L26、
|
|
67
|
+
`USER_PRESET_DIR='.agent-presets'` L41、`discoverPresets` 按 roots 优先级
|
|
68
|
+
L177-186;`preset.ts` `Config{default,roots,includeUserRoot}` L51-62。
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## 2. 各层"能做什么 / 不能做什么"(层级决定能力)
|
|
73
|
+
|
|
74
|
+
| 层 | 挂载时机 | realm | 能贡献 | 不能贡献 |
|
|
75
|
+
|---|---|---|---|---|
|
|
76
|
+
| **Bundle** | boot(进程启动) | root/host | **任何行**:llm、session、sandbox、subagent、system-prompt、`agent-presets` 本身、以及新 runtime 服务 | — |
|
|
77
|
+
| **Agent Preset** | session(每会话挂) | scoped(per-session) | 工具行、system-prompt 段、`isolate` realm 的 scoped 服务 | **root realm 服务被拒**(`mount.ts` 头注 + `leakedServices`:泄露到 root realm 的行直接拒载) |
|
|
78
|
+
|
|
79
|
+
**推论(本研究的核心)**:
|
|
80
|
+
- runtime 服务(`rlmRuntime`、kernel 生命周期、sandbox 套壳、subagent 桥)
|
|
81
|
+
**天生是 bundle 的事**——它们要在 boot 时进 host realm、按 Session/Agent
|
|
82
|
+
键控,而不是挤进 preset 的 per-session scope。
|
|
83
|
+
- 模型面(`run_cell` transport、py-sdk、工具 schema 抑制)**天生是 preset
|
|
84
|
+
的事**——它们本来就是 per-session 组合。
|
|
85
|
+
- DASHR 现状把**两者都塞进 preset**,正是 §7.4.1 realm 勘误(isolate 是
|
|
86
|
+
per-mount 非 per-session)与 root-realm-reject 风险的根因。分层错位,
|
|
87
|
+
不是缺能力。
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## 3. DASHR 现在到底在哪一层(实测)
|
|
92
|
+
|
|
93
|
+
| 项 | 实测 | 层 |
|
|
94
|
+
|---|---|---|
|
|
95
|
+
| `dashr/package.json` | `dsh: null`,deps 仅 schemastery + zeromq | **非 bundle** → plain dependency |
|
|
96
|
+
| `dashr-presentation/package.json` | `dsh: null` | **非 bundle** → plain dependency |
|
|
97
|
+
| preset 文件 | `dashr-presentation/preset/dashr/{agent.cordis.yml,preset.yml}` | session 层 |
|
|
98
|
+
| preset 注册方式 | README L48-73:**手动 `--patch` overlay** 给 `agent-presets` 加 `roots` 指到 `node_modules/dashr-tool-presentation/preset`,再手动设 default | **手动的 boot overlay** |
|
|
99
|
+
|
|
100
|
+
即现状 = **plugin(依赖)+ preset(会话模式),且 preset 注册是手动的
|
|
101
|
+
boot overlay**。`dsh plugin add <pkg>` 对 `dsh: null` 的包只会装成
|
|
102
|
+
"plain dependency, not a profile layer"(`plugin.ts` `reconcilePlugins`
|
|
103
|
+
L44-47 的 warning 分支),preset 名册根本不会自动知道它。
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## 4. 上升方案:两级目标
|
|
108
|
+
|
|
109
|
+
### 4.1 Target 1 — DASHR 成为 bundle(Profile 层,叠加到既有 profile)
|
|
110
|
+
|
|
111
|
+
最小改动:给一个包声明 bundle,其 `cordis.patch.yml` 在 boot 时完成三件事:
|
|
112
|
+
|
|
113
|
+
```yaml
|
|
114
|
+
# dashr 包 package.json
|
|
115
|
+
"dsh": { "bundle": { "patch": "./cordis.patch.yml" } }
|
|
116
|
+
|
|
117
|
+
# dashr 包 cordis.patch.yml(boot 层,root realm)
|
|
118
|
+
- insert:
|
|
119
|
+
- id: rlm-runtime
|
|
120
|
+
name: 'dashr-code-runtime-ipython' # ① runtime 服务,boot 时 host realm
|
|
121
|
+
- id: rlm-presentation
|
|
122
|
+
name: 'dashr-tool-presentation' # ② run_cell transport + py-sdk
|
|
123
|
+
|
|
124
|
+
- id: agent-presets # ③ 覆盖 preset 名册(web 才有此行)
|
|
125
|
+
config:
|
|
126
|
+
default: dashr
|
|
127
|
+
roots:
|
|
128
|
+
- path: <bundle-dir>/preset # 本包自带 preset 目录
|
|
129
|
+
trust: system
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
效果:`dsh plugin add dashr-code-runtime-ipython` 一次命令 → `reconcilePlugins`
|
|
133
|
+
检测到 `dsh.bundle.patch` → 自动追加进 `dsh.profile.bundles` → boot 时
|
|
134
|
+
runtime + presentation 挂 host realm、preset root 注册、default 翻到 dashr。
|
|
135
|
+
**手动 `--patch` 消失**。
|
|
136
|
+
|
|
137
|
+
### 4.2 Target 2 — DASHR 成为独立运行时 profile(headless 式一等运行时)
|
|
138
|
+
|
|
139
|
+
**没有"profile package"这种可分发原语**——profile 是用户本地目录,创建靠
|
|
140
|
+
`dsh plugin --profile dashr add <pkg>`(`DEFAULT_PROFILE_BUNDLES=[dsh-base]`)。
|
|
141
|
+
所以"发一个 profile"实际是**发一个 bundle + 安装器/文档**。但语义上可以做
|
|
142
|
+
成 headless 的镜像:
|
|
143
|
+
|
|
144
|
+
```
|
|
145
|
+
dashr bundle(照抄 headless/cordis.patch.yml 的结构,~25 行)
|
|
146
|
+
- id: system-prompt → RLM persona 覆盖
|
|
147
|
+
- id: tools → 呈现 RLM cell 界面(对应 headless 的 mode: DSH_TOOLS_MODE)
|
|
148
|
+
- insert: rlm-runtime + rlm-presentation + dashr-startup + dashr-runner
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
对比 headless(`packages/bundle/headless/cordis.patch.yml` 全文仅 ~25 行):
|
|
152
|
+
它 **boot 层直接挂 `code-runtime` worker-thread,无 preset 名册**,
|
|
153
|
+
`dsh --profile headless "<task>"` 即"编码模式做成一等运行时"。DASHR 照此做
|
|
154
|
+
`dsh --profile dashr "<task>"`,即"RLM 做成一等运行时"。这比 Target 1
|
|
155
|
+
更进一步:**连 preset 名册都可有可无**(像 headless 那样 tools.mode 直给)。
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## 5. 价值(为什么上升,按权重)
|
|
160
|
+
|
|
161
|
+
1. **runtime 逃出 preset scope**(最大):`rlmRuntime` 从 per-session 的
|
|
162
|
+
isolate realm 挤迫,改为 boot 层 host realm + 显式 Session/Agent 键控。
|
|
163
|
+
直接消除 §7.4.1 的 realm-per-mount 勘误与 root-realm-reject 风险。
|
|
164
|
+
2. **身份对齐乃至超越**:PTC 编码模式在 web 里**仍只是五选一的 preset**
|
|
165
|
+
(`default: standard`,会话内切换);而 DASHR 升 bundle 后拥有 boot 层,
|
|
166
|
+
是"运行时"而非"模式"——比"与 PTC 同级"更进一步,对标的是 headless。
|
|
167
|
+
3. **boot 级能力组合解锁**:sandbox 套 kernel、subagent 桥 boot 化、snapshot
|
|
168
|
+
store、persona、compaction——这些现在被 preset 边界挡住的项,全部可在
|
|
169
|
+
bundle 层落地。
|
|
170
|
+
4. **装包摩擦归零**:手动 `--patch` overlay(§3 实证痛点)→ 一次
|
|
171
|
+
`dsh plugin add` 自动全落。
|
|
172
|
+
|
|
173
|
+
## 6. 代价与风险(诚实记录,与 v0.5 决策的张力)
|
|
174
|
+
|
|
175
|
+
1. **boot 层耦合面变宽**:bundle 依赖 `agent-presets`/`session`/`sandbox`/
|
|
176
|
+
`system-prompt` 等**行 id 与 config 形状稳定**。这与 v0.5 §7.6 换键 +
|
|
177
|
+
vendored SD 换来的"运行时零上游依赖"是**相反方向**——前者买自主,后者
|
|
178
|
+
买 boot 杠杆。这是本路线最需要用户拍板的一处权衡。
|
|
179
|
+
2. **`agent-presets` 行只在 `web-app` bundle**(L421-424,`default: standard`),
|
|
180
|
+
`dsh-base` 与 `headless` 都没有(实测)。→ Target 1 的"覆盖 default"只在
|
|
181
|
+
web profile 成立;headless 场景要走 Target 2(tools.mode 直给),不依赖
|
|
182
|
+
preset 名册。这是关键的平台分叉,必须写进方案。
|
|
183
|
+
3. **root realm 服务 = process-global**:per-session 键控从"preset 隔离"变为
|
|
184
|
+
"自己 key"。M3-A 已交付 `Map<principal,kernel>` + lazy per-key +
|
|
185
|
+
`agent/disposed` per-key teardown,机械件已具备,语义要重述。
|
|
186
|
+
4. **发行面**:bundle 需声明 `dsh.bundle.patch`,且行 id 与 dsh 实际一致
|
|
187
|
+
(pre-release 漂移面,比现在宽)。
|
|
188
|
+
5. **两包形态**:bundle 的 patch 按"行名→包名"引用插件,runtime 与
|
|
189
|
+
presentation 两包需一个 bundle 包(或 meta-bundle)统一 insert;要么合并
|
|
190
|
+
成单包,要么增一个壳包。
|
|
191
|
+
|
|
192
|
+
## 7. 与 v0.5 蓝图的关系
|
|
193
|
+
|
|
194
|
+
- **不改 v0.5 蓝图**;本研究是**平行的"再拔高"路线**,可作为 M4 之后
|
|
195
|
+
(或独立分支)的选型输入,不排入当前 M3-B/M4 计划。
|
|
196
|
+
- 与 §7.4"第五 preset"不冲突:Target 1 把 runtime 半边升到 bundle、preset
|
|
197
|
+
保留为默认 face;Target 2 把 DASHR 整个做成 headless 式运行时 profile。
|
|
198
|
+
两者都是从"五选一模式"走向"一等运行时"的同一条路上不同深度。
|
|
199
|
+
|
|
200
|
+
## 8. 待决 / 待核清单(供讨论,非本文结论)
|
|
201
|
+
|
|
202
|
+
| # | 问题 | 现状 |
|
|
203
|
+
|---|---|---|
|
|
204
|
+
| 1 | 目标选 Target 1(bundle 叠加)还是 Target 2(headless 式独立 profile)? | 开放 |
|
|
205
|
+
| 2 | bundle 内 `rlmRuntime` 用 root realm 还是 isolate realm 的正确 boot 语义 | 开放 |
|
|
206
|
+
| 3 | 是否接受 boot 层耦合 dsh 行 id(与 §7.6 零依赖决策的权衡) | 开放,需拍板 |
|
|
207
|
+
| 4 | 发行形态:runtime+presentation 两包 + 壳 bundle,还是合并单包 | 开放(包名 scope 仍悬置) |
|
|
208
|
+
| 5 | web(Target 1)与 headless(Target 2)是否两条都要,还是先一条 | 开放 |
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
## 9. 决策附录(2026-08-16 补充:四模式核实 / 隔离实测 / Web UI 复用)
|
|
213
|
+
|
|
214
|
+
### 9.1 四个模式核实(用户"标准/极简/PTC/Creator"四点全对)
|
|
215
|
+
|
|
216
|
+
实读 `apps/cli/config/agent-presets/<id>/preset.yml`:
|
|
217
|
+
|
|
218
|
+
| preset id | 显示名 | order | 说明 |
|
|
219
|
+
|---|---|---|---|
|
|
220
|
+
| `standard` | 标准模式 | 1 | 全功能编码 Agent |
|
|
221
|
+
| `code` | PTC 模式 | 2 | Code Mode SDK 呈现工具 |
|
|
222
|
+
| `minimal` | 极简模式 | 3 | bash + str_replace_editor 双工具 |
|
|
223
|
+
| `cordis` | 创造模式 | 4 | = 你说的 "Creator";用于创作自定义 preset |
|
|
224
|
+
|
|
225
|
+
加第 5 preset `dashr`(RLM 模式)到名册 = 正确路径,与现开发一致。
|
|
226
|
+
|
|
227
|
+
### 9.2 web 是默认 profile、无 TUI 入口
|
|
228
|
+
|
|
229
|
+
- `web` 是 hardcoded alias(`args.ts` 原文:"`web` is a hardcoded alias for
|
|
230
|
+
`--profile web`");无参数默认起 web。
|
|
231
|
+
- `PROFILE_TEMPLATES` 只有 `web`/`headless`;帮助文本里的 `tui` 只是"自定义
|
|
232
|
+
profile 名"举例,非出厂模板。
|
|
233
|
+
- 结论:交互面 = Web UI(web profile)+ headless 一次性;无 TUI。
|
|
234
|
+
|
|
235
|
+
### 9.3 Web UI = `dsh-web-app` bundle,自包含、原样复用
|
|
236
|
+
|
|
237
|
+
`web-app/cordis.patch.yml` 内 UI 相关行:`web-startup` / `webserver` /
|
|
238
|
+
`web-runtime`(`dsh-web-app` 本体)、`api-gateway`(`dsh-host-apiproxy`)、
|
|
239
|
+
`api-remotes`、`ui-theme` / `ui-layout` / `ui-sidebar` / `ui-settings-*` /
|
|
240
|
+
`ui-conversation` …。→ 复用 = 把 `@deepseek-ai/dsh-web-app` 写进
|
|
241
|
+
`dsh.profile.bundles`,**不 fork 源码**。
|
|
242
|
+
|
|
243
|
+
### 9.4 profile 之间不隔离(影响"独立 dashr profile"决策)
|
|
244
|
+
|
|
245
|
+
- session 按 **workspace(cwd)** 隔离:`~/.dsh/sessions/<转义cwd>/session-<uuid>/`;
|
|
246
|
+
session 头记 `agentPreset`,不记 profile。
|
|
247
|
+
- `settings.yaml` / credentials **全局**(`~/.dsh/` 下,跨 profile 共享)。
|
|
248
|
+
- 含义:独立 `dashr` profile 得到"默认 = RLM + 干净名册",但**得不到数据
|
|
249
|
+
隔离**;若只要"在 Web UI 里加一个 RLM 模式",最简做法是直接扩展现有 web
|
|
250
|
+
profile(`dsh plugin --profile web add <dashr-bundle>`),连新 profile 都
|
|
251
|
+
不用建。
|
|
252
|
+
|
|
253
|
+
### 9.5 现状 ≈ Target 1(升 bundle 是"装法正式化",非重构)
|
|
254
|
+
|
|
255
|
+
| | 现状(开发中) | 升 bundle(Target 1) |
|
|
256
|
+
|---|---|---|
|
|
257
|
+
| 包声明 | 两包 `dsh: null`(普通依赖) | 声明 `dsh.bundle.patch` |
|
|
258
|
+
| preset 注册 | 手动 `--patch` overlay | bundle 的 `cordis.patch.yml` boot 自动 |
|
|
259
|
+
| Web UI | 复用 `dsh-web-app` | 同左(不变) |
|
|
260
|
+
| 安装 | `dsh plugin add` 只装普通依赖 | 同命令,自动进 bundles + 挂 runtime + 注册 preset + 设 default |
|
|
261
|
+
|
|
262
|
+
---
|
|
263
|
+
|
|
264
|
+
## 10. 形态收敛:直接做成 Profile(bundle)+ TUI 作为 surface bundle
|
|
265
|
+
|
|
266
|
+
### 10.1 "直接做成 Profile" 的确认(POFA = Profile 解读)
|
|
267
|
+
|
|
268
|
+
用户新判断:Profile 也好、preset 也好,如今都按 bundle 发布,DASHR 既然
|
|
269
|
+
实质是运行时,就直接做成 Profile 层。**成立,且与 §4 收敛一致**:
|
|
270
|
+
|
|
271
|
+
- 可分发原语只有 bundle;"Profile 层"与"preset 层"的差别不在发布形态,
|
|
272
|
+
而在**挂载阶段与 realm**(§2)。
|
|
273
|
+
- DASHR 的 runtime 半边(`rlmRuntime`/presentation/生命周期)本就该在 boot
|
|
274
|
+
层;模型面半边(`run_cell`/py-sdk)仍是 preset、设为默认。
|
|
275
|
+
- 所以"直接做成 Profile"= 把 DASHR 声明成 bundle + 复用 web-app,其余照旧
|
|
276
|
+
(§4.1 Target 1)。不是新路线,是把现开发正式化。
|
|
277
|
+
|
|
278
|
+
### 10.2 "同一包既借 Web UI 又用 TUI"——架构上天然成立,且已被生态证实
|
|
279
|
+
|
|
280
|
+
dsh 把"交互面"抽象为 **surface bundle**:`dsh-web-app`(Web)、
|
|
281
|
+
`dsh-headless`(一次性)。TUI 只是**第三个 surface bundle**,与 runtime
|
|
282
|
+
bundle 正交:
|
|
283
|
+
|
|
284
|
+
```
|
|
285
|
+
dsh-base(核心)+ DASHR runtime bundle(kernel+presentation,surface 无关)
|
|
286
|
+
├─ + dsh-web-app → dashr-web(借 Web UI)
|
|
287
|
+
└─ + dsh-tui → dashr-tui(用 TUI)
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
所以"一个包"= DASHR runtime bundle 一个,同时喂给两个 surface,不需要 fork
|
|
291
|
+
任何东西。
|
|
292
|
+
|
|
293
|
+
**关键实证(web 检索 2026-08-16)**:生态里已有现成 TUI,且正是
|
|
294
|
+
"out-of-tree dsh plugin bundle"或"over the one DSH HTTP contract":
|
|
295
|
+
|
|
296
|
+
- [openguardrails/dsh-tui](https://github.com/openguardrails/dsh-tui) —
|
|
297
|
+
Claude Code-style TUI,明确是 **out-of-tree dsh plugin bundle**
|
|
298
|
+
- [MashedPotato817/dsh-tui](https://github.com/MashedPotato817/dsh-tui) —
|
|
299
|
+
Claude Code-style 对话 + Vim modal + HUD,**走 DSH 单一 HTTP 契约**(即
|
|
300
|
+
复用 web-app 暴露的 `api-gateway`/`api-proxy` RPC,不是 fork Web UI)
|
|
301
|
+
- npm [`@dsh-tui/dsh-tui`](https://www.npmjs.com/package/@dsh-tui/dsh-tui)
|
|
302
|
+
- [lhjnano/orcatui](https://github.com/lhjnano/orcatui) — 终端多 agent 编排器
|
|
303
|
+
(N agent side-by-side,各自 PTY/worktree)——正是你要的 tmux 式 manager 形态
|
|
304
|
+
|
|
305
|
+
这直接回答"要不要抄 Web UI 源码":**TUI 甚至不碰 web-app 源码,它是跑在
|
|
306
|
+
同一条 host RPC 上的另一个 client**。思路 #1(参考开源)因此不是"再多参考
|
|
307
|
+
一个 repo",而是**几乎可以直接踩在现成项目上**。
|
|
308
|
+
|
|
309
|
+
### 10.3 三条 TUI 思路的源码级可行性
|
|
310
|
+
|
|
311
|
+
| 思路 | 实测依据 | 工作量 | 风险 |
|
|
312
|
+
|---|---|---|---|
|
|
313
|
+
| 1 参考开源 dsh-tui | 已存在,out-of-tree bundle + DSH HTTP 契约 | **低**(复用/参考) | 协议随 dsh 0.1.x 漂移;社区项目成熟度待核 |
|
|
314
|
+
| 2 复用 PA TUI | `@earendil-works/pi-tui` 自研轻量 ANSI(仅 chalk/get-east-asian-width/marked/mime-types 5 依赖),组件系统齐全(box/input/editor/select-list/markdown/image/loader…)+ `modes/`(`interactive-mode`、`agents-view-mode`=多 agent 视图、`daemon`+`agent-connection`) | **中偏高**(组件可抄,渲染循环/数据源要重接 dsh agent loop + session 事件) | pi-tui 耦合 PA 的 session/daemon 模型;双上游维护 |
|
|
315
|
+
| 3 自建 TUI | dsh **无 TUI 源码**(`packages/terminal` 是 shell/PTY 后端组 `terminal`/`terminal-bash`/`tool-terminal`,非 UI;无 ink/blessed 依赖)——用户猜测正确 | **高**(全量) | — |
|
|
316
|
+
|
|
317
|
+
结论:TUI 应作为**独立 surface bundle + 独立里程碑**,与 runtime bundle 解耦;
|
|
318
|
+
Web UI(复用 web-app)先跑通,TUI 从思路 #1 起步(参考现成 dsh-tui),
|
|
319
|
+
思路 #2 仅在需要 PA 式"agents-view 多 agent 视图"时再评估移植 pi-tui 组件层。
|
|
320
|
+
|
|
321
|
+
---
|
|
322
|
+
|
|
323
|
+
## 11. 决策结论(暂缓,留后路)
|
|
324
|
+
|
|
325
|
+
2026-08-16 用户定调:**暂不决定**,资料落盘存档即可。
|
|
326
|
+
|
|
327
|
+
1. **暂不深整合 TUI**:官方现处 0.x 早期,bundle 走 Web UI 路径(与 DeepSeek
|
|
328
|
+
Web Chat 一脉相承,更 future-proof);官方后续(0.7/0.8 附近)可能自出
|
|
329
|
+
TUI。现在 Web UI 已够用,且没有"必须用 TUI 才能完成"的工作。
|
|
330
|
+
2. **留后路原则**:GUI 主攻大方向 + CLI/TUI/headless 必须留入口(LLM 本身
|
|
331
|
+
TUI-native / 命令行-native / headless-native,GUI 再成熟也要留尾巴)。
|
|
332
|
+
官方已有 headless 入口,正合此逻辑。
|
|
333
|
+
3. **观望两条趋势**(观察项,非任务):
|
|
334
|
+
- 整体是否"GUI 进发、同时留 TUI 尾巴";
|
|
335
|
+
- 官方 TUI 是否落地(0.7/0.8)。
|
|
336
|
+
4. **再评估触发条件**:官方出 TUI / 官方 bundle 形态定型 / 出现必须 TUI 的
|
|
337
|
+
工作。
|
|
338
|
+
|
|
339
|
+
对 §8 待决清单的处置:**不关闭、保持开放**,但排期上不主动推进——Target 1
|
|
340
|
+
vs 2、TUI 路线选择全部挂起,等官方信号。
|
|
341
|
+
|
|
342
|
+
---
|
|
343
|
+
|
|
344
|
+
## 附:证据索引
|
|
345
|
+
|
|
346
|
+
| 结论 | 出处(clone 内实读) |
|
|
347
|
+
|---|---|
|
|
348
|
+
| Profile = `dsh.profile.bundles` + 用户 patch | `packages/boot/app-boot/src/profile.ts` L36-96 |
|
|
349
|
+
| Bundle = 声明 `dsh.bundle.patch`;缺则 fail-loud | `profile.ts` L42-45, L371-397 |
|
|
350
|
+
| `dsh plugin add` 按 `dsh.bundle.patch` 有无 reconcile | `apps/cli/src/plugin.ts` L22-25, L39-75 |
|
|
351
|
+
| 空根 + bundle 层按序装配 | `apps/cli/src/profile-boot.ts` `composeProfile` |
|
|
352
|
+
| Preset = `agent.cordis.yml` 目录,roots 扫描 + 优先级 | `packages/preset/agent-presets/src/discovery.ts` |
|
|
353
|
+
| Preset `default` + `roots` 配置 | `preset.ts` L51-62 |
|
|
354
|
+
| Preset 拒 root realm 服务 | `mount.ts` 头注 + `leakedServices` |
|
|
355
|
+
| 会话选择 + 锁定 | `session.ts`;agent-presets README L148 |
|
|
356
|
+
| `agent-presets` 行只在 web-app,`default: standard` | `packages/bundle/web-app/cordis.patch.yml` L421-424 |
|
|
357
|
+
| headless = boot 挂 code-runtime、无 preset 名册 | `packages/bundle/headless/cordis.patch.yml` 全文 |
|
|
358
|
+
| DASHR 两包 `dsh: null`(非 bundle) | `dashr/dashr/package.json`、`dashr-presentation/package.json` |
|
|
359
|
+
| DASHR preset 注册靠手动 `--patch` | `dashr-presentation/README.md` L48-73 |
|
|
360
|
+
| 四预设显示名(标准/PTC/极简/创造) | `apps/cli/config/agent-presets/<id>/preset.yml` |
|
|
361
|
+
| `web` = 无参数默认别名 | `apps/cli/src/args.ts` L13, L66-70 |
|
|
362
|
+
| Web UI 行全在 web-app bundle(自包含) | `packages/bundle/web-app/cordis.patch.yml` L99-198 |
|
|
363
|
+
| session 按 workspace(cwd) 隔离、非 profile | `~/.dsh/sessions/<转义cwd>/session-<uuid>/`(活体) |
|
|
364
|
+
| settings/credentials 全局共享 | `~/.dsh/settings.yaml`(活体) |
|
|
365
|
+
| PA TUI = `pi-tui` 自研轻量 ANSI(5 依赖)+ `modes/` | `prime-agent/packages/tui/`;`packages/coding-agent/src/modes/` |
|
|
366
|
+
| dsh 无 TUI 源码(terminal = PTY 后端组) | `packages/terminal/`(组目录:terminal/terminal-bash/tool-terminal) |
|
|
367
|
+
| 生态已有 dsh-tui(out-of-tree bundle / DSH HTTP) | web 检索:openguardrails、MashedPotato817、@dsh-tui、orcatui |
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
# DSH 沙箱-审批语义缺口:模型先验抑制升级尝试
|
|
2
|
+
|
|
3
|
+
> 日期:2026-09-01
|
|
4
|
+
> 范围:upstream DSH 运行时权限语义(`@deepseek-ai/dsh-sandbox` / `dsh-sandbox-policy` / `dsh-permission-presets` / `dsh-user-approval`,全部结论来自安装包源码核实 + 本机实测)
|
|
5
|
+
> 性质:源码证据链 + 语义缺口分析 + 设计提案
|
|
6
|
+
> 关联:`docs/plans/dashr-security-sandbox-analysis.md`(2026-08-17,kernel 沙箱边界穿透);同 session 的 workspace-write 沙箱实测(bwrap `--unshare-pid`,宿主 PID 不可见)
|
|
7
|
+
|
|
8
|
+
## 0. 结论先行(TL;DR)
|
|
9
|
+
|
|
10
|
+
**问题**:workspace-write 模式下,模型上下文主动声明 "Current DSH file policy: workspace-write…"(一个只描述限制、不描述出口的句子),却没有告知"受限操作可按调用**单次升级**(`allowed-once`)"。这给大模型注入了一个先验——"整个运行时是沙箱化的、不可绕过的"。后果是模型倾向于**自我设限**:面对 out-of-box 命令时直接报告"受限运行时干不了",**根本不会去尝试**,因此**永远看不到** denial 返回里附带的升级提示。Denial message 是"后话"——它只对**先尝试过**的模型可见;先验一旦抑制了尝试,升级路径对整个运行时就是永不可见的死信息。
|
|
11
|
+
|
|
12
|
+
**提议**:沙箱限制**对用户可见**(UI badge + 审批弹窗),但对模型采取"**后知**"披露(model-late disclosure)——不预先声明"你被沙箱化/不可变",让模型先尝试、撞 denial、再从 denial + escalation hint 中学习"可单次升级"。形成「尝试 → 拒绝 → 可升级」的完整闭环,而不是「告知 → 自我设限 → 死锁」。
|
|
13
|
+
|
|
14
|
+
**事实支撑**(§2 证据链):DSH 自身就是"双 knob"模型(sandbox/mode × approval/policy,解耦设计,源码原话 "independent … knobs");升级语义字面为 `allowed-once`(单次、按调用、执行前审批);且三个模式的上下文语句**存在不对称**——read-only 模式反而含有反自我审查指令,workspace-write 没有。
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## 1. 背景与动机
|
|
19
|
+
|
|
20
|
+
- Agent 运行时(DeepSeek Harness)的工具执行经 bwrap 沙箱:`--ro-bind / / --unshare-pid --tmpfs /tmp --bind <workspace>`。根文件系统只读、独立 PID namespace、/tmp 为私有 tmpfs、网络 namespace 共享(实测,2026-09-01)。
|
|
21
|
+
- 沙箱之外存在一条**单次热升级**通道:工具调用可带 `sandbox_permissions` 重试,经用户审批后该次调用以更宽模式执行(`allowed-once`),下一条调用回到原有效模式。
|
|
22
|
+
- 这条通道**语义上无法从"我被沙箱化"推导出来**:Sandbox(capability 层)与 Approval(decision 层)是正交维度;一个只被告知"你被沙箱化"的模型,不会自行推导出"ask for approval 可以解开沙箱"。
|
|
23
|
+
- 本文记录该语义缺口,并提出"用户可见、模型后知"的披露策略。
|
|
24
|
+
|
|
25
|
+
## 2. 源码事实核对(证据链)
|
|
26
|
+
|
|
27
|
+
全部结论可在安装包源码中复现:`<dsh>/node_modules/@deepseek-ai/dsh-{sandbox,sandbox-policy,permission-presets,user-approval}/lib/`。
|
|
28
|
+
|
|
29
|
+
### 2.1 双 knob 模型(`dsh-permission-presets`)
|
|
30
|
+
|
|
31
|
+
设计文档原话:*"User-facing permission presets over the **independent** sandbox-mode and approval-policy knobs."*
|
|
32
|
+
|
|
33
|
+
- **knob 1 — sandbox/mode**:`read-only | workspace-write | danger-full-access`
|
|
34
|
+
- **knob 2 — approval/policy**:`ask | never`(仅两个值)
|
|
35
|
+
|
|
36
|
+
preset 只是两 knob 的捆绑,默认表:
|
|
37
|
+
|
|
38
|
+
| preset | sandbox | approval |
|
|
39
|
+
|---|---|---|
|
|
40
|
+
| `workspace-write` | workspace-write | **ask** |
|
|
41
|
+
| `danger-full-access` | danger-full-access | **never** |
|
|
42
|
+
|
|
43
|
+
推论:官方把 unboxed 与 never 绑定,等于承认"ask 的触发源是 denial"——unboxed 模式没有 denial 事件,ask 就成了惰性 knob。用户设想的 "unboxed ask"(unboxed + ask)不是内置 preset,但 `presets` 表可配置、任意组合允许(不匹配任何表项时投影报 `custom`)。
|
|
44
|
+
|
|
45
|
+
### 2.2 单次升级机制(`dsh-sandbox/lib/types/escalation.d.ts` + `lib/index.js`)
|
|
46
|
+
|
|
47
|
+
- 升级**在执行前**解决:`approveEscalation` — *"resolve a sandbox-escalation request BEFORE anything executes"*,有序 fail-closed:严格加宽校验 → 审批通道 → 结果映射。
|
|
48
|
+
- 审批结果枚举字面:**`'allowed-once' | 'rejected' | 'cancelled' | 'unavailable'`**。
|
|
49
|
+
- 粒度**恰好这一次调用**:*"Returns the granted mode to stamp onto exactly this call"*;`SandboxPolicy` 注释 *"an approved escalated retry is a new call with a wider policy"*。→ 不是"逃出沙箱",是**调用级换挡**。
|
|
50
|
+
- 严格加宽阶梯(执行期校验,非 schema 静态值):
|
|
51
|
+
|
|
52
|
+
```js
|
|
53
|
+
WIDER_MODES = { "read-only": ["workspace-write","danger-full-access"],
|
|
54
|
+
"workspace-write": ["danger-full-access"] }
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
- 非加宽请求**永不弹审批**(*"a non-widening request never prompts a human"*,直接拒)。
|
|
58
|
+
- 无审批通道 / 无 agent → fail closed,绝不静默放行。
|
|
59
|
+
- `sandbox_permissions` 与 `justification` 必须成对(理由缺失 = malformed ask)。
|
|
60
|
+
|
|
61
|
+
### 2.3 三个模式的模型上下文语句(`dsh-sandbox-policy/lib/index.js` `renderPolicyContext`)——**不对称在这里**
|
|
62
|
+
|
|
63
|
+
| 模式 | 模型看到的上下文 | 是否提及升级 |
|
|
64
|
+
|---|---|---|
|
|
65
|
+
| `read-only` | "…**Do not refuse a required modification from this policy alone: try an available tool normally and follow any denial and escalation guidance it returns.**" | **是**(反自我审查指令 + 升级预告) |
|
|
66
|
+
| `workspace-write` | "Current DSH file policy: workspace-write. …may modify files under the session workspace: … Some platform temporary areas may also be writable." | **否** |
|
|
67
|
+
| `danger-full-access` | "The DSH file sandbox does not restrict file modifications by available operations." | 不适用(已是顶) |
|
|
68
|
+
|
|
69
|
+
**最常用的 workspace-write 模式没有任何升级提示,而最该防自我设限的 read-only 反而有。** 这正是语义缺口的具体落点。
|
|
70
|
+
|
|
71
|
+
### 2.4 denial + escalation hint:反应式教学(`dsh-sandbox/lib/index.js`)
|
|
72
|
+
|
|
73
|
+
- denial 标记:`[sandbox: file access denied under workspace-write mode]`
|
|
74
|
+
- 同轮升级提示:`[sandbox: escalation available — retry this exact command once with sandbox_permissions (the narrowest wider mode that suffices) + justification; the approval prompt asks the user]`
|
|
75
|
+
|
|
76
|
+
设计意图(源码注释):nudge *"lives at the decision point so the sanctioned retry does not depend on the model recalling the tool description"*。→ 设计者已知"模型会忘",把提示放在 denial 处。但**它依赖模型先触发 denial**。
|
|
77
|
+
|
|
78
|
+
### 2.5 审批通道(`dsh-user-approval`)
|
|
79
|
+
|
|
80
|
+
- `APPROVAL_POLICIES = ["ask","never"]`。
|
|
81
|
+
- `ask` 语句:*"Operations that require approval may ask through the configured answerers; without an available answerer, the request fails closed."* —— 未枚举"什么需要审批"。
|
|
82
|
+
- `never` 语句(反向教学):*"…do not request sandbox escalation (do not set `sandbox_permissions`)."*
|
|
83
|
+
- 审批请求当前**唯一喂入方是升级路径**;不存在"unboxed 下某工具类仍强制审批"的 gate(无硬编码 hook)。→ 想让 unboxed+ask 非惰性,需要给 `request()` 加第二个喂入方。
|
|
84
|
+
|
|
85
|
+
### 2.6 schema 层补充(实测)
|
|
86
|
+
|
|
87
|
+
工具 schema **始终**广播升级词汇(`ESCALATION_TARGETS = ["workspace-write","danger-full-access"]`,受限即广播)。设计注释:防止 session *"stranded … with no lever"*。→ 升级的**词汇**模型永远拿得到;缺口只在**上下文先验**,不在 schema。修 prompt 即可,不用动 schema。
|
|
88
|
+
|
|
89
|
+
## 3. 语义缺口的形式化表述
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
先验注入("workspace-write 限制")→ 模型自我设限("受限运行时,干不了")
|
|
93
|
+
→ 不尝试 out-of-box 操作 → denial 永不触发
|
|
94
|
+
→ escalation hint 永不可见 → 升级通道对模型是死信息
|
|
95
|
+
→ 自我设限成为自我实现的预言
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
- Denial message 是**后话**:它只奖励"先尝试"的模型;不尝试的模型永远到不了决策点。
|
|
99
|
+
- 触发尝试的常见前提恰恰是**用户主动要求探索边界**(如"你给我探测一下沙箱边界"),日常任务注意力被任务本身拽住,不会自发地元思考能力边界。
|
|
100
|
+
- 与 `danger-full-access`(unboxed + never)形成**巨大反差**:一边是"受限且不告知出口",另一边是"全开放且不询问"。中间态(workspace-write + ask 可单次升级)的语义价值因此被埋没。
|
|
101
|
+
|
|
102
|
+
## 4. 设计提案:用户可见、模型后知(model-late disclosure)
|
|
103
|
+
|
|
104
|
+
### 4.1 核心主张
|
|
105
|
+
|
|
106
|
+
> 沙箱限制应该**对用户可见**(UI badge、审批弹窗、`/permission` 视图),但**不必在 prompt 里预先声明给模型**——尤其不要用"你被沙箱化、不可改"的表述注入先验。让模型自然去做 out-of-box 尝试(命令行、tool call),然后在 denial 返回值里给它语义提醒(现有 escalation hint 已具备),告诉它可以单次升级。这才是完整闭环。
|
|
107
|
+
|
|
108
|
+
- 对用户:策略透明(弹窗携带 `justification` 原文 + 审计记录,通道已存在)。
|
|
109
|
+
- 对模型:**不预设失败**,尝试 → denial → hint → escalate(可选)→ 用户批准 → 该调用执行。
|
|
110
|
+
- 安全面不扩大:denial 拦截在沙箱层,**命令根本没执行**("nothing has run");尝试失败只是多一轮调用,不构成越权。
|
|
111
|
+
|
|
112
|
+
### 4.2 具体落地选项(按侵入度排序)
|
|
113
|
+
|
|
114
|
+
1. **最小改动(推荐先做)**:改写 `renderPolicyContext` 的 workspace-write 语句,对齐 read-only 的句式——不宣称限制不可变,改为中性 + 出口预告:
|
|
115
|
+
- 例如:"Current DSH file policy: workspace-write (restricted writes; some platform temporary areas may also be writable). Do not refuse a required operation from this policy alone: try the tool normally and follow any denial and escalation guidance it returns."
|
|
116
|
+
2. **严格后知(用户主张)**:workspace-write 下完全不向模型声明沙箱状态(策略仅对用户 UI 可见),升级教学完全依赖 denial + hint。副作用:模型可能对常规受限操作(如工作区外写配置)多打几轮 denial——代价小,且正是教学素材。可做成配置开关(如 `discloseSandboxToModel: false`)。
|
|
117
|
+
3. **unboxed ask 前置条件**:若要提供 unboxed+ask preset,必须先实现强制审批 hook(§2.5 所述 `request()` 的第二个喂入方),否则 ask knob 是装饰性的。
|
|
118
|
+
|
|
119
|
+
### 4.3 披露对称性原则(通用准则)
|
|
120
|
+
|
|
121
|
+
无论披露什么,**约束与出口必须成对披露**:告诉模型存在约束,就同时告诉它缓解阀(read-only 语句已示范;`never` 语句是反向示范);不告诉它约束,就由 denial 在决策点教学。禁止"只披露约束、不披露出口"——那是把模型锁进自我实现的预言里。
|
|
122
|
+
|
|
123
|
+
### 4.4 零侵入实现路径(插件侧,机制已核实 2026-09-01)
|
|
124
|
+
|
|
125
|
+
> 结论:中性披露**不需要侵入 upstream 源码**。System Prompt 按两个独立集合组装——sections(主 prompt 区)与 contexts("Current runtime context" 快照区);两区都支持插件注册,且有组装期改写钩子。
|
|
126
|
+
|
|
127
|
+
**机制核实**(`dsh-system-prompt` + `dsh-agent-loop` 源码):
|
|
128
|
+
- `ctx.systemPrompt.section()` / `context()` 均为公开 API,任意 order 可注册;contexts 按 order 排序渲染进 `"Current runtime context. This snapshot supersedes…"` 快照(`sandbox:policy`=110,`approval:policy`=115,`subagent:delegation`=120)。
|
|
129
|
+
- `assemble()` 尾部有 `system-prompt/assemble` waterfall("the returned waterfall value is authoritative")——插件可整体改写 assembly,含 contexts 文本。
|
|
130
|
+
- DASHR 已注册 `dashr:control-prompt`(section,order 100)与 `dashr:tool-catalog`(150)——注入通道现成。
|
|
131
|
+
|
|
132
|
+
**三条路径**(按与政策段落的贴合度排序):
|
|
133
|
+
1. **A. 插件注册 context(order 116)**:`ctx.systemPrompt.context({ name: 'dashr:escalation-guidance', order: 116, text: … })`。渲染进**同一个** runtime-context 快照,紧贴 `approval:policy`(115)之后——模型视为运行时事实的一部分;零上游改动、声明式、无冲突。
|
|
134
|
+
2. **B. assemble waterfall 原位改写**:注册 `system-prompt/assemble` listener,把 `assembly.contexts` 中 `sandbox:policy` 的 text 替换为中性 + 出口预告版。模型看到的是政策段落**本体**被改写,等同原位 patch;代价是 waterfall 语义(last non-undefined wins)需与其他 listener 协调。
|
|
135
|
+
3. **C. 现有 section 追加一句**:在 `dashr:control-prompt` 加一句。可用,但落在主 prompt 区,与 `sandbox:policy`(快照区)**物理分离**——正是"都在 System Prompt 但隔了一段距离"的情形;且 order 100 先于快照区渲染,属次优位。
|
|
136
|
+
|
|
137
|
+
推荐:**A 为主,B 为可选强化**。两者都不改 upstream 一行代码。
|
|
138
|
+
|
|
139
|
+
**最终决策(2026-09-01,并入升级批次)**——选项 A 的落地规格:
|
|
140
|
+
|
|
141
|
+
- **注入文本(精简:只披露能力,不劝导行为)**:
|
|
142
|
+
`Restricted operations may be retried once with sandbox_permissions for single-call escalation, pending user approval.`
|
|
143
|
+
(语义即"受限操作可带 sandbox_permissions 单次升级(需用户审批)";**不做**"不要仅凭策略拒绝、先尝试"之类的行为劝导——尝试与否由模型自行决定,运行时只负责让杠杆可知。注入文本用英文,与上游 runtime-context 快照的英文语句同文风。)
|
|
144
|
+
- **注入条件(模式判断,仅 workspace-write)**:`text: (ctx) => 有效模式 === 'workspace-write' ? TEXT : ''`(空文本被渲染器过滤,等同 pass):
|
|
145
|
+
- `read-only`:pass —— 上游该模式语句已自带反自我审查 + 升级指引(§2.3),无需重复;
|
|
146
|
+
- `danger-full-access`:pass —— unboxed,无升级目标可言。
|
|
147
|
+
- **机制**:§4.4-A(`ctx.systemPrompt.context({ name: 'dashr:escalation-guidance', order: 116 })`),声明式、零上游改动。
|
|
148
|
+
- **批次**:作为一次升级批次中的一项变更,与其余待改项一次性采集实施(§6)。
|
|
149
|
+
|
|
150
|
+
## 5. 权衡与反方观点
|
|
151
|
+
|
|
152
|
+
| 维度 | 后知披露的代价 | 缓解 |
|
|
153
|
+
|---|---|---|
|
|
154
|
+
| 尝试轮次 | 模型可能对常规受限操作多尝试几次才收敛 | denial 是廉价信号;read-only 语句已验证"尝试→指引"模式可用 |
|
|
155
|
+
| 用户困惑 | 用户可能看到模型频繁撞 denial | 弹窗/审计已把决策权交还用户;UI badge 表明当前策略 |
|
|
156
|
+
| 与"尽量减少 out-of-box 危险动作"的设计哲学 | 后知披露确实会鼓励更多 out-of-box 尝试 | 但尝试被 denial 拦截,**不执行**;真正执行仍需用户审批,风险决策点不变 |
|
|
157
|
+
| 模型上下文长度 | 移除先验可省一行;增加出口预告也只是一行 | 净变化为零量级 |
|
|
158
|
+
|
|
159
|
+
反方观点(诚实记录):部分设计者会主张"先验设限"正是安全冗余——模型宁可少做也不越权。但该冗余的代价是把**合法且已有人工审批兜底**的升级通道变成死信息,属于可用性损失换来的虚假安全。审批弹窗(ask)本身就是人工决策点,真正的安全边界在用户那里,不在模型的自我设限里。
|
|
160
|
+
|
|
161
|
+
## 6. 落地建议清单
|
|
162
|
+
|
|
163
|
+
- [ ] **插件侧实现(无需上游改动)**:DASHR 注册 `dashr:escalation-guidance` context(order 116,§4.4-A),按 §4.4 最终决策的文本与模式条件实施——仅 workspace-write 注入精简版单次升级披露(read-only / danger-full-access pass)。若改走 upstream PR 路线,再落 `renderPolicyContext`(§4.2-1)。
|
|
164
|
+
- [ ] (可选)新增配置项 `discloseSandboxToModel`,默认保留当前披露、可选严格后知(§4.2-2)。
|
|
165
|
+
- [ ] 若做 unboxed ask preset:为 `ctx.approval.request()` 增加与沙箱无关的强制审批喂入方(按工具类/高危类),并配套文档说明 ask 只在有触发源时有意义(§4.2-3)。
|
|
166
|
+
- [ ] 文档化披露对称性原则(§4.3)为权限语义设计不变量。
|
|
167
|
+
- [ ] 将"双 knob 解耦(sandbox = enforcement,approval = decision,可组合不可推导)"写入项目约定(CONTEXT.md 或 ADR)。
|
|
168
|
+
|
|
169
|
+
## 7. 结论
|
|
170
|
+
|
|
171
|
+
语义缺口真实存在且可定位到具体代码行(`dsh-sandbox-policy/lib/index.js` 的 `renderPolicyContext`);修复方向明确——**用户可见、模型后知**:策略对用户透明,对模型不注入"不可变"先验,让 denial + escalation hint 在决策点完成升级教学。该改动不扩大攻击面(denial 拦截在执行前),不增加人工决策负担(审批通道已存在),只消除"模型连试都不敢试"的死锁。
|