pnpm workspace(pnpm 11.7,Node ^22.19 || >=24),ESM-only。workspaces:vendor/*、packages/*/*、native/landlock-run(+packages/*)、apps/*、website。全部 221 个 @deepseek-ai/dsh-* 包均为 publishable(非 private)——包粒度即插件粒度。

顶层目录

目录内容
apps/cli@deepseek-ai/dsh 主 CLI(bin.ts 仅 6 个文件,见 user-guide)
apps/web@deepseek-ai/dsh-web-frontend:Vite build 入口(React 18 + Vite 6),产物由 dsh web 静态托管
packages/49 个 group、219 个能力包(packages/<group>/<pkg> 两层)
vendor/源码级 vendored Cordis 全家(9 包,见 cordis)
native/landlock-runRust/C 原生 Landlock self-restrict-then-exec 启动器(见 security-sandbox)
python/Python SDK + runtime-bin(见 user-guide)
scripts/~147 个脚本:gen-/verify-/release gates(见 engineering)
website/VitePress 文档站投影
examples/6 个可运行组合(见 extension-development)
docs/双语官方文档(subsystems/cookbook/cordis-tutorial/user 等)

packages/ 按功能域分组

core — 产品 API 脊柱(8 包)

dsh-scope、dsh-session、dsh-system-prompt、dsh-tools、dsh-agent、dsh-agent-loop(见 architecture 核心包表)+ dsh-agent-default-model、dsh-agent-tool-presentation;产品脊柱另有 llm/dsh-llm。

bundle / boot — 组合与启动

  • bundle:dsh-base(基础层)、dsh-web-app(+浏览器应用)、dsh-headless(一次性 runner)
  • boot:dsh-app-boot、dsh-cmdline

llm — 模型接入(5 包)

dsh-llm(词汇表 + adapter seam)、dsh-llm-deepseek、dsh-llm-pi-ai(基于 pi-ai 库的多 provider 适配)、dsh-llm-retry、dsh-token-meter。

shell / terminal / subprocess — 命令执行(14 包)

dsh-shell + provider dsh-bash-local/dsh-bash-sandbox/dsh-pwsh-local/dsh-pwsh-sandbox + dsh-shell-env;工具 dsh-tool-bash/dsh-tool-bash-persistent/dsh-tool-pwsh;dsh-terminal/dsh-terminal-bash/dsh-tool-terminal;dsh-subprocess/dsh-subprocess-local。

fs — 文件系统(7 包)

dsh-fs + dsh-fs-local/dsh-fs-sandbox/dsh-fs-observation-policy;工具 dsh-tool-fs(read/write/edit/read_image)、dsh-tool-fs-search(glob/grep,内置 ripgrep)、dsh-tool-str-replace-editor。

sandbox — 隔离(4 包)

dsh-sandbox(seam)、dsh-sandbox-local(bwrap/Landlock/Seatbelt/Windows ACL)、dsh-sandbox-policy、dsh-sandbox-windows-acl。

interaction — 人机交互(6 包)

dsh-commands(斜杠命令)、dsh-permission-presets、dsh-tool-ask-user、dsh-user-approval、dsh-user-questions、+ identity/dsh-anonymous-user-id。

session 生态(18 包)

core/session 之外:persistence(-jsonl/-sqlite/抽象)、session-projection(+cache)、session-stats、session-telemetry(+otel)、session-title(+llm/+first-prompt-llm/+all-prompts-llm)、session-checkpoint-policy;session-query 组:dsh-session-query(+sqlite)、dsh-session-log-export、dsh-tool-session-query。

subagent(11 包)

dsh-subagent(seam)+ provider:spawn-in-process、fork-in-process、acp、codex、claude-code、dsh-sdk;工具:dsh-tool-subagent(+control/report)。可把 Claude Code、Codex 当子代理驱动。

结构化能力:plan / goal / todo / workflow / schedule / jobs

  • dsh-plan-mode;goal:dsh-goal(+round-driver)、dsh-tool-goal、dsh-command-goal
  • dsh-tool-todo;schedule:dsh-schedule
  • workflow:dsh-workflow(+worker-thread)、dsh-tool-workflow、dsh-tool-ralph
  • jobs:dsh-jobs(+local)、dsh-tool-jobs

compaction / spill / storage — 上下文与存储(11 包)

dsh-compaction(+basic/tool-result-pruner)、dsh-command-compact;dsh-spill(+local/policy);dsh-storage(+json/sqlite/domain)。

context / preset / guard / hooks — 上下文与策略(11 包)

context:dsh-agent-instructions(AGENTS.md 加载)、dsh-time-context、dsh-tmux-context、dsh-session-reference;preset:dsh-agent-presets、dsh-persona;guard:dsh-repeat-tool-reminder、dsh-tool-call-timeout-policy;hooks:dsh-hook-protocol、dsh-hooks-claude-code、dsh-hooks-codex(兼容 CC/Codex hooks 协议)。

skill / web / lsp / mcp / acp / e2b — 知识与外部集成

  • skill:dsh-skill(+filesystem/badge)、dsh-tool-skill
  • web:dsh-web、dsh-tool-web、dsh-web-fetch-http、dsh-web-search-{deepseek,exa,perplexity}
  • lsp:dsh-lsp(+stdio)、dsh-tool-lsp
  • dsh-mcp-client(MCP client 桥);dsh-acp(ACP automation server)
  • e2b:dsh-e2b、dsh-fs-e2b、dsh-subprocess-e2b(云沙箱共享 execution world)

credentials / settings / feedback / attachment / workspace

dsh-credentials(+local)、dsh-settings(+file)、dsh-command-feedback/dsh-message-feedback、dsh-attachment(+local)、dsh-workspace。

code-runtime / typert / sdk / api — 执行与协议

  • code-runtime:dsh-code-runtime(+worker-thread)(run_code / Code Mode 底座)
  • typert:generator/loader/protocol/registry(跨 host/client 类型图 RPC,见 engineering)
  • sdk:dsh-sdk-client/protocol/jsonrpc-server(JSON-RPC 协议,Python SDK 走它)
  • api:dsh-api-gateway(typert RPC 网关)、dsh-api-remotes(Remote BFF)

host / client — 双侧运行时

  • host(8 包):dsh-host-webserver、dsh-host-apiproxy、dsh-host-frontend-static、dsh-host-plugin-inventory、directory-picker(4 包)
  • client(~40 包):dsh-client-runtime/connection/hmr/locale/modules/schema-form/web(+react) + 31 个 dsh-client-ui-*(conversation、sidebar、plan、goal、workflow-run、trajectory、model-selection、settings 系列等;另有 dsh-client-ui-cordis 在 extensions 组)
  • extensions:dsh-cordis-host-runner/client-runner、dsh-tool-cordis、dsh-client-ui-cordis(动态插件,host/浏览器两半)

其他

  • runtime-diagnostics:dsh-invariants(最底层依赖)
  • util(7 包):atomic-write、brand、home-paths、launch-environment、native-command、output-retention、timeout
  • examples(3 包):acp-demo、agent-spine-demo、jsonrpc-demo(+ repo 级 examples/ 6 个组合)
  • test-support(6 包):agent-loop-testkit、llm-mock-server、llm-replay、acp-snapshot、client-runtime、loader-smoke

依赖信号约定

module graph 由各包 peerDependencies 生成(canonical runtime-dependency signal);@deepseek-ai/cordis 是每个 harness 包的 peerDependency。分层与 ctx key 总表见 architecture,术语见 glossary。