dsh-plugin-dev-kb 1.3.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 +15 -0
- package/README.en.md +4 -4
- package/README.md +5 -5
- package/kb/INDEX.md +18 -18
- package/kb/README.md +6 -4
- 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 +48 -6
- package/kb/extra/cookbook/adding-a-session-format-version.zh.md +48 -6
- 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 +18 -19
- package/kb/extra/deepseek-llm-api-wire-extensions.zh.md +17 -18
- package/kb/extra/development.md +27 -10
- package/kb/extra/development.zh.md +27 -10
- package/kb/extra/event-producer-consumer.md +89 -68
- package/kb/extra/event-producer-consumer.zh.md +90 -69
- package/kb/extra/glossary.md +1 -1
- package/kb/extra/glossary.zh.md +1 -1
- package/kb/extra/i18n/README.md +15 -7
- package/kb/extra/i18n/README.zh.md +15 -7
- package/kb/extra/i18n/terminology.md +4 -4
- package/kb/extra/i18n/translation-prompt.md +2 -2
- package/kb/extra/module-graph.md +574 -326
- package/kb/extra/module-graph.zh.md +574 -326
- 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 +1 -1
- package/kb/extra/rescope.zh.md +1 -1
- package/kb/extra/session-format-status.md +22 -6
- package/kb/extra/session-format-status.zh.md +22 -6
- 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 +4 -4
- package/kb/extra/subsystems/feedback.zh.md +4 -4
- 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 +3 -3
- package/kb/extra/testing.zh.md +3 -3
- 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 -3
- package/kb/extra/web-styling.zh.md +12 -3
- package/kb/meta/search-index.json +976 -256
- package/kb/meta/site-pages.txt +188 -188
- package/kb/meta/source.json +6 -6
- package/kb/meta/topics.md +10 -6
- package/kb/site/develop/basic/config.md +1 -0
- package/kb/site/develop/basic/index.md +1 -0
- package/kb/site/develop/basic/publish.md +9 -2
- 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 +9 -2
- 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 +97 -82
- package/kb/site/en/guide/public-deployments.md +36 -0
- package/kb/site/en/guide/python-sdk.md +42 -21
- package/kb/site/en/guide/quickstart.md +2 -0
- package/kb/site/en/guide/schedule.md +70 -11
- package/kb/site/en/reference/agent-lifecycle.md +1 -0
- package/kb/site/en/reference/api-gateway.md +13 -11
- package/kb/site/en/reference/capability-seams.md +177 -59
- package/kb/site/en/reference/config-catalog.md +1758 -821
- package/kb/site/en/reference/cookbook/adding-a-package.md +57 -3
- package/kb/site/en/reference/cookbook/adding-a-settings-card.md +35 -64
- package/kb/site/en/reference/cookbook/adding-a-tool.md +4 -3
- package/kb/site/en/reference/cookbook/adding-an-llm-adapter.md +1 -0
- package/kb/site/en/reference/cookbook/extension-cookbook.md +6 -5
- package/kb/site/en/reference/cordis-api/context.md +1 -0
- package/kb/site/en/reference/cordis-api/events.md +1 -0
- package/kb/site/en/reference/cordis-api/fiber.md +4 -3
- package/kb/site/en/reference/cordis-api/inherited.md +16 -16
- package/kb/site/en/reference/cordis-api/registry.md +1 -0
- package/kb/site/en/reference/cordis-api/service.md +1 -0
- package/kb/site/en/reference/cordis-primer.md +1 -0
- package/kb/site/en/reference/index.md +18 -11
- package/kb/site/en/reference/persistence-catalog.md +7687 -54
- package/kb/site/en/reference/subsystems/approval.md +2 -1
- package/kb/site/en/reference/subsystems/client-modules.md +23 -15
- package/kb/site/en/reference/subsystems/client-resources.md +3 -1
- package/kb/site/en/reference/subsystems/commands.md +6 -1
- package/kb/site/en/reference/subsystems/compaction.md +50 -3
- package/kb/site/en/reference/subsystems/conversation.md +36 -6
- package/kb/site/en/reference/subsystems/core.md +97 -257
- package/kb/site/en/reference/subsystems/credentials.md +169 -5
- package/kb/site/en/reference/subsystems/filesystem.md +11 -0
- package/kb/site/en/reference/subsystems/goal.md +2 -1
- package/kb/site/en/reference/subsystems/index.md +16 -5
- package/kb/site/en/reference/subsystems/jobs.md +337 -127
- package/kb/site/en/reference/subsystems/llm-streaming.md +76 -36
- package/kb/site/en/reference/subsystems/lsp.md +1 -0
- package/kb/site/en/reference/subsystems/permission-presets.md +66 -29
- package/kb/site/en/reference/subsystems/persistence.md +4 -3
- 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 +8 -6
- package/kb/site/en/reference/subsystems/session-telemetry.md +7 -4
- package/kb/site/en/reference/subsystems/session-title.md +6 -5
- package/kb/site/en/reference/subsystems/session.md +199 -81
- package/kb/site/en/reference/subsystems/settings.md +43 -292
- package/kb/site/en/reference/subsystems/shell.md +37 -28
- package/kb/site/en/reference/subsystems/sidebar-right.md +23 -12
- package/kb/site/en/reference/subsystems/skills.md +5 -6
- package/kb/site/en/reference/subsystems/slots.md +34 -13
- package/kb/site/en/reference/subsystems/spill.md +4 -3
- package/kb/site/en/reference/subsystems/storage.md +2 -2
- package/kb/site/en/reference/subsystems/subagent.md +50 -64
- package/kb/site/en/reference/subsystems/subprocess.md +17 -18
- package/kb/site/en/reference/subsystems/system-prompt.md +4 -1
- package/kb/site/en/reference/subsystems/terminal.md +1 -0
- package/kb/site/en/reference/subsystems/token-meter.md +1 -0
- package/kb/site/en/reference/subsystems/tools.md +40 -12
- 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 +294 -34
- package/kb/site/en/reference/tool-catalog.md +782 -331
- package/kb/site/en/reference/tool-execution-pipeline.md +7 -3
- 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 +42 -21
- package/kb/site/guide/quickstart.md +2 -0
- package/kb/site/guide/schedule.md +70 -11
- package/kb/site/reference/agent-lifecycle.md +1 -0
- package/kb/site/reference/api-gateway.md +13 -11
- package/kb/site/reference/capability-seams.md +177 -59
- package/kb/site/reference/config-catalog.md +1760 -822
- package/kb/site/reference/cookbook/adding-a-package.md +55 -3
- package/kb/site/reference/cookbook/adding-a-settings-card.md +35 -64
- package/kb/site/reference/cookbook/adding-a-tool.md +4 -3
- package/kb/site/reference/cookbook/adding-an-llm-adapter.md +1 -0
- package/kb/site/reference/cookbook/extension-cookbook.md +6 -5
- package/kb/site/reference/cordis-api/context.md +1 -0
- package/kb/site/reference/cordis-api/events.md +1 -0
- package/kb/site/reference/cordis-api/fiber.md +4 -3
- package/kb/site/reference/cordis-api/inherited.md +16 -16
- package/kb/site/reference/cordis-api/registry.md +1 -0
- package/kb/site/reference/cordis-api/service.md +1 -0
- package/kb/site/reference/cordis-primer.md +1 -0
- package/kb/site/reference/index.md +18 -11
- package/kb/site/reference/persistence-catalog.md +7693 -60
- package/kb/site/reference/subsystems/approval.md +2 -1
- package/kb/site/reference/subsystems/client-modules.md +23 -15
- package/kb/site/reference/subsystems/client-resources.md +3 -1
- package/kb/site/reference/subsystems/commands.md +6 -1
- package/kb/site/reference/subsystems/compaction.md +50 -3
- package/kb/site/reference/subsystems/conversation.md +35 -5
- package/kb/site/reference/subsystems/core.md +97 -257
- package/kb/site/reference/subsystems/credentials.md +169 -5
- package/kb/site/reference/subsystems/filesystem.md +11 -0
- package/kb/site/reference/subsystems/goal.md +2 -1
- package/kb/site/reference/subsystems/index.md +16 -5
- package/kb/site/reference/subsystems/jobs.md +336 -126
- package/kb/site/reference/subsystems/llm-streaming.md +76 -36
- package/kb/site/reference/subsystems/lsp.md +1 -0
- package/kb/site/reference/subsystems/permission-presets.md +66 -29
- package/kb/site/reference/subsystems/persistence.md +4 -3
- 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 +8 -6
- package/kb/site/reference/subsystems/session-telemetry.md +7 -4
- package/kb/site/reference/subsystems/session-title.md +6 -5
- package/kb/site/reference/subsystems/session.md +199 -81
- package/kb/site/reference/subsystems/settings.md +43 -292
- package/kb/site/reference/subsystems/shell.md +37 -28
- package/kb/site/reference/subsystems/sidebar-right.md +23 -12
- package/kb/site/reference/subsystems/skills.md +5 -6
- package/kb/site/reference/subsystems/slots.md +34 -13
- package/kb/site/reference/subsystems/spill.md +3 -2
- package/kb/site/reference/subsystems/storage.md +2 -2
- package/kb/site/reference/subsystems/subagent.md +49 -63
- package/kb/site/reference/subsystems/subprocess.md +17 -18
- package/kb/site/reference/subsystems/system-prompt.md +4 -1
- package/kb/site/reference/subsystems/terminal.md +1 -0
- package/kb/site/reference/subsystems/token-meter.md +1 -0
- package/kb/site/reference/subsystems/tools.md +40 -12
- 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 +294 -34
- package/kb/site/reference/tool-catalog.md +784 -333
- package/kb/site/reference/tool-execution-pipeline.md +7 -3
- package/package.json +2 -2
- package/skills/dsh-plugin-dev-kb.md +5 -4
- 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.
|
|
@@ -19,13 +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
|
|
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. |
|
|
26
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. |
|
|
27
|
-
| `@deepseek-ai/dsh-tool-pwsh` | `pwsh` | `ctx.tools`, `ctx.shell`, `ctx.systemPrompt`, `ctx.shellEnv`, `ctx.jobs
|
|
28
|
-
| `@deepseek-ai/dsh-tool-cordis` | `
|
|
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. |
|
|
29
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. |
|
|
30
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. |
|
|
31
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. |
|
|
@@ -33,7 +37,7 @@ This table connects model-visible tool names to the plugin package and service s
|
|
|
33
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. |
|
|
34
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. |
|
|
35
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. |
|
|
36
|
-
| `@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. |
|
|
37
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. |
|
|
38
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. |
|
|
39
43
|
| `@deepseek-ai/dsh-tool-skill` | `skill` | `ctx.tools`, `ctx.agents`, `ctx.skills` | `tool/call`, `tool/result`, `user/message replacement catalogs via agent.inject()` | - | - |
|
|
@@ -44,509 +48,743 @@ This table connects model-visible tool names to the plugin package and service s
|
|
|
44
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. |
|
|
45
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. |
|
|
46
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` | - | - |
|
|
47
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. |
|
|
48
53
|
|
|
49
|
-
<a id="deepseek-aidsh-
|
|
54
|
+
<a id="deepseek-aidsh-plugin-manager"></a>
|
|
50
55
|
|
|
51
|
-
## `@deepseek-ai/dsh-
|
|
56
|
+
## `@deepseek-ai/dsh-plugin-manager`
|
|
52
57
|
|
|
53
|
-
### `
|
|
58
|
+
### `plugin_manager`
|
|
54
59
|
|
|
55
|
-
|
|
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.
|
|
56
61
|
|
|
57
62
|
```json
|
|
58
63
|
{
|
|
59
64
|
"type": "object",
|
|
60
65
|
"properties": {
|
|
61
|
-
"
|
|
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": {
|
|
62
97
|
"type": "array",
|
|
63
|
-
"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.",
|
|
64
99
|
"items": {
|
|
65
|
-
"type": "
|
|
66
|
-
"additionalProperties": true,
|
|
67
|
-
"properties": {
|
|
68
|
-
"id": {
|
|
69
|
-
"type": "string",
|
|
70
|
-
"description": "Stable id for this question; echoed in the answer."
|
|
71
|
-
},
|
|
72
|
-
"question": {
|
|
73
|
-
"type": "string",
|
|
74
|
-
"description": "The specific question to ask the user."
|
|
75
|
-
},
|
|
76
|
-
"header": {
|
|
77
|
-
"type": "string",
|
|
78
|
-
"description": "Optional short heading for the question, such as \"Confirm\" or \"Choose Mode\"."
|
|
79
|
-
},
|
|
80
|
-
"options": {
|
|
81
|
-
"type": "array",
|
|
82
|
-
"description": "Optional choices to show the user. If you recommend one, put it first and append \"(Recommended)\" to that label.",
|
|
83
|
-
"items": {
|
|
84
|
-
"type": "object",
|
|
85
|
-
"additionalProperties": true,
|
|
86
|
-
"properties": {
|
|
87
|
-
"label": {
|
|
88
|
-
"type": "string",
|
|
89
|
-
"description": "Short user-facing option label."
|
|
90
|
-
},
|
|
91
|
-
"description": {
|
|
92
|
-
"type": "string",
|
|
93
|
-
"description": "One sentence explaining the tradeoff or impact."
|
|
94
|
-
}
|
|
95
|
-
},
|
|
96
|
-
"required": [
|
|
97
|
-
"label"
|
|
98
|
-
]
|
|
99
|
-
}
|
|
100
|
-
},
|
|
101
|
-
"multi_select": {
|
|
102
|
-
"type": "boolean",
|
|
103
|
-
"description": "Whether the user may select more than one option. Defaults to false."
|
|
104
|
-
}
|
|
105
|
-
},
|
|
106
|
-
"required": [
|
|
107
|
-
"id",
|
|
108
|
-
"question"
|
|
109
|
-
]
|
|
100
|
+
"type": "string"
|
|
110
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."
|
|
111
114
|
}
|
|
112
115
|
},
|
|
113
116
|
"required": [
|
|
114
|
-
"
|
|
117
|
+
"action"
|
|
115
118
|
]
|
|
116
119
|
}
|
|
117
120
|
```
|
|
118
121
|
|
|
119
|
-
Source: [`packages/
|
|
120
|
-
|
|
121
|
-
ask_user_question pauses the tool call until the active UI provider returns a human answer.
|
|
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)
|
|
122
123
|
|
|
123
|
-
<a id="deepseek-aidsh-
|
|
124
|
+
<a id="deepseek-aidsh-mcp-resources"></a>
|
|
124
125
|
|
|
125
|
-
## `@deepseek-ai/dsh-
|
|
126
|
+
## `@deepseek-ai/dsh-mcp-resources`
|
|
126
127
|
|
|
127
|
-
### `
|
|
128
|
+
### `list_mcp_resource_templates`
|
|
128
129
|
|
|
129
|
-
|
|
130
|
+
List parameterized resource URI templates from an MCP server.
|
|
130
131
|
|
|
131
132
|
```json
|
|
132
133
|
{
|
|
133
134
|
"type": "object",
|
|
134
135
|
"properties": {
|
|
135
|
-
"
|
|
136
|
+
"server": {
|
|
136
137
|
"type": "string",
|
|
137
|
-
"description": "
|
|
138
|
+
"description": "Configured MCP server name."
|
|
138
139
|
},
|
|
139
|
-
"
|
|
140
|
+
"cursor": {
|
|
140
141
|
"type": "string",
|
|
141
|
-
"description": "
|
|
142
|
+
"description": "Continuation cursor returned by this server."
|
|
142
143
|
}
|
|
143
144
|
},
|
|
144
145
|
"required": [
|
|
145
|
-
"
|
|
146
|
-
"description"
|
|
146
|
+
"server"
|
|
147
147
|
]
|
|
148
148
|
}
|
|
149
149
|
```
|
|
150
150
|
|
|
151
|
-
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)
|
|
152
152
|
|
|
153
|
-
|
|
153
|
+
### `list_mcp_resources`
|
|
154
154
|
|
|
155
|
-
|
|
155
|
+
List resources available from an MCP server.
|
|
156
156
|
|
|
157
|
-
|
|
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
|
+
```
|
|
158
175
|
|
|
159
|
-
|
|
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`
|
|
160
179
|
|
|
161
|
-
|
|
180
|
+
Read an MCP resource by URI from the named server. Use a listed URI or an expanded resource template.
|
|
162
181
|
|
|
163
182
|
```json
|
|
164
183
|
{
|
|
165
184
|
"type": "object",
|
|
166
185
|
"properties": {
|
|
167
|
-
"
|
|
186
|
+
"server": {
|
|
168
187
|
"type": "string",
|
|
169
|
-
"description": "
|
|
188
|
+
"description": "Configured MCP server name."
|
|
189
|
+
},
|
|
190
|
+
"uri": {
|
|
191
|
+
"type": "string",
|
|
192
|
+
"description": "Resource URI to read."
|
|
170
193
|
}
|
|
171
194
|
},
|
|
172
195
|
"required": [
|
|
173
|
-
"
|
|
196
|
+
"server",
|
|
197
|
+
"uri"
|
|
174
198
|
]
|
|
175
199
|
}
|
|
176
200
|
```
|
|
177
201
|
|
|
178
|
-
Source: [`packages/
|
|
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)
|
|
179
203
|
|
|
180
|
-
|
|
204
|
+
<a id="deepseek-aidsh-experimental-browser-use-stagehand-native"></a>
|
|
181
205
|
|
|
182
|
-
|
|
206
|
+
## `@deepseek-ai/dsh-experimental-browser-use-stagehand-native`
|
|
183
207
|
|
|
184
|
-
|
|
208
|
+
### `stagehand_act`
|
|
185
209
|
|
|
186
|
-
|
|
210
|
+
Perform one natural-language browser action using the configured Stagehand model.
|
|
211
|
+
|
|
212
|
+
```json
|
|
213
|
+
{
|
|
214
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
215
|
+
"type": "object",
|
|
216
|
+
"properties": {
|
|
217
|
+
"pageId": {
|
|
218
|
+
"type": "string",
|
|
219
|
+
"minLength": 1
|
|
220
|
+
},
|
|
221
|
+
"instruction": {
|
|
222
|
+
"type": "string",
|
|
223
|
+
"minLength": 1
|
|
224
|
+
}
|
|
225
|
+
},
|
|
226
|
+
"required": [
|
|
227
|
+
"instruction"
|
|
228
|
+
],
|
|
229
|
+
"additionalProperties": false
|
|
230
|
+
}
|
|
231
|
+
```
|
|
187
232
|
|
|
188
|
-
|
|
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.
|
|
189
238
|
|
|
190
239
|
```json
|
|
191
240
|
{
|
|
241
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
192
242
|
"type": "object",
|
|
193
243
|
"properties": {
|
|
194
|
-
"
|
|
244
|
+
"pageId": {
|
|
195
245
|
"type": "string",
|
|
196
|
-
"
|
|
246
|
+
"minLength": 1
|
|
197
247
|
},
|
|
198
|
-
"
|
|
248
|
+
"instruction": {
|
|
199
249
|
"type": "string",
|
|
200
|
-
"
|
|
250
|
+
"minLength": 1
|
|
201
251
|
},
|
|
202
|
-
"
|
|
203
|
-
"type": "
|
|
204
|
-
"
|
|
252
|
+
"schema": {
|
|
253
|
+
"type": "object",
|
|
254
|
+
"propertyNames": {
|
|
255
|
+
"type": "string"
|
|
256
|
+
},
|
|
257
|
+
"additionalProperties": {
|
|
258
|
+
"$ref": "#/$defs/__schema0"
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
},
|
|
262
|
+
"required": [
|
|
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
|
+
}
|
|
299
|
+
}
|
|
300
|
+
```
|
|
301
|
+
|
|
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)
|
|
303
|
+
|
|
304
|
+
### `stagehand_navigate`
|
|
305
|
+
|
|
306
|
+
Navigate a Stagehand browser tab to a URL.
|
|
307
|
+
|
|
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
|
|
205
316
|
},
|
|
206
|
-
"
|
|
317
|
+
"url": {
|
|
207
318
|
"type": "string",
|
|
208
|
-
"
|
|
319
|
+
"format": "uri"
|
|
320
|
+
}
|
|
321
|
+
},
|
|
322
|
+
"required": [
|
|
323
|
+
"url"
|
|
324
|
+
],
|
|
325
|
+
"additionalProperties": false
|
|
326
|
+
}
|
|
327
|
+
```
|
|
328
|
+
|
|
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)
|
|
330
|
+
|
|
331
|
+
### `stagehand_observe`
|
|
332
|
+
|
|
333
|
+
Find browser actions matching an instruction using the configured Stagehand model.
|
|
334
|
+
|
|
335
|
+
```json
|
|
336
|
+
{
|
|
337
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
338
|
+
"type": "object",
|
|
339
|
+
"properties": {
|
|
340
|
+
"pageId": {
|
|
341
|
+
"type": "string",
|
|
342
|
+
"minLength": 1
|
|
209
343
|
},
|
|
210
|
-
"
|
|
211
|
-
"type": "
|
|
212
|
-
"
|
|
344
|
+
"instruction": {
|
|
345
|
+
"type": "string",
|
|
346
|
+
"minLength": 1
|
|
213
347
|
}
|
|
214
348
|
},
|
|
215
349
|
"required": [
|
|
216
|
-
"
|
|
217
|
-
|
|
218
|
-
|
|
350
|
+
"instruction"
|
|
351
|
+
],
|
|
352
|
+
"additionalProperties": false
|
|
219
353
|
}
|
|
220
354
|
```
|
|
221
355
|
|
|
222
|
-
Source: [`packages/
|
|
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)
|
|
223
357
|
|
|
224
|
-
|
|
358
|
+
### `stagehand_screenshot`
|
|
225
359
|
|
|
226
|
-
|
|
360
|
+
Capture a Stagehand tab screenshot for visual inspection.
|
|
227
361
|
|
|
228
|
-
|
|
362
|
+
```json
|
|
363
|
+
{
|
|
364
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
365
|
+
"type": "object",
|
|
366
|
+
"properties": {
|
|
367
|
+
"pageId": {
|
|
368
|
+
"type": "string",
|
|
369
|
+
"minLength": 1
|
|
370
|
+
},
|
|
371
|
+
"fullPage": {
|
|
372
|
+
"default": false,
|
|
373
|
+
"type": "boolean"
|
|
374
|
+
}
|
|
375
|
+
},
|
|
376
|
+
"required": [
|
|
377
|
+
"fullPage"
|
|
378
|
+
],
|
|
379
|
+
"additionalProperties": false
|
|
380
|
+
}
|
|
381
|
+
```
|
|
229
382
|
|
|
230
|
-
|
|
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)
|
|
384
|
+
|
|
385
|
+
### `stagehand_tabs`
|
|
231
386
|
|
|
232
|
-
|
|
387
|
+
List, create, select, or close a Stagehand browser tab.
|
|
388
|
+
|
|
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
|
+
```
|
|
448
|
+
|
|
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)
|
|
450
|
+
|
|
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.
|
|
233
458
|
|
|
234
459
|
```json
|
|
235
460
|
{
|
|
236
461
|
"type": "object",
|
|
237
462
|
"properties": {
|
|
238
|
-
"
|
|
463
|
+
"questions": {
|
|
239
464
|
"type": "array",
|
|
465
|
+
"description": "Questions to ask the user before continuing.",
|
|
240
466
|
"items": {
|
|
241
467
|
"type": "object",
|
|
242
|
-
"additionalProperties":
|
|
468
|
+
"additionalProperties": true,
|
|
243
469
|
"properties": {
|
|
244
|
-
"
|
|
470
|
+
"id": {
|
|
245
471
|
"type": "string",
|
|
246
|
-
"description": "
|
|
472
|
+
"description": "Stable id for this question; echoed in the answer."
|
|
247
473
|
},
|
|
248
|
-
"
|
|
474
|
+
"question": {
|
|
249
475
|
"type": "string",
|
|
250
|
-
"description": "
|
|
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
|
+
]
|
|
501
|
+
}
|
|
502
|
+
},
|
|
503
|
+
"multi_select": {
|
|
504
|
+
"type": "boolean",
|
|
505
|
+
"description": "Whether the user may select more than one option. Defaults to false."
|
|
251
506
|
}
|
|
252
507
|
},
|
|
253
508
|
"required": [
|
|
254
|
-
"
|
|
509
|
+
"id",
|
|
510
|
+
"question"
|
|
255
511
|
]
|
|
256
512
|
}
|
|
257
513
|
}
|
|
258
514
|
},
|
|
259
515
|
"required": [
|
|
260
|
-
"
|
|
516
|
+
"questions"
|
|
261
517
|
]
|
|
262
518
|
}
|
|
263
519
|
```
|
|
264
520
|
|
|
265
|
-
Source: [`packages/
|
|
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)
|
|
266
522
|
|
|
267
|
-
|
|
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.
|
|
268
524
|
|
|
269
|
-
<a id="deepseek-aidsh-
|
|
525
|
+
<a id="deepseek-aidsh-tools"></a>
|
|
270
526
|
|
|
271
|
-
## `@deepseek-ai/dsh-
|
|
527
|
+
## `@deepseek-ai/dsh-tools`
|
|
272
528
|
|
|
273
|
-
### `
|
|
529
|
+
### `run_code`
|
|
274
530
|
|
|
275
|
-
Execute a
|
|
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.
|
|
276
532
|
|
|
277
533
|
```json
|
|
278
534
|
{
|
|
279
535
|
"type": "object",
|
|
280
536
|
"properties": {
|
|
281
|
-
"
|
|
537
|
+
"description": {
|
|
282
538
|
"type": "string",
|
|
283
|
-
"description": "
|
|
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\"."
|
|
284
540
|
},
|
|
285
|
-
"
|
|
541
|
+
"code": {
|
|
286
542
|
"type": "string",
|
|
287
|
-
"description": "
|
|
543
|
+
"description": "The program: the body of an async TypeScript function."
|
|
288
544
|
},
|
|
289
545
|
"timeoutMs": {
|
|
290
546
|
"type": "number",
|
|
291
|
-
"description": "
|
|
547
|
+
"description": "Positive elapsed-time budget in milliseconds, capped by the deployment maximum."
|
|
292
548
|
},
|
|
293
|
-
"
|
|
549
|
+
"sandbox_permissions": {
|
|
294
550
|
"type": "string",
|
|
295
|
-
"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
|
+
]
|
|
296
556
|
},
|
|
297
|
-
"
|
|
298
|
-
"type": "
|
|
299
|
-
"description": "
|
|
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."
|
|
300
560
|
}
|
|
301
561
|
},
|
|
302
562
|
"required": [
|
|
303
|
-
"
|
|
304
|
-
"
|
|
563
|
+
"description",
|
|
564
|
+
"code"
|
|
305
565
|
]
|
|
306
566
|
}
|
|
307
567
|
```
|
|
308
568
|
|
|
309
|
-
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)
|
|
310
570
|
|
|
311
|
-
|
|
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.
|
|
312
572
|
|
|
313
|
-
<a id="deepseek-aidsh-
|
|
573
|
+
<a id="deepseek-aidsh-plan-mode"></a>
|
|
314
574
|
|
|
315
|
-
## `@deepseek-ai/dsh-
|
|
575
|
+
## `@deepseek-ai/dsh-plan-mode`
|
|
316
576
|
|
|
317
|
-
### `
|
|
577
|
+
### `exit_plan_mode`
|
|
318
578
|
|
|
319
|
-
|
|
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.
|
|
320
580
|
|
|
321
581
|
```json
|
|
322
582
|
{
|
|
323
583
|
"type": "object",
|
|
324
584
|
"properties": {
|
|
325
|
-
"
|
|
326
|
-
"oneOf": [
|
|
327
|
-
{
|
|
328
|
-
"type": "object",
|
|
329
|
-
"additionalProperties": false,
|
|
330
|
-
"properties": {
|
|
331
|
-
"kind": {
|
|
332
|
-
"type": "string",
|
|
333
|
-
"const": "new"
|
|
334
|
-
},
|
|
335
|
-
"idPrefix": {
|
|
336
|
-
"type": "string",
|
|
337
|
-
"description": "Suggested semantic prefix of 3–6 lowercase English letters; the Host adds a unique numeric suffix."
|
|
338
|
-
}
|
|
339
|
-
},
|
|
340
|
-
"required": [
|
|
341
|
-
"kind",
|
|
342
|
-
"idPrefix"
|
|
343
|
-
]
|
|
344
|
-
},
|
|
345
|
-
{
|
|
346
|
-
"type": "object",
|
|
347
|
-
"additionalProperties": false,
|
|
348
|
-
"properties": {
|
|
349
|
-
"kind": {
|
|
350
|
-
"type": "string",
|
|
351
|
-
"const": "existing"
|
|
352
|
-
},
|
|
353
|
-
"pluginId": {
|
|
354
|
-
"type": "string",
|
|
355
|
-
"description": "Exact ID of an existing Plugin; the new Package is appended to that instance."
|
|
356
|
-
}
|
|
357
|
-
},
|
|
358
|
-
"required": [
|
|
359
|
-
"kind",
|
|
360
|
-
"pluginId"
|
|
361
|
-
]
|
|
362
|
-
}
|
|
363
|
-
]
|
|
364
|
-
},
|
|
365
|
-
"name": {
|
|
366
|
-
"type": "string",
|
|
367
|
-
"description": "Short, readable Package name."
|
|
368
|
-
},
|
|
369
|
-
"purpose": {
|
|
585
|
+
"plan": {
|
|
370
586
|
"type": "string",
|
|
371
|
-
"description": "
|
|
372
|
-
},
|
|
373
|
-
"code": {
|
|
374
|
-
"type": "object",
|
|
375
|
-
"additionalProperties": false,
|
|
376
|
-
"properties": {
|
|
377
|
-
"host": {
|
|
378
|
-
"type": "string",
|
|
379
|
-
"description": "Plain JavaScript function body that returns the Host-half Cordis Plugin."
|
|
380
|
-
},
|
|
381
|
-
"client": {
|
|
382
|
-
"type": "string",
|
|
383
|
-
"description": "Plain JavaScript function body that returns the browser Client-half Cordis Plugin."
|
|
384
|
-
}
|
|
385
|
-
}
|
|
587
|
+
"description": "The complete plan, as markdown, starting with a # heading that names it."
|
|
386
588
|
}
|
|
387
589
|
},
|
|
388
590
|
"required": [
|
|
389
|
-
"
|
|
390
|
-
"name",
|
|
391
|
-
"purpose",
|
|
392
|
-
"code"
|
|
591
|
+
"plan"
|
|
393
592
|
]
|
|
394
593
|
}
|
|
395
594
|
```
|
|
396
595
|
|
|
397
|
-
Source: [`packages/
|
|
398
|
-
|
|
399
|
-
### `cordis_inspect_list`
|
|
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)
|
|
400
597
|
|
|
401
|
-
|
|
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.
|
|
402
599
|
|
|
403
|
-
|
|
404
|
-
{
|
|
405
|
-
"type": "object",
|
|
406
|
-
"properties": {}
|
|
407
|
-
}
|
|
408
|
-
```
|
|
600
|
+
<a id="deepseek-aidsh-tool-bash"></a>
|
|
409
601
|
|
|
410
|
-
|
|
602
|
+
## `@deepseek-ai/dsh-tool-bash`
|
|
411
603
|
|
|
412
|
-
### `
|
|
604
|
+
### `bash`
|
|
413
605
|
|
|
414
|
-
|
|
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.
|
|
415
607
|
|
|
416
608
|
```json
|
|
417
609
|
{
|
|
418
610
|
"type": "object",
|
|
419
611
|
"properties": {
|
|
420
|
-
"
|
|
612
|
+
"description": {
|
|
421
613
|
"type": "string",
|
|
422
|
-
"description": "
|
|
423
|
-
"enum": [
|
|
424
|
-
"host",
|
|
425
|
-
"client"
|
|
426
|
-
]
|
|
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\"."
|
|
427
615
|
},
|
|
428
|
-
"
|
|
616
|
+
"command": {
|
|
429
617
|
"type": "string",
|
|
430
|
-
"description": "
|
|
618
|
+
"description": "The bash command to execute."
|
|
431
619
|
},
|
|
432
|
-
"
|
|
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": {
|
|
433
625
|
"type": "string",
|
|
434
|
-
"description": "
|
|
626
|
+
"description": "Working directory for this command. Defaults to the session workspace; a relative path is resolved against it."
|
|
435
627
|
},
|
|
436
|
-
"
|
|
437
|
-
"
|
|
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."
|
|
438
631
|
}
|
|
439
632
|
},
|
|
440
633
|
"required": [
|
|
441
|
-
"
|
|
442
|
-
"
|
|
443
|
-
"method"
|
|
634
|
+
"description",
|
|
635
|
+
"command"
|
|
444
636
|
]
|
|
445
637
|
}
|
|
446
638
|
```
|
|
447
639
|
|
|
448
|
-
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)
|
|
641
|
+
|
|
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.
|
|
643
|
+
|
|
644
|
+
<a id="deepseek-aidsh-tool-present"></a>
|
|
449
645
|
|
|
450
|
-
|
|
646
|
+
## `@deepseek-ai/dsh-tool-present`
|
|
647
|
+
|
|
648
|
+
### `present`
|
|
451
649
|
|
|
452
|
-
|
|
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.
|
|
453
651
|
|
|
454
652
|
```json
|
|
455
653
|
{
|
|
456
654
|
"type": "object",
|
|
457
655
|
"properties": {
|
|
458
|
-
"
|
|
459
|
-
"type": "
|
|
460
|
-
"description": "
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
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
|
+
}
|
|
465
676
|
}
|
|
466
|
-
}
|
|
677
|
+
},
|
|
678
|
+
"required": [
|
|
679
|
+
"files"
|
|
680
|
+
]
|
|
467
681
|
}
|
|
468
682
|
```
|
|
469
683
|
|
|
470
|
-
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)
|
|
685
|
+
|
|
686
|
+
Deliveries belong to the calling Session; Web ui-deliverables supplies source-file opening and cards.
|
|
687
|
+
|
|
688
|
+
<a id="deepseek-aidsh-tool-pwsh"></a>
|
|
689
|
+
|
|
690
|
+
## `@deepseek-ai/dsh-tool-pwsh`
|
|
471
691
|
|
|
472
|
-
### `
|
|
692
|
+
### `pwsh`
|
|
473
693
|
|
|
474
|
-
|
|
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.
|
|
475
695
|
|
|
476
696
|
```json
|
|
477
697
|
{
|
|
478
698
|
"type": "object",
|
|
479
699
|
"properties": {
|
|
480
|
-
"
|
|
700
|
+
"description": {
|
|
481
701
|
"type": "string",
|
|
482
|
-
"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\"."
|
|
483
703
|
},
|
|
484
|
-
"
|
|
704
|
+
"command": {
|
|
485
705
|
"type": "string",
|
|
486
|
-
"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."
|
|
487
711
|
},
|
|
488
|
-
"
|
|
712
|
+
"workdir": {
|
|
489
713
|
"type": "string",
|
|
490
|
-
"description": "
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
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."
|
|
495
719
|
}
|
|
496
720
|
},
|
|
497
721
|
"required": [
|
|
498
|
-
"
|
|
499
|
-
"
|
|
500
|
-
"mode"
|
|
722
|
+
"description",
|
|
723
|
+
"command"
|
|
501
724
|
]
|
|
502
725
|
}
|
|
503
726
|
```
|
|
504
727
|
|
|
505
|
-
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`
|
|
506
735
|
|
|
507
|
-
### `
|
|
736
|
+
### `cordis_inspect_list`
|
|
508
737
|
|
|
509
|
-
|
|
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.
|
|
510
739
|
|
|
511
740
|
```json
|
|
512
741
|
{
|
|
513
742
|
"type": "object",
|
|
514
|
-
"properties": {
|
|
515
|
-
"pluginId": {
|
|
516
|
-
"type": "string",
|
|
517
|
-
"description": "Stable dynamic Plugin ID to stop."
|
|
518
|
-
}
|
|
519
|
-
},
|
|
520
|
-
"required": [
|
|
521
|
-
"pluginId"
|
|
522
|
-
]
|
|
743
|
+
"properties": {}
|
|
523
744
|
}
|
|
524
745
|
```
|
|
525
746
|
|
|
526
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)
|
|
527
748
|
|
|
528
|
-
### `
|
|
749
|
+
### `cordis_inspect_query`
|
|
529
750
|
|
|
530
|
-
|
|
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.
|
|
531
752
|
|
|
532
753
|
```json
|
|
533
754
|
{
|
|
534
755
|
"type": "object",
|
|
535
756
|
"properties": {
|
|
536
|
-
"
|
|
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": {
|
|
537
770
|
"type": "string",
|
|
538
|
-
"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."
|
|
539
775
|
}
|
|
540
776
|
},
|
|
541
777
|
"required": [
|
|
542
|
-
"
|
|
778
|
+
"platform",
|
|
779
|
+
"provider",
|
|
780
|
+
"method"
|
|
543
781
|
]
|
|
544
782
|
}
|
|
545
783
|
```
|
|
546
784
|
|
|
547
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)
|
|
548
786
|
|
|
549
|
-
|
|
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.
|
|
550
788
|
|
|
551
789
|
<a id="deepseek-aidsh-tool-bash-persistent"></a>
|
|
552
790
|
|
|
@@ -722,11 +960,11 @@ Edit an existing UTF-8 text file by replacing literal text.
|
|
|
722
960
|
"properties": {
|
|
723
961
|
"file_path": {
|
|
724
962
|
"type": "string",
|
|
725
|
-
"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."
|
|
726
964
|
},
|
|
727
965
|
"old_string": {
|
|
728
966
|
"type": "string",
|
|
729
|
-
"description": "Literal text to replace.
|
|
967
|
+
"description": "Literal text to replace."
|
|
730
968
|
},
|
|
731
969
|
"new_string": {
|
|
732
970
|
"type": "string",
|
|
@@ -778,7 +1016,7 @@ Source: [`packages/fs/tool-fs/src/index.ts`](https://github.com/deepseek-ai/deep
|
|
|
778
1016
|
|
|
779
1017
|
### `read_image`
|
|
780
1018
|
|
|
781
|
-
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.
|
|
782
1020
|
|
|
783
1021
|
```json
|
|
784
1022
|
{
|
|
@@ -807,7 +1045,7 @@ Create or fully replace a UTF-8 text file.
|
|
|
807
1045
|
"properties": {
|
|
808
1046
|
"file_path": {
|
|
809
1047
|
"type": "string",
|
|
810
|
-
"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."
|
|
811
1049
|
},
|
|
812
1050
|
"content": {
|
|
813
1051
|
"type": "string",
|
|
@@ -831,7 +1069,7 @@ The read-before-write/edit policy is added by `@deepseek-ai/dsh-fs-observation-p
|
|
|
831
1069
|
|
|
832
1070
|
### `glob`
|
|
833
1071
|
|
|
834
|
-
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.
|
|
835
1073
|
|
|
836
1074
|
```json
|
|
837
1075
|
{
|
|
@@ -856,7 +1094,7 @@ Source: [`packages/fs/tool-fs-search/src/index.ts`](https://github.com/deepseek-
|
|
|
856
1094
|
|
|
857
1095
|
### `grep`
|
|
858
1096
|
|
|
859
|
-
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.
|
|
860
1098
|
|
|
861
1099
|
```json
|
|
862
1100
|
{
|
|
@@ -1056,7 +1294,7 @@ The six terminal tools are opt-in and complement one-shot shell/filesystem tools
|
|
|
1056
1294
|
|
|
1057
1295
|
### `create_goal`
|
|
1058
1296
|
|
|
1059
|
-
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.
|
|
1060
1298
|
|
|
1061
1299
|
```json
|
|
1062
1300
|
{
|
|
@@ -1081,7 +1319,7 @@ Source: [`packages/goal/tool-goal/src/index.ts`](https://github.com/deepseek-ai/
|
|
|
1081
1319
|
|
|
1082
1320
|
### `get_goal`
|
|
1083
1321
|
|
|
1084
|
-
Read the current
|
|
1322
|
+
Read the current session goal, including the id and revision that update_goal requires.
|
|
1085
1323
|
|
|
1086
1324
|
```json
|
|
1087
1325
|
{
|
|
@@ -1094,7 +1332,7 @@ Source: [`packages/goal/tool-goal/src/index.ts`](https://github.com/deepseek-ai/
|
|
|
1094
1332
|
|
|
1095
1333
|
### `update_goal`
|
|
1096
1334
|
|
|
1097
|
-
Update the
|
|
1335
|
+
Update the current goal.
|
|
1098
1336
|
|
|
1099
1337
|
```json
|
|
1100
1338
|
{
|
|
@@ -1110,7 +1348,7 @@ Update the exact current goal revision. edit, pause, and resume require a direct
|
|
|
1110
1348
|
},
|
|
1111
1349
|
"action": {
|
|
1112
1350
|
"type": "string",
|
|
1113
|
-
"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.",
|
|
1114
1352
|
"enum": [
|
|
1115
1353
|
"edit",
|
|
1116
1354
|
"pause",
|
|
@@ -1129,7 +1367,7 @@ Update the exact current goal revision. edit, pause, and resume require a direct
|
|
|
1129
1367
|
},
|
|
1130
1368
|
"blocked_reason": {
|
|
1131
1369
|
"type": "string",
|
|
1132
|
-
"description": "
|
|
1370
|
+
"description": "Required only with action blocked: the concrete condition that persisted across rounds and blocks progress."
|
|
1133
1371
|
}
|
|
1134
1372
|
},
|
|
1135
1373
|
"required": [
|
|
@@ -1144,13 +1382,13 @@ Source: [`packages/goal/tool-goal/src/index.ts`](https://github.com/deepseek-ai/
|
|
|
1144
1382
|
|
|
1145
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.
|
|
1146
1384
|
|
|
1147
|
-
<a id="deepseek-aidsh-schedule"></a>
|
|
1385
|
+
<a id="deepseek-aidsh-tool-schedule"></a>
|
|
1148
1386
|
|
|
1149
|
-
## `@deepseek-ai/dsh-schedule`
|
|
1387
|
+
## `@deepseek-ai/dsh-tool-schedule`
|
|
1150
1388
|
|
|
1151
1389
|
### `schedule_create`
|
|
1152
1390
|
|
|
1153
|
-
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.
|
|
1154
1392
|
|
|
1155
1393
|
```json
|
|
1156
1394
|
{
|
|
@@ -1160,13 +1398,82 @@ Create one reminder in the current session. Supply a non-empty prompt and exactl
|
|
|
1160
1398
|
"type": "string",
|
|
1161
1399
|
"description": "Reminder content to present when the target becomes due."
|
|
1162
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
|
+
},
|
|
1163
1405
|
"after_seconds": {
|
|
1164
1406
|
"type": "number",
|
|
1165
|
-
"description": "
|
|
1407
|
+
"description": "Delay in whole seconds."
|
|
1166
1408
|
},
|
|
1167
1409
|
"every_seconds": {
|
|
1168
1410
|
"type": "number",
|
|
1169
|
-
"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
|
+
]
|
|
1170
1477
|
},
|
|
1171
1478
|
"at": {
|
|
1172
1479
|
"oneOf": [
|
|
@@ -1194,20 +1501,21 @@ Create one reminder in the current session. Supply a non-empty prompt and exactl
|
|
|
1194
1501
|
]
|
|
1195
1502
|
}
|
|
1196
1503
|
],
|
|
1197
|
-
"description": "Absolute target
|
|
1504
|
+
"description": "Absolute target: an RFC 3339 date-time with offset, or a local date, time, and IANA time_zone."
|
|
1198
1505
|
}
|
|
1199
1506
|
},
|
|
1200
1507
|
"required": [
|
|
1201
|
-
"prompt"
|
|
1508
|
+
"prompt",
|
|
1509
|
+
"title"
|
|
1202
1510
|
]
|
|
1203
1511
|
}
|
|
1204
1512
|
```
|
|
1205
1513
|
|
|
1206
|
-
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)
|
|
1207
1515
|
|
|
1208
1516
|
### `schedule_delete`
|
|
1209
1517
|
|
|
1210
|
-
Delete
|
|
1518
|
+
Delete a reminder in the current session, active or inactive. Deletion does not retract a reminder message that is already queued.
|
|
1211
1519
|
|
|
1212
1520
|
```json
|
|
1213
1521
|
{
|
|
@@ -1215,7 +1523,7 @@ Delete one active reminder in the current session by the exact id returned by sc
|
|
|
1215
1523
|
"properties": {
|
|
1216
1524
|
"id": {
|
|
1217
1525
|
"type": "string",
|
|
1218
|
-
"description": "Exact
|
|
1526
|
+
"description": "Exact schedule id."
|
|
1219
1527
|
}
|
|
1220
1528
|
},
|
|
1221
1529
|
"required": [
|
|
@@ -1224,11 +1532,11 @@ Delete one active reminder in the current session by the exact id returned by sc
|
|
|
1224
1532
|
}
|
|
1225
1533
|
```
|
|
1226
1534
|
|
|
1227
|
-
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)
|
|
1228
1536
|
|
|
1229
1537
|
### `schedule_list`
|
|
1230
1538
|
|
|
1231
|
-
List
|
|
1539
|
+
List the active reminders in the current session.
|
|
1232
1540
|
|
|
1233
1541
|
```json
|
|
1234
1542
|
{
|
|
@@ -1237,9 +1545,135 @@ List every active reminder in the current session in creation order, including i
|
|
|
1237
1545
|
}
|
|
1238
1546
|
```
|
|
1239
1547
|
|
|
1240
|
-
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)
|
|
1241
1675
|
|
|
1242
|
-
|
|
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.
|
|
1243
1677
|
|
|
1244
1678
|
<a id="deepseek-aidsh-tool-lsp"></a>
|
|
1245
1679
|
|
|
@@ -1326,7 +1760,7 @@ A fixed foreground workflow starts one fresh structured child per round; the mod
|
|
|
1326
1760
|
|
|
1327
1761
|
### `skill`
|
|
1328
1762
|
|
|
1329
|
-
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.
|
|
1330
1764
|
|
|
1331
1765
|
```json
|
|
1332
1766
|
{
|
|
@@ -1608,7 +2042,7 @@ Source: [`packages/subagent/tool-subagent/src/list-models.ts`](https://github.co
|
|
|
1608
2042
|
|
|
1609
2043
|
### `subagent`
|
|
1610
2044
|
|
|
1611
|
-
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.
|
|
1612
2046
|
|
|
1613
2047
|
```json
|
|
1614
2048
|
{
|
|
@@ -1624,7 +2058,7 @@ Delegate a self-contained task to a subagent (a separate agent that works in its
|
|
|
1624
2058
|
},
|
|
1625
2059
|
"run_in_background": {
|
|
1626
2060
|
"type": "boolean",
|
|
1627
|
-
"description": "
|
|
2061
|
+
"description": "Run as a background job and return its id (collect with job_output, stop with job_kill). Defaults to false."
|
|
1628
2062
|
}
|
|
1629
2063
|
},
|
|
1630
2064
|
"required": [
|
|
@@ -1644,7 +2078,7 @@ The registered delegation name is the load-time `toolName` config (default `suba
|
|
|
1644
2078
|
|
|
1645
2079
|
### `interrupt_agent`
|
|
1646
2080
|
|
|
1647
|
-
|
|
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.
|
|
1648
2082
|
|
|
1649
2083
|
```json
|
|
1650
2084
|
{
|
|
@@ -1652,7 +2086,7 @@ Request cancellation of a background agent's current turn by its agent id. The t
|
|
|
1652
2086
|
"properties": {
|
|
1653
2087
|
"agent_id": {
|
|
1654
2088
|
"type": "string",
|
|
1655
|
-
"description": "The
|
|
2089
|
+
"description": "The id of an agent created under you: your direct child or a deeper descendant."
|
|
1656
2090
|
}
|
|
1657
2091
|
},
|
|
1658
2092
|
"required": [
|
|
@@ -1665,7 +2099,7 @@ Source: [`packages/subagent/tool-subagent-control/src/index.ts`](https://github.
|
|
|
1665
2099
|
|
|
1666
2100
|
### `list_agents`
|
|
1667
2101
|
|
|
1668
|
-
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.
|
|
1669
2103
|
|
|
1670
2104
|
```json
|
|
1671
2105
|
{
|
|
@@ -1673,7 +2107,7 @@ List your continuable background subagents by durable id and label. Use it to re
|
|
|
1673
2107
|
"properties": {
|
|
1674
2108
|
"scope": {
|
|
1675
2109
|
"type": "string",
|
|
1676
|
-
"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.",
|
|
1677
2111
|
"enum": [
|
|
1678
2112
|
"children",
|
|
1679
2113
|
"descendants"
|
|
@@ -1687,7 +2121,7 @@ Source: [`packages/subagent/tool-subagent-control/src/list-agents.ts`](https://g
|
|
|
1687
2121
|
|
|
1688
2122
|
### `send_message`
|
|
1689
2123
|
|
|
1690
|
-
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.
|
|
1691
2125
|
|
|
1692
2126
|
```json
|
|
1693
2127
|
{
|
|
@@ -1719,7 +2153,7 @@ The globally named control tools over continuable background subagents: provider
|
|
|
1719
2153
|
|
|
1720
2154
|
### `job_kill`
|
|
1721
2155
|
|
|
1722
|
-
Request cancellation of a running background job
|
|
2156
|
+
Request cancellation of a running background job.
|
|
1723
2157
|
|
|
1724
2158
|
```json
|
|
1725
2159
|
{
|
|
@@ -1757,7 +2191,7 @@ Source: [`packages/jobs/tool-jobs/src/index.ts`](https://github.com/deepseek-ai/
|
|
|
1757
2191
|
|
|
1758
2192
|
### `job_output`
|
|
1759
2193
|
|
|
1760
|
-
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.
|
|
1761
2195
|
|
|
1762
2196
|
```json
|
|
1763
2197
|
{
|
|
@@ -1769,11 +2203,11 @@ Read a background job. Stream jobs return only output since the previous read; f
|
|
|
1769
2203
|
},
|
|
1770
2204
|
"wait": {
|
|
1771
2205
|
"type": "boolean",
|
|
1772
|
-
"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."
|
|
1773
2207
|
},
|
|
1774
2208
|
"timeout_ms": {
|
|
1775
2209
|
"type": "number",
|
|
1776
|
-
"description": "Max wait in milliseconds
|
|
2210
|
+
"description": "Max wait in milliseconds with wait: true. Defaults to and is capped by configuration."
|
|
1777
2211
|
}
|
|
1778
2212
|
},
|
|
1779
2213
|
"required": [
|
|
@@ -1800,7 +2234,7 @@ Interrupt one teammate's current turn while preserving its pending inbox. Team L
|
|
|
1800
2234
|
"properties": {
|
|
1801
2235
|
"target": {
|
|
1802
2236
|
"type": "string",
|
|
1803
|
-
"description": "Teammate
|
|
2237
|
+
"description": "Teammate target returned by spawn_teammate or list_agents."
|
|
1804
2238
|
}
|
|
1805
2239
|
},
|
|
1806
2240
|
"required": [
|
|
@@ -1813,7 +2247,7 @@ Source: [`packages/experimental/tool-agent-team/src/index.ts`](https://github.co
|
|
|
1813
2247
|
|
|
1814
2248
|
### `list_agents`
|
|
1815
2249
|
|
|
1816
|
-
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.
|
|
1817
2251
|
|
|
1818
2252
|
```json
|
|
1819
2253
|
{
|
|
@@ -1826,7 +2260,7 @@ Source: [`packages/experimental/tool-agent-team/src/index.ts`](https://github.co
|
|
|
1826
2260
|
|
|
1827
2261
|
### `send_message`
|
|
1828
2262
|
|
|
1829
|
-
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.
|
|
1830
2264
|
|
|
1831
2265
|
```json
|
|
1832
2266
|
{
|
|
@@ -1834,7 +2268,7 @@ Send one durable message to another Team member. A running target receives it at
|
|
|
1834
2268
|
"properties": {
|
|
1835
2269
|
"target": {
|
|
1836
2270
|
"type": "string",
|
|
1837
|
-
"description": "
|
|
2271
|
+
"description": "Member target returned by spawn_teammate or list_agents, including lead."
|
|
1838
2272
|
},
|
|
1839
2273
|
"message": {
|
|
1840
2274
|
"type": "string",
|
|
@@ -1969,7 +2403,7 @@ List shared tasks, including readiness, owner, revision, blockers, and write-sco
|
|
|
1969
2403
|
},
|
|
1970
2404
|
"owner": {
|
|
1971
2405
|
"type": "string",
|
|
1972
|
-
"description": "Optional member
|
|
2406
|
+
"description": "Optional member target from spawn_teammate or list_agents, matching ownerName; use unowned for tasks without an owner."
|
|
1973
2407
|
},
|
|
1974
2408
|
"ready": {
|
|
1975
2409
|
"type": "boolean",
|
|
@@ -2043,7 +2477,7 @@ Compare-and-set a shared task action using the latest revision from team_task_ge
|
|
|
2043
2477
|
},
|
|
2044
2478
|
"owner": {
|
|
2045
2479
|
"type": "string",
|
|
2046
|
-
"description": "Member
|
|
2480
|
+
"description": "Member target from spawn_teammate or list_agents for Lead-only reassign; omit to unassign."
|
|
2047
2481
|
}
|
|
2048
2482
|
},
|
|
2049
2483
|
"required": [
|
|
@@ -2082,7 +2516,7 @@ All nine tools are scoped to implicit Team Leads and durable teammates. The ship
|
|
|
2082
2516
|
|
|
2083
2517
|
### `todo_write`
|
|
2084
2518
|
|
|
2085
|
-
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.
|
|
2086
2520
|
|
|
2087
2521
|
```json
|
|
2088
2522
|
{
|
|
@@ -2134,17 +2568,13 @@ todo_write is session-owned state; UIs render the latest todo/write event as a c
|
|
|
2134
2568
|
|
|
2135
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.
|
|
2136
2570
|
|
|
2137
|
-
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.
|
|
2138
|
-
|
|
2139
2571
|
Script-body hooks:
|
|
2140
|
-
- `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
|
|
2141
|
-
- `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.
|
|
2142
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`.
|
|
2143
2575
|
- `phase(title)` — start a progress phase; `log(message)` — narrate progress; `args` — the tool call's `args` input, verbatim.
|
|
2144
2576
|
|
|
2145
|
-
Misused hooks (bad arguments, unknown options, unsupported schemas, tripped caps)
|
|
2146
|
-
|
|
2147
|
-
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.
|
|
2148
2578
|
|
|
2149
2579
|
```json
|
|
2150
2580
|
{
|
|
@@ -2152,11 +2582,11 @@ Constraints: concurrency and total-agent caps apply; no filesystem, network, tim
|
|
|
2152
2582
|
"properties": {
|
|
2153
2583
|
"script": {
|
|
2154
2584
|
"type": "string",
|
|
2155
|
-
"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."
|
|
2156
2586
|
},
|
|
2157
2587
|
"meta": {
|
|
2158
2588
|
"type": "object",
|
|
2159
|
-
"description": "The workflow identity
|
|
2589
|
+
"description": "The workflow identity as plain JSON, not code.",
|
|
2160
2590
|
"additionalProperties": true,
|
|
2161
2591
|
"properties": {
|
|
2162
2592
|
"name": {
|
|
@@ -2210,6 +2640,10 @@ Constraints: concurrency and total-agent caps apply; no filesystem, network, tim
|
|
|
2210
2640
|
"type": "object",
|
|
2211
2641
|
"description": "Optional JSON input exposed to the script as the `args` global (wrap a bare list as a field, e.g. {\"files\": [...]}).",
|
|
2212
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."
|
|
2213
2647
|
}
|
|
2214
2648
|
},
|
|
2215
2649
|
"required": [
|
|
@@ -2221,6 +2655,23 @@ Constraints: concurrency and total-agent caps apply; no filesystem, network, tim
|
|
|
2221
2655
|
|
|
2222
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)
|
|
2223
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
|
+
|
|
2224
2675
|
<a id="deepseek-aidsh-tool-web"></a>
|
|
2225
2676
|
|
|
2226
2677
|
## `@deepseek-ai/dsh-tool-web`
|
|
@@ -2248,7 +2699,7 @@ Source: [`packages/web/tool-web/src/index.ts`](https://github.com/deepseek-ai/de
|
|
|
2248
2699
|
|
|
2249
2700
|
### `web_search`
|
|
2250
2701
|
|
|
2251
|
-
Search the web for current information.
|
|
2702
|
+
Search the web for current information. Returns an optional summary answer and a list of source URLs.
|
|
2252
2703
|
|
|
2253
2704
|
```json
|
|
2254
2705
|
{
|
|
@@ -2256,7 +2707,7 @@ Search the web for current information. Provide 1–4 queries in the required qu
|
|
|
2256
2707
|
"properties": {
|
|
2257
2708
|
"queries": {
|
|
2258
2709
|
"type": "array",
|
|
2259
|
-
"description": "
|
|
2710
|
+
"description": "1–4 search queries; their results are merged.",
|
|
2260
2711
|
"items": {
|
|
2261
2712
|
"type": "string"
|
|
2262
2713
|
}
|