dsh-plugin-dev-kb 1.3.0 → 1.5.1
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/CHANGELOG.md +34 -0
- package/README.en.md +6 -6
- package/README.md +13 -8
- package/kb/INDEX.md +25 -21
- package/kb/README.md +6 -4
- package/kb/extra/AGENTS.md +14 -12
- package/kb/extra/agent-lifecycle.md +91 -0
- package/kb/extra/agent-lifecycle.zh.md +93 -0
- package/kb/extra/api-gateway.md +172 -0
- package/kb/extra/api-gateway.zh.md +178 -0
- package/kb/extra/architecture.md +165 -0
- package/kb/extra/architecture.zh.md +169 -0
- package/kb/extra/capability-seams.md +714 -0
- package/kb/extra/capability-seams.zh.md +716 -0
- package/kb/extra/cli-help.md +203 -0
- package/kb/extra/cli-help.zh.md +205 -0
- package/kb/extra/config-catalog.md +4801 -0
- package/kb/extra/config-catalog.zh.md +4803 -0
- package/kb/extra/cookbook/adding-a-package.md +170 -0
- package/kb/extra/cookbook/adding-a-package.zh.md +170 -0
- package/kb/extra/cookbook/adding-a-plugin-preview.md +52 -0
- package/kb/extra/cookbook/adding-a-plugin-preview.zh.md +52 -0
- package/kb/extra/cookbook/adding-a-remote-api.md +2 -2
- package/kb/extra/cookbook/adding-a-remote-api.zh.md +2 -2
- package/kb/extra/cookbook/adding-a-session-format-version.md +51 -7
- package/kb/extra/cookbook/adding-a-session-format-version.zh.md +51 -7
- package/kb/extra/cookbook/adding-a-settings-card.md +72 -0
- package/kb/extra/cookbook/adding-a-settings-card.zh.md +72 -0
- package/kb/extra/cookbook/adding-a-tool.md +101 -0
- package/kb/extra/cookbook/adding-a-tool.zh.md +103 -0
- package/kb/extra/cookbook/adding-an-llm-adapter.md +43 -0
- package/kb/extra/cookbook/adding-an-llm-adapter.zh.md +43 -0
- package/kb/extra/cookbook/extension-cookbook.md +132 -0
- package/kb/extra/cookbook/extension-cookbook.zh.md +136 -0
- package/kb/extra/cookbook/reviewing-persistence-type-changes.md +122 -0
- package/kb/extra/cookbook/reviewing-persistence-type-changes.zh.md +122 -0
- package/kb/extra/cordis-api/context.md +364 -0
- package/kb/extra/cordis-api/context.zh.md +366 -0
- package/kb/extra/cordis-api/events.md +207 -0
- package/kb/extra/cordis-api/events.zh.md +209 -0
- package/kb/extra/cordis-api/fiber.md +375 -0
- package/kb/extra/cordis-api/fiber.zh.md +377 -0
- package/kb/extra/cordis-api/inherited.md +38 -0
- package/kb/extra/cordis-api/registry.md +152 -0
- package/kb/extra/cordis-api/registry.zh.md +154 -0
- package/kb/extra/cordis-api/service.md +102 -0
- package/kb/extra/cordis-api/service.zh.md +104 -0
- package/kb/extra/cordis-tutorial/01-first-plugin.md +95 -0
- package/kb/extra/cordis-tutorial/01-first-plugin.zh.md +95 -0
- package/kb/extra/cordis-tutorial/02-lifecycle-and-effects.md +98 -0
- package/kb/extra/cordis-tutorial/02-lifecycle-and-effects.zh.md +98 -0
- package/kb/extra/cordis-tutorial/03-services.md +98 -0
- package/kb/extra/cordis-tutorial/03-services.zh.md +98 -0
- package/kb/extra/cordis-tutorial/04-events.md +144 -0
- package/kb/extra/cordis-tutorial/04-events.zh.md +144 -0
- package/kb/extra/cordis-tutorial/05-config.md +111 -0
- package/kb/extra/cordis-tutorial/05-config.zh.md +111 -0
- package/kb/extra/cordis-tutorial/06-composition-and-hmr.md +113 -0
- package/kb/extra/cordis-tutorial/06-composition-and-hmr.zh.md +113 -0
- package/kb/extra/cordis-tutorial/07-into-the-harness.md +108 -0
- package/kb/extra/cordis-tutorial/07-into-the-harness.zh.md +108 -0
- package/kb/extra/cordis-tutorial/index.md +60 -0
- package/kb/extra/cordis-tutorial/index.zh.md +62 -0
- package/kb/extra/deepseek-llm-api-wire-extensions.md +22 -23
- package/kb/extra/deepseek-llm-api-wire-extensions.zh.md +21 -22
- package/kb/extra/defensive-patterns/README.md +25 -0
- package/kb/extra/defensive-patterns/README.zh.md +27 -0
- package/kb/extra/defensive-patterns/client-components.md +493 -0
- package/kb/extra/defensive-patterns/client-components.zh.md +495 -0
- package/kb/extra/defensive-patterns/conversation-and-session.md +316 -0
- package/kb/extra/defensive-patterns/conversation-and-session.zh.md +316 -0
- package/kb/extra/defensive-patterns/general.md +222 -0
- package/kb/extra/defensive-patterns/general.zh.md +252 -0
- package/kb/extra/defensive-patterns/package-surface.md +231 -0
- package/kb/extra/defensive-patterns/package-surface.zh.md +231 -0
- package/kb/extra/defensive-patterns/remote-and-api.md +115 -0
- package/kb/extra/defensive-patterns/remote-and-api.zh.md +115 -0
- package/kb/extra/development.md +55 -18
- package/kb/extra/development.zh.md +56 -18
- package/kb/extra/event-producer-consumer.md +90 -68
- package/kb/extra/event-producer-consumer.zh.md +91 -69
- package/kb/extra/experimental-persistence-catalog.md +17 -0
- package/kb/extra/experimental-persistence-catalog.zh.md +17 -0
- package/kb/extra/glossary.md +2 -1
- package/kb/extra/glossary.zh.md +2 -1
- package/kb/extra/i18n/README.md +15 -7
- package/kb/extra/i18n/README.zh.md +15 -7
- package/kb/extra/i18n/style-samples.md +2 -2
- package/kb/extra/i18n/terminology.md +5 -4
- package/kb/extra/i18n/translation-prompt.md +2 -2
- package/kb/extra/module-graph.md +759 -432
- package/kb/extra/module-graph.zh.md +759 -432
- package/kb/extra/persistence-catalog.md +9140 -0
- package/kb/extra/persistence-catalog.zh.md +9142 -0
- package/kb/extra/persistence-changes/2026-09-11-initial.md +280 -0
- package/kb/extra/persistence-changes/2026-09-11-initial.zh.md +280 -0
- package/kb/extra/persistence-changes/2026-09-12-auto-review-error-metadata.md +52 -0
- package/kb/extra/persistence-changes/2026-09-12-auto-review-error-metadata.zh.md +52 -0
- package/kb/extra/persistence-changes/2026-09-13-working-directory.md +48 -0
- package/kb/extra/persistence-changes/2026-09-13-working-directory.zh.md +48 -0
- package/kb/extra/persistence-changes/2026-09-14-image-offload.md +96 -0
- package/kb/extra/persistence-changes/2026-09-14-image-offload.zh.md +96 -0
- package/kb/extra/persistence-changes/2026-09-14-workspace-changes-event.md +48 -0
- package/kb/extra/persistence-changes/2026-09-14-workspace-changes-event.zh.md +48 -0
- package/kb/extra/persistence-changes/2026-09-16-session-format-v4.md +120 -0
- package/kb/extra/persistence-changes/2026-09-16-session-format-v4.zh.md +120 -0
- package/kb/extra/persistence-changes/2026-09-18-schedule-optional-title.md +48 -0
- package/kb/extra/persistence-changes/2026-09-18-schedule-optional-title.zh.md +48 -0
- package/kb/extra/persistence-changes/2026-09-19-external-subagent-catalog.md +48 -0
- package/kb/extra/persistence-changes/2026-09-19-external-subagent-catalog.zh.md +48 -0
- package/kb/extra/persistence-changes/2026-09-20-unknown-child-catalog.md +48 -0
- package/kb/extra/persistence-changes/2026-09-20-unknown-child-catalog.zh.md +48 -0
- package/kb/extra/persistence-changes/2026-09-21-user-question-reply.md +60 -0
- package/kb/extra/persistence-changes/2026-09-21-user-question-reply.zh.md +60 -0
- package/kb/extra/persistence-changes/2026-09-30-job-session-lifecycle.md +52 -0
- package/kb/extra/persistence-changes/2026-09-30-job-session-lifecycle.zh.md +52 -0
- package/kb/extra/persistence-changes/2026-10-05-ptc-operation-metadata.md +48 -0
- package/kb/extra/persistence-changes/2026-10-05-ptc-operation-metadata.zh.md +48 -0
- package/kb/extra/persistence-changes/2026-10-05-working-directory-attribution.md +60 -0
- package/kb/extra/persistence-changes/2026-10-05-working-directory-attribution.zh.md +60 -0
- package/kb/extra/persistence-changes/2026-10-07-title-reasoning-effort.md +48 -0
- package/kb/extra/persistence-changes/2026-10-07-title-reasoning-effort.zh.md +48 -0
- package/kb/extra/persistence-changes/2026-10-13-deepseek-search-thinking.md +48 -0
- package/kb/extra/persistence-changes/2026-10-13-deepseek-search-thinking.zh.md +48 -0
- package/kb/extra/persistence-changes/2026-10-13-user-rpc-principal.md +60 -0
- package/kb/extra/persistence-changes/2026-10-13-user-rpc-principal.zh.md +60 -0
- package/kb/extra/persistence-changes/README.md +90 -0
- package/kb/extra/persistence-changes/README.zh.md +90 -0
- package/kb/extra/persistence-changes/historical-formats/README.md +75 -0
- package/kb/extra/persistence-changes/historical-formats/README.zh.md +75 -0
- package/kb/extra/persistence-changes/historical-formats/v0.md +5105 -0
- package/kb/extra/persistence-changes/historical-formats/v0.zh.md +5105 -0
- package/kb/extra/persistence-changes/historical-formats/v1.md +5107 -0
- package/kb/extra/persistence-changes/historical-formats/v1.zh.md +5107 -0
- package/kb/extra/persistence-changes/historical-formats/v2.md +5362 -0
- package/kb/extra/persistence-changes/historical-formats/v2.zh.md +5362 -0
- package/kb/extra/persistence-changes/historical-formats/v3.md +5634 -0
- package/kb/extra/persistence-changes/historical-formats/v3.zh.md +5634 -0
- package/kb/extra/persistence-changes/releases/README.md +103 -0
- package/kb/extra/persistence-changes/releases/README.zh.md +103 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.1.md +201 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.1.zh.md +201 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.2.md +261 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.2.zh.md +261 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.3.md +126 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.3.zh.md +126 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.4.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.4.zh.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.5.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.5.zh.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.1.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.1.zh.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.2.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.2.zh.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.3.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.3.zh.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.5.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.5.zh.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.6.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.6.zh.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.7.md +82 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.7.zh.md +82 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.8.md +110 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.8.zh.md +110 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.1-rc.1.md +82 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.1-rc.1.zh.md +82 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.1-rc.2.md +119 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.1-rc.2.zh.md +119 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.1.md +295 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.1.zh.md +295 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.2.md +286 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.2.zh.md +286 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.3.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.3.zh.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.4.md +95 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.4.zh.md +95 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.5.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.5.zh.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.2-rc.1.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.2-rc.1.zh.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.3-alpha.1.md +154 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.3-alpha.1.zh.md +154 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.3-alpha.2.md +86 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.3-alpha.2.zh.md +86 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.5-alpha.1.md +139 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.5-alpha.1.zh.md +139 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.5-alpha.2.md +95 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.5-alpha.2.zh.md +95 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.5-rc.1.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.5-rc.1.zh.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.5-rc.2.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.5-rc.2.zh.md +75 -0
- package/kb/extra/rescope.md +1 -1
- package/kb/extra/rescope.zh.md +1 -1
- package/kb/extra/session-format-status.md +24 -8
- package/kb/extra/session-format-status.zh.md +24 -8
- package/kb/extra/subsystems/README.md +76 -0
- package/kb/extra/subsystems/README.zh.md +76 -0
- package/kb/extra/subsystems/agent-team.md +61 -37
- package/kb/extra/subsystems/agent-team.zh.md +61 -37
- package/kb/extra/subsystems/approval.md +170 -0
- package/kb/extra/subsystems/approval.zh.md +170 -0
- package/kb/extra/subsystems/attachment.md +19 -9
- package/kb/extra/subsystems/attachment.zh.md +19 -9
- package/kb/extra/subsystems/boot.md +447 -0
- package/kb/extra/subsystems/boot.zh.md +447 -0
- package/kb/extra/subsystems/browser-use.md +67 -0
- package/kb/extra/subsystems/browser-use.zh.md +67 -0
- package/kb/extra/subsystems/claude-code-mods.md +146 -0
- package/kb/extra/subsystems/claude-code-mods.zh.md +146 -0
- package/kb/extra/subsystems/client-modules.md +198 -0
- package/kb/extra/subsystems/client-modules.zh.md +198 -0
- package/kb/extra/subsystems/client-resources.md +92 -0
- package/kb/extra/subsystems/client-resources.zh.md +92 -0
- package/kb/extra/subsystems/commands.md +223 -0
- package/kb/extra/subsystems/commands.zh.md +223 -0
- package/kb/extra/subsystems/compaction.md +284 -0
- package/kb/extra/subsystems/compaction.zh.md +284 -0
- package/kb/extra/subsystems/computer-use.md +59 -0
- package/kb/extra/subsystems/computer-use.zh.md +59 -0
- package/kb/extra/subsystems/conversation.md +301 -0
- package/kb/extra/subsystems/conversation.zh.md +303 -0
- package/kb/extra/subsystems/core.md +1113 -0
- package/kb/extra/subsystems/core.zh.md +1125 -0
- package/kb/extra/subsystems/credentials.md +493 -0
- package/kb/extra/subsystems/credentials.zh.md +493 -0
- package/kb/extra/subsystems/deliverables.md +178 -0
- package/kb/extra/subsystems/deliverables.zh.md +178 -0
- package/kb/extra/subsystems/extensions.md +6 -4
- package/kb/extra/subsystems/extensions.zh.md +6 -4
- package/kb/extra/subsystems/feedback.md +4 -4
- package/kb/extra/subsystems/feedback.zh.md +4 -4
- package/kb/extra/subsystems/filesystem.md +530 -0
- package/kb/extra/subsystems/filesystem.zh.md +530 -0
- package/kb/extra/subsystems/goal.md +313 -0
- package/kb/extra/subsystems/goal.zh.md +313 -0
- package/kb/extra/subsystems/jobs.md +554 -0
- package/kb/extra/subsystems/jobs.zh.md +554 -0
- package/kb/extra/subsystems/llm-streaming.md +1196 -0
- package/kb/extra/subsystems/llm-streaming.zh.md +1202 -0
- package/kb/extra/subsystems/lsp.md +202 -0
- package/kb/extra/subsystems/lsp.zh.md +202 -0
- package/kb/extra/subsystems/mcp.md +139 -0
- package/kb/extra/subsystems/mcp.zh.md +139 -0
- package/kb/extra/subsystems/office-to-pdf.md +87 -0
- package/kb/extra/subsystems/office-to-pdf.zh.md +87 -0
- package/kb/extra/subsystems/otel.md +44 -0
- package/kb/extra/subsystems/otel.zh.md +44 -0
- package/kb/extra/subsystems/permission-presets.md +167 -0
- package/kb/extra/subsystems/permission-presets.zh.md +167 -0
- package/kb/extra/subsystems/persistence.md +418 -0
- package/kb/extra/subsystems/persistence.zh.md +418 -0
- package/kb/extra/subsystems/plan.md +87 -0
- package/kb/extra/subsystems/plan.zh.md +87 -0
- package/kb/extra/subsystems/product-telemetry.md +81 -0
- package/kb/extra/subsystems/product-telemetry.zh.md +81 -0
- package/kb/extra/subsystems/ptc-runtime.md +250 -0
- package/kb/extra/subsystems/ptc-runtime.zh.md +250 -0
- package/kb/extra/subsystems/sandbox.md +221 -0
- package/kb/extra/subsystems/sandbox.zh.md +221 -0
- package/kb/extra/subsystems/schedule.md +550 -0
- package/kb/extra/subsystems/schedule.zh.md +550 -0
- package/kb/extra/subsystems/scope.md +59 -0
- package/kb/extra/subsystems/scope.zh.md +61 -0
- package/kb/extra/subsystems/session-projection.md +356 -0
- package/kb/extra/subsystems/session-projection.zh.md +356 -0
- package/kb/extra/subsystems/session-query.md +511 -0
- package/kb/extra/subsystems/session-query.zh.md +511 -0
- package/kb/extra/subsystems/session-reference.md +224 -0
- package/kb/extra/subsystems/session-reference.zh.md +224 -0
- package/kb/extra/subsystems/session-telemetry.md +212 -0
- package/kb/extra/subsystems/session-telemetry.zh.md +212 -0
- package/kb/extra/subsystems/session-title.md +213 -0
- package/kb/extra/subsystems/session-title.zh.md +213 -0
- package/kb/extra/subsystems/session.md +1339 -0
- package/kb/extra/subsystems/session.zh.md +1343 -0
- package/kb/extra/subsystems/settings.md +155 -0
- package/kb/extra/subsystems/settings.zh.md +155 -0
- package/kb/extra/subsystems/shell.md +314 -0
- package/kb/extra/subsystems/shell.zh.md +314 -0
- package/kb/extra/subsystems/sidebar-right.md +160 -0
- package/kb/extra/subsystems/sidebar-right.zh.md +160 -0
- package/kb/extra/subsystems/skills.md +352 -0
- package/kb/extra/subsystems/skills.zh.md +352 -0
- package/kb/extra/subsystems/slots.md +200 -0
- package/kb/extra/subsystems/slots.zh.md +204 -0
- package/kb/extra/subsystems/spill.md +124 -0
- package/kb/extra/subsystems/spill.zh.md +124 -0
- package/kb/extra/subsystems/ssh.md +146 -0
- package/kb/extra/subsystems/ssh.zh.md +146 -0
- package/kb/extra/subsystems/storage.md +259 -0
- package/kb/extra/subsystems/storage.zh.md +259 -0
- package/kb/extra/subsystems/subagent.md +686 -0
- package/kb/extra/subsystems/subagent.zh.md +688 -0
- package/kb/extra/subsystems/subprocess.md +321 -0
- package/kb/extra/subsystems/subprocess.zh.md +321 -0
- package/kb/extra/subsystems/system-prompt.md +254 -0
- package/kb/extra/subsystems/system-prompt.zh.md +254 -0
- package/kb/extra/subsystems/terminal.md +184 -0
- package/kb/extra/subsystems/terminal.zh.md +184 -0
- package/kb/extra/subsystems/todo.md +3 -3
- package/kb/extra/subsystems/todo.zh.md +3 -3
- package/kb/extra/subsystems/token-meter.md +106 -0
- package/kb/extra/subsystems/token-meter.zh.md +106 -0
- package/kb/extra/subsystems/tools.md +747 -0
- package/kb/extra/subsystems/tools.zh.md +747 -0
- package/kb/extra/subsystems/translation.md +103 -0
- package/kb/extra/subsystems/translation.zh.md +103 -0
- package/kb/extra/subsystems/typert.md +690 -0
- package/kb/extra/subsystems/typert.zh.md +690 -0
- package/kb/extra/subsystems/user-questions.md +307 -0
- package/kb/extra/subsystems/user-questions.zh.md +307 -0
- package/kb/extra/subsystems/voice-input.md +164 -0
- package/kb/extra/subsystems/voice-input.zh.md +164 -0
- package/kb/extra/subsystems/web-client.md +100 -0
- package/kb/extra/subsystems/web-client.zh.md +100 -0
- package/kb/extra/subsystems/web-server.md +302 -0
- package/kb/extra/subsystems/web-server.zh.md +302 -0
- package/kb/extra/subsystems/web.md +206 -0
- package/kb/extra/subsystems/web.zh.md +206 -0
- package/kb/extra/subsystems/webhook.md +4 -4
- package/kb/extra/subsystems/webhook.zh.md +2 -2
- package/kb/extra/subsystems/workflow.md +278 -0
- package/kb/extra/subsystems/workflow.zh.md +278 -0
- package/kb/extra/subsystems/working-directory.md +64 -0
- package/kb/extra/subsystems/working-directory.zh.md +64 -0
- package/kb/extra/subsystems/workspace.md +647 -0
- package/kb/extra/subsystems/workspace.zh.md +647 -0
- package/kb/extra/subsystems/worktrees.md +76 -0
- package/kb/extra/subsystems/worktrees.zh.md +76 -0
- package/kb/extra/testing.md +4 -4
- package/kb/extra/testing.zh.md +4 -4
- package/kb/extra/tool-catalog.md +2824 -0
- package/kb/extra/tool-catalog.zh.md +2832 -0
- package/kb/extra/tool-execution-pipeline.md +65 -0
- package/kb/extra/tool-execution-pipeline.zh.md +67 -0
- package/kb/extra/ui-radius.md +117 -0
- package/kb/extra/ui-radius.zh.md +117 -0
- package/kb/extra/upgrade-guide/v0.1.7-rc.2/schedule-optional-bundle/guide.md +22 -0
- package/kb/extra/upgrade-guide/v0.1.7-rc.2/schedule-optional-bundle/guide.zh.md +22 -0
- package/kb/extra/upgrade-guide/v0.1.7-rc.2/transcript-view-legacy-normal/guide.md +25 -0
- package/kb/extra/upgrade-guide/v0.1.7-rc.2/transcript-view-legacy-normal/guide.zh.md +25 -0
- package/kb/extra/upgrade-guide/v0.2.0-rc.2/account-sign-in-errors/guide.md +18 -0
- package/kb/extra/upgrade-guide/v0.2.0-rc.2/account-sign-in-errors/guide.zh.md +18 -0
- package/kb/extra/upgrade-guide/v0.2.0-rc.2/bundled-python-tests/guide.md +18 -0
- package/kb/extra/upgrade-guide/v0.2.0-rc.2/bundled-python-tests/guide.zh.md +18 -0
- package/kb/extra/upgrade-guide/v0.2.0-rc.2/primary-runtime-python-aliases/guide.md +18 -0
- package/kb/extra/upgrade-guide/v0.2.0-rc.2/primary-runtime-python-aliases/guide.zh.md +18 -0
- package/kb/extra/upgrade-guide/v0.2.0-rc.2/remove-runtime-invariants/guide.md +23 -0
- package/kb/extra/upgrade-guide/v0.2.0-rc.2/remove-runtime-invariants/guide.zh.md +23 -0
- package/kb/extra/upgrade-guide/v0.2.0-rc.2/schedule-bundle-retired/guide.md +22 -0
- package/kb/extra/upgrade-guide/v0.2.0-rc.2/schedule-bundle-retired/guide.zh.md +22 -0
- package/kb/extra/upgrade-guide/v0.2.0-rc.2/subpath-plugin-display-manifest/guide.md +27 -0
- package/kb/extra/upgrade-guide/v0.2.0-rc.2/subpath-plugin-display-manifest/guide.zh.md +27 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/deepseek-model-discovery/guide.md +17 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/deepseek-model-discovery/guide.zh.md +17 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/desktop-test-auth-popup/guide.md +18 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/desktop-test-auth-popup/guide.zh.md +18 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/experimental-package-composition/guide.md +28 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/experimental-package-composition/guide.zh.md +28 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/instruction-home-override/guide.md +20 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/instruction-home-override/guide.zh.md +20 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/job-id-identity/guide.md +18 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/job-id-identity/guide.zh.md +18 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/jsonl-persistence-plugin/guide.md +18 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/jsonl-persistence-plugin/guide.zh.md +18 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/mock-messages-events/guide.md +17 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/mock-messages-events/guide.zh.md +17 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/native-subagent-bundle-tools/guide.md +31 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/native-subagent-bundle-tools/guide.zh.md +31 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/new-session-generations/guide.md +20 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/new-session-generations/guide.zh.md +20 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/plugin-option-placement/guide.md +20 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/plugin-option-placement/guide.zh.md +20 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/python-optional-resources/guide.md +18 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/python-optional-resources/guide.zh.md +18 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/python-ptc-sandbox/guide.md +21 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/python-ptc-sandbox/guide.zh.md +21 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/session-title-adapters/guide.md +18 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/session-title-adapters/guide.zh.md +18 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/session-title-provider-strategy/guide.md +20 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/session-title-provider-strategy/guide.zh.md +20 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/ssh-helper-launch/guide.md +19 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/ssh-helper-launch/guide.zh.md +19 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/subagent-activations/guide.md +59 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/subagent-activations/guide.zh.md +59 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/subagent-preset-composition/guide.md +21 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/subagent-preset-composition/guide.zh.md +21 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/team-direct-inbox/guide.md +21 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/team-direct-inbox/guide.zh.md +21 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/terminal-command-labels/guide.md +18 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/terminal-command-labels/guide.zh.md +18 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/tool-presentation-mode/guide.md +21 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/tool-presentation-mode/guide.zh.md +21 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/web-listener-trust-config/guide.md +36 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/web-listener-trust-config/guide.zh.md +36 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/working-directory/guide.md +25 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.1/working-directory/guide.zh.md +25 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.2/deepseek-account-identity-watch/guide.md +18 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.2/deepseek-account-identity-watch/guide.zh.md +18 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.2/deepseek-account-model-catalog/guide.md +27 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.2/deepseek-account-model-catalog/guide.zh.md +27 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.2/desktop-font-size-shortcuts/guide.md +18 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.2/desktop-font-size-shortcuts/guide.zh.md +18 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.2/from-default-profile-replaces-target/guide.md +20 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.2/from-default-profile-replaces-target/guide.zh.md +20 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.2/operator-connect/guide.md +18 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.2/operator-connect/guide.zh.md +18 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.2/pi-ai-azure-provider/guide.md +19 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.2/pi-ai-azure-provider/guide.zh.md +19 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.2/pi-ai-model-discovery/guide.md +17 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.2/pi-ai-model-discovery/guide.zh.md +17 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.2/plugin-install-over-installed/guide.md +20 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.2/plugin-install-over-installed/guide.zh.md +20 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.2/sdk-minimal-image-compaction/guide.md +32 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.2/sdk-minimal-image-compaction/guide.zh.md +32 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.2/stored-credentials-precedence/guide.md +25 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.2/stored-credentials-precedence/guide.zh.md +25 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.3/plugin-engines-dsh/guide.md +21 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.3/plugin-engines-dsh/guide.zh.md +21 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.4/account-notification-fields/guide.md +18 -0
- package/kb/extra/upgrade-guide/v0.2.1-alpha.4/account-notification-fields/guide.zh.md +18 -0
- package/kb/extra/web-styling.md +12 -3
- package/kb/extra/web-styling.zh.md +12 -3
- package/kb/meta/search-index.json +2690 -404
- package/kb/meta/site-pages.txt +188 -188
- package/kb/meta/source.json +7 -6
- package/kb/meta/topics.md +10 -6
- package/kb/site/develop/basic/config.md +1 -0
- package/kb/site/develop/basic/index.md +1 -0
- package/kb/site/develop/basic/publish.md +12 -3
- package/kb/site/develop/basic/tool.md +1 -0
- package/kb/site/develop/cordis-tutorial/01-first-plugin.md +1 -0
- package/kb/site/develop/cordis-tutorial/02-lifecycle-and-effects.md +1 -0
- package/kb/site/develop/cordis-tutorial/03-services.md +1 -0
- package/kb/site/develop/cordis-tutorial/04-events.md +1 -0
- package/kb/site/develop/cordis-tutorial/05-config.md +28 -0
- package/kb/site/develop/cordis-tutorial/06-composition-and-hmr.md +3 -2
- package/kb/site/develop/cordis-tutorial/07-into-the-harness.md +1 -0
- package/kb/site/develop/cordis-tutorial/index.md +1 -0
- package/kb/site/develop/framework/events.md +1 -0
- package/kb/site/develop/framework/index.md +2 -1
- package/kb/site/develop/framework/service.md +1 -0
- package/kb/site/develop/practice/dynamic-cordis.md +9 -8
- package/kb/site/develop/practice/index.md +1 -0
- package/kb/site/develop/practice/llm-adapter.md +2 -1
- package/kb/site/en/develop/basic/config.md +1 -0
- package/kb/site/en/develop/basic/index.md +1 -0
- package/kb/site/en/develop/basic/publish.md +12 -3
- package/kb/site/en/develop/basic/tool.md +1 -0
- package/kb/site/en/develop/cordis-tutorial/01-first-plugin.md +1 -0
- package/kb/site/en/develop/cordis-tutorial/02-lifecycle-and-effects.md +1 -0
- package/kb/site/en/develop/cordis-tutorial/03-services.md +1 -0
- package/kb/site/en/develop/cordis-tutorial/04-events.md +1 -0
- package/kb/site/en/develop/cordis-tutorial/05-config.md +28 -0
- package/kb/site/en/develop/cordis-tutorial/06-composition-and-hmr.md +3 -2
- package/kb/site/en/develop/cordis-tutorial/07-into-the-harness.md +1 -0
- package/kb/site/en/develop/cordis-tutorial/index.md +1 -0
- package/kb/site/en/develop/framework/events.md +1 -0
- package/kb/site/en/develop/framework/index.md +2 -1
- package/kb/site/en/develop/framework/service.md +1 -0
- package/kb/site/en/develop/practice/dynamic-cordis.md +9 -8
- package/kb/site/en/develop/practice/index.md +1 -0
- package/kb/site/en/develop/practice/llm-adapter.md +2 -1
- package/kb/site/en/guide/github-review.md +8 -10
- package/kb/site/en/guide/mcp-memory.md +1 -0
- package/kb/site/en/guide/network-proxy.md +2 -1
- package/kb/site/en/guide/plugin-market.md +151 -0
- package/kb/site/en/guide/providers-custom-form.png +0 -0
- package/kb/site/en/guide/providers-models-page.png +0 -0
- package/kb/site/en/guide/providers.md +121 -83
- package/kb/site/en/guide/public-deployments.md +40 -0
- package/kb/site/en/guide/python-sdk.md +49 -29
- package/kb/site/en/guide/quickstart.md +2 -0
- package/kb/site/en/guide/schedule.md +70 -11
- package/kb/site/en/reference/agent-lifecycle.md +1 -0
- package/kb/site/en/reference/api-gateway.md +22 -13
- package/kb/site/en/reference/capability-seams.md +242 -77
- package/kb/site/en/reference/config-catalog.md +2102 -904
- package/kb/site/en/reference/cookbook/adding-a-package.md +57 -3
- package/kb/site/en/reference/cookbook/adding-a-settings-card.md +35 -64
- package/kb/site/en/reference/cookbook/adding-a-tool.md +4 -3
- package/kb/site/en/reference/cookbook/adding-an-llm-adapter.md +1 -0
- package/kb/site/en/reference/cookbook/extension-cookbook.md +6 -5
- package/kb/site/en/reference/cordis-api/context.md +1 -0
- package/kb/site/en/reference/cordis-api/events.md +1 -0
- package/kb/site/en/reference/cordis-api/fiber.md +4 -3
- package/kb/site/en/reference/cordis-api/inherited.md +16 -16
- package/kb/site/en/reference/cordis-api/registry.md +1 -0
- package/kb/site/en/reference/cordis-api/service.md +1 -0
- package/kb/site/en/reference/cordis-primer.md +1 -0
- package/kb/site/en/reference/experimental-persistence-catalog.md +20 -0
- package/kb/site/en/reference/index.md +27 -21
- package/kb/site/en/reference/persistence-catalog.md +8055 -62
- package/kb/site/en/reference/subsystems/approval.md +2 -1
- package/kb/site/en/reference/subsystems/client-modules.md +37 -15
- package/kb/site/en/reference/subsystems/client-resources.md +3 -1
- package/kb/site/en/reference/subsystems/commands.md +6 -1
- package/kb/site/en/reference/subsystems/compaction.md +50 -3
- package/kb/site/en/reference/subsystems/conversation.md +50 -6
- package/kb/site/en/reference/subsystems/core.md +100 -258
- package/kb/site/en/reference/subsystems/credentials.md +178 -13
- package/kb/site/en/reference/subsystems/filesystem.md +11 -0
- package/kb/site/en/reference/subsystems/goal.md +2 -1
- package/kb/site/en/reference/subsystems/index.md +20 -6
- package/kb/site/en/reference/subsystems/jobs.md +397 -132
- package/kb/site/en/reference/subsystems/llm-streaming.md +157 -50
- package/kb/site/en/reference/subsystems/lsp.md +1 -0
- package/kb/site/en/reference/subsystems/permission-presets.md +66 -29
- package/kb/site/en/reference/subsystems/persistence.md +6 -3
- package/kb/site/en/reference/subsystems/plan.md +3 -2
- package/kb/site/en/reference/subsystems/ptc-runtime.md +254 -0
- package/kb/site/en/reference/subsystems/sandbox.md +7 -5
- package/kb/site/en/reference/subsystems/schedule.md +392 -33
- package/kb/site/en/reference/subsystems/scope.md +2 -1
- package/kb/site/en/reference/subsystems/session-projection.md +22 -19
- package/kb/site/en/reference/subsystems/session-query.md +3 -0
- package/kb/site/en/reference/subsystems/session-reference.md +8 -6
- package/kb/site/en/reference/subsystems/session-telemetry.md +7 -4
- package/kb/site/en/reference/subsystems/session-title.md +20 -10
- package/kb/site/en/reference/subsystems/session.md +254 -91
- package/kb/site/en/reference/subsystems/settings.md +43 -292
- package/kb/site/en/reference/subsystems/shell.md +37 -28
- package/kb/site/en/reference/subsystems/sidebar-right.md +25 -12
- package/kb/site/en/reference/subsystems/skills.md +5 -6
- package/kb/site/en/reference/subsystems/slots.md +88 -70
- package/kb/site/en/reference/subsystems/spill.md +4 -3
- package/kb/site/en/reference/subsystems/storage.md +2 -2
- package/kb/site/en/reference/subsystems/subagent.md +207 -293
- package/kb/site/en/reference/subsystems/subprocess.md +17 -18
- package/kb/site/en/reference/subsystems/system-prompt.md +36 -3
- package/kb/site/en/reference/subsystems/terminal.md +1 -0
- package/kb/site/en/reference/subsystems/token-meter.md +1 -0
- package/kb/site/en/reference/subsystems/tools.md +42 -14
- package/kb/site/en/reference/subsystems/typert.md +362 -14
- package/kb/site/en/reference/subsystems/user-questions.md +131 -1
- package/kb/site/en/reference/subsystems/web-client.md +15 -9
- package/kb/site/en/reference/subsystems/web-server.md +157 -8
- package/kb/site/en/reference/subsystems/web.md +3 -2
- package/kb/site/en/reference/subsystems/workflow.md +10 -9
- package/kb/site/en/reference/subsystems/workspace.md +290 -42
- package/kb/site/en/reference/tool-catalog.md +908 -352
- package/kb/site/en/reference/tool-execution-pipeline.md +7 -3
- package/kb/site/guide/github-review.md +8 -10
- package/kb/site/guide/mcp-memory.md +1 -0
- package/kb/site/guide/network-proxy.md +2 -1
- package/kb/site/guide/plugin-market.md +151 -0
- package/kb/site/guide/providers-custom-form.zh.png +0 -0
- package/kb/site/guide/providers-models-page.zh.png +0 -0
- package/kb/site/guide/providers.md +132 -94
- package/kb/site/guide/public-deployments.md +40 -0
- package/kb/site/guide/python-sdk.md +49 -29
- package/kb/site/guide/quickstart.md +2 -0
- package/kb/site/guide/schedule.md +70 -11
- package/kb/site/reference/agent-lifecycle.md +1 -0
- package/kb/site/reference/api-gateway.md +28 -13
- package/kb/site/reference/capability-seams.md +242 -77
- package/kb/site/reference/config-catalog.md +2105 -906
- package/kb/site/reference/cookbook/adding-a-package.md +55 -3
- package/kb/site/reference/cookbook/adding-a-settings-card.md +35 -64
- package/kb/site/reference/cookbook/adding-a-tool.md +4 -3
- package/kb/site/reference/cookbook/adding-an-llm-adapter.md +1 -0
- package/kb/site/reference/cookbook/extension-cookbook.md +6 -5
- package/kb/site/reference/cordis-api/context.md +1 -0
- package/kb/site/reference/cordis-api/events.md +1 -0
- package/kb/site/reference/cordis-api/fiber.md +4 -3
- package/kb/site/reference/cordis-api/inherited.md +16 -16
- package/kb/site/reference/cordis-api/registry.md +1 -0
- package/kb/site/reference/cordis-api/service.md +1 -0
- package/kb/site/reference/cordis-primer.md +1 -0
- package/kb/site/reference/experimental-persistence-catalog.md +20 -0
- package/kb/site/reference/index.md +27 -21
- package/kb/site/reference/persistence-catalog.md +8061 -68
- package/kb/site/reference/subsystems/approval.md +2 -1
- package/kb/site/reference/subsystems/client-modules.md +37 -15
- package/kb/site/reference/subsystems/client-resources.md +3 -1
- package/kb/site/reference/subsystems/commands.md +6 -1
- package/kb/site/reference/subsystems/compaction.md +50 -3
- package/kb/site/reference/subsystems/conversation.md +51 -5
- package/kb/site/reference/subsystems/core.md +102 -258
- package/kb/site/reference/subsystems/credentials.md +178 -13
- package/kb/site/reference/subsystems/filesystem.md +11 -0
- package/kb/site/reference/subsystems/goal.md +2 -1
- package/kb/site/reference/subsystems/index.md +20 -6
- package/kb/site/reference/subsystems/jobs.md +396 -131
- package/kb/site/reference/subsystems/llm-streaming.md +157 -50
- package/kb/site/reference/subsystems/lsp.md +1 -0
- package/kb/site/reference/subsystems/permission-presets.md +66 -29
- package/kb/site/reference/subsystems/persistence.md +6 -3
- package/kb/site/reference/subsystems/plan.md +3 -2
- package/kb/site/reference/subsystems/ptc-runtime.md +254 -0
- package/kb/site/reference/subsystems/sandbox.md +7 -5
- package/kb/site/reference/subsystems/schedule.md +392 -33
- package/kb/site/reference/subsystems/scope.md +4 -1
- package/kb/site/reference/subsystems/session-projection.md +22 -19
- package/kb/site/reference/subsystems/session-query.md +3 -0
- package/kb/site/reference/subsystems/session-reference.md +8 -6
- package/kb/site/reference/subsystems/session-telemetry.md +7 -4
- package/kb/site/reference/subsystems/session-title.md +20 -10
- package/kb/site/reference/subsystems/session.md +254 -91
- package/kb/site/reference/subsystems/settings.md +43 -292
- package/kb/site/reference/subsystems/shell.md +37 -28
- package/kb/site/reference/subsystems/sidebar-right.md +25 -12
- package/kb/site/reference/subsystems/skills.md +5 -6
- package/kb/site/reference/subsystems/slots.md +92 -70
- package/kb/site/reference/subsystems/spill.md +3 -2
- package/kb/site/reference/subsystems/storage.md +2 -2
- package/kb/site/reference/subsystems/subagent.md +208 -296
- package/kb/site/reference/subsystems/subprocess.md +17 -18
- package/kb/site/reference/subsystems/system-prompt.md +36 -3
- package/kb/site/reference/subsystems/terminal.md +1 -0
- package/kb/site/reference/subsystems/token-meter.md +1 -0
- package/kb/site/reference/subsystems/tools.md +42 -14
- package/kb/site/reference/subsystems/typert.md +362 -14
- package/kb/site/reference/subsystems/user-questions.md +132 -2
- package/kb/site/reference/subsystems/web-client.md +15 -9
- package/kb/site/reference/subsystems/web-server.md +157 -8
- package/kb/site/reference/subsystems/web.md +3 -2
- package/kb/site/reference/subsystems/workflow.md +10 -9
- package/kb/site/reference/subsystems/workspace.md +290 -42
- package/kb/site/reference/tool-catalog.md +862 -306
- package/kb/site/reference/tool-execution-pipeline.md +7 -3
- package/package.json +2 -2
- package/skills/dsh-dev-sandbox.md +67 -0
- package/skills/dsh-plugin-dev-kb.md +5 -4
- package/kb/extra/defensive-patterns.md +0 -33
- package/kb/extra/defensive-patterns.zh.md +0 -35
- package/kb/site/en/reference/subsystems/code-runtime.md +0 -198
- package/kb/site/en/reference/subsystems/invariants.md +0 -91
- package/kb/site/reference/subsystems/code-runtime.md +0 -198
- package/kb/site/reference/subsystems/invariants.md +0 -91
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
editSource: "docs/subsystems/llm-streaming.zh.md"
|
|
3
|
+
rawMarkdownPath: "reference/subsystems/llm-streaming.md"
|
|
3
4
|
outline: [2,3]
|
|
4
5
|
---
|
|
5
6
|
|
|
6
7
|
# LLM(大语言模型)流式输出
|
|
7
8
|
|
|
8
|
-
[`packages/llm`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/README.zh.md)
|
|
9
|
+
[`packages/llm`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/README.zh.md) 提供对话与流式输出类型:持久 `Message` 值、仅供请求使用的 user 输入、共用的 `ContentBlock` 变体、完整组装的模型请求、原始 `StreamChunk` 协议、每个适配器必须实现的适配器约定(adapter contract),以及共享的 assembler。[核心包](./core.md)在每个轮次持有并记录这些值;本页声明它们。
|
|
9
10
|
|
|
10
11
|
源码:[`packages/llm/llm/src/types.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm/src/types.ts)
|
|
11
12
|
|
|
@@ -20,7 +21,8 @@ outline: [2,3]
|
|
|
20
21
|
```ts type-equiv
|
|
21
22
|
/**
|
|
22
23
|
* Merge-extensible content blocks keyed by `type`. New core blocks must land
|
|
23
|
-
* with adapter, UI, and compaction support.
|
|
24
|
+
* with adapter, UI, and compaction support. Tool-change blocks belong to
|
|
25
|
+
* developer messages; `projectToolUpdates` selects what each route receives.
|
|
24
26
|
*/
|
|
25
27
|
interface ContentBlockMap {
|
|
26
28
|
'text': TextBlock
|
|
@@ -28,11 +30,12 @@ interface ContentBlockMap {
|
|
|
28
30
|
'image': ImageBlock
|
|
29
31
|
'file': FileBlock
|
|
30
32
|
'tool-call': ToolCallBlock
|
|
31
|
-
'tool-
|
|
33
|
+
'tool-addition': ToolAdditionBlock
|
|
34
|
+
'tool-removal': ToolRemovalBlock
|
|
32
35
|
}
|
|
33
36
|
```
|
|
34
37
|
|
|
35
|
-
各块接口(完整字段见源码):`TextBlock`(`text`)、`ReasoningBlock`(thinking,区别于可见文本)、`ImageBlock`(一个持久的[图片附件](https://github.com/deepseek-ai/deepseek-harness/blob/master/docs/subsystems/attachment.zh.md))、`FileBlock`(一个持久的原样[文件附件](https://github.com/deepseek-ai/deepseek-harness/blob/master/docs/subsystems/attachment.zh.md),请求组装对每条路由都把它投影为 handle
|
|
38
|
+
各块接口(完整字段见源码):`TextBlock`(`text`)、`ReasoningBlock`(thinking,区别于可见文本)、`ImageBlock`(一个持久的[图片附件](https://github.com/deepseek-ai/deepseek-harness/blob/master/docs/subsystems/attachment.zh.md))、`FileBlock`(一个持久的原样[文件附件](https://github.com/deepseek-ai/deepseek-harness/blob/master/docs/subsystems/attachment.zh.md),请求组装对每条路由都把它投影为 handle 文本)和 `ToolCallBlock`(`id: ToolCallId`、`name`、原始 JSON `arguments`)。工具结果是一等 `ToolResultMessage`,含有 `toolCallId`、结果 `content` 与可选的 `isError`;它不是内容块。`ContentBlock = ContentBlockMap[ContentBlockType]`。仅当适配器、UI、压缩(compaction)和持久回放路径均支持某种新模态时,才将其纳入可合并扩展的 map。 Developer 工具变更块按已解析路由的能力投影。
|
|
36
39
|
|
|
37
40
|
图片访问方式属于请求序列化,不属于持久附件或确定性请求图片版本。`resolveImageAttachmentAccess()` 把附件提供方可选的宿主对象路径,与消费方为当前工具执行文件系统提供的映射组合起来。结果只适用于本次请求,不参与 `variantId`。
|
|
38
41
|
|
|
@@ -52,7 +55,7 @@ interface ImageAttachmentAccess {
|
|
|
52
55
|
|
|
53
56
|
```ts type-equiv
|
|
54
57
|
/** Provider/model identity and adapter-private replay data for an assistant message. */
|
|
55
|
-
interface
|
|
58
|
+
interface AssistantProviderMetadata {
|
|
56
59
|
/** Provider route that produced the message. */
|
|
57
60
|
provider: string
|
|
58
61
|
/** Provider model id that produced the message. */
|
|
@@ -67,31 +70,27 @@ interface AssistantProvenance {
|
|
|
67
70
|
```
|
|
68
71
|
|
|
69
72
|
```ts type-equiv
|
|
70
|
-
/**
|
|
71
|
-
|
|
72
|
-
/** Stable identity preserved across every representation boundary. */
|
|
73
|
-
readonly id: MessageId
|
|
74
|
-
/** Provider-neutral conversation role. */
|
|
75
|
-
readonly role: 'system' | 'user' | 'assistant'
|
|
76
|
-
/** Exact model-facing blocks. */
|
|
77
|
-
readonly content: ContentBlock[]
|
|
78
|
-
/** Required source fields supplied by the producer. */
|
|
79
|
-
readonly source: MessageSource
|
|
80
|
-
}
|
|
73
|
+
/** Any persisted conversation message, discriminated by its `role`. */
|
|
74
|
+
type Message = MessageRoleMap[keyof MessageRoleMap]
|
|
81
75
|
```
|
|
82
76
|
|
|
77
|
+
`DeveloperMessage` 以 `developer` 角色按对话顺序记录增量智能体 Session 变更。`ToolAdditionBlock.toolName` 激活由所在 Session 事件的历史请求头引用所选定的定义;`ToolRemovalBlock.toolName` 移除当前生效的定义。其他消息角色拒绝这两种内容块。`deferLoading` 独立控制工具定义的加载请求,不要求存在添加记录。请求头绑定见 [Session](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/core/session/README.zh.md),提供方支持限制见 [LLM 包](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm/README.zh.md#known-limitations-and-deferred-work)。 已解析和已准备模型元数据中的 `ToolUpdate` 为 `in-history` 或 `addition-only`。`GenerateOptions.toolHistory` 携带 `ToolHistory`:初始 `tools` 和有序 `updates`,每项把 developer `messageId` 绑定到已解析历史定义的 `additions`。运行时将此状态投影为提供方声明,不修改已记录请求头中的有效工具列表。
|
|
78
|
+
|
|
83
79
|
消息来源本身也是一个可合并扩展的和类型:
|
|
84
80
|
|
|
85
81
|
```ts type-equiv
|
|
86
82
|
/**
|
|
87
|
-
* Where a message (or injected content) came from
|
|
88
|
-
* Merge-extensible sum type —
|
|
83
|
+
* Where a message (or injected content) came from, in the harness's own
|
|
84
|
+
* vocabulary. Merge-extensible sum type — each producer declares its own
|
|
85
|
+
* `kind` in its own module; there is no shared catch-all `plugin` kind.
|
|
86
|
+
* Model and tool sources answer their role messages; user messages carry any
|
|
87
|
+
* producer's kind, and consumers fall through unknown kinds.
|
|
89
88
|
*/
|
|
90
89
|
interface MessageSourceMap {
|
|
91
90
|
user: { kind: 'user' }
|
|
92
|
-
plugin: { kind: 'plugin'; plugin: string } & ContextFormed
|
|
93
91
|
model: ModelMessageSource
|
|
94
92
|
tool: ToolMessageSource
|
|
93
|
+
'system-prompt': SystemPromptMessageSource
|
|
95
94
|
}
|
|
96
95
|
```
|
|
97
96
|
|
|
@@ -100,7 +99,7 @@ interface MessageSourceMap {
|
|
|
100
99
|
```ts type-equiv
|
|
101
100
|
/**
|
|
102
101
|
* The kind of information in producer-supplied context, declared by the
|
|
103
|
-
* producer
|
|
102
|
+
* producer in the same `MessageSource`.
|
|
104
103
|
*
|
|
105
104
|
* `MessageSource.kind` answers *who produced this*; `form` answers *what kind
|
|
106
105
|
* of thing it is*, and the two axes are deliberately independent — several
|
|
@@ -228,7 +227,7 @@ type StreamChunk =
|
|
|
228
227
|
|
|
229
228
|
`snapshot()` 返回分离且不可变的 stream。`expandAssistantStream()` 会严格检查 record key、成员数、index、时间戳、tool-call identity 与无损 JSON,再重建精确的带时间 chunk 序列。Session 日志会把该 stream 嵌入作为 surface result 的 `assistant/message`,或嵌入没有 surface message 的 `assistant/attempt`。
|
|
230
229
|
|
|
231
|
-
进程本地 `agent/assistant-stream` frame 承载实时呈现。持久回放与恢复校验仍会展开内嵌 settlement;遥测、token 记账与 Host 折叠直接读取紧凑记录。记录级读取器(`assistantStreamFirstTokenTime`、`assistantStreamHasVisibleContent`、`assistantStreamHasVisibleText`、`lastAssistantStreamChunk`、`assistantStreamChunks`、`joinAssistantStreamText`、`assembleAssistantStream` 以及按 run 的 `runFirstTokenTime` 与 `runFirstVisibleTime`)以提前退出在一次扫描内回答消费方问题,因此大历史每次结算的代价为 O(records) 而非 O(members) 展开([
|
|
230
|
+
进程本地 `agent/assistant-stream` frame 承载实时呈现。持久回放与恢复校验仍会展开内嵌 settlement;遥测、token 记账与 Host 折叠直接读取紧凑记录。记录级读取器(`assistantStreamFirstTokenTime`、`assistantStreamHasVisibleContent`、`assistantStreamHasVisibleText`、`lastAssistantStreamChunk`、`assistantStreamChunks`、`joinAssistantStreamText`、`assembleAssistantStream` 以及按 run 的 `runFirstTokenTime` 与 `runFirstVisibleTime`)以提前退出在一次扫描内回答消费方问题,因此大历史每次结算的代价为 O(records) 而非 O(members) 展开([折叠参考](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm/README.zh.md))。`expandAssistantStream()` 仍是持久边界读取记录与需要每个成员的消费方的校验路径。
|
|
232
231
|
|
|
233
232
|
<a id="llmfailure"></a>
|
|
234
233
|
|
|
@@ -249,12 +248,19 @@ interface LlmFailure {
|
|
|
249
248
|
readonly providerRetryAfterMs?: number
|
|
250
249
|
/** Opaque provider-issued request identifier for diagnostics. */
|
|
251
250
|
readonly requestId?: ProviderRequestId
|
|
251
|
+
/**
|
|
252
|
+
* With code `IMAGE_OFFLOAD_REQUIRED`: how many more of the oldest retained
|
|
253
|
+
* image occurrences the route needs offloaded before the same request fits
|
|
254
|
+
* its exact byte accounting. `dsh-compaction-image-offload` records the
|
|
255
|
+
* selected occurrences in an `image/offload` event and retries the step.
|
|
256
|
+
*/
|
|
257
|
+
readonly offloadImages?: number
|
|
252
258
|
}
|
|
253
259
|
```
|
|
254
260
|
|
|
255
261
|
## 请求图片定价
|
|
256
262
|
|
|
257
|
-
提供方对请求图片收取视觉 token 的适配器通过覆写 `LlmAdapter.imageRequestPricing` 声明按路由的定价,消费方经 `ctx.llm.imageRequestPricing(provider, model)` 同步解析。token 计量服务在每次计量时解析路由模型的定价,使 compaction 的压力、保留与选段都按路由请求实际发送的形式为图片历史计价;DeepSeek
|
|
263
|
+
提供方对请求图片收取视觉 token 的适配器通过覆写 `LlmAdapter.imageRequestPricing` 声明按路由的定价,消费方经 `ctx.llm.imageRequestPricing(provider, model)` 同步解析。token 计量服务在每次计量时解析路由模型的定价,使 compaction 的压力、保留与选段都按路由请求实际发送的形式为图片历史计价;DeepSeek 适配器按模型的请求目标用官方公布的视觉计量为每个保留的出现位置定价,并把日志中的图片省略决策选中的出现位置按其占位文本定价,已完成请求仍以 provider usage 为权威锚点。
|
|
258
264
|
|
|
259
265
|
```ts type-equiv
|
|
260
266
|
/**
|
|
@@ -283,10 +289,11 @@ interface LlmImageRequestPrice {
|
|
|
283
289
|
interface LlmImageRequestPricing {
|
|
284
290
|
/**
|
|
285
291
|
* Price every image occurrence of one request projection.
|
|
286
|
-
* @param images -
|
|
292
|
+
* @param images - surface image blocks in request order, one entry per occurrence; an `offloaded` block
|
|
293
|
+
* is priced as its placeholder text.
|
|
287
294
|
* @returns one price per occurrence, aligned by index with `images`.
|
|
288
295
|
*/
|
|
289
|
-
priceImages(images: readonly
|
|
296
|
+
priceImages(images: readonly ImageBlock[]): readonly LlmImageRequestPrice[]
|
|
290
297
|
}
|
|
291
298
|
```
|
|
292
299
|
|
|
@@ -310,7 +317,7 @@ interface LlmImageRequestPricing {
|
|
|
310
317
|
|
|
311
318
|
## `AppIdentity`:应用归属
|
|
312
319
|
|
|
313
|
-
每个适配器都会向提供方发送的静态公开应用标识([`packages/llm/llm/src/attribution.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm/src/attribution.ts))。`attributionHeaders(identity?)` 只把它映射到标准 `User-Agent` header;该约定有意不支持 OpenRouter 特有的应用归属 header。默认 `APP_IDENTITY` 从包 manifest(元数据清单)获取版本;每个字段都是公开产品事实——不含 secret、路径、会话 id
|
|
320
|
+
每个适配器都会向提供方发送的静态公开应用标识([`packages/llm/llm/src/attribution.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm/src/attribution.ts))。`attributionHeaders(identity?)` 只把它映射到标准 `User-Agent` header;该约定有意不支持 OpenRouter 特有的应用归属 header。默认 `APP_IDENTITY` 从包 manifest(元数据清单)获取版本;每个字段都是公开产品事实——不含 secret、路径、会话 id 或逐用户标识,且任何逐请求信息都不得影响这些值。
|
|
314
321
|
|
|
315
322
|
```ts type-equiv
|
|
316
323
|
/**
|
|
@@ -416,10 +423,10 @@ declare class BlockAssembler {
|
|
|
416
423
|
get replayState(): ReplayEnvelope | undefined;
|
|
417
424
|
/**
|
|
418
425
|
* The assembled assistant message.
|
|
419
|
-
* @param source -
|
|
426
|
+
* @param source - provider/model attribution (without the `kind` tag) for the assembled message.
|
|
420
427
|
* @returns a frozen assistant-role message over `blocks()` (same open-block assembly rules).
|
|
421
428
|
*/
|
|
422
|
-
message(source:
|
|
429
|
+
message(source: Omit<ModelMessageSource, 'kind'>): AssistantMessage;
|
|
423
430
|
}
|
|
424
431
|
```
|
|
425
432
|
|
|
@@ -501,11 +508,33 @@ interface LlmConfigurableProvider {
|
|
|
501
508
|
* from outside.
|
|
502
509
|
*/
|
|
503
510
|
declared?: boolean
|
|
511
|
+
/**
|
|
512
|
+
* Route endpoint the adapter uses when the profile sets no `baseURL`; the
|
|
513
|
+
* adapter may still send an individual model to that model's own endpoint.
|
|
514
|
+
* Absent when the route has no fixed endpoint.
|
|
515
|
+
*/
|
|
516
|
+
defaultBaseURL?: string
|
|
517
|
+
/** Environment variables used to construct a provider endpoint; absent when none are reported. */
|
|
518
|
+
baseURLEnv?: readonly string[]
|
|
519
|
+
/** Authentication the adapter performs when the profile names no credential reference; absent when it reports none. */
|
|
520
|
+
nativeAuth?: LlmNativeAuth
|
|
504
521
|
/** Configuration diagnostic for repair; unaffected models may remain serviceable. */
|
|
505
522
|
error?: string
|
|
506
523
|
}
|
|
507
524
|
```
|
|
508
525
|
|
|
526
|
+
设置编辑器在提供方配置未设置端点或凭据引用时显示 `defaultBaseURL`、`baseURLEnv` 中的端点配置变量,以及 `nativeAuth`。两个变量列表都只包含名称,不包含值。
|
|
527
|
+
|
|
528
|
+
```ts type-equiv
|
|
529
|
+
/** Authentication a provider route performs without a credential reference in its profile. */
|
|
530
|
+
interface LlmNativeAuth {
|
|
531
|
+
/** Environment variables the route's authentication reads, in lookup order; empty when it reads none. */
|
|
532
|
+
env: readonly string[]
|
|
533
|
+
/** Whether a stored OAuth sign-in can authenticate the route. */
|
|
534
|
+
oauth: boolean
|
|
535
|
+
}
|
|
536
|
+
```
|
|
537
|
+
|
|
509
538
|
```ts type-equiv
|
|
510
539
|
/** One adapter-discovered model; catalog membership is advisory, not request validation. */
|
|
511
540
|
interface LlmModelInfo {
|
|
@@ -532,7 +561,7 @@ interface LlmModelContext {
|
|
|
532
561
|
}
|
|
533
562
|
```
|
|
534
563
|
|
|
535
|
-
|
|
564
|
+
推理强度是另一项确切路由能力。核心为标识符添加品牌类型,但不枚举其值;每个适配器负责按强度递增排列的选项、显示名称与可选部署默认值。该顺序比较可选控制,不预测 token 用量、成本或延迟。
|
|
536
565
|
|
|
537
566
|
```ts type-equiv
|
|
538
567
|
/** Adapter-owned identifier for one model's selectable reasoning effort. */
|
|
@@ -554,7 +583,7 @@ interface LlmReasoningEffortInfo {
|
|
|
554
583
|
```ts type-equiv
|
|
555
584
|
/** Selectable reasoning efforts for one exact provider/model route. */
|
|
556
585
|
interface LlmModelReasoningInfo {
|
|
557
|
-
/** Supported efforts
|
|
586
|
+
/** Supported efforts from least to greatest selectable reasoning effort, not predicted token use or latency. */
|
|
558
587
|
efforts: readonly LlmReasoningEffortInfo[]
|
|
559
588
|
/**
|
|
560
589
|
* Adapter-configured default materialized into requests when callers omit
|
|
@@ -575,9 +604,28 @@ interface LlmResolvedModelInfo extends LlmModelInfo {
|
|
|
575
604
|
reasoning?: LlmModelReasoningInfo
|
|
576
605
|
/** Declared mid-conversation system prompt handling; absent means only a leading system message is read. */
|
|
577
606
|
systemPromptUpdate?: SystemPromptUpdate
|
|
607
|
+
/** Declared mid-conversation tool declaration handling; absent means every request declares the complete tool list. */
|
|
608
|
+
toolUpdate?: ToolUpdate
|
|
578
609
|
}
|
|
579
610
|
```
|
|
580
611
|
|
|
612
|
+
辅助调用方可以提供不含持久身份或来源的 user 内容。既有 `Message[]` 历史仍然是有效的请求输入。Session 写入、Agent 投递和已记录的标题请求仍然要求持久消息。
|
|
613
|
+
|
|
614
|
+
```ts type-equiv
|
|
615
|
+
/** User input for one LLM request; it has no durable Session identity or source. */
|
|
616
|
+
interface RequestUserInput {
|
|
617
|
+
readonly role: 'user'
|
|
618
|
+
readonly content: UserMessage['content']
|
|
619
|
+
readonly id?: never
|
|
620
|
+
readonly source?: never
|
|
621
|
+
}
|
|
622
|
+
```
|
|
623
|
+
|
|
624
|
+
```ts type-equiv
|
|
625
|
+
/** A durable conversation message or a user input used only for one request. */
|
|
626
|
+
type RequestMessage = Message | RequestUserInput
|
|
627
|
+
```
|
|
628
|
+
|
|
581
629
|
```ts type-equiv
|
|
582
630
|
/** A single model request, fully assembled. */
|
|
583
631
|
interface GenerateOptions {
|
|
@@ -590,9 +638,9 @@ interface GenerateOptions {
|
|
|
590
638
|
* Ordered conversation messages, exactly as the provider sees them. A
|
|
591
639
|
* loop-built request passes the derived history (dsh-agent-loop), whose
|
|
592
640
|
* leading system-role message carries the system prompt; a hand-built
|
|
593
|
-
* one-shot
|
|
641
|
+
* one-shot may include identity-free user inputs.
|
|
594
642
|
*/
|
|
595
|
-
messages:
|
|
643
|
+
messages: RequestMessage[]
|
|
596
644
|
/**
|
|
597
645
|
* System prompt text for one-shot callers; adapters map it to the provider's
|
|
598
646
|
* system slot ahead of `messages`. Loop-built requests leave it undefined.
|
|
@@ -600,6 +648,8 @@ interface GenerateOptions {
|
|
|
600
648
|
system?: string
|
|
601
649
|
/** Tool schemas (adapters map to the provider's `tools` field). */
|
|
602
650
|
tools?: ToolSchema[]
|
|
651
|
+
/** Session-folded tool history used for route projection; omission sends complete declarations without tool updates. */
|
|
652
|
+
toolHistory?: ToolHistory
|
|
603
653
|
temperature?: number
|
|
604
654
|
maxTokens?: number
|
|
605
655
|
/**
|
|
@@ -616,8 +666,8 @@ interface GenerateOptions {
|
|
|
616
666
|
sessionId?: Branded<'SessionId'>
|
|
617
667
|
/**
|
|
618
668
|
* Provider-neutral classification for an auxiliary model call. Adapters may
|
|
619
|
-
* map the purpose to model-hidden transport metadata
|
|
620
|
-
*
|
|
669
|
+
* map the purpose to model-hidden transport metadata. Ordinary conversation
|
|
670
|
+
* requests leave it unset.
|
|
621
671
|
*/
|
|
622
672
|
purpose?: 'compaction' | 'session-title'
|
|
623
673
|
}
|
|
@@ -652,6 +702,12 @@ interface FinishReasonMap {
|
|
|
652
702
|
* it from this package.
|
|
653
703
|
*/
|
|
654
704
|
interface ToolSchema {
|
|
705
|
+
/**
|
|
706
|
+
* Requests deferred loading of the tool definition into model context,
|
|
707
|
+
* independently of whether a tool-addition block records the tool.
|
|
708
|
+
* Uses Anthropic's defer_loading terminology.
|
|
709
|
+
*/
|
|
710
|
+
deferLoading?: true
|
|
655
711
|
name: string
|
|
656
712
|
description: string
|
|
657
713
|
/** JSON Schema object for the arguments. */
|
|
@@ -705,6 +761,8 @@ interface LlmDiscoveredModel {
|
|
|
705
761
|
contextWindow?: number
|
|
706
762
|
/** Maximum output tokens, when disclosed. */
|
|
707
763
|
maxTokens?: number
|
|
764
|
+
/** Accepted input types when disclosed by the catalog or endpoint; absent means unknown. */
|
|
765
|
+
inputModalities?: readonly ModelModality[]
|
|
708
766
|
}
|
|
709
767
|
```
|
|
710
768
|
|
|
@@ -714,10 +772,20 @@ interface LlmDiscoveredModel {
|
|
|
714
772
|
|
|
715
773
|
`agent/request` 接收冻结的调用配置种子,并可返回替代值以切换提供方、模型、推理强度或采样参数。waterfall(瀑布式事件)开始前,循环会移除标记为适配器默认值的值,使确切模型准备过程填入所选路由的当前值;未带标记的显式设置仍保留在提议中。waterfall 结束后,准备过程会在轮次信号控制下拒绝显式指定但不受支持的推理强度 ID(不自动调整),并记录生效配置以及由适配器默认值提供的字段。步骤准入时,该 waterfall 与准备过程在组装和 `step/start` 之后、系统提示词与已接纳用户批次提交之前运行;在任一阶段取消都不会提交这两者。已准备调用的能力决定提示词协调,调用直至分派完成始终持有同一项适配器注册。到达 `llm/stream` 的请求会被深度冻结,因此变更会抛异常;请求还携带进程本地循环标识,使观察者不会把单独记录的冻结辅助调用误认成对话请求。
|
|
716
774
|
|
|
717
|
-
在协议中,循环构建的请求只有派生历史:渲染后的提示词作为开头的 `system` 角色消息(surface 第 0 号节点,即一个 `system/message` 事件)传输,并且当已准备调用声明 `systemPromptUpdate: 'in-history'` 时,变化后的非空提示词可以作为后续的 `system` 角色消息跟在已缓存历史之后,由模型读作有效提示词;请求的 `system` 字段不设置——`GenerateOptions.system` 服务于标题提供方等直接单次调用方。空渲染文本使派生历史不包含任何系统消息,即使先前请求保留了多个提示词版本。已记录的请求会以最新的 `user/message
|
|
775
|
+
在协议中,循环构建的请求只有派生历史:渲染后的提示词作为开头的 `system` 角色消息(surface 第 0 号节点,即一个 `system/message` 事件)传输,并且当已准备调用声明 `systemPromptUpdate: 'in-history'` 时,变化后的非空提示词可以作为后续的 `system` 角色消息跟在已缓存历史之后,由模型读作有效提示词;请求的 `system` 字段不设置——`GenerateOptions.system` 服务于标题提供方等直接单次调用方。空渲染文本使派生历史不包含任何系统消息,即使先前请求保留了多个提示词版本。已记录的请求会以最新的 `user/message`(轮次首步)或上一步的工具结果(后续步骤)结尾。
|
|
718
776
|
|
|
719
777
|
FIXME(call-config-shape):重新审视其余哪些字段出于缓存目的确实属于 epoch 层级(`model` 和模型持有的推理强度已明确属于;采样标量目前出于谨慎保留在此)。
|
|
720
778
|
|
|
779
|
+
```ts type-equiv
|
|
780
|
+
/** Concrete generation settings; omitted controls use the selected route's defaults. */
|
|
781
|
+
interface LlmCallControls {
|
|
782
|
+
reasoningEffort?: ReasoningEffortId
|
|
783
|
+
temperature?: number
|
|
784
|
+
maxTokens?: number
|
|
785
|
+
stop?: string[]
|
|
786
|
+
}
|
|
787
|
+
```
|
|
788
|
+
|
|
721
789
|
```ts type-equiv
|
|
722
790
|
/**
|
|
723
791
|
* Provider, model, reasoning effort, and sampling scalars of one conversation's
|
|
@@ -725,16 +793,28 @@ FIXME(call-config-shape):重新审视其余哪些字段出于缓存目的确
|
|
|
725
793
|
* the loop builds requests from the logged header rather than accepting these
|
|
726
794
|
* per call.
|
|
727
795
|
*/
|
|
728
|
-
interface LlmCallConfig {
|
|
796
|
+
interface LlmCallConfig extends LlmCallControls {
|
|
729
797
|
provider: string
|
|
730
798
|
model: string
|
|
731
|
-
reasoningEffort?: ReasoningEffortId
|
|
732
|
-
temperature?: number
|
|
733
|
-
maxTokens?: number
|
|
734
|
-
stop?: string[]
|
|
735
799
|
}
|
|
736
800
|
```
|
|
737
801
|
|
|
802
|
+
```ts type-equiv
|
|
803
|
+
/**
|
|
804
|
+
* Synchronous, pure configuration of one call before defaults and validation.
|
|
805
|
+
* Compose functions in the desired order; later writes replace earlier ones.
|
|
806
|
+
* The returned controls cannot change the captured route. Errors reject
|
|
807
|
+
* preparation before dispatch; only the resolved configuration is recordable.
|
|
808
|
+
* @param controls - detached, deeply frozen proposed controls, without defaults.
|
|
809
|
+
* @param model - detached, deeply frozen metadata from the captured adapter generation.
|
|
810
|
+
* @returns concrete controls; omitted fields receive the route's defaults.
|
|
811
|
+
*/
|
|
812
|
+
type ConfigureCall = (
|
|
813
|
+
controls: Readonly<LlmCallControls>,
|
|
814
|
+
model: Readonly<LlmResolvedModelInfo>,
|
|
815
|
+
) => LlmCallControls
|
|
816
|
+
```
|
|
817
|
+
|
|
738
818
|
```ts type-equiv
|
|
739
819
|
/**
|
|
740
820
|
* Effective config fields supplied by exact-model adapter resolution rather
|
|
@@ -748,7 +828,7 @@ interface LlmCallConfigAdapterDefaults {
|
|
|
748
828
|
|
|
749
829
|
## DeepSeek 官方请求扩展
|
|
750
830
|
|
|
751
|
-
`ctx.deepseekLlmApiExtensions` 是用于向 `deepseek-official` 请求添加顶层字段的提供方特定注册表。贡献插件通过 `register(field, provider)` 认领一个字段;适配器在序列化基础正文后调用 `prepare(request)`,并在 HTTP 前合并返回字段。已准备的 `accept()` 事务会在 2xx
|
|
831
|
+
`ctx.deepseekLlmApiExtensions` 是用于向 `deepseek-official` 请求添加顶层字段的提供方特定注册表。贡献插件通过 `register(field, provider)` 认领一个字段;适配器在序列化基础正文后调用 `prepare(request)`,并在 HTTP 前合并返回字段。已准备的 `accept()` 事务会在 2xx 后运行,因此贡献方可以提交交付状态,而不会把传输失败或提供方拒绝当作接受。贡献方准备时抛错会被记录并在该次请求中省略,接受失败只记录告警而不使请求失败;与基础字段冲突时使用 `REQUEST_EXTENSION` 并使模型请求失败。合并后的正文无法序列化时,请求不带扩展字段发出,跳过接受,并由提供方插件记录被省略的字段名。
|
|
752
832
|
|
|
753
833
|
[协议参考](https://github.com/deepseek-ai/deepseek-harness/blob/master/docs/deepseek-llm-api-wire-extensions.zh.md)定义确切的请求标头、扩展事务、字段版本和接收方义务。随附组合会将 [`dsh_session_log`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-log-deepseek/README.zh.md) 注册为无损增量权威日志后缀,并将 [`dsh_plugin_packages`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/plugin-package-inventory-deepseek/README.zh.md) 注册为完整存活 Loader 包集合。这些字段仍位于模型消息之外,也不会进入 pi-ai 适配器路径。
|
|
754
834
|
|
|
@@ -769,6 +849,8 @@ interface PreparedLlmCall {
|
|
|
769
849
|
readonly inputModalities?: readonly ModelModality[]
|
|
770
850
|
/** Exact model system prompt update mode captured with the adapter dispatch generation. */
|
|
771
851
|
readonly systemPromptUpdate?: SystemPromptUpdate
|
|
852
|
+
/** Exact model tool update mode captured with the adapter dispatch generation. */
|
|
853
|
+
readonly toolUpdate?: ToolUpdate
|
|
772
854
|
/** Config fields materialized by the captured adapter rather than proposed by the caller. */
|
|
773
855
|
readonly adapterDefaults: LlmCallConfigAdapterDefaults
|
|
774
856
|
/**
|
|
@@ -812,10 +894,20 @@ declare abstract class LlmAdapter {
|
|
|
812
894
|
* @returns route-owned image pricing, or `undefined` when the route declares none.
|
|
813
895
|
*/
|
|
814
896
|
imageRequestPricing(_provider: string, _model: string): LlmImageRequestPricing | undefined;
|
|
897
|
+
/**
|
|
898
|
+
* Resolve the image dimensions and byte target this adapter sends to the model.
|
|
899
|
+
* The default preserves normalized images; adapters that resize must override it.
|
|
900
|
+
* @param _provider - registered provider route.
|
|
901
|
+
* @param _model - exact model id.
|
|
902
|
+
* @param image - normalized image whose request projection is being resolved.
|
|
903
|
+
* @returns the same target used by request serialization, before provider-internal processing.
|
|
904
|
+
*/
|
|
905
|
+
imageRequestTarget(_provider: string, _model: string, image: ImageAttachmentRef): ImageRequestTarget;
|
|
815
906
|
/**
|
|
816
907
|
* List models this adapter can currently advertise for one owned provider.
|
|
817
|
-
*
|
|
818
|
-
*
|
|
908
|
+
* Core routing accepts unlisted model ids; catalog-driven entry points such
|
|
909
|
+
* as the GUI may require membership. Adapters used there must advertise
|
|
910
|
+
* their available models; the base empty catalog offers no GUI selection.
|
|
819
911
|
* @param _provider - one provider route owned by this adapter.
|
|
820
912
|
* @returns discoverable models in adapter-preferred order.
|
|
821
913
|
*/
|
|
@@ -880,8 +972,9 @@ register<K extends keyof DeepSeekLlmApiExtensionMap>( field: K, provider: DeepSe
|
|
|
880
972
|
|
|
881
973
|
/**
|
|
882
974
|
* Prepare every currently registered field from one immutable base request.
|
|
883
|
-
*
|
|
884
|
-
*
|
|
975
|
+
* A provider whose preparation throws, or whose value cannot be cloned, is omitted
|
|
976
|
+
* from this request; the first such failure per field is logged. Only cancellation rejects. Field values are cloned
|
|
977
|
+
* and frozen; providers retain no mutable alias to the outgoing request.
|
|
885
978
|
* @param request - exact serialized request facts before extension fields.
|
|
886
979
|
* @returns detached fields and their idempotent joint acceptance transaction.
|
|
887
980
|
*/
|
|
@@ -981,6 +1074,15 @@ providerRetryPolicy(provider: string): ResolvedRetryPolicy
|
|
|
981
1074
|
*/
|
|
982
1075
|
imageRequestPricing(provider: string, model: string): LlmImageRequestPricing | undefined
|
|
983
1076
|
|
|
1077
|
+
/**
|
|
1078
|
+
* Resolve the image projection for an exact registered model route.
|
|
1079
|
+
* @param provider - registered provider route.
|
|
1080
|
+
* @param model - exact model id.
|
|
1081
|
+
* @param image - normalized image reference.
|
|
1082
|
+
* @returns dimensions and byte target used by the adapter's request serializer.
|
|
1083
|
+
*/
|
|
1084
|
+
imageRequestTarget(provider: string, model: string, image: ImageAttachmentRef): ImageRequestTarget
|
|
1085
|
+
|
|
984
1086
|
/**
|
|
985
1087
|
* Resolve the exact text one durable file occurrence contributes to every
|
|
986
1088
|
* provider request in the current execution environment.
|
|
@@ -991,7 +1093,8 @@ fileRequestText(ref: FileAttachmentRef): string
|
|
|
991
1093
|
|
|
992
1094
|
/**
|
|
993
1095
|
* Discover models advertised by one registered provider. Catalog membership
|
|
994
|
-
*
|
|
1096
|
+
* does not constrain core routing. Catalog-driven entry points may restrict
|
|
1097
|
+
* selection and submission to the advertised models.
|
|
995
1098
|
* @param provider - registered provider route to inspect.
|
|
996
1099
|
* @returns detached model metadata in adapter-preferred order.
|
|
997
1100
|
*/
|
|
@@ -1024,11 +1127,15 @@ async resolveCallConfig(config: LlmCallConfig, signal?: AbortSignal): Promise<Ll
|
|
|
1024
1127
|
* Resolve one call under its current adapter registration. The returned
|
|
1025
1128
|
* one-shot handle keeps that registration across header logging and dispatch,
|
|
1026
1129
|
* so HMR cannot combine one adapter's capability result with another adapter.
|
|
1027
|
-
*
|
|
1130
|
+
* An optional synchronous callback selects concrete controls using captured
|
|
1131
|
+
* model metadata. Defaults and validation apply to its result. Callback
|
|
1132
|
+
* failures and cancellation reject preparation before dispatch.
|
|
1133
|
+
* @param config - provider/model route and optional concrete request controls.
|
|
1028
1134
|
* @param signal - optional cancellation for adapter-owned capability lookup.
|
|
1135
|
+
* @param configure - pure control selection, called once before defaults and validation.
|
|
1029
1136
|
* @returns a prepared config and its registration-bound stream entry point.
|
|
1030
1137
|
*/
|
|
1031
|
-
async prepareCall(config: LlmCallConfig, signal?: AbortSignal): Promise<PreparedLlmCall>
|
|
1138
|
+
async prepareCall( config: LlmCallConfig, signal?: AbortSignal, configure?: ConfigureCall, ): Promise<PreparedLlmCall>
|
|
1032
1139
|
|
|
1033
1140
|
/**
|
|
1034
1141
|
* Stream one model call as raw chunks (token-level deltas). Replay state is
|
|
@@ -1044,7 +1151,7 @@ async prepareCall(config: LlmCallConfig, signal?: AbortSignal): Promise<Prepared
|
|
|
1044
1151
|
stream(options: GenerateOptions): AsyncIterable<StreamChunk>
|
|
1045
1152
|
```
|
|
1046
1153
|
|
|
1047
|
-
Types: [FileAttachmentRef](https://github.com/deepseek-ai/deepseek-harness/blob/master/docs/subsystems/attachment.zh.md)
|
|
1154
|
+
Types: [FileAttachmentRef](https://github.com/deepseek-ai/deepseek-harness/blob/master/docs/subsystems/attachment.zh.md) · [ImageAttachmentRef](https://github.com/deepseek-ai/deepseek-harness/blob/master/docs/subsystems/attachment.zh.md) · [ImageRequestTarget](https://github.com/deepseek-ai/deepseek-harness/blob/master/docs/subsystems/attachment.zh.md)
|
|
1048
1155
|
|
|
1049
1156
|
Source: [`packages/llm/llm/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm/src/index.ts)
|
|
1050
1157
|
|
|
@@ -1088,8 +1195,8 @@ Waterfall around every streaming model call (retry, replay, routing). Bound to t
|
|
|
1088
1195
|
* process-local {@link markAgentLoopRequest} identity and arrives deep-frozen
|
|
1089
1196
|
* (mutation throws): its content is a pure function of the session log (the
|
|
1090
1197
|
* reconstructability Agent Note), so listeners read it, never rewrite it.
|
|
1091
|
-
* Hand-built calls do not carry that marker;
|
|
1092
|
-
* the
|
|
1198
|
+
* Hand-built calls do not carry that marker; callers own their request
|
|
1199
|
+
* inputs and must keep them unchanged until the stream settles.
|
|
1093
1200
|
* @mode waterfall
|
|
1094
1201
|
*/
|
|
1095
1202
|
'llm/stream'(this: LlmRuntime, options: GenerateOptions, next: () => AsyncIterable<StreamChunk>): AsyncIterable<StreamChunk>
|