deepseek-harness/packages
Chinesezjc 80e13b3446 fix(code-runtime-python): align the resolvePythonBin docs and the exception-group guard
The review's follow-ups on the pythonBin change: (1) the JSDoc and the two
call-site comments still described the old fallback-to-bare-name contract;
they now state the load-rejection behavior. (2) the ExceptionGroup case's
version guard raised a skip message on Python < 3.11 but the assertion still
required the truncation marker unconditionally — the assertion now matches
either the truncation marker (3.11+) or the skip message (3.10). (3) the shell
wrappers quote the resolved interpreter path.
2026-08-31 15:05:23 +08:00
..
acp release(dsh): 0.1.2-alpha.2 2026-08-30 21:19:29 +08:00
api Merge origin/master into worktree/steer-followup-images 2026-08-31 10:37:39 +08:00
attachment Merge origin/master into worktree/steer-followup-images 2026-08-31 10:37:39 +08:00
boot release(dsh): 0.1.2-alpha.2 2026-08-30 21:19:29 +08:00
bundle refactor(bundle): remove the agent spine demo 2026-08-31 11:23:30 +08:00
client Merge origin/master into worktree/steer-followup-images 2026-08-31 10:37:39 +08:00
code-runtime fix(code-runtime-python): align the resolvePythonBin docs and the exception-group guard 2026-08-31 15:05:23 +08:00
compaction release(dsh): 0.1.2-alpha.2 2026-08-30 21:19:29 +08:00
context refactor(bundle): remove the agent spine demo 2026-08-31 11:23:30 +08:00
core refactor(session)!: remove SQLite persistence backend 2026-08-31 13:23:07 +08:00
credentials release(dsh): 0.1.2-alpha.2 2026-08-30 21:19:29 +08:00
e2b release(dsh): 0.1.2-alpha.2 2026-08-30 21:19:29 +08:00
experimental refactor(session)!: remove SQLite persistence backend 2026-08-31 13:23:07 +08:00
extensions docs(code-runtime-python): correct the claims the new backend invalidated 2026-08-31 14:28:26 +08:00
feedback release(dsh): 0.1.2-alpha.2 2026-08-30 21:19:29 +08:00
fs Merge remote-tracking branch 'origin/master' into worktree/fix-3269-read-image 2026-08-31 10:00:53 +08:00
goal test(goal): cover projection teardown access 2026-08-31 11:23:46 +08:00
guard release(dsh): 0.1.2-alpha.2 2026-08-30 21:19:29 +08:00
hooks release(dsh): 0.1.2-alpha.2 2026-08-30 21:19:29 +08:00
host release(dsh): 0.1.2-alpha.2 2026-08-30 21:19:29 +08:00
identity release(dsh): 0.1.2-alpha.2 2026-08-30 21:19:29 +08:00
interaction release(dsh): 0.1.2-alpha.2 2026-08-30 21:19:29 +08:00
jobs release(dsh): 0.1.2-alpha.2 2026-08-30 21:19:29 +08:00
llm refactor(session)!: remove SQLite persistence backend 2026-08-31 13:23:07 +08:00
lsp release(dsh): 0.1.2-alpha.2 2026-08-30 21:19:29 +08:00
mcp release(dsh): 0.1.2-alpha.2 2026-08-30 21:19:29 +08:00
plan release(dsh): 0.1.2-alpha.2 2026-08-30 21:19:29 +08:00
preset release(dsh): 0.1.2-alpha.2 2026-08-30 21:19:29 +08:00
runtime-diagnostics refactor(bundle): remove the agent spine demo 2026-08-31 11:23:30 +08:00
sandbox release(dsh): 0.1.2-alpha.2 2026-08-30 21:19:29 +08:00
schedule release(dsh): 0.1.2-alpha.2 2026-08-30 21:19:29 +08:00
sdk test(sdk): mount session projections in loop fixtures 2026-08-31 11:23:46 +08:00
session refactor(session)!: remove SQLite persistence backend 2026-08-31 13:23:07 +08:00
session-query refactor(session)!: remove SQLite persistence backend 2026-08-31 13:23:07 +08:00
settings release(dsh): 0.1.2-alpha.2 2026-08-30 21:19:29 +08:00
shell release(dsh): 0.1.2-alpha.2 2026-08-30 21:19:29 +08:00
skill refactor(session)!: remove SQLite persistence backend 2026-08-31 13:23:07 +08:00
spill release(dsh): 0.1.2-alpha.2 2026-08-30 21:19:29 +08:00
storage refactor(session)!: remove SQLite persistence backend 2026-08-31 13:23:07 +08:00
subagent test(loader): budget production profile startup 2026-08-31 11:23:46 +08:00
subprocess release(dsh): 0.1.2-alpha.2 2026-08-30 21:19:29 +08:00
terminal release(dsh): 0.1.2-alpha.2 2026-08-30 21:19:29 +08:00
test-support refactor(session)!: remove SQLite persistence backend 2026-08-31 13:23:07 +08:00
todo release(dsh): 0.1.2-alpha.2 2026-08-30 21:19:29 +08:00
typert release(dsh): 0.1.2-alpha.2 2026-08-30 21:19:29 +08:00
util release(dsh): 0.1.2-alpha.2 2026-08-30 21:19:29 +08:00
web release(dsh): 0.1.2-alpha.2 2026-08-30 21:19:29 +08:00
webhook release(dsh): 0.1.2-alpha.2 2026-08-30 21:19:29 +08:00
workflow release(dsh): 0.1.2-alpha.2 2026-08-30 21:19:29 +08:00
workspace release(dsh): 0.1.2-alpha.2 2026-08-30 21:19:29 +08:00
AGENTS.md docs(testing): state the concurrent execution model where tests are written 2026-08-29 15:31:12 +08:00
CLAUDE.md
README.i18n.yaml refactor(bundle): remove the agent spine demo 2026-08-31 11:23:30 +08:00
README.md refactor(bundle): remove the agent spine demo 2026-08-31 11:23:30 +08:00
README.zh.md refactor(bundle): remove the agent spine demo 2026-08-31 11:23:30 +08:00

description kind
The DeepSeek Harness package workspace: how the npm packages under packages/ are grouped, what each group owns, and the conventions that bind them. package-group

Packages

English | 中文

Summary

The harness is assembled from npm packages under packages/, grouped by capability family: sessions and the agent loop, model-facing tools, shell and filesystem execution, web access, subagents, and the rest. Use this page as the top-level map: find the owning group, then open its README for the package list. Every package is scoped @deepseek-ai/dsh-* and lives in exactly one group; each group README is the authoritative package map for its family.

Table of Contents


Package groups

Every package lives in exactly one group; new packages join existing groups, and a new group updates its own README and this table.

Group Role
core/ Product API spine: sessions, prompts, tools, agent services, and the concrete loop
api/ Remote BFF assembly and Typert RPC gateway
typert/ Type graph generation, artifact loading, and runtime registry
goal/ Same-session goal persistence and lifecycle
schedule/ Session-local scheduled follow-ups
feedback/ Human feedback capture and command
identity/ Shared anonymous identity
llm/ LLM capability family: abstract service + provider adapters
e2b/ E2B remote-runtime providers
subprocess/ Subprocess capability family: Service Definition + local process-tree provider
shell/ Bash capability family: executor seam, local impl, model-facing tools
terminal/ Persistent PTY capability family: owner-scoped sessions, local implementation, model-facing tools
code-runtime/ Code-execution capability family: Service Definition + worker-thread provider + PTC mode Consumer
sandbox/ Process-confinement seam; bwrap/Landlock/Seatbelt backends
fs/ Filesystem capability family: seam, local impl, model-facing file tools, discovery tools
lsp/ LSP capability family: seam, generic stdio provider, and the lsp tool
skill/ Skill capability family: provider registry, local provider, model-facing catalog/loader
compaction/ Compaction capability family: Service Definition + basic provider + command Consumer
context/ Model-visible request context: workspace instructions, time context, references
subagent/ Subagent capability family: provider-registry contract and model-facing delegation tools
jobs/ Generic background-job runtime and model-facing job control tools
experimental/ Private prototypes and internal-only plugins
workflow/ Workflow seam, worker-thread engine, and model-facing workflow/ralph tools
webhook/ Verified external events, trusted rules, and fire-and-forget Workspace Sessions
web/ Web capability family: seam, search/fetch providers, model-facing web tools
attachment/ Durable attachment identity, validation, local content-addressed storage
spill/ Spill capability family: storage seam, local impl, tool-result spill policy
todo/ The model-facing todo_write tool
plan/ Plan collaboration state with a direct entry command and reviewed exit
preset/ Per-session agent composition from preset cordis.yml files
guard/ Loop-hygiene guards: advisory repeat-call reminders + the tools/execute deadline enforcer
bundle/ Installable dsh --profile patch layers
extensions/ Agent runtime self-modification: live plugin/service inspection and model-written mount/unmount
hooks/ Hook bridges + the shared Claude Code / Codex wire-protocol library
session/ Durable session data plane: persistence seam + backends, projection seam, log-backed titles, session reporting
session-query/ Session retrieval family: logical corpus, bounded reads, lineage, semantic filtering, SQLite full-text search
settings/ User-settings seam + file-backed provider
credentials/ Credential-reference and credential-record seam + env-over-.env provider + authorization flows that ask a human
storage/ Non-session storage hub + backends + domain form
workspace/ Workspace entity
sdk/ Out-of-process SDK: JSON-RPC protocol and TypeScript client/server
acp/ Automation-only Agent Client Protocol server
interaction/ Human-collaboration plane: approval/interaction seams, permission preset, commands, ask-user tool
boot/ Shared app-bin boot glue
host/ Web-GUI host half: API gateway + HTTP route server
client/ Web-GUI browser half: shell, wire, object services, slots, ui-* plugins
test-support/ Support infrastructure (testkits, invariants, replay, Loader smokes)
runtime-diagnostics/ Runtime diagnostics: package-owned invariant checks and reports
util/ Low-level zero-dependency utilities shared across groups (Branded<B>, home/path helpers, timeout, retention)

Release expectations

Most groups are product — stable API. The exceptions: e2b/ is a POC, experimental/ is unreleased, and test-support/, runtime-diagnostics/, and util/ are support with lower compatibility expectations.


Dependencies

The dependency graph is generated: docs/module-graph.md (pnpm run gen-module-graph, freshness-gated in CI).

Extension plugins depend on Service Definitions, never concrete providers. dsh-agent-loop is swappable; UI, hook, and tool plugins use dsh-agent. Composition bundles may depend on spine plugins. Capabilities separate Service Definition / Service Provider / Consumer roles when they evolve independently; see capability seams.


Package README contracts

Every package README covers purpose, configuration, extension points, and Model Experience unless the model-agnostic omission allowlist exempts it. It also carries ## Known Limitations and Deferred Work or uses its allowlist. Package conventions — exports, service access, invariants, tests — live in packages/AGENTS.md.


Dev Note

Working context for maintainers — click to expand

None.