2026-07-19 22:19:42 +08:00
|
|
|
# Unattended coding-agent deployment for the bundled dsh-jsonrpc-agent runtime.
|
2026-07-17 17:29:38 +08:00
|
|
|
# stdout is reserved for JSON-RPC; do not add a console logger or terminal UI.
|
|
|
|
|
|
2026-08-13 00:36:22 +08:00
|
|
|
- id: sdk-jsonrpc-server
|
|
|
|
|
name: '@deepseek-ai/dsh-sdk-jsonrpc-server'
|
2026-07-17 17:29:38 +08:00
|
|
|
config:
|
2026-07-19 23:03:08 +08:00
|
|
|
maxTokensAsSuccess: !!js "process.env.DSH_MAX_TOKENS_AS_SUCCESS === undefined ? true : JSON.parse(process.env.DSH_MAX_TOKENS_AS_SUCCESS)"
|
2026-07-17 17:29:38 +08:00
|
|
|
|
2026-08-22 20:03:23 +08:00
|
|
|
- id: deepseek-llm-api-extensions
|
|
|
|
|
name: '@deepseek-ai/dsh-deepseek-llm-api-extensions'
|
|
|
|
|
|
2026-08-22 02:02:38 +08:00
|
|
|
- id: session-log-deepseek
|
|
|
|
|
name: '@deepseek-ai/dsh-session-log-deepseek'
|
|
|
|
|
|
2026-08-22 20:03:23 +08:00
|
|
|
- id: plugin-package-inventory-deepseek
|
|
|
|
|
name: '@deepseek-ai/dsh-plugin-package-inventory-deepseek'
|
|
|
|
|
|
2026-07-22 10:55:18 +08:00
|
|
|
# The DeepSeek adapter. Shipped default: full thinking at max effort on every
|
2026-07-30 21:04:00 +08:00
|
|
|
# request; exact-model resolution materializes request defaults before logging.
|
|
|
|
|
# The model arrives per session over JSON-RPC, so it is not pinned here.
|
2026-07-17 17:29:38 +08:00
|
|
|
- id: llm-deepseek
|
|
|
|
|
name: '@deepseek-ai/dsh-llm-deepseek'
|
|
|
|
|
config:
|
2026-07-22 10:55:18 +08:00
|
|
|
thinking: enabled
|
|
|
|
|
reasoningEffort: max
|
2026-07-17 17:29:38 +08:00
|
|
|
|
refactor(process): split the process manager out of the bash executor
New process/ capability family: @deepseek-ai/dsh-process owns ctx.processes —
abstract ProcessManager.spawn(spec) over a fully-explicit ProcessSpawnSpec —
plus the shared DSH_* managed-environment and CollectedOutput vocabulary;
@deepseek-ai/dsh-process-local carries the former bash-local run.ts plumbing
(detached groups, tail-keep spill-backed output, credential scrub, kill
escalation, kill-and-join disposal) with no config of its own.
dsh-bash-local becomes a consumer: it keeps command defaulting, the fused
deadline timedOut/aborted classification, the model-friendly terminal env
(now merged through the ordinary env channel), and the [stderr]-marked
background read merge, and spawns through ctx.processes. Background-process
lifetime moves to the manager, so an executor reload no longer kills live
background work; a background spawn failure is injected once into the read
path instead of being buffered as fake stderr. dsh-bash re-exports the moved
vocabulary so bash consumers keep one import root; dsh-bash-sandbox only
redeclares the inherited inject.
Every composition loading a bash executor now loads dsh-process-local (CLI,
examples, python bundled runtime, create-sdk bash feature, inline test
configs).
2026-07-26 06:59:01 +08:00
|
|
|
# Managed child-process groups for the bash executor (spawn/kill/output plumbing).
|
refactor(subprocess): rename the process seam to subprocess and address review
Review feedback (tianyicui): 'process' is a poor service name. The family is
now packages/subprocess/ — @deepseek-ai/dsh-subprocess (ctx.subprocess,
abstract SubprocessService, Subprocess* vocabulary) and
@deepseek-ai/dsh-subprocess-local (LocalSubprocessService) — renamed
throughout code, compositions, docs (en+zh, pairs re-recorded), catalogs,
and gates. 'subprocess' is the precise term for managed OS children (the
Python-stdlib sense), avoids colliding with Node's global process object,
and reads as one system beside dsh-subagent-subprocess.
ds-review-bot findings addressed:
- kill() on a settled handle is now a no-op (no signal to a possibly-reused
pgid, no referenced grace timer delaying exit); pinned by a spy test.
- The moved DshEnvironmentKey/DshEnvironment/CollectedOutput types get
drift-checked type-equiv blocks on the new subprocess.md page, restoring
their manifest registration.
- subprocess.md is registered in the core.md sub-page index (en+zh).
2026-07-26 12:43:14 +08:00
|
|
|
- id: subprocess
|
|
|
|
|
name: '@deepseek-ai/dsh-subprocess-local'
|
refactor(process): split the process manager out of the bash executor
New process/ capability family: @deepseek-ai/dsh-process owns ctx.processes —
abstract ProcessManager.spawn(spec) over a fully-explicit ProcessSpawnSpec —
plus the shared DSH_* managed-environment and CollectedOutput vocabulary;
@deepseek-ai/dsh-process-local carries the former bash-local run.ts plumbing
(detached groups, tail-keep spill-backed output, credential scrub, kill
escalation, kill-and-join disposal) with no config of its own.
dsh-bash-local becomes a consumer: it keeps command defaulting, the fused
deadline timedOut/aborted classification, the model-friendly terminal env
(now merged through the ordinary env channel), and the [stderr]-marked
background read merge, and spawns through ctx.processes. Background-process
lifetime moves to the manager, so an executor reload no longer kills live
background work; a background spawn failure is injected once into the read
path instead of being buffered as fake stderr. dsh-bash re-exports the moved
vocabulary so bash consumers keep one import root; dsh-bash-sandbox only
redeclares the inherited inject.
Every composition loading a bash executor now loads dsh-process-local (CLI,
examples, python bundled runtime, create-sdk bash feature, inline test
configs).
2026-07-26 06:59:01 +08:00
|
|
|
|
2026-07-17 17:29:38 +08:00
|
|
|
- id: bash
|
|
|
|
|
name: '@deepseek-ai/dsh-bash-local'
|
|
|
|
|
config:
|
|
|
|
|
cwd: !!js process.env.DSH_CWD ?? process.cwd()
|
|
|
|
|
timeoutMs: 60000
|
|
|
|
|
|
|
|
|
|
- id: agent-spine
|
|
|
|
|
name: '@deepseek-ai/dsh-agent-spine-demo'
|
|
|
|
|
config:
|
2026-07-19 22:19:42 +08:00
|
|
|
persona: !!js process.env.DSH_SYSTEM_PROMPT ?? 'You are a coding agent.'
|
2026-07-17 17:29:38 +08:00
|
|
|
workspaceContext: false
|
|
|
|
|
skills:
|
|
|
|
|
enabled: false
|
|
|
|
|
toolBash:
|
|
|
|
|
enableRunInBackground: false
|
2026-08-13 00:36:22 +08:00
|
|
|
toolJobs: false
|
2026-07-17 17:29:38 +08:00
|
|
|
|
|
|
|
|
- id: sessions
|
|
|
|
|
name: '@deepseek-ai/dsh-session-persistence-jsonl'
|
|
|
|
|
config:
|
|
|
|
|
root: !!js process.env.DSH_SESSION_ROOT ?? './.sessions'
|
2026-07-27 04:37:23 +08:00
|
|
|
# Snapshot runs read the raw JSONL back; production keeps zstd frames.
|
|
|
|
|
compression: !!js "process.env.DSH_SNAPSHOT === undefined ? 'zstd' : 'none'"
|
2026-07-17 17:29:38 +08:00
|
|
|
|
2026-07-21 14:50:06 +08:00
|
|
|
- id: session-checkpoints
|
|
|
|
|
name: '@deepseek-ai/dsh-session-checkpoint-policy'
|
|
|
|
|
|
2026-07-17 17:29:38 +08:00
|
|
|
- id: subagent
|
|
|
|
|
name: '@deepseek-ai/dsh-subagent'
|
|
|
|
|
|
2026-08-13 00:36:22 +08:00
|
|
|
- id: subagent-spawn-in-process
|
|
|
|
|
name: '@deepseek-ai/dsh-subagent-spawn-in-process'
|
2026-07-17 17:29:38 +08:00
|
|
|
config:
|
|
|
|
|
providerName: spawn
|
|
|
|
|
|
|
|
|
|
- id: tool-subagent
|
|
|
|
|
name: '@deepseek-ai/dsh-tool-subagent'
|
|
|
|
|
config:
|
|
|
|
|
provider: spawn
|
|
|
|
|
toolName: subagent
|
|
|
|
|
enableRunInBackground: false
|
|
|
|
|
|
|
|
|
|
- id: tool-todo
|
|
|
|
|
name: '@deepseek-ai/dsh-tool-todo'
|
2026-07-29 16:44:13 +08:00
|
|
|
config:
|
|
|
|
|
allowParallelInProgress: true
|
2026-07-17 17:29:38 +08:00
|
|
|
|
|
|
|
|
- id: fs-local
|
|
|
|
|
name: '@deepseek-ai/dsh-fs-local'
|
|
|
|
|
config:
|
|
|
|
|
cwd: !!js process.env.DSH_CWD ?? process.cwd()
|
|
|
|
|
|
2026-08-13 00:36:22 +08:00
|
|
|
- id: fs-observation-policy
|
|
|
|
|
name: '@deepseek-ai/dsh-fs-observation-policy'
|
2026-07-17 17:29:38 +08:00
|
|
|
|
|
|
|
|
- id: tool-fs
|
|
|
|
|
name: '@deepseek-ai/dsh-tool-fs'
|
|
|
|
|
|
2026-07-20 15:34:00 +08:00
|
|
|
- id: token-meter
|
|
|
|
|
name: '@deepseek-ai/dsh-token-meter'
|
|
|
|
|
|
2026-08-13 00:36:22 +08:00
|
|
|
- id: compaction-basic
|
|
|
|
|
name: '@deepseek-ai/dsh-compaction-basic'
|
2026-07-17 17:29:38 +08:00
|
|
|
config:
|
|
|
|
|
thresholdRatio: 0.8
|
2026-07-20 15:34:00 +08:00
|
|
|
retainRatio: 0.16
|
2026-07-17 17:29:38 +08:00
|
|
|
maxTokens: 8192
|
|
|
|
|
compactionRetries: 1
|