# dsh-superagent bundle layer: inserts the plugins without configuration, and the agent presets its Sessions run under. The # profile supplies the `dsh-superagent` entry's stateDir (see docs/006-deployment.md and examples/profile.cordis.patch.yml); the plugin # refuses to start without stateDir. - insert: - id: dsh-superagent name: dsh-superagent - id: dsh-superagent-github name: dsh-superagent/github-watch # Optional Feishu Source; requires configuring a bot CLI after enabling. - id: dsh-superagent-feishu name: dsh-superagent/feishu-watch disabled: true # The agent preset of every Executor Session (WORKER_PRESET in src/app/sessions.ts); the main Session has its own, below. # It is DSH's `standard` preset with only what a worker needs, and a shell whose foreground command moves to a background job # after 5 seconds, so a long command does not hold back a person's message, which the Session takes at its next step. Left # out: questions to a person, presenting, plan mode, the plugin manager and market, scheduling, goals, workflows, web fetch, # and forked subagents, which would run under this preset; spawned subagents run under `standard`, whose shell moves a # command to a background job only after 60 seconds, as a subagent's jobs are killed when it ends. A preset row has no # setting that hides it from the preset picker, so its name and description say whom it is for. - id: dsh-superagent-worker-preset name: '@deepseek-ai/dsh-agent-preset' config: id: dsh-superagent-worker name: dsh-superagent 执行器 description: dsh-superagent 的执行器 Session 专用,不供手动选择。前台命令超 5 秒转入后台,只含执行工作所需的工具。 order: 90 plugins: - id: persona name: '@deepseek-ai/dsh-persona' config: prefix: You are a coding agent powered by the {{model}} model. - id: agent-instructions name: '@deepseek-ai/dsh-agent-instructions' config: maxBytes: 65536 - id: time-context name: '@deepseek-ai/dsh-time-context' # A foreground command waits at most 5 s, then the shell tool moves it to a background job. - id: shell name: cordis:group group: true isolate: shell: true config: - id: bash-sandbox name: '@deepseek-ai/dsh-bash-sandbox' disabled: !!js process.platform === 'win32' config: timeoutMs: 5000 maxTimeoutMs: 5000 - id: pwsh-sandbox name: '@deepseek-ai/dsh-pwsh-sandbox' disabled: !!js process.platform !== 'win32' config: timeoutMs: 5000 maxTimeoutMs: 5000 - id: tool-bash name: '@deepseek-ai/dsh-tool-bash' disabled: !!js process.platform === 'win32' - id: tool-pwsh name: '@deepseek-ai/dsh-tool-pwsh' disabled: !!js process.platform !== 'win32' - id: tool-fs name: '@deepseek-ai/dsh-tool-fs' - id: tool-fs-search name: '@deepseek-ai/dsh-tool-fs-search' config: sampleOverCapGlobResults: false # A wait for a job ends after 5 s too; the job's end wakes the worker with its result. - id: tool-jobs name: '@deepseek-ai/dsh-tool-jobs' config: waitTimeoutMs: 5000 maxWaitTimeoutMs: 5000 - id: skill-filesystem name: '@deepseek-ai/dsh-skill-filesystem' - id: tool-skill name: '@deepseek-ai/dsh-tool-skill' - id: compaction name: cordis:group group: true isolate: compaction: true toolResultPruner: true config: - id: compaction-basic name: '@deepseek-ai/dsh-compaction-basic' - id: command-compact name: '@deepseek-ai/dsh-command-compact' - id: tool-result-pruner name: '@deepseek-ai/dsh-compaction-tool-result-pruner' config: thresholdChars: 8192 headChars: 4096 tailChars: 1024 - id: delegation name: cordis:group group: true isolate: workflowEngine: true config: - id: tool-subagent-control name: '@deepseek-ai/dsh-tool-subagent-control' - id: tool-subagent name: '@deepseek-ai/dsh-tool-subagent' config: provider: spawn toolName: subagent modelSelection: true modelDiscovery: true agentPreset: standard - id: tool-todo name: '@deepseek-ai/dsh-tool-todo' config: allowParallelInProgress: true - id: tool-web name: '@deepseek-ai/dsh-tool-web' config: fetch: false searchTimeoutMs: 60000 # The agent preset of the main Session (ROUTER_PRESET in src/app/sessions.ts). The worker's 5-second shell and job waits, so a command or a wait does not hold back the next candidates, and # only what the main Session uses: no subagents, web, file search or writes, todo list, questions to a person, presenting, # plan mode, plugin manager, scheduling, goals or workflows. No persona: the main Session's prompt is complete, so it has # no other section. - id: dsh-superagent-router-preset name: '@deepseek-ai/dsh-agent-preset' config: id: dsh-superagent-router name: dsh-superagent 主 Session description: dsh-superagent 的主 Session 专用,不供手动选择。前台命令和任务等待超 5 秒转入后台,只含路由所需的工具。 order: 91 plugins: - id: agent-instructions name: '@deepseek-ai/dsh-agent-instructions' config: maxBytes: 65536 - id: time-context name: '@deepseek-ai/dsh-time-context' - id: shell name: cordis:group group: true isolate: shell: true config: - id: bash-sandbox name: '@deepseek-ai/dsh-bash-sandbox' disabled: !!js process.platform === 'win32' config: timeoutMs: 5000 maxTimeoutMs: 5000 - id: pwsh-sandbox name: '@deepseek-ai/dsh-pwsh-sandbox' disabled: !!js process.platform !== 'win32' config: timeoutMs: 5000 maxTimeoutMs: 5000 - id: tool-bash name: '@deepseek-ai/dsh-tool-bash' disabled: !!js process.platform === 'win32' - id: tool-pwsh name: '@deepseek-ai/dsh-tool-pwsh' disabled: !!js process.platform !== 'win32' - id: tool-fs name: '@deepseek-ai/dsh-tool-fs' config: write: false edit: false - id: tool-jobs name: '@deepseek-ai/dsh-tool-jobs' config: waitTimeoutMs: 5000 maxWaitTimeoutMs: 5000 - id: skill-filesystem name: '@deepseek-ai/dsh-skill-filesystem' - id: tool-skill name: '@deepseek-ai/dsh-tool-skill' - id: compaction name: cordis:group group: true isolate: compaction: true toolResultPruner: true config: - id: compaction-basic name: '@deepseek-ai/dsh-compaction-basic' - id: command-compact name: '@deepseek-ai/dsh-command-compact' - id: tool-result-pruner name: '@deepseek-ai/dsh-compaction-tool-result-pruner' config: thresholdChars: 8192 headChars: 4096 tailChars: 1024