DSHarness 系统拆解 固定基线 47f943859b · 36 已复核 / 0 撰写中 / 36 章
English
导论·第 03 章

219 个包的模块地图

包组、角色、依赖方向与运行时位置

已复核上游 47f943859b范围: 枚举全部 workspace 包并按定义、提供者、消费者、界面和支撑设施分类。

结论:219 个包组成能力闭包,而非 219 个平级模块

固定基线的 packages/ 树包含 49 个 group、219 个 npm workspace。真正有意义的分析单位通常不是单个目录,而是一项能力的完整闭包:Service Definition、一个或多个 provider、模型/host consumer、bundle row、durable projection、UI renderer,以及 invariant 或 composition test。

下方地图保留每一个 package,而不是只选显眼的 runtime code。它用于回答:能力在哪里声明,谁实现和消费它,直接依赖哪些内部包,后续哪一章会验证真实控制流。

1. 清单如何生成

可复现产物

scripts/capture-package-inventory.mjs 首先拒绝 HEAD 不等于固定 commit 的上游 checkout;随后遍历每个 packages/<group>/<leaf>/package.json,对 group/leaf 排序,并记录 manifest identity、描述、发布标记、内部 dsh dependency、TypeScript/TSX 源码与测试数、README、invariant、bundle patch 和 dsh metadata。

采集字段可以证明什么不能证明什么
Manifest name / description基线时上游声明的 package identity 与意图每句话都覆盖当前 runtime 的所有分支
dependencies + peerDependencies指向其他 dsh package 的直接声明边动态 plugin reference、event coupling 或反向 consumer
Source / test file countsrctests 下文件的确定性清单复杂度、质量、覆盖率或运行时权重
private flagManifest 是否禁止发布对应 npm 版本是否真的已经发布
README / invariant / patch flag这些仓库产物是否存在未经后续源码核查的语义正确性

2. 固定基线的精确总数

指标数量含义
Package group49以 ownership 为主的目录族,不是运行时层
Workspace package219两层 package 树下的全部 manifest
TS / TSX source file1,324Package src/ 目录内的文件
TS / TSX test file854Package tests/ 目录内的文件
src/invariant.ts 的 package219Package-owned invariant 约定在结构上完全覆盖
带 README 的 package219每个 package 都有本地文档入口
cordis.patch.yml 的 package3Base、headless、Web 三个产品 bundle 拥有 patch
Manifest 标为 private: true0结构上都可发布;实际 npm release 不在本清单证明范围内
依赖其他内部 dsh package218只有 invariant registry 没有直接 dsh-package dependency

3. 六个研究平面

产品骨架

corellmsessioncontextcompaction 决定模型请求如何组装、执行、记录,并在压力下缩减。

执行世界

subprocessshellterminalfssandboxcode-runtimelspwebe2b 把工具落到本地或远程环境。

协作与编排

interactionplangoaltodojobssubagentworkflowskillmcp 拥有人机和 Agent 间协作状态。

组合与数据

bootbundlepresetsettingscredentialsstorageworkspaceattachment 决定插件树和非 session 数据归属。

产品 surface

apitypertsdkacphostclient 把同一 runtime 暴露给浏览器、stdio JSON-RPC、SDK 和自动化协议。

证明与支撑

runtime-diagnosticstest-supportguardsession-queryfeedbackutilexamples 提供 invariant、真实装配、诊断和底层原语。

4. Package 数量集中在哪里

Group包数源码文件测试文件这种集中意味着什么
client39501244浏览器 surface 被拆成 host bridge、conversation node、renderer、setting 和 feature plugin,而非一个 SPA 大包
session134533Persistence、query、projection cache、telemetry、title、form 与 domain data 是 event model 的不同 consumer
subagent114643同一 seam 支撑多个 backend,并通过不同 tool 与 host service 暴露 orchestration
shell92721Definition、executor、local/PowerShell provider、policy、prompt 与 tool consumer 被刻意拆开
core84460相较 extension 与 UI surface,中央 runtime 仍是一条较小的 definition/driver spine
host86534服务端产品功能位于 Agent service 上方,而不是进入 Loop
设计评价

Package 数量更多反映独立演进角色,而非算法复杂度。39 包的 client group 主导文件量,core group 只有 8 包却承载执行骨架;这支持“产品行为和呈现围绕稳定 Loop 挂接”的目标,同时也让 package discovery 与生成式地图成为必需品。

5. 依赖方向:按能力闭包阅读

官方 package 策略

Extension plugin 依赖 Service Definition,而不是具体 provider;UI、hook 与 tool package 消费抽象 Agent service,不导入默认 Agent Loop;definition、provider 与 consumer 只有在独立演进时才拆包。PKG-HIERARCHY

追踪任意功能时,按下列顺序核查:

1

找 Definition

定位 service key、公共 interface、event map、config schema 和 branded identity。

2

枚举 Provider

不要停在默认实现;分别检查 local、remote、platform-specific、replay 与 test provider。

3

枚举 Consumer

Model tool、host RPC、UI plugin、workflow engine 和其他 service 可能消费同一 definition 的不同部分。

4

找 Composition

确认哪个 bundle 或 Agent preset 在什么 scope 挂载各角色。

5

找 Durable/UI Projection

追踪让结果可观测的 event、persistence、replay 与 renderer。

6

找 Proof

阅读 package invariant、HMR disposal test、production composition test 与 keyless transcript snapshot。

机制推导

直接 dependency graph 必要但不充分。Event declaration merging、按 key 查 service、配置 row 与动态 registration 会产生普通 import 看不到的边;因此本地图展示声明的内部依赖,后续章节再从 producer、consumer 与 commit point 重建语义图。

6. 为什么 219 个包都有 invariant companion

仓库策略

每个 package 都拥有 ./invariant。有 runtime relationship 的包注册 event/data check;没有可检查关系的包必须给出 package-specific 说明;registry contribution 还需证明 owner fiber unmount 后正确撤销。PKG-INVARIANTSDESIGN-INVARIANT-REGISTRY

设计评价

该约定回应了插件架构的特定弱点:局部 typecheck 不能证明完整插件树拥有一致 provider、identity、event order 和 projection。收益是带 package 归属的运行时证据;代价是 219 个 companion entry point 必须持续表达真正的 owned relationship,不能退化成存在性检查。

7. 固定基线的完整 package 清单

展开任意 group。每一行都链接到固定 commit 上的对应 package,并展示 manifest 描述、直接内部 dsh dependency、源码/测试文件数、发布标记和 bundle-patch 标记;dependency name 也直接链接到目标 package,使表格成为可导航的声明依赖图,而不是平面目录。

49package groups
219workspace packages
1324TS / TSX 源文件
854测试文件
219带 invariant 的包
3带 bundle patch 的包
acp1 包 · 3 源文件 · 8 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
acp@deepseek-ai/dsh-acp Automation-only Agent Client Protocol server for driving DeepSeek Harness agents over JSON-RPC stdioagent invariants session user-approval38manifest 非 private
api2 包 · 10 源文件 · 4 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
gateway@deepseek-ai/dsh-api-gateway Typert Remote Host dispatcher and Client API endpointclient-connection invariants typert-protocol typert-registry42manifest 非 private
remotes@deepseek-ai/dsh-api-remotes Remote BFF assembly and Host Agent/Session lookup policyagent agent-presets api-gateway commands cordis-host-runner credentials goal host-plugin-inventory invariants llm message-feedback session session-persistence settings typert-protocol typert-registry62manifest 非 private
attachment2 包 · 9 源文件 · 3 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
attachment@deepseek-ai/dsh-attachment Durable immutable attachment storage seam for the DeepSeek Harnessbrand invariants50manifest 非 private
attachment-local@deepseek-ai/dsh-attachment-local Private content-addressed DSH_HOME attachment storageattachment home-paths invariants43manifest 非 private
boot2 包 · 5 源文件 · 7 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
app-boot@deepseek-ai/dsh-app-boot Shared boot glue for the app bins: .env loading, fail-loud Loader guards, snapshot-aware config resolution, and the Loader boot sequencehome-paths invariants launch-environment system-prompt36manifest 非 private
cmdline@deepseek-ai/dsh-cmdline Immutable command-line handoff from a dsh launcher to any app plugin that injects cmdlineArgsinvariants21manifest 非 private
bundle3 包 · 8 源文件 · 6 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
base@deepseek-ai/dsh-base The shared dsh core as a profile bundle: every profile's first patch layer, inserting the base plugin rows over the empty profile rootagent agent-default-model agent-instructions agent-loop api-gateway attachment-local bash-sandbox command-compact command-feedback command-goal commands compaction-basic compaction-tool-result-pruner credentials-local fs-local fs-observation-policy fs-sandbox goal goal-round-driver invariants jobs-local llm llm-deepseek llm-pi-ai llm-retry permission-presets plan-mode pwsh-sandbox repeat-tool-reminder sandbox-local sandbox-policy session session-checkpoint-policy session-persistence-jsonl session-projection session-query-sqlite session-telemetry-otel session-title session-title-first-prompt-llm settings-file shell-env skill skill-badge skill-filesystem spill-local spill-policy subagent subagent-fork-in-process subagent-spawn-in-process subprocess-local system-prompt token-meter tool-bash tool-call-timeout-policy tool-fs tool-fs-search tool-goal tool-jobs tool-pwsh tool-ralph tool-skill tool-str-replace-editor tool-subagent tool-subagent-control tool-subagent-report tool-todo tool-web tool-workflow tools typert-loader typert-registry user-approval user-questions web web-search-deepseek workflow-worker-thread21bundle patch · manifest 非 private
headless@deepseek-ai/dsh-headless The dsh one-shot bundle: a direct core Agent/Session runner over dsh-base with no Host, HTTP, or browser layeragent agent-default-model cmdline code-runtime-worker-thread invariants llm session32bundle patch · manifest 非 private
web-app@deepseek-ai/dsh-web-app The dsh browser-surface bundle: the web patch layer over dsh-base plus the runtime glue plugin (frontend dist serving, web-surface prompt, bash runtime variables, URL line)agent-presets api-remotes app-boot client-connection client-hmr client-locale client-modules client-runtime client-ui-agent-preset client-ui-commands client-ui-conversation client-ui-cordis client-ui-deliverables client-ui-directory-picker-browse client-ui-directory-picker-native client-ui-goal client-ui-input-trigger client-ui-jobs client-ui-layout client-ui-message-feedback client-ui-model-selection client-ui-permission-presets client-ui-plan client-ui-settings client-ui-settings-general client-ui-settings-models client-ui-settings-plugin-inventory client-ui-settings-plugins client-ui-sidebar client-ui-skill client-ui-subagent client-ui-theme client-ui-tool client-ui-trajectory client-ui-user-questions client-ui-workflow-run client-ui-workspace cmdline code-runtime-worker-thread cordis-client-runner cordis-host-runner host-apiproxy host-directory-picker-auto host-directory-picker-browse host-directory-picker-native host-frontend-static host-plugin-inventory host-webserver invariants message-feedback session-log-export session-projection-cache session-stats shell-env storage storage-domain storage-json system-prompt web-frontend workspace33bundle patch · manifest 非 private
client39 包 · 501 源文件 · 244 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
connection@deepseek-ai/dsh-client-connection Wire consumer layer: HTTP-up/WebSocket-down client, ConnectionController dual streams with reconnect, and fixture apiattachment commands host-apiproxy host-webserver invariants llm session tools1611manifest 非 private
hmr@deepseek-ai/dsh-client-hmr Dev-only hot-reload driver for script-loaded client entries: SSE rebuilt frames → invalidate/prefetch → fiber swap through the vendored Loader entryclient-modules host-webserver invariants41manifest 非 private
locale@deepseek-ai/dsh-client-locale Locale plugin: Host-backed zh/en preference, browser-derived fallback, locale snapshots, and typed namespace dictionariesapi-remotes client-connection client-runtime client-ui-primitives client-ui-settings client-ui-slots invariants settings116manifest 非 private
modules@deepseek-ai/dsh-client-modules Client module system, dual-face: node half composes the __DSH_BOOT__ entry graph (incremental dsh.client scan, bundle route, index tap, webPlugins service); browser half is the lazy-CJS module table the vendored cordis Loader consumes as its internal seaminvariants52manifest 非 private
runtime@deepseek-ai/dsh-client-runtime Client core services: SlotRegistry, SessionRuntime (scope tree + object layer)agent api-remotes attachment client-connection client-ui-slots commands host-apiproxy invariants llm llm-retry session session-projection session-title tools typert-protocol typert-registry4425manifest 非 private
schema-form@deepseek-ai/dsh-client-schema-form Schema/draft model layer for settings editors: rehydrates a serialized schemastery schema, validates drafts, and edits them immutably by pathinvariants32manifest 非 private
ui-agent-preset@deepseek-ai/dsh-client-ui-agent-preset Agent-preset surfaces: the default for later sessions, this session's seat, and the composition editorapi-remotes client-connection client-locale client-runtime client-ui-conversation client-ui-primitives client-ui-settings client-ui-slots client-web-react invariants137manifest 非 private
ui-attachment@deepseek-ai/dsh-client-ui-attachment Pure React attachment atoms for the dsh web UI: draft-image rail, message image gallery, and original-image lightbox (zero cordis)attachment client-ui-primitives invariants75manifest 非 private
ui-commands@deepseek-ai/dsh-client-ui-commands Client command surface: global directory cache, '/' source, three command UI kinds, popupSelect registryapi-remotes client-locale client-runtime client-ui-conversation client-ui-input-trigger client-ui-primitives client-ui-slots commands invariants105manifest 非 private
ui-conversation@deepseek-ai/dsh-client-ui-conversation Conversation domain: skeleton, ordered chat flow, composer with the Host-backed busy-Enter preference, and details hostagent api-remotes attachment brand client-connection client-locale client-runtime client-ui-attachment client-ui-input-trigger client-ui-primitives client-ui-settings client-ui-slots commands compaction invariants llm-retry session-stats settings token-meter tools7028manifest 非 private
ui-deliverables@deepseek-ai/dsh-client-ui-deliverables Produced-files turn tail and clickable final-response file references for Webclient-connection client-locale client-runtime client-ui-conversation client-ui-slots invariants system-prompt72manifest 非 private
ui-directory-picker-browse@deepseek-ai/dsh-client-ui-directory-picker-browse In-app directory browsing surface: the workspace directory-flow owner rendering the host's listing and creation primitivesclient-locale client-runtime client-ui-primitives client-ui-slots client-ui-workspace invariants62manifest 非 private
ui-directory-picker-native@deepseek-ai/dsh-client-ui-directory-picker-native Native directory-picker surface: the renderless workspace directory-flow occupant driving the host's OS chooserclient-runtime client-ui-slots client-ui-workspace invariants41manifest 非 private
ui-goal@deepseek-ai/dsh-client-ui-goal Session goal surface: GoalBar docked above the composer, read from the goal session projectionapi-remotes client-locale client-runtime client-ui-conversation client-ui-primitives client-ui-slots commands goal invariants93manifest 非 private
ui-input-trigger@deepseek-ai/dsh-client-ui-input-trigger Input trigger pipeline: '/' and '@' detection, candidate menu, pick routing to registered sourcesclient-locale client-runtime client-ui-primitives client-ui-slots invariants145manifest 非 private
ui-jobs@deepseek-ai/dsh-client-ui-jobs Session-header background-job list: live registry state mirrored from session/jobs framesclient-locale client-runtime client-ui-conversation client-ui-primitives client-ui-slots invariants62manifest 非 private
ui-layout@deepseek-ai/dsh-client-ui-layout Shell plugin: three-column AppFrame with drag handles, ctx.layout viewing-state service (navigation + panels)client-runtime client-ui-slots client-ui-theme invariants96manifest 非 private
ui-message-feedback@deepseek-ai/dsh-client-ui-message-feedback Per-message feedback controls contributed to the assistant-message action strip, backed by the messageFeedback Host Remoteapi-remotes client-connection client-locale client-runtime client-ui-conversation client-ui-primitives client-ui-slots invariants message-feedback typert-protocol83manifest 非 private
ui-model-selection@deepseek-ai/dsh-client-ui-model-selection Model selection: the /model popupSelect over session.models / session.selectModelapi-remotes client-connection client-locale client-runtime client-ui-commands client-ui-conversation client-ui-input-trigger client-ui-primitives client-ui-slots invariants92manifest 非 private
ui-permission-presets@deepseek-ai/dsh-client-ui-permission-presets Permission surfaces: a new-session default in General settings and a current-session /permission popup over the permissions projectionapi-remotes client-connection client-locale client-runtime client-schema-form client-ui-commands client-ui-input-trigger client-ui-primitives client-ui-settings client-ui-slots invariants permission-presets83manifest 非 private
ui-plan@deepseek-ai/dsh-client-ui-plan Plan-mode composer control: the conversation.input.plan seat over the plan projection and the /plan command channelapi-remotes client-locale client-runtime client-ui-conversation client-ui-primitives client-ui-slots invariants plan-mode62manifest 非 private
ui-primitives@deepseek-ai/dsh-client-ui-primitives Pure React atoms for the dsh web UI: controls, icons, markdown, and JSON inspectors (zero cordis)invariants4421manifest 非 private
ui-settings@deepseek-ai/dsh-client-ui-settings Settings domain base plugin: the settings-namespace scope service and the canonical settings slot-type contractapi-remotes client-connection client-runtime client-schema-form client-ui-slots invariants settings63manifest 非 private
ui-settings-general@deepseek-ai/dsh-client-ui-settings-general Settings ownerless-copy and product onboarding plugin: the General section, shell trigger/header chrome content, settings dictionaries, and the versioned welcome noticeapi-remotes client-connection client-locale client-runtime client-ui-primitives client-ui-settings client-ui-sidebar client-ui-slots client-web-react invariants settings117manifest 非 private
ui-settings-models@deepseek-ai/dsh-client-ui-settings-models Models settings and shared product-onboarding dialogs over existing settings and credential joinsapi-remotes client-connection client-runtime client-schema-form client-ui-primitives client-ui-slots client-web-react invariants1810manifest 非 private
ui-settings-plugin-inventory@deepseek-ai/dsh-client-ui-settings-plugin-inventory Read-only Cordis Loader inventory tab in Web Plugins settingsapi-remotes client-locale client-runtime client-ui-primitives client-ui-settings client-ui-slots invariants63manifest 非 private
ui-settings-plugins@deepseek-ai/dsh-client-ui-settings-plugins Plugins settings section with feature-owned tabs and configurable host-plane plugin cardsapi-remotes client-connection client-locale client-runtime client-ui-primitives client-ui-settings client-ui-slots client-web-react invariants175manifest 非 private
ui-sidebar@deepseek-ai/dsh-client-ui-sidebar Sidebar plugin: session multi-level tree, search, grouping, state dotsclient-locale client-runtime client-ui-primitives client-ui-slots invariants77manifest 非 private
ui-skill@deepseek-ai/dsh-client-ui-skill Web skill references and the dedicated skill tool rowapi-remotes client-connection client-locale client-runtime client-ui-input-trigger client-ui-primitives client-ui-slots client-ui-tool invariants62manifest 非 private
ui-slots@deepseek-ai/dsh-client-ui-slots Slot registry pure core: SlotMap declaration merging, single register composition API, four-share props types, store-seat types, renderer install seaminvariants44manifest 非 private
ui-subagent@deepseek-ai/dsh-client-ui-subagent Subagent conversation catalog, continuation routing UI, and '@' reference sourceclient-locale client-runtime client-ui-conversation client-ui-input-trigger client-ui-primitives client-ui-slots invariants subagent token-meter72manifest 非 private
ui-theme@deepseek-ai/dsh-client-ui-theme Theme plugin: Host bootstrap for the pre-plugin palette; DOM-free ThemeRuntime for light/dark/system state; --dsw-* token styles and Appearance settings rowapi-remotes client-connection client-locale client-runtime client-ui-primitives client-ui-settings client-ui-slots host-webserver invariants settings98manifest 非 private
ui-tool@deepseek-ai/dsh-client-ui-tool Client Tool call-tree renderer and keyed per-tool presentation slotapi-remotes client-locale client-runtime client-ui-conversation client-ui-primitives client-ui-slots invariants2516manifest 非 private
ui-trajectory@deepseek-ai/dsh-client-ui-trajectory Trajectory event ledger with an interactive timing overview: pure-consumer plugin registering into the conversation ViewMap (no service)agent client-locale client-runtime client-ui-primitives compaction invariants tools288manifest 非 private
ui-user-questions@deepseek-ai/dsh-client-ui-user-questions Web ask_user_question feature: host tool mount plus composer-takeover question UIapi-remotes client-connection client-locale client-runtime client-ui-conversation client-ui-primitives client-ui-slots invariants84manifest 非 private
ui-workflow-run@deepseek-ai/dsh-client-ui-workflow-run Durable workflow-run Conversation Node and nested member disclosure for dsh webclient-locale client-runtime client-ui-conversation client-ui-primitives client-ui-slots invariants session tool-workflow workflow71manifest 非 private
ui-workspace@deepseek-ai/dsh-client-ui-workspace Workspace picker plugin: one WorkspacePicker registered into the sidebar and empty-state workspace slotsclient-locale client-runtime client-ui-primitives client-ui-slots invariants118manifest 非 private
web@deepseek-ai/dsh-client-web Web shell kernel: bootWebShell (module system holding + seed table + two-stage boot + AppRoot gate + app-shell assembly entry), consumed by the apps/web vite entryclient-modules client-schema-form client-ui-attachment client-ui-primitives client-ui-slots client-ui-theme client-web-react invariants115manifest 非 private
web-react@deepseek-ai/dsh-client-web-react Shell-side React glue: createSlotRenderer, SessionProvider, bindSnapshotSelector (uSES bridge), useInvokeclient-ui-slots invariants77manifest 非 private
code-runtime2 包 · 10 源文件 · 8 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
code-runtime@deepseek-ai/dsh-code-runtime Abstract code-execution seam (ctx.codeRuntime) for the DeepSeek Harnessinvariants32manifest 非 private
code-runtime-worker-thread@deepseek-ai/dsh-code-runtime-worker-thread Worker-thread implementation of the DeepSeek Harness code-execution seamcode-runtime invariants session timeout76manifest 非 private
compaction4 包 · 18 源文件 · 12 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
command-compact@deepseek-ai/dsh-command-compact Human-facing slash command for explicit session compactioncommands compaction invariants23manifest 非 private
compaction@deepseek-ai/dsh-compaction Abstract compaction service seam (ctx.compaction) for the DeepSeek Harnessbrand commands invariants llm session63manifest 非 private
compaction-basic@deepseek-ai/dsh-compaction-basic Token-meter-driven compaction policy and LLM summarization backend for the DeepSeek Harnessagent commands compaction compaction-tool-result-pruner invariants llm session token-meter64manifest 非 private
compaction-tool-result-pruner@deepseek-ai/dsh-compaction-tool-result-pruner Replay-safe model-free head/middle/tail pruning for tool-result surface nodescompaction invariants llm session token-meter42manifest 非 private
context4 包 · 20 源文件 · 8 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
agent-instructions@deepseek-ai/dsh-agent-instructions Workspace context loader for AGENTS.md/CLAUDE.md instruction filesagent fs home-paths invariants llm session tools72manifest 非 private
session-reference@deepseek-ai/dsh-session-reference Cross-session snapshot references and durable untrusted model context (ctx.sessionReferenceResolver)agent compaction invariants llm output-retention session session-query71manifest 非 private
time-context@deepseek-ai/dsh-time-context Opt-in durable per-step context with the current time and elapsed timeagent invariants session44manifest 非 private
tmux-context@deepseek-ai/dsh-tmux-context Opt-in durable per-step context with this agent's tmux pane and window locationagent invariants session shell21manifest 非 private
core8 包 · 44 源文件 · 60 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
agent@deepseek-ai/dsh-agent Agent interface, registry, initiator scope, and event vocabulary for the DeepSeek Harnessinvariants llm scope session system-prompt typert-protocol86manifest 非 private
agent-default-model@deepseek-ai/dsh-agent-default-model Default model selection shared by Agent entry pointsagent invariants llm settings21manifest 非 private
agent-loop@deepseek-ai/dsh-agent-loop The concrete agent loop plugin for the DeepSeek Harnessagent invariants llm scope session session-persistence settings system-prompt tools620manifest 非 private
agent-tool-presentation@deepseek-ai/dsh-agent-tool-presentation Agent-plane presentation selector: composes one agent's tools as Code Mode, native, or bothinvariants tools21manifest 非 private
scope@deepseek-ai/dsh-scope Scoped-context registration primitive (scope tags, scope-filtered event dispatch) for the DeepSeek Harnessinvariants43manifest 非 private
session@deepseek-ai/dsh-session Event-sourced session store for the DeepSeek Harnessbrand invariants llm scope typert-protocol1013manifest 非 private
system-prompt@deepseek-ai/dsh-system-prompt System prompt assembly registry for the DeepSeek Harnessinvariants llm scope24manifest 非 private
tools@deepseek-ai/dsh-tools Tool registry and execution pipeline for the DeepSeek Harnessagent code-runtime invariants llm scope session system-prompt user-approval1012manifest 非 private
credentials2 包 · 5 源文件 · 7 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
credentials@deepseek-ai/dsh-credentials Abstract credential seam (ctx.credentials): settings carry references to secrets, providers own the valuesbrand invariants33manifest 非 private
credentials-local@deepseek-ai/dsh-credentials-local File-backed credentials provider ($DSH_HOME/.env under the live process environment) for the DeepSeek Harnessatomic-write credentials home-paths invariants launch-environment24manifest 非 private
e2b3 包 · 11 源文件 · 5 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
e2b@deepseek-ai/dsh-e2b Shared E2B sandbox lifecycle for DeepSeek Harness provider adaptersinvariants22manifest 非 private
fs-e2b@deepseek-ai/dsh-fs-e2b E2B filesystem implementation for DeepSeek Harnesse2b fs invariants21manifest 非 private
subprocess-e2b@deepseek-ai/dsh-subprocess-e2b E2B subprocess implementation for DeepSeek Harnesse2b invariants subprocess timeout72manifest 非 private
examples3 包 · 10 源文件 · 6 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
acp-demo@deepseek-ai/dsh-acp-demo ACP automation server app: agent spine + JSONL persistence + ACP transport, with a JSON-RPC stdio binacp agent-instructions agent-spine-demo app-boot invariants session-checkpoint-policy session-persistence-jsonl session-query session-query-sqlite tools33manifest 非 private
agent-spine-demo@deepseek-ai/dsh-agent-spine-demo The default executor-less/UI-less agent spine with fallback session titles, provider-routed retry, and optional persisted goalsagent agent-instructions agent-loop goal goal-round-driver home-paths invariants jobs-local llm llm-retry scope session session-title shell-env skill skill-filesystem system-prompt tool-bash tool-goal tool-jobs tool-skill tools23manifest 非 private
jsonrpc-demo@deepseek-ai/dsh-sdk-jsonrpc-demo Bin that boots an external Cordis config for the stdio JSON-RPC SDK runtimeapp-boot invariants50manifest 非 private
extensions4 包 · 44 源文件 · 15 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
cordis-client-runner@deepseek-ai/dsh-cordis-client-runner Browser half of dynamic dual-half plugin packages: event subscription, closure evaluation, guard facade, and loader entriesapi-remotes client-connection client-modules client-runtime client-ui-slots client-ui-theme invariants125manifest 非 private
cordis-host-runner@deepseek-ai/dsh-cordis-host-runner Dynamic package definition registry, host-half sandbox lifecycle, and invoke handler table for model-mounted dual-half packagesagent brand invariants llm scope session tools typert-protocol86manifest 非 private
tool-cordis@deepseek-ai/dsh-tool-cordis Self-referential cordis toolset: inspect the live runtime, mount and dispose model-written pluginsagent cordis-host-runner invariants llm scope session system-prompt tools81manifest 非 private
ui-cordis@deepseek-ai/dsh-client-ui-cordis Cordis dynamic-plugin definition card: the keyed cordis_define tool row with its run/stop switchapi-remotes client-connection client-locale client-runtime client-ui-input-trigger client-ui-primitives client-ui-sidebar client-ui-slots client-ui-tool cordis-client-runner invariants163manifest 非 private
feedback2 包 · 6 源文件 · 6 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
command-feedback@deepseek-ai/dsh-command-feedback Log-only session feedback producer and human-facing slash commandanonymous-user-id commands invariants session session-telemetry22manifest 非 private
message-feedback@deepseek-ai/dsh-message-feedback Lifecycle-bound per-message rating and note sidecar for the DeepSeek Harnessbrand invariants llm session session-persistence storage-domain typert-protocol44manifest 非 private
fs7 包 · 35 源文件 · 22 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
fs@deepseek-ai/dsh-fs Abstract filesystem capability seam (ctx.fs) for the DeepSeek Harness — vocabulary types, the FileSystem service (text IO + optional version-guarded atomic mutations), and the fs/* policy event vocabularybrand invariants llm sandbox32manifest 非 private
fs-local@deepseek-ai/dsh-fs-local Local-filesystem implementation of the DeepSeek Harness filesystem seam (ctx.fs)fs invariants43manifest 非 private
fs-observation-policy@deepseek-ai/dsh-fs-observation-policy File-context policy plugin for the DeepSeek Harness — observed-state, read-before-edit, and version-guarded write/edit added over the ctx.fs provider seam through the fs/* event gate (no service API)fs invariants31manifest 非 private
fs-sandbox@deepseek-ai/dsh-fs-sandbox Sandbox-enforcing implementation of the DeepSeek Harness filesystem seam: fences write/edit by the per-call sandbox mode (read-only denies mutation, workspace-write contains it to the workspace + temp roots) while reads pass throughfs fs-local invariants sandbox sandbox-policy32manifest 非 private
tool-fs@deepseek-ai/dsh-tool-fs Model-facing filesystem tools (read, write, edit) over the DeepSeek Harness filesystem seam (ctx.fs)attachment fs invariants llm sandbox sandbox-policy session system-prompt tools user-approval128manifest 非 private
tool-fs-search@deepseek-ai/dsh-tool-fs-search Model-facing filesystem discovery tools (glob, grep) backed by the packaged ripgrep binary (@vscode/ripgrep)invariants llm output-retention session spill subprocess system-prompt timeout tools85manifest 非 private
tool-str-replace-editor@deepseek-ai/dsh-tool-str-replace-editor Model-facing view, create, literal replace, and line insert tool over the Harness filesystem servicefs invariants sandbox sandbox-policy tools21manifest 非 private
goal4 包 · 16 源文件 · 8 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
command-goal@deepseek-ai/dsh-command-goal Human-facing slash command for persisted same-session goalscommands goal invariants21manifest 非 private
goal@deepseek-ai/dsh-goal Event-sourced same-session goal state and lifecycle service for the DeepSeek Harnessagent brand invariants llm scope session session-projection typert-protocol74manifest 非 private
goal-round-driver@deepseek-ai/dsh-goal-round-driver Race-fenced same-session goal-round driveragent goal invariants llm session32manifest 非 private
tool-goal@deepseek-ai/dsh-tool-goal Model-facing same-session goal tools with execution-time authority checksagent goal invariants llm session system-prompt tools41manifest 非 private
guard2 包 · 4 源文件 · 2 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
repeat-tool-reminder@deepseek-ai/dsh-repeat-tool-reminder Repeat-tool-call guard plugin: advisory reminders when an agent loops on identical tool callsagent invariants tools21manifest 非 private
timeout-policy@deepseek-ai/dsh-tool-call-timeout-policy Tool-call timeout policy: a tools/execute wrapper that arms a per-tool deadline on exec.signal and returns TOOL_TIMEOUT when it winsinvariants llm timeout tools21manifest 非 private
hooks3 包 · 15 源文件 · 20 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
hook-protocol@deepseek-ai/dsh-hook-protocol Shared Claude Code / Codex hook wire protocol: matcher engine, stdin/exit-code/stdout codec, multi-hook merge, and hook/* session eventsinvariants session shell97manifest 非 private
hooks-claude-code@deepseek-ai/dsh-hooks-claude-code Bridge plugin: run a Claude Code hooks.json / settings hook config on the DeepSeek Harness interception seamsagent hook-protocol invariants llm session session-persistence subagent tools37manifest 非 private
hooks-codex@deepseek-ai/dsh-hooks-codex Bridge plugin: run a Codex hooks.json hook config on the DeepSeek Harness interception seamsagent hook-protocol invariants llm session session-persistence tools36manifest 非 private
host8 包 · 65 源文件 · 34 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
apiproxy@deepseek-ai/dsh-host-apiproxy API gateway: the ApiProxy contract (api/), the fetch carrier pair (fetch/), and the host-side gateway plugin providing ctx.apiProxyagent agent-default-model agent-presets api-remotes attachment brand commands cordis-host-runner credentials goal host-directory-picker invariants jobs llm native-command session session-persistence session-projection session-projection-cache session-query session-title settings skill subagent tools user-approval user-questions workspace4220manifest 非 private
directory-picker@deepseek-ai/dsh-host-directory-picker Abstract workspace-directory picking seam (ctx.directoryPicker) for the DeepSeek Harness web GUI hostinvariants21manifest 非 private
directory-picker-auto@deepseek-ai/dsh-host-directory-picker-auto Adaptive chooser of the directory-picker seam: resolves the host situation at boot and mounts the native or browse backend for the DeepSeek Harness web GUI hostclient-ui-directory-picker-browse client-ui-directory-picker-native host-directory-picker-browse host-directory-picker-native host-webserver invariants42manifest 非 private
directory-picker-browse@deepseek-ai/dsh-host-directory-picker-browse In-app browsing backend of the directory-picker seam (listing/creation primitives over the host filesystem)host-directory-picker invariants21manifest 非 private
directory-picker-native@deepseek-ai/dsh-host-directory-picker-native Native-OS-chooser backend of the directory-picker seam for the DeepSeek Harness web GUI hosthost-directory-picker invariants native-command86manifest 非 private
frontend-static@deepseek-ai/dsh-host-frontend-static SPA dist server for the Web shell: owns the webserver fallback seat, serving the built frontend with index-tap injection, traversal rejection, and SPA index fallbackhost-webserver invariants21manifest 非 private
plugin-inventory@deepseek-ai/dsh-host-plugin-inventory Read-only Remote projection of current Cordis Loader plugin statebrand invariants typert-protocol32manifest 非 private
webserver@deepseek-ai/dsh-host-webserver Web route-registration plugin: HTTP and upgrade routes, index transform taps, and static dist fallback; knows no harness conceptsinvariants21manifest 非 private
identity1 包 · 2 源文件 · 2 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
anonymous-user-id@deepseek-ai/dsh-anonymous-user-id Shared anonymous user identity for DeepSeek Harness telemetry and feedback correlationbrand home-paths invariants22manifest 非 private
interaction5 包 · 16 源文件 · 9 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
commands@deepseek-ai/dsh-commands Plugin-owned human command registry for DeepSeek Harness UIsagent brand invariants scope session typert-protocol42manifest 非 private
permission-presets@deepseek-ai/dsh-permission-presets User-facing permission presets (ctx.permissionPresets) for the DeepSeek Harness: one product-level Permissions select bundling the sandbox-mode and approval-policy knobs, written through to their own session eventscommands invariants sandbox sandbox-policy session session-projection settings shell user-approval43manifest 非 private
tool-ask-user@deepseek-ai/dsh-tool-ask-user Model-facing ask_user_question tool over the ctx.userQuestions seamagent invariants tools user-questions21manifest 非 private
user-approval@deepseek-ai/dsh-user-approval User-approval seam (ctx.approval) for the DeepSeek Harness: one-shot permission decisions dispatched to composed answerers over the approval/request waterfall, fail-closed by defaultagent brand invariants llm scope session system-prompt32manifest 非 private
user-questions@deepseek-ai/dsh-user-questions Abstract user-questions seam (ctx.userQuestions) for asking the human during agent runsagent invariants llm31manifest 非 private
jobs3 包 · 8 源文件 · 5 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
jobs@deepseek-ai/dsh-jobs Background job registry (ctx.jobs) for the DeepSeek Harness — shared ids, owner isolation, polling, cancellation, and completion listeners for long-running tool workagent brand invariants session42manifest 非 private
jobs-local@deepseek-ai/dsh-jobs-local Process-local implementation of the DeepSeek Harness background job registry seamagent invariants jobs scope timeout22manifest 非 private
tool-jobs@deepseek-ai/dsh-tool-jobs Model-facing background job control tools (job_output, job_list, job_kill) over the ctx.jobs registryagent invariants jobs llm output-retention system-prompt tools21manifest 非 private
llm5 包 · 46 源文件 · 41 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
llm@deepseek-ai/dsh-llm Provider-neutral LLM service interface for the DeepSeek Harnessattachment brand invariants timeout1411manifest 非 private
llm-deepseek@deepseek-ai/dsh-llm-deepseek DeepSeek chat-completions adapter for the DeepSeek Harness LLM seamanonymous-user-id credentials invariants launch-environment llm settings timeout79manifest 非 private
llm-pi-ai@deepseek-ai/dsh-llm-pi-ai pi-ai-backed DeepSeek adapter for the DeepSeek Harness LLM seam (design-verification twin of dsh-llm-deepseek)attachment credentials invariants launch-environment llm settings timeout1013manifest 非 private
llm-retry@deepseek-ai/dsh-llm-retry Provider-routed LLM request retry policy for the DeepSeek Harnessagent brand invariants llm session timeout55manifest 非 private
token-meter@deepseek-ai/dsh-token-meter Replay-aware token measurement service (ctx.tokenMeter) for the DeepSeek Harnesscompaction invariants llm session session-projection103manifest 非 private
lsp3 包 · 17 源文件 · 15 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
lsp@deepseek-ai/dsh-lsp Abstract LSP capability seam (ctx.lsp) for the DeepSeek Harness — language-server provider registry keyed by branded id and extension mapping, order-independent per-query selection, normalized definition/references/implementation/hover requests and results, and the LspError taxonomybrand invariants llm41manifest 非 private
lsp-stdio@deepseek-ai/dsh-lsp-stdio Generic stdio language-server provider for the DeepSeek Harness LSP capability seam (ctx.lsp) — spawns configured servers, translates JSON-RPC, and serves transient-open goToDefinition/findReferences/goToImplementation/hover queries in the host filesystem namespacebrand fs invariants llm lsp subprocess timeout910manifest 非 private
tool-lsp@deepseek-ai/dsh-tool-lsp Model-facing lsp tool over the DeepSeek Harness LSP capability seam (ctx.lsp) — one read-only tool with goToDefinition/findReferences/goToImplementation/hover operations, one-based UTF-16 cursor coordinates, bounded location rendering, and hover normalizationinvariants llm lsp system-prompt timeout tools44manifest 非 private
mcp1 包 · 5 源文件 · 6 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
mcp-client@deepseek-ai/dsh-mcp-client MCP client bridge: connects to MCP servers and registers their tools on ctx.toolsinvariants llm subprocess timeout tools56manifest 非 private
plan1 包 · 4 源文件 · 4 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
plan-mode@deepseek-ai/dsh-plan-mode Logged per-agent plan mode with deployment guidance, a direct slash command, and a user-reviewed exitagent commands invariants llm session session-projection system-prompt tools user-questions44manifest 非 private
preset2 包 · 11 源文件 · 9 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
agent-presets@deepseek-ai/dsh-agent-presets Per-session agent composition from preset cordis.yml files for the DeepSeek Harnessagent atomic-write home-paths invariants scope session settings system-prompt98manifest 非 private
persona@deepseek-ai/dsh-persona Composition-authored deployment persona section for the DeepSeek Harnessinvariants system-prompt21manifest 非 private
runtime-diagnostics1 包 · 2 源文件 · 1 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
invariants@deepseek-ai/dsh-invariants Registry service for package-owned DeepSeek Harness runtime invariants21manifest 非 private
sandbox4 包 · 22 源文件 · 25 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
sandbox@deepseek-ai/dsh-sandbox Abstract process-sandbox seam (ctx.sandbox) for the DeepSeek Harness: same-world confinement vocabulary and the SandboxProvider contractinvariants llm session43manifest 非 private
sandbox-local@deepseek-ai/dsh-sandbox-local Local process-sandbox backends for the DeepSeek Harness sandbox seam: bwrap, the npm-distributed landlock-run launcher, macOS Seatbelt, or the Windows ACL restricted-token runner — functionally probed, fail-closedinvariants llm sandbox sandbox-windows-acl session36manifest 非 private
sandbox-policy@deepseek-ai/dsh-sandbox-policy Per-call sandbox policy resolver and current model context: deployment fallbacks plus each session's mode and workspace root, shared by every enforcing capability familyagent invariants sandbox session system-prompt32manifest 非 private
sandbox-windows-acl@deepseek-ai/dsh-sandbox-windows-acl Windows ACL write-restriction sandbox backend (restricted-token spawn with capability-SID write allowlist) for the DeepSeek Harness sandbox seaminvariants1214manifest 非 private
schedule1 包 · 8 源文件 · 7 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
schedule@deepseek-ai/dsh-schedule Agent-scoped durable after, at, and fixed-rate reminders over the session event logagent brand invariants llm session session-persistence tools87manifest 非 private
sdk3 包 · 13 源文件 · 8 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
client@deepseek-ai/dsh-sdk-client TypeScript client SDK for driving a DeepSeek Harness runtime subprocess over stdio JSON-RPC: the DeepSeekHarness high-level turns API and the lower-level HarnessClientinvariants llm sdk-protocol session63manifest 非 private
protocol@deepseek-ai/dsh-sdk-protocol Shared wire protocol for the DeepSeek Harness SDK runtime: the newline-delimited JSON-RPC stdio transport and the named request, result, and notification types spoken between the runtime server and SDK clientsinvariants llm session subagent41manifest 非 private
server@deepseek-ai/dsh-sdk-jsonrpc-server Stdio JSON-RPC server plugin for out-of-process DeepSeek Harness SDK clientsagent invariants llm llm-deepseek scope sdk-protocol session subagent34manifest 非 private
session13 包 · 45 源文件 · 33 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
session-checkpoint-policy@deepseek-ai/dsh-session-checkpoint-policy Semantic session durability checkpoints before model requests and tool side effectsagent invariants llm session session-persistence tools23manifest 非 private
session-persistence@deepseek-ai/dsh-session-persistence Abstract durable session persistence seam (ctx.sessionPersistence) for the DeepSeek Harnessbrand invariants session timeout65manifest 非 private
session-persistence-jsonl@deepseek-ai/dsh-session-persistence-jsonl JSONL durable session persistence backend for the DeepSeek Harnessinvariants session session-persistence74manifest 非 private
session-persistence-sqlite@deepseek-ai/dsh-session-persistence-sqlite SQLite durable session persistence backend for the DeepSeek Harnessinvariants session session-persistence31manifest 非 private
session-projection@deepseek-ai/dsh-session-projection Session-projection seam: the merge-extensible projection type table, the provider contract, and the ctx.sessionProjections registry serving whole current values of log-derived per-session stateinvariants session31manifest 非 private
session-projection-cache@deepseek-ai/dsh-session-projection-cache Persisted projection cache (ctx.sessionProjectionCache): durable per-session projection checkpoints over the domain data form, throttled write-behind, and the cold-read ladder (cache row + persistence tail replay)invariants session session-persistence session-projection storage-domain31manifest 非 private
session-stats@deepseek-ai/dsh-session-stats Whole-log conversation counts and wall times projection (sessionStats) for the DeepSeek Harnessinvariants llm session session-projection52manifest 非 private
session-telemetry@deepseek-ai/dsh-session-telemetry SessionTelemetryBackend seam for the DeepSeek Harness: session-event capture, projection, redaction, and handoff to a reporting backendagent invariants session32manifest 非 private
session-telemetry-otel@deepseek-ai/dsh-session-telemetry-otel OpenTelemetry backend for the DeepSeek Harness telemetry seam: hands captured session records to the OTel JS SDK's log pipelineanonymous-user-id command-feedback invariants llm session session-telemetry22manifest 非 private
session-title@deepseek-ai/dsh-session-title Log-backed session title service and provider registry for the DeepSeek Harnessbrand invariants llm session session-projection57manifest 非 private
session-title-all-prompts-llm@deepseek-ai/dsh-session-title-all-prompts-llm All-user-messages LLM provider plugin for DeepSeek Harness session titlesinvariants llm session session-title session-title-llm21manifest 非 private
session-title-first-prompt-llm@deepseek-ai/dsh-session-title-first-prompt-llm First-message LLM provider plugin for DeepSeek Harness session titlesinvariants llm session session-title session-title-llm23manifest 非 private
session-title-llm@deepseek-ai/dsh-session-title-llm Shared LLM generation policy for DeepSeek Harness session-title providersinvariants llm session session-title timeout21manifest 非 private
session-query4 包 · 30 源文件 · 16 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
session-log-export@deepseek-ai/dsh-session-log-export Web Session-log export command and shared download dialogclient-locale client-runtime client-ui-commands client-ui-conversation client-ui-primitives client-ui-slots commands invariants87manifest 非 private
session-query@deepseek-ai/dsh-session-query Combined session query service contract with concrete reads, traces, and filtersbrand invariants llm session session-persistence session-title114manifest 非 private
session-query-sqlite@deepseek-ai/dsh-session-query-sqlite Concrete ctx.sessionQuery backend with SQLite FTS5 searchinvariants session session-persistence session-query43manifest 非 private
tool-session-query@deepseek-ai/dsh-tool-session-query Workspace-authorized model-facing session history search, trace, and event read toolsinvariants llm session session-query system-prompt timeout tools72manifest 非 private
settings2 包 · 6 源文件 · 9 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
settings@deepseek-ai/dsh-settings Abstract user-settings seam (ctx.settings) for the DeepSeek Harnessbrand invariants44manifest 非 private
settings-file@deepseek-ai/dsh-settings-file File-backed settings provider (settings.yaml) for the DeepSeek Harnessatomic-write home-paths invariants settings25manifest 非 private
shell9 包 · 27 源文件 · 21 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
bash-local@deepseek-ai/dsh-bash-local Local-subprocess implementation of the DeepSeek Harness bash executor seaminvariants settings shell subprocess timeout22manifest 非 private
bash-sandbox@deepseek-ai/dsh-bash-sandbox Sandbox-consuming implementation of the DeepSeek Harness bash executor seam (confines every command via ctx.sandbox, reports denial/enforcement result facts)bash-local invariants sandbox sandbox-policy shell35manifest 非 private
pwsh-local@deepseek-ai/dsh-pwsh-local Local PowerShell implementation of the DeepSeek Harness bash executor seaminvariants settings shell subprocess timeout32manifest 非 private
pwsh-sandbox@deepseek-ai/dsh-pwsh-sandbox Sandbox-consuming implementation of the DeepSeek Harness PowerShell executor seam (confines every command via ctx.sandbox, reports denial/enforcement result facts)invariants pwsh-local sandbox sandbox-policy shell32manifest 非 private
shell@deepseek-ai/dsh-shell Abstract bash executor seam (ctx.shell) for the DeepSeek Harnessinvariants sandbox settings subprocess42manifest 非 private
shell-env@deepseek-ai/dsh-shell-env Tool-independent managed DSH_* shell environment registryhome-paths invariants session-persistence shell tools21manifest 非 private
tool-bash@deepseek-ai/dsh-tool-bash Model-facing bash tool with optional generic background-job and sandbox-escalation supportagent invariants jobs llm sandbox sandbox-policy shell shell-env system-prompt tools user-approval42manifest 非 private
tool-bash-persistent@deepseek-ai/dsh-tool-bash-persistent Model-facing owner-scoped persistent Bash tool backed by the Harness PTY serviceagent invariants terminal timeout tools22manifest 非 private
tool-pwsh@deepseek-ai/dsh-tool-pwsh Model-facing pwsh tool over the bash executor seamagent invariants jobs llm sandbox sandbox-policy shell shell-env system-prompt tools user-approval43manifest 非 private
skill4 包 · 8 源文件 · 5 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
skill@deepseek-ai/dsh-skill Agent skill provider registry for the DeepSeek Harnessinvariants llm scope21manifest 非 private
skill-badge@deepseek-ai/dsh-skill-badge Bundled dsh badge skill provider for DeepSeek Harnessinvariants skill21manifest 非 private
skill-filesystem@deepseek-ai/dsh-skill-filesystem Local filesystem skill provider for the DeepSeek Harnessfs home-paths invariants skill22manifest 非 private
tool-skill@deepseek-ai/dsh-tool-skill Model-facing skill loading tool for the DeepSeek Harnessagent invariants llm skill tools21manifest 非 private
spill3 包 · 9 源文件 · 3 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
spill@deepseek-ai/dsh-spill Abstract spill storage seam (ctx.spillStore) for the DeepSeek Harness — save oversized tool text and return a retrieval locatorbrand invariants llm session31manifest 非 private
spill-local@deepseek-ai/dsh-spill-local Local-filesystem implementation of the DeepSeek Harness spill storage seam (private session-scoped files)invariants spill31manifest 非 private
spill-policy@deepseek-ai/dsh-spill-policy Tool-result spill policy for the DeepSeek Harness — replaces oversized plain-text tool results with a retained preview plus a spill-file path (no service API)invariants llm output-retention session spill tools31manifest 非 private
storage4 包 · 20 源文件 · 8 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
storage@deepseek-ai/dsh-storage Storage hub (ctx.storage): named backend registry plus mounted data-form facilities for the DeepSeek Harnessinvariants52manifest 非 private
storage-domain@deepseek-ai/dsh-storage-domain Domain data form (ctx.storage.domain): schema-validated, event-emitting KV domains over storage backends for the DeepSeek Harnessinvariants storage63manifest 非 private
storage-json@deepseek-ai/dsh-storage-json JSON file KV storage backend for the DeepSeek Harness storage hubinvariants storage51manifest 非 private
storage-sqlite@deepseek-ai/dsh-storage-sqlite SQLite storage backend (kv facet) for the DeepSeek Harness storage hubinvariants storage42manifest 非 private
subagent11 包 · 46 源文件 · 43 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
subagent@deepseek-ai/dsh-subagent Abstract subagent seam (ctx.subagents): named-provider registry for delegating to child agentsagent agent-presets brand invariants jobs llm sandbox sandbox-policy scope session session-persistence session-projection session-projection-cache tools user-approval1810manifest 非 private
subagent-acp@deepseek-ai/dsh-subagent-acp Out-of-process ACP subagent backend: drives a child agent in a spawned subprocess over the Agent Client Protocolagent invariants llm session subagent subprocess timeout34manifest 非 private
subagent-claude-code@deepseek-ai/dsh-subagent-claude-code One-shot Claude Code subagent provider over the official Agent SDKinvariants llm session subagent subprocess timeout45manifest 非 private
subagent-codex@deepseek-ai/dsh-subagent-codex One-shot Codex subagent provider over the official app-server protocolinvariants llm sdk-protocol session subagent subprocess timeout46manifest 非 private
subagent-dsh-sdk@deepseek-ai/dsh-subagent-dsh-sdk Out-of-process SDK subagent backend: drives a child DeepSeek Harness runtime subprocess over stdio JSON-RPC through the TypeScript SDK clientagent invariants llm sdk-client session subagent subprocess32manifest 非 private
subagent-fork-in-process@deepseek-ai/dsh-subagent-fork-in-process In-process fork subagent backend: runs a child agent seeded with a prefix of the parent's logagent invariants session subagent subagent-in-process-driver22manifest 非 private
subagent-in-process-driver@deepseek-ai/dsh-subagent-in-process-driver Shared in-process subagent run driver: drives a child agent on ctx.agents (used by the spawn and fork backends)agent invariants llm session subagent system-prompt tools34manifest 非 private
subagent-spawn-in-process@deepseek-ai/dsh-subagent-spawn-in-process In-process spawn subagent backend: runs a fresh child agent on ctx.agentsinvariants subagent subagent-in-process-driver23manifest 非 private
tool-subagent@deepseek-ai/dsh-tool-subagent Model-facing subagent delegation tool over the ctx.subagents seamagent invariants jobs llm subagent system-prompt tools23manifest 非 private
tool-subagent-control@deepseek-ai/dsh-tool-subagent-control Globally named send_message, interrupt_agent, and list_agents tools over ctx.subagents continuationsinvariants llm session subagent tools33manifest 非 private
tool-subagent-report@deepseek-ai/dsh-tool-subagent-report Child-scoped report tool over ctx.subagents continuationsinvariants llm subagent system-prompt tools21manifest 非 private
subprocess2 包 · 8 源文件 · 8 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
subprocess@deepseek-ai/dsh-subprocess Subprocess seam (ctx.subprocess) for the DeepSeek Harness — managed process groups, bounded spill-backed output, and escalated kills behind one abstract serviceinvariants31manifest 非 private
subprocess-local@deepseek-ai/dsh-subprocess-local Local-subprocess implementation of the DeepSeek Harness subprocess seaminvariants subprocess timeout57manifest 非 private
terminal3 包 · 11 源文件 · 9 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
terminal@deepseek-ai/dsh-terminal Persistent PTY session seam for the DeepSeek Harness — owner-scoped ids, backend registry, interactive sends, reads, signals, and awaited cleanupagent brand invariants31manifest 非 private
terminal-bash@deepseek-ai/dsh-terminal-bash Persistent shell PTY backend over the DeepSeek Harness subprocess terminal primitiveagent invariants sandbox sandbox-policy session subprocess terminal55manifest 非 private
tool-terminal@deepseek-ai/dsh-tool-terminal Six model-facing persistent PTY tools with owner isolation and generic background-job integrationagent invariants jobs llm output-retention system-prompt terminal tools33manifest 非 private
test-support6 包 · 27 源文件 · 18 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
acp-snapshot@deepseek-ai/dsh-acp-snapshot ACP test kit: shared subprocess launcher, snapshot scenario harness, expected-output normalizers, and suite factoryinvariants loader-smoke session64manifest 非 private
agent-loop-testkit@deepseek-ai/dsh-agent-loop-testkit Shared prerequisite mounting for tests that exercise the concrete agent loopagent invariants llm session system-prompt tools21manifest 非 private
client-runtime@deepseek-ai/dsh-client-test-runtime jsdom slot test runtime: real Cordis Context + SlotRegistry + web-react renderer with test-owned session/workspace doubles for feature specsclient-runtime client-ui-slots client-web-react host-apiproxy invariants103manifest 非 private
llm-mock-server@deepseek-ai/dsh-llm-mock-server Scriptable OpenAI-compatible HTTP/SSE fault server for LLM recovery testsinvariants43manifest 非 private
llm-replay@deepseek-ai/dsh-llm-replay Replay LLM plugin: short-circuits llm/stream with model chunks reconstructed from a recorded session JSONL (keyless snapshot tests)compaction invariants llm session21manifest 非 private
loader-smoke@deepseek-ai/dsh-loader-smoke Shared subprocess and direct-agent harness for keyless real-Loader example smoke testsagent invariants llm session36manifest 非 private
todo1 包 · 4 源文件 · 5 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
tool-todo@deepseek-ai/dsh-tool-todo Model-facing todo_write tool over the DeepSeek Harness event-sourced session logagent invariants session session-projection tools45manifest 非 private
typert4 包 · 27 源文件 · 22 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
generator@deepseek-ai/dsh-typert-generator TypeScript project analyzer and model-driven Typert artifact generatorinvariants1718manifest 非 private
loader@deepseek-ai/dsh-typert-loader Loader integration for generated Typert package contributionsinvariants typert-registry21manifest 非 private
protocol@deepseek-ai/dsh-typert-protocol Compiler-independent Remote metadata and Typert provider protocolsinvariants32manifest 非 private
registry@deepseek-ai/dsh-typert-registry Runtime registry for generated package reflection and Zod schemasinvariants typert-protocol51manifest 非 private
util7 包 · 14 源文件 · 7 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
atomic-write@deepseek-ai/dsh-atomic-write Zero-dependency atomic file replacement: exclusive-create random-suffix temp + rename carrying the caller-stated permissions (writeFileAtomic)invariants22manifest 非 private
brand@deepseek-ai/dsh-brand Type-only Branded<B> nominal-typing primitive for the DeepSeek Harnessinvariants20manifest 非 private
home-paths@deepseek-ai/dsh-home-paths Shared filesystem path helpers for the DeepSeek Harnessinvariants21manifest 非 private
launch-environment@deepseek-ai/dsh-launch-environment Immutable DeepSeek Harness launch environment that records which layer supplied each valueinvariants21manifest 非 private
native-command@deepseek-ai/dsh-native-command Zero-dependency no-shell execFile runner for host-native OS integrations: utf8 stdio capture, abort propagation, Windows hideinvariants21manifest 非 private
output-retention@deepseek-ai/dsh-output-retention Zero-dependency bounded-retention primitive: ItemRetainer/TextRetainer + neutral notice helpers (what did we keep, what did we omit)invariants21manifest 非 private
timeout@deepseek-ai/dsh-timeout Zero-dependency timeout/deadline primitive: clampTimeout, deadline, timeoutOf, TimeoutReason (timing + classification only, no termination)invariants21manifest 非 private
web6 包 · 24 源文件 · 14 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
tool-web@deepseek-ai/dsh-tool-web Model-facing web tools (web_search, web_fetch) over the DeepSeek Harness web capability seam (ctx.web)invariants llm system-prompt tools web54manifest 非 private
web@deepseek-ai/dsh-web Abstract web access capability seam (ctx.web) for the DeepSeek Harness — search/fetch provider registry, registration-order-independent selection, request/result vocabulary, and the WebError taxonomyinvariants llm31manifest 非 private
web-fetch-http@deepseek-ai/dsh-web-fetch-http Anonymous public HTTP(S) fetch provider for the DeepSeek Harness web capability seam (ctx.web)invariants timeout web41manifest 非 private
web-search-deepseek@deepseek-ai/dsh-web-search-deepseek DeepSeek-backed search provider (native web_search via the Anthropic-compatible API) for the DeepSeek Harness web capability seam (ctx.web)agent credentials invariants launch-environment session settings web44manifest 非 private
web-search-exa@deepseek-ai/dsh-web-search-exa Exa-backed search provider for the DeepSeek Harness web capability seam (ctx.web)invariants launch-environment web42manifest 非 private
web-search-perplexity@deepseek-ai/dsh-web-search-perplexity Perplexity-backed search provider for the DeepSeek Harness web capability seam (ctx.web)invariants launch-environment web42manifest 非 private
workflow4 包 · 19 源文件 · 14 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
tool-ralph@deepseek-ai/dsh-tool-ralph Model-facing fresh-agent Ralph loop over the workflow and subagent seamsagent invariants llm subagent system-prompt tools workflow22manifest 非 private
tool-workflow@deepseek-ai/dsh-tool-workflow Model-facing workflow tool: run a JavaScript orchestration script over ctx.workflowEngineagent invariants llm session system-prompt tools workflow32manifest 非 private
workflow@deepseek-ai/dsh-workflow Workflow capability seam: ctx.workflowEngine service, run vocabulary, and workflow/* eventsagent brand invariants llm session42manifest 非 private
workflow-worker-thread@deepseek-ai/dsh-workflow-worker-thread worker-thread workflow engine: executes model-written orchestration scripts off the host event loop, bridging agent() calls back to ctx.subagentsagent brand invariants llm session subagent tools workflow108manifest 非 private
workspace1 包 · 6 源文件 · 2 测试
Package上游 manifest 描述内部 dsh 依赖源文件测试发布面
workspace@deepseek-ai/dsh-workspace Workspace entity registry (ctx.workspaceRegistry): durable workspace records with validated session attachment over the domain data form for the DeepSeek Harnessbrand invariants session session-persistence storage storage-domain62manifest 非 private

本章复核清单

  • 只在确认上游 HEAD 等于固定基线后重新运行 inventory。
  • 枚举全部两层 package manifest:49 group、219 package。
  • 完整采集直接内部 dependency/peerDependency,未把动态边伪装成 import 边。
  • 把确定性文件数与复杂度、覆盖率结论严格分开。
  • 确认每包都有 README 与 invariant companion,恰好三个包拥有 bundle patch。
  • 将“非 private”准确表述为“结构上可发布”,没有声称 npm 已实际发布。
  • 始终把六个研究平面标记为本研究自己的 taxonomy。

我的学习体会

内容仅自动保存到当前浏览器,不上传、不进入仓库。你可以导出 Markdown 自行归档。