dsh-plugin-dev-kb 1.1.0 → 1.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/CHANGELOG.md +31 -0
- package/README.en.md +14 -8
- package/README.md +15 -9
- package/docs/banner.svg +25 -0
- package/kb/INDEX.md +23 -19
- package/kb/README.md +8 -6
- package/kb/extra/AGENTS.md +11 -10
- 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 +151 -0
- package/kb/extra/cookbook/adding-a-session-format-version.zh.md +151 -0
- package/kb/extra/cookbook/adding-a-vendored-package.md +1 -1
- package/kb/extra/cookbook/adding-a-vendored-package.zh.md +1 -1
- package/kb/extra/cookbook/responding-to-pr-review-on-a-stack.md +1 -1
- package/kb/extra/cookbook/responding-to-pr-review-on-a-stack.zh.md +1 -1
- package/kb/extra/cookbook/reviewing-persistence-type-changes.md +120 -0
- package/kb/extra/cookbook/reviewing-persistence-type-changes.zh.md +120 -0
- package/kb/extra/deepseek-llm-api-wire-extensions.md +19 -20
- package/kb/extra/deepseek-llm-api-wire-extensions.zh.md +18 -19
- package/kb/extra/development.md +37 -10
- package/kb/extra/development.zh.md +37 -10
- package/kb/extra/event-producer-consumer.md +90 -67
- package/kb/extra/event-producer-consumer.zh.md +91 -68
- package/kb/extra/glossary.md +1 -1
- package/kb/extra/glossary.zh.md +1 -1
- package/kb/extra/i18n/README.md +16 -7
- package/kb/extra/i18n/README.zh.md +17 -8
- package/kb/extra/i18n/terminology.md +4 -4
- package/kb/extra/i18n/translation-prompt.md +3 -3
- package/kb/extra/module-graph.md +621 -335
- package/kb/extra/module-graph.zh.md +621 -335
- 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-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-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/README.md +88 -0
- package/kb/extra/persistence-changes/README.zh.md +88 -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 +2 -2
- package/kb/extra/rescope.zh.md +2 -2
- package/kb/extra/session-format-status.md +63 -0
- package/kb/extra/session-format-status.zh.md +63 -0
- package/kb/extra/subsystems/agent-team.md +52 -28
- package/kb/extra/subsystems/agent-team.zh.md +52 -28
- package/kb/extra/subsystems/attachment.md +19 -9
- package/kb/extra/subsystems/attachment.zh.md +19 -9
- package/kb/extra/subsystems/boot.md +323 -0
- package/kb/extra/subsystems/boot.zh.md +323 -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/computer-use.md +56 -0
- package/kb/extra/subsystems/computer-use.zh.md +56 -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 +165 -31
- package/kb/extra/subsystems/feedback.zh.md +165 -31
- 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/product-telemetry.md +79 -0
- package/kb/extra/subsystems/product-telemetry.zh.md +79 -0
- package/kb/extra/subsystems/ssh.md +135 -0
- package/kb/extra/subsystems/ssh.zh.md +135 -0
- package/kb/extra/subsystems/todo.md +3 -3
- package/kb/extra/subsystems/todo.zh.md +3 -3
- package/kb/extra/subsystems/voice-input.md +164 -0
- package/kb/extra/subsystems/voice-input.zh.md +164 -0
- package/kb/extra/subsystems/webhook.md +3 -3
- package/kb/extra/subsystems/webhook.zh.md +1 -1
- package/kb/extra/testing.md +5 -4
- package/kb/extra/testing.zh.md +5 -4
- package/kb/extra/ui-radius.md +115 -0
- package/kb/extra/ui-radius.zh.md +115 -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/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/web-styling.md +12 -2
- package/kb/extra/web-styling.zh.md +12 -2
- package/kb/meta/search-index.json +1019 -251
- package/kb/meta/site-pages.txt +187 -183
- package/kb/meta/source.json +8 -8
- package/kb/meta/topics.md +11 -7
- 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 +10 -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 +10 -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 +1 -0
- 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/providers-custom-form.png +0 -0
- package/kb/site/en/guide/providers-models-page.png +0 -0
- package/kb/site/en/guide/providers.md +98 -83
- package/kb/site/en/guide/public-deployments.md +36 -0
- package/kb/site/en/guide/python-sdk.md +60 -23
- 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 +13 -5
- package/kb/site/en/reference/api-gateway.md +13 -11
- package/kb/site/en/reference/capability-seams.md +187 -62
- package/kb/site/en/reference/config-catalog.md +1887 -819
- 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 +5 -4
- package/kb/site/en/reference/cookbook/adding-an-llm-adapter.md +1 -0
- package/kb/site/en/reference/cookbook/extension-cookbook.md +7 -6
- 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/index.md +32 -15
- package/kb/site/en/reference/persistence-catalog.md +7787 -81
- package/kb/site/en/reference/subsystems/approval.md +3 -2
- package/kb/site/en/reference/subsystems/client-modules.md +30 -13
- package/kb/site/en/reference/subsystems/client-resources.md +96 -0
- 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 +36 -6
- package/kb/site/en/reference/subsystems/core.md +174 -271
- package/kb/site/en/reference/subsystems/credentials.md +169 -5
- package/kb/site/en/reference/subsystems/filesystem.md +26 -0
- package/kb/site/en/reference/subsystems/goal.md +39 -2
- package/kb/site/en/reference/subsystems/index.md +18 -5
- package/kb/site/en/reference/subsystems/jobs.md +337 -127
- package/kb/site/en/reference/subsystems/llm-streaming.md +93 -43
- package/kb/site/en/reference/subsystems/lsp.md +2 -1
- package/kb/site/en/reference/subsystems/permission-presets.md +66 -29
- package/kb/site/en/reference/subsystems/persistence.md +40 -18
- package/kb/site/en/reference/subsystems/plan.md +2 -1
- package/kb/site/en/reference/subsystems/ptc-runtime.md +236 -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 +1 -0
- package/kb/site/en/reference/subsystems/session-reference.md +12 -6
- package/kb/site/en/reference/subsystems/session-telemetry.md +27 -8
- package/kb/site/en/reference/subsystems/session-title.md +6 -5
- package/kb/site/en/reference/subsystems/session.md +258 -118
- package/kb/site/en/reference/subsystems/settings.md +43 -292
- package/kb/site/en/reference/subsystems/shell.md +44 -32
- package/kb/site/en/reference/subsystems/sidebar-right.md +162 -0
- package/kb/site/en/reference/subsystems/skills.md +5 -6
- package/kb/site/en/reference/subsystems/slots.md +68 -39
- package/kb/site/en/reference/subsystems/spill.md +15 -7
- package/kb/site/en/reference/subsystems/storage.md +2 -2
- package/kb/site/en/reference/subsystems/subagent.md +65 -72
- package/kb/site/en/reference/subsystems/subprocess.md +42 -44
- package/kb/site/en/reference/subsystems/system-prompt.md +7 -2
- package/kb/site/en/reference/subsystems/terminal.md +1 -0
- package/kb/site/en/reference/subsystems/token-meter.md +3 -1
- package/kb/site/en/reference/subsystems/tools.md +44 -16
- package/kb/site/en/reference/subsystems/typert.md +153 -10
- 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 +74 -1
- package/kb/site/en/reference/subsystems/web.md +1 -0
- package/kb/site/en/reference/subsystems/workflow.md +10 -9
- package/kb/site/en/reference/subsystems/workspace.md +343 -4
- package/kb/site/en/reference/tool-catalog.md +806 -311
- package/kb/site/en/reference/tool-execution-pipeline.md +9 -5
- package/kb/site/guide/github-review.md +1 -0
- package/kb/site/guide/mcp-memory.md +1 -0
- package/kb/site/guide/network-proxy.md +2 -1
- 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 +109 -94
- package/kb/site/guide/public-deployments.md +36 -0
- package/kb/site/guide/python-sdk.md +60 -23
- package/kb/site/guide/quickstart.md +2 -0
- package/kb/site/guide/schedule.md +70 -11
- package/kb/site/reference/agent-lifecycle.md +13 -5
- package/kb/site/reference/api-gateway.md +13 -11
- package/kb/site/reference/capability-seams.md +187 -62
- package/kb/site/reference/config-catalog.md +1889 -820
- 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 +5 -4
- package/kb/site/reference/cookbook/adding-an-llm-adapter.md +1 -0
- package/kb/site/reference/cookbook/extension-cookbook.md +7 -6
- 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/index.md +32 -15
- package/kb/site/reference/persistence-catalog.md +7791 -85
- package/kb/site/reference/subsystems/approval.md +3 -2
- package/kb/site/reference/subsystems/client-modules.md +30 -13
- package/kb/site/reference/subsystems/client-resources.md +96 -0
- 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 +35 -5
- package/kb/site/reference/subsystems/core.md +174 -271
- package/kb/site/reference/subsystems/credentials.md +169 -5
- package/kb/site/reference/subsystems/filesystem.md +26 -0
- package/kb/site/reference/subsystems/goal.md +39 -2
- package/kb/site/reference/subsystems/index.md +28 -15
- package/kb/site/reference/subsystems/jobs.md +336 -126
- package/kb/site/reference/subsystems/llm-streaming.md +93 -43
- package/kb/site/reference/subsystems/lsp.md +2 -1
- package/kb/site/reference/subsystems/permission-presets.md +66 -29
- package/kb/site/reference/subsystems/persistence.md +40 -18
- package/kb/site/reference/subsystems/plan.md +2 -1
- package/kb/site/reference/subsystems/ptc-runtime.md +236 -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 +2 -1
- package/kb/site/reference/subsystems/session-projection.md +22 -19
- package/kb/site/reference/subsystems/session-query.md +1 -0
- package/kb/site/reference/subsystems/session-reference.md +12 -6
- package/kb/site/reference/subsystems/session-telemetry.md +27 -8
- package/kb/site/reference/subsystems/session-title.md +6 -5
- package/kb/site/reference/subsystems/session.md +258 -118
- package/kb/site/reference/subsystems/settings.md +43 -292
- package/kb/site/reference/subsystems/shell.md +44 -32
- package/kb/site/reference/subsystems/sidebar-right.md +162 -0
- package/kb/site/reference/subsystems/skills.md +5 -6
- package/kb/site/reference/subsystems/slots.md +68 -39
- package/kb/site/reference/subsystems/spill.md +15 -7
- package/kb/site/reference/subsystems/storage.md +2 -2
- package/kb/site/reference/subsystems/subagent.md +64 -71
- package/kb/site/reference/subsystems/subprocess.md +42 -44
- package/kb/site/reference/subsystems/system-prompt.md +7 -2
- package/kb/site/reference/subsystems/terminal.md +1 -0
- package/kb/site/reference/subsystems/token-meter.md +3 -1
- package/kb/site/reference/subsystems/tools.md +44 -16
- package/kb/site/reference/subsystems/typert.md +153 -10
- 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 +74 -1
- package/kb/site/reference/subsystems/web.md +1 -0
- package/kb/site/reference/subsystems/workflow.md +10 -9
- package/kb/site/reference/subsystems/workspace.md +343 -4
- package/kb/site/reference/tool-catalog.md +810 -315
- package/kb/site/reference/tool-execution-pipeline.md +9 -5
- package/lib/index.js +25 -44
- package/package.json +3 -2
- package/skills/dsh-plugin-dev-kb.md +6 -5
- 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,5 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
editSource: "docs/tool-catalog.zh.md"
|
|
3
|
+
rawMarkdownPath: "reference/tool-catalog.md"
|
|
3
4
|
---
|
|
4
5
|
|
|
5
6
|
<!-- 英文源文件由 scripts/gen-tool-catalog.ts 生成;本中文文件是通过双语配对维护的经评审对侧。
|
|
@@ -9,7 +10,7 @@ editSource: "docs/tool-catalog.zh.md"
|
|
|
9
10
|
|
|
10
11
|
已发布插件向 `ctx.tools` 提供的所有面向模型的工具:模型通过系统提示词组装获得的 `name`、`description` 和 JSON Schema `parameters`。本目录是[子系统页面](./subsystems/core.md)(类型及每页生成的 `cordis-surface` 接线区域)的补充;本页列出的是向 agent(智能体)提供的*工具*。
|
|
11
12
|
|
|
12
|
-
英文源文件由系统**生成**,并通过 `pnpm run verify-tool-catalog`(`doc-sync`(文档同步门禁)的一部分)验证新鲜度;本中文文件作为经评审对侧通过双语配对维护。与 Cordis 目录(纯源码 AST 处理)不同,英文生成器会在真实上下文中**启动**每个工具插件并读取 `ctx.tools.schemas()`,因为工具 schema 无法通过静态分析完全确定,例如运行时展开的枚举、拼接的描述、由配置决定的名称以及使用原始 JSON Schema 的 MCP 工具。完整性守卫会 glob 匹配 `packages/*/tool-*`;如果生成器的启动 manifest
|
|
13
|
+
英文源文件由系统**生成**,并通过 `pnpm run verify-tool-catalog`(`doc-sync`(文档同步门禁)的一部分)验证新鲜度;本中文文件作为经评审对侧通过双语配对维护。与 Cordis 目录(纯源码 AST 处理)不同,英文生成器会在真实上下文中**启动**每个工具插件并读取 `ctx.tools.schemas()`,因为工具 schema 无法通过静态分析完全确定,例如运行时展开的枚举、拼接的描述、由配置决定的名称以及使用原始 JSON Schema 的 MCP 工具。完整性守卫会 glob 匹配 `packages/*/tool-*`;如果生成器的启动 manifest(元数据清单)遗漏任何包,检查就会失败,因此新工具不会在无人察觉的情况下缺少文档。
|
|
13
14
|
|
|
14
15
|
范围:`packages/*/tool-*` 下已发布的产品工具,每个工具均使用其**默认**配置启动;但如果某个 Config 字段是**必填项**且没有默认值,生成器就必须作出选择,对应包的说明会记录本页展示的是哪个分支。注册的工具**名称**可以是加载时配置,例如 `tool-subagent` 的 `toolName`,因此部署可能以不同名称或额外名称提供某个包;如果存在随产品发布的别名,对应包的说明会予以记录。`examples/` 中的演示工具(例如 `echo`)不在范围内,这与 Cordis 目录仅涵盖包的范围一致。
|
|
15
16
|
|
|
@@ -21,12 +22,16 @@ editSource: "docs/tool-catalog.zh.md"
|
|
|
21
22
|
|
|
22
23
|
| 工具包 | 模型可见名称 | 依赖 | 写入/影响 | 随产品发布的别名 | 部署说明 |
|
|
23
24
|
| --- | --- | --- | --- | --- | --- |
|
|
24
|
-
| `@deepseek-ai/dsh-
|
|
25
|
-
| `@deepseek-ai/dsh-
|
|
25
|
+
| `@deepseek-ai/dsh-plugin-manager` | `plugin_manager` | `ctx.tools`, `ctx.pluginManager`, `ctx.sandboxPolicy` | `tool/call`, `tool/result`, `user/message` | - | - |
|
|
26
|
+
| `@deepseek-ai/dsh-mcp-resources` | `list_mcp_resource_templates`, `list_mcp_resources`, `read_mcp_resource` | `ctx.tools`, `ctx.mcpResources` | `tool/call`, `tool/result` | - | - |
|
|
27
|
+
| `@deepseek-ai/dsh-experimental-browser-use-stagehand-native` | `stagehand_act`、`stagehand_extract`、`stagehand_navigate`、`stagehand_observe`、`stagehand_screenshot`、`stagehand_tabs` | `ctx.browserUse`、`ctx.agents`、`ctx.tools`、`ctx.systemPrompt` | `tool/call`、`tool/result` | - | - |
|
|
28
|
+
| `@deepseek-ai/dsh-tool-ask-user` | `ask_user_question` | `ctx.tools`、`ctx.userQuestions` | `tool/call`、`tool/result after an answer or timeout`、`late user/message` | - | ask_user_question 默认保持原有阻塞行为;设置 `mode: timed` 后才启用前台超时与 pending 结果,同时问题仍可回答;timed 模式内 `timeout: -1` 让本次调用无限期阻塞。 |
|
|
29
|
+
| `@deepseek-ai/dsh-tools` | `run_code` | `ctx.tools`、`ctx.ptcRuntime (execution time)`、`ctx.systemPrompt` | `tool/call`、`one tool/ptc-dispatch-start + tool/ptc-dispatch pair per bridged sub-call`、`tool/result` | - | 在 `mode: ptc`/`mode: both` 下,它由工具注册表所有,作为可过滤能力层之外的保留传输机制(参见 PTC mode Agent Note)。在 `ptc` 下,它是注册表对协议格式(wire format)的唯一贡献;其他可见能力在使用已加载运行时语言生成的 SDK 章节中声明。程序通过 binding 调用这些能力,调用按照原生并发约定调度:启动顺序和策略遵循提交顺序,并发安全的函数体最多重叠执行 `maxParallelSubCalls` 个。调用会重新进入完整且受守卫保护的工具流水线,并将每个嵌套执行关联到此外层结果。 |
|
|
26
30
|
| `@deepseek-ai/dsh-plan-mode` | `exit_plan_mode` | `ctx.tools`、`ctx.systemPrompt`、`ctx.userQuestions (execution time, opportunistic)` | `tool/call`、`plan/mode inactive on an approved review`、`tool/result` | - | 规划未激活时,exit_plan_mode 仍保留在面向模型的 schema 中,这样状态转换不会在规划策略变更之外额外造成工具目录变动。其执行路径会拒绝规划模式之外的调用;在规划模式下,它通过用户交互 seam 提交计划(批准/根据反馈继续规划),批准后会在步骤边界记录规划模式已停用。 |
|
|
27
|
-
| `@deepseek-ai/dsh-tool-bash` | `bash` | `ctx.tools`、`ctx.shell`、`ctx.systemPrompt`、`ctx.shellEnv`、`ctx.jobs
|
|
28
|
-
| `@deepseek-ai/dsh-tool-
|
|
29
|
-
| `@deepseek-ai/dsh-tool-
|
|
31
|
+
| `@deepseek-ai/dsh-tool-bash` | `bash` | `ctx.tools`、`ctx.shell`、`ctx.systemPrompt`、`ctx.shellEnv`、`ctx.jobs for run_in_background and the job-backed foreground path` | `tool/call`、`tool/result` | - | bash 工具是 bash 执行器 seam 面向模型的消费方。组合中有 job 注册表时,每次调用一启动就注册到通用 `ctx.jobs` 运行时,并通过 `job_*` 工具(来自 `@deepseek-ai/dsh-tool-jobs`)收集/停止;没有注册表或 `enableRunInBackground: false` 时,工具注册不带 `run_in_background` 参数的纯前台 schema。 |
|
|
32
|
+
| `@deepseek-ai/dsh-tool-present` | `present` | `ctx.tools`, `ctx.fs`, `ctx.sessionProjections` | `tool/call`, `deliverables/presented 在成功的最终结果之后`, `tool/result` | - | 交付归调用方 Session 所有;Web ui-deliverables 提供源文件打开与卡片。 |
|
|
33
|
+
| `@deepseek-ai/dsh-tool-pwsh` | `pwsh` | `ctx.tools`、`ctx.shell`、`ctx.systemPrompt`、`ctx.shellEnv`、`ctx.jobs for run_in_background and the job-backed foreground path` | `tool/call`、`tool/result` | - | pwsh 工具是 Windows 组合中 bash 执行器 seam 的 PowerShell 方言消费方(由 `@deepseek-ai/dsh-pwsh-local` 等 PowerShell 执行器为 `ctx.shell` 提供后端);除沙箱接口外,它逐项对应 bash 工具调用。使用 `run_in_background` 的运行会注册到通用 `ctx.jobs` 运行时,并通过 `job_*` 工具收集/停止;托管的 `DSH_*` 环境来自 `@deepseek-ai/dsh-shell-env`。每次调用都在新进程中运行,不使用持久 PTY 会话。路径采用原生 `C:\...` 形式,变量采用 `$env:NAME`。 |
|
|
34
|
+
| `@deepseek-ai/dsh-tool-cordis` | `cordis_inspect_list`, `cordis_inspect_query` | `ctx.tools`, `ctx.cordisInspect` | `tool/call`, `tool/result` | - | 创造模式提供两个只读运行时检查工具。Cordis host runner 提供检查注册表;Client 查询需要已连接页面。持久化变更编写为组合包,再通过 plugin_manager 安装。 |
|
|
30
35
|
| `@deepseek-ai/dsh-tool-bash-persistent` | `bash` | `ctx.tools`、`ctx.terminals`、`an owning Agent at execution time` | `tool/call`、`PTY shell state`、`tool/result` | - | 一个按所有者隔离的持久 bash 工具;部署组合提供 PTY 后端,并可覆盖面向模型的环境描述。 |
|
|
31
36
|
| `@deepseek-ai/dsh-tool-pwsh-persistent` | `pwsh` | `ctx.tools`、`ctx.terminals`、`an owning Agent at execution time` | `tool/call`、`PTY shell state`、`tool/result` | - | 一个按所有者隔离的持久 pwsh 工具,持久 bash 工具的 Windows 对应物;部署组合提供 pwsh 方言的 PTY 后端,并可覆盖面向模型的环境描述。 |
|
|
32
37
|
| `@deepseek-ai/dsh-tool-str-replace-editor` | `str_replace_editor` | `ctx.tools`、`ctx.fs` | `tool/call`、`fs/observed after view presence/absence, edit absence, or successful mutation`、`tool/result` | - | 基于文件系统 seam 的独立查看/创建/唯一字面量替换/按行插入工具;可与任何 shell 或终端接口组合。 |
|
|
@@ -34,7 +39,7 @@ editSource: "docs/tool-catalog.zh.md"
|
|
|
34
39
|
| `@deepseek-ai/dsh-tool-fs-search` | `glob`、`grep` | `ctx.tools`、`ctx.subprocess`、`ctx.systemPrompt` | `tool/call`、`tool/result` | - | glob 和 grep 是无条件可用的发现工具,通过 ctx.subprocess spawn 随包提供的 ripgrep 二进制文件(`@vscode/ripgrep`),并作为普通前台调用运行,绝不作为后台任务;无需在宿主机安装 `rg`,也不经过 shell 层。本目录使用 `sampleOverCapGlobResults: true`;部署必须显式选择该行为。结果超过上限时,会通过可选的 ctx.spillStore 后端保存完整的格式化列表;在共置部署中,如果后端公开本地路径,返回的定位信息可供后续读取/搜索。 |
|
|
35
40
|
| `@deepseek-ai/dsh-tool-terminal` | `terminal_close`、`terminal_list`、`terminal_open`、`terminal_read`、`terminal_send`、`terminal_signal` | `ctx.tools`、`ctx.terminals`、`ctx.systemPrompt`、`ctx.jobs at call time for run_in_background` | `tool/call`、`tool/result` | - | 这 6 个终端工具需要选择启用,用于补充一次性 bash/文件系统工具。`terminal_send(run_in_background: true)` 会注册到 `ctx.jobs`;schema 不包含 TUI、具名按键序列、BEL、调整尺寸、自动启动和跨 agent 共享。 |
|
|
36
41
|
| `@deepseek-ai/dsh-tool-goal` | `create_goal`、`get_goal`、`update_goal` | `ctx.tools`、`ctx.agents`、`ctx.goals`、`ctx.systemPrompt`、`a calling Agent in an authorized open turn` | `tool/call`、`goal/change for mutations`、`tool/result` | - | create、edit、pause 和 resume 要求直接来自人类的根权限;complete 和 blocked 也接受确切的当前 Goal Round。blocked 的默认下限是 3 个获准的 Round。 |
|
|
37
|
-
| `@deepseek-ai/dsh-schedule` | `schedule_create`、`schedule_delete`、`schedule_list` | `ctx.tools`、`ctx.
|
|
42
|
+
| `@deepseek-ai/dsh-tool-schedule` | `schedule_create`、`schedule_delete`、`schedule_list`、`schedule_update` | `ctx.tools`、`ctx.schedule` | `tool/call`、Schedule storage domain 创建、更新或删除、`tool/result` | - | preset 或 Agent scope 挂载本包;由 preset 决定哪些 agent 获得这四个管理工具。每次调用都作用于调用方 Agent 的 Session。接受 after_seconds、显式绝对 at、有界固定速率 every_seconds、带显式 IANA 时区的每日与每周本地时间,以及作为五字段表达式的 cron。管理使用宿主 storage domain;到期消息会恢复原 Session。 |
|
|
38
43
|
| `@deepseek-ai/dsh-tool-lsp` | `lsp` | `ctx.tools`、`ctx.lsp`、`ctx.systemPrompt` | `tool/call`、`tool/result` | - | lsp 工具将提供方选择和语言服务器子进程置于 ctx.lsp 之后,因此其模型可见 schema 在更换提供方时保持稳定。运行时要求已注册提供方,例如 `@deepseek-ai/dsh-lsp-stdio`;如果没有提供方,查询会返回结构化 `LSP_UNAVAILABLE` 错误,而不会改变 schema。 |
|
|
39
44
|
| `@deepseek-ai/dsh-tool-ralph` | `ralph` | `ctx.tools`、`ctx.workflowEngine`、`ctx.subagents`、`ctx.systemPrompt`、`a calling Agent (exec.agent parents every fresh round)` | `tool/call`、`tool/result`、`workflow and child session events during execution` | - | 固定的前台工作流会在每个 Round 启动一个全新的结构化子级;模型只能选择不可变目标和可选的 Round 上限。 |
|
|
40
45
|
| `@deepseek-ai/dsh-tool-skill` | `skill` | `ctx.tools`、`ctx.agents`、`ctx.skills` | `tool/call`、`tool/result`、`user/message replacement catalogs via agent.inject()` | - | - |
|
|
@@ -45,466 +50,743 @@ editSource: "docs/tool-catalog.zh.md"
|
|
|
45
50
|
| `@deepseek-ai/dsh-experimental-tool-agent-team` | `interrupt_agent`、`list_agents`、`send_message`、`spawn_teammate`、`team_task_create`、`team_task_get`、`team_task_list`、`team_task_update`、`wait_agent` | `ctx.tools`、`ctx.systemPrompt`、`ctx.agentTeams`、`an exact live Team member Agent` | `tool/call`、`team/member`、`team/message/queued`、`team/message/delivered`、`team/task`、`tool/result` | - | 这 9 个工具限定于隐式 Team Lead 与持久 teammate 作用域。随产品发布的 dsh-base bundle 默认禁用该包;文档中的 Agent Teams profile patch 会启用它,并禁用旧 continuable child 的同名控制工具。 |
|
|
46
51
|
| `@deepseek-ai/dsh-tool-todo` | `todo_write` | `ctx.tools`、`owning Agent session` | `tool/call`、`todo/write`、`tool/result` | - | todo_write 是会话所有的状态;UI 将最新的 todo/write 事件渲染为检查清单。`allowParallelInProgress` 是没有默认值的必填项,因此本目录明确选择 `true`,对应描述允许同时存在多个 `in_progress` 项。选择 `false` 的部署会获得同一工具,但描述会要求只能有 1 个活动任务。 |
|
|
47
52
|
| `@deepseek-ai/dsh-tool-workflow` | `workflow` | `ctx.tools`、`ctx.workflowEngine`、`ctx.systemPrompt`、`a calling Agent (exec.agent parents the script children)` | `tool/call`、`tool/result` | - | - |
|
|
53
|
+
| `@deepseek-ai/dsh-tool-workspace-dependencies` | `load_workspace_dependencies` | `ctx.tools` | `tool/call`, `tool/result` | - | - |
|
|
48
54
|
| `@deepseek-ai/dsh-tool-web` | `web_fetch`、`web_search` | `ctx.tools`、`ctx.web`、`ctx.systemPrompt` | `tool/call`、`tool/result` | - | web_search 和 web_fetch 将提供方选择置于 ctx.web 之后,使模型可见 schema 在更换后端时保持稳定。 |
|
|
49
55
|
|
|
50
|
-
<a id="deepseek-aidsh-
|
|
56
|
+
<a id="deepseek-aidsh-plugin-manager"></a>
|
|
51
57
|
|
|
52
|
-
## `@deepseek-ai/dsh-
|
|
58
|
+
## `@deepseek-ai/dsh-plugin-manager`
|
|
53
59
|
|
|
54
|
-
### `
|
|
60
|
+
### `plugin_manager`
|
|
55
61
|
|
|
56
|
-
|
|
62
|
+
列出当前 profile 中的插件或组合包,启用或禁用它们,安装组合包或移除已安装的组合包。每项操作都要求 danger-full-access 权限或本次调用的批准。批准不改变会话权限模式。变更影响该 profile 的所有会话。先列出条目以获取准确标识。包安装可能运行已获批准的构建脚本。支持热更新的 profile 立即应用变更;仅启动时加载的 profile 需要重启。不兼容的 DSH peer 依赖会阻止安装和激活。版本豁免可能导致崩溃和数据丢失:授权前必须警告用户,并获得用户对精确插件版本与运行时版本组合的明确许可。
|
|
57
63
|
|
|
58
64
|
```json
|
|
59
65
|
{
|
|
60
66
|
"type": "object",
|
|
61
67
|
"properties": {
|
|
62
|
-
"
|
|
68
|
+
"action": {
|
|
69
|
+
"type": "string",
|
|
70
|
+
"description": "Management operation.",
|
|
71
|
+
"enum": [
|
|
72
|
+
"list_plugins",
|
|
73
|
+
"list_bundles",
|
|
74
|
+
"set_plugin",
|
|
75
|
+
"set_bundle",
|
|
76
|
+
"install_bundle",
|
|
77
|
+
"remove_bundle",
|
|
78
|
+
"list_version_exemptions",
|
|
79
|
+
"set_version_exemption"
|
|
80
|
+
]
|
|
81
|
+
},
|
|
82
|
+
"target": {
|
|
83
|
+
"type": "string",
|
|
84
|
+
"description": "Plugin entry id, bundle package name, or installation spec, according to action."
|
|
85
|
+
},
|
|
86
|
+
"enabled": {
|
|
87
|
+
"type": "boolean",
|
|
88
|
+
"description": "Required for set operations; defaults to true for installation. For set_version_exemption, true grants and false revokes."
|
|
89
|
+
},
|
|
90
|
+
"runtimeVersion": {
|
|
91
|
+
"type": "string",
|
|
92
|
+
"description": "For set_version_exemption: exact DSH version from list_version_exemptions. Target must be the manifest package-name@version, not an alias or version range."
|
|
93
|
+
},
|
|
94
|
+
"acceptRisk": {
|
|
95
|
+
"type": "boolean",
|
|
96
|
+
"description": "For granting an exemption: true only after warning the user about possible crashes and data loss and receiving explicit permission for this exact plugin/runtime pair. General installation permission is not enough."
|
|
97
|
+
},
|
|
98
|
+
"approvedBuilds": {
|
|
63
99
|
"type": "array",
|
|
64
|
-
"description": "
|
|
100
|
+
"description": "For install_bundle: pass names from pendingBuilds only after the user explicitly approves running their install scripts in the conversation. This grants persistent permission for this profile.",
|
|
65
101
|
"items": {
|
|
66
|
-
"type": "
|
|
67
|
-
"additionalProperties": true,
|
|
68
|
-
"properties": {
|
|
69
|
-
"id": {
|
|
70
|
-
"type": "string",
|
|
71
|
-
"description": "Stable id for this question; echoed in the answer."
|
|
72
|
-
},
|
|
73
|
-
"question": {
|
|
74
|
-
"type": "string",
|
|
75
|
-
"description": "The specific question to ask the user."
|
|
76
|
-
},
|
|
77
|
-
"header": {
|
|
78
|
-
"type": "string",
|
|
79
|
-
"description": "Optional short heading for the question, such as \"Confirm\" or \"Choose Mode\"."
|
|
80
|
-
},
|
|
81
|
-
"options": {
|
|
82
|
-
"type": "array",
|
|
83
|
-
"description": "Optional choices to show the user. If you recommend one, put it first and append \"(Recommended)\" to that label.",
|
|
84
|
-
"items": {
|
|
85
|
-
"type": "object",
|
|
86
|
-
"additionalProperties": true,
|
|
87
|
-
"properties": {
|
|
88
|
-
"label": {
|
|
89
|
-
"type": "string",
|
|
90
|
-
"description": "Short user-facing option label."
|
|
91
|
-
},
|
|
92
|
-
"description": {
|
|
93
|
-
"type": "string",
|
|
94
|
-
"description": "One sentence explaining the tradeoff or impact."
|
|
95
|
-
}
|
|
96
|
-
},
|
|
97
|
-
"required": [
|
|
98
|
-
"label"
|
|
99
|
-
]
|
|
100
|
-
}
|
|
101
|
-
},
|
|
102
|
-
"multi_select": {
|
|
103
|
-
"type": "boolean",
|
|
104
|
-
"description": "Whether the user may select more than one option. Defaults to false."
|
|
105
|
-
}
|
|
106
|
-
},
|
|
107
|
-
"required": [
|
|
108
|
-
"id",
|
|
109
|
-
"question"
|
|
110
|
-
]
|
|
102
|
+
"type": "string"
|
|
111
103
|
}
|
|
104
|
+
},
|
|
105
|
+
"registry": {
|
|
106
|
+
"type": "string",
|
|
107
|
+
"description": "For install_bundle: the npm registry URL asked first, when the user names one; otherwise the configured registry is asked, and its configured fallbacks while a registry is unreachable."
|
|
108
|
+
},
|
|
109
|
+
"offset": {
|
|
110
|
+
"type": "number",
|
|
111
|
+
"description": "Zero-based list offset; defaults to 0."
|
|
112
|
+
},
|
|
113
|
+
"limit": {
|
|
114
|
+
"type": "number",
|
|
115
|
+
"description": "List page size, from 1 to 100; defaults to 25."
|
|
112
116
|
}
|
|
113
117
|
},
|
|
114
118
|
"required": [
|
|
115
|
-
"
|
|
119
|
+
"action"
|
|
116
120
|
]
|
|
117
121
|
}
|
|
118
122
|
```
|
|
119
123
|
|
|
120
|
-
来源:[`packages/
|
|
124
|
+
来源: [`packages/boot/plugin-manager/src/tools.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/boot/plugin-manager/src/tools.ts)
|
|
121
125
|
|
|
122
|
-
|
|
126
|
+
<a id="deepseek-aidsh-mcp-resources"></a>
|
|
123
127
|
|
|
124
|
-
|
|
128
|
+
## `@deepseek-ai/dsh-mcp-resources`
|
|
125
129
|
|
|
126
|
-
|
|
130
|
+
### `list_mcp_resource_templates`
|
|
127
131
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
针对可用工具执行 TypeScript 程序。接受两个必填参数:`code`,即异步函数的**函数体**(仅使用可擦除语法;支持顶层 `await` 和 `return`);以及 `description`,简要说明该程序做什么。请根据系统提示词中的声明,以 `await tools.name(args)` 形式调用工具。只有打印或返回的内容属于程序输出,请谨慎筛选。含图片的子工具结果会在运行结束后附加。
|
|
132
|
+
列出 MCP 服务器提供的参数化资源 URI 模板。
|
|
131
133
|
|
|
132
134
|
```json
|
|
133
135
|
{
|
|
134
136
|
"type": "object",
|
|
135
137
|
"properties": {
|
|
136
|
-
"
|
|
138
|
+
"server": {
|
|
137
139
|
"type": "string",
|
|
138
|
-
"description": "
|
|
140
|
+
"description": "Configured MCP server name."
|
|
139
141
|
},
|
|
140
|
-
"
|
|
142
|
+
"cursor": {
|
|
141
143
|
"type": "string",
|
|
142
|
-
"description": "
|
|
144
|
+
"description": "Continuation cursor returned by this server."
|
|
143
145
|
}
|
|
144
146
|
},
|
|
145
147
|
"required": [
|
|
146
|
-
"
|
|
147
|
-
"description"
|
|
148
|
+
"server"
|
|
148
149
|
]
|
|
149
150
|
}
|
|
150
151
|
```
|
|
151
152
|
|
|
152
|
-
来源:[`packages/
|
|
153
|
+
来源: [`packages/mcp/mcp-resources/src/tools.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/mcp/mcp-resources/src/tools.ts)
|
|
153
154
|
|
|
154
|
-
|
|
155
|
+
### `list_mcp_resources`
|
|
155
156
|
|
|
156
|
-
|
|
157
|
+
列出 MCP 服务器提供的资源。
|
|
157
158
|
|
|
158
|
-
|
|
159
|
+
```json
|
|
160
|
+
{
|
|
161
|
+
"type": "object",
|
|
162
|
+
"properties": {
|
|
163
|
+
"server": {
|
|
164
|
+
"type": "string",
|
|
165
|
+
"description": "Configured MCP server name."
|
|
166
|
+
},
|
|
167
|
+
"cursor": {
|
|
168
|
+
"type": "string",
|
|
169
|
+
"description": "Continuation cursor returned by this server."
|
|
170
|
+
}
|
|
171
|
+
},
|
|
172
|
+
"required": [
|
|
173
|
+
"server"
|
|
174
|
+
]
|
|
175
|
+
}
|
|
176
|
+
```
|
|
159
177
|
|
|
160
|
-
|
|
178
|
+
来源: [`packages/mcp/mcp-resources/src/tools.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/mcp/mcp-resources/src/tools.ts)
|
|
179
|
+
|
|
180
|
+
### `read_mcp_resource`
|
|
161
181
|
|
|
162
|
-
|
|
182
|
+
按 URI 从指定服务器读取 MCP 资源。使用已列出的 URI 或展开后的资源模板。
|
|
163
183
|
|
|
164
184
|
```json
|
|
165
185
|
{
|
|
166
186
|
"type": "object",
|
|
167
187
|
"properties": {
|
|
168
|
-
"
|
|
188
|
+
"server": {
|
|
169
189
|
"type": "string",
|
|
170
|
-
"description": "
|
|
190
|
+
"description": "Configured MCP server name."
|
|
191
|
+
},
|
|
192
|
+
"uri": {
|
|
193
|
+
"type": "string",
|
|
194
|
+
"description": "Resource URI to read."
|
|
171
195
|
}
|
|
172
196
|
},
|
|
173
197
|
"required": [
|
|
174
|
-
"
|
|
198
|
+
"server",
|
|
199
|
+
"uri"
|
|
175
200
|
]
|
|
176
201
|
}
|
|
177
202
|
```
|
|
178
203
|
|
|
179
|
-
来源:[`packages/
|
|
180
|
-
|
|
181
|
-
规划未激活时,exit_plan_mode 仍保留在面向模型的 schema 中,这样状态转换不会在规划策略变更之外额外造成工具目录变动。其执行路径会拒绝规划模式之外的调用;在规划模式下,它通过用户交互 seam 提交计划(批准/根据反馈继续规划),批准后会在步骤边界记录规划模式已停用。
|
|
204
|
+
来源: [`packages/mcp/mcp-resources/src/tools.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/mcp/mcp-resources/src/tools.ts)
|
|
182
205
|
|
|
183
|
-
<a id="deepseek-aidsh-
|
|
206
|
+
<a id="deepseek-aidsh-experimental-browser-use-stagehand-native"></a>
|
|
184
207
|
|
|
185
|
-
## `@deepseek-ai/dsh-
|
|
208
|
+
## `@deepseek-ai/dsh-experimental-browser-use-stagehand-native`
|
|
186
209
|
|
|
187
|
-
### `
|
|
210
|
+
### `stagehand_act`
|
|
188
211
|
|
|
189
|
-
|
|
212
|
+
使用配置的 Stagehand 模型执行一次自然语言浏览器操作。
|
|
190
213
|
|
|
191
214
|
```json
|
|
192
215
|
{
|
|
216
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
193
217
|
"type": "object",
|
|
194
218
|
"properties": {
|
|
195
|
-
"
|
|
219
|
+
"pageId": {
|
|
196
220
|
"type": "string",
|
|
197
|
-
"
|
|
221
|
+
"minLength": 1
|
|
198
222
|
},
|
|
199
|
-
"
|
|
223
|
+
"instruction": {
|
|
200
224
|
"type": "string",
|
|
201
|
-
"
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
225
|
+
"minLength": 1
|
|
226
|
+
}
|
|
227
|
+
},
|
|
228
|
+
"required": [
|
|
229
|
+
"instruction"
|
|
230
|
+
],
|
|
231
|
+
"additionalProperties": false
|
|
232
|
+
}
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
来源:[`packages/experimental/browser-use-stagehand-native/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/browser-use-stagehand-native/src/index.ts)
|
|
236
|
+
|
|
237
|
+
### `stagehand_extract`
|
|
238
|
+
|
|
239
|
+
使用配置的 Stagehand 模型与可选的 JSON Schema 提取页面数据。
|
|
240
|
+
|
|
241
|
+
```json
|
|
242
|
+
{
|
|
243
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
244
|
+
"type": "object",
|
|
245
|
+
"properties": {
|
|
246
|
+
"pageId": {
|
|
247
|
+
"type": "string",
|
|
248
|
+
"minLength": 1
|
|
206
249
|
},
|
|
207
|
-
"
|
|
250
|
+
"instruction": {
|
|
208
251
|
"type": "string",
|
|
209
|
-
"
|
|
252
|
+
"minLength": 1
|
|
210
253
|
},
|
|
211
|
-
"
|
|
212
|
-
"type": "
|
|
213
|
-
"
|
|
254
|
+
"schema": {
|
|
255
|
+
"type": "object",
|
|
256
|
+
"propertyNames": {
|
|
257
|
+
"type": "string"
|
|
258
|
+
},
|
|
259
|
+
"additionalProperties": {
|
|
260
|
+
"$ref": "#/$defs/__schema0"
|
|
261
|
+
}
|
|
214
262
|
}
|
|
215
263
|
},
|
|
216
264
|
"required": [
|
|
217
|
-
"
|
|
218
|
-
|
|
219
|
-
|
|
265
|
+
"instruction"
|
|
266
|
+
],
|
|
267
|
+
"additionalProperties": false,
|
|
268
|
+
"$defs": {
|
|
269
|
+
"__schema0": {
|
|
270
|
+
"anyOf": [
|
|
271
|
+
{
|
|
272
|
+
"type": "string"
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
"type": "number"
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
"type": "boolean"
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
"type": "null"
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
"type": "array",
|
|
285
|
+
"items": {
|
|
286
|
+
"$ref": "#/$defs/__schema0"
|
|
287
|
+
}
|
|
288
|
+
},
|
|
289
|
+
{
|
|
290
|
+
"type": "object",
|
|
291
|
+
"propertyNames": {
|
|
292
|
+
"type": "string"
|
|
293
|
+
},
|
|
294
|
+
"additionalProperties": {
|
|
295
|
+
"$ref": "#/$defs/__schema0"
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
]
|
|
299
|
+
}
|
|
300
|
+
}
|
|
220
301
|
}
|
|
221
302
|
```
|
|
222
303
|
|
|
223
|
-
来源:[`packages/
|
|
304
|
+
来源:[`packages/experimental/browser-use-stagehand-native/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/browser-use-stagehand-native/src/index.ts)
|
|
224
305
|
|
|
225
|
-
|
|
306
|
+
### `stagehand_navigate`
|
|
226
307
|
|
|
227
|
-
|
|
308
|
+
将 Stagehand 浏览器标签页导航至指定 URL。
|
|
228
309
|
|
|
229
|
-
|
|
310
|
+
```json
|
|
311
|
+
{
|
|
312
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
313
|
+
"type": "object",
|
|
314
|
+
"properties": {
|
|
315
|
+
"pageId": {
|
|
316
|
+
"type": "string",
|
|
317
|
+
"minLength": 1
|
|
318
|
+
},
|
|
319
|
+
"url": {
|
|
320
|
+
"type": "string",
|
|
321
|
+
"format": "uri"
|
|
322
|
+
}
|
|
323
|
+
},
|
|
324
|
+
"required": [
|
|
325
|
+
"url"
|
|
326
|
+
],
|
|
327
|
+
"additionalProperties": false
|
|
328
|
+
}
|
|
329
|
+
```
|
|
230
330
|
|
|
231
|
-
|
|
331
|
+
来源:[`packages/experimental/browser-use-stagehand-native/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/browser-use-stagehand-native/src/index.ts)
|
|
232
332
|
|
|
233
|
-
|
|
333
|
+
### `stagehand_observe`
|
|
334
|
+
|
|
335
|
+
使用配置的 Stagehand 模型查找符合指令的浏览器操作。
|
|
234
336
|
|
|
235
337
|
```json
|
|
236
338
|
{
|
|
339
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
237
340
|
"type": "object",
|
|
238
341
|
"properties": {
|
|
239
|
-
"
|
|
342
|
+
"pageId": {
|
|
240
343
|
"type": "string",
|
|
241
|
-
"
|
|
344
|
+
"minLength": 1
|
|
242
345
|
},
|
|
243
|
-
"
|
|
346
|
+
"instruction": {
|
|
244
347
|
"type": "string",
|
|
245
|
-
"
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
348
|
+
"minLength": 1
|
|
349
|
+
}
|
|
350
|
+
},
|
|
351
|
+
"required": [
|
|
352
|
+
"instruction"
|
|
353
|
+
],
|
|
354
|
+
"additionalProperties": false
|
|
355
|
+
}
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
来源:[`packages/experimental/browser-use-stagehand-native/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/browser-use-stagehand-native/src/index.ts)
|
|
359
|
+
|
|
360
|
+
### `stagehand_screenshot`
|
|
361
|
+
|
|
362
|
+
截取 Stagehand 标签页图像以供视觉检查。
|
|
363
|
+
|
|
364
|
+
```json
|
|
365
|
+
{
|
|
366
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
367
|
+
"type": "object",
|
|
368
|
+
"properties": {
|
|
369
|
+
"pageId": {
|
|
252
370
|
"type": "string",
|
|
253
|
-
"
|
|
371
|
+
"minLength": 1
|
|
254
372
|
},
|
|
255
|
-
"
|
|
256
|
-
"
|
|
257
|
-
"
|
|
373
|
+
"fullPage": {
|
|
374
|
+
"default": false,
|
|
375
|
+
"type": "boolean"
|
|
258
376
|
}
|
|
259
377
|
},
|
|
260
378
|
"required": [
|
|
261
|
-
"
|
|
262
|
-
|
|
263
|
-
|
|
379
|
+
"fullPage"
|
|
380
|
+
],
|
|
381
|
+
"additionalProperties": false
|
|
264
382
|
}
|
|
265
383
|
```
|
|
266
384
|
|
|
267
|
-
来源:[`packages/
|
|
385
|
+
来源:[`packages/experimental/browser-use-stagehand-native/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/browser-use-stagehand-native/src/index.ts)
|
|
268
386
|
|
|
269
|
-
|
|
387
|
+
### `stagehand_tabs`
|
|
270
388
|
|
|
271
|
-
|
|
389
|
+
列出、创建、选择或关闭 Stagehand 浏览器标签页。
|
|
272
390
|
|
|
273
|
-
|
|
391
|
+
```json
|
|
392
|
+
{
|
|
393
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
394
|
+
"oneOf": [
|
|
395
|
+
{
|
|
396
|
+
"type": "object",
|
|
397
|
+
"properties": {
|
|
398
|
+
"action": {
|
|
399
|
+
"type": "string",
|
|
400
|
+
"const": "list"
|
|
401
|
+
}
|
|
402
|
+
},
|
|
403
|
+
"required": [
|
|
404
|
+
"action"
|
|
405
|
+
],
|
|
406
|
+
"additionalProperties": false
|
|
407
|
+
},
|
|
408
|
+
{
|
|
409
|
+
"type": "object",
|
|
410
|
+
"properties": {
|
|
411
|
+
"action": {
|
|
412
|
+
"type": "string",
|
|
413
|
+
"const": "new"
|
|
414
|
+
},
|
|
415
|
+
"url": {
|
|
416
|
+
"type": "string",
|
|
417
|
+
"format": "uri"
|
|
418
|
+
}
|
|
419
|
+
},
|
|
420
|
+
"required": [
|
|
421
|
+
"action"
|
|
422
|
+
],
|
|
423
|
+
"additionalProperties": false
|
|
424
|
+
},
|
|
425
|
+
{
|
|
426
|
+
"type": "object",
|
|
427
|
+
"properties": {
|
|
428
|
+
"action": {
|
|
429
|
+
"type": "string",
|
|
430
|
+
"enum": [
|
|
431
|
+
"select",
|
|
432
|
+
"close"
|
|
433
|
+
]
|
|
434
|
+
},
|
|
435
|
+
"pageId": {
|
|
436
|
+
"type": "string",
|
|
437
|
+
"minLength": 1
|
|
438
|
+
}
|
|
439
|
+
},
|
|
440
|
+
"required": [
|
|
441
|
+
"action",
|
|
442
|
+
"pageId"
|
|
443
|
+
],
|
|
444
|
+
"additionalProperties": false
|
|
445
|
+
}
|
|
446
|
+
],
|
|
447
|
+
"type": "object"
|
|
448
|
+
}
|
|
449
|
+
```
|
|
450
|
+
|
|
451
|
+
来源:[`packages/experimental/browser-use-stagehand-native/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/browser-use-stagehand-native/src/index.ts)
|
|
452
|
+
|
|
453
|
+
<a id="deepseek-aidsh-tool-ask-user"></a>
|
|
274
454
|
|
|
275
|
-
|
|
455
|
+
## `@deepseek-ai/dsh-tool-ask-user`
|
|
456
|
+
|
|
457
|
+
### `ask_user_question`
|
|
276
458
|
|
|
277
|
-
|
|
459
|
+
继续操作前,如果需要确认、选择或缺失的信息,请向用户提出简明问题。
|
|
278
460
|
|
|
279
461
|
```json
|
|
280
462
|
{
|
|
281
463
|
"type": "object",
|
|
282
464
|
"properties": {
|
|
283
|
-
"
|
|
284
|
-
"
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
"idPrefix": {
|
|
294
|
-
"type": "string",
|
|
295
|
-
"description": "Suggested semantic prefix of 3–6 lowercase English letters; the Host adds a unique numeric suffix."
|
|
296
|
-
}
|
|
465
|
+
"questions": {
|
|
466
|
+
"type": "array",
|
|
467
|
+
"description": "Questions to ask the user before continuing.",
|
|
468
|
+
"items": {
|
|
469
|
+
"type": "object",
|
|
470
|
+
"additionalProperties": true,
|
|
471
|
+
"properties": {
|
|
472
|
+
"id": {
|
|
473
|
+
"type": "string",
|
|
474
|
+
"description": "Stable id for this question; echoed in the answer."
|
|
297
475
|
},
|
|
298
|
-
"
|
|
299
|
-
"
|
|
300
|
-
"
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
"
|
|
307
|
-
"
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
"
|
|
313
|
-
|
|
476
|
+
"question": {
|
|
477
|
+
"type": "string",
|
|
478
|
+
"description": "The specific question to ask the user."
|
|
479
|
+
},
|
|
480
|
+
"header": {
|
|
481
|
+
"type": "string",
|
|
482
|
+
"description": "Optional short heading for the question, such as \"Confirm\" or \"Choose Mode\"."
|
|
483
|
+
},
|
|
484
|
+
"options": {
|
|
485
|
+
"type": "array",
|
|
486
|
+
"description": "Optional choices to show the user. If you recommend one, put it first and append \"(Recommended)\" to that label.",
|
|
487
|
+
"items": {
|
|
488
|
+
"type": "object",
|
|
489
|
+
"additionalProperties": true,
|
|
490
|
+
"properties": {
|
|
491
|
+
"label": {
|
|
492
|
+
"type": "string",
|
|
493
|
+
"description": "Short user-facing option label."
|
|
494
|
+
},
|
|
495
|
+
"description": {
|
|
496
|
+
"type": "string",
|
|
497
|
+
"description": "One sentence explaining the tradeoff or impact."
|
|
498
|
+
}
|
|
499
|
+
},
|
|
500
|
+
"required": [
|
|
501
|
+
"label"
|
|
502
|
+
]
|
|
314
503
|
}
|
|
315
504
|
},
|
|
316
|
-
"
|
|
317
|
-
"
|
|
318
|
-
"
|
|
319
|
-
|
|
320
|
-
}
|
|
321
|
-
|
|
505
|
+
"multi_select": {
|
|
506
|
+
"type": "boolean",
|
|
507
|
+
"description": "Whether the user may select more than one option. Defaults to false."
|
|
508
|
+
}
|
|
509
|
+
},
|
|
510
|
+
"required": [
|
|
511
|
+
"id",
|
|
512
|
+
"question"
|
|
513
|
+
]
|
|
514
|
+
}
|
|
515
|
+
}
|
|
516
|
+
},
|
|
517
|
+
"required": [
|
|
518
|
+
"questions"
|
|
519
|
+
]
|
|
520
|
+
}
|
|
521
|
+
```
|
|
522
|
+
|
|
523
|
+
来源:[`packages/interaction/tool-ask-user/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/interaction/tool-ask-user/src/index.ts)
|
|
524
|
+
|
|
525
|
+
ask_user_question 默认保持原有阻塞行为;设置 `mode: timed` 后才启用前台超时与 pending 结果,同时问题仍可回答;timed 模式内 `timeout: -1` 让本次调用无限期阻塞。
|
|
526
|
+
|
|
527
|
+
<a id="deepseek-aidsh-tools"></a>
|
|
528
|
+
|
|
529
|
+
## `@deepseek-ai/dsh-tools`
|
|
530
|
+
|
|
531
|
+
### `run_code`
|
|
532
|
+
|
|
533
|
+
针对可用工具执行 TypeScript 程序。接受两个必填参数:`description`,简要说明该程序做什么;以及 `code`,即异步函数的**函数体**(仅使用可擦除语法;支持顶层 `await` 和 `return`)。请根据系统提示词中的声明,以 `await tools.name(args)` 形式调用工具。只有打印或返回的内容属于程序输出,请谨慎筛选。含图片的子工具结果会在运行结束后附加。
|
|
534
|
+
|
|
535
|
+
```json
|
|
536
|
+
{
|
|
537
|
+
"type": "object",
|
|
538
|
+
"properties": {
|
|
539
|
+
"description": {
|
|
540
|
+
"type": "string",
|
|
541
|
+
"description": "Clear, concise description of what this program does in active voice, 5-10 words (shown in the UI). Provide `description` before `code` in the arguments. Examples: \"Count TODO markers across packages\"; \"Read failing test and its fixture\"; \"Rename config key in every cordis.yml\"."
|
|
322
542
|
},
|
|
323
|
-
"
|
|
543
|
+
"code": {
|
|
324
544
|
"type": "string",
|
|
325
|
-
"description": "
|
|
545
|
+
"description": "The program: the body of an async TypeScript function."
|
|
546
|
+
},
|
|
547
|
+
"timeoutMs": {
|
|
548
|
+
"type": "number",
|
|
549
|
+
"description": "Positive elapsed-time budget in milliseconds, capped by the deployment maximum."
|
|
326
550
|
},
|
|
327
|
-
"
|
|
551
|
+
"sandbox_permissions": {
|
|
328
552
|
"type": "string",
|
|
329
|
-
"description": "
|
|
553
|
+
"description": "Wider sandbox mode for this complete program execution; requires justification and approval.",
|
|
554
|
+
"enum": [
|
|
555
|
+
"workspace-write",
|
|
556
|
+
"danger-full-access"
|
|
557
|
+
]
|
|
330
558
|
},
|
|
331
|
-
"
|
|
332
|
-
"type": "
|
|
333
|
-
"
|
|
334
|
-
"properties": {
|
|
335
|
-
"host": {
|
|
336
|
-
"type": "string",
|
|
337
|
-
"description": "Plain JavaScript function body that returns the Host-half Cordis Plugin."
|
|
338
|
-
},
|
|
339
|
-
"client": {
|
|
340
|
-
"type": "string",
|
|
341
|
-
"description": "Plain JavaScript function body that returns the browser Client-half Cordis Plugin."
|
|
342
|
-
}
|
|
343
|
-
}
|
|
559
|
+
"justification": {
|
|
560
|
+
"type": "string",
|
|
561
|
+
"description": "Reason this complete program needs wider access, shown to the user for approval. Use the language of the user’s current request."
|
|
344
562
|
}
|
|
345
563
|
},
|
|
346
564
|
"required": [
|
|
347
|
-
"
|
|
348
|
-
"name",
|
|
349
|
-
"purpose",
|
|
565
|
+
"description",
|
|
350
566
|
"code"
|
|
351
567
|
]
|
|
352
568
|
}
|
|
353
569
|
```
|
|
354
570
|
|
|
355
|
-
来源:[`packages/
|
|
571
|
+
来源:[`packages/core/tools/src/ptc.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/core/tools/src/ptc.ts)
|
|
356
572
|
|
|
357
|
-
|
|
573
|
+
在 `mode: ptc`/`mode: both` 下,它由工具注册表所有,作为可过滤能力层之外的保留传输机制(参见 PTC mode Agent Note)。在 `ptc` 下,它是注册表对协议格式的唯一贡献;其他可见能力在使用已加载运行时语言生成的 SDK 章节中声明。程序通过 binding 调用这些能力,调用按照原生并发约定调度:启动顺序和策略遵循提交顺序,并发安全的函数体最多重叠执行 `maxParallelSubCalls` 个。调用会重新进入完整且受守卫保护的工具流水线,并将每个嵌套执行关联到此外层结果。
|
|
358
574
|
|
|
359
|
-
|
|
575
|
+
<a id="deepseek-aidsh-plan-mode"></a>
|
|
576
|
+
|
|
577
|
+
## `@deepseek-ai/dsh-plan-mode`
|
|
578
|
+
|
|
579
|
+
### `exit_plan_mode`
|
|
580
|
+
|
|
581
|
+
仅在规划模式下使用。提交计划供用户评审,并在获批后退出规划模式。用户可以批准(从你的下一步骤起执行计划),也可以要求继续规划;其反馈会通过工具结果返回,请修改后再次提交。
|
|
360
582
|
|
|
361
583
|
```json
|
|
362
584
|
{
|
|
363
585
|
"type": "object",
|
|
364
|
-
"properties": {
|
|
586
|
+
"properties": {
|
|
587
|
+
"plan": {
|
|
588
|
+
"type": "string",
|
|
589
|
+
"description": "The complete plan, as markdown, starting with a # heading that names it."
|
|
590
|
+
}
|
|
591
|
+
},
|
|
592
|
+
"required": [
|
|
593
|
+
"plan"
|
|
594
|
+
]
|
|
365
595
|
}
|
|
366
596
|
```
|
|
367
597
|
|
|
368
|
-
来源:[`packages/
|
|
598
|
+
来源:[`packages/plan/plan-mode/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/plan/plan-mode/src/index.ts)
|
|
369
599
|
|
|
370
|
-
|
|
600
|
+
规划未激活时,exit_plan_mode 仍保留在面向模型的 schema 中,这样状态转换不会在规划策略变更之外额外造成工具目录变动。其执行路径会拒绝规划模式之外的调用;在规划模式下,它通过用户交互 seam 提交计划(批准/根据反馈继续规划),批准后会在步骤边界记录规划模式已停用。
|
|
371
601
|
|
|
372
|
-
|
|
602
|
+
<a id="deepseek-aidsh-tool-bash"></a>
|
|
603
|
+
|
|
604
|
+
## `@deepseek-ai/dsh-tool-bash`
|
|
605
|
+
|
|
606
|
+
### `bash`
|
|
607
|
+
|
|
608
|
+
执行 bash 命令(`bash -c`)并返回 stdout/stderr。每次调用都在新 shell 中运行;请传入 `workdir`,不要使用 `cd`。托管的 `$DSH_*` 变量公开当前 harness 环境信息。较长的输出会截断,只保留尾部;如可用,完整输出会保存到文件并报告其路径。请在参数中先提供 `description`,再提供 `command`。在任何删除或移动之前,请确认解析后的绝对目标路径正是预期路径;绝不要对未经检查的计算路径执行此类操作。未设置的变量会展开为空字符串,因此请用 `${VAR:?}` 保护此类路径中的变量。命令可能在文件沙箱中运行;被阻止的文件操作报告为 `[sandbox: file access denied under <mode> mode]`,这是策略拒绝:请勿换一种方式重试。
|
|
373
609
|
|
|
374
610
|
```json
|
|
375
611
|
{
|
|
376
612
|
"type": "object",
|
|
377
|
-
"properties": {
|
|
378
|
-
"
|
|
379
|
-
"type": "string",
|
|
380
|
-
"description": "
|
|
381
|
-
"enum": [
|
|
382
|
-
"host",
|
|
383
|
-
"client"
|
|
384
|
-
]
|
|
613
|
+
"properties": {
|
|
614
|
+
"description": {
|
|
615
|
+
"type": "string",
|
|
616
|
+
"description": "Clear, concise description of what this command does in active voice, 5-10 words (shown in the UI). Examples: \"ls\" → \"List files in current directory\"; \"git status\" → \"Show working tree status\"; \"npm install\" → \"Install package dependencies\"."
|
|
385
617
|
},
|
|
386
|
-
"
|
|
618
|
+
"command": {
|
|
387
619
|
"type": "string",
|
|
388
|
-
"description": "
|
|
620
|
+
"description": "The bash command to execute."
|
|
389
621
|
},
|
|
390
|
-
"
|
|
622
|
+
"timeoutMs": {
|
|
623
|
+
"type": "number",
|
|
624
|
+
"description": "Timeout in milliseconds. The executor applies its configured default and cap; on expiry the command moves to the background as a job instead of being killed."
|
|
625
|
+
},
|
|
626
|
+
"workdir": {
|
|
391
627
|
"type": "string",
|
|
392
|
-
"description": "
|
|
628
|
+
"description": "Working directory for this command. Defaults to the session workspace; a relative path is resolved against it."
|
|
393
629
|
},
|
|
394
|
-
"
|
|
395
|
-
"
|
|
630
|
+
"run_in_background": {
|
|
631
|
+
"type": "boolean",
|
|
632
|
+
"description": "Run in the background and return a job id immediately (collect with job_output, stop with job_kill). No timeout applies."
|
|
396
633
|
}
|
|
397
634
|
},
|
|
398
635
|
"required": [
|
|
399
|
-
"
|
|
400
|
-
"
|
|
401
|
-
"method"
|
|
636
|
+
"description",
|
|
637
|
+
"command"
|
|
402
638
|
]
|
|
403
639
|
}
|
|
404
640
|
```
|
|
405
641
|
|
|
406
|
-
来源:[`packages/
|
|
642
|
+
来源:[`packages/shell/tool-bash/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/shell/tool-bash/src/index.ts)
|
|
643
|
+
|
|
644
|
+
bash 工具是 bash 执行器 seam 面向模型的消费方。组合中有 job 注册表时,每次调用一启动就注册到通用 `ctx.jobs` 运行时,并通过 `job_*` 工具(来自 `@deepseek-ai/dsh-tool-jobs`)收集/停止;没有注册表或 `enableRunInBackground: false` 时,工具注册不带 `run_in_background` 参数的纯前台 schema。
|
|
645
|
+
|
|
646
|
+
<a id="deepseek-aidsh-tool-present"></a>
|
|
407
647
|
|
|
408
|
-
|
|
648
|
+
## `@deepseek-ai/dsh-tool-present`
|
|
409
649
|
|
|
410
|
-
|
|
650
|
+
### `present`
|
|
651
|
+
|
|
652
|
+
将已有文件声明为交付给用户的最终交付物。当用户需要独立文件时使用,尤其是 Office 文档、电子表格和演示文稿;如果最终回复已经足够,优先使用最终回复。用户打开的是当前文件;不复制其内容。
|
|
411
653
|
|
|
412
654
|
```json
|
|
413
655
|
{
|
|
414
656
|
"type": "object",
|
|
415
657
|
"properties": {
|
|
416
|
-
"
|
|
417
|
-
"type": "
|
|
418
|
-
"description": "
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
658
|
+
"files": {
|
|
659
|
+
"type": "array",
|
|
660
|
+
"description": "Usually the 1-2 most important deliverables; at most 4 per call.",
|
|
661
|
+
"items": {
|
|
662
|
+
"type": "object",
|
|
663
|
+
"additionalProperties": false,
|
|
664
|
+
"properties": {
|
|
665
|
+
"path": {
|
|
666
|
+
"type": "string",
|
|
667
|
+
"description": "Path of an existing regular file. Relative paths use the Session working directory."
|
|
668
|
+
},
|
|
669
|
+
"description": {
|
|
670
|
+
"type": "string",
|
|
671
|
+
"description": "Brief description for the user."
|
|
672
|
+
}
|
|
673
|
+
},
|
|
674
|
+
"required": [
|
|
675
|
+
"path"
|
|
676
|
+
]
|
|
677
|
+
}
|
|
423
678
|
}
|
|
424
|
-
}
|
|
679
|
+
},
|
|
680
|
+
"required": [
|
|
681
|
+
"files"
|
|
682
|
+
]
|
|
425
683
|
}
|
|
426
684
|
```
|
|
427
685
|
|
|
428
|
-
来源:[`packages/
|
|
686
|
+
来源: [`packages/deliverables/tool-present/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/deliverables/tool-present/src/index.ts)
|
|
687
|
+
|
|
688
|
+
交付归调用方 Session 所有;Web ui-deliverables 提供源文件打开与卡片。
|
|
689
|
+
|
|
690
|
+
<a id="deepseek-aidsh-tool-pwsh"></a>
|
|
691
|
+
|
|
692
|
+
## `@deepseek-ai/dsh-tool-pwsh`
|
|
429
693
|
|
|
430
|
-
### `
|
|
694
|
+
### `pwsh`
|
|
431
695
|
|
|
432
|
-
|
|
696
|
+
执行 PowerShell 命令(`pwsh -Command`)并返回 stdout/stderr。每次调用都在新的 pwsh 进程中运行;请传入 `workdir`,不要使用 `cd`。路径采用 Windows 原生形式(`C:\...`);使用 `$env:NAME` 读取环境变量。托管的 `$env:DSH_*` 变量公开当前 harness 环境信息。较长的输出会截断,只保留尾部;如可用,完整输出会保存到文件并报告其路径。在 Windows 上,被强制终止的命令会以 `[exit code: 1]` 结算且不带信号标记,请将其视为中断,而不是命令失败。请在参数中先提供 `description`,再提供 `command`。在任何删除或移动之前,请确认解析后的绝对目标路径正是预期路径;绝不要对未经检查的计算路径执行此类操作。不要给 `$HOME` 等自动变量赋值;变量名不区分大小写,因此 `$home` 就是同一个只读变量。命令可能在文件沙箱中运行;被阻止的文件操作报告为 `[sandbox: file access denied under <mode> mode]`,这是策略拒绝:请勿换一种方式重试。
|
|
433
697
|
|
|
434
698
|
```json
|
|
435
699
|
{
|
|
436
700
|
"type": "object",
|
|
437
701
|
"properties": {
|
|
438
|
-
"
|
|
702
|
+
"description": {
|
|
439
703
|
"type": "string",
|
|
440
|
-
"description": "
|
|
704
|
+
"description": "Clear, concise description of what this command does in active voice, 5-10 words (shown in the UI). Examples: \"ls\" → \"List files in current directory\"; \"git status\" → \"Show working tree status\"; \"Get-Process\" → \"List running processes\"."
|
|
441
705
|
},
|
|
442
|
-
"
|
|
706
|
+
"command": {
|
|
443
707
|
"type": "string",
|
|
444
|
-
"description": "
|
|
708
|
+
"description": "The PowerShell command to execute."
|
|
709
|
+
},
|
|
710
|
+
"timeoutMs": {
|
|
711
|
+
"type": "number",
|
|
712
|
+
"description": "Timeout in milliseconds. The executor applies its configured default and cap; on expiry the command moves to the background as a job instead of being killed."
|
|
445
713
|
},
|
|
446
|
-
"
|
|
714
|
+
"workdir": {
|
|
447
715
|
"type": "string",
|
|
448
|
-
"description": "
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
716
|
+
"description": "Working directory for this command. Defaults to the session workspace; a relative path is resolved against it."
|
|
717
|
+
},
|
|
718
|
+
"run_in_background": {
|
|
719
|
+
"type": "boolean",
|
|
720
|
+
"description": "Run in the background and return a job id immediately (collect with job_output, stop with job_kill). No timeout applies."
|
|
453
721
|
}
|
|
454
722
|
},
|
|
455
723
|
"required": [
|
|
456
|
-
"
|
|
457
|
-
"
|
|
458
|
-
"mode"
|
|
724
|
+
"description",
|
|
725
|
+
"command"
|
|
459
726
|
]
|
|
460
727
|
}
|
|
461
728
|
```
|
|
462
729
|
|
|
463
|
-
来源:[`packages/
|
|
730
|
+
来源:[`packages/shell/tool-pwsh/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/shell/tool-pwsh/src/index.ts)
|
|
731
|
+
|
|
732
|
+
pwsh 工具是 Windows 组合中 bash 执行器 seam 的 PowerShell 方言消费方(由 `@deepseek-ai/dsh-pwsh-local` 等 PowerShell 执行器为 `ctx.shell` 提供后端);除沙箱接口外,它逐项对应 bash 工具调用。使用 `run_in_background` 的运行会注册到通用 `ctx.jobs` 运行时,并通过 `job_*` 工具收集/停止;托管的 `DSH_*` 环境来自 `@deepseek-ai/dsh-shell-env`。每次调用都在新进程中运行,不使用持久 PTY 会话。路径采用原生 `C:\...` 形式,变量采用 `$env:NAME`。
|
|
733
|
+
|
|
734
|
+
<a id="deepseek-aidsh-tool-cordis"></a>
|
|
735
|
+
|
|
736
|
+
## `@deepseek-ai/dsh-tool-cordis`
|
|
464
737
|
|
|
465
|
-
### `
|
|
738
|
+
### `cordis_inspect_list`
|
|
466
739
|
|
|
467
|
-
|
|
740
|
+
列出 Host 当前已知的所有 Cordis Inspect Provider,包括本地 Host Provider 和 Client 同步的最新清单。每项包含平台、用途、只读方法以及输入输出 schema。编写或配置插件前先调用本工具,再从结果选择 cordis_inspect_query 的 provider 和方法。不要猜测名称,也不要把 Inspect 方法当作插件代码可调用的业务 Service。
|
|
468
741
|
|
|
469
742
|
```json
|
|
470
743
|
{
|
|
471
744
|
"type": "object",
|
|
472
|
-
"properties": {
|
|
473
|
-
"pluginId": {
|
|
474
|
-
"type": "string",
|
|
475
|
-
"description": "Stable dynamic Plugin ID to stop."
|
|
476
|
-
}
|
|
477
|
-
},
|
|
478
|
-
"required": [
|
|
479
|
-
"pluginId"
|
|
480
|
-
]
|
|
745
|
+
"properties": {}
|
|
481
746
|
}
|
|
482
747
|
```
|
|
483
748
|
|
|
484
|
-
来源:[`packages/extensions/tool-cordis/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/extensions/tool-cordis/src/index.ts)
|
|
749
|
+
来源: [`packages/extensions/tool-cordis/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/extensions/tool-cordis/src/index.ts)
|
|
485
750
|
|
|
486
|
-
### `
|
|
751
|
+
### `cordis_inspect_query`
|
|
487
752
|
|
|
488
|
-
|
|
753
|
+
执行 Inspect Provider 声明的只读查询。platform、provider 和 method 必须来自 cordis_inspect_list,input 必须符合该方法的 schema。编写插件代码前,用本工具读取准确的 Service 方法、Event 模式、插件 Config schema、Tool schema、主题 token,或实时 Slot 树与 props。Host 查询在本地运行。Client 查询在配置的超时内等待页面首个有效响应;否则返回 Client 错误,或提示重新连接后重试。本工具不能调用业务 Service 方法或修改运行时。
|
|
489
754
|
|
|
490
755
|
```json
|
|
491
756
|
{
|
|
492
757
|
"type": "object",
|
|
493
758
|
"properties": {
|
|
494
|
-
"
|
|
759
|
+
"platform": {
|
|
760
|
+
"type": "string",
|
|
761
|
+
"description": "Runtime platform that owns the Provider.",
|
|
762
|
+
"enum": [
|
|
763
|
+
"host",
|
|
764
|
+
"client"
|
|
765
|
+
]
|
|
766
|
+
},
|
|
767
|
+
"provider": {
|
|
768
|
+
"type": "string",
|
|
769
|
+
"description": "Exact Provider ID returned by cordis_inspect_list."
|
|
770
|
+
},
|
|
771
|
+
"method": {
|
|
495
772
|
"type": "string",
|
|
496
|
-
"description": "
|
|
773
|
+
"description": "Exact method name declared by the Provider manifest."
|
|
774
|
+
},
|
|
775
|
+
"input": {
|
|
776
|
+
"description": "Optional query input; it must satisfy the method input schema."
|
|
497
777
|
}
|
|
498
778
|
},
|
|
499
779
|
"required": [
|
|
500
|
-
"
|
|
780
|
+
"platform",
|
|
781
|
+
"provider",
|
|
782
|
+
"method"
|
|
501
783
|
]
|
|
502
784
|
}
|
|
503
785
|
```
|
|
504
786
|
|
|
505
|
-
来源:[`packages/extensions/tool-cordis/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/extensions/tool-cordis/src/index.ts)
|
|
787
|
+
来源: [`packages/extensions/tool-cordis/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/extensions/tool-cordis/src/index.ts)
|
|
506
788
|
|
|
507
|
-
|
|
789
|
+
创造模式提供两个只读运行时检查工具。Cordis host runner 提供检查注册表;Client 查询需要已连接页面。持久化变更编写为组合包,再通过 plugin_manager 安装。
|
|
508
790
|
|
|
509
791
|
<a id="deepseek-aidsh-tool-bash-persistent"></a>
|
|
510
792
|
|
|
@@ -682,11 +964,11 @@ pwsh 工具是 Windows 组合中 bash 执行器 seam 的 PowerShell 方言消费
|
|
|
682
964
|
"properties": {
|
|
683
965
|
"file_path": {
|
|
684
966
|
"type": "string",
|
|
685
|
-
"description": "Path to edit, resolved by the filesystem backend."
|
|
967
|
+
"description": "Path to edit, resolved by the filesystem backend. Provide `file_path` before `old_string` and `new_string` in the arguments."
|
|
686
968
|
},
|
|
687
969
|
"old_string": {
|
|
688
970
|
"type": "string",
|
|
689
|
-
"description": "Literal text to replace.
|
|
971
|
+
"description": "Literal text to replace."
|
|
690
972
|
},
|
|
691
973
|
"new_string": {
|
|
692
974
|
"type": "string",
|
|
@@ -738,7 +1020,7 @@ pwsh 工具是 Windows 组合中 bash 执行器 seam 的 PowerShell 方言消费
|
|
|
738
1020
|
|
|
739
1021
|
### `read_image`
|
|
740
1022
|
|
|
741
|
-
读取 PNG/JPEG/WebP/GIF
|
|
1023
|
+
读取 PNG/JPEG/WebP/GIF 文件并返回图像本身。大图会自动缩小;不要为了查看图片而安装图片库或创建缩略图。
|
|
742
1024
|
|
|
743
1025
|
```json
|
|
744
1026
|
{
|
|
@@ -767,7 +1049,7 @@ pwsh 工具是 Windows 组合中 bash 执行器 seam 的 PowerShell 方言消费
|
|
|
767
1049
|
"properties": {
|
|
768
1050
|
"file_path": {
|
|
769
1051
|
"type": "string",
|
|
770
|
-
"description": "Path to write, resolved by the filesystem backend."
|
|
1052
|
+
"description": "Path to write, resolved by the filesystem backend. Provide `file_path` before `content` in the arguments."
|
|
771
1053
|
},
|
|
772
1054
|
"content": {
|
|
773
1055
|
"type": "string",
|
|
@@ -791,7 +1073,7 @@ pwsh 工具是 Windows 组合中 bash 执行器 seam 的 PowerShell 方言消费
|
|
|
791
1073
|
|
|
792
1074
|
### `glob`
|
|
793
1075
|
|
|
794
|
-
查找路径匹配 glob
|
|
1076
|
+
查找路径匹配 glob 模式的文件(不含目录),包括隐藏文件和被忽略的文件。最多按修改时间顺序返回 100 条路径;更大的结果会从顶层条目中抽样,并报告完整列表的保存位置。
|
|
795
1077
|
|
|
796
1078
|
```json
|
|
797
1079
|
{
|
|
@@ -816,7 +1098,7 @@ pwsh 工具是 Windows 组合中 bash 执行器 seam 的 PowerShell 方言消费
|
|
|
816
1098
|
|
|
817
1099
|
### `grep`
|
|
818
1100
|
|
|
819
|
-
使用 ripgrep
|
|
1101
|
+
使用 ripgrep 正则表达式搜索文件内容。返回带行号的匹配行,并按文件分组。最多返回 250 条匹配;更大的结果会报告完整匹配列表的保存位置。
|
|
820
1102
|
|
|
821
1103
|
```json
|
|
822
1104
|
{
|
|
@@ -1016,7 +1298,7 @@ glob 和 grep 是无条件可用的发现工具,通过 ctx.subprocess spawn
|
|
|
1016
1298
|
|
|
1017
1299
|
### `create_goal`
|
|
1018
1300
|
|
|
1019
|
-
|
|
1301
|
+
创建一个持久化目标,使当前会话跨自动延续 Round 持续工作。当直接人类请求是长期目标时使用,即使用户没有说「目标」;不要用于单轮工作。
|
|
1020
1302
|
|
|
1021
1303
|
```json
|
|
1022
1304
|
{
|
|
@@ -1041,7 +1323,7 @@ glob 和 grep 是无条件可用的发现工具,通过 ctx.subprocess spawn
|
|
|
1041
1323
|
|
|
1042
1324
|
### `get_goal`
|
|
1043
1325
|
|
|
1044
|
-
|
|
1326
|
+
读取当前会话目标,包括 update_goal 所需的 id 和 revision。
|
|
1045
1327
|
|
|
1046
1328
|
```json
|
|
1047
1329
|
{
|
|
@@ -1054,7 +1336,7 @@ glob 和 grep 是无条件可用的发现工具,通过 ctx.subprocess spawn
|
|
|
1054
1336
|
|
|
1055
1337
|
### `update_goal`
|
|
1056
1338
|
|
|
1057
|
-
|
|
1339
|
+
更新当前目标。
|
|
1058
1340
|
|
|
1059
1341
|
```json
|
|
1060
1342
|
{
|
|
@@ -1070,7 +1352,7 @@ glob 和 grep 是无条件可用的发现工具,通过 ctx.subprocess spawn
|
|
|
1070
1352
|
},
|
|
1071
1353
|
"action": {
|
|
1072
1354
|
"type": "string",
|
|
1073
|
-
"description": "edit
|
|
1355
|
+
"description": "edit, pause, and resume require a direct top-level human request. complete and blocked are also allowed during an automatic continuation of this goal; blocked is rejected before the configured minimum round count.",
|
|
1074
1356
|
"enum": [
|
|
1075
1357
|
"edit",
|
|
1076
1358
|
"pause",
|
|
@@ -1089,7 +1371,7 @@ glob 和 grep 是无条件可用的发现工具,通过 ctx.subprocess spawn
|
|
|
1089
1371
|
},
|
|
1090
1372
|
"blocked_reason": {
|
|
1091
1373
|
"type": "string",
|
|
1092
|
-
"description": "
|
|
1374
|
+
"description": "Required only with action blocked: the concrete condition that persisted across rounds and blocks progress."
|
|
1093
1375
|
}
|
|
1094
1376
|
},
|
|
1095
1377
|
"required": [
|
|
@@ -1104,13 +1386,13 @@ glob 和 grep 是无条件可用的发现工具,通过 ctx.subprocess spawn
|
|
|
1104
1386
|
|
|
1105
1387
|
create、edit、pause 和 resume 要求直接来自人类的根权限;complete 和 blocked 也接受确切的当前 Goal Round。blocked 的默认下限是 3 个获准的 Round。
|
|
1106
1388
|
|
|
1107
|
-
<a id="deepseek-aidsh-schedule"></a>
|
|
1389
|
+
<a id="deepseek-aidsh-tool-schedule"></a>
|
|
1108
1390
|
|
|
1109
|
-
## `@deepseek-ai/dsh-schedule`
|
|
1391
|
+
## `@deepseek-ai/dsh-tool-schedule`
|
|
1110
1392
|
|
|
1111
1393
|
### `schedule_create`
|
|
1112
1394
|
|
|
1113
|
-
|
|
1395
|
+
在当前会话中创建一条提醒,到期时投递 prompt。请恰好提供一个时间参数:after_seconds、at、every_seconds、daily、weekly 或 cron。时区中不存在的本地时间会被跳过;重复出现的本地时间只在较早的时刻触发一次。停机后,重复提醒只投递最近错过的一次。崩溃后可能重复投递。
|
|
1114
1396
|
|
|
1115
1397
|
```json
|
|
1116
1398
|
{
|
|
@@ -1120,13 +1402,82 @@ create、edit、pause 和 resume 要求直接来自人类的根权限;complete
|
|
|
1120
1402
|
"type": "string",
|
|
1121
1403
|
"description": "Reminder content to present when the target becomes due."
|
|
1122
1404
|
},
|
|
1405
|
+
"title": {
|
|
1406
|
+
"type": "string",
|
|
1407
|
+
"description": "Task name of at most 120 characters, shown on the task card and in task lists."
|
|
1408
|
+
},
|
|
1123
1409
|
"after_seconds": {
|
|
1124
1410
|
"type": "number",
|
|
1125
|
-
"description": "
|
|
1411
|
+
"description": "Delay in whole seconds."
|
|
1126
1412
|
},
|
|
1127
1413
|
"every_seconds": {
|
|
1128
1414
|
"type": "number",
|
|
1129
|
-
"description": "Fixed-rate
|
|
1415
|
+
"description": "Fixed-rate interval in whole seconds, at least 60, aligned to the creation time; changing it with schedule_update re-aligns it to the save time."
|
|
1416
|
+
},
|
|
1417
|
+
"daily": {
|
|
1418
|
+
"type": "object",
|
|
1419
|
+
"description": "Every day at a local time.",
|
|
1420
|
+
"additionalProperties": false,
|
|
1421
|
+
"properties": {
|
|
1422
|
+
"time": {
|
|
1423
|
+
"type": "string",
|
|
1424
|
+
"description": "HH:mm:ss with optional 1-3 fractional digits, for example 23:00:00."
|
|
1425
|
+
},
|
|
1426
|
+
"time_zone": {
|
|
1427
|
+
"type": "string",
|
|
1428
|
+
"description": "UTC or IANA Area/Location, for example Asia/Shanghai."
|
|
1429
|
+
}
|
|
1430
|
+
},
|
|
1431
|
+
"required": [
|
|
1432
|
+
"time",
|
|
1433
|
+
"time_zone"
|
|
1434
|
+
]
|
|
1435
|
+
},
|
|
1436
|
+
"weekly": {
|
|
1437
|
+
"type": "object",
|
|
1438
|
+
"description": "On the given weekdays at a local time.",
|
|
1439
|
+
"additionalProperties": false,
|
|
1440
|
+
"properties": {
|
|
1441
|
+
"time": {
|
|
1442
|
+
"type": "string",
|
|
1443
|
+
"description": "HH:mm:ss with optional 1-3 fractional digits, for example 09:00:00."
|
|
1444
|
+
},
|
|
1445
|
+
"time_zone": {
|
|
1446
|
+
"type": "string",
|
|
1447
|
+
"description": "UTC or IANA Area/Location, for example Asia/Shanghai."
|
|
1448
|
+
},
|
|
1449
|
+
"weekdays": {
|
|
1450
|
+
"type": "array",
|
|
1451
|
+
"description": "ISO weekdays, Monday 1 through Sunday 7, without repetitions.",
|
|
1452
|
+
"items": {
|
|
1453
|
+
"type": "integer"
|
|
1454
|
+
}
|
|
1455
|
+
}
|
|
1456
|
+
},
|
|
1457
|
+
"required": [
|
|
1458
|
+
"time",
|
|
1459
|
+
"time_zone",
|
|
1460
|
+
"weekdays"
|
|
1461
|
+
]
|
|
1462
|
+
},
|
|
1463
|
+
"cron": {
|
|
1464
|
+
"type": "object",
|
|
1465
|
+
"description": "Five-field Vixie cron expression in a time zone.",
|
|
1466
|
+
"additionalProperties": false,
|
|
1467
|
+
"properties": {
|
|
1468
|
+
"expression": {
|
|
1469
|
+
"type": "string",
|
|
1470
|
+
"description": "minute hour day-of-month month day-of-week, for example \"*/15 9-17 * * 1-5\". When both day fields are restricted, a date matches if either one matches."
|
|
1471
|
+
},
|
|
1472
|
+
"time_zone": {
|
|
1473
|
+
"type": "string",
|
|
1474
|
+
"description": "UTC or IANA Area/Location, for example Asia/Shanghai."
|
|
1475
|
+
}
|
|
1476
|
+
},
|
|
1477
|
+
"required": [
|
|
1478
|
+
"expression",
|
|
1479
|
+
"time_zone"
|
|
1480
|
+
]
|
|
1130
1481
|
},
|
|
1131
1482
|
"at": {
|
|
1132
1483
|
"oneOf": [
|
|
@@ -1154,20 +1505,21 @@ create、edit、pause 和 resume 要求直接来自人类的根权限;complete
|
|
|
1154
1505
|
]
|
|
1155
1506
|
}
|
|
1156
1507
|
],
|
|
1157
|
-
"description": "Absolute target
|
|
1508
|
+
"description": "Absolute target: an RFC 3339 date-time with offset, or a local date, time, and IANA time_zone."
|
|
1158
1509
|
}
|
|
1159
1510
|
},
|
|
1160
1511
|
"required": [
|
|
1161
|
-
"prompt"
|
|
1512
|
+
"prompt",
|
|
1513
|
+
"title"
|
|
1162
1514
|
]
|
|
1163
1515
|
}
|
|
1164
1516
|
```
|
|
1165
1517
|
|
|
1166
|
-
来源:[`packages/schedule/schedule/src/
|
|
1518
|
+
来源:[`packages/schedule/tool-schedule/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/schedule/tool-schedule/src/index.ts)
|
|
1167
1519
|
|
|
1168
1520
|
### `schedule_delete`
|
|
1169
1521
|
|
|
1170
|
-
|
|
1522
|
+
删除当前会话中的一条提醒,活动或已结束的均可。删除不会撤回已经入队的提醒消息。
|
|
1171
1523
|
|
|
1172
1524
|
```json
|
|
1173
1525
|
{
|
|
@@ -1175,7 +1527,7 @@ create、edit、pause 和 resume 要求直接来自人类的根权限;complete
|
|
|
1175
1527
|
"properties": {
|
|
1176
1528
|
"id": {
|
|
1177
1529
|
"type": "string",
|
|
1178
|
-
"description": "Exact
|
|
1530
|
+
"description": "Exact schedule id."
|
|
1179
1531
|
}
|
|
1180
1532
|
},
|
|
1181
1533
|
"required": [
|
|
@@ -1184,11 +1536,11 @@ create、edit、pause 和 resume 要求直接来自人类的根权限;complete
|
|
|
1184
1536
|
}
|
|
1185
1537
|
```
|
|
1186
1538
|
|
|
1187
|
-
来源:[`packages/schedule/schedule/src/
|
|
1539
|
+
来源:[`packages/schedule/tool-schedule/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/schedule/tool-schedule/src/index.ts)
|
|
1188
1540
|
|
|
1189
1541
|
### `schedule_list`
|
|
1190
1542
|
|
|
1191
|
-
|
|
1543
|
+
列出当前会话中的活动提醒。
|
|
1192
1544
|
|
|
1193
1545
|
```json
|
|
1194
1546
|
{
|
|
@@ -1197,9 +1549,135 @@ create、edit、pause 和 resume 要求直接来自人类的根权限;complete
|
|
|
1197
1549
|
}
|
|
1198
1550
|
```
|
|
1199
1551
|
|
|
1200
|
-
来源:[`packages/schedule/schedule/src/
|
|
1552
|
+
来源:[`packages/schedule/tool-schedule/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/schedule/tool-schedule/src/index.ts)
|
|
1553
|
+
|
|
1554
|
+
### `schedule_update`
|
|
1555
|
+
|
|
1556
|
+
原地修改一条提醒并保留其 id。提供新的 title、prompt,或至多一个时间参数;未提供的字段保持原值。需要相对延迟时请新建一条提醒。
|
|
1557
|
+
|
|
1558
|
+
```json
|
|
1559
|
+
{
|
|
1560
|
+
"type": "object",
|
|
1561
|
+
"properties": {
|
|
1562
|
+
"id": {
|
|
1563
|
+
"type": "string",
|
|
1564
|
+
"description": "Schedule id returned by schedule_list."
|
|
1565
|
+
},
|
|
1566
|
+
"title": {
|
|
1567
|
+
"type": "string",
|
|
1568
|
+
"description": "New task name of at most 120 characters."
|
|
1569
|
+
},
|
|
1570
|
+
"prompt": {
|
|
1571
|
+
"type": "string",
|
|
1572
|
+
"description": "New reminder content."
|
|
1573
|
+
},
|
|
1574
|
+
"every_seconds": {
|
|
1575
|
+
"type": "number",
|
|
1576
|
+
"description": "Fixed-rate interval in whole seconds, at least 60, aligned to the creation time; changing it with schedule_update re-aligns it to the save time."
|
|
1577
|
+
},
|
|
1578
|
+
"daily": {
|
|
1579
|
+
"type": "object",
|
|
1580
|
+
"description": "Every day at a local time.",
|
|
1581
|
+
"additionalProperties": false,
|
|
1582
|
+
"properties": {
|
|
1583
|
+
"time": {
|
|
1584
|
+
"type": "string",
|
|
1585
|
+
"description": "HH:mm:ss with optional 1-3 fractional digits, for example 23:00:00."
|
|
1586
|
+
},
|
|
1587
|
+
"time_zone": {
|
|
1588
|
+
"type": "string",
|
|
1589
|
+
"description": "UTC or IANA Area/Location, for example Asia/Shanghai."
|
|
1590
|
+
}
|
|
1591
|
+
},
|
|
1592
|
+
"required": [
|
|
1593
|
+
"time",
|
|
1594
|
+
"time_zone"
|
|
1595
|
+
]
|
|
1596
|
+
},
|
|
1597
|
+
"weekly": {
|
|
1598
|
+
"type": "object",
|
|
1599
|
+
"description": "On the given weekdays at a local time.",
|
|
1600
|
+
"additionalProperties": false,
|
|
1601
|
+
"properties": {
|
|
1602
|
+
"time": {
|
|
1603
|
+
"type": "string",
|
|
1604
|
+
"description": "HH:mm:ss with optional 1-3 fractional digits, for example 09:00:00."
|
|
1605
|
+
},
|
|
1606
|
+
"time_zone": {
|
|
1607
|
+
"type": "string",
|
|
1608
|
+
"description": "UTC or IANA Area/Location, for example Asia/Shanghai."
|
|
1609
|
+
},
|
|
1610
|
+
"weekdays": {
|
|
1611
|
+
"type": "array",
|
|
1612
|
+
"description": "ISO weekdays, Monday 1 through Sunday 7, without repetitions.",
|
|
1613
|
+
"items": {
|
|
1614
|
+
"type": "integer"
|
|
1615
|
+
}
|
|
1616
|
+
}
|
|
1617
|
+
},
|
|
1618
|
+
"required": [
|
|
1619
|
+
"time",
|
|
1620
|
+
"time_zone",
|
|
1621
|
+
"weekdays"
|
|
1622
|
+
]
|
|
1623
|
+
},
|
|
1624
|
+
"cron": {
|
|
1625
|
+
"type": "object",
|
|
1626
|
+
"description": "Five-field Vixie cron expression in a time zone.",
|
|
1627
|
+
"additionalProperties": false,
|
|
1628
|
+
"properties": {
|
|
1629
|
+
"expression": {
|
|
1630
|
+
"type": "string",
|
|
1631
|
+
"description": "minute hour day-of-month month day-of-week, for example \"*/15 9-17 * * 1-5\". When both day fields are restricted, a date matches if either one matches."
|
|
1632
|
+
},
|
|
1633
|
+
"time_zone": {
|
|
1634
|
+
"type": "string",
|
|
1635
|
+
"description": "UTC or IANA Area/Location, for example Asia/Shanghai."
|
|
1636
|
+
}
|
|
1637
|
+
},
|
|
1638
|
+
"required": [
|
|
1639
|
+
"expression",
|
|
1640
|
+
"time_zone"
|
|
1641
|
+
]
|
|
1642
|
+
},
|
|
1643
|
+
"at": {
|
|
1644
|
+
"oneOf": [
|
|
1645
|
+
{
|
|
1646
|
+
"type": "string"
|
|
1647
|
+
},
|
|
1648
|
+
{
|
|
1649
|
+
"type": "object",
|
|
1650
|
+
"additionalProperties": false,
|
|
1651
|
+
"properties": {
|
|
1652
|
+
"date": {
|
|
1653
|
+
"type": "string"
|
|
1654
|
+
},
|
|
1655
|
+
"time": {
|
|
1656
|
+
"type": "string"
|
|
1657
|
+
},
|
|
1658
|
+
"time_zone": {
|
|
1659
|
+
"type": "string"
|
|
1660
|
+
}
|
|
1661
|
+
},
|
|
1662
|
+
"required": [
|
|
1663
|
+
"date",
|
|
1664
|
+
"time",
|
|
1665
|
+
"time_zone"
|
|
1666
|
+
]
|
|
1667
|
+
}
|
|
1668
|
+
],
|
|
1669
|
+
"description": "Absolute target: an RFC 3339 date-time with offset, or a local date, time, and IANA time_zone."
|
|
1670
|
+
}
|
|
1671
|
+
},
|
|
1672
|
+
"required": [
|
|
1673
|
+
"id"
|
|
1674
|
+
]
|
|
1675
|
+
}
|
|
1676
|
+
```
|
|
1677
|
+
|
|
1678
|
+
Source: [`packages/schedule/tool-schedule/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/schedule/tool-schedule/src/index.ts)
|
|
1201
1679
|
|
|
1202
|
-
|
|
1680
|
+
preset 或 Agent scope 挂载本包;由 preset 决定哪些 agent 获得这四个管理工具。每次调用都作用于调用方 Agent 的 Session。接受 after_seconds、显式绝对 at、有界固定速率 every_seconds、带显式 IANA 时区的每日与每周本地时间,以及作为五字段表达式的 cron。管理使用宿主 storage domain;到期消息会恢复原 Session。
|
|
1203
1681
|
|
|
1204
1682
|
<a id="deepseek-aidsh-tool-lsp"></a>
|
|
1205
1683
|
|
|
@@ -1286,7 +1764,7 @@ lsp 工具将提供方选择和语言服务器子进程置于 ctx.lsp 之后,
|
|
|
1286
1764
|
|
|
1287
1765
|
### `skill`
|
|
1288
1766
|
|
|
1289
|
-
|
|
1767
|
+
加载某项 skill(技能)的完整说明。在执行点名某项 skill 或与会话 skill 目录中某项 skill 明确匹配的任务前,请调用此工具。
|
|
1290
1768
|
|
|
1291
1769
|
```json
|
|
1292
1770
|
{
|
|
@@ -1568,7 +2046,7 @@ lsp 工具将提供方选择和语言服务器子进程置于 ctx.lsp 之后,
|
|
|
1568
2046
|
|
|
1569
2047
|
### `subagent`
|
|
1570
2048
|
|
|
1571
|
-
将一项自包含任务委派给 subagent(在自身上下文中工作的独立 agent),用它卸载聚焦且独立的工作,例如研究、限定范围的实现或分析,以免消耗当前对话的上下文。subagent
|
|
2049
|
+
将一项自包含任务委派给 subagent(在自身上下文中工作的独立 agent),用它卸载聚焦且独立的工作,例如研究、限定范围的实现或分析,以免消耗当前对话的上下文。subagent 会返回结果,但不会返回中间步骤。此调用默认等待结果。
|
|
1572
2050
|
|
|
1573
2051
|
```json
|
|
1574
2052
|
{
|
|
@@ -1584,7 +2062,7 @@ lsp 工具将提供方选择和语言服务器子进程置于 ctx.lsp 之后,
|
|
|
1584
2062
|
},
|
|
1585
2063
|
"run_in_background": {
|
|
1586
2064
|
"type": "boolean",
|
|
1587
|
-
"description": "
|
|
2065
|
+
"description": "Run as a background job and return its id (collect with job_output, stop with job_kill). Defaults to false."
|
|
1588
2066
|
}
|
|
1589
2067
|
},
|
|
1590
2068
|
"required": [
|
|
@@ -1604,7 +2082,7 @@ lsp 工具将提供方选择和语言服务器子进程置于 ctx.lsp 之后,
|
|
|
1604
2082
|
|
|
1605
2083
|
### `interrupt_agent`
|
|
1606
2084
|
|
|
1607
|
-
|
|
2085
|
+
请 subagent 停止当前工作。此调用不等待其停止即返回。之后可以用 send_message 继续与直接子级的对话。它启动的 subagent 会继续运行。
|
|
1608
2086
|
|
|
1609
2087
|
```json
|
|
1610
2088
|
{
|
|
@@ -1612,7 +2090,7 @@ lsp 工具将提供方选择和语言服务器子进程置于 ctx.lsp 之后,
|
|
|
1612
2090
|
"properties": {
|
|
1613
2091
|
"agent_id": {
|
|
1614
2092
|
"type": "string",
|
|
1615
|
-
"description": "The
|
|
2093
|
+
"description": "The id of an agent created under you: your direct child or a deeper descendant."
|
|
1616
2094
|
}
|
|
1617
2095
|
},
|
|
1618
2096
|
"required": [
|
|
@@ -1625,7 +2103,7 @@ lsp 工具将提供方选择和语言服务器子进程置于 ctx.lsp 之后,
|
|
|
1625
2103
|
|
|
1626
2104
|
### `list_agents`
|
|
1627
2105
|
|
|
1628
|
-
|
|
2106
|
+
列出你启动的 subagent 及其 id、标签和状态。running 表示正在工作;inactive 表示当前未在工作。subagent 完成时你会收到通知,无需反复查看状态。使用 send_message 继续对话。
|
|
1629
2107
|
|
|
1630
2108
|
```json
|
|
1631
2109
|
{
|
|
@@ -1633,7 +2111,7 @@ lsp 工具将提供方选择和语言服务器子进程置于 ctx.lsp 之后,
|
|
|
1633
2111
|
"properties": {
|
|
1634
2112
|
"scope": {
|
|
1635
2113
|
"type": "string",
|
|
1636
|
-
"description": "children (default) lists direct children
|
|
2114
|
+
"description": "children (default) lists direct children, which accept send_message in any status. descendants lists the whole tree below you with each entry's parent session id and depth; entries deeper than 1 accept only interrupt_agent.",
|
|
1637
2115
|
"enum": [
|
|
1638
2116
|
"children",
|
|
1639
2117
|
"descendants"
|
|
@@ -1647,7 +2125,7 @@ lsp 工具将提供方选择和语言服务器子进程置于 ctx.lsp 之后,
|
|
|
1647
2125
|
|
|
1648
2126
|
### `send_message`
|
|
1649
2127
|
|
|
1650
|
-
|
|
2128
|
+
向某个 agent 发送消息。工作中的 agent 会在下一个 step 收到消息;空闲的 agent 会以该消息开始新一轮。返回投递确认,而不是该 agent 的答案。
|
|
1651
2129
|
|
|
1652
2130
|
```json
|
|
1653
2131
|
{
|
|
@@ -1679,7 +2157,7 @@ lsp 工具将提供方选择和语言服务器子进程置于 ctx.lsp 之后,
|
|
|
1679
2157
|
|
|
1680
2158
|
### `job_kill`
|
|
1681
2159
|
|
|
1682
|
-
|
|
2160
|
+
请求取消正在运行的后台任务。
|
|
1683
2161
|
|
|
1684
2162
|
```json
|
|
1685
2163
|
{
|
|
@@ -1717,7 +2195,7 @@ lsp 工具将提供方选择和语言服务器子进程置于 ctx.lsp 之后,
|
|
|
1717
2195
|
|
|
1718
2196
|
### `job_output`
|
|
1719
2197
|
|
|
1720
|
-
|
|
2198
|
+
读取后台任务:流式任务返回自上次读取以来的输出,已完成的最终输出任务返回其结果。
|
|
1721
2199
|
|
|
1722
2200
|
```json
|
|
1723
2201
|
{
|
|
@@ -1729,11 +2207,11 @@ lsp 工具将提供方选择和语言服务器子进程置于 ctx.lsp 之后,
|
|
|
1729
2207
|
},
|
|
1730
2208
|
"wait": {
|
|
1731
2209
|
"type": "boolean",
|
|
1732
|
-
"description": "Block until the job
|
|
2210
|
+
"description": "Block until the job finishes or the timeout expires; a timed-out wait leaves the job running. Defaults to false."
|
|
1733
2211
|
},
|
|
1734
2212
|
"timeout_ms": {
|
|
1735
2213
|
"type": "number",
|
|
1736
|
-
"description": "Max wait in milliseconds
|
|
2214
|
+
"description": "Max wait in milliseconds with wait: true. Defaults to and is capped by configuration."
|
|
1737
2215
|
}
|
|
1738
2216
|
},
|
|
1739
2217
|
"required": [
|
|
@@ -1760,7 +2238,7 @@ lsp 工具将提供方选择和语言服务器子进程置于 ctx.lsp 之后,
|
|
|
1760
2238
|
"properties": {
|
|
1761
2239
|
"target": {
|
|
1762
2240
|
"type": "string",
|
|
1763
|
-
"description": "Teammate
|
|
2241
|
+
"description": "Teammate target returned by spawn_teammate or list_agents."
|
|
1764
2242
|
}
|
|
1765
2243
|
},
|
|
1766
2244
|
"required": [
|
|
@@ -1773,7 +2251,7 @@ lsp 工具将提供方选择和语言服务器子进程置于 ctx.lsp 之后,
|
|
|
1773
2251
|
|
|
1774
2252
|
### `list_agents`
|
|
1775
2253
|
|
|
1776
|
-
列出 Lead 与所有持久 teammate
|
|
2254
|
+
列出 Lead 与所有持久 teammate,以及可用于寻址的 target 和当前可用状态。inactive 表示没有轮次在执行,不表示任务结果。provisioning 与 failed 描述成员创建状态。
|
|
1777
2255
|
|
|
1778
2256
|
```json
|
|
1779
2257
|
{
|
|
@@ -1786,7 +2264,7 @@ lsp 工具将提供方选择和语言服务器子进程置于 ctx.lsp 之后,
|
|
|
1786
2264
|
|
|
1787
2265
|
### `send_message`
|
|
1788
2266
|
|
|
1789
|
-
向另一名 Team member 发送一条持久消息。running target 会在最近的步骤边界收到消息;
|
|
2267
|
+
向另一名 Team member 发送一条持久消息。running target 会在最近的步骤边界收到消息;inactive target 会启动或恢复一个 turn。
|
|
1790
2268
|
|
|
1791
2269
|
```json
|
|
1792
2270
|
{
|
|
@@ -1794,7 +2272,7 @@ lsp 工具将提供方选择和语言服务器子进程置于 ctx.lsp 之后,
|
|
|
1794
2272
|
"properties": {
|
|
1795
2273
|
"target": {
|
|
1796
2274
|
"type": "string",
|
|
1797
|
-
"description": "
|
|
2275
|
+
"description": "Member target returned by spawn_teammate or list_agents, including lead."
|
|
1798
2276
|
},
|
|
1799
2277
|
"message": {
|
|
1800
2278
|
"type": "string",
|
|
@@ -1929,7 +2407,7 @@ lsp 工具将提供方选择和语言服务器子进程置于 ctx.lsp 之后,
|
|
|
1929
2407
|
},
|
|
1930
2408
|
"owner": {
|
|
1931
2409
|
"type": "string",
|
|
1932
|
-
"description": "Optional member
|
|
2410
|
+
"description": "Optional member target from spawn_teammate or list_agents, matching ownerName; use unowned for tasks without an owner."
|
|
1933
2411
|
},
|
|
1934
2412
|
"ready": {
|
|
1935
2413
|
"type": "boolean",
|
|
@@ -2003,7 +2481,7 @@ lsp 工具将提供方选择和语言服务器子进程置于 ctx.lsp 之后,
|
|
|
2003
2481
|
},
|
|
2004
2482
|
"owner": {
|
|
2005
2483
|
"type": "string",
|
|
2006
|
-
"description": "Member
|
|
2484
|
+
"description": "Member target from spawn_teammate or list_agents for Lead-only reassign; omit to unassign."
|
|
2007
2485
|
}
|
|
2008
2486
|
},
|
|
2009
2487
|
"required": [
|
|
@@ -2043,7 +2521,7 @@ lsp 工具将提供方选择和语言服务器子进程置于 ctx.lsp 之后,
|
|
|
2043
2521
|
|
|
2044
2522
|
### `todo_write`
|
|
2045
2523
|
|
|
2046
|
-
|
|
2524
|
+
记录并更新任务列表,用于规划多步骤工作并展示进度;简单的单步骤任务无需使用。开始前为每个具体步骤添加一项 todo。只要工作尚未完成,就将正在处理的 todo 标记为 `in_progress`,仅在工作并行运行时同时标记多项。某项 todo 完成后立即标记为 `completed`。
|
|
2047
2525
|
|
|
2048
2526
|
```json
|
|
2049
2527
|
{
|
|
@@ -2095,18 +2573,14 @@ todo_write 是会话所有的状态;UI 将最新的 todo/write 事件渲染为
|
|
|
2095
2573
|
|
|
2096
2574
|
运行用于大规模编排 subagent 的 JavaScript 工作流脚本。当工作会分散到许多相互独立的部分时,请使用此工具,例如审查大量文件、执行迁移、开展多角度研究或对发现进行对抗式验证;此时应将编排写成脚本,而不是逐轮委派。
|
|
2097
2575
|
|
|
2098
|
-
工作流的身份通过 `meta` 参数以 JSON 形式传入:必填的 `name`(简短 kebab-case)和 `description` 字符串,以及可选的 `whenToUse` 字符串和 `phases` 数组(`{title, detail?, provider?, model?}`)。`script` 参数只能是纯 JavaScript **函数体**,不能是 TypeScript,也不能包含 `export const meta` 语句;meta 是参数而非代码。脚本支持顶层 await;请以 `return <value>` 结尾,该值必须可以 JSON 序列化,并作为此工具的结果。
|
|
2099
|
-
|
|
2100
2576
|
脚本函数体提供以下钩子:
|
|
2101
2577
|
|
|
2102
|
-
- `agent(prompt, opts?): Promise<any>`:运行一个 subagent 直至完成。不提供 `opts.schema` 时,解析为子级最终文本;提供 `opts.schema` 时,它必须是以对象为根、且**只能**使用 type/properties/required/additionalProperties/items/enum/const/oneOf 的 JSON Schema
|
|
2103
|
-
- `pipeline(items, ...stages): Promise<any[]>`:让每个条目分别经过各阶段,阶段之间**没有**屏障;多阶段工作优先使用它。每个阶段接收 `(prev, item, index)
|
|
2578
|
+
- `agent(prompt, opts?): Promise<any>`:运行一个 subagent 直至完成。不提供 `opts.schema` 时,解析为子级最终文本;提供 `opts.schema` 时,它必须是以对象为根、且**只能**使用 type/properties/required/additionalProperties/items/enum/const/oneOf 的 JSON Schema,此时解析为通过校验的对象。子级失败时解析为 `null`,可使用 `.filter(Boolean)` 过滤。其他选项包括 `label`(显示名称)、`phase`(进度组),以及相互独立的 `provider`/`model` LLM(大语言模型)目标覆盖项。
|
|
2579
|
+
- `pipeline(items, ...stages): Promise<any[]>`:让每个条目分别经过各阶段,阶段之间**没有**屏障;多阶段工作优先使用它。每个阶段接收 `(prev, item, index)`。阶段异常会将该**条目**变为 `null`,并跳过它的剩余阶段。
|
|
2104
2580
|
- `parallel(thunks): Promise<any[]>`:并发运行零参数函数并等待**全部**完成。它会形成屏障,仅当某个阶段确实需要汇总全部先前结果时使用。抛出异常的 thunk 解析为 `null`。
|
|
2105
2581
|
- `phase(title)`:开始一个进度阶段;`log(message)`:说明进度;`args`:工具调用的 `args` 输入,原样提供。
|
|
2106
2582
|
|
|
2107
|
-
如果误用钩子(参数错误、未知选项、不受支持的 schema
|
|
2108
|
-
|
|
2109
|
-
约束:并发上限和 agent 总数上限均会生效;不提供文件系统、网络、定时器或 Node.js API。具体工作由 agent 完成,脚本只负责编排。该运行在前台执行:整个脚本完成后,调用才会返回。
|
|
2583
|
+
如果误用钩子(参数错误、未知选项、不受支持的 schema、触发上限),整个脚本会终止,而不会产生 `null`。脚本没有文件系统、网络、定时器或 Node.js API;具体工作由 agent 完成。
|
|
2110
2584
|
|
|
2111
2585
|
```json
|
|
2112
2586
|
{
|
|
@@ -2114,11 +2588,11 @@ todo_write 是会话所有的状态;UI 将最新的 todo/write 事件渲染为
|
|
|
2114
2588
|
"properties": {
|
|
2115
2589
|
"script": {
|
|
2116
2590
|
"type": "string",
|
|
2117
|
-
"description": "The plain
|
|
2591
|
+
"description": "The plain JavaScript body, not TypeScript and without an `export const meta` statement; top-level await is allowed. End with `return <value>`; the JSON-serializable value is this tool's result."
|
|
2118
2592
|
},
|
|
2119
2593
|
"meta": {
|
|
2120
2594
|
"type": "object",
|
|
2121
|
-
"description": "The workflow identity
|
|
2595
|
+
"description": "The workflow identity as plain JSON, not code.",
|
|
2122
2596
|
"additionalProperties": true,
|
|
2123
2597
|
"properties": {
|
|
2124
2598
|
"name": {
|
|
@@ -2172,6 +2646,10 @@ todo_write 是会话所有的状态;UI 将最新的 todo/write 事件渲染为
|
|
|
2172
2646
|
"type": "object",
|
|
2173
2647
|
"description": "Optional JSON input exposed to the script as the `args` global (wrap a bare list as a field, e.g. {\"files\": [...]}).",
|
|
2174
2648
|
"additionalProperties": true
|
|
2649
|
+
},
|
|
2650
|
+
"run_in_background": {
|
|
2651
|
+
"type": "boolean",
|
|
2652
|
+
"description": "Run as a background job: return a job id immediately instead of waiting; the return value arrives with the completion notice."
|
|
2175
2653
|
}
|
|
2176
2654
|
},
|
|
2177
2655
|
"required": [
|
|
@@ -2183,6 +2661,23 @@ todo_write 是会话所有的状态;UI 将最新的 todo/write 事件渲染为
|
|
|
2183
2661
|
|
|
2184
2662
|
来源:[`packages/workflow/tool-workflow/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/workflow/tool-workflow/src/index.ts)
|
|
2185
2663
|
|
|
2664
|
+
<a id="deepseek-aidsh-tool-workspace-dependencies"></a>
|
|
2665
|
+
|
|
2666
|
+
## `@deepseek-ai/dsh-tool-workspace-dependencies`
|
|
2667
|
+
|
|
2668
|
+
### `load_workspace_dependencies`
|
|
2669
|
+
|
|
2670
|
+
获取随包附带的 Python 和库目录的绝对路径,以及随包 Python 发行版的版本。payload 提供 Node.js 和 pnpm 时才返回对应路径。Python 含 numpy、pandas、python-docx、python-pptx、openpyxl、Pillow、lxml 与 XlsxWriter。除非用户或工作区指令选择了别的环境,Office 文件请使用这些库。返回 Node.js 和 pnpm 路径时,用该 Node 可执行文件和 pnpm 脚本路径运行 pnpm。本工具不改 PATH,也不改包管理器设置。
|
|
2671
|
+
|
|
2672
|
+
```json
|
|
2673
|
+
{
|
|
2674
|
+
"type": "object",
|
|
2675
|
+
"properties": {}
|
|
2676
|
+
}
|
|
2677
|
+
```
|
|
2678
|
+
|
|
2679
|
+
来源:[`packages/skill/tool-workspace-dependencies/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/skill/tool-workspace-dependencies/src/index.ts)
|
|
2680
|
+
|
|
2186
2681
|
<a id="deepseek-aidsh-tool-web"></a>
|
|
2187
2682
|
|
|
2188
2683
|
## `@deepseek-ai/dsh-tool-web`
|
|
@@ -2210,7 +2705,7 @@ todo_write 是会话所有的状态;UI 将最新的 todo/write 事件渲染为
|
|
|
2210
2705
|
|
|
2211
2706
|
### `web_search`
|
|
2212
2707
|
|
|
2213
|
-
在 Web
|
|
2708
|
+
在 Web 上搜索最新信息。返回可选的摘要答案和来源 URL 列表。
|
|
2214
2709
|
|
|
2215
2710
|
```json
|
|
2216
2711
|
{
|
|
@@ -2218,7 +2713,7 @@ todo_write 是会话所有的状态;UI 将最新的 todo/write 事件渲染为
|
|
|
2218
2713
|
"properties": {
|
|
2219
2714
|
"queries": {
|
|
2220
2715
|
"type": "array",
|
|
2221
|
-
"description": "
|
|
2716
|
+
"description": "1–4 search queries; their results are merged.",
|
|
2222
2717
|
"items": {
|
|
2223
2718
|
"type": "string"
|
|
2224
2719
|
}
|