mirror of
https://github.com/deepseek-ai/deepseek-harness
synced 2026-08-15 21:04:50 +00:00
Apply the accepted pre-release package, service, type, directory, and role renames as one repository-wide change.
166 lines
5.4 KiB
YAML
166 lines
5.4 KiB
YAML
# One-shot coding agent with format-pure stdout. The app bin loads the
|
|
# gitignored root `.env` into the process environment; entry configs here are
|
|
# the composition base, while user-plane values resolve per request through
|
|
# the two providers below.
|
|
|
|
# User-settings document (`$DSH_HOME/settings.yaml`, hot-reloaded): a
|
|
# `llm-deepseek:` section there overrides the adapter entry below without a
|
|
# restart.
|
|
- id: settings
|
|
name: '@deepseek-ai/dsh-settings-file'
|
|
|
|
# Credential store: the live process environment over `$DSH_HOME/.credentials.yaml`
|
|
# (owner-only file, hot-reloaded). The adapter resolves `DEEPSEEK_API_KEY`
|
|
# through it at each request, so no key is inlined in this file.
|
|
- id: credentials
|
|
name: '@deepseek-ai/dsh-credentials-local'
|
|
|
|
# The DeepSeek adapter. Swap to '@deepseek-ai/dsh-llm-pi-ai' for the pi-ai-backed
|
|
# twin (a `providers` dict keyed by route; `reasoning: high` replaces
|
|
# thinking/reasoningEffort). Shipped default: full thinking at max effort on
|
|
# every request. Exact-model resolution materializes request defaults before
|
|
# the request header is logged.
|
|
- id: llm-deepseek
|
|
name: '@deepseek-ai/dsh-llm-deepseek'
|
|
config:
|
|
thinking: enabled
|
|
reasoningEffort: max
|
|
models:
|
|
- id: deepseek-v4-pro
|
|
contextWindow: 128000
|
|
- id: deepseek-v4-flash
|
|
contextWindow: 128000
|
|
|
|
# Managed child-process groups for the bash executor (spawn/kill/output plumbing).
|
|
- id: subprocess
|
|
name: '@deepseek-ai/dsh-subprocess-local'
|
|
|
|
- id: bash
|
|
name: '@deepseek-ai/dsh-bash-local'
|
|
config:
|
|
timeoutMs: 60000
|
|
|
|
# The example composition pre-creates one fresh `main` agent for its test driver.
|
|
- id: agent-spine
|
|
name: '@deepseek-ai/dsh-agent-spine-demo'
|
|
config:
|
|
agents:
|
|
- id: main
|
|
provider: deepseek-official
|
|
# Stays on flash: the goal/ralph replay corpora were recorded on it, and
|
|
# their nested-include overlays cannot re-pin the app config (a config
|
|
# patch cannot target an entry behind a nested include).
|
|
model: deepseek-v4-flash
|
|
cwd: !!js process.cwd()
|
|
workspaceContext:
|
|
maxBytes: 65536
|
|
persona: |
|
|
You are headless-agent, a coding assistant powered by the {{model}} model.
|
|
|
|
Verify your work by running the code or tests. Keep answers brief and
|
|
factual.
|
|
|
|
- id: persistence
|
|
name: '@deepseek-ai/dsh-session-persistence-jsonl'
|
|
config:
|
|
root: './.sessions'
|
|
compression: !!js "process.env.DSH_SNAPSHOT === undefined ? 'zstd' : 'none'"
|
|
|
|
- id: checkpoint-policy
|
|
name: '@deepseek-ai/dsh-session-checkpoint-policy'
|
|
|
|
# Summarize an older range when derived history approaches the context window.
|
|
- id: token-meter
|
|
name: '@deepseek-ai/dsh-token-meter'
|
|
|
|
- id: compaction-basic
|
|
name: '@deepseek-ai/dsh-compaction-basic'
|
|
config:
|
|
thresholdRatio: 0.8
|
|
retainRatio: 0.16
|
|
maxTokens: 8192
|
|
compactionRetries: 1
|
|
|
|
# Projection registry: durable subagent identity (mode/label) folds through
|
|
# its registered units; subagent catalog reads fail loud without the capability.
|
|
- id: session-projection
|
|
name: '@deepseek-ai/dsh-session-projection'
|
|
|
|
# Expose fresh-child `spawn` and completed-prefix `fork` through independent
|
|
# in-process backends.
|
|
- id: subagent
|
|
name: '@deepseek-ai/dsh-subagent'
|
|
|
|
- id: subagent-spawn-in-process
|
|
name: '@deepseek-ai/dsh-subagent-spawn-in-process'
|
|
config:
|
|
providerName: spawn
|
|
|
|
- id: subagent-fork-in-process
|
|
name: '@deepseek-ai/dsh-subagent-fork-in-process'
|
|
config:
|
|
providerName: fork
|
|
|
|
# Continuable background children are selected per delegation tool. The
|
|
# separately loaded control registers global `send_message`; `report` is
|
|
# installed only in continuable child scopes.
|
|
- id: tool-subagent-control
|
|
name: '@deepseek-ai/dsh-tool-subagent-control'
|
|
|
|
- id: tool-subagent-report
|
|
name: '@deepseek-ai/dsh-tool-subagent-report'
|
|
|
|
- id: tool-subagent
|
|
name: '@deepseek-ai/dsh-tool-subagent'
|
|
config:
|
|
provider: spawn
|
|
toolName: subagent
|
|
backgroundMode: continuable
|
|
maxDepth: 1
|
|
|
|
# Fork stays one-shot because a continuable child's `report` tool and prompt
|
|
# section precede the inherited history a fork reuses; `run_in_background` is off
|
|
# because this example mounts no task service. See .agents/notes/implemented/architecture/2026-08-10-fork-children-stay-one-shot.md.
|
|
- id: tool-subagent-fork
|
|
name: '@deepseek-ai/dsh-tool-subagent'
|
|
config:
|
|
provider: fork
|
|
toolName: subagent_fork
|
|
backgroundMode: one-shot
|
|
enableRunInBackground: false
|
|
maxDepth: 1
|
|
|
|
# The worker-thread workflow engine fans a model-written JavaScript script's
|
|
# `agent()` calls out through the spawn backend.
|
|
- id: workflow-worker-thread
|
|
name: '@deepseek-ai/dsh-workflow-worker-thread'
|
|
config:
|
|
provider: spawn
|
|
|
|
- id: tool-workflow
|
|
name: '@deepseek-ai/dsh-tool-workflow'
|
|
|
|
# A separate fixed consumer demonstrates fresh-agent Ralph iteration without
|
|
# changing the workflow tool or same-session goal behavior.
|
|
- id: tool-ralph
|
|
name: '@deepseek-ai/dsh-tool-ralph'
|
|
|
|
# `todo_write` replaces the logged whole list.
|
|
- id: tool-todo
|
|
name: '@deepseek-ai/dsh-tool-todo'
|
|
config:
|
|
allowParallelInProgress: true
|
|
|
|
# Policy loads before the model-facing filesystem tools so writes and edits
|
|
# require an observed file. Relative paths resolve from the process cwd.
|
|
- id: fs-local
|
|
name: '@deepseek-ai/dsh-fs-local'
|
|
config:
|
|
cwd: !!js process.cwd()
|
|
|
|
- id: fs-observation-policy
|
|
name: '@deepseek-ai/dsh-fs-observation-policy'
|
|
|
|
- id: tool-fs
|
|
name: '@deepseek-ai/dsh-tool-fs'
|