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-run | Rust/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-goaldsh-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。