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.md"
|
|
3
|
+
rawMarkdownPath: "en/reference/tool-catalog.md"
|
|
3
4
|
---
|
|
4
5
|
|
|
5
6
|
<!-- Generated by scripts/gen-tool-catalog.ts — do not edit by hand.
|
|
@@ -9,7 +10,7 @@ editSource: "docs/tool-catalog.md"
|
|
|
9
10
|
|
|
10
11
|
Every model-facing tool a shipped plugin contributes to `ctx.tools`: the `name`, `description`, and JSON-Schema `parameters` the model receives via the system-prompt assembly. It complements the [subsystem pages](./subsystems/core.md) (the types plus each page's generated Cordis API region) — this page is the *tools* the agent is offered.
|
|
11
12
|
|
|
12
|
-
This file is GENERATED and verified fresh by `pnpm run verify-tool-catalog` (part of `doc-sync`) — do not edit it by hand. Unlike the cordis catalog (a pure source-AST pass), this generator BOOTS each tool plugin on a real context and reads `ctx.tools.schemas()`, because a tool schema is not statically knowable (runtime-spread enums, concatenated descriptions, config-driven names, raw-JSON-Schema MCP tools). A completeness guard globs `packages/*/tool-*` and fails if any package is missing from the generator's boot manifest, so a new tool cannot be silently undocumented.
|
|
13
|
+
This file is GENERATED and verified fresh by `pnpm run verify-tool-catalog` (part of `doc-sync`) — do not edit it by hand. Unlike the cordis catalog (a pure source-AST pass), this generator BOOTS each tool plugin on a real context and reads `ctx.tools.schemas()`, because a tool schema is not statically knowable (runtime-spread enums, concatenated descriptions, config-driven names, raw-JSON-Schema MCP tools). A completeness guard globs `packages/*/tool-*` and fails if any package is missing from the generator's boot manifest, so a new tool cannot be silently undocumented.
|
|
13
14
|
|
|
14
15
|
Scope: shipped product tools under `packages/*/tool-*`, each booted with its DEFAULT config, except where a Config field is REQUIRED with no default — there the generator must choose, and the per-package note records which branch this page shows. The registered tool NAME can be a load-time config (e.g. `tool-subagent`'s `toolName`), so a deployment may expose a package under a different or additional name — a per-package note records those shipped aliases where they exist. The `examples/` demo tools (e.g. `echo`) are excluded, matching the cordis catalog's packages-only scope.
|
|
15
16
|
|
|
@@ -19,12 +20,16 @@ This table connects model-visible tool names to the plugin package and service s
|
|
|
19
20
|
|
|
20
21
|
| Tool package | Model-visible names | Requires | Writes / affects | Shipped aliases | Deployment note |
|
|
21
22
|
| --- | --- | --- | --- | --- | --- |
|
|
22
|
-
| `@deepseek-ai/dsh-
|
|
23
|
-
| `@deepseek-ai/dsh-
|
|
23
|
+
| `@deepseek-ai/dsh-plugin-manager` | `plugin_manager` | `ctx.tools`, `ctx.pluginManager`, `ctx.sandboxPolicy` | `tool/call`, `tool/result`, `user/message` | - | - |
|
|
24
|
+
| `@deepseek-ai/dsh-mcp-resources` | `list_mcp_resource_templates`, `list_mcp_resources`, `read_mcp_resource` | `ctx.tools`, `ctx.mcpResources` | `tool/call`, `tool/result` | - | - |
|
|
25
|
+
| `@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` | - | - |
|
|
26
|
+
| `@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 keeps the original blocking behavior by default; set `mode: timed` to opt into a foreground timeout and pending result while the question remains answerable. In timed mode, `timeout: -1` keeps that call blocking indefinitely. |
|
|
27
|
+
| `@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` | - | Owned by the tool registry as a reserved transport outside filterable capability layers under `mode: ptc` / `mode: both` (see the PTC mode Agent Note). Under `ptc` it is the registry's only wire contribution; the other visible capabilities are declared in a generated SDK section in the loaded runtime's language, and a program calls them through bindings scheduled under the native concurrency contract (submission-ordered starts and policy; concurrency-safe bodies overlap up to `maxParallelSubCalls`) that re-enter the complete guarded tool pipeline and link each nested execution to this outer result. |
|
|
24
28
|
| `@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 stays in the model-facing schema while planning is inactive so transitions add no tool-catalog churn on top of the plan-policy change. Its execute path rejects calls outside plan mode; in plan mode it presents the plan over the user-questions seam (approve / keep planning with feedback), and approval logs plan mode inactive at the step boundary. |
|
|
25
|
-
| `@deepseek-ai/dsh-tool-bash` | `bash` | `ctx.tools`, `ctx.shell`, `ctx.systemPrompt`, `ctx.shellEnv`, `ctx.jobs
|
|
26
|
-
| `@deepseek-ai/dsh-tool-
|
|
27
|
-
| `@deepseek-ai/dsh-tool-
|
|
29
|
+
| `@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` | - | The bash tool is the model-facing consumer of the bash executor seam. With a job registry composed every call registers with the generic `ctx.jobs` runtime as it starts, collected/stopped through the `job_*` tools from `@deepseek-ai/dsh-tool-jobs`; without one, or with `enableRunInBackground: false`, the tool registers a foreground-only schema without the `run_in_background` parameter. |
|
|
30
|
+
| `@deepseek-ai/dsh-tool-present` | `present` | `ctx.tools`, `ctx.fs`, `ctx.sessionProjections` | `tool/call`, `deliverables/presented after a successful final result`, `tool/result` | - | Deliveries belong to the calling Session; Web ui-deliverables supplies source-file opening and cards. |
|
|
31
|
+
| `@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` | - | The pwsh tool is the PowerShell-dialect consumer of the bash executor seam for Windows compositions (a PowerShell executor such as `@deepseek-ai/dsh-pwsh-local` backs `ctx.shell`); it mirrors the bash tool call-for-call minus sandbox controls — `run_in_background` runs register with the generic `ctx.jobs` runtime and are collected/stopped through the `job_*` tools, and the managed `DSH_*` environment comes from `@deepseek-ai/dsh-shell-env`. Each call runs in a fresh process (no persistent PTY session), with native `C:\...` paths and `$env:NAME` variables. |
|
|
32
|
+
| `@deepseek-ai/dsh-tool-cordis` | `cordis_inspect_list`, `cordis_inspect_query` | `ctx.tools`, `ctx.cordisInspect` | `tool/call`, `tool/result` | - | Creator mode provides two read-only runtime inspection tools. The Cordis host runner supplies the inspection registry; Client queries require a connected page. Author persistent changes as bundles and install them with plugin_manager. |
|
|
28
33
|
| `@deepseek-ai/dsh-tool-bash-persistent` | `bash` | `ctx.tools`, `ctx.terminals`, `an owning Agent at execution time` | `tool/call`, `PTY shell state`, `tool/result` | - | One owner-isolated persistent bash tool; deployment composition supplies the PTY backend and may override the model-facing environment description. |
|
|
29
34
|
| `@deepseek-ai/dsh-tool-pwsh-persistent` | `pwsh` | `ctx.tools`, `ctx.terminals`, `an owning Agent at execution time` | `tool/call`, `PTY shell state`, `tool/result` | - | One owner-isolated persistent pwsh tool, the Windows counterpart of the persistent bash tool; deployment composition supplies a pwsh-dialect PTY backend and may override the model-facing environment description. |
|
|
30
35
|
| `@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` | - | Standalone view/create/unique literal replace/line insert tool over the filesystem seam; it composes with any shell or terminal API. |
|
|
@@ -32,7 +37,7 @@ This table connects model-visible tool names to the plugin package and service s
|
|
|
32
37
|
| `@deepseek-ai/dsh-tool-fs-search` | `glob`, `grep` | `ctx.tools`, `ctx.subprocess`, `ctx.systemPrompt` | `tool/call`, `tool/result` | - | glob and grep are unconditional discovery tools that spawn the packaged ripgrep binary (`@vscode/ripgrep`) through ctx.subprocess as ordinary foreground calls (never background jobs) — no host `rg` install and no shell layer. The catalog uses `sampleOverCapGlobResults: true`; deployments must choose that behavior explicitly. Capped results save the complete formatted list through the optional ctx.spillStore backend; returned locators are follow-up-readable/searchable when the backend exposes local paths in co-located deployments. |
|
|
33
38
|
| `@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` | - | The six terminal tools are opt-in and complement one-shot shell/filesystem tools. `terminal_send(run_in_background: true)` registers with `ctx.jobs`; TUI, named key sequences, BEL, resize, auto-start, and cross-agent sharing are absent from the schema. |
|
|
34
39
|
| `@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, and resume require direct-human root authority; complete and blocked also accept the exact current goal round. The default blocked lower bound is three admitted rounds. |
|
|
35
|
-
| `@deepseek-ai/dsh-schedule` | `schedule_create`, `schedule_delete`, `schedule_list` | `ctx.tools`, `ctx.
|
|
40
|
+
| `@deepseek-ai/dsh-tool-schedule` | `schedule_create`, `schedule_delete`, `schedule_list`, `schedule_update` | `ctx.tools`, `ctx.schedule` | `tool/call`, `Schedule storage domain create, update, or delete`, `tool/result` | - | A preset or Agent scope mounts this package; the preset decides which agents receive the four management tools. Each call acts on the calling Agent's Session. Accepts after_seconds, explicit absolute at, bounded fixed-rate every_seconds, daily and weekly local times in an explicit IANA zone, and cron as a five-field expression. Management uses the Host storage domain; due messages resume the original Session. |
|
|
36
41
|
| `@deepseek-ai/dsh-tool-lsp` | `lsp` | `ctx.tools`, `ctx.lsp`, `ctx.systemPrompt` | `tool/call`, `tool/result` | - | The lsp tool keeps provider selection and language-server subprocesses behind ctx.lsp, so its model-visible schema stays stable across providers. Requires a registered provider (e.g. `@deepseek-ai/dsh-lsp-stdio`) at runtime; without one, a query returns the structured `LSP_UNAVAILABLE` error rather than changing the schema. |
|
|
37
42
|
| `@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` | - | A fixed foreground workflow starts one fresh structured child per round; the model selects only the immutable objective and an optional round cap. |
|
|
38
43
|
| `@deepseek-ai/dsh-tool-skill` | `skill` | `ctx.tools`, `ctx.agents`, `ctx.skills` | `tool/call`, `tool/result`, `user/message replacement catalogs via agent.inject()` | - | - |
|
|
@@ -43,466 +48,743 @@ This table connects model-visible tool names to the plugin package and service s
|
|
|
43
48
|
| `@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` | - | All nine tools are scoped to implicit Team Leads and durable teammates. The shipped dsh-base bundle keeps the package disabled; the documented Agent Teams profile patch enables it while disabling the legacy continuable-child control names. |
|
|
44
49
|
| `@deepseek-ai/dsh-tool-todo` | `todo_write` | `ctx.tools`, `owning Agent session` | `tool/call`, `todo/write`, `tool/result` | - | todo_write is session-owned state; UIs render the latest todo/write event as a checklist. `allowParallelInProgress` is required with no default, so the catalog states its choice: `true`, whose description invites several `in_progress` items. A deployment choosing `false` receives the same tool with a description asking for exactly one active task. |
|
|
45
50
|
| `@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` | - | - |
|
|
51
|
+
| `@deepseek-ai/dsh-tool-workspace-dependencies` | `load_workspace_dependencies` | `ctx.tools` | `tool/call`, `tool/result` | - | - |
|
|
46
52
|
| `@deepseek-ai/dsh-tool-web` | `web_fetch`, `web_search` | `ctx.tools`, `ctx.web`, `ctx.systemPrompt` | `tool/call`, `tool/result` | - | web_search and web_fetch keep provider selection behind ctx.web so model-visible schemas stay stable across backend swaps. |
|
|
47
53
|
|
|
48
|
-
<a id="deepseek-aidsh-
|
|
54
|
+
<a id="deepseek-aidsh-plugin-manager"></a>
|
|
49
55
|
|
|
50
|
-
## `@deepseek-ai/dsh-
|
|
56
|
+
## `@deepseek-ai/dsh-plugin-manager`
|
|
51
57
|
|
|
52
|
-
### `
|
|
58
|
+
### `plugin_manager`
|
|
53
59
|
|
|
54
|
-
|
|
60
|
+
List plugins or bundles in the current profile, enable or disable them, install a bundle, or remove an installed bundle. Every action requires danger-full-access permission or approval for this call. Approval does not change the session permission mode. Changes affect every session in this profile. List first to obtain exact identifiers. Package installation can execute allowed build scripts. Live profiles apply changes immediately; startup profiles require restart. Incompatible DSH peer dependencies block installation and activation. Version exemptions risk crashes and data loss: warn the user and obtain explicit permission for the exact plugin and runtime versions before granting one.
|
|
55
61
|
|
|
56
62
|
```json
|
|
57
63
|
{
|
|
58
64
|
"type": "object",
|
|
59
65
|
"properties": {
|
|
60
|
-
"
|
|
66
|
+
"action": {
|
|
67
|
+
"type": "string",
|
|
68
|
+
"description": "Management operation.",
|
|
69
|
+
"enum": [
|
|
70
|
+
"list_plugins",
|
|
71
|
+
"list_bundles",
|
|
72
|
+
"set_plugin",
|
|
73
|
+
"set_bundle",
|
|
74
|
+
"install_bundle",
|
|
75
|
+
"remove_bundle",
|
|
76
|
+
"list_version_exemptions",
|
|
77
|
+
"set_version_exemption"
|
|
78
|
+
]
|
|
79
|
+
},
|
|
80
|
+
"target": {
|
|
81
|
+
"type": "string",
|
|
82
|
+
"description": "Plugin entry id, bundle package name, or installation spec, according to action."
|
|
83
|
+
},
|
|
84
|
+
"enabled": {
|
|
85
|
+
"type": "boolean",
|
|
86
|
+
"description": "Required for set operations; defaults to true for installation. For set_version_exemption, true grants and false revokes."
|
|
87
|
+
},
|
|
88
|
+
"runtimeVersion": {
|
|
89
|
+
"type": "string",
|
|
90
|
+
"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."
|
|
91
|
+
},
|
|
92
|
+
"acceptRisk": {
|
|
93
|
+
"type": "boolean",
|
|
94
|
+
"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."
|
|
95
|
+
},
|
|
96
|
+
"approvedBuilds": {
|
|
61
97
|
"type": "array",
|
|
62
|
-
"description": "
|
|
98
|
+
"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.",
|
|
63
99
|
"items": {
|
|
64
|
-
"type": "
|
|
65
|
-
"additionalProperties": true,
|
|
66
|
-
"properties": {
|
|
67
|
-
"id": {
|
|
68
|
-
"type": "string",
|
|
69
|
-
"description": "Stable id for this question; echoed in the answer."
|
|
70
|
-
},
|
|
71
|
-
"question": {
|
|
72
|
-
"type": "string",
|
|
73
|
-
"description": "The specific question to ask the user."
|
|
74
|
-
},
|
|
75
|
-
"header": {
|
|
76
|
-
"type": "string",
|
|
77
|
-
"description": "Optional short heading for the question, such as \"Confirm\" or \"Choose Mode\"."
|
|
78
|
-
},
|
|
79
|
-
"options": {
|
|
80
|
-
"type": "array",
|
|
81
|
-
"description": "Optional choices to show the user. If you recommend one, put it first and append \"(Recommended)\" to that label.",
|
|
82
|
-
"items": {
|
|
83
|
-
"type": "object",
|
|
84
|
-
"additionalProperties": true,
|
|
85
|
-
"properties": {
|
|
86
|
-
"label": {
|
|
87
|
-
"type": "string",
|
|
88
|
-
"description": "Short user-facing option label."
|
|
89
|
-
},
|
|
90
|
-
"description": {
|
|
91
|
-
"type": "string",
|
|
92
|
-
"description": "One sentence explaining the tradeoff or impact."
|
|
93
|
-
}
|
|
94
|
-
},
|
|
95
|
-
"required": [
|
|
96
|
-
"label"
|
|
97
|
-
]
|
|
98
|
-
}
|
|
99
|
-
},
|
|
100
|
-
"multi_select": {
|
|
101
|
-
"type": "boolean",
|
|
102
|
-
"description": "Whether the user may select more than one option. Defaults to false."
|
|
103
|
-
}
|
|
104
|
-
},
|
|
105
|
-
"required": [
|
|
106
|
-
"id",
|
|
107
|
-
"question"
|
|
108
|
-
]
|
|
100
|
+
"type": "string"
|
|
109
101
|
}
|
|
102
|
+
},
|
|
103
|
+
"registry": {
|
|
104
|
+
"type": "string",
|
|
105
|
+
"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."
|
|
106
|
+
},
|
|
107
|
+
"offset": {
|
|
108
|
+
"type": "number",
|
|
109
|
+
"description": "Zero-based list offset; defaults to 0."
|
|
110
|
+
},
|
|
111
|
+
"limit": {
|
|
112
|
+
"type": "number",
|
|
113
|
+
"description": "List page size, from 1 to 100; defaults to 25."
|
|
110
114
|
}
|
|
111
115
|
},
|
|
112
116
|
"required": [
|
|
113
|
-
"
|
|
117
|
+
"action"
|
|
114
118
|
]
|
|
115
119
|
}
|
|
116
120
|
```
|
|
117
121
|
|
|
118
|
-
Source: [`packages/
|
|
122
|
+
Source: [`packages/boot/plugin-manager/src/tools.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/boot/plugin-manager/src/tools.ts)
|
|
119
123
|
|
|
120
|
-
|
|
124
|
+
<a id="deepseek-aidsh-mcp-resources"></a>
|
|
121
125
|
|
|
122
|
-
|
|
126
|
+
## `@deepseek-ai/dsh-mcp-resources`
|
|
123
127
|
|
|
124
|
-
|
|
128
|
+
### `list_mcp_resource_templates`
|
|
125
129
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
Execute a TypeScript program against the available tools. Takes two required arguments: `code`, the BODY of an async function (erasable syntax only; top-level `await` and `return` work), and `description`, a short summary of what the program does. Call tools as `await tools.name(args)` per the declarations in the system prompt. Only what you print or return is program output — curate it. Image-bearing subtool results are attached after the run.
|
|
130
|
+
List parameterized resource URI templates from an MCP server.
|
|
129
131
|
|
|
130
132
|
```json
|
|
131
133
|
{
|
|
132
134
|
"type": "object",
|
|
133
135
|
"properties": {
|
|
134
|
-
"
|
|
136
|
+
"server": {
|
|
135
137
|
"type": "string",
|
|
136
|
-
"description": "
|
|
138
|
+
"description": "Configured MCP server name."
|
|
137
139
|
},
|
|
138
|
-
"
|
|
140
|
+
"cursor": {
|
|
139
141
|
"type": "string",
|
|
140
|
-
"description": "
|
|
142
|
+
"description": "Continuation cursor returned by this server."
|
|
141
143
|
}
|
|
142
144
|
},
|
|
143
145
|
"required": [
|
|
144
|
-
"
|
|
145
|
-
"description"
|
|
146
|
+
"server"
|
|
146
147
|
]
|
|
147
148
|
}
|
|
148
149
|
```
|
|
149
150
|
|
|
150
|
-
Source: [`packages/
|
|
151
|
+
Source: [`packages/mcp/mcp-resources/src/tools.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/mcp/mcp-resources/src/tools.ts)
|
|
151
152
|
|
|
152
|
-
|
|
153
|
+
### `list_mcp_resources`
|
|
153
154
|
|
|
154
|
-
|
|
155
|
+
List resources available from an MCP server.
|
|
155
156
|
|
|
156
|
-
|
|
157
|
+
```json
|
|
158
|
+
{
|
|
159
|
+
"type": "object",
|
|
160
|
+
"properties": {
|
|
161
|
+
"server": {
|
|
162
|
+
"type": "string",
|
|
163
|
+
"description": "Configured MCP server name."
|
|
164
|
+
},
|
|
165
|
+
"cursor": {
|
|
166
|
+
"type": "string",
|
|
167
|
+
"description": "Continuation cursor returned by this server."
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
"required": [
|
|
171
|
+
"server"
|
|
172
|
+
]
|
|
173
|
+
}
|
|
174
|
+
```
|
|
157
175
|
|
|
158
|
-
|
|
176
|
+
Source: [`packages/mcp/mcp-resources/src/tools.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/mcp/mcp-resources/src/tools.ts)
|
|
177
|
+
|
|
178
|
+
### `read_mcp_resource`
|
|
159
179
|
|
|
160
|
-
|
|
180
|
+
Read an MCP resource by URI from the named server. Use a listed URI or an expanded resource template.
|
|
161
181
|
|
|
162
182
|
```json
|
|
163
183
|
{
|
|
164
184
|
"type": "object",
|
|
165
185
|
"properties": {
|
|
166
|
-
"
|
|
186
|
+
"server": {
|
|
167
187
|
"type": "string",
|
|
168
|
-
"description": "
|
|
188
|
+
"description": "Configured MCP server name."
|
|
189
|
+
},
|
|
190
|
+
"uri": {
|
|
191
|
+
"type": "string",
|
|
192
|
+
"description": "Resource URI to read."
|
|
169
193
|
}
|
|
170
194
|
},
|
|
171
195
|
"required": [
|
|
172
|
-
"
|
|
196
|
+
"server",
|
|
197
|
+
"uri"
|
|
173
198
|
]
|
|
174
199
|
}
|
|
175
200
|
```
|
|
176
201
|
|
|
177
|
-
Source: [`packages/
|
|
178
|
-
|
|
179
|
-
exit_plan_mode stays in the model-facing schema while planning is inactive so transitions add no tool-catalog churn on top of the plan-policy change. Its execute path rejects calls outside plan mode; in plan mode it presents the plan over the user-questions seam (approve / keep planning with feedback), and approval logs plan mode inactive at the step boundary.
|
|
202
|
+
Source: [`packages/mcp/mcp-resources/src/tools.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/mcp/mcp-resources/src/tools.ts)
|
|
180
203
|
|
|
181
|
-
<a id="deepseek-aidsh-
|
|
204
|
+
<a id="deepseek-aidsh-experimental-browser-use-stagehand-native"></a>
|
|
182
205
|
|
|
183
|
-
## `@deepseek-ai/dsh-
|
|
206
|
+
## `@deepseek-ai/dsh-experimental-browser-use-stagehand-native`
|
|
184
207
|
|
|
185
|
-
### `
|
|
208
|
+
### `stagehand_act`
|
|
186
209
|
|
|
187
|
-
|
|
210
|
+
Perform one natural-language browser action using the configured Stagehand model.
|
|
188
211
|
|
|
189
212
|
```json
|
|
190
213
|
{
|
|
214
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
191
215
|
"type": "object",
|
|
192
216
|
"properties": {
|
|
193
|
-
"
|
|
217
|
+
"pageId": {
|
|
194
218
|
"type": "string",
|
|
195
|
-
"
|
|
219
|
+
"minLength": 1
|
|
196
220
|
},
|
|
197
|
-
"
|
|
221
|
+
"instruction": {
|
|
198
222
|
"type": "string",
|
|
199
|
-
"
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
223
|
+
"minLength": 1
|
|
224
|
+
}
|
|
225
|
+
},
|
|
226
|
+
"required": [
|
|
227
|
+
"instruction"
|
|
228
|
+
],
|
|
229
|
+
"additionalProperties": false
|
|
230
|
+
}
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
Source: [`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)
|
|
234
|
+
|
|
235
|
+
### `stagehand_extract`
|
|
236
|
+
|
|
237
|
+
Extract page data using the configured Stagehand model and an optional JSON Schema.
|
|
238
|
+
|
|
239
|
+
```json
|
|
240
|
+
{
|
|
241
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
242
|
+
"type": "object",
|
|
243
|
+
"properties": {
|
|
244
|
+
"pageId": {
|
|
245
|
+
"type": "string",
|
|
246
|
+
"minLength": 1
|
|
204
247
|
},
|
|
205
|
-
"
|
|
248
|
+
"instruction": {
|
|
206
249
|
"type": "string",
|
|
207
|
-
"
|
|
250
|
+
"minLength": 1
|
|
208
251
|
},
|
|
209
|
-
"
|
|
210
|
-
"type": "
|
|
211
|
-
"
|
|
252
|
+
"schema": {
|
|
253
|
+
"type": "object",
|
|
254
|
+
"propertyNames": {
|
|
255
|
+
"type": "string"
|
|
256
|
+
},
|
|
257
|
+
"additionalProperties": {
|
|
258
|
+
"$ref": "#/$defs/__schema0"
|
|
259
|
+
}
|
|
212
260
|
}
|
|
213
261
|
},
|
|
214
262
|
"required": [
|
|
215
|
-
"
|
|
216
|
-
|
|
217
|
-
|
|
263
|
+
"instruction"
|
|
264
|
+
],
|
|
265
|
+
"additionalProperties": false,
|
|
266
|
+
"$defs": {
|
|
267
|
+
"__schema0": {
|
|
268
|
+
"anyOf": [
|
|
269
|
+
{
|
|
270
|
+
"type": "string"
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
"type": "number"
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
"type": "boolean"
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
"type": "null"
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
"type": "array",
|
|
283
|
+
"items": {
|
|
284
|
+
"$ref": "#/$defs/__schema0"
|
|
285
|
+
}
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
"type": "object",
|
|
289
|
+
"propertyNames": {
|
|
290
|
+
"type": "string"
|
|
291
|
+
},
|
|
292
|
+
"additionalProperties": {
|
|
293
|
+
"$ref": "#/$defs/__schema0"
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
]
|
|
297
|
+
}
|
|
298
|
+
}
|
|
218
299
|
}
|
|
219
300
|
```
|
|
220
301
|
|
|
221
|
-
Source: [`packages/
|
|
302
|
+
Source: [`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)
|
|
222
303
|
|
|
223
|
-
|
|
304
|
+
### `stagehand_navigate`
|
|
224
305
|
|
|
225
|
-
|
|
306
|
+
Navigate a Stagehand browser tab to a URL.
|
|
226
307
|
|
|
227
|
-
|
|
308
|
+
```json
|
|
309
|
+
{
|
|
310
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
311
|
+
"type": "object",
|
|
312
|
+
"properties": {
|
|
313
|
+
"pageId": {
|
|
314
|
+
"type": "string",
|
|
315
|
+
"minLength": 1
|
|
316
|
+
},
|
|
317
|
+
"url": {
|
|
318
|
+
"type": "string",
|
|
319
|
+
"format": "uri"
|
|
320
|
+
}
|
|
321
|
+
},
|
|
322
|
+
"required": [
|
|
323
|
+
"url"
|
|
324
|
+
],
|
|
325
|
+
"additionalProperties": false
|
|
326
|
+
}
|
|
327
|
+
```
|
|
228
328
|
|
|
229
|
-
|
|
329
|
+
Source: [`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)
|
|
230
330
|
|
|
231
|
-
|
|
331
|
+
### `stagehand_observe`
|
|
332
|
+
|
|
333
|
+
Find browser actions matching an instruction using the configured Stagehand model.
|
|
232
334
|
|
|
233
335
|
```json
|
|
234
336
|
{
|
|
337
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
235
338
|
"type": "object",
|
|
236
339
|
"properties": {
|
|
237
|
-
"
|
|
340
|
+
"pageId": {
|
|
238
341
|
"type": "string",
|
|
239
|
-
"
|
|
342
|
+
"minLength": 1
|
|
240
343
|
},
|
|
241
|
-
"
|
|
344
|
+
"instruction": {
|
|
242
345
|
"type": "string",
|
|
243
|
-
"
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
346
|
+
"minLength": 1
|
|
347
|
+
}
|
|
348
|
+
},
|
|
349
|
+
"required": [
|
|
350
|
+
"instruction"
|
|
351
|
+
],
|
|
352
|
+
"additionalProperties": false
|
|
353
|
+
}
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
Source: [`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)
|
|
357
|
+
|
|
358
|
+
### `stagehand_screenshot`
|
|
359
|
+
|
|
360
|
+
Capture a Stagehand tab screenshot for visual inspection.
|
|
361
|
+
|
|
362
|
+
```json
|
|
363
|
+
{
|
|
364
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
365
|
+
"type": "object",
|
|
366
|
+
"properties": {
|
|
367
|
+
"pageId": {
|
|
250
368
|
"type": "string",
|
|
251
|
-
"
|
|
369
|
+
"minLength": 1
|
|
252
370
|
},
|
|
253
|
-
"
|
|
254
|
-
"
|
|
255
|
-
"
|
|
371
|
+
"fullPage": {
|
|
372
|
+
"default": false,
|
|
373
|
+
"type": "boolean"
|
|
256
374
|
}
|
|
257
375
|
},
|
|
258
376
|
"required": [
|
|
259
|
-
"
|
|
260
|
-
|
|
261
|
-
|
|
377
|
+
"fullPage"
|
|
378
|
+
],
|
|
379
|
+
"additionalProperties": false
|
|
262
380
|
}
|
|
263
381
|
```
|
|
264
382
|
|
|
265
|
-
Source: [`packages/
|
|
383
|
+
Source: [`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)
|
|
266
384
|
|
|
267
|
-
|
|
385
|
+
### `stagehand_tabs`
|
|
268
386
|
|
|
269
|
-
|
|
387
|
+
List, create, select, or close a Stagehand browser tab.
|
|
270
388
|
|
|
271
|
-
|
|
389
|
+
```json
|
|
390
|
+
{
|
|
391
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
392
|
+
"oneOf": [
|
|
393
|
+
{
|
|
394
|
+
"type": "object",
|
|
395
|
+
"properties": {
|
|
396
|
+
"action": {
|
|
397
|
+
"type": "string",
|
|
398
|
+
"const": "list"
|
|
399
|
+
}
|
|
400
|
+
},
|
|
401
|
+
"required": [
|
|
402
|
+
"action"
|
|
403
|
+
],
|
|
404
|
+
"additionalProperties": false
|
|
405
|
+
},
|
|
406
|
+
{
|
|
407
|
+
"type": "object",
|
|
408
|
+
"properties": {
|
|
409
|
+
"action": {
|
|
410
|
+
"type": "string",
|
|
411
|
+
"const": "new"
|
|
412
|
+
},
|
|
413
|
+
"url": {
|
|
414
|
+
"type": "string",
|
|
415
|
+
"format": "uri"
|
|
416
|
+
}
|
|
417
|
+
},
|
|
418
|
+
"required": [
|
|
419
|
+
"action"
|
|
420
|
+
],
|
|
421
|
+
"additionalProperties": false
|
|
422
|
+
},
|
|
423
|
+
{
|
|
424
|
+
"type": "object",
|
|
425
|
+
"properties": {
|
|
426
|
+
"action": {
|
|
427
|
+
"type": "string",
|
|
428
|
+
"enum": [
|
|
429
|
+
"select",
|
|
430
|
+
"close"
|
|
431
|
+
]
|
|
432
|
+
},
|
|
433
|
+
"pageId": {
|
|
434
|
+
"type": "string",
|
|
435
|
+
"minLength": 1
|
|
436
|
+
}
|
|
437
|
+
},
|
|
438
|
+
"required": [
|
|
439
|
+
"action",
|
|
440
|
+
"pageId"
|
|
441
|
+
],
|
|
442
|
+
"additionalProperties": false
|
|
443
|
+
}
|
|
444
|
+
],
|
|
445
|
+
"type": "object"
|
|
446
|
+
}
|
|
447
|
+
```
|
|
272
448
|
|
|
273
|
-
|
|
449
|
+
Source: [`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)
|
|
274
450
|
|
|
275
|
-
|
|
451
|
+
<a id="deepseek-aidsh-tool-ask-user"></a>
|
|
452
|
+
|
|
453
|
+
## `@deepseek-ai/dsh-tool-ask-user`
|
|
454
|
+
|
|
455
|
+
### `ask_user_question`
|
|
456
|
+
|
|
457
|
+
Ask the user a concise question when you need confirmation, a choice, or missing information before proceeding.
|
|
276
458
|
|
|
277
459
|
```json
|
|
278
460
|
{
|
|
279
461
|
"type": "object",
|
|
280
462
|
"properties": {
|
|
281
|
-
"
|
|
282
|
-
"
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
"idPrefix": {
|
|
292
|
-
"type": "string",
|
|
293
|
-
"description": "Suggested semantic prefix of 3–6 lowercase English letters; the Host adds a unique numeric suffix."
|
|
294
|
-
}
|
|
463
|
+
"questions": {
|
|
464
|
+
"type": "array",
|
|
465
|
+
"description": "Questions to ask the user before continuing.",
|
|
466
|
+
"items": {
|
|
467
|
+
"type": "object",
|
|
468
|
+
"additionalProperties": true,
|
|
469
|
+
"properties": {
|
|
470
|
+
"id": {
|
|
471
|
+
"type": "string",
|
|
472
|
+
"description": "Stable id for this question; echoed in the answer."
|
|
295
473
|
},
|
|
296
|
-
"
|
|
297
|
-
"
|
|
298
|
-
"
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
"
|
|
305
|
-
"
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
"
|
|
311
|
-
|
|
474
|
+
"question": {
|
|
475
|
+
"type": "string",
|
|
476
|
+
"description": "The specific question to ask the user."
|
|
477
|
+
},
|
|
478
|
+
"header": {
|
|
479
|
+
"type": "string",
|
|
480
|
+
"description": "Optional short heading for the question, such as \"Confirm\" or \"Choose Mode\"."
|
|
481
|
+
},
|
|
482
|
+
"options": {
|
|
483
|
+
"type": "array",
|
|
484
|
+
"description": "Optional choices to show the user. If you recommend one, put it first and append \"(Recommended)\" to that label.",
|
|
485
|
+
"items": {
|
|
486
|
+
"type": "object",
|
|
487
|
+
"additionalProperties": true,
|
|
488
|
+
"properties": {
|
|
489
|
+
"label": {
|
|
490
|
+
"type": "string",
|
|
491
|
+
"description": "Short user-facing option label."
|
|
492
|
+
},
|
|
493
|
+
"description": {
|
|
494
|
+
"type": "string",
|
|
495
|
+
"description": "One sentence explaining the tradeoff or impact."
|
|
496
|
+
}
|
|
497
|
+
},
|
|
498
|
+
"required": [
|
|
499
|
+
"label"
|
|
500
|
+
]
|
|
312
501
|
}
|
|
313
502
|
},
|
|
314
|
-
"
|
|
315
|
-
"
|
|
316
|
-
"
|
|
317
|
-
|
|
318
|
-
}
|
|
319
|
-
|
|
503
|
+
"multi_select": {
|
|
504
|
+
"type": "boolean",
|
|
505
|
+
"description": "Whether the user may select more than one option. Defaults to false."
|
|
506
|
+
}
|
|
507
|
+
},
|
|
508
|
+
"required": [
|
|
509
|
+
"id",
|
|
510
|
+
"question"
|
|
511
|
+
]
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
},
|
|
515
|
+
"required": [
|
|
516
|
+
"questions"
|
|
517
|
+
]
|
|
518
|
+
}
|
|
519
|
+
```
|
|
520
|
+
|
|
521
|
+
Source: [`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)
|
|
522
|
+
|
|
523
|
+
ask_user_question keeps the original blocking behavior by default; set `mode: timed` to opt into a foreground timeout and pending result while the question remains answerable. In timed mode, `timeout: -1` keeps that call blocking indefinitely.
|
|
524
|
+
|
|
525
|
+
<a id="deepseek-aidsh-tools"></a>
|
|
526
|
+
|
|
527
|
+
## `@deepseek-ai/dsh-tools`
|
|
528
|
+
|
|
529
|
+
### `run_code`
|
|
530
|
+
|
|
531
|
+
Execute a TypeScript program against the available tools. Takes two required arguments: `description`, a short summary of what the program does, and `code`, the BODY of an async function (erasable syntax only; top-level `await` and `return` work). Call tools as `await tools.name(args)` per the declarations in the system prompt. Only what you print or return is program output — curate it. Image-bearing subtool results are attached after the run.
|
|
532
|
+
|
|
533
|
+
```json
|
|
534
|
+
{
|
|
535
|
+
"type": "object",
|
|
536
|
+
"properties": {
|
|
537
|
+
"description": {
|
|
538
|
+
"type": "string",
|
|
539
|
+
"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\"."
|
|
320
540
|
},
|
|
321
|
-
"
|
|
541
|
+
"code": {
|
|
322
542
|
"type": "string",
|
|
323
|
-
"description": "
|
|
543
|
+
"description": "The program: the body of an async TypeScript function."
|
|
544
|
+
},
|
|
545
|
+
"timeoutMs": {
|
|
546
|
+
"type": "number",
|
|
547
|
+
"description": "Positive elapsed-time budget in milliseconds, capped by the deployment maximum."
|
|
324
548
|
},
|
|
325
|
-
"
|
|
549
|
+
"sandbox_permissions": {
|
|
326
550
|
"type": "string",
|
|
327
|
-
"description": "
|
|
551
|
+
"description": "Wider sandbox mode for this complete program execution; requires justification and approval.",
|
|
552
|
+
"enum": [
|
|
553
|
+
"workspace-write",
|
|
554
|
+
"danger-full-access"
|
|
555
|
+
]
|
|
328
556
|
},
|
|
329
|
-
"
|
|
330
|
-
"type": "
|
|
331
|
-
"
|
|
332
|
-
"properties": {
|
|
333
|
-
"host": {
|
|
334
|
-
"type": "string",
|
|
335
|
-
"description": "Plain JavaScript function body that returns the Host-half Cordis Plugin."
|
|
336
|
-
},
|
|
337
|
-
"client": {
|
|
338
|
-
"type": "string",
|
|
339
|
-
"description": "Plain JavaScript function body that returns the browser Client-half Cordis Plugin."
|
|
340
|
-
}
|
|
341
|
-
}
|
|
557
|
+
"justification": {
|
|
558
|
+
"type": "string",
|
|
559
|
+
"description": "Reason this complete program needs wider access, shown to the user for approval. Use the language of the user’s current request."
|
|
342
560
|
}
|
|
343
561
|
},
|
|
344
562
|
"required": [
|
|
345
|
-
"
|
|
346
|
-
"name",
|
|
347
|
-
"purpose",
|
|
563
|
+
"description",
|
|
348
564
|
"code"
|
|
349
565
|
]
|
|
350
566
|
}
|
|
351
567
|
```
|
|
352
568
|
|
|
353
|
-
Source: [`packages/
|
|
569
|
+
Source: [`packages/core/tools/src/ptc.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/core/tools/src/ptc.ts)
|
|
354
570
|
|
|
355
|
-
|
|
571
|
+
Owned by the tool registry as a reserved transport outside filterable capability layers under `mode: ptc` / `mode: both` (see the PTC mode Agent Note). Under `ptc` it is the registry's only wire contribution; the other visible capabilities are declared in a generated SDK section in the loaded runtime's language, and a program calls them through bindings scheduled under the native concurrency contract (submission-ordered starts and policy; concurrency-safe bodies overlap up to `maxParallelSubCalls`) that re-enter the complete guarded tool pipeline and link each nested execution to this outer result.
|
|
356
572
|
|
|
357
|
-
|
|
573
|
+
<a id="deepseek-aidsh-plan-mode"></a>
|
|
574
|
+
|
|
575
|
+
## `@deepseek-ai/dsh-plan-mode`
|
|
576
|
+
|
|
577
|
+
### `exit_plan_mode`
|
|
578
|
+
|
|
579
|
+
Use only in plan mode. Present your plan for the user's review and, on approval, leave plan mode. The user may approve (carry out the plan from your next step) or keep planning — their feedback comes back in the tool result; revise and present again.
|
|
358
580
|
|
|
359
581
|
```json
|
|
360
582
|
{
|
|
361
583
|
"type": "object",
|
|
362
|
-
"properties": {
|
|
584
|
+
"properties": {
|
|
585
|
+
"plan": {
|
|
586
|
+
"type": "string",
|
|
587
|
+
"description": "The complete plan, as markdown, starting with a # heading that names it."
|
|
588
|
+
}
|
|
589
|
+
},
|
|
590
|
+
"required": [
|
|
591
|
+
"plan"
|
|
592
|
+
]
|
|
363
593
|
}
|
|
364
594
|
```
|
|
365
595
|
|
|
366
|
-
Source: [`packages/
|
|
596
|
+
Source: [`packages/plan/plan-mode/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/plan/plan-mode/src/index.ts)
|
|
367
597
|
|
|
368
|
-
|
|
598
|
+
exit_plan_mode stays in the model-facing schema while planning is inactive so transitions add no tool-catalog churn on top of the plan-policy change. Its execute path rejects calls outside plan mode; in plan mode it presents the plan over the user-questions seam (approve / keep planning with feedback), and approval logs plan mode inactive at the step boundary.
|
|
369
599
|
|
|
370
|
-
|
|
600
|
+
<a id="deepseek-aidsh-tool-bash"></a>
|
|
601
|
+
|
|
602
|
+
## `@deepseek-ai/dsh-tool-bash`
|
|
603
|
+
|
|
604
|
+
### `bash`
|
|
605
|
+
|
|
606
|
+
Execute a bash command (`bash -c`) and return its stdout/stderr. Each call runs in a fresh shell; pass `workdir` instead of using `cd`. Managed `$DSH_*` variables expose current harness environment facts. Long output is truncated to its tail; the full output is saved to a file whose path is reported when available. Provide `description` before `command` in the arguments. Before any delete or move, verify that the resolved absolute target path is the intended one; never run it against a computed path you have not checked. An unset variable expands to an empty string, so guard variables in such paths with `${VAR:?}`. Commands may run under a file sandbox; a blocked file operation is reported as `[sandbox: file access denied under <mode> mode]`, a policy denial: do not retry another way.
|
|
371
607
|
|
|
372
608
|
```json
|
|
373
609
|
{
|
|
374
610
|
"type": "object",
|
|
375
611
|
"properties": {
|
|
376
|
-
"
|
|
612
|
+
"description": {
|
|
377
613
|
"type": "string",
|
|
378
|
-
"description": "
|
|
379
|
-
"enum": [
|
|
380
|
-
"host",
|
|
381
|
-
"client"
|
|
382
|
-
]
|
|
614
|
+
"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\"."
|
|
383
615
|
},
|
|
384
|
-
"
|
|
616
|
+
"command": {
|
|
385
617
|
"type": "string",
|
|
386
|
-
"description": "
|
|
618
|
+
"description": "The bash command to execute."
|
|
387
619
|
},
|
|
388
|
-
"
|
|
620
|
+
"timeoutMs": {
|
|
621
|
+
"type": "number",
|
|
622
|
+
"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."
|
|
623
|
+
},
|
|
624
|
+
"workdir": {
|
|
389
625
|
"type": "string",
|
|
390
|
-
"description": "
|
|
626
|
+
"description": "Working directory for this command. Defaults to the session workspace; a relative path is resolved against it."
|
|
391
627
|
},
|
|
392
|
-
"
|
|
393
|
-
"
|
|
628
|
+
"run_in_background": {
|
|
629
|
+
"type": "boolean",
|
|
630
|
+
"description": "Run in the background and return a job id immediately (collect with job_output, stop with job_kill). No timeout applies."
|
|
394
631
|
}
|
|
395
632
|
},
|
|
396
633
|
"required": [
|
|
397
|
-
"
|
|
398
|
-
"
|
|
399
|
-
"method"
|
|
634
|
+
"description",
|
|
635
|
+
"command"
|
|
400
636
|
]
|
|
401
637
|
}
|
|
402
638
|
```
|
|
403
639
|
|
|
404
|
-
Source: [`packages/
|
|
640
|
+
Source: [`packages/shell/tool-bash/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/shell/tool-bash/src/index.ts)
|
|
405
641
|
|
|
406
|
-
|
|
642
|
+
The bash tool is the model-facing consumer of the bash executor seam. With a job registry composed every call registers with the generic `ctx.jobs` runtime as it starts, collected/stopped through the `job_*` tools from `@deepseek-ai/dsh-tool-jobs`; without one, or with `enableRunInBackground: false`, the tool registers a foreground-only schema without the `run_in_background` parameter.
|
|
407
643
|
|
|
408
|
-
|
|
644
|
+
<a id="deepseek-aidsh-tool-present"></a>
|
|
645
|
+
|
|
646
|
+
## `@deepseek-ai/dsh-tool-present`
|
|
647
|
+
|
|
648
|
+
### `present`
|
|
649
|
+
|
|
650
|
+
Declare existing files as final deliverables for the user. Use it when the user needs a separate file, especially Office documents, spreadsheets, and slide decks; prefer your final response when that suffices. The user opens the current files; their contents are not copied.
|
|
409
651
|
|
|
410
652
|
```json
|
|
411
653
|
{
|
|
412
654
|
"type": "object",
|
|
413
655
|
"properties": {
|
|
414
|
-
"
|
|
415
|
-
"type": "
|
|
416
|
-
"description": "
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
656
|
+
"files": {
|
|
657
|
+
"type": "array",
|
|
658
|
+
"description": "Usually the 1-2 most important deliverables; at most 4 per call.",
|
|
659
|
+
"items": {
|
|
660
|
+
"type": "object",
|
|
661
|
+
"additionalProperties": false,
|
|
662
|
+
"properties": {
|
|
663
|
+
"path": {
|
|
664
|
+
"type": "string",
|
|
665
|
+
"description": "Path of an existing regular file. Relative paths use the Session working directory."
|
|
666
|
+
},
|
|
667
|
+
"description": {
|
|
668
|
+
"type": "string",
|
|
669
|
+
"description": "Brief description for the user."
|
|
670
|
+
}
|
|
671
|
+
},
|
|
672
|
+
"required": [
|
|
673
|
+
"path"
|
|
674
|
+
]
|
|
675
|
+
}
|
|
421
676
|
}
|
|
422
|
-
}
|
|
677
|
+
},
|
|
678
|
+
"required": [
|
|
679
|
+
"files"
|
|
680
|
+
]
|
|
423
681
|
}
|
|
424
682
|
```
|
|
425
683
|
|
|
426
|
-
Source: [`packages/
|
|
684
|
+
Source: [`packages/deliverables/tool-present/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/deliverables/tool-present/src/index.ts)
|
|
427
685
|
|
|
428
|
-
|
|
686
|
+
Deliveries belong to the calling Session; Web ui-deliverables supplies source-file opening and cards.
|
|
429
687
|
|
|
430
|
-
|
|
688
|
+
<a id="deepseek-aidsh-tool-pwsh"></a>
|
|
689
|
+
|
|
690
|
+
## `@deepseek-ai/dsh-tool-pwsh`
|
|
691
|
+
|
|
692
|
+
### `pwsh`
|
|
693
|
+
|
|
694
|
+
Execute a PowerShell command (`pwsh -Command`) and return its stdout/stderr. Each call runs in a fresh pwsh process; pass `workdir` instead of using `cd`. Paths use native Windows form (`C:\...`); read environment variables with `$env:NAME`. Managed `$env:DSH_*` variables expose current harness environment facts. Long output is truncated to its tail; the full output is saved to a file whose path is reported when available. On Windows a force-killed command settles as `[exit code: 1]` without a signal marker — treat it as an interruption, not a command failure. Provide `description` before `command` in the arguments. Before any delete or move, verify that the resolved absolute target path is the intended one; never run it against a computed path you have not checked. Do not assign to automatic variables such as `$HOME`; variable names are case-insensitive, so `$home` is the same read-only variable. Commands may run under a file sandbox; a blocked file operation is reported as `[sandbox: file access denied under <mode> mode]`, a policy denial: do not retry another way.
|
|
431
695
|
|
|
432
696
|
```json
|
|
433
697
|
{
|
|
434
698
|
"type": "object",
|
|
435
699
|
"properties": {
|
|
436
|
-
"
|
|
700
|
+
"description": {
|
|
437
701
|
"type": "string",
|
|
438
|
-
"description": "
|
|
702
|
+
"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\"."
|
|
439
703
|
},
|
|
440
|
-
"
|
|
704
|
+
"command": {
|
|
441
705
|
"type": "string",
|
|
442
|
-
"description": "
|
|
706
|
+
"description": "The PowerShell command to execute."
|
|
707
|
+
},
|
|
708
|
+
"timeoutMs": {
|
|
709
|
+
"type": "number",
|
|
710
|
+
"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."
|
|
443
711
|
},
|
|
444
|
-
"
|
|
712
|
+
"workdir": {
|
|
445
713
|
"type": "string",
|
|
446
|
-
"description": "
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
714
|
+
"description": "Working directory for this command. Defaults to the session workspace; a relative path is resolved against it."
|
|
715
|
+
},
|
|
716
|
+
"run_in_background": {
|
|
717
|
+
"type": "boolean",
|
|
718
|
+
"description": "Run in the background and return a job id immediately (collect with job_output, stop with job_kill). No timeout applies."
|
|
451
719
|
}
|
|
452
720
|
},
|
|
453
721
|
"required": [
|
|
454
|
-
"
|
|
455
|
-
"
|
|
456
|
-
"mode"
|
|
722
|
+
"description",
|
|
723
|
+
"command"
|
|
457
724
|
]
|
|
458
725
|
}
|
|
459
726
|
```
|
|
460
727
|
|
|
461
|
-
Source: [`packages/
|
|
728
|
+
Source: [`packages/shell/tool-pwsh/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/shell/tool-pwsh/src/index.ts)
|
|
729
|
+
|
|
730
|
+
The pwsh tool is the PowerShell-dialect consumer of the bash executor seam for Windows compositions (a PowerShell executor such as `@deepseek-ai/dsh-pwsh-local` backs `ctx.shell`); it mirrors the bash tool call-for-call minus sandbox controls — `run_in_background` runs register with the generic `ctx.jobs` runtime and are collected/stopped through the `job_*` tools, and the managed `DSH_*` environment comes from `@deepseek-ai/dsh-shell-env`. Each call runs in a fresh process (no persistent PTY session), with native `C:\...` paths and `$env:NAME` variables.
|
|
731
|
+
|
|
732
|
+
<a id="deepseek-aidsh-tool-cordis"></a>
|
|
733
|
+
|
|
734
|
+
## `@deepseek-ai/dsh-tool-cordis`
|
|
462
735
|
|
|
463
|
-
### `
|
|
736
|
+
### `cordis_inspect_list`
|
|
464
737
|
|
|
465
|
-
|
|
738
|
+
List every Cordis Inspect Provider currently known to the Host, including local Host Providers and the latest manifests synchronized from the Client. Each entry includes its platform, purpose, read-only methods, and input/output schemas. Call this Tool before writing or configuring a plugin, then select the provider and method for cordis_inspect_query from its result. Do not guess names or treat an Inspect method as a business Service that Plugin code can call.
|
|
466
739
|
|
|
467
740
|
```json
|
|
468
741
|
{
|
|
469
742
|
"type": "object",
|
|
470
|
-
"properties": {
|
|
471
|
-
"pluginId": {
|
|
472
|
-
"type": "string",
|
|
473
|
-
"description": "Stable dynamic Plugin ID to stop."
|
|
474
|
-
}
|
|
475
|
-
},
|
|
476
|
-
"required": [
|
|
477
|
-
"pluginId"
|
|
478
|
-
]
|
|
743
|
+
"properties": {}
|
|
479
744
|
}
|
|
480
745
|
```
|
|
481
746
|
|
|
482
747
|
Source: [`packages/extensions/tool-cordis/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/extensions/tool-cordis/src/index.ts)
|
|
483
748
|
|
|
484
|
-
### `
|
|
749
|
+
### `cordis_inspect_query`
|
|
485
750
|
|
|
486
|
-
|
|
751
|
+
Run a read-only query declared by an Inspect Provider. platform, provider, and method must come from cordis_inspect_list, and input must satisfy that method's schema. Use this Tool before writing plugin code to read exact Service methods, Event modes, plugin Config schemas, Tool schemas, theme tokens, or live Slot trees and props. Host queries run locally. A Client query waits for the first valid page response within the configured timeout; otherwise it reports a Client failure or asks you to reconnect and retry. This Tool cannot invoke business Service methods or modify the runtime.
|
|
487
752
|
|
|
488
753
|
```json
|
|
489
754
|
{
|
|
490
755
|
"type": "object",
|
|
491
756
|
"properties": {
|
|
492
|
-
"
|
|
757
|
+
"platform": {
|
|
758
|
+
"type": "string",
|
|
759
|
+
"description": "Runtime platform that owns the Provider.",
|
|
760
|
+
"enum": [
|
|
761
|
+
"host",
|
|
762
|
+
"client"
|
|
763
|
+
]
|
|
764
|
+
},
|
|
765
|
+
"provider": {
|
|
766
|
+
"type": "string",
|
|
767
|
+
"description": "Exact Provider ID returned by cordis_inspect_list."
|
|
768
|
+
},
|
|
769
|
+
"method": {
|
|
493
770
|
"type": "string",
|
|
494
|
-
"description": "
|
|
771
|
+
"description": "Exact method name declared by the Provider manifest."
|
|
772
|
+
},
|
|
773
|
+
"input": {
|
|
774
|
+
"description": "Optional query input; it must satisfy the method input schema."
|
|
495
775
|
}
|
|
496
776
|
},
|
|
497
777
|
"required": [
|
|
498
|
-
"
|
|
778
|
+
"platform",
|
|
779
|
+
"provider",
|
|
780
|
+
"method"
|
|
499
781
|
]
|
|
500
782
|
}
|
|
501
783
|
```
|
|
502
784
|
|
|
503
785
|
Source: [`packages/extensions/tool-cordis/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/extensions/tool-cordis/src/index.ts)
|
|
504
786
|
|
|
505
|
-
|
|
787
|
+
Creator mode provides two read-only runtime inspection tools. The Cordis host runner supplies the inspection registry; Client queries require a connected page. Author persistent changes as bundles and install them with plugin_manager.
|
|
506
788
|
|
|
507
789
|
<a id="deepseek-aidsh-tool-bash-persistent"></a>
|
|
508
790
|
|
|
@@ -678,11 +960,11 @@ Edit an existing UTF-8 text file by replacing literal text.
|
|
|
678
960
|
"properties": {
|
|
679
961
|
"file_path": {
|
|
680
962
|
"type": "string",
|
|
681
|
-
"description": "Path to edit, resolved by the filesystem backend."
|
|
963
|
+
"description": "Path to edit, resolved by the filesystem backend. Provide `file_path` before `old_string` and `new_string` in the arguments."
|
|
682
964
|
},
|
|
683
965
|
"old_string": {
|
|
684
966
|
"type": "string",
|
|
685
|
-
"description": "Literal text to replace.
|
|
967
|
+
"description": "Literal text to replace."
|
|
686
968
|
},
|
|
687
969
|
"new_string": {
|
|
688
970
|
"type": "string",
|
|
@@ -734,7 +1016,7 @@ Source: [`packages/fs/tool-fs/src/index.ts`](https://github.com/deepseek-ai/deep
|
|
|
734
1016
|
|
|
735
1017
|
### `read_image`
|
|
736
1018
|
|
|
737
|
-
Read a PNG/JPEG/WebP/GIF file and return the image itself.
|
|
1019
|
+
Read a PNG/JPEG/WebP/GIF file and return the image itself. Large images are downscaled automatically; do not install image libraries or create thumbnails to inspect an image.
|
|
738
1020
|
|
|
739
1021
|
```json
|
|
740
1022
|
{
|
|
@@ -763,7 +1045,7 @@ Create or fully replace a UTF-8 text file.
|
|
|
763
1045
|
"properties": {
|
|
764
1046
|
"file_path": {
|
|
765
1047
|
"type": "string",
|
|
766
|
-
"description": "Path to write, resolved by the filesystem backend."
|
|
1048
|
+
"description": "Path to write, resolved by the filesystem backend. Provide `file_path` before `content` in the arguments."
|
|
767
1049
|
},
|
|
768
1050
|
"content": {
|
|
769
1051
|
"type": "string",
|
|
@@ -787,7 +1069,7 @@ The read-before-write/edit policy is added by `@deepseek-ai/dsh-fs-observation-p
|
|
|
787
1069
|
|
|
788
1070
|
### `glob`
|
|
789
1071
|
|
|
790
|
-
Find files whose paths match a glob pattern
|
|
1072
|
+
Find files, not directories, whose paths match a glob pattern, including hidden and ignored files. Returns up to 100 paths in modification-time order; a larger result is sampled across top-level entries and reports where the complete list was saved.
|
|
791
1073
|
|
|
792
1074
|
```json
|
|
793
1075
|
{
|
|
@@ -812,7 +1094,7 @@ Source: [`packages/fs/tool-fs-search/src/index.ts`](https://github.com/deepseek-
|
|
|
812
1094
|
|
|
813
1095
|
### `grep`
|
|
814
1096
|
|
|
815
|
-
Search file contents with a ripgrep regular expression. Returns matching lines with line numbers, grouped by file. Returns
|
|
1097
|
+
Search file contents with a ripgrep regular expression. Returns matching lines with line numbers, grouped by file. Returns up to 250 matches; a larger result reports where the complete match list was saved.
|
|
816
1098
|
|
|
817
1099
|
```json
|
|
818
1100
|
{
|
|
@@ -1012,7 +1294,7 @@ The six terminal tools are opt-in and complement one-shot shell/filesystem tools
|
|
|
1012
1294
|
|
|
1013
1295
|
### `create_goal`
|
|
1014
1296
|
|
|
1015
|
-
Create
|
|
1297
|
+
Create a persisted goal that keeps this session working across automatic continuation rounds. Use it when the direct human request is a long-running objective, even if the user did not say "goal"; not for single-turn work.
|
|
1016
1298
|
|
|
1017
1299
|
```json
|
|
1018
1300
|
{
|
|
@@ -1037,7 +1319,7 @@ Source: [`packages/goal/tool-goal/src/index.ts`](https://github.com/deepseek-ai/
|
|
|
1037
1319
|
|
|
1038
1320
|
### `get_goal`
|
|
1039
1321
|
|
|
1040
|
-
Read the current
|
|
1322
|
+
Read the current session goal, including the id and revision that update_goal requires.
|
|
1041
1323
|
|
|
1042
1324
|
```json
|
|
1043
1325
|
{
|
|
@@ -1050,7 +1332,7 @@ Source: [`packages/goal/tool-goal/src/index.ts`](https://github.com/deepseek-ai/
|
|
|
1050
1332
|
|
|
1051
1333
|
### `update_goal`
|
|
1052
1334
|
|
|
1053
|
-
Update the
|
|
1335
|
+
Update the current goal.
|
|
1054
1336
|
|
|
1055
1337
|
```json
|
|
1056
1338
|
{
|
|
@@ -1066,7 +1348,7 @@ Update the exact current goal revision. edit, pause, and resume require a direct
|
|
|
1066
1348
|
},
|
|
1067
1349
|
"action": {
|
|
1068
1350
|
"type": "string",
|
|
1069
|
-
"description": "edit
|
|
1351
|
+
"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.",
|
|
1070
1352
|
"enum": [
|
|
1071
1353
|
"edit",
|
|
1072
1354
|
"pause",
|
|
@@ -1085,7 +1367,7 @@ Update the exact current goal revision. edit, pause, and resume require a direct
|
|
|
1085
1367
|
},
|
|
1086
1368
|
"blocked_reason": {
|
|
1087
1369
|
"type": "string",
|
|
1088
|
-
"description": "
|
|
1370
|
+
"description": "Required only with action blocked: the concrete condition that persisted across rounds and blocks progress."
|
|
1089
1371
|
}
|
|
1090
1372
|
},
|
|
1091
1373
|
"required": [
|
|
@@ -1100,13 +1382,13 @@ Source: [`packages/goal/tool-goal/src/index.ts`](https://github.com/deepseek-ai/
|
|
|
1100
1382
|
|
|
1101
1383
|
create, edit, pause, and resume require direct-human root authority; complete and blocked also accept the exact current goal round. The default blocked lower bound is three admitted rounds.
|
|
1102
1384
|
|
|
1103
|
-
<a id="deepseek-aidsh-schedule"></a>
|
|
1385
|
+
<a id="deepseek-aidsh-tool-schedule"></a>
|
|
1104
1386
|
|
|
1105
|
-
## `@deepseek-ai/dsh-schedule`
|
|
1387
|
+
## `@deepseek-ai/dsh-tool-schedule`
|
|
1106
1388
|
|
|
1107
1389
|
### `schedule_create`
|
|
1108
1390
|
|
|
1109
|
-
Create
|
|
1391
|
+
Create a reminder in the current session that delivers prompt when it becomes due. Supply exactly one timing parameter: after_seconds, at, every_seconds, daily, weekly, or cron. Local times that do not exist in the zone are skipped; repeated local times fire once, at the earlier instant. After downtime, a recurring reminder delivers only its latest missed occurrence. Delivery can repeat after a crash.
|
|
1110
1392
|
|
|
1111
1393
|
```json
|
|
1112
1394
|
{
|
|
@@ -1116,13 +1398,82 @@ Create one reminder in the current session. Supply a non-empty prompt and exactl
|
|
|
1116
1398
|
"type": "string",
|
|
1117
1399
|
"description": "Reminder content to present when the target becomes due."
|
|
1118
1400
|
},
|
|
1401
|
+
"title": {
|
|
1402
|
+
"type": "string",
|
|
1403
|
+
"description": "Task name of at most 120 characters, shown on the task card and in task lists."
|
|
1404
|
+
},
|
|
1119
1405
|
"after_seconds": {
|
|
1120
1406
|
"type": "number",
|
|
1121
|
-
"description": "
|
|
1407
|
+
"description": "Delay in whole seconds."
|
|
1122
1408
|
},
|
|
1123
1409
|
"every_seconds": {
|
|
1124
1410
|
"type": "number",
|
|
1125
|
-
"description": "Fixed-rate
|
|
1411
|
+
"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."
|
|
1412
|
+
},
|
|
1413
|
+
"daily": {
|
|
1414
|
+
"type": "object",
|
|
1415
|
+
"description": "Every day at a local time.",
|
|
1416
|
+
"additionalProperties": false,
|
|
1417
|
+
"properties": {
|
|
1418
|
+
"time": {
|
|
1419
|
+
"type": "string",
|
|
1420
|
+
"description": "HH:mm:ss with optional 1-3 fractional digits, for example 23:00:00."
|
|
1421
|
+
},
|
|
1422
|
+
"time_zone": {
|
|
1423
|
+
"type": "string",
|
|
1424
|
+
"description": "UTC or IANA Area/Location, for example Asia/Shanghai."
|
|
1425
|
+
}
|
|
1426
|
+
},
|
|
1427
|
+
"required": [
|
|
1428
|
+
"time",
|
|
1429
|
+
"time_zone"
|
|
1430
|
+
]
|
|
1431
|
+
},
|
|
1432
|
+
"weekly": {
|
|
1433
|
+
"type": "object",
|
|
1434
|
+
"description": "On the given weekdays at a local time.",
|
|
1435
|
+
"additionalProperties": false,
|
|
1436
|
+
"properties": {
|
|
1437
|
+
"time": {
|
|
1438
|
+
"type": "string",
|
|
1439
|
+
"description": "HH:mm:ss with optional 1-3 fractional digits, for example 09:00:00."
|
|
1440
|
+
},
|
|
1441
|
+
"time_zone": {
|
|
1442
|
+
"type": "string",
|
|
1443
|
+
"description": "UTC or IANA Area/Location, for example Asia/Shanghai."
|
|
1444
|
+
},
|
|
1445
|
+
"weekdays": {
|
|
1446
|
+
"type": "array",
|
|
1447
|
+
"description": "ISO weekdays, Monday 1 through Sunday 7, without repetitions.",
|
|
1448
|
+
"items": {
|
|
1449
|
+
"type": "integer"
|
|
1450
|
+
}
|
|
1451
|
+
}
|
|
1452
|
+
},
|
|
1453
|
+
"required": [
|
|
1454
|
+
"time",
|
|
1455
|
+
"time_zone",
|
|
1456
|
+
"weekdays"
|
|
1457
|
+
]
|
|
1458
|
+
},
|
|
1459
|
+
"cron": {
|
|
1460
|
+
"type": "object",
|
|
1461
|
+
"description": "Five-field Vixie cron expression in a time zone.",
|
|
1462
|
+
"additionalProperties": false,
|
|
1463
|
+
"properties": {
|
|
1464
|
+
"expression": {
|
|
1465
|
+
"type": "string",
|
|
1466
|
+
"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."
|
|
1467
|
+
},
|
|
1468
|
+
"time_zone": {
|
|
1469
|
+
"type": "string",
|
|
1470
|
+
"description": "UTC or IANA Area/Location, for example Asia/Shanghai."
|
|
1471
|
+
}
|
|
1472
|
+
},
|
|
1473
|
+
"required": [
|
|
1474
|
+
"expression",
|
|
1475
|
+
"time_zone"
|
|
1476
|
+
]
|
|
1126
1477
|
},
|
|
1127
1478
|
"at": {
|
|
1128
1479
|
"oneOf": [
|
|
@@ -1150,20 +1501,21 @@ Create one reminder in the current session. Supply a non-empty prompt and exactl
|
|
|
1150
1501
|
]
|
|
1151
1502
|
}
|
|
1152
1503
|
],
|
|
1153
|
-
"description": "Absolute target
|
|
1504
|
+
"description": "Absolute target: an RFC 3339 date-time with offset, or a local date, time, and IANA time_zone."
|
|
1154
1505
|
}
|
|
1155
1506
|
},
|
|
1156
1507
|
"required": [
|
|
1157
|
-
"prompt"
|
|
1508
|
+
"prompt",
|
|
1509
|
+
"title"
|
|
1158
1510
|
]
|
|
1159
1511
|
}
|
|
1160
1512
|
```
|
|
1161
1513
|
|
|
1162
|
-
Source: [`packages/schedule/schedule/src/
|
|
1514
|
+
Source: [`packages/schedule/tool-schedule/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/schedule/tool-schedule/src/index.ts)
|
|
1163
1515
|
|
|
1164
1516
|
### `schedule_delete`
|
|
1165
1517
|
|
|
1166
|
-
Delete
|
|
1518
|
+
Delete a reminder in the current session, active or inactive. Deletion does not retract a reminder message that is already queued.
|
|
1167
1519
|
|
|
1168
1520
|
```json
|
|
1169
1521
|
{
|
|
@@ -1171,7 +1523,7 @@ Delete one active reminder in the current session by the exact id returned by sc
|
|
|
1171
1523
|
"properties": {
|
|
1172
1524
|
"id": {
|
|
1173
1525
|
"type": "string",
|
|
1174
|
-
"description": "Exact
|
|
1526
|
+
"description": "Exact schedule id."
|
|
1175
1527
|
}
|
|
1176
1528
|
},
|
|
1177
1529
|
"required": [
|
|
@@ -1180,11 +1532,11 @@ Delete one active reminder in the current session by the exact id returned by sc
|
|
|
1180
1532
|
}
|
|
1181
1533
|
```
|
|
1182
1534
|
|
|
1183
|
-
Source: [`packages/schedule/schedule/src/
|
|
1535
|
+
Source: [`packages/schedule/tool-schedule/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/schedule/tool-schedule/src/index.ts)
|
|
1184
1536
|
|
|
1185
1537
|
### `schedule_list`
|
|
1186
1538
|
|
|
1187
|
-
List
|
|
1539
|
+
List the active reminders in the current session.
|
|
1188
1540
|
|
|
1189
1541
|
```json
|
|
1190
1542
|
{
|
|
@@ -1193,9 +1545,135 @@ List every active reminder in the current session in creation order, including i
|
|
|
1193
1545
|
}
|
|
1194
1546
|
```
|
|
1195
1547
|
|
|
1196
|
-
Source: [`packages/schedule/schedule/src/
|
|
1548
|
+
Source: [`packages/schedule/tool-schedule/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/schedule/tool-schedule/src/index.ts)
|
|
1549
|
+
|
|
1550
|
+
### `schedule_update`
|
|
1551
|
+
|
|
1552
|
+
Change a reminder in place, keeping its id. Supply a new title, prompt, or at most one timing parameter; omitted fields keep their stored values. To change a relative delay, create a new reminder.
|
|
1553
|
+
|
|
1554
|
+
```json
|
|
1555
|
+
{
|
|
1556
|
+
"type": "object",
|
|
1557
|
+
"properties": {
|
|
1558
|
+
"id": {
|
|
1559
|
+
"type": "string",
|
|
1560
|
+
"description": "Schedule id returned by schedule_list."
|
|
1561
|
+
},
|
|
1562
|
+
"title": {
|
|
1563
|
+
"type": "string",
|
|
1564
|
+
"description": "New task name of at most 120 characters."
|
|
1565
|
+
},
|
|
1566
|
+
"prompt": {
|
|
1567
|
+
"type": "string",
|
|
1568
|
+
"description": "New reminder content."
|
|
1569
|
+
},
|
|
1570
|
+
"every_seconds": {
|
|
1571
|
+
"type": "number",
|
|
1572
|
+
"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."
|
|
1573
|
+
},
|
|
1574
|
+
"daily": {
|
|
1575
|
+
"type": "object",
|
|
1576
|
+
"description": "Every day at a local time.",
|
|
1577
|
+
"additionalProperties": false,
|
|
1578
|
+
"properties": {
|
|
1579
|
+
"time": {
|
|
1580
|
+
"type": "string",
|
|
1581
|
+
"description": "HH:mm:ss with optional 1-3 fractional digits, for example 23:00:00."
|
|
1582
|
+
},
|
|
1583
|
+
"time_zone": {
|
|
1584
|
+
"type": "string",
|
|
1585
|
+
"description": "UTC or IANA Area/Location, for example Asia/Shanghai."
|
|
1586
|
+
}
|
|
1587
|
+
},
|
|
1588
|
+
"required": [
|
|
1589
|
+
"time",
|
|
1590
|
+
"time_zone"
|
|
1591
|
+
]
|
|
1592
|
+
},
|
|
1593
|
+
"weekly": {
|
|
1594
|
+
"type": "object",
|
|
1595
|
+
"description": "On the given weekdays at a local time.",
|
|
1596
|
+
"additionalProperties": false,
|
|
1597
|
+
"properties": {
|
|
1598
|
+
"time": {
|
|
1599
|
+
"type": "string",
|
|
1600
|
+
"description": "HH:mm:ss with optional 1-3 fractional digits, for example 09:00:00."
|
|
1601
|
+
},
|
|
1602
|
+
"time_zone": {
|
|
1603
|
+
"type": "string",
|
|
1604
|
+
"description": "UTC or IANA Area/Location, for example Asia/Shanghai."
|
|
1605
|
+
},
|
|
1606
|
+
"weekdays": {
|
|
1607
|
+
"type": "array",
|
|
1608
|
+
"description": "ISO weekdays, Monday 1 through Sunday 7, without repetitions.",
|
|
1609
|
+
"items": {
|
|
1610
|
+
"type": "integer"
|
|
1611
|
+
}
|
|
1612
|
+
}
|
|
1613
|
+
},
|
|
1614
|
+
"required": [
|
|
1615
|
+
"time",
|
|
1616
|
+
"time_zone",
|
|
1617
|
+
"weekdays"
|
|
1618
|
+
]
|
|
1619
|
+
},
|
|
1620
|
+
"cron": {
|
|
1621
|
+
"type": "object",
|
|
1622
|
+
"description": "Five-field Vixie cron expression in a time zone.",
|
|
1623
|
+
"additionalProperties": false,
|
|
1624
|
+
"properties": {
|
|
1625
|
+
"expression": {
|
|
1626
|
+
"type": "string",
|
|
1627
|
+
"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."
|
|
1628
|
+
},
|
|
1629
|
+
"time_zone": {
|
|
1630
|
+
"type": "string",
|
|
1631
|
+
"description": "UTC or IANA Area/Location, for example Asia/Shanghai."
|
|
1632
|
+
}
|
|
1633
|
+
},
|
|
1634
|
+
"required": [
|
|
1635
|
+
"expression",
|
|
1636
|
+
"time_zone"
|
|
1637
|
+
]
|
|
1638
|
+
},
|
|
1639
|
+
"at": {
|
|
1640
|
+
"oneOf": [
|
|
1641
|
+
{
|
|
1642
|
+
"type": "string"
|
|
1643
|
+
},
|
|
1644
|
+
{
|
|
1645
|
+
"type": "object",
|
|
1646
|
+
"additionalProperties": false,
|
|
1647
|
+
"properties": {
|
|
1648
|
+
"date": {
|
|
1649
|
+
"type": "string"
|
|
1650
|
+
},
|
|
1651
|
+
"time": {
|
|
1652
|
+
"type": "string"
|
|
1653
|
+
},
|
|
1654
|
+
"time_zone": {
|
|
1655
|
+
"type": "string"
|
|
1656
|
+
}
|
|
1657
|
+
},
|
|
1658
|
+
"required": [
|
|
1659
|
+
"date",
|
|
1660
|
+
"time",
|
|
1661
|
+
"time_zone"
|
|
1662
|
+
]
|
|
1663
|
+
}
|
|
1664
|
+
],
|
|
1665
|
+
"description": "Absolute target: an RFC 3339 date-time with offset, or a local date, time, and IANA time_zone."
|
|
1666
|
+
}
|
|
1667
|
+
},
|
|
1668
|
+
"required": [
|
|
1669
|
+
"id"
|
|
1670
|
+
]
|
|
1671
|
+
}
|
|
1672
|
+
```
|
|
1673
|
+
|
|
1674
|
+
Source: [`packages/schedule/tool-schedule/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/schedule/tool-schedule/src/index.ts)
|
|
1197
1675
|
|
|
1198
|
-
|
|
1676
|
+
A preset or Agent scope mounts this package; the preset decides which agents receive the four management tools. Each call acts on the calling Agent's Session. Accepts after_seconds, explicit absolute at, bounded fixed-rate every_seconds, daily and weekly local times in an explicit IANA zone, and cron as a five-field expression. Management uses the Host storage domain; due messages resume the original Session.
|
|
1199
1677
|
|
|
1200
1678
|
<a id="deepseek-aidsh-tool-lsp"></a>
|
|
1201
1679
|
|
|
@@ -1282,7 +1760,7 @@ A fixed foreground workflow starts one fresh structured child per round; the mod
|
|
|
1282
1760
|
|
|
1283
1761
|
### `skill`
|
|
1284
1762
|
|
|
1285
|
-
Load the full instructions for
|
|
1763
|
+
Load the full instructions for a skill. Call it before acting on a task that names or clearly matches a skill in the session skill catalog.
|
|
1286
1764
|
|
|
1287
1765
|
```json
|
|
1288
1766
|
{
|
|
@@ -1564,7 +2042,7 @@ Source: [`packages/subagent/tool-subagent/src/list-models.ts`](https://github.co
|
|
|
1564
2042
|
|
|
1565
2043
|
### `subagent`
|
|
1566
2044
|
|
|
1567
|
-
Delegate a self-contained task to a subagent (a separate agent that works in its own context) to offload focused, independent work — research, a scoped implementation, an analysis — so it does not consume this conversation's context. The subagent returns its result, not its intermediate steps.
|
|
2045
|
+
Delegate a self-contained task to a subagent (a separate agent that works in its own context) to offload focused, independent work — research, a scoped implementation, an analysis — so it does not consume this conversation's context. The subagent returns its result, not its intermediate steps. This call waits for the result by default.
|
|
1568
2046
|
|
|
1569
2047
|
```json
|
|
1570
2048
|
{
|
|
@@ -1580,7 +2058,7 @@ Delegate a self-contained task to a subagent (a separate agent that works in its
|
|
|
1580
2058
|
},
|
|
1581
2059
|
"run_in_background": {
|
|
1582
2060
|
"type": "boolean",
|
|
1583
|
-
"description": "
|
|
2061
|
+
"description": "Run as a background job and return its id (collect with job_output, stop with job_kill). Defaults to false."
|
|
1584
2062
|
}
|
|
1585
2063
|
},
|
|
1586
2064
|
"required": [
|
|
@@ -1600,7 +2078,7 @@ The registered delegation name is the load-time `toolName` config (default `suba
|
|
|
1600
2078
|
|
|
1601
2079
|
### `interrupt_agent`
|
|
1602
2080
|
|
|
1603
|
-
|
|
2081
|
+
Ask a subagent to stop its current work. This call returns without waiting for it to stop. You can continue a direct child's conversation later with send_message. Subagents it started will keep running.
|
|
1604
2082
|
|
|
1605
2083
|
```json
|
|
1606
2084
|
{
|
|
@@ -1608,7 +2086,7 @@ Request cancellation of a background agent's current turn by its agent id. The t
|
|
|
1608
2086
|
"properties": {
|
|
1609
2087
|
"agent_id": {
|
|
1610
2088
|
"type": "string",
|
|
1611
|
-
"description": "The
|
|
2089
|
+
"description": "The id of an agent created under you: your direct child or a deeper descendant."
|
|
1612
2090
|
}
|
|
1613
2091
|
},
|
|
1614
2092
|
"required": [
|
|
@@ -1621,7 +2099,7 @@ Source: [`packages/subagent/tool-subagent-control/src/index.ts`](https://github.
|
|
|
1621
2099
|
|
|
1622
2100
|
### `list_agents`
|
|
1623
2101
|
|
|
1624
|
-
List
|
|
2102
|
+
List subagents you started, with their ids, labels, and status. running means it is working; inactive means it is not currently working. You will be notified when a subagent finishes; there is no need to keep checking its status. Use send_message to continue the conversation.
|
|
1625
2103
|
|
|
1626
2104
|
```json
|
|
1627
2105
|
{
|
|
@@ -1629,7 +2107,7 @@ List your continuable background subagents by durable id and label. Use it to re
|
|
|
1629
2107
|
"properties": {
|
|
1630
2108
|
"scope": {
|
|
1631
2109
|
"type": "string",
|
|
1632
|
-
"description": "children (default) lists direct children
|
|
2110
|
+
"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.",
|
|
1633
2111
|
"enum": [
|
|
1634
2112
|
"children",
|
|
1635
2113
|
"descendants"
|
|
@@ -1643,7 +2121,7 @@ Source: [`packages/subagent/tool-subagent-control/src/list-agents.ts`](https://g
|
|
|
1643
2121
|
|
|
1644
2122
|
### `send_message`
|
|
1645
2123
|
|
|
1646
|
-
Send a message to
|
|
2124
|
+
Send a message to an agent. A working agent receives it at its next step; an idle agent starts a new turn with it. Returns delivery confirmation, not the agent's answer.
|
|
1647
2125
|
|
|
1648
2126
|
```json
|
|
1649
2127
|
{
|
|
@@ -1675,7 +2153,7 @@ The globally named control tools over continuable background subagents: provider
|
|
|
1675
2153
|
|
|
1676
2154
|
### `job_kill`
|
|
1677
2155
|
|
|
1678
|
-
Request cancellation of a running background job
|
|
2156
|
+
Request cancellation of a running background job.
|
|
1679
2157
|
|
|
1680
2158
|
```json
|
|
1681
2159
|
{
|
|
@@ -1713,7 +2191,7 @@ Source: [`packages/jobs/tool-jobs/src/index.ts`](https://github.com/deepseek-ai/
|
|
|
1713
2191
|
|
|
1714
2192
|
### `job_output`
|
|
1715
2193
|
|
|
1716
|
-
Read a background job
|
|
2194
|
+
Read a background job: output since the previous read for stream jobs, or the result of a finished final-output job.
|
|
1717
2195
|
|
|
1718
2196
|
```json
|
|
1719
2197
|
{
|
|
@@ -1725,11 +2203,11 @@ Read a background job. Stream jobs return only output since the previous read; f
|
|
|
1725
2203
|
},
|
|
1726
2204
|
"wait": {
|
|
1727
2205
|
"type": "boolean",
|
|
1728
|
-
"description": "Block until the job
|
|
2206
|
+
"description": "Block until the job finishes or the timeout expires; a timed-out wait leaves the job running. Defaults to false."
|
|
1729
2207
|
},
|
|
1730
2208
|
"timeout_ms": {
|
|
1731
2209
|
"type": "number",
|
|
1732
|
-
"description": "Max wait in milliseconds
|
|
2210
|
+
"description": "Max wait in milliseconds with wait: true. Defaults to and is capped by configuration."
|
|
1733
2211
|
}
|
|
1734
2212
|
},
|
|
1735
2213
|
"required": [
|
|
@@ -1756,7 +2234,7 @@ Interrupt one teammate's current turn while preserving its pending inbox. Team L
|
|
|
1756
2234
|
"properties": {
|
|
1757
2235
|
"target": {
|
|
1758
2236
|
"type": "string",
|
|
1759
|
-
"description": "Teammate
|
|
2237
|
+
"description": "Teammate target returned by spawn_teammate or list_agents."
|
|
1760
2238
|
}
|
|
1761
2239
|
},
|
|
1762
2240
|
"required": [
|
|
@@ -1769,7 +2247,7 @@ Source: [`packages/experimental/tool-agent-team/src/index.ts`](https://github.co
|
|
|
1769
2247
|
|
|
1770
2248
|
### `list_agents`
|
|
1771
2249
|
|
|
1772
|
-
List the Lead and every durable teammate with current
|
|
2250
|
+
List the Lead and every durable teammate with an addressable target and current availability. inactive means no turn is executing, not a task result. provisioning and failed describe member creation.
|
|
1773
2251
|
|
|
1774
2252
|
```json
|
|
1775
2253
|
{
|
|
@@ -1782,7 +2260,7 @@ Source: [`packages/experimental/tool-agent-team/src/index.ts`](https://github.co
|
|
|
1782
2260
|
|
|
1783
2261
|
### `send_message`
|
|
1784
2262
|
|
|
1785
|
-
Send one durable message to another Team member. A running target receives it at the nearest step boundary; an
|
|
2263
|
+
Send one durable message to another Team member. A running target receives it at the nearest step boundary; an inactive target starts or resumes a turn.
|
|
1786
2264
|
|
|
1787
2265
|
```json
|
|
1788
2266
|
{
|
|
@@ -1790,7 +2268,7 @@ Send one durable message to another Team member. A running target receives it at
|
|
|
1790
2268
|
"properties": {
|
|
1791
2269
|
"target": {
|
|
1792
2270
|
"type": "string",
|
|
1793
|
-
"description": "
|
|
2271
|
+
"description": "Member target returned by spawn_teammate or list_agents, including lead."
|
|
1794
2272
|
},
|
|
1795
2273
|
"message": {
|
|
1796
2274
|
"type": "string",
|
|
@@ -1925,7 +2403,7 @@ List shared tasks, including readiness, owner, revision, blockers, and write-sco
|
|
|
1925
2403
|
},
|
|
1926
2404
|
"owner": {
|
|
1927
2405
|
"type": "string",
|
|
1928
|
-
"description": "Optional member
|
|
2406
|
+
"description": "Optional member target from spawn_teammate or list_agents, matching ownerName; use unowned for tasks without an owner."
|
|
1929
2407
|
},
|
|
1930
2408
|
"ready": {
|
|
1931
2409
|
"type": "boolean",
|
|
@@ -1999,7 +2477,7 @@ Compare-and-set a shared task action using the latest revision from team_task_ge
|
|
|
1999
2477
|
},
|
|
2000
2478
|
"owner": {
|
|
2001
2479
|
"type": "string",
|
|
2002
|
-
"description": "Member
|
|
2480
|
+
"description": "Member target from spawn_teammate or list_agents for Lead-only reassign; omit to unassign."
|
|
2003
2481
|
}
|
|
2004
2482
|
},
|
|
2005
2483
|
"required": [
|
|
@@ -2038,7 +2516,7 @@ All nine tools are scoped to implicit Team Leads and durable teammates. The ship
|
|
|
2038
2516
|
|
|
2039
2517
|
### `todo_write`
|
|
2040
2518
|
|
|
2041
|
-
Record and update a
|
|
2519
|
+
Record and update a task list to plan multi-step work and show progress; skip it for trivial single-step tasks. Add one todo per concrete step before you start. While work remains, keep the todos being worked on `in_progress`, several only when work runs in parallel. Mark each todo `completed` as soon as it is done.
|
|
2042
2520
|
|
|
2043
2521
|
```json
|
|
2044
2522
|
{
|
|
@@ -2090,17 +2568,13 @@ todo_write is session-owned state; UIs render the latest todo/write event as a c
|
|
|
2090
2568
|
|
|
2091
2569
|
Run a JavaScript workflow script that orchestrates subagents at scale. Use this for work that fans out across many independent pieces — an audit over many files, a migration, multi-angle research, adversarial verification of findings — where you write the orchestration as a script instead of delegating turn by turn.
|
|
2092
2570
|
|
|
2093
|
-
The workflow's identity rides the `meta` parameter as JSON: required `name` (short kebab-case) and `description` strings, optional `whenToUse` string and `phases` array (`{title, detail?, provider?, model?}`). The `script` parameter is the plain JavaScript body ONLY (NOT TypeScript, and NO `export const meta` statement — meta is a parameter, not code), running with top-level await; end with `return <value>` — the value must be JSON-serializable and is this tool's result.
|
|
2094
|
-
|
|
2095
2571
|
Script-body hooks:
|
|
2096
|
-
- `agent(prompt, opts?): Promise<any>` — run one subagent to completion. Without `opts.schema` it resolves to the child's final text; with `opts.schema` (an object-rooted JSON Schema using ONLY type/properties/required/additionalProperties/items/enum/const/oneOf
|
|
2097
|
-
- `pipeline(items, ...stages): Promise<any[]>` — run each item through the stages independently with NO barrier between stages (prefer this for multi-stage work). Each stage receives `(prev, item, index)`.
|
|
2572
|
+
- `agent(prompt, opts?): Promise<any>` — run one subagent to completion. Without `opts.schema` it resolves to the child's final text; with `opts.schema` (an object-rooted JSON Schema using ONLY type/properties/required/additionalProperties/items/enum/const/oneOf) it resolves to the validated object. Resolves `null` when the child fails (filter with `.filter(Boolean)`). Other opts: `label` (display), `phase` (progress group), and independent `provider`/`model` LLM target overrides.
|
|
2573
|
+
- `pipeline(items, ...stages): Promise<any[]>` — run each item through the stages independently with NO barrier between stages (prefer this for multi-stage work). Each stage receives `(prev, item, index)`. A stage throw drops that ITEM to `null` and skips its remaining stages.
|
|
2098
2574
|
- `parallel(thunks): Promise<any[]>` — run zero-argument functions concurrently and await ALL of them (a barrier; use only when a stage genuinely needs every prior result together). A throwing thunk resolves to `null`.
|
|
2099
2575
|
- `phase(title)` — start a progress phase; `log(message)` — narrate progress; `args` — the tool call's `args` input, verbatim.
|
|
2100
2576
|
|
|
2101
|
-
Misused hooks (bad arguments, unknown options, unsupported schemas, tripped caps)
|
|
2102
|
-
|
|
2103
|
-
Constraints: concurrency and total-agent caps apply; no filesystem, network, timers, or Node.js APIs are provided — the agents do the work, the script only coordinates them. The run executes in the foreground: this call returns when the whole script finishes.
|
|
2577
|
+
Misused hooks (bad arguments, unknown options, unsupported schemas, tripped caps) end the whole script instead of producing `null`. The script has no filesystem, network, timer, or Node.js APIs; the agents do the work.
|
|
2104
2578
|
|
|
2105
2579
|
```json
|
|
2106
2580
|
{
|
|
@@ -2108,11 +2582,11 @@ Constraints: concurrency and total-agent caps apply; no filesystem, network, tim
|
|
|
2108
2582
|
"properties": {
|
|
2109
2583
|
"script": {
|
|
2110
2584
|
"type": "string",
|
|
2111
|
-
"description": "The plain
|
|
2585
|
+
"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."
|
|
2112
2586
|
},
|
|
2113
2587
|
"meta": {
|
|
2114
2588
|
"type": "object",
|
|
2115
|
-
"description": "The workflow identity
|
|
2589
|
+
"description": "The workflow identity as plain JSON, not code.",
|
|
2116
2590
|
"additionalProperties": true,
|
|
2117
2591
|
"properties": {
|
|
2118
2592
|
"name": {
|
|
@@ -2166,6 +2640,10 @@ Constraints: concurrency and total-agent caps apply; no filesystem, network, tim
|
|
|
2166
2640
|
"type": "object",
|
|
2167
2641
|
"description": "Optional JSON input exposed to the script as the `args` global (wrap a bare list as a field, e.g. {\"files\": [...]}).",
|
|
2168
2642
|
"additionalProperties": true
|
|
2643
|
+
},
|
|
2644
|
+
"run_in_background": {
|
|
2645
|
+
"type": "boolean",
|
|
2646
|
+
"description": "Run as a background job: return a job id immediately instead of waiting; the return value arrives with the completion notice."
|
|
2169
2647
|
}
|
|
2170
2648
|
},
|
|
2171
2649
|
"required": [
|
|
@@ -2177,6 +2655,23 @@ Constraints: concurrency and total-agent caps apply; no filesystem, network, tim
|
|
|
2177
2655
|
|
|
2178
2656
|
Source: [`packages/workflow/tool-workflow/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/workflow/tool-workflow/src/index.ts)
|
|
2179
2657
|
|
|
2658
|
+
<a id="deepseek-aidsh-tool-workspace-dependencies"></a>
|
|
2659
|
+
|
|
2660
|
+
## `@deepseek-ai/dsh-tool-workspace-dependencies`
|
|
2661
|
+
|
|
2662
|
+
### `load_workspace_dependencies`
|
|
2663
|
+
|
|
2664
|
+
Get absolute paths to bundled Python and library directories, plus bundled Python distribution versions. Node.js and pnpm paths are included when the payload provides them. Python includes numpy, pandas, python-docx, python-pptx, openpyxl, Pillow, lxml, and XlsxWriter. Use these libraries for Office files unless the user or workspace instructions select another environment. When Node.js and pnpm paths are returned, run pnpm with that Node executable and pnpm script path. This does not change PATH or package-manager settings.
|
|
2665
|
+
|
|
2666
|
+
```json
|
|
2667
|
+
{
|
|
2668
|
+
"type": "object",
|
|
2669
|
+
"properties": {}
|
|
2670
|
+
}
|
|
2671
|
+
```
|
|
2672
|
+
|
|
2673
|
+
Source: [`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)
|
|
2674
|
+
|
|
2180
2675
|
<a id="deepseek-aidsh-tool-web"></a>
|
|
2181
2676
|
|
|
2182
2677
|
## `@deepseek-ai/dsh-tool-web`
|
|
@@ -2204,7 +2699,7 @@ Source: [`packages/web/tool-web/src/index.ts`](https://github.com/deepseek-ai/de
|
|
|
2204
2699
|
|
|
2205
2700
|
### `web_search`
|
|
2206
2701
|
|
|
2207
|
-
Search the web for current information.
|
|
2702
|
+
Search the web for current information. Returns an optional summary answer and a list of source URLs.
|
|
2208
2703
|
|
|
2209
2704
|
```json
|
|
2210
2705
|
{
|
|
@@ -2212,7 +2707,7 @@ Search the web for current information. Provide 1–4 queries in the required qu
|
|
|
2212
2707
|
"properties": {
|
|
2213
2708
|
"queries": {
|
|
2214
2709
|
"type": "array",
|
|
2215
|
-
"description": "
|
|
2710
|
+
"description": "1–4 search queries; their results are merged.",
|
|
2216
2711
|
"items": {
|
|
2217
2712
|
"type": "string"
|
|
2218
2713
|
}
|