dsh-plugin-guide 0.3.41 → 0.4.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/LICENSE +0 -0
- package/NOTICE.md +8 -23
- package/PRIVACY.md +11 -0
- package/README-zh.md +45 -418
- package/README.md +50 -435
- package/SKILL.md +41 -99
- package/STANDARDS.md +14 -5
- package/cordis.patch.yml +0 -0
- package/docs/boost.md +75 -0
- package/docs/entry.md +60 -0
- package/docs/flow.md +57 -0
- package/docs/levels.md +76 -0
- package/icon.svg +0 -0
- package/index.js +7 -24
- package/locale/en.json +2 -2
- package/locale/zh.json +2 -2
- package/package.json +29 -78
- package/README-es.md +0 -453
- package/README-hi.md +0 -453
- package/README-pt.md +0 -453
- package/bin/dsh-plugin-dev.js +0 -6
- package/data/facts.json +0 -66
- package/data/seams/index.json +0 -397
- package/data/standards.json +0 -300
- package/dist/dsh-plugin-dev.js +0 -2261
- package/guide/choosing-a-plugin.md +0 -412
- package/guide/choosing-a-plugin.zh-CN.md +0 -414
- package/guide/family-toolchain.md +0 -260
- package/guide/links.md +0 -112
- package/guide/migration-0.2.md +0 -275
- package/guide/plugin-dev-guide.md +0 -629
- package/guide/quick-reference.es.md +0 -185
- package/guide/quick-reference.hi.md +0 -185
- package/guide/quick-reference.md +0 -185
- package/guide/quick-reference.pt.md +0 -185
- package/guide/quick-reference.zh-CN.md +0 -184
- package/guide/release-engineering.md +0 -198
- package/guide/release-engineering.zh-CN.md +0 -198
- package/guide/standards.md +0 -141
- package/guide/standards.zh-CN.md +0 -141
- package/guide/unfixed-issues.md +0 -155
- package/guide/version-matrix.md +0 -309
- package/guide/when-to-retire-a-plugin.md +0 -127
- package/guide/when-to-retire-a-plugin.zh-CN.md +0 -127
- package/index.d.ts +0 -32
- package/references/cli-positioning-decision.md +0 -78
- package/references/community-ecosystem.md +0 -202
- package/references/community-repo-deep-dive.md +0 -660
- package/references/cordis-paper-and-community.md +0 -326
- package/references/dev-resource-landscape.md +0 -294
- package/references/harness-repo.md +0 -673
- package/references/mirror-scope-decision.md +0 -79
- package/references/official-docs/AGENTS.md +0 -185
- package/references/official-docs/BENCHMARK.md +0 -3
- package/references/official-docs/CLAUDE.md +0 -1
- package/references/official-docs/CONTRIBUTING.i18n.yaml +0 -7
- package/references/official-docs/CONTRIBUTING.md +0 -23
- package/references/official-docs/CONTRIBUTING.zh.md +0 -23
- package/references/official-docs/LICENSE +0 -21
- package/references/official-docs/README.i18n.yaml +0 -34
- package/references/official-docs/README.md +0 -35
- package/references/official-docs/README.zh.md +0 -96
- package/references/official-docs/SNAPSHOT.md +0 -14
- package/references/official-docs/THIRD_PARTY_NOTICES.md +0 -304
- package/references/official-docs/docs/AGENTS.md +0 -77
- package/references/official-docs/docs/agent-lifecycle.i18n.yaml +0 -10
- package/references/official-docs/docs/agent-lifecycle.md +0 -91
- package/references/official-docs/docs/agent-lifecycle.zh.md +0 -93
- package/references/official-docs/docs/api-gateway.i18n.yaml +0 -31
- package/references/official-docs/docs/api-gateway.md +0 -172
- package/references/official-docs/docs/api-gateway.zh.md +0 -178
- package/references/official-docs/docs/architecture.i18n.yaml +0 -37
- package/references/official-docs/docs/architecture.md +0 -165
- package/references/official-docs/docs/architecture.zh.md +0 -169
- package/references/official-docs/docs/capability-seams.i18n.yaml +0 -10
- package/references/official-docs/docs/capability-seams.md +0 -714
- package/references/official-docs/docs/capability-seams.zh.md +0 -716
- package/references/official-docs/docs/cli-help.i18n.yaml +0 -34
- package/references/official-docs/docs/cli-help.md +0 -203
- package/references/official-docs/docs/cli-help.zh.md +0 -205
- package/references/official-docs/docs/config-catalog.i18n.yaml +0 -19
- package/references/official-docs/docs/config-catalog.md +0 -4801
- package/references/official-docs/docs/config-catalog.zh.md +0 -4803
- package/references/official-docs/docs/cookbook/adding-a-package.i18n.yaml +0 -28
- package/references/official-docs/docs/cookbook/adding-a-package.md +0 -170
- package/references/official-docs/docs/cookbook/adding-a-package.zh.md +0 -170
- package/references/official-docs/docs/cookbook/adding-a-plugin-preview.i18n.yaml +0 -22
- package/references/official-docs/docs/cookbook/adding-a-plugin-preview.md +0 -52
- package/references/official-docs/docs/cookbook/adding-a-plugin-preview.zh.md +0 -52
- package/references/official-docs/docs/cookbook/adding-a-remote-api.i18n.yaml +0 -25
- package/references/official-docs/docs/cookbook/adding-a-remote-api.md +0 -197
- package/references/official-docs/docs/cookbook/adding-a-remote-api.zh.md +0 -197
- package/references/official-docs/docs/cookbook/adding-a-session-format-version.i18n.yaml +0 -40
- package/references/official-docs/docs/cookbook/adding-a-session-format-version.md +0 -153
- package/references/official-docs/docs/cookbook/adding-a-session-format-version.zh.md +0 -153
- package/references/official-docs/docs/cookbook/adding-a-settings-card.i18n.yaml +0 -22
- package/references/official-docs/docs/cookbook/adding-a-settings-card.md +0 -72
- package/references/official-docs/docs/cookbook/adding-a-settings-card.zh.md +0 -72
- package/references/official-docs/docs/cookbook/adding-a-tool.i18n.yaml +0 -31
- package/references/official-docs/docs/cookbook/adding-a-tool.md +0 -101
- package/references/official-docs/docs/cookbook/adding-a-tool.zh.md +0 -103
- package/references/official-docs/docs/cookbook/adding-a-vendored-package.i18n.yaml +0 -19
- package/references/official-docs/docs/cookbook/adding-a-vendored-package.md +0 -59
- package/references/official-docs/docs/cookbook/adding-a-vendored-package.zh.md +0 -59
- package/references/official-docs/docs/cookbook/adding-an-llm-adapter.i18n.yaml +0 -19
- package/references/official-docs/docs/cookbook/adding-an-llm-adapter.md +0 -43
- package/references/official-docs/docs/cookbook/adding-an-llm-adapter.zh.md +0 -43
- package/references/official-docs/docs/cookbook/extension-cookbook.i18n.yaml +0 -25
- package/references/official-docs/docs/cookbook/extension-cookbook.md +0 -132
- package/references/official-docs/docs/cookbook/extension-cookbook.zh.md +0 -136
- package/references/official-docs/docs/cookbook/maintaining-dsh-code-review.i18n.yaml +0 -22
- package/references/official-docs/docs/cookbook/maintaining-dsh-code-review.md +0 -64
- package/references/official-docs/docs/cookbook/maintaining-dsh-code-review.zh.md +0 -64
- package/references/official-docs/docs/cookbook/responding-to-pr-review-on-a-stack.i18n.yaml +0 -16
- package/references/official-docs/docs/cookbook/responding-to-pr-review-on-a-stack.md +0 -32
- package/references/official-docs/docs/cookbook/responding-to-pr-review-on-a-stack.zh.md +0 -32
- package/references/official-docs/docs/cookbook/reviewing-persistence-type-changes.i18n.yaml +0 -31
- package/references/official-docs/docs/cookbook/reviewing-persistence-type-changes.md +0 -122
- package/references/official-docs/docs/cookbook/reviewing-persistence-type-changes.zh.md +0 -122
- package/references/official-docs/docs/cordis-api/context.i18n.yaml +0 -73
- package/references/official-docs/docs/cordis-api/context.md +0 -364
- package/references/official-docs/docs/cordis-api/context.zh.md +0 -366
- package/references/official-docs/docs/cordis-api/events.i18n.yaml +0 -37
- package/references/official-docs/docs/cordis-api/events.md +0 -207
- package/references/official-docs/docs/cordis-api/events.zh.md +0 -209
- package/references/official-docs/docs/cordis-api/fiber.i18n.yaml +0 -76
- package/references/official-docs/docs/cordis-api/fiber.md +0 -375
- package/references/official-docs/docs/cordis-api/fiber.zh.md +0 -377
- package/references/official-docs/docs/cordis-api/inherited.md +0 -38
- package/references/official-docs/docs/cordis-api/registry.i18n.yaml +0 -22
- package/references/official-docs/docs/cordis-api/registry.md +0 -152
- package/references/official-docs/docs/cordis-api/registry.zh.md +0 -154
- package/references/official-docs/docs/cordis-api/service.i18n.yaml +0 -37
- package/references/official-docs/docs/cordis-api/service.md +0 -102
- package/references/official-docs/docs/cordis-api/service.zh.md +0 -104
- package/references/official-docs/docs/cordis-primer.i18n.yaml +0 -22
- package/references/official-docs/docs/cordis-primer.md +0 -45
- package/references/official-docs/docs/cordis-primer.zh.md +0 -51
- package/references/official-docs/docs/cordis-tutorial/01-first-plugin.i18n.yaml +0 -22
- package/references/official-docs/docs/cordis-tutorial/01-first-plugin.md +0 -95
- package/references/official-docs/docs/cordis-tutorial/01-first-plugin.zh.md +0 -95
- package/references/official-docs/docs/cordis-tutorial/02-lifecycle-and-effects.i18n.yaml +0 -16
- package/references/official-docs/docs/cordis-tutorial/02-lifecycle-and-effects.md +0 -98
- package/references/official-docs/docs/cordis-tutorial/02-lifecycle-and-effects.zh.md +0 -98
- package/references/official-docs/docs/cordis-tutorial/03-services.i18n.yaml +0 -22
- package/references/official-docs/docs/cordis-tutorial/03-services.md +0 -98
- package/references/official-docs/docs/cordis-tutorial/03-services.zh.md +0 -98
- package/references/official-docs/docs/cordis-tutorial/04-events.i18n.yaml +0 -16
- package/references/official-docs/docs/cordis-tutorial/04-events.md +0 -144
- package/references/official-docs/docs/cordis-tutorial/04-events.zh.md +0 -144
- package/references/official-docs/docs/cordis-tutorial/05-config.i18n.yaml +0 -19
- package/references/official-docs/docs/cordis-tutorial/05-config.md +0 -111
- package/references/official-docs/docs/cordis-tutorial/05-config.zh.md +0 -111
- package/references/official-docs/docs/cordis-tutorial/06-composition-and-hmr.i18n.yaml +0 -16
- package/references/official-docs/docs/cordis-tutorial/06-composition-and-hmr.md +0 -113
- package/references/official-docs/docs/cordis-tutorial/06-composition-and-hmr.zh.md +0 -113
- package/references/official-docs/docs/cordis-tutorial/07-into-the-harness.i18n.yaml +0 -19
- package/references/official-docs/docs/cordis-tutorial/07-into-the-harness.md +0 -108
- package/references/official-docs/docs/cordis-tutorial/07-into-the-harness.zh.md +0 -108
- package/references/official-docs/docs/cordis-tutorial/index.i18n.yaml +0 -16
- package/references/official-docs/docs/cordis-tutorial/index.md +0 -60
- package/references/official-docs/docs/cordis-tutorial/index.zh.md +0 -62
- package/references/official-docs/docs/deepseek-llm-api-wire-extensions.i18n.yaml +0 -34
- package/references/official-docs/docs/deepseek-llm-api-wire-extensions.md +0 -162
- package/references/official-docs/docs/deepseek-llm-api-wire-extensions.zh.md +0 -162
- package/references/official-docs/docs/defensive-patterns/README.i18n.yaml +0 -10
- package/references/official-docs/docs/defensive-patterns/README.md +0 -25
- package/references/official-docs/docs/defensive-patterns/README.zh.md +0 -27
- package/references/official-docs/docs/defensive-patterns/client-components.i18n.yaml +0 -46
- package/references/official-docs/docs/defensive-patterns/client-components.md +0 -493
- package/references/official-docs/docs/defensive-patterns/client-components.zh.md +0 -495
- package/references/official-docs/docs/defensive-patterns/conversation-and-session.i18n.yaml +0 -31
- package/references/official-docs/docs/defensive-patterns/conversation-and-session.md +0 -316
- package/references/official-docs/docs/defensive-patterns/conversation-and-session.zh.md +0 -316
- package/references/official-docs/docs/defensive-patterns/general.i18n.yaml +0 -52
- package/references/official-docs/docs/defensive-patterns/general.md +0 -222
- package/references/official-docs/docs/defensive-patterns/general.zh.md +0 -252
- package/references/official-docs/docs/defensive-patterns/package-surface.i18n.yaml +0 -28
- package/references/official-docs/docs/defensive-patterns/package-surface.md +0 -231
- package/references/official-docs/docs/defensive-patterns/package-surface.zh.md +0 -231
- package/references/official-docs/docs/defensive-patterns/remote-and-api.i18n.yaml +0 -16
- package/references/official-docs/docs/defensive-patterns/remote-and-api.md +0 -115
- package/references/official-docs/docs/defensive-patterns/remote-and-api.zh.md +0 -115
- package/references/official-docs/docs/dependency-catalog.json +0 -7312
- package/references/official-docs/docs/development.i18n.yaml +0 -49
- package/references/official-docs/docs/development.md +0 -214
- package/references/official-docs/docs/development.zh.md +0 -221
- package/references/official-docs/docs/event-producer-consumer.i18n.yaml +0 -13
- package/references/official-docs/docs/event-producer-consumer.md +0 -110
- package/references/official-docs/docs/event-producer-consumer.zh.md +0 -112
- package/references/official-docs/docs/experimental-persistence-catalog.i18n.yaml +0 -10
- package/references/official-docs/docs/experimental-persistence-catalog.md +0 -17
- package/references/official-docs/docs/experimental-persistence-catalog.zh.md +0 -17
- package/references/official-docs/docs/glossary.i18n.yaml +0 -25
- package/references/official-docs/docs/glossary.md +0 -46
- package/references/official-docs/docs/glossary.zh.md +0 -46
- package/references/official-docs/docs/graph-atlas.i18n.yaml +0 -10
- package/references/official-docs/docs/graph-atlas.md +0 -22
- package/references/official-docs/docs/graph-atlas.zh.md +0 -24
- package/references/official-docs/docs/i18n/README.i18n.yaml +0 -19
- package/references/official-docs/docs/i18n/README.md +0 -69
- package/references/official-docs/docs/i18n/README.zh.md +0 -71
- package/references/official-docs/docs/i18n/style-samples.md +0 -87
- package/references/official-docs/docs/i18n/terminology.md +0 -215
- package/references/official-docs/docs/i18n/translation-prompt.md +0 -263
- package/references/official-docs/docs/i18n/translation-rules.i18n.yaml +0 -28
- package/references/official-docs/docs/i18n/translation-rules.md +0 -69
- package/references/official-docs/docs/i18n/translation-rules.zh.md +0 -69
- package/references/official-docs/docs/module-graph.i18n.yaml +0 -10
- package/references/official-docs/docs/module-graph.md +0 -1776
- package/references/official-docs/docs/module-graph.zh.md +0 -1778
- package/references/official-docs/docs/persistence-catalog.i18n.yaml +0 -2152
- package/references/official-docs/docs/persistence-catalog.md +0 -9140
- package/references/official-docs/docs/persistence-catalog.zh.md +0 -9142
- package/references/official-docs/docs/persistence-changes/2026-09-11-initial.i18n.yaml +0 -28
- package/references/official-docs/docs/persistence-changes/2026-09-11-initial.md +0 -280
- package/references/official-docs/docs/persistence-changes/2026-09-11-initial.schema.json +0 -13557
- package/references/official-docs/docs/persistence-changes/2026-09-11-initial.zh.md +0 -280
- package/references/official-docs/docs/persistence-changes/2026-09-12-auto-review-error-metadata.i18n.yaml +0 -28
- package/references/official-docs/docs/persistence-changes/2026-09-12-auto-review-error-metadata.md +0 -52
- package/references/official-docs/docs/persistence-changes/2026-09-12-auto-review-error-metadata.schema.json +0 -910
- package/references/official-docs/docs/persistence-changes/2026-09-12-auto-review-error-metadata.zh.md +0 -52
- package/references/official-docs/docs/persistence-changes/2026-09-13-working-directory.i18n.yaml +0 -28
- package/references/official-docs/docs/persistence-changes/2026-09-13-working-directory.md +0 -48
- package/references/official-docs/docs/persistence-changes/2026-09-13-working-directory.schema.json +0 -76
- package/references/official-docs/docs/persistence-changes/2026-09-13-working-directory.zh.md +0 -48
- package/references/official-docs/docs/persistence-changes/2026-09-14-image-offload.i18n.yaml +0 -28
- package/references/official-docs/docs/persistence-changes/2026-09-14-image-offload.md +0 -96
- package/references/official-docs/docs/persistence-changes/2026-09-14-image-offload.schema.json +0 -8478
- package/references/official-docs/docs/persistence-changes/2026-09-14-image-offload.zh.md +0 -96
- package/references/official-docs/docs/persistence-changes/2026-09-14-workspace-changes-event.i18n.yaml +0 -28
- package/references/official-docs/docs/persistence-changes/2026-09-14-workspace-changes-event.md +0 -48
- package/references/official-docs/docs/persistence-changes/2026-09-14-workspace-changes-event.schema.json +0 -72
- package/references/official-docs/docs/persistence-changes/2026-09-14-workspace-changes-event.zh.md +0 -48
- package/references/official-docs/docs/persistence-changes/2026-09-16-session-format-v4.i18n.yaml +0 -28
- package/references/official-docs/docs/persistence-changes/2026-09-16-session-format-v4.md +0 -120
- package/references/official-docs/docs/persistence-changes/2026-09-16-session-format-v4.schema.json +0 -16212
- package/references/official-docs/docs/persistence-changes/2026-09-16-session-format-v4.zh.md +0 -120
- package/references/official-docs/docs/persistence-changes/2026-09-18-schedule-optional-title.i18n.yaml +0 -28
- package/references/official-docs/docs/persistence-changes/2026-09-18-schedule-optional-title.md +0 -48
- package/references/official-docs/docs/persistence-changes/2026-09-18-schedule-optional-title.schema.json +0 -302
- package/references/official-docs/docs/persistence-changes/2026-09-18-schedule-optional-title.zh.md +0 -48
- package/references/official-docs/docs/persistence-changes/2026-09-19-external-subagent-catalog.i18n.yaml +0 -28
- package/references/official-docs/docs/persistence-changes/2026-09-19-external-subagent-catalog.md +0 -48
- package/references/official-docs/docs/persistence-changes/2026-09-19-external-subagent-catalog.schema.json +0 -290
- package/references/official-docs/docs/persistence-changes/2026-09-19-external-subagent-catalog.zh.md +0 -48
- package/references/official-docs/docs/persistence-changes/2026-09-20-unknown-child-catalog.i18n.yaml +0 -28
- package/references/official-docs/docs/persistence-changes/2026-09-20-unknown-child-catalog.md +0 -48
- package/references/official-docs/docs/persistence-changes/2026-09-20-unknown-child-catalog.schema.json +0 -250
- package/references/official-docs/docs/persistence-changes/2026-09-20-unknown-child-catalog.zh.md +0 -48
- package/references/official-docs/docs/persistence-changes/2026-09-21-user-question-reply.i18n.yaml +0 -28
- package/references/official-docs/docs/persistence-changes/2026-09-21-user-question-reply.md +0 -60
- package/references/official-docs/docs/persistence-changes/2026-09-21-user-question-reply.schema.json +0 -11405
- package/references/official-docs/docs/persistence-changes/2026-09-21-user-question-reply.zh.md +0 -60
- package/references/official-docs/docs/persistence-changes/2026-09-30-job-session-lifecycle.i18n.yaml +0 -28
- package/references/official-docs/docs/persistence-changes/2026-09-30-job-session-lifecycle.md +0 -52
- package/references/official-docs/docs/persistence-changes/2026-09-30-job-session-lifecycle.schema.json +0 -297
- package/references/official-docs/docs/persistence-changes/2026-09-30-job-session-lifecycle.zh.md +0 -52
- package/references/official-docs/docs/persistence-changes/2026-10-05-ptc-operation-metadata.i18n.yaml +0 -28
- package/references/official-docs/docs/persistence-changes/2026-10-05-ptc-operation-metadata.md +0 -48
- package/references/official-docs/docs/persistence-changes/2026-10-05-ptc-operation-metadata.schema.json +0 -457
- package/references/official-docs/docs/persistence-changes/2026-10-05-ptc-operation-metadata.zh.md +0 -48
- package/references/official-docs/docs/persistence-changes/2026-10-05-working-directory-attribution.i18n.yaml +0 -28
- package/references/official-docs/docs/persistence-changes/2026-10-05-working-directory-attribution.md +0 -60
- package/references/official-docs/docs/persistence-changes/2026-10-05-working-directory-attribution.schema.json +0 -11474
- package/references/official-docs/docs/persistence-changes/2026-10-05-working-directory-attribution.zh.md +0 -60
- package/references/official-docs/docs/persistence-changes/2026-10-07-title-reasoning-effort.i18n.yaml +0 -28
- package/references/official-docs/docs/persistence-changes/2026-10-07-title-reasoning-effort.md +0 -48
- package/references/official-docs/docs/persistence-changes/2026-10-07-title-reasoning-effort.schema.json +0 -2990
- package/references/official-docs/docs/persistence-changes/2026-10-07-title-reasoning-effort.zh.md +0 -48
- package/references/official-docs/docs/persistence-changes/2026-10-13-deepseek-search-thinking.i18n.yaml +0 -28
- package/references/official-docs/docs/persistence-changes/2026-10-13-deepseek-search-thinking.md +0 -48
- package/references/official-docs/docs/persistence-changes/2026-10-13-deepseek-search-thinking.schema.json +0 -231
- package/references/official-docs/docs/persistence-changes/2026-10-13-deepseek-search-thinking.zh.md +0 -48
- package/references/official-docs/docs/persistence-changes/2026-10-13-user-rpc-principal.i18n.yaml +0 -28
- package/references/official-docs/docs/persistence-changes/2026-10-13-user-rpc-principal.md +0 -60
- package/references/official-docs/docs/persistence-changes/2026-10-13-user-rpc-principal.schema.json +0 -11559
- package/references/official-docs/docs/persistence-changes/2026-10-13-user-rpc-principal.zh.md +0 -60
- package/references/official-docs/docs/persistence-changes/README.i18n.yaml +0 -28
- package/references/official-docs/docs/persistence-changes/README.md +0 -90
- package/references/official-docs/docs/persistence-changes/README.zh.md +0 -90
- package/references/official-docs/docs/persistence-changes/finalized/v4.json +0 -379
- package/references/official-docs/docs/persistence-changes/historical-formats/README.i18n.yaml +0 -28
- package/references/official-docs/docs/persistence-changes/historical-formats/README.md +0 -75
- package/references/official-docs/docs/persistence-changes/historical-formats/README.zh.md +0 -75
- package/references/official-docs/docs/persistence-changes/historical-formats/v0.i18n.yaml +0 -1285
- package/references/official-docs/docs/persistence-changes/historical-formats/v0.md +0 -5105
- package/references/official-docs/docs/persistence-changes/historical-formats/v0.schema.json +0 -49308
- package/references/official-docs/docs/persistence-changes/historical-formats/v0.zh.md +0 -5105
- package/references/official-docs/docs/persistence-changes/historical-formats/v1.i18n.yaml +0 -1285
- package/references/official-docs/docs/persistence-changes/historical-formats/v1.md +0 -5107
- package/references/official-docs/docs/persistence-changes/historical-formats/v1.schema.json +0 -49411
- package/references/official-docs/docs/persistence-changes/historical-formats/v1.zh.md +0 -5107
- package/references/official-docs/docs/persistence-changes/historical-formats/v2.i18n.yaml +0 -1345
- package/references/official-docs/docs/persistence-changes/historical-formats/v2.md +0 -5362
- package/references/official-docs/docs/persistence-changes/historical-formats/v2.schema.json +0 -56466
- package/references/official-docs/docs/persistence-changes/historical-formats/v2.zh.md +0 -5362
- package/references/official-docs/docs/persistence-changes/historical-formats/v3.i18n.yaml +0 -1441
- package/references/official-docs/docs/persistence-changes/historical-formats/v3.md +0 -5634
- package/references/official-docs/docs/persistence-changes/historical-formats/v3.schema.json +0 -61307
- package/references/official-docs/docs/persistence-changes/historical-formats/v3.zh.md +0 -5634
- package/references/official-docs/docs/persistence-changes/releases/README.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/README.md +0 -103
- package/references/official-docs/docs/persistence-changes/releases/README.zh.md +0 -103
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.1.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.1.md +0 -201
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.1.schema.json +0 -39868
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.1.zh.md +0 -201
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.2.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.2.md +0 -261
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.2.schema.json +0 -43342
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.2.zh.md +0 -261
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.3.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.3.md +0 -126
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.3.schema.json +0 -19452
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.3.zh.md +0 -126
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.4.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.4.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.4.schema.json +0 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.4.zh.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.5.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.5.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.5.schema.json +0 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.5.zh.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.1.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.1.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.1.schema.json +0 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.1.zh.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.2.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.2.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.2.schema.json +0 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.2.zh.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.3.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.3.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.3.schema.json +0 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.3.zh.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.5.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.5.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.5.schema.json +0 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.5.zh.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.6.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.6.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.6.schema.json +0 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.6.zh.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.7.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.7.md +0 -82
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.7.schema.json +0 -5320
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.7.zh.md +0 -82
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.8.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.8.md +0 -110
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.8.schema.json +0 -21258
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.8.zh.md +0 -110
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.1.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.1.md +0 -82
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.1.schema.json +0 -417
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.1.zh.md +0 -82
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.2.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.2.md +0 -119
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.2.schema.json +0 -29672
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.2.zh.md +0 -119
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.1.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.1.md +0 -295
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.1.schema.json +0 -48429
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.1.zh.md +0 -295
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.2.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.2.md +0 -286
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.2.schema.json +0 -49347
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.2.zh.md +0 -286
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.3.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.3.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.3.schema.json +0 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.3.zh.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.4.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.4.md +0 -95
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.4.schema.json +0 -17642
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.4.zh.md +0 -95
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.5.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.5.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.5.schema.json +0 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.5.zh.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-rc.1.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-rc.1.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-rc.1.schema.json +0 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-rc.1.zh.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.1.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.1.md +0 -154
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.1.schema.json +0 -38678
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.1.zh.md +0 -154
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.2.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.2.md +0 -86
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.2.schema.json +0 -783
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.2.zh.md +0 -86
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.1.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.1.md +0 -139
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.1.schema.json +0 -24597
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.1.zh.md +0 -139
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.2.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.2.md +0 -95
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.2.schema.json +0 -2132
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.2.zh.md +0 -95
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.1.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.1.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.1.schema.json +0 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.1.zh.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.2.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.2.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.2.schema.json +0 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.2.zh.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/manifest.json +0 -162
- package/references/official-docs/docs/persistence-schema.json +0 -26177
- package/references/official-docs/docs/postmortem/0001-acp-default-export-drops-inject.i18n.yaml +0 -34
- package/references/official-docs/docs/postmortem/0001-acp-default-export-drops-inject.md +0 -113
- package/references/official-docs/docs/postmortem/0001-acp-default-export-drops-inject.zh.md +0 -113
- package/references/official-docs/docs/postmortem/0002-js-expression-disabled-filesystem-tools.i18n.yaml +0 -28
- package/references/official-docs/docs/postmortem/0002-js-expression-disabled-filesystem-tools.md +0 -47
- package/references/official-docs/docs/postmortem/0002-js-expression-disabled-filesystem-tools.zh.md +0 -47
- package/references/official-docs/docs/postmortem/0003-web-agent-gui-feedback-loop.i18n.yaml +0 -28
- package/references/official-docs/docs/postmortem/0003-web-agent-gui-feedback-loop.md +0 -53
- package/references/official-docs/docs/postmortem/0003-web-agent-gui-feedback-loop.zh.md +0 -53
- package/references/official-docs/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.i18n.yaml +0 -28
- package/references/official-docs/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.md +0 -55
- package/references/official-docs/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.zh.md +0 -55
- package/references/official-docs/docs/postmortem/README.i18n.yaml +0 -7
- package/references/official-docs/docs/postmortem/README.md +0 -18
- package/references/official-docs/docs/postmortem/README.zh.md +0 -18
- package/references/official-docs/docs/rescope.i18n.yaml +0 -19
- package/references/official-docs/docs/rescope.md +0 -53
- package/references/official-docs/docs/rescope.zh.md +0 -53
- package/references/official-docs/docs/session-format-status.i18n.yaml +0 -28
- package/references/official-docs/docs/session-format-status.md +0 -63
- package/references/official-docs/docs/session-format-status.zh.md +0 -63
- package/references/official-docs/docs/subsystems/README.i18n.yaml +0 -7
- package/references/official-docs/docs/subsystems/README.md +0 -76
- package/references/official-docs/docs/subsystems/README.zh.md +0 -76
- package/references/official-docs/docs/subsystems/agent-team.i18n.yaml +0 -22
- package/references/official-docs/docs/subsystems/agent-team.md +0 -231
- package/references/official-docs/docs/subsystems/agent-team.zh.md +0 -231
- package/references/official-docs/docs/subsystems/approval.i18n.yaml +0 -19
- package/references/official-docs/docs/subsystems/approval.md +0 -170
- package/references/official-docs/docs/subsystems/approval.zh.md +0 -170
- package/references/official-docs/docs/subsystems/attachment.i18n.yaml +0 -13
- package/references/official-docs/docs/subsystems/attachment.md +0 -361
- package/references/official-docs/docs/subsystems/attachment.zh.md +0 -361
- package/references/official-docs/docs/subsystems/boot.i18n.yaml +0 -16
- package/references/official-docs/docs/subsystems/boot.md +0 -447
- package/references/official-docs/docs/subsystems/boot.zh.md +0 -447
- package/references/official-docs/docs/subsystems/browser-use.i18n.yaml +0 -19
- package/references/official-docs/docs/subsystems/browser-use.md +0 -67
- package/references/official-docs/docs/subsystems/browser-use.zh.md +0 -67
- package/references/official-docs/docs/subsystems/claude-code-mods.i18n.yaml +0 -28
- package/references/official-docs/docs/subsystems/claude-code-mods.md +0 -146
- package/references/official-docs/docs/subsystems/claude-code-mods.zh.md +0 -146
- package/references/official-docs/docs/subsystems/client-modules.i18n.yaml +0 -19
- package/references/official-docs/docs/subsystems/client-modules.md +0 -198
- package/references/official-docs/docs/subsystems/client-modules.zh.md +0 -198
- package/references/official-docs/docs/subsystems/client-resources.i18n.yaml +0 -22
- package/references/official-docs/docs/subsystems/client-resources.md +0 -92
- package/references/official-docs/docs/subsystems/client-resources.zh.md +0 -92
- package/references/official-docs/docs/subsystems/commands.i18n.yaml +0 -19
- package/references/official-docs/docs/subsystems/commands.md +0 -223
- package/references/official-docs/docs/subsystems/commands.zh.md +0 -223
- package/references/official-docs/docs/subsystems/compaction.i18n.yaml +0 -22
- package/references/official-docs/docs/subsystems/compaction.md +0 -284
- package/references/official-docs/docs/subsystems/compaction.zh.md +0 -284
- package/references/official-docs/docs/subsystems/computer-use.i18n.yaml +0 -16
- package/references/official-docs/docs/subsystems/computer-use.md +0 -59
- package/references/official-docs/docs/subsystems/computer-use.zh.md +0 -59
- package/references/official-docs/docs/subsystems/conversation.i18n.yaml +0 -31
- package/references/official-docs/docs/subsystems/conversation.md +0 -301
- package/references/official-docs/docs/subsystems/conversation.zh.md +0 -303
- package/references/official-docs/docs/subsystems/core.i18n.yaml +0 -37
- package/references/official-docs/docs/subsystems/core.md +0 -1113
- package/references/official-docs/docs/subsystems/core.zh.md +0 -1125
- package/references/official-docs/docs/subsystems/credentials.i18n.yaml +0 -25
- package/references/official-docs/docs/subsystems/credentials.md +0 -493
- package/references/official-docs/docs/subsystems/credentials.zh.md +0 -493
- package/references/official-docs/docs/subsystems/deliverables.i18n.yaml +0 -28
- package/references/official-docs/docs/subsystems/deliverables.md +0 -178
- package/references/official-docs/docs/subsystems/deliverables.zh.md +0 -178
- package/references/official-docs/docs/subsystems/extensions.i18n.yaml +0 -7
- package/references/official-docs/docs/subsystems/extensions.md +0 -384
- package/references/official-docs/docs/subsystems/extensions.zh.md +0 -384
- package/references/official-docs/docs/subsystems/feedback.i18n.yaml +0 -28
- package/references/official-docs/docs/subsystems/feedback.md +0 -400
- package/references/official-docs/docs/subsystems/feedback.zh.md +0 -400
- package/references/official-docs/docs/subsystems/filesystem.i18n.yaml +0 -34
- package/references/official-docs/docs/subsystems/filesystem.md +0 -530
- package/references/official-docs/docs/subsystems/filesystem.zh.md +0 -530
- package/references/official-docs/docs/subsystems/goal.i18n.yaml +0 -19
- package/references/official-docs/docs/subsystems/goal.md +0 -313
- package/references/official-docs/docs/subsystems/goal.zh.md +0 -313
- package/references/official-docs/docs/subsystems/jobs.i18n.yaml +0 -28
- package/references/official-docs/docs/subsystems/jobs.md +0 -554
- package/references/official-docs/docs/subsystems/jobs.zh.md +0 -554
- package/references/official-docs/docs/subsystems/llm-streaming.i18n.yaml +0 -49
- package/references/official-docs/docs/subsystems/llm-streaming.md +0 -1196
- package/references/official-docs/docs/subsystems/llm-streaming.zh.md +0 -1202
- package/references/official-docs/docs/subsystems/lsp.i18n.yaml +0 -19
- package/references/official-docs/docs/subsystems/lsp.md +0 -202
- package/references/official-docs/docs/subsystems/lsp.zh.md +0 -202
- package/references/official-docs/docs/subsystems/mcp.i18n.yaml +0 -34
- package/references/official-docs/docs/subsystems/mcp.md +0 -139
- package/references/official-docs/docs/subsystems/mcp.zh.md +0 -139
- package/references/official-docs/docs/subsystems/office-to-pdf.i18n.yaml +0 -19
- package/references/official-docs/docs/subsystems/office-to-pdf.md +0 -87
- package/references/official-docs/docs/subsystems/office-to-pdf.zh.md +0 -87
- package/references/official-docs/docs/subsystems/otel.i18n.yaml +0 -7
- package/references/official-docs/docs/subsystems/otel.md +0 -44
- package/references/official-docs/docs/subsystems/otel.zh.md +0 -44
- package/references/official-docs/docs/subsystems/permission-presets.i18n.yaml +0 -19
- package/references/official-docs/docs/subsystems/permission-presets.md +0 -167
- package/references/official-docs/docs/subsystems/permission-presets.zh.md +0 -167
- package/references/official-docs/docs/subsystems/persistence.i18n.yaml +0 -37
- package/references/official-docs/docs/subsystems/persistence.md +0 -418
- package/references/official-docs/docs/subsystems/persistence.zh.md +0 -418
- package/references/official-docs/docs/subsystems/plan.i18n.yaml +0 -22
- package/references/official-docs/docs/subsystems/plan.md +0 -87
- package/references/official-docs/docs/subsystems/plan.zh.md +0 -87
- package/references/official-docs/docs/subsystems/product-telemetry.i18n.yaml +0 -10
- package/references/official-docs/docs/subsystems/product-telemetry.md +0 -81
- package/references/official-docs/docs/subsystems/product-telemetry.zh.md +0 -81
- package/references/official-docs/docs/subsystems/ptc-runtime.i18n.yaml +0 -19
- package/references/official-docs/docs/subsystems/ptc-runtime.md +0 -250
- package/references/official-docs/docs/subsystems/ptc-runtime.zh.md +0 -250
- package/references/official-docs/docs/subsystems/sandbox.i18n.yaml +0 -19
- package/references/official-docs/docs/subsystems/sandbox.md +0 -221
- package/references/official-docs/docs/subsystems/sandbox.zh.md +0 -221
- package/references/official-docs/docs/subsystems/schedule.i18n.yaml +0 -40
- package/references/official-docs/docs/subsystems/schedule.md +0 -550
- package/references/official-docs/docs/subsystems/schedule.zh.md +0 -550
- package/references/official-docs/docs/subsystems/scope.i18n.yaml +0 -16
- package/references/official-docs/docs/subsystems/scope.md +0 -59
- package/references/official-docs/docs/subsystems/scope.zh.md +0 -61
- package/references/official-docs/docs/subsystems/session-projection.i18n.yaml +0 -16
- package/references/official-docs/docs/subsystems/session-projection.md +0 -356
- package/references/official-docs/docs/subsystems/session-projection.zh.md +0 -356
- package/references/official-docs/docs/subsystems/session-query.i18n.yaml +0 -28
- package/references/official-docs/docs/subsystems/session-query.md +0 -511
- package/references/official-docs/docs/subsystems/session-query.zh.md +0 -511
- package/references/official-docs/docs/subsystems/session-reference.i18n.yaml +0 -19
- package/references/official-docs/docs/subsystems/session-reference.md +0 -224
- package/references/official-docs/docs/subsystems/session-reference.zh.md +0 -224
- package/references/official-docs/docs/subsystems/session-telemetry.i18n.yaml +0 -22
- package/references/official-docs/docs/subsystems/session-telemetry.md +0 -212
- package/references/official-docs/docs/subsystems/session-telemetry.zh.md +0 -212
- package/references/official-docs/docs/subsystems/session-title.i18n.yaml +0 -16
- package/references/official-docs/docs/subsystems/session-title.md +0 -213
- package/references/official-docs/docs/subsystems/session-title.zh.md +0 -213
- package/references/official-docs/docs/subsystems/session.i18n.yaml +0 -70
- package/references/official-docs/docs/subsystems/session.md +0 -1339
- package/references/official-docs/docs/subsystems/session.zh.md +0 -1343
- package/references/official-docs/docs/subsystems/settings.i18n.yaml +0 -13
- package/references/official-docs/docs/subsystems/settings.md +0 -155
- package/references/official-docs/docs/subsystems/settings.zh.md +0 -155
- package/references/official-docs/docs/subsystems/shell.i18n.yaml +0 -25
- package/references/official-docs/docs/subsystems/shell.md +0 -314
- package/references/official-docs/docs/subsystems/shell.zh.md +0 -314
- package/references/official-docs/docs/subsystems/sidebar-right.i18n.yaml +0 -37
- package/references/official-docs/docs/subsystems/sidebar-right.md +0 -160
- package/references/official-docs/docs/subsystems/sidebar-right.zh.md +0 -160
- package/references/official-docs/docs/subsystems/skills.i18n.yaml +0 -28
- package/references/official-docs/docs/subsystems/skills.md +0 -352
- package/references/official-docs/docs/subsystems/skills.zh.md +0 -352
- package/references/official-docs/docs/subsystems/slots.i18n.yaml +0 -28
- package/references/official-docs/docs/subsystems/slots.md +0 -200
- package/references/official-docs/docs/subsystems/slots.zh.md +0 -204
- package/references/official-docs/docs/subsystems/spill.i18n.yaml +0 -16
- package/references/official-docs/docs/subsystems/spill.md +0 -124
- package/references/official-docs/docs/subsystems/spill.zh.md +0 -124
- package/references/official-docs/docs/subsystems/ssh.i18n.yaml +0 -22
- package/references/official-docs/docs/subsystems/ssh.md +0 -146
- package/references/official-docs/docs/subsystems/ssh.zh.md +0 -146
- package/references/official-docs/docs/subsystems/storage.i18n.yaml +0 -25
- package/references/official-docs/docs/subsystems/storage.md +0 -259
- package/references/official-docs/docs/subsystems/storage.zh.md +0 -259
- package/references/official-docs/docs/subsystems/subagent.i18n.yaml +0 -28
- package/references/official-docs/docs/subsystems/subagent.md +0 -686
- package/references/official-docs/docs/subsystems/subagent.zh.md +0 -688
- package/references/official-docs/docs/subsystems/subprocess.i18n.yaml +0 -31
- package/references/official-docs/docs/subsystems/subprocess.md +0 -321
- package/references/official-docs/docs/subsystems/subprocess.zh.md +0 -321
- package/references/official-docs/docs/subsystems/system-prompt.i18n.yaml +0 -19
- package/references/official-docs/docs/subsystems/system-prompt.md +0 -254
- package/references/official-docs/docs/subsystems/system-prompt.zh.md +0 -254
- package/references/official-docs/docs/subsystems/terminal.i18n.yaml +0 -19
- package/references/official-docs/docs/subsystems/terminal.md +0 -184
- package/references/official-docs/docs/subsystems/terminal.zh.md +0 -184
- package/references/official-docs/docs/subsystems/todo.i18n.yaml +0 -13
- package/references/official-docs/docs/subsystems/todo.md +0 -32
- package/references/official-docs/docs/subsystems/todo.zh.md +0 -32
- package/references/official-docs/docs/subsystems/token-meter.i18n.yaml +0 -13
- package/references/official-docs/docs/subsystems/token-meter.md +0 -106
- package/references/official-docs/docs/subsystems/token-meter.zh.md +0 -106
- package/references/official-docs/docs/subsystems/tools.i18n.yaml +0 -25
- package/references/official-docs/docs/subsystems/tools.md +0 -747
- package/references/official-docs/docs/subsystems/tools.zh.md +0 -747
- package/references/official-docs/docs/subsystems/translation.i18n.yaml +0 -19
- package/references/official-docs/docs/subsystems/translation.md +0 -103
- package/references/official-docs/docs/subsystems/translation.zh.md +0 -103
- package/references/official-docs/docs/subsystems/typert.i18n.yaml +0 -25
- package/references/official-docs/docs/subsystems/typert.md +0 -690
- package/references/official-docs/docs/subsystems/typert.zh.md +0 -690
- package/references/official-docs/docs/subsystems/user-questions.i18n.yaml +0 -28
- package/references/official-docs/docs/subsystems/user-questions.md +0 -307
- package/references/official-docs/docs/subsystems/user-questions.zh.md +0 -307
- package/references/official-docs/docs/subsystems/voice-input.i18n.yaml +0 -19
- package/references/official-docs/docs/subsystems/voice-input.md +0 -164
- package/references/official-docs/docs/subsystems/voice-input.zh.md +0 -164
- package/references/official-docs/docs/subsystems/web-client.i18n.yaml +0 -37
- package/references/official-docs/docs/subsystems/web-client.md +0 -100
- package/references/official-docs/docs/subsystems/web-client.zh.md +0 -100
- package/references/official-docs/docs/subsystems/web-server.i18n.yaml +0 -16
- package/references/official-docs/docs/subsystems/web-server.md +0 -302
- package/references/official-docs/docs/subsystems/web-server.zh.md +0 -302
- package/references/official-docs/docs/subsystems/web.i18n.yaml +0 -28
- package/references/official-docs/docs/subsystems/web.md +0 -206
- package/references/official-docs/docs/subsystems/web.zh.md +0 -206
- package/references/official-docs/docs/subsystems/webhook.i18n.yaml +0 -19
- package/references/official-docs/docs/subsystems/webhook.md +0 -70
- package/references/official-docs/docs/subsystems/webhook.zh.md +0 -70
- package/references/official-docs/docs/subsystems/workflow.i18n.yaml +0 -28
- package/references/official-docs/docs/subsystems/workflow.md +0 -278
- package/references/official-docs/docs/subsystems/workflow.zh.md +0 -278
- package/references/official-docs/docs/subsystems/working-directory.i18n.yaml +0 -13
- package/references/official-docs/docs/subsystems/working-directory.md +0 -64
- package/references/official-docs/docs/subsystems/working-directory.zh.md +0 -64
- package/references/official-docs/docs/subsystems/workspace.i18n.yaml +0 -28
- package/references/official-docs/docs/subsystems/workspace.md +0 -647
- package/references/official-docs/docs/subsystems/workspace.zh.md +0 -647
- package/references/official-docs/docs/subsystems/worktrees.i18n.yaml +0 -13
- package/references/official-docs/docs/subsystems/worktrees.md +0 -76
- package/references/official-docs/docs/subsystems/worktrees.zh.md +0 -76
- package/references/official-docs/docs/testing.i18n.yaml +0 -34
- package/references/official-docs/docs/testing.md +0 -55
- package/references/official-docs/docs/testing.zh.md +0 -55
- package/references/official-docs/docs/tool-catalog.i18n.yaml +0 -331
- package/references/official-docs/docs/tool-catalog.md +0 -2824
- package/references/official-docs/docs/tool-catalog.zh.md +0 -2832
- package/references/official-docs/docs/tool-execution-pipeline.i18n.yaml +0 -10
- package/references/official-docs/docs/tool-execution-pipeline.md +0 -65
- package/references/official-docs/docs/tool-execution-pipeline.zh.md +0 -67
- package/references/official-docs/docs/ui-radius.i18n.yaml +0 -31
- package/references/official-docs/docs/ui-radius.md +0 -117
- package/references/official-docs/docs/ui-radius.zh.md +0 -117
- package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/schedule-optional-bundle/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/schedule-optional-bundle/guide.md +0 -22
- package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/schedule-optional-bundle/guide.zh.md +0 -22
- package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/transcript-view-legacy-normal/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/transcript-view-legacy-normal/guide.md +0 -25
- package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/transcript-view-legacy-normal/guide.zh.md +0 -25
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/account-sign-in-errors/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/account-sign-in-errors/guide.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/account-sign-in-errors/guide.zh.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/bundled-python-tests/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/bundled-python-tests/guide.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/bundled-python-tests/guide.zh.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/primary-runtime-python-aliases/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/primary-runtime-python-aliases/guide.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/primary-runtime-python-aliases/guide.zh.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/remove-runtime-invariants/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/remove-runtime-invariants/guide.md +0 -23
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/remove-runtime-invariants/guide.zh.md +0 -23
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/schedule-bundle-retired/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/schedule-bundle-retired/guide.md +0 -22
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/schedule-bundle-retired/guide.zh.md +0 -22
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/subpath-plugin-display-manifest/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/subpath-plugin-display-manifest/guide.md +0 -27
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/subpath-plugin-display-manifest/guide.zh.md +0 -27
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/deepseek-model-discovery/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/deepseek-model-discovery/guide.md +0 -17
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/deepseek-model-discovery/guide.zh.md +0 -17
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/desktop-test-auth-popup/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/desktop-test-auth-popup/guide.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/desktop-test-auth-popup/guide.zh.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/experimental-package-composition/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/experimental-package-composition/guide.md +0 -28
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/experimental-package-composition/guide.zh.md +0 -28
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/instruction-home-override/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/instruction-home-override/guide.md +0 -20
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/instruction-home-override/guide.zh.md +0 -20
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/job-id-identity/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/job-id-identity/guide.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/job-id-identity/guide.zh.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/jsonl-persistence-plugin/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/jsonl-persistence-plugin/guide.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/jsonl-persistence-plugin/guide.zh.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/mock-messages-events/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/mock-messages-events/guide.md +0 -17
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/mock-messages-events/guide.zh.md +0 -17
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/native-subagent-bundle-tools/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/native-subagent-bundle-tools/guide.md +0 -31
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/native-subagent-bundle-tools/guide.zh.md +0 -31
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/new-session-generations/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/new-session-generations/guide.md +0 -20
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/new-session-generations/guide.zh.md +0 -20
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/plugin-option-placement/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/plugin-option-placement/guide.md +0 -20
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/plugin-option-placement/guide.zh.md +0 -20
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/python-optional-resources/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/python-optional-resources/guide.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/python-optional-resources/guide.zh.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/python-ptc-sandbox/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/python-ptc-sandbox/guide.md +0 -21
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/python-ptc-sandbox/guide.zh.md +0 -21
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/session-title-adapters/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/session-title-adapters/guide.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/session-title-adapters/guide.zh.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/session-title-provider-strategy/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/session-title-provider-strategy/guide.md +0 -20
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/session-title-provider-strategy/guide.zh.md +0 -20
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/ssh-helper-launch/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/ssh-helper-launch/guide.md +0 -19
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/ssh-helper-launch/guide.zh.md +0 -19
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/subagent-activations/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/subagent-activations/guide.md +0 -59
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/subagent-activations/guide.zh.md +0 -59
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/subagent-preset-composition/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/subagent-preset-composition/guide.md +0 -21
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/subagent-preset-composition/guide.zh.md +0 -21
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/team-direct-inbox/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/team-direct-inbox/guide.md +0 -21
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/team-direct-inbox/guide.zh.md +0 -21
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/terminal-command-labels/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/terminal-command-labels/guide.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/terminal-command-labels/guide.zh.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/tool-presentation-mode/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/tool-presentation-mode/guide.md +0 -21
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/tool-presentation-mode/guide.zh.md +0 -21
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/web-listener-trust-config/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/web-listener-trust-config/guide.md +0 -36
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/web-listener-trust-config/guide.zh.md +0 -36
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/working-directory/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/working-directory/guide.md +0 -25
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/working-directory/guide.zh.md +0 -25
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-identity-watch/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-identity-watch/guide.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-identity-watch/guide.zh.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-model-catalog/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-model-catalog/guide.md +0 -27
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-model-catalog/guide.zh.md +0 -27
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/desktop-font-size-shortcuts/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/desktop-font-size-shortcuts/guide.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/desktop-font-size-shortcuts/guide.zh.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/from-default-profile-replaces-target/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/from-default-profile-replaces-target/guide.md +0 -20
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/from-default-profile-replaces-target/guide.zh.md +0 -20
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/operator-connect/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/operator-connect/guide.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/operator-connect/guide.zh.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-azure-provider/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-azure-provider/guide.md +0 -19
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-azure-provider/guide.zh.md +0 -19
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-model-discovery/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-model-discovery/guide.md +0 -17
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-model-discovery/guide.zh.md +0 -17
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/plugin-install-over-installed/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/plugin-install-over-installed/guide.md +0 -20
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/plugin-install-over-installed/guide.zh.md +0 -20
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/sdk-minimal-image-compaction/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/sdk-minimal-image-compaction/guide.md +0 -32
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/sdk-minimal-image-compaction/guide.zh.md +0 -32
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/stored-credentials-precedence/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/stored-credentials-precedence/guide.md +0 -25
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/stored-credentials-precedence/guide.zh.md +0 -25
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.3/plugin-engines-dsh/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.3/plugin-engines-dsh/guide.md +0 -21
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.3/plugin-engines-dsh/guide.zh.md +0 -21
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.4/account-notification-fields/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.4/account-notification-fields/guide.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.4/account-notification-fields/guide.zh.md +0 -18
- package/references/official-docs/docs/user/develop/basic/config.i18n.yaml +0 -28
- package/references/official-docs/docs/user/develop/basic/config.md +0 -106
- package/references/official-docs/docs/user/develop/basic/config.zh.md +0 -106
- package/references/official-docs/docs/user/develop/basic/index.i18n.yaml +0 -37
- package/references/official-docs/docs/user/develop/basic/index.md +0 -144
- package/references/official-docs/docs/user/develop/basic/index.zh.md +0 -144
- package/references/official-docs/docs/user/develop/basic/publish.i18n.yaml +0 -31
- package/references/official-docs/docs/user/develop/basic/publish.md +0 -191
- package/references/official-docs/docs/user/develop/basic/publish.zh.md +0 -191
- package/references/official-docs/docs/user/develop/basic/tool.i18n.yaml +0 -16
- package/references/official-docs/docs/user/develop/basic/tool.md +0 -52
- package/references/official-docs/docs/user/develop/basic/tool.zh.md +0 -52
- package/references/official-docs/docs/user/develop/framework/events.i18n.yaml +0 -46
- package/references/official-docs/docs/user/develop/framework/events.md +0 -143
- package/references/official-docs/docs/user/develop/framework/events.zh.md +0 -143
- package/references/official-docs/docs/user/develop/framework/index.i18n.yaml +0 -31
- package/references/official-docs/docs/user/develop/framework/index.md +0 -137
- package/references/official-docs/docs/user/develop/framework/index.zh.md +0 -137
- package/references/official-docs/docs/user/develop/framework/service.i18n.yaml +0 -40
- package/references/official-docs/docs/user/develop/framework/service.md +0 -148
- package/references/official-docs/docs/user/develop/framework/service.zh.md +0 -150
- package/references/official-docs/docs/user/develop/practice/dynamic-cordis.i18n.yaml +0 -10
- package/references/official-docs/docs/user/develop/practice/dynamic-cordis.md +0 -15
- package/references/official-docs/docs/user/develop/practice/dynamic-cordis.zh.md +0 -15
- package/references/official-docs/docs/user/develop/practice/index.i18n.yaml +0 -46
- package/references/official-docs/docs/user/develop/practice/index.md +0 -155
- package/references/official-docs/docs/user/develop/practice/index.zh.md +0 -155
- package/references/official-docs/docs/user/develop/practice/llm-adapter.i18n.yaml +0 -34
- package/references/official-docs/docs/user/develop/practice/llm-adapter.md +0 -189
- package/references/official-docs/docs/user/develop/practice/llm-adapter.zh.md +0 -189
- package/references/official-docs/docs/user/guide/github-review.i18n.yaml +0 -25
- package/references/official-docs/docs/user/guide/github-review.md +0 -99
- package/references/official-docs/docs/user/guide/github-review.zh.md +0 -99
- package/references/official-docs/docs/user/guide/index.i18n.yaml +0 -19
- package/references/official-docs/docs/user/guide/index.md +0 -31
- package/references/official-docs/docs/user/guide/index.zh.md +0 -31
- package/references/official-docs/docs/user/guide/mcp-memory.i18n.yaml +0 -37
- package/references/official-docs/docs/user/guide/mcp-memory.md +0 -101
- package/references/official-docs/docs/user/guide/mcp-memory.zh.md +0 -101
- package/references/official-docs/docs/user/guide/network-proxy.i18n.yaml +0 -25
- package/references/official-docs/docs/user/guide/network-proxy.md +0 -85
- package/references/official-docs/docs/user/guide/network-proxy.zh.md +0 -85
- package/references/official-docs/docs/user/guide/plugin-market.i18n.yaml +0 -34
- package/references/official-docs/docs/user/guide/plugin-market.md +0 -148
- package/references/official-docs/docs/user/guide/plugin-market.zh.md +0 -148
- package/references/official-docs/docs/user/guide/providers-custom-form.png +0 -0
- package/references/official-docs/docs/user/guide/providers-custom-form.zh.png +0 -0
- package/references/official-docs/docs/user/guide/providers-models-page.png +0 -0
- package/references/official-docs/docs/user/guide/providers-models-page.zh.png +0 -0
- package/references/official-docs/docs/user/guide/providers.i18n.yaml +0 -40
- package/references/official-docs/docs/user/guide/providers.md +0 -227
- package/references/official-docs/docs/user/guide/providers.zh.md +0 -227
- package/references/official-docs/docs/user/guide/public-deployments.i18n.yaml +0 -19
- package/references/official-docs/docs/user/guide/public-deployments.md +0 -37
- package/references/official-docs/docs/user/guide/public-deployments.zh.md +0 -37
- package/references/official-docs/docs/user/guide/python-sdk.i18n.yaml +0 -28
- package/references/official-docs/docs/user/guide/python-sdk.md +0 -185
- package/references/official-docs/docs/user/guide/python-sdk.zh.md +0 -185
- package/references/official-docs/docs/user/guide/schedule.i18n.yaml +0 -31
- package/references/official-docs/docs/user/guide/schedule.md +0 -79
- package/references/official-docs/docs/user/guide/schedule.zh.md +0 -79
- package/references/official-docs/docs/user/index.i18n.yaml +0 -10
- package/references/official-docs/docs/user/index.md +0 -11
- package/references/official-docs/docs/user/index.zh.md +0 -11
- package/references/official-docs/docs/web-styling.i18n.yaml +0 -19
- package/references/official-docs/docs/web-styling.md +0 -39
- package/references/official-docs/docs/web-styling.zh.md +0 -39
- package/references/official-docs/packages/AGENTS.md +0 -29
- package/references/official-docs/packages/README.md +0 -117
- package/references/official-docs/vendor/README.md +0 -73
- package/references/official-docs/website-docs.ts +0 -591
- package/references/official-plugin-dev-skill.md +0 -124
- package/references/sources.md +0 -143
- package/references/upstream-cordis.md +0 -594
- package/references/website-pages.md +0 -673
- package/scripts/archive-discussions.ps1 +0 -162
- package/scripts/build-llms-full.mjs +0 -73
- package/scripts/check-docs-drift-detail.mjs +0 -145
- package/scripts/check-docs-drift.ps1 +0 -55
- package/scripts/check-facts.mjs +0 -162
- package/scripts/check-ps1-bom.mjs +0 -68
- package/scripts/check-readme-parity.mjs +0 -149
- package/scripts/check-readme-sync.mjs +0 -96
- package/scripts/download-community-articles.ps1 +0 -188
- package/scripts/download-community-repos.ps1 +0 -232
- package/scripts/download-sources.ps1 +0 -195
- package/scripts/gen-topic-snapshot.ps1 +0 -91
- package/scripts/install-skill.ps1 +0 -63
- package/scripts/measure-mirror-references.mjs +0 -117
- package/scripts/sync-official-docs.ps1 +0 -138
- package/scripts/verify-artifacts.mjs +0 -145
- package/scripts/verify-kit.ps1 +0 -197
- package/templates/js/LICENSE +0 -15
- package/templates/js/README-es.md +0 -46
- package/templates/js/README-hi.md +0 -46
- package/templates/js/README-pt.md +0 -46
- package/templates/js/README-zh.md +0 -46
- package/templates/js/README.md +0 -46
- package/templates/js/cordis.patch.yml +0 -10
- package/templates/js/icon.svg +0 -4
- package/templates/js/index.js +0 -38
- package/templates/js/locale/en.json +0 -6
- package/templates/js/locale/zh.json +0 -6
- package/templates/js/package.json +0 -49
- package/templates/js/tests/index.test.js +0 -12
- package/templates/ts/LICENSE +0 -15
- package/templates/ts/README-es.md +0 -48
- package/templates/ts/README-hi.md +0 -48
- package/templates/ts/README-pt.md +0 -48
- package/templates/ts/README-zh.md +0 -48
- package/templates/ts/README.md +0 -48
- package/templates/ts/cordis.patch.yml +0 -10
- package/templates/ts/icon.svg +0 -4
- package/templates/ts/locale/en.json +0 -6
- package/templates/ts/locale/zh.json +0 -6
- package/templates/ts/package.json +0 -58
- package/templates/ts/src/config.ts +0 -12
- package/templates/ts/src/index.ts +0 -36
- package/templates/ts/tests/index.test.ts +0 -12
- package/templates/ts/tsconfig.json +0 -17
- package/templates/ts/tsdown.config.mjs +0 -21
- package/templates/ts/vitest.config.ts +0 -8
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
# Folha de consulta de plugins do DeepSeek Harness
|
|
2
|
-
|
|
3
|
-
> Referência rápida de uma página. Detalhes: [plugin-dev-guide.md](plugin-dev-guide.md) (chinês) e [references](../references/).
|
|
4
|
-
> Outros idiomas: [English](quick-reference.md) · [中文](quick-reference.zh-CN.md) · [Español](quick-reference.es.md) · [हिन्दी](quick-reference.hi.md)
|
|
5
|
-
|
|
6
|
-
## Esqueleto do plugin
|
|
7
|
-
|
|
8
|
-
```ts
|
|
9
|
-
import type { Context } from '@deepseek-ai/cordis'
|
|
10
|
-
import Schema from '@deepseek-ai/schemastery'
|
|
11
|
-
import { defineTool } from '@deepseek-ai/dsh-tools'
|
|
12
|
-
|
|
13
|
-
export const name = 'my-plugin' // obrigatório
|
|
14
|
-
export const inject = ['tools'] // serviços necessários; omita se não houver
|
|
15
|
-
|
|
16
|
-
export interface Config { limit: number }
|
|
17
|
-
export const Config: Schema<Config> = Schema.object({
|
|
18
|
-
limit: Schema.number().default(10), // schema Schemastery, não um objeto simples
|
|
19
|
-
})
|
|
20
|
-
|
|
21
|
-
export function apply(ctx: Context, config: Config) {
|
|
22
|
-
ctx.effect(() => { // registro = efeito, desfeito ao descarregar
|
|
23
|
-
const timer = setInterval(() => {}, 1000)
|
|
24
|
-
return () => clearInterval(timer)
|
|
25
|
-
})
|
|
26
|
-
ctx.on('tools/result', (exec, result) => { /* ... */ })
|
|
27
|
-
ctx.tools.register(defineTool({
|
|
28
|
-
name: 'my_tool',
|
|
29
|
-
description: '…',
|
|
30
|
-
parameters: { x: { type: 'string', required: true } },
|
|
31
|
-
output: { schema: { type: 'string' }, render: (_a, v) => [{ type: 'text', text: v }] },
|
|
32
|
-
async execute(args, exec) { return `hi ${args.x}` }, // respeite exec.signal
|
|
33
|
-
}))
|
|
34
|
-
}
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
Outras formas: objeto `export default { name, inject, apply }`; classe `class X extends Service { static inject=[...]; constructor(ctx){ super(ctx,'key') } }` (use ao fornecer um serviço).
|
|
38
|
-
|
|
39
|
-
## API principal do ctx (Cordis)
|
|
40
|
-
|
|
41
|
-
| Finalidade | API |
|
|
42
|
-
|---|---|
|
|
43
|
-
| Registrar recurso + limpeza | `ctx.effect(() => disposer)` |
|
|
44
|
-
| Ouvir eventos | `ctx.on(name, handler)` (limpeza automática) |
|
|
45
|
-
| Transmissão / sem retorno | `ctx.emit(name, payload)` |
|
|
46
|
-
| Valor com curto-circuito | `ctx.bail(name, input)` (o primeiro não-null/false/undefined vence) |
|
|
47
|
-
| Valor ordenado | `await ctx.serial(name, input)` |
|
|
48
|
-
| Pipeline | `await ctx.waterfall(name, input, init)`; listeners **devem chamar `next()`** |
|
|
49
|
-
| Contextos filhos | `ctx.extend(meta)` / `ctx.isolate(name, label?)` / `ctx.intercept(name, config)` |
|
|
50
|
-
| Montar plugin filho | `ctx.plugin(plugin)` → Fiber; `await fiber.dispose()` |
|
|
51
|
-
| Consulta de serviço opcional | `ctx.get('metrics')?.x()` |
|
|
52
|
-
| Logging | `ctx.logger(name)` |
|
|
53
|
-
|
|
54
|
-
Ciclo de vida: `PENDING → LOADING → ACTIVE` (apply lança erro → FAILED); `ACTIVE → UNLOADING → DISPOSED`. Se um serviço necessário desaparece, o plugin descarrega; recarrega quando o serviço volta.
|
|
55
|
-
|
|
56
|
-
## Modos de despacho de eventos (cinco, incluindo bail)
|
|
57
|
-
|
|
58
|
-
| Modo | await | Ordem | Valor de retorno |
|
|
59
|
-
|---|---|---|---|
|
|
60
|
-
| emit | não | ordem de registro | nenhum |
|
|
61
|
-
| waterfall | não | ordem de registro | sim (**não chamar `next()` causa curto-circuito**) |
|
|
62
|
-
| parallel | sim | paralelo | nenhum |
|
|
63
|
-
| serial | sim | ordem de registro | sim (o primeiro não vazio para) |
|
|
64
|
-
| bail | não | ordem de registro | sim (o primeiro não null/false/undefined curto-circuita e PARA o resto) |
|
|
65
|
-
|
|
66
|
-
Eventos tipados (declaration merging):
|
|
67
|
-
|
|
68
|
-
```ts
|
|
69
|
-
declare module '@deepseek-ai/cordis' {
|
|
70
|
-
interface Events { 'my/event': (p: { id: string }) => void }
|
|
71
|
-
interface Context { myService: MyService } // ao fornecer um serviço
|
|
72
|
-
}
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
## cordis.yml / camadas
|
|
76
|
-
|
|
77
|
-
```yaml
|
|
78
|
-
# scratch-plugin/cordis.yml (overlay --patch)
|
|
79
|
-
- insert:
|
|
80
|
-
- id: hello
|
|
81
|
-
name: '/absolute/path/to/scratch-plugin/src/my-plugin.ts'
|
|
82
|
-
config: { greeting: 'Hi' }
|
|
83
|
-
|
|
84
|
-
# bundle: "dsh": {"bundle":{"patch":"./cordis.patch.yml"}} no package.json
|
|
85
|
-
# profile: "dsh": {"profile":{"bundles":["@deepseek-ai/dsh-base","my-bundle"]}}
|
|
86
|
-
# ordem efetiva: bundles → cordis.patch.yml do profile → $DSH_HOME/cordis.patch.yml → --patch
|
|
87
|
-
# sobrescrita por id; a linha config inteira é substituída (sem deep merge) — repita todas as chaves
|
|
88
|
-
# !!js avalia após os serviços injetados ativarem; disabled é avaliado em cada montagem
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
Comandos: `dsh --profile web` · `dsh --profile headless "task"` · `dsh --profile X --dump-config` · `dsh plugin --profile X add/remove <pkg>` · `pnpm dsh web --patch ./scratch-plugin/cordis.yml`
|
|
92
|
-
|
|
93
|
-
Canais de instalação (repository-plugin removido em 0811 — restam apenas dois):
|
|
94
|
-
- **plugin bundle** (`"dsh":{"bundle":{"patch":"..."}}`) → `dsh plugin add <pkg>` entra na pilha `dsh.profile.bundles`; efeito após reiniciar.
|
|
95
|
-
- **plugin cordis simples** (sem `dsh.bundle`) → `dsh plugin add <pkg>` instala a dependência + uma linha insert no `cordis.patch.yml` do profile; **HMR de configuração ao vivo**.
|
|
96
|
-
- fonte git: `dsh plugin add "github:owner/repo#<sha>&path:<subdir>"` (fixe o commit; build `prepare` autocontido + `allowBuilds` no `pnpm-workspace.yaml` do profile; npm/tarball dispensa permissão de build).
|
|
97
|
-
|
|
98
|
-
## Serviços internos comuns (chaves do ctx)
|
|
99
|
-
|
|
100
|
-
`sessions` registro de sessão · `systemPrompt` montagem de prompts · `tools` registro de ferramentas + pipeline protegido · `agents` registro de agentes · `agentLoop` driver do loop · `llm` registro de adaptadores · `skills` registro de skills · `commands` comandos slash · `approval` aprovação única · `jobs` trabalhos em segundo plano · `fs` seam de sistema de arquivos · `shell` seam de execução bash · `subprocess` seam de subprocessos · `terminals` PTY · `sandbox` seam de confinamento · `codeRuntime` execução de código · `sessionPersistence` persistência · `settings` / `credentials` / `workspaceRegistry` / `goals` / `planMode` / `subagents` / `workflowEngine` / `storage`.
|
|
101
|
-
Lista completa e assinaturas exatas → `references/official-docs/docs/capability-seams.md` + `docs/subsystems/*.md` (regiões Cordis API geradas).
|
|
102
|
-
|
|
103
|
-
## Pipeline de políticas de ferramentas (ordem de execução)
|
|
104
|
-
|
|
105
|
-
```
|
|
106
|
-
tools/pre-execute (waterfall, allow|deny|ask) → ctx.tools.guard() (negação monótona)
|
|
107
|
-
→ tools/execute (wrapper; apenas exec.signal substituível) → execute(args, exec)
|
|
108
|
-
→ tools/post-execute (substituir content/value, bloquear, anexar contexto) → finalizeContent
|
|
109
|
-
→ tools/result (somente observação) → tool/result durável (evento de sessão)
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
Seleção: portões de política → pre-execute; negação irreversível → guard; timeout/retentativas/métricas → execute; transformar resultados → post-execute; auditoria/coleta → result.
|
|
113
|
-
Code Mode: `await tools.<name>(args)` vem de graça; sucesso = valor JSON canônico final; falha = `ToolCallError(name, toolName, message)`.
|
|
114
|
-
|
|
115
|
-
## Cartões de UI (funções puras! apenas args(+result) — sem I/O/relógio/aleatório)
|
|
116
|
-
|
|
117
|
-
- `presentCall(args)` → `{card:'generic',title,kind?,rawInput?,content?,locations?}` | `{card:'terminal',title,description?,cwd?}` | `{card:'diff',title,diffs,locations?}`
|
|
118
|
-
- `presentResult(args,{content,isError,meta?})` → generic / terminal / diff / search(`shape:'matches'|'paths'`) / read / web(`kind:'search'|'fetch'`)
|
|
119
|
-
- Metadados de replay: `output.presentationMeta(args, value)` → persistido em `tool/result.meta`
|
|
120
|
-
|
|
121
|
-
## Modelo de seam de capacidade de três papéis
|
|
122
|
-
|
|
123
|
-
Definition (`dsh-my-cap`): `export abstract class MyCapService extends Service { constructor(ctx){super(ctx,'myCap')} abstract execute(req): Promise<res> }` + declaration merging de Context.
|
|
124
|
-
Provider (`dsh-my-cap-local`): `export function apply(ctx){ ctx.plugin(class MyCapLocal extends MyCapService {...}) }`.
|
|
125
|
-
Consumer (`dsh-tool-my-cap`): `inject = ['tools','myCap']`, `ctx.tools.register(defineTool({... execute: args => ctx.myCap.execute(...)}))`.
|
|
126
|
-
Regras: não divida prematuramente; Provider e Consumer nunca dependem um do outro; padrões resolvem explicitamente em `resolve(request): Spec`.
|
|
127
|
-
|
|
128
|
-
## Essenciais do adaptador LLM
|
|
129
|
-
|
|
130
|
-
`class MyAdapter extends LlmAdapter { async *stream(options): AsyncIterable<StreamChunk> }` → `ctx.llm.registerAdapter(['provider'], adapter)`.
|
|
131
|
-
Protocolo de chunks: `block-start` → `text-delta*` → `block-end` (bloco completo) → … → `usage` (antes de finish) → `finish` (último; `reason: {kind:'stop'|'tool-calls'}`). Lance `LlmError` com código estável para campos que você não puder atender.
|
|
132
|
-
|
|
133
|
-
## Regras rígidas (violações = falhas de gate / comportamento errado)
|
|
134
|
-
|
|
135
|
-
1. Todo registro passa por `ctx.effect()` / `ctx.on()` / o `register()` de um serviço (retorna disposer). Um registro em outro contexto (ex.: `agent.ctx`) tem **dois donos**: guarde o disposer também no seu próprio effect.
|
|
136
|
-
2. Listeners de waterfall devem chamar `next()`; não chamar causa curto-circuito por design. Ao reescrever uma decisão de `agent/pre-step`, **propague com spread** (`{ ...decision, messages }`) para não perder campos como `startsRequestSeries`.
|
|
137
|
-
3. **O mecanismo mais fraco que basta**: `ctx.tools.restrict()` (só remove) < `ctx.tools.guard()` (só nega) < reescrita por waterfall (depende da ordem) < `system-prompt/assemble` (substitui tudo). Observe resultados finais em `tools/result`; use `tools/post-execute` só para transformar.
|
|
138
|
-
4. Visível-para-o-modelo ⇔ registrado: nova entrada visível exige novo evento de sessão (`SessionEventMap`) — **adicionado pelo host**, não por você (ver regra 10).
|
|
139
|
-
5. Nunca codifique valores ajustáveis (teste: o cordis.yml consegue mudá-los?); má configuração falha em voz alta. Campos editáveis ao vivo usam `Volatile<T>` + `loader/volatile-update` (o namespace do formulário é o id da entrada do perfil).
|
|
140
|
-
6. Pacotes de plugin independentes: cordis é peerDependency com a mesma identidade do host (misturar scoped `@deepseek-ai/cordis` e unscoped divide identidades); ESM; manifesto `dsh.bundle` (`patch` pode ser uma lista ordenada); instalações git precisam de `prepare` + `allowBuilds`; publique `lib/` ou um tarball. Pacotes dsh de instância compartilhada ficam **só em peerDependencies + devDependencies**, nunca em `dependencies` (uma cópia no perfil sombreia o runtime em silêncio). ⚠️ Corrigido: **faixas de peer SÃO aplicadas na instalação** — `dsh plugin add` compara a versão do runtime com a faixa declarada de `@deepseek-ai/dsh-*` e recusa a instalação; apenas `engines.dsh` é declarativo e não aplicado. Uma faixa diz "dá para instalar", não "esta API existe": mantenha a sondagem em runtime (escolha de faixa: `version-matrix.md` §4).
|
|
141
|
-
7. Publique metadados de exibição: `locale/*.json` com `meta.title`/`meta.description` e um `./icon` exportado (SVG/PNG/JPEG/WebP, ≤256 KiB, dentro do pacote). Plugins de subcaminho **nunca** leem o próprio `package.json`.
|
|
142
|
-
8. Documentação bilíngue em pares; descrições/prompts são comportamento; mudanças não triviais levam Agent Note; rode o conjunto mínimo de verificações antes de empurrar (dsh-pre-push-checks).
|
|
143
|
-
9. IDs opacos entre limites são branded (`Branded<B>` de `dsh-brand`), nunca `string` crua.
|
|
144
|
-
10. **Nunca acrescente um evento de sessão com um `type` novo**: membros de `SessionEventMap` são required-on-read — um build que não conhece um tipo recusa todo o log, a menos que o evento carregue a marca `ignorable: true` do envelope, e o `Session.append()` em execução não consegue gravar essa marca (seu terceiro argumento é um `SurfaceIntent` apenas para eventos de superfície). Derive o estado de eventos existentes ou guarde dados do plugin num serviço de storage localizado por inspection. Apenas mudanças de formato estrutural bumpam `SESSION_FORMAT_VERSION` (hoje `4`; a migração V3→V4 eleva resultados de tool a mensagens com papel tool e move os `source` de mensagem para o `source.kind` do produtor). O switch sobre `SessionEvent` continua caindo num `default` documentado — sem `assertNever` (união merge-extensible).
|
|
145
|
-
11. O `source` de `agent.inject()` **não aceita mais** o wrapper retirado `{ kind: 'plugin', plugin: '<name>' }`: declare seu próprio kind via `MessageSourceMap` primeiro. `inject` não acorda o agente (`followup()`/`steer()` acordam).
|
|
146
|
-
12. **Nunca escreva o `cordis.patch.yml` do perfil com sessões rodando** (o HMR recarrega: tools somem das sessões vivas, turnos em andamento morrem e reconstruir o `session-controller` pode deixá-lo morto até reiniciar o processo). Nunca escreva à mão o `package.json` do perfil nem rode pnpm dentro do diretório do perfil.
|
|
147
|
-
13. Plugins de UI: renderize React num slot (nunca uma página servida em iframe); estilize **só** com tokens de tema `--dsw-alias-*`; nunca faça `require` de um pacote Client do Harness (um componente que lança deixa o slot em branco); `dsh.client.inject` deve ser um **array estático**.
|
|
148
|
-
14. Desempenho: guarde o estado por sessão em `ctx.sessionProjections` (`apply` puro e síncrono, mesma referência quando ignora, JSON puro + `stateVersion`); espere eventos duráveis (`turn/end`, `assistant/message`, `tool/result`) e renderize tokens ao vivo de `agent/assistant-stream`; nunca faça polling de `agent/status`.
|
|
149
|
-
|
|
150
|
-
## Lista rápida de armadilhas da comunidade (detalhes: guia §7.3 / community-repo-deep-dive.md)
|
|
151
|
-
|
|
152
|
-
- Trio do tsconfig: `moduleResolution: bundler` + `allowImportingTsExtensions` + `rewriteRelativeImportExtensions` (+ `lib:["ES2024"]`, `types:["node"]` explícito).
|
|
153
|
-
- `tsc` emite apesar de erros → `tsc || exit 1` / `--noEmitOnError`; procure imports `.ts` residuais no build antes de publicar.
|
|
154
|
-
- Junctions do Windows via PowerShell `New-Item -ItemType Junction`; letra de unidade do vitest em maiúscula `C:/`.
|
|
155
|
-
- `DSH_PERMISSION_MODE=danger-full-access` é de alto risco (sem backend de sandbox no Windows, aprovações desativadas); `DSH_*` em `~/.dsh/.env` quebra a inicialização.
|
|
156
|
-
- Arquivos de sessão são zstd multiframe: use `scanZstdFrames`/`createZstdFrameDecoder` (`@deepseek-ai/dsh-session-persistence-jsonl/src/zstd.ts`).
|
|
157
|
-
- npm: o `dsh` sem escopo é o projeto alheio node-dsh (um shell) — instale `@deepseek-ai/dsh` (`latest`=`next`=0.2.0-rc.2, `alpha`=0.2.1-alpha.2); `@deepseek-ai/dsh-tools`, `@deepseek-ai/dsh-base`, `@deepseek-ai/dsh-headless` e `@deepseek-ai/dsh-session-persistence-jsonl` ainda publicam um `latest` obsoleto (0.0.1-rc.1), fixe `next` (0.2.0-rc.2) ou `alpha` (0.2.1-alpha.1); `create-dsh-plugin` latest=0.2.3; `@deepseek-ai/cordis` latest=4.0.4 com a nova tag `dsh-0-2-1-alpha-1` em 4.0.5-alpha.1; dsh-core/dsh-sdk seguem não publicados (verificado em 2026-10-06).
|
|
158
|
-
- Aplique `resolve()` nos dois lados antes de comparar caminhos (armadilha da barra invertida do Windows).
|
|
159
|
-
|
|
160
|
-
## Links de documentação
|
|
161
|
-
|
|
162
|
-
Documentação oficial de desenvolvimento — base do site <https://deepseek-harness.github.io/deepseek-harness> (a raiz é chinês, `en/` é inglês; cópias locais textuais em `references/official-docs/docs/`):
|
|
163
|
-
|
|
164
|
-
- Básico: [develop/basic/](https://deepseek-harness.github.io/deepseek-harness/develop/basic/) → [tool](https://deepseek-harness.github.io/deepseek-harness/develop/basic/tool) · [config](https://deepseek-harness.github.io/deepseek-harness/develop/basic/config) · [publish](https://deepseek-harness.github.io/deepseek-harness/develop/basic/publish)
|
|
165
|
-
- Framework: [develop/framework/](https://deepseek-harness.github.io/deepseek-harness/develop/framework/) ([service](https://deepseek-harness.github.io/deepseek-harness/develop/framework/service), [events](https://deepseek-harness.github.io/deepseek-harness/develop/framework/events)) · Prática: [develop/practice/](https://deepseek-harness.github.io/deepseek-harness/develop/practice/) ([LLM adapter](https://deepseek-harness.github.io/deepseek-harness/develop/practice/llm-adapter))
|
|
166
|
-
- Guias: [quickstart](https://deepseek-harness.github.io/deepseek-harness/guide/quickstart) · [providers](https://deepseek-harness.github.io/deepseek-harness/guide/providers) · [python-sdk](https://deepseek-harness.github.io/deepseek-harness/guide/python-sdk)
|
|
167
|
-
- Cordis: [primer](https://deepseek-harness.github.io/deepseek-harness/reference/cordis-primer) · [tutorial](https://deepseek-harness.github.io/deepseek-harness/develop/cordis-tutorial/) · [core API](https://deepseek-harness.github.io/deepseek-harness/reference/cordis-api/context)
|
|
168
|
-
- Referência: [architecture](https://deepseek-harness.github.io/deepseek-harness/reference/) · [cookbook/adding-a-tool](https://deepseek-harness.github.io/deepseek-harness/reference/cookbook/adding-a-tool) · [cookbook/extension-cookbook](https://deepseek-harness.github.io/deepseek-harness/reference/cookbook/extension-cookbook) · [subsystems](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/)
|
|
169
|
-
- Índice completo URL ↔ cópia local: [guide/links.md](links.md)
|
|
170
|
-
|
|
171
|
-
Documentação comunitária de desenvolvimento — modelos/tutoriais/armadilhas, lista completa em [references/community-ecosystem.md](../references/community-ecosystem.md): [plugin-template](https://github.com/omdsh-dev/plugin-template) · [dsh-plugin-dev pitfalls](https://github.com/omdsh-dev/dsh-plugin-dev) · [from-scratch tutorial](https://github.com/Opr4Mp3r/deepseek-harness-plugin-from-scratch) · [dsh-plugin-check](https://github.com/omdsh-dev/dsh-plugin-check)
|
|
172
|
-
|
|
173
|
-
## Índice de fontes principais
|
|
174
|
-
|
|
175
|
-
- Documentação oficial textual: `references/official-docs/docs/**` (215 páginas, inclui pares `.zh.md`)
|
|
176
|
-
- Restrições da raiz do repo: `references/official-docs/AGENTS.md`, `references/official-docs/packages/AGENTS.md`, `references/official-docs/vendor/README.md`; estado de sincronização em `references/official-docs/SNAPSHOT.md`
|
|
177
|
-
- HTML do site: `downloads/web/site/**` (site completo EN+ZH) + `downloads/manifest.tsv`
|
|
178
|
-
- Cordis upstream: `downloads/github/cordis/**` + pesquisa `references/upstream-cordis.md`
|
|
179
|
-
- Paper do Cordis: `downloads/github/paper/**` + pesquisa `references/cordis-paper-and-community.md`
|
|
180
|
-
- Pesquisa do site: `references/website-pages.md`
|
|
181
|
-
- Pesquisa do repo: `references/harness-repo.md`
|
|
182
|
-
- Comunidade/ecossistema: `references/community-ecosystem.md` + `references/community-repo-deep-dive.md`
|
|
183
|
-
- Todas as URLs de fontes: `references/sources.md`
|
|
184
|
-
- [Matriz de versões](version-matrix.md) — os quatro valores "latest", tags `latest` congeladas, falhas de compatibilidade e seleção de intervalo de peers.
|
|
185
|
-
- [Lista de migração](migration-0.2.md) — §0–§12 cobrem as mudanças que quebram compatibilidade, **§13 os 19 seams de `0.2.1-alpha.2`**.
|
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
# DeepSeek Harness 插件开发速查表
|
|
2
|
-
|
|
3
|
-
> 一页式速查。细节回到 [plugin-dev-guide.md](plugin-dev-guide.md) 与 [references](../references/)。
|
|
4
|
-
|
|
5
|
-
## 插件骨架
|
|
6
|
-
|
|
7
|
-
```ts
|
|
8
|
-
import type { Context } from '@deepseek-ai/cordis'
|
|
9
|
-
import Schema from '@deepseek-ai/schemastery'
|
|
10
|
-
import { defineTool } from '@deepseek-ai/dsh-tools'
|
|
11
|
-
|
|
12
|
-
export const name = 'my-plugin' // 必须
|
|
13
|
-
export const inject = ['tools'] // 依赖的服务; 无依赖可省略
|
|
14
|
-
|
|
15
|
-
export interface Config { limit: number }
|
|
16
|
-
export const Config: Schema<Config> = Schema.object({
|
|
17
|
-
limit: Schema.number().default(10), // Schemastery schema, 不是普通对象
|
|
18
|
-
})
|
|
19
|
-
|
|
20
|
-
export function apply(ctx: Context, config: Config) {
|
|
21
|
-
ctx.effect(() => { // 注册=effect, 卸载自动撤销
|
|
22
|
-
const timer = setInterval(() => {}, 1000)
|
|
23
|
-
return () => clearInterval(timer)
|
|
24
|
-
})
|
|
25
|
-
ctx.on('tools/result', (exec, result) => { /* ... */ })
|
|
26
|
-
ctx.tools.register(defineTool({
|
|
27
|
-
name: 'my_tool',
|
|
28
|
-
description: '…',
|
|
29
|
-
parameters: { x: { type: 'string', required: true } },
|
|
30
|
-
output: { schema: { type: 'string' }, render: (_a, v) => [{ type: 'text', text: v }] },
|
|
31
|
-
async execute(args, exec) { return `hi ${args.x}` }, // 尊重 exec.signal
|
|
32
|
-
}))
|
|
33
|
-
}
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
其他形态:对象 `export default { name, inject, apply }`;类 `class X extends Service { static inject=[...]; constructor(ctx){ super(ctx,'key') } }`(提供服务时用)。
|
|
37
|
-
|
|
38
|
-
## ctx 核心 API(Cordis)
|
|
39
|
-
|
|
40
|
-
| 用途 | API |
|
|
41
|
-
|---|---|
|
|
42
|
-
| 注册自定义资源+清理 | `ctx.effect(() => disposer)` |
|
|
43
|
-
| 监听事件 | `ctx.on(name, handler)`(自动清理) |
|
|
44
|
-
| 广播 / 无返回值 | `ctx.emit(name, payload)` |
|
|
45
|
-
| 短路取值 | `ctx.bail(name, input)`(首个非 null/false/undefined 即止) |
|
|
46
|
-
| 顺序取值 | `await ctx.serial(name, input)` |
|
|
47
|
-
| 管线 | `await ctx.waterfall(name, input, init)`;监听器**必须 `next()`** |
|
|
48
|
-
| 子上下文 | `ctx.extend(meta)` / `ctx.isolate(name, label?)` / `ctx.intercept(name, config)` |
|
|
49
|
-
| 挂子插件 | `ctx.plugin(plugin)` → Fiber;`await fiber.dispose()` |
|
|
50
|
-
| 可选服务查询 | `ctx.get('metrics')?.x()` |
|
|
51
|
-
| 日志 | `ctx.logger(name)` |
|
|
52
|
-
|
|
53
|
-
生命周期:`PENDING → LOADING → ACTIVE`(apply 抛错 → FAILED);`ACTIVE → UNLOADING → DISPOSED`。依赖服务消失 → 自动卸载,恢复 → 自动重载。
|
|
54
|
-
|
|
55
|
-
## 事件派发五模式(含 bail)
|
|
56
|
-
|
|
57
|
-
| 模式 | await | 顺序 | 返回值 |
|
|
58
|
-
|---|---|---|---|
|
|
59
|
-
| emit | 否 | 注册序 | 无 |
|
|
60
|
-
| waterfall | 否 | 注册序 | 有(**不调 next() 即短路**) |
|
|
61
|
-
| parallel | 是 | 并行 | 无 |
|
|
62
|
-
| serial | 是 | 注册序 | 有(首个非空即止) |
|
|
63
|
-
| bail | 否 | 注册序 | 有(首个非 null/false/undefined 即短路,**并停止后续监听器**) |
|
|
64
|
-
|
|
65
|
-
类型声明(declaration merging):
|
|
66
|
-
|
|
67
|
-
```ts
|
|
68
|
-
declare module '@deepseek-ai/cordis' {
|
|
69
|
-
interface Events { 'my/event': (p: { id: string }) => void }
|
|
70
|
-
interface Context { myService: MyService } // 提供服务时
|
|
71
|
-
}
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
## cordis.yml / 分层
|
|
75
|
-
|
|
76
|
-
```yaml
|
|
77
|
-
# scratch-plugin/cordis.yml (--patch 覆盖层)
|
|
78
|
-
- insert:
|
|
79
|
-
- id: hello
|
|
80
|
-
name: '/absolute/path/to/scratch-plugin/src/my-plugin.ts'
|
|
81
|
-
config: { greeting: 'Hi' }
|
|
82
|
-
|
|
83
|
-
# bundle: package.json 的 "dsh": {"bundle":{"patch":"./cordis.patch.yml"}}
|
|
84
|
-
# profile: "dsh": {"profile":{"bundles":["@deepseek-ai/dsh-base","my-bundle"]}}
|
|
85
|
-
# 生效顺序: bundles → profile cordis.patch.yml → $DSH_HOME/cordis.patch.yml → --patch
|
|
86
|
-
# 按 id 覆盖, 整行 config 替换(非深合并); 覆盖方必须重述全部键
|
|
87
|
-
# !!js 表达式(双感叹号)在注入服务就绪后求值; disabled 每次挂载时求值
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
命令:`dsh --profile web` · `dsh --profile headless "task"` · `dsh --profile X --dump-config` · `dsh plugin --profile X add/remove <pkg>` · `pnpm dsh web --patch ./scratch-plugin/cordis.yml`
|
|
91
|
-
|
|
92
|
-
安装形态(0811 起 repository-plugin 机制已移除,只剩两条通道):
|
|
93
|
-
- **bundle 插件**(`"dsh":{"bundle":{"patch":"..."}}`)→ `dsh plugin add <pkg>` 进 `dsh.profile.bundles` 层栈,重启生效。
|
|
94
|
-
- **纯 cordis 插件**(无 `dsh.bundle`)→ `dsh plugin add <pkg>` 装依赖 + profile `cordis.patch.yml` 加 insert 行,**配置 HMR 实时生效**。
|
|
95
|
-
- git 源:`dsh plugin add "github:owner/repo#<sha>&path:<subdir>"`(pin commit;`prepare` 自包含构建 + profile `pnpm-workspace.yaml` allowBuilds;npm/tarball 免构建许可)。
|
|
96
|
-
|
|
97
|
-
## 常用内建服务(ctx 键)
|
|
98
|
-
|
|
99
|
-
`sessions` 会话日志/内存库 · `systemPrompt` 提示词组装 · `tools` 工具注册与受控执行管线 · `agents` Agent 注册表 · `agentLoop` 循环驱动器 · `llm` 模型适配器注册表 · `skills` 技能注册表 · `commands` 人类斜杠命令 · `approval` 一次性审批 · `jobs` 后台任务 · `fs` 文件系统缝 · `shell` bash 执行缝 · `subprocess` 子进程缝 · `terminals` PTY · `sandbox` 进程限制缝 · `codeRuntime` 代码执行 · `sessionPersistence` 持久化 · `settings` / `credentials` / `workspaceRegistry` / `goals` / `planMode` / `subagents` / `workflowEngine` / `storage`。
|
|
100
|
-
完整清单与每个方法的精确签名 → `references/official-docs/docs/capability-seams.md` + `docs/subsystems/*.md`(生成式 Cordis API 区)。
|
|
101
|
-
|
|
102
|
-
## 工具策略管线(执行顺序)
|
|
103
|
-
|
|
104
|
-
```
|
|
105
|
-
tools/pre-execute (waterfall, allow|deny|ask) → ctx.tools.guard() (单调 deny)
|
|
106
|
-
→ tools/execute (包裹, 仅可换 exec.signal) → execute(args, exec)
|
|
107
|
-
→ tools/post-execute (换 content/value/阻断/附上下文) → finalizeContent
|
|
108
|
-
→ tools/result (只读观察) → 持久化 tool/result (会话事件)
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
选择规则:策略门用 pre-execute;不可翻案的 deny 用 guard;超时/重试/指标用 execute;改结果用 post-execute;审计/采集用 result。
|
|
112
|
-
Code Mode:`await tools.<name>(args)` 免费获得;成功=最终规范 JSON 值;失败=`ToolCallError(name, toolName, message)`。
|
|
113
|
-
|
|
114
|
-
## UI 卡片(纯函数!只依赖 args(+result),禁止 I/O/时钟/随机)
|
|
115
|
-
|
|
116
|
-
- `presentCall(args)` → `{card:'generic',title,kind?,rawInput?,content?,locations?}` | `{card:'terminal',title,description?,cwd?}` | `{card:'diff',title,diffs,locations?}`
|
|
117
|
-
- `presentResult(args,{content,isError,meta?})` → generic / terminal / diff / search(`shape:'matches'|'paths'`) / read / web(`kind:'search'|'fetch'`)
|
|
118
|
-
- 回放元数据:`output.presentationMeta(args, value)` → 持久化 `tool/result.meta`
|
|
119
|
-
|
|
120
|
-
## 三层能力缝(seam)模板
|
|
121
|
-
|
|
122
|
-
Definition(`dsh-my-cap`):`export abstract class MyCapService extends Service { constructor(ctx){super(ctx,'myCap')} abstract execute(req): Promise<res> }` + Context 声明合并。
|
|
123
|
-
Provider(`dsh-my-cap-local`):`export function apply(ctx){ ctx.plugin(class MyCapLocal extends MyCapService {...}) }`。
|
|
124
|
-
Consumer(`dsh-tool-my-cap`):`inject = ['tools','myCap']`,`ctx.tools.register(defineTool({... execute: args => ctx.myCap.execute(...)}))`。
|
|
125
|
-
规则:不提前拆;Provider 与 Consumer 互不依赖;默认值走显式 `resolve(request): Spec`。
|
|
126
|
-
|
|
127
|
-
## LLM 适配器要点
|
|
128
|
-
|
|
129
|
-
`class MyAdapter extends LlmAdapter { async *stream(options): AsyncIterable<StreamChunk> }` → `ctx.llm.registerAdapter(['provider'], adapter)`。
|
|
130
|
-
Chunk 协议:`block-start` → `text-delta*` → `block-end`(完整块)→ … → `usage`(在 finish 前)→ `finish`(最后;`reason: {kind:'stop'|'tool-calls'}`)。无法满足的字段抛带稳定 code 的 `LlmError`。
|
|
131
|
-
|
|
132
|
-
## 红线(违反=挂门禁/错误行为)
|
|
133
|
-
|
|
134
|
-
1. 注册必须走 `ctx.effect()`/`ctx.on()`/服务 `register()`(返回 disposer)。注册在别的 ctx(如 `agent.ctx`)上的有**两个拥有者**——disposer 也要留在自己插件的 effect 里。
|
|
135
|
-
2. waterfall 监听器必须调 `next()`;不调=故意短路。改写 `agent/pre-step` 决策要**展开**(`{ ...decision, messages }`),否则 `startsRequestSeries` 之类字段会丢。
|
|
136
|
-
3. **用最弱的够用机制**:`ctx.tools.restrict()`(只移除)< `ctx.tools.guard()`(只拒绝)< waterfall 改写(依赖顺序)< `system-prompt/assemble`(整段替换)。最终结果只看 `tools/result`;只有要变换结果才用 `tools/post-execute`。
|
|
137
|
-
4. 模型可见 ⟺ 已记录:新模型可见输入必须新增会话事件(`SessionEventMap`)——**由宿主侧新增**,不是插件自己写(见第 10 条)。
|
|
138
|
-
5. 不得硬编码可调参数(判断:cordis.yml 能否改);misconfig fail loud。要暴露给用户的实时字段用 `Volatile<T>` + `loader/volatile-update`(表单命名空间=profile 条目 id)。
|
|
139
|
-
6. 独立插件包:cordis 是 peerDependency(与宿主同身份:scoped `@deepseek-ai/cordis` 与 unscoped 混用会"双 Cordis 分裂");ESM;`dsh.bundle` 清单(`patch` **可为有序数组**);git 安装配 `prepare` + `allowBuilds`;发布带 `lib/` 或 tarball。**共享实例的 dsh 包只放 peer + dev,绝不放 dependencies**(profile 内副本会静默遮蔽运行时)。⚠️ **已更正:peer 范围会被安装期强制**——`dsh plugin add` 拿运行时版本比对声明的 `@deepseek-ai/dsh-*` 范围,不匹配即**拒绝安装**;只有 `engines.dsh` 是纯声明、零强制。范围只能表达"能不能装",**表达不了某个 API 在不在**——仍要配运行时探测(区间选择见 `version-matrix.md` §4)。
|
|
140
|
-
7. 必须交展示元数据:`locale/*.json` 的 `meta.title`/`meta.description` + 导出的 `./icon`(SVG/PNG/JPEG/WebP,≤256 KiB,必须在包内)。子路径插件**不读**自己的 `package.json`。
|
|
141
|
-
8. 文档双语成对;工具描述/提示词即行为;非平凡变更加 Agent Note;提交前跑最小检查集(dsh-pre-push-checks)。
|
|
142
|
-
9. 跨边界 opaque id 用 branded(`Branded<B>` from `dsh-brand`),从不裸 `string`。
|
|
143
|
-
10. **绝不要用新的 `type` 追加会话事件**:`SessionEventMap` 成员默认 required-on-read——不认识该事件类型的 build 会拒绝整份日志,除非该事件带上信封的 `ignorable: true` 标记;而运行时 `Session.append()` **无法**写这个标记(其第三参仅为 surface 事件的 `SurfaceIntent`)。插件状态要从既有事件推导,或用 inspection 找到的 storage 服务自持。只有结构格式变更才 bump `SESSION_FORMAT_VERSION`(当前 `4`;V3→V4 迁移把 tool 结果提升为 tool-role 消息、把消息 source 换成生产者自有的 `source.kind`)。对 `SessionEvent` 的 switch 仍落入文档化 `default`——**禁用 `assertNever`**(merge-extensible union)。
|
|
144
|
-
11. `agent.inject()` 的 `source` **不再接受**退役的 `{ kind: 'plugin', plugin: '<name>' }` 包装——先用 `MessageSourceMap` 声明合并自己的 kind。`inject` 不唤醒 agent(要唤醒用 `followup()`/`steer()`)。
|
|
145
|
-
12. **绝不在会话运行期间写 profile 的 `cordis.patch.yml`**(HMR 会重载:会话内工具会消失、在途 turn 被杀、最坏重建 `session-controller` 失败并永久失效,只能整进程重启)。不要手写 profile 的 `package.json`,不要在 profile 目录里跑 pnpm。
|
|
146
|
-
13. UI 插件:只渲染 slot 里的 React 组件(禁止 iframe 托管页面);样式只用 `--dsw-alias-*` 主题 token;不 `require` 任何 Harness Client 包(抛错组件会把 slot 搞白);`dsh.client.inject` **必须是静态数组**。
|
|
147
|
-
14. 性能:per-session 状态放 `ctx.sessionProjections`(纯同步 `apply`、忽略即同引用、纯 JSON + `stateVersion`);等持久事件(`turn/end`/`assistant/message`/`tool/result`),实时 token 读 `agent/assistant-stream`;**不轮询 `agent/status`**。
|
|
148
|
-
|
|
149
|
-
## 社区实测坑速查(详见 guide §7.3 / community-repo-deep-dive.md)
|
|
150
|
-
|
|
151
|
-
- tsconfig 三件套:`moduleResolution: bundler` + `allowImportingTsExtensions` + `rewriteRelativeImportExtensions`(+ `lib:["ES2024"]`、显式 `types:["node"]`)。
|
|
152
|
-
- `tsc` 报错仍 emit → `tsc || exit 1` / `--noEmitOnError`;发布前 grep 产物无 `.ts` 残留。
|
|
153
|
-
- Windows junction 用 PowerShell `New-Item -ItemType Junction`;vitest 盘符大写 `C:/`。
|
|
154
|
-
- `DSH_PERMISSION_MODE=danger-full-access` 高风险(Windows 无沙箱后端、禁用审批);`DSH_*` 放 `~/.dsh/.env` 会报错。
|
|
155
|
-
- 会话文件多帧 zstd:用 `scanZstdFrames`/`createZstdFrameDecoder`(`@deepseek-ai/dsh-session-persistence-jsonl/src/zstd.ts`)。
|
|
156
|
-
- npm:无作用域 `dsh` 是无关项目 node-dsh(shell)——官方包是 `@deepseek-ai/dsh`(`latest`=`next`=0.2.0-rc.2、`alpha`=0.2.1-alpha.2);`@deepseek-ai/dsh-tools`、`@deepseek-ai/dsh-base`、`@deepseek-ai/dsh-headless`、`@deepseek-ai/dsh-session-persistence-jsonl` 的 `latest` 仍是过期版本(0.0.1-rc.1),要钉 `next`(0.2.0-rc.2)或 `alpha`(0.2.1-alpha.1);`create-dsh-plugin` latest=0.2.3;`@deepseek-ai/cordis` latest=4.0.4,另有新标签 `dsh-0-2-1-alpha-1`=4.0.5-alpha.1;dsh-core/dsh-sdk 仍未发布(2026-10-06 复核)。
|
|
157
|
-
- 路径比较前两侧都 `resolve()`(Windows 反斜杠陷阱)。
|
|
158
|
-
|
|
159
|
-
## 文档链接
|
|
160
|
-
|
|
161
|
-
官方开发文档——站点基址 <https://deepseek-harness.github.io/deepseek-harness>(根路由中文,`en/` 前缀英文;逐字副本在 `references/official-docs/docs/`):
|
|
162
|
-
|
|
163
|
-
- 入门:[develop/basic/](https://deepseek-harness.github.io/deepseek-harness/develop/basic/) → [tool](https://deepseek-harness.github.io/deepseek-harness/develop/basic/tool) · [config](https://deepseek-harness.github.io/deepseek-harness/develop/basic/config) · [publish](https://deepseek-harness.github.io/deepseek-harness/develop/basic/publish)
|
|
164
|
-
- 框架与实践:[develop/framework/](https://deepseek-harness.github.io/deepseek-harness/develop/framework/)([service](https://deepseek-harness.github.io/deepseek-harness/develop/framework/service)、[events](https://deepseek-harness.github.io/deepseek-harness/develop/framework/events))· [develop/practice/](https://deepseek-harness.github.io/deepseek-harness/develop/practice/)([LLM adapter](https://deepseek-harness.github.io/deepseek-harness/develop/practice/llm-adapter))
|
|
165
|
-
- 用户指南:[quickstart](https://deepseek-harness.github.io/deepseek-harness/guide/quickstart) · [providers](https://deepseek-harness.github.io/deepseek-harness/guide/providers) · [python-sdk](https://deepseek-harness.github.io/deepseek-harness/guide/python-sdk)
|
|
166
|
-
- Cordis:[primer](https://deepseek-harness.github.io/deepseek-harness/reference/cordis-primer) · [tutorial](https://deepseek-harness.github.io/deepseek-harness/develop/cordis-tutorial/) · [core API](https://deepseek-harness.github.io/deepseek-harness/reference/cordis-api/context)
|
|
167
|
-
- 参考:[architecture](https://deepseek-harness.github.io/deepseek-harness/reference/) · [cookbook/adding-a-tool](https://deepseek-harness.github.io/deepseek-harness/reference/cookbook/adding-a-tool) · [cookbook/extension-cookbook](https://deepseek-harness.github.io/deepseek-harness/reference/cookbook/extension-cookbook) · [subsystems](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/)
|
|
168
|
-
- 完整 URL ↔ 本地副本对照:[guide/links.md](links.md)
|
|
169
|
-
|
|
170
|
-
社区开发文档——模板/教程/踩坑,完整清单见 [references/community-ecosystem.md](../references/community-ecosystem.md):[plugin-template](https://github.com/omdsh-dev/plugin-template) · [dsh-plugin-dev pitfalls](https://github.com/omdsh-dev/dsh-plugin-dev) · [from-scratch tutorial](https://github.com/Opr4Mp3r/deepseek-harness-plugin-from-scratch) · [dsh-plugin-check](https://github.com/omdsh-dev/dsh-plugin-check)
|
|
171
|
-
|
|
172
|
-
## 关键源索引
|
|
173
|
-
|
|
174
|
-
- 本地官方文档全文:`references/official-docs/docs/**`(429 篇,含全部 212 个 `.zh.md`;镜像基线 `dsh-v0.2.1-alpha.2`);**没上文档站**的那些页(session-format-status、`upgrade-guide/**`、`persistence-changes/**`、ui-radius、web-styling、module-graph)见 [links.md](links.md) §2.1
|
|
175
|
-
- 迁移清单:[migration-0.2.md](migration-0.2.md) —— §0–§12 覆盖 `0.1.6-alpha.2` → `0.2.1-alpha.1` 的全部破坏性变更,**§13 把 `0.2.1-alpha.1` → `0.2.1-alpha.2` 整理成 19 个可引用 seam(`L1`–`L19`)**;每条都附官方 upgrade-guide 出处
|
|
176
|
-
- 官方自带插件开发技能:[references/official-plugin-dev-skill.md](../references/official-plugin-dev-skill.md)
|
|
177
|
-
- 仓库根约束:`references/official-docs/AGENTS.md`、`references/official-docs/packages/AGENTS.md`、`references/official-docs/vendor/README.md`;同步状态见 `references/official-docs/SNAPSHOT.md`
|
|
178
|
-
- 站点爬取 HTML:`downloads/web/site/**`(中英双语全站)+ `downloads/manifest.tsv`(下载清单)
|
|
179
|
-
- 上游 Cordis:`downloads/github/cordis/**` + 调研 `references/upstream-cordis.md`
|
|
180
|
-
- Cordis 论文:`downloads/github/paper/**` + 调研 `references/cordis-paper-and-community.md`
|
|
181
|
-
- 网站/官网调研:`references/website-pages.md`
|
|
182
|
-
- 仓库调研:`references/harness-repo.md`
|
|
183
|
-
- 社区/生态:`references/community-ecosystem.md` + 工作区 `dsh-plugin-topic-2026-08-13/`
|
|
184
|
-
- 全部 URL 清单:`references/sources.md`
|
|
@@ -1,198 +0,0 @@
|
|
|
1
|
-
# Release Engineering for a DSH Plugin Portfolio
|
|
2
|
-
|
|
3
|
-
> Chinese: [release-engineering.zh-CN.md](release-engineering.zh-CN.md)
|
|
4
|
-
|
|
5
|
-
The official documentation teaches you how to build **one** plugin. It does not cover how to keep **dozens** of them installable, publishable, and upgradeable across a harness that ships compatibility-breaking changes by design. This chapter is that missing part, written from a live portfolio of 38 bundle plugins, 39 npm packages and 500+ published versions.
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## 0. The contract you are actually maintaining
|
|
10
|
-
|
|
11
|
-
A plugin is not "a TypeScript package". It is four contracts, and a portfolio breaks whenever one of them drifts:
|
|
12
|
-
|
|
13
|
-
| Contract | Where it lives | Breaks when |
|
|
14
|
-
|---|---|---|
|
|
15
|
-
| Bundle manifest | `package.json` -> `dsh.bundle.patch` | the patch file is renamed or the key is dropped |
|
|
16
|
-
| Install surface | npm package name + `dist-tags` | a publish lands on the wrong tag, or never happens |
|
|
17
|
-
| Compatibility window | `peerDependencies` on `@deepseek-ai/*` | the harness moves an alpha/rc line and the range no longer admits it |
|
|
18
|
-
| Discoverability | GitHub topic `dsh-plugin` + package `keywords` | the repo is renamed, or a fork is created without topics |
|
|
19
|
-
|
|
20
|
-
Everything below is about keeping those four in sync at portfolio scale, cheaply.
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## 1. Layout and naming that scale
|
|
25
|
-
|
|
26
|
-
Two habits separate 5 plugins from 50:
|
|
27
|
-
|
|
28
|
-
1. **One repository per plugin**, each independently releasable. A monorepo makes one failing gate block every plugin's release.
|
|
29
|
-
2. **A predictable name**: `dsh-<capability>` for the package, the repository named identically. Scoped names (`@you/dsh-x`) are fine; keep the repository name stable, because the discovery mechanism is a GitHub topic and a rename silently drops you out of search.
|
|
30
|
-
|
|
31
|
-
Keep a per-repo `AGENTS.md` stating that repository's own rules. As a portfolio grows, the repository file becomes the authority for that repo, and cross-repo conventions live in one shared document (this one).
|
|
32
|
-
|
|
33
|
-
---
|
|
34
|
-
|
|
35
|
-
## 2. The version-line matrix
|
|
36
|
-
|
|
37
|
-
During developer preview the harness publishes several lines at once, for example `0.1.2-rc.1`, `0.1.5-alpha.1`, `0.1.5-rc.1`, `0.1.6-alpha.2`, `0.1.7-alpha.2`. A portfolio pinned to one line breaks the moment a user installs from another.
|
|
38
|
-
|
|
39
|
-
The pattern that admits all windows (one clause per prerelease tuple; each `-0` floor covers every prerelease of its tuple, never the bare `>=0.1.7` form):
|
|
40
|
-
|
|
41
|
-
```jsonc
|
|
42
|
-
{
|
|
43
|
-
"peerDependencies": {
|
|
44
|
-
"@deepseek-ai/cordis": "^4.0.2",
|
|
45
|
-
"@deepseek-ai/dsh-tools": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0 || >=0.1.6-0 <0.2.0 || >=0.1.7-0 <0.2.0 || >=0.2.0-0 <0.3.0 || >=0.2.1-0 <0.3.0"
|
|
46
|
-
},
|
|
47
|
-
"devDependencies": {
|
|
48
|
-
"@deepseek-ai/dsh-tools": "0.2.1-alpha.2"
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
⚠️ **Do not write the open form `>=0.1.2-rc.1 <0.3.0`.** It looks like the widest safe range and is the opposite: it spans an entire breaking-change generation, so the gate admits a `0.2.x` host while your plugin still calls `0.1.x` APIs — an install-time pass followed by a runtime break. **Upper bounds must be cut per generation** (`<0.2.0` / `<0.3.0`), and the six-clause shape above is the canonical range recorded in `dsh-plugin-kit`'s `data/peer-range.json` (`canonicalRange`, updated 2026-09-26). `dsh-plugin-doctor`'s R8 flags the open form.
|
|
54
|
-
|
|
55
|
-
A range is only as wide as its newest clause, and semver makes this easy to get wrong in a way that looks right: **a range admits a prerelease only if some comparator carries that same `[major, minor, patch]` tuple AND a prerelease.** So a band ending at `>=0.1.6-0 <0.2.0` admits `0.1.6-alpha.2` but *not* `0.1.7-alpha.2` — it reads as "everything up to 0.2" and behaves as "nothing after the 0.1.6 tuple". Adding the line's own clause is the whole fix; check it with `semver.satisfies('0.1.7-alpha.2', range)`, never by eye.
|
|
56
|
-
|
|
57
|
-
Rules that follow:
|
|
58
|
-
|
|
59
|
-
- **`devDependencies` pin the newest published line.** Your typecheck must fail before your users do.
|
|
60
|
-
- **`dependencies` pin the stable/rc line; `peerDependencies` admit both windows.** Never narrow a peer range just to make your own CI green - you will silently uninstall yourself from users on the other line.
|
|
61
|
-
- **Never re-pin 30 repositories by hand.** A scripted wave (patch bump, pin update, gate, publish) is the only sustainable path; run it as one atomic batch with a rollback note.
|
|
62
|
-
|
|
63
|
-
---
|
|
64
|
-
|
|
65
|
-
## 3. The release pipeline
|
|
66
|
-
|
|
67
|
-
Per repository the release is a tag push that triggers a workflow:
|
|
68
|
-
|
|
69
|
-
```yaml
|
|
70
|
-
on:
|
|
71
|
-
push:
|
|
72
|
-
tags: ['v*']
|
|
73
|
-
jobs:
|
|
74
|
-
publish:
|
|
75
|
-
steps:
|
|
76
|
-
- run: pnpm install --frozen-lockfile
|
|
77
|
-
- run: pnpm run build
|
|
78
|
-
- run: npm publish --provenance --access public
|
|
79
|
-
env:
|
|
80
|
-
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
Five things that cost real time to learn:
|
|
84
|
-
|
|
85
|
-
1. **`--frozen-lockfile` is a gate, and it is right.** A release commit that forgets `pnpm-lock.yaml` fails here. Never release from a dirty lockfile state.
|
|
86
|
-
2. **Publish with `--provenance`.** One flag produces a signed supply-chain attestation - the cheapest trust signal you can give a reviewer.
|
|
87
|
-
3. **Secrets are per repository.** `NPM_TOKEN` must exist in every repository that publishes. When a token is rotated, reseed all of them, or the failure appears much later, one repo at a time.
|
|
88
|
-
4. **A pushed tag cannot be re-published.** If the artifact was wrong: fix the commit, force-move the tag, re-run, and accept that the first attempt is public history.
|
|
89
|
-
5. **Know the registry replication delay.** A verification job running immediately after a publish can still resolve the previous version ("The latest release is X"). Re-run after `latest` settles instead of "fixing" a package that was never broken.
|
|
90
|
-
|
|
91
|
-
---
|
|
92
|
-
|
|
93
|
-
## 4. One version, three surfaces
|
|
94
|
-
|
|
95
|
-
Publish once, mirror everywhere, make the mirror idempotent:
|
|
96
|
-
|
|
97
|
-
| Surface | Mechanism | Failure mode to watch |
|
|
98
|
-
|---|---|---|
|
|
99
|
-
| npm | tag-triggered workflow | dist-tag lands on the wrong line |
|
|
100
|
-
| GitHub Release | the same tag-triggered workflow (idempotent) | release notes drift from CHANGELOG |
|
|
101
|
-
| Gitee (mirror) | scheduled sync workflow | mirror HEAD behind upstream after a force-move |
|
|
102
|
-
|
|
103
|
-
Verify all three before calling a release done. A release that exists on npm but not in the mirror is a half release, and mirror users will report a bug you already fixed.
|
|
104
|
-
|
|
105
|
-
The GitHub Release is created by the **same tag workflow** that publishes to npm - never by hand. Manual creation is exactly how release notes drift from `CHANGELOG.md`, and the gap is invisible from the registry: a version that exists on npm but has no Release page looks complete to `npm view` and incomplete to anyone reading the repository. Keep the step idempotent, so a re-run, a backfilled tag, or an already-existing Release page cannot fail the job:
|
|
106
|
-
|
|
107
|
-
```sh
|
|
108
|
-
if gh release view "$TAG" >/dev/null 2>&1; then
|
|
109
|
-
echo "release $TAG already exists; skipping"
|
|
110
|
-
exit 0
|
|
111
|
-
fi
|
|
112
|
-
node scripts/changelog-section.mjs "$VERSION" > release-notes.md || true
|
|
113
|
-
if [ -s release-notes.md ]; then
|
|
114
|
-
gh release create "$TAG" --title "$TAG" --notes-file release-notes.md
|
|
115
|
-
else
|
|
116
|
-
gh release create "$TAG" --generate-notes
|
|
117
|
-
fi
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
Three details carry the weight. The job needs `permissions: contents: write` (the publish job's `contents: read` is not enough, and job-level permissions override the workflow's). It belongs in a **separate job that `needs:` the publish job**, so a tag whose `CHANGELOG.md` lacks that section cannot turn a successful npm publish into a red release. And the `|| true` plus the `-s` test is what makes the missing-section case degrade to generated notes instead of failing - a release page with generated notes beats no release page at all.
|
|
121
|
-
|
|
122
|
-
---
|
|
123
|
-
|
|
124
|
-
## 5. README parity is part of the build
|
|
125
|
-
|
|
126
|
-
If the portfolio ships READMEs in several languages, treat them as build artifacts:
|
|
127
|
-
|
|
128
|
-
- The language set is fixed and checked. Adding a section to one language and not the others must fail CI.
|
|
129
|
-
- Enforce encoding discipline before tagging: UTF-8 without BOM, no mojibake, no replacement characters. A published README cannot be repaired - npm metadata is immutable, and the registry may not even display your corrected file.
|
|
130
|
-
- When scripting anchors, remember word boundaries do not behave as expected after CJK characters.
|
|
131
|
-
|
|
132
|
-
---
|
|
133
|
-
|
|
134
|
-
## 6. Migration waves when the harness breaks compatibility
|
|
135
|
-
|
|
136
|
-
The harness states plainly that compatibility-breaking changes will happen. Plan for waves, not for stability:
|
|
137
|
-
|
|
138
|
-
1. **Detect.** Run a typecheck matrix against the newest published line before users hit it. A removed event type or a changed signature surfaces as a compile error in one repository, which tells you the blast radius for all of them.
|
|
139
|
-
2. **Triage.** Separate pin updates, mechanical code changes, and semantic redesigns. Only the first two belong in a wave; the third gets its own release and its own changelog entry.
|
|
140
|
-
3. **Execute atomically.** One batch of patch bumps, one gate run, one publish wave, and a rollback note per repository (previous tag plus the exact pin to restore).
|
|
141
|
-
4. **Record the incident.** Two examples worth writing down, because both were self-inflicted and both cost a release cycle:
|
|
142
|
-
- A release commit without the lockfile turned CI red; fixed by amending the commit and force-moving the tag.
|
|
143
|
-
- A lockfile generated by a different package manager contained workspace-link entries that a clean install could not reproduce; fixed by deleting it, reinstalling in isolation, and regenerating.
|
|
144
|
-
|
|
145
|
-
**Rule of thumb**: if a wave touches more than about four repositories at once, the CI queue saturates and runs settle out of order. Batch accordingly.
|
|
146
|
-
|
|
147
|
-
---
|
|
148
|
-
|
|
149
|
-
## 7. The pre-tag gate
|
|
150
|
-
|
|
151
|
-
Before every tag push:
|
|
152
|
-
|
|
153
|
-
- [ ] `pnpm install --frozen-lockfile` clean
|
|
154
|
-
- [ ] typecheck against the newest published line, not the one you developed on
|
|
155
|
-
- [ ] unit tests green
|
|
156
|
-
- [ ] package invariants: the `files` whitelist contains the built entry, and the entry exists
|
|
157
|
-
- [ ] README language parity plus encoding audit (no BOM, no mojibake, no replacement characters)
|
|
158
|
-
- [ ] `CHANGELOG.md` has a section for the version you are about to tag
|
|
159
|
-
- [ ] the tag workflow creates the GitHub Release itself, idempotently, from that section (section 4)
|
|
160
|
-
- [ ] the version bump matches intent (patch = wave, minor = feature, major = breaking)
|
|
161
|
-
- [ ] the tag does not already exist on the remote
|
|
162
|
-
|
|
163
|
-
After the tag:
|
|
164
|
-
|
|
165
|
-
- [ ] npm `dist-tags.latest` equals the new version
|
|
166
|
-
- [ ] the GitHub Release exists with notes
|
|
167
|
-
- [ ] the mirror is synced
|
|
168
|
-
- [ ] every consumer repository that vendor-pins this package was bumped in the same batch
|
|
169
|
-
|
|
170
|
-
---
|
|
171
|
-
|
|
172
|
-
## 8. Registry behaviours that look like your bug but are not
|
|
173
|
-
|
|
174
|
-
Document these once so nobody debugs them twice:
|
|
175
|
-
|
|
176
|
-
- **`versions[].readme` can be empty** for every published version of a package even though the tarball README is byte-identical to your repository. The package page then shows a stale README. It is a registry-side presentation behaviour, reproducible through both the CLI and CI channels - do not "fix" it by re-publishing.
|
|
177
|
-
- **`description` is truncated** at roughly 255 characters in package metadata. Compare a truncated form, not the full string, when verifying a publish.
|
|
178
|
-
- **Scoped packages** may return placeholder values on some download-count endpoints. Use the range endpoint rather than the point endpoint.
|
|
179
|
-
- **Published does not mean visible.** See item 5 in section 3.
|
|
180
|
-
|
|
181
|
-
---
|
|
182
|
-
|
|
183
|
-
## 9. Local tooling that fakes a result
|
|
184
|
-
|
|
185
|
-
Each of these returns a confident wrong answer rather than an error, and each one cost a real debugging cycle. Written down so the next person recognises the shape:
|
|
186
|
-
|
|
187
|
-
- **`npm view <pkg>@<ver> A B --json` invents absences.** Asking for two fields at once can report a field that exists as empty, which reads as "the published package lost its `peerDependencies`". Query one field per call; when it matters, unpack the published tarball and read its `package.json` - that is the ground truth. An audit that flagged eight packages this way was wrong about all eight.
|
|
188
|
-
- **A content search that honours `.gitignore` returns false negatives.** Where the workspace root ignores everything (`*` plus a single negation), a search across it finds nothing, and "nothing" reads as proof of absence. Before concluding a pattern is absent, confirm it with a scan that does not consult ignore rules.
|
|
189
|
-
- **Windows PowerShell 5.1's `Set-Content -Encoding utf8` writes a BOM.** A JSON request body beginning `EF BB BF` fails to parse, and the error blames the payload's contents rather than its encoding. Write machine-read files through an explicit encoder: `[System.IO.File]::WriteAllText($path, $text, (New-Object System.Text.UTF8Encoding($false)))`.
|
|
190
|
-
- **On Windows, `rd /s /q` cannot remove a tree containing a reserved device name** (`NUL`, `CON`, `AUX`, `PRN`, `COM1`-`COM9`, `LPT1`-`LPT9`). It reports success and leaves the entire ancestor chain in place. Delete that entry through a `\\?\`-prefixed long path, then assert the directory is actually gone - a zero exit code is not evidence that the tree disappeared.
|
|
191
|
-
|
|
192
|
-
---
|
|
193
|
-
|
|
194
|
-
## 10. What this buys you
|
|
195
|
-
|
|
196
|
-
A portfolio maintained this way behaves like a product: users on any harness line can install any plugin, every version is attested, mirrors agree, and a breaking upstream change costs one wave instead of an outage. It is also the strongest form of ecosystem contribution - the official project asks for exactly this, and explicitly does not rank official packages above community ones.
|
|
197
|
-
|
|
198
|
-
Corrections and additions are welcome; the practical entry points are listed in [links.md](links.md).
|