docs(python): make the dsh profile runtime current
Document dsh as the only application launcher across architecture, CLI, SDK, app-boot, Python package, contributor, tutorial, and example references. Explain explicit home selection, profile and patch precedence, persistent external plugin installation, the Node-free runtime path, and the absence of complete-config or ~/.dsh fallbacks.
Record the Python profile-runtime decision and update the active naming, installed-wheel, and SEA packaging notes with precise supersession. Regenerate the configuration catalog and module graph after deleting the carrier, update both reviewed languages and pairing records, and classify the retained standalone Cordis files as lower-level test fixtures rather than launch interfaces.
2026-08-23 14:56:55 +08:00
|
|
|
# Complete JSON-RPC composition fixture for lower-level Loader and SDK tests.
|
|
|
|
|
# Python users launch `dsh --profile sdk` and apply patches instead.
|
|
|
|
|
# Stdout is reserved for JSON-RPC; do not add a console logger or terminal UI.
|
2026-07-17 17:29:38 +08:00
|
|
|
|
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
|