dsh-web-app owns --host/--port/--dev/--workspace-root/--trusted-host and its --help in a web-startup row; the rows it configures wait for the webStartup service, and the client-plugin HMR receiver now ships disabled so --dev is a row toggle rather than a runtime insert (the Loader cannot resolve a row inserted from inside a mounting plugin). dsh-headless owns the task positional and rejects a missing task as its own usage error. Its runner ships disabled, not merely waiting: the schema requires the task, and a row's config is validated when its fiber is created, before the startup row can supply one. A composition has exactly one command-line owner, so the patch disables the web startup row and this one provides webStartup too, leaving the web rows on their composed one-shot values. The keyless web scaffold provides the same three values with no arguments, which is what an embedding host with no command line does.
35 lines
1.2 KiB
YAML
35 lines
1.2 KiB
YAML
# The dsh-headless bundle patch: one-shot task mode directly over dsh-base.
|
|
# It mounts no Host, HTTP server, Web runtime, or browser plugin. The startup
|
|
# row owns the task positional (`dsh --profile headless "<task>"`) and this
|
|
# app's --help; the direct driver creates an Agent through the core registry
|
|
# and prints the final durable assistant message.
|
|
|
|
- id: system-prompt
|
|
config:
|
|
persona: >-
|
|
You are a coding agent powered by the {{model}} model. Your working directory is {{cwd}}.
|
|
|
|
# One-shot runs never watch or reload their composition.
|
|
- id: hmr
|
|
disabled: true
|
|
|
|
- id: tools
|
|
config:
|
|
# Keep the same temporary process-wide Code Mode opt-in as the Web surface.
|
|
mode: !!js process.env.DSH_TOOLS_MODE
|
|
|
|
- insert:
|
|
# Code Mode is a core execution capability, not a Web component.
|
|
- id: code-runtime
|
|
name: '@deepseek-ai/dsh-code-runtime-worker'
|
|
|
|
- id: headless-startup
|
|
name: '@deepseek-ai/dsh-headless/startup'
|
|
|
|
# Shipped off, not merely waiting: the runner's schema requires the task.
|
|
# The startup row enables it with the task after parsing this app's argv.
|
|
- id: headless-runner
|
|
name: '@deepseek-ai/dsh-headless'
|
|
inject: [headlessStartup]
|
|
disabled: true
|