deepseek-harness/packages
creatixchu 7c38fd8102 fix: deliver images reliably with steer and follow-up messages
A steer or follow-up accepted while a turn is closing is now claimed by a
fresh turn at the driver's clean exit instead of stranding in the inbox;
cancellation and pre-step rejection still park accepted work. Continuable
subagent follow-ups accept image parts: the wire is upload-shaped, the Host
admits and persists each batch before inbox acceptance, and delivery is
refused when the child model declines image input. The queue dock renders
durable image thumbnails instead of an [image] text marker.

Fixes #3186
2026-08-27 15:30:35 +08:00
..
acp Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2731 2026-08-26 10:35:38 +08:00
api fix: deliver images reliably with steer and follow-up messages 2026-08-27 15:30:35 +08:00
attachment fix: deliver images reliably with steer and follow-up messages 2026-08-27 15:30:35 +08:00
boot fix(profile): deduplicate fallback manifest traversal 2026-08-26 00:15:18 +08:00
bundle Merge remote-tracking branch 'origin/master' into worktree/feedback-otel-enable 2026-08-27 11:19:57 +08:00
client fix: deliver images reliably with steer and follow-up messages 2026-08-27 15:30:35 +08:00
code-runtime docs: rebuild the documentation skill and standards (#2983) 2026-08-25 23:47:20 +08:00
compaction Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2731 2026-08-26 10:35:38 +08:00
context Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2731 2026-08-26 11:40:56 +08:00
core fix: deliver images reliably with steer and follow-up messages 2026-08-27 15:30:35 +08:00
credentials feat(api): serve settings through Remote controllers 2026-08-27 03:00:49 +08:00
e2b docs: rebuild the documentation skill and standards (#2983) 2026-08-25 23:47:20 +08:00
examples Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2731 2026-08-26 10:35:38 +08:00
experimental fix(webworker): scope createRequire dependency discovery 2026-08-26 15:09:49 +08:00
extensions fix: deliver images reliably with steer and follow-up messages 2026-08-27 15:30:35 +08:00
feedback Merge remote-tracking branch 'origin/master' into worktree/feedback-otel-enable 2026-08-26 10:06:55 +08:00
fs Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2731 2026-08-26 10:35:38 +08:00
goal Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2731 2026-08-26 10:35:38 +08:00
guard Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2731 2026-08-26 10:35:38 +08:00
hooks Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2731 2026-08-26 10:35:38 +08:00
host style(apiproxy): remove stale spacing 2026-08-27 03:08:53 +08:00
identity docs: rebuild the documentation skill and standards (#2983) 2026-08-25 23:47:20 +08:00
interaction Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2731 2026-08-26 10:35:38 +08:00
jobs Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2731 2026-08-26 10:35:38 +08:00
llm fix: deliver images reliably with steer and follow-up messages 2026-08-27 15:30:35 +08:00
lsp docs: rebuild the documentation skill and standards (#2983) 2026-08-25 23:47:20 +08:00
mcp Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2731 2026-08-26 10:35:38 +08:00
plan Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2731 2026-08-26 10:35:38 +08:00
preset fix(agent-presets): answer health from the walk alone, and keep the reason reachable 2026-08-26 14:42:39 +08:00
runtime-diagnostics docs: rebuild the documentation skill and standards (#2983) 2026-08-25 23:47:20 +08:00
sandbox Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2731 2026-08-26 10:35:38 +08:00
schedule Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2731 2026-08-26 10:35:38 +08:00
sdk docs: rebuild the documentation skill and standards (#2983) 2026-08-25 23:47:20 +08:00
session Merge pull request #3110 from deepseek-harness/worktree/fix-question-drafts-session-switch 2026-08-26 16:10:37 +08:00
session-query Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2731 2026-08-26 10:35:38 +08:00
settings feat(api): serve settings through Remote controllers 2026-08-27 03:00:49 +08:00
shell Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2731 2026-08-26 10:35:38 +08:00
skill Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2731 2026-08-26 10:35:38 +08:00
spill Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2731 2026-08-26 10:35:38 +08:00
storage docs: rebuild the documentation skill and standards (#2983) 2026-08-25 23:47:20 +08:00
subagent fix: deliver images reliably with steer and follow-up messages 2026-08-27 15:30:35 +08:00
subprocess docs: rebuild the documentation skill and standards (#2983) 2026-08-25 23:47:20 +08:00
terminal Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2731 2026-08-26 10:35:38 +08:00
test-support refactor(client): use settings Remote namespaces 2026-08-27 03:01:02 +08:00
todo Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2731 2026-08-26 10:35:38 +08:00
typert perf(typert): skip re-verified diagnostics and share analyzer caches in the tsdown plugin 2026-08-26 12:35:04 +08:00
util Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2731 2026-08-26 10:35:38 +08:00
web Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2731 2026-08-26 10:35:38 +08:00
webhook docs: rebuild the documentation skill and standards (#2983) 2026-08-25 23:47:20 +08:00
workflow test: unify the last Windows spawn budgets to the 90s pattern 2026-08-26 17:43:57 +08:00
workspace docs: rebuild the documentation skill and standards (#2983) 2026-08-25 23:47:20 +08:00
AGENTS.md Merge origin/master into worktree/gate-package-subsystem-pages 2026-08-23 15:47:32 +08:00
CLAUDE.md
README.i18n.yaml docs: rebuild the documentation skill and standards (#2983) 2026-08-25 23:47:20 +08:00
README.md docs: rebuild the documentation skill and standards (#2983) 2026-08-25 23:47:20 +08:00
README.zh.md docs: rebuild the documentation skill and standards (#2983) 2026-08-25 23:47:20 +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 + Code 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
examples/ Reusable composition bundles for tests and custom deployments
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 examples/, 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, including dsh-agent-spine-demo, 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.