Skip to content

本附录枚举检出目录中的每一个工作区包,并为每个包给出不超过一行的职责说明。请把它与架构概览术语表配合阅读。

总体概览

  • 共 245 个 package.json 文件
    • 219 个工作区包,位于 packages/<组>/<包>/(另有 7 个测试夹具清单位于 packages/typert/generator/tests/fixtures/,使 packages/ 树下共 226 个),分布于 49 个功能组coresessionclientsubagent……即每一个 packages/<组> 目录)。
    • 2 个应用入口,位于 apps/
    • 4 个原生条目,位于 native/landlock-run/(一个启动器包加三个按平台划分的二进制子包)。
    • 9 个vendored 框架包,位于 vendor/
    • 4 个条目,位于 examples/(一个 umbrella 清单加三个可运行的演示应用)。
  • 命名约定:宿主包为 @deepseek-ai/dsh-<名称>(如 @deepseek-ai/dsh-agent@deepseek-ai/dsh-session)。包要么表达一个能力接缝(seam)(一个抽象服务 + 它的 ctx.<key> 词表),要么表达它的提供者/消费者之一;三角色能力接缝模式常把它们拉成一个家族(dsh-fs + dsh-fs-local + dsh-fs-sandbox + dsh-tool-fs……)。vendored 的 Cordis 包被收在 @deepseek-ai/cordis* 名下,以免发布 harness 时占用上游名称。客户端 UI 包遵循 @deepseek-ai/dsh-client-ui-*

packages/core/* — 循环、作用域、注册表

职责
dsh-agentAgent 接口、实时注册表、发起者作用域与 agent/* 事件词表
dsh-agent-loop驱动回合(turn)与步骤(step)的具体 agent-loop 插件
dsh-agent-default-modelAgent 入口共用的默认模型选择
dsh-agent-tool-presentation将某智能体的工具组合为 Code Mode、原生或两者皆可
dsh-scope作用域化注册原语(作用域标签、按作用域过滤的事件分发)
dsh-session事件溯源(event-sourced)的 SessionEvent 存储
dsh-system-prompt系统提示小节与工具 schema 组装注册表
dsh-tools作用域化工具注册表与受守护的执行流水线

packages/acp/*packages/api/*packages/attachment/*

职责
dsh-acp面向自动化的 Agent Client Protocol 服务器,基于 JSON-RPC stdio
dsh-api-gatewayTypert Remote Host 分发器与 Client API 端点
dsh-api-remotesRemote BFF 组装与 Host Agent/Session 查找策略
dsh-attachment持久、不可变的附件存储接缝
dsh-attachment-local私有的、内容寻址的 $DSH_HOME 附件存储

packages/boot/* — 组合与启动层

职责
dsh-app-boot应用 bin 共用的启动胶水:.env 加载、fail-loud Loader 守卫、profile/bundle 组合、启动序列
dsh-cmdlinedsh 启动器向注入 cmdlineArgs 的插件传递不可变的命令行

packages/bundle/* — profile bundle

职责
dsh-base作为 profile bundle 的共享核心;每个 profile 的第一层补丁层
dsh-headless一次性 bundle:不包含 Host、HTTP 或浏览器层的直接 Agent/Session 运行器
dsh-web-app浏览器界面 bundle:dsh-base 之上的 web 补丁层加运行时胶水

packages/client/* — web shell 与 UI(39 个包)

客户端包分为shell 内核webweb-reactruntimemodulesconnectionhmrlocaleschema-form)与UI 功能插件ui-*)。

职责
dsh-client-webWeb shell 内核:bootWebShell、模块持有、两阶段启动、AppRoot 闸门
dsh-client-web-reactShell 侧 React 胶水:createSlotRendererSessionProvideruseInvoke、uSES 桥
dsh-client-runtime客户端核心服务:SlotRegistrySessionRuntime(作用域树 + 对象层)
dsh-client-modules客户端模块系统:node 侧构筑 __DSH_BOOT__ 入口图,浏览器侧为懒加载 CJS 表
dsh-client-connection连线消费层:HTTP-上/WebSocket-下客户端,带重连
dsh-client-hmr仅开发的、面向脚本加载客户端入口的热重载驱动
dsh-client-locale语言环境插件:Host 支撑的中/英偏好与类型化字典
dsh-client-schema-form设置编辑器用的 schema/draft 模型层
dsh-client-ui-primitives纯 React 原子:控件、图标、markdown、JSON 检查器
dsh-client-ui-slotsSlot 注册表纯核心:SlotMap 合并、register 组合 API
dsh-client-ui-theme主题插件:调色板引导、ThemeRuntime--dsw-* 令牌
dsh-client-ui-layout三栏 AppFrame shell 插件,带拖拽手柄
dsh-client-ui-sidebar侧边栏插件:会话树、搜索、分组、状态点
dsh-client-ui-conversation会话领域:聊天流、输入框、busy-Enter 偏好
dsh-client-ui-commands客户端命令界面:全局目录缓存、/ source、命令 UI 种类
dsh-client-ui-input-trigger输入触发流水线:/@ 检测与候选菜单
dsh-client-ui-model-selection模型选择 /model popupSelect
dsh-client-ui-plan计划模式输入框控件,作用于计划投影
dsh-client-ui-goal停靠于输入框上方的会话目标 GoalBar
dsh-client-ui-jobs会话顶栏的后台作业列表
dsh-client-ui-subagent子智能体会话目录、续跑路由与 @ 引用
dsh-client-ui-tool工具调用树渲染器与按工具展示的槽位
dsh-client-ui-trajectory带交互式时序总览的轨迹事件账本
dsh-client-ui-attachment纯 React 附件原子:草稿横条、画廊、灯箱
dsh-client-ui-deliverables产出文件的回合尾部与可点击的文件引用
dsh-client-ui-settings设置领域基础插件与设置槽位契约
dsh-client-ui-settings-general常规设置小节、shell 触发器/顶栏 chrome、引导说明
dsh-client-ui-settings-plugins带功能所属标签页的插件设置小节
dsh-client-ui-settings-plugin-inventoryCordis Loader 状态只读清单标签页
dsh-client-ui-settings-models模型设置与产品引导对话框
dsh-client-ui-skillWeb 技能引用与专属技能工具行
dsh-client-ui-workspace侧边栏中的工作区选择器插件
dsh-client-ui-directory-picker-browse应用内目录浏览界面
dsh-client-ui-directory-picker-native原生(OS 选择器)目录选择界面
dsh-client-ui-permission-presets权限界面,作用于权限投影
dsh-client-ui-user-questionsWeb 端 ask_user_question 功能
dsh-client-ui-message-feedback逐条消息的反馈控件
dsh-client-ui-agent-presetAgent 预设界面:默认项、会话席位、组合编辑器
dsh-client-ui-workflow-run持久 workflow-run 会话节点与成员展示

packages/code-runtime/*packages/compaction/*packages/context/*

职责
dsh-code-runtime抽象的代码执行接缝(ctx.codeRuntime
dsh-code-runtime-worker-thread代码执行接缝的 worker-thread 实现
dsh-compaction抽象的压缩服务接缝(ctx.compaction
dsh-compaction-basictoken 计驱动的压缩策略与 LLM 摘要后端
dsh-compaction-tool-result-pruner对工具结果表面节点做无模型的头/中/尾裁剪
dsh-command-compact面向人类的显式会话压缩斜杠命令
dsh-agent-instructions针对 AGENTS.md/CLAUDE.md 的工作区上下文加载器
dsh-time-context携带当前时间与耗时的选择性持久逐步骤上下文
dsh-tmux-context携带本智能体 tmux 窗格/窗口位置的选择性持久逐步骤上下文
dsh-session-reference跨会话快照引用与持久的不可信模型上下文

packages/credentials/*packages/e2b/*packages/extensions/*

职责
dsh-credentials抽象凭据接缝(ctx.credentials
dsh-credentials-local基于文件的凭据提供者($DSH_HOME/.env
dsh-e2b供提供者适配器共用的 E2B 沙箱生命周期
dsh-fs-e2bE2B 文件系统实现
dsh-subprocess-e2bE2B 子进程实现
dsh-cordis-host-runner动态包定义注册表与 host 半边沙箱生命周期
dsh-cordis-client-runner双半边插件包的浏览器半边
dsh-tool-cordis自指式 cordis 工具集:检查运行时、挂载/释放模型编写的插件

packages/feedback/*packages/fs/*

职责
dsh-message-feedback生命周期绑定的逐消息评分与备注 sidecar
dsh-command-feedback只记日志的会话反馈产生者与斜杠命令
dsh-fs抽象文件系统能力接缝(ctx.fs)+ fs/* 事件词表
dsh-fs-localfs 接缝的本地文件系统实现
dsh-fs-sandbox沙箱强制的实现:按每次调用的沙箱模式围栏写入
dsh-fs-observation-policy观测状态、读前编辑、版本守卫的写/编辑策略插件
dsh-tool-fs面向模型的 fs 工具(readwriteedit
dsh-tool-fs-search面向模型的发现工具(globgrep),基于 @vscode/ripgrep
dsh-tool-str-replace-editor在 fs 服务上的查看/创建/字面替换/插行工具

packages/goal/*packages/guard/*packages/hooks/*

职责
dsh-goal事件溯源的同会话目标状态与生命周期服务
dsh-goal-round-driver竞争围栏的同会话目标回合驱动器
dsh-tool-goal带执行时权限检查的面向模型目标工具
dsh-command-goal面向人类的 /goal 斜杠命令
dsh-tool-call-timeout-policyexec.signal 上设置每次工具截止时间并返回 TOOL_TIMEOUT
dsh-repeat-tool-reminder当智能体在相同工具调用上循环时给出建议性提醒
dsh-hook-protocol共用的 Claude Code / Codex hook 连线协议与匹配引擎
dsh-hooks-claude-code桥:在 Harness 截获接缝上运行 Claude Code hooks 配置
dsh-hooks-codex桥:在 Harness 接缝上运行 Codex hooks 配置

packages/host/* — web 服务器与选择器

职责
dsh-host-webserverWeb 路由注册插件:HTTP/upgrade 路由、index 注入、静态回退
dsh-host-frontend-staticWeb shell 的 SPA dist 服务器
dsh-host-apiproxyAPI 网关(ctx.apiProxy):fetch 载体对 + host 侧插件
dsh-host-plugin-inventory当前 Loader 插件状态的只读 Remote 投影
dsh-host-directory-picker抽象的工作区目录选择接缝(ctx.directoryPicker
dsh-host-directory-picker-auto启动时判断 host 情境的自适应选择器
dsh-host-directory-picker-browse目录选择接缝的应用内浏览后端
dsh-host-directory-picker-native目录选择接缝的原生 OS 选择器后端

packages/identity/*packages/interaction/*

职责
dsh-anonymous-user-id遥测与反馈关联共用的匿名用户身份
dsh-user-questions抽象的用户提问接缝(ctx.userQuestions
dsh-tool-ask-user面向模型的 ask_user_question 工具
dsh-user-approval用户审批接缝(ctx.approval):一次性权限决策,默认 fail-closed
dsh-permission-presets捆绑沙箱模式与审批策略旋钮的产品级 Permissions 选择器
dsh-commands插件私有的人类命令注册表

packages/jobs/*packages/llm/*

职责
dsh-jobs面向长时工具工作的后台作业注册表(ctx.jobs
dsh-jobs-local作业注册表接缝的进程内本地实现
dsh-tool-jobs面向模型的作业控制工具(job_outputjob_listjob_kill
dsh-llm提供者中立的 LLM 服务接口
dsh-llm-retry提供者路由的 LLM 请求重试策略
dsh-token-meter回放感知的 token 计量服务(ctx.tokenMeter
dsh-llm-deepseekDeepSeek chat-completions 适配器
dsh-llm-pi-ai基于 pi-ai 的 DeepSeek 适配器(dsh-llm-deepseek 的设计孪生)

packages/lsp/*packages/mcp/*

职责
dsh-lsp抽象的 LSP 能力接缝(ctx.lsp
dsh-lsp-stdio通用 stdio 语言服务器提供者
dsh-tool-lsp面向模型的 lsp 工具:definition/references/implementation/hover
dsh-mcp-clientMCP 客户端桥:连接服务器并注册其工具

packages/plan/*packages/preset/*packages/runtime-diagnostics/*

职责
dsh-plan-mode带直接斜杠命令的已记录每智能体计划模式
dsh-agent-presets从预设 cordis.yml 文件进行的逐会话智能体组合
dsh-persona组合编写的部署 persona 小节
dsh-invariants包自有运行时不变的注册服务

packages/sandbox/*

职责
dsh-sandbox抽象的进程沙箱接缝(ctx.sandbox)+ SandboxProvider 契约
dsh-sandbox-local本地后端:bwrap、landlock-run、macOS Seatbelt、Windows ACL——探测后 fail-closed
dsh-sandbox-policy每次调用的沙箱模式解析器与当前模型上下文
dsh-sandbox-windows-aclWindows ACL 写限制后端(受限令牌生成)

packages/schedule/*packages/sdk/*

职责
dsh-schedule智能体作用域的持久 after/at/fixed-rate 提醒
dsh-sdk-protocol共用连线协议:换行分隔的 JSON-RPC stdio 传输与具名类型
dsh-sdk-jsonrpc-server面向进程外 SDK 客户端的 Stdio JSON-RPC 服务器插件
dsh-sdk-client通过高级 turns API 驱动运行时子进程的 TypeScript 客户端 SDK

packages/session/* — 事件日志及其投影

职责
dsh-session-persistence抽象的持久会话持久化接缝(ctx.sessionPersistence
dsh-session-persistence-jsonlJSONL 持久会话持久化后端
dsh-session-persistence-sqliteSQLite 持久会话持久化后端
dsh-session-projection会话投影接缝:类型表、提供者契约、ctx.sessionProjections
dsh-session-projection-cache带冷读梯的持久逐会话投影检查点
dsh-session-checkpoint-policy模型请求与工具副作用前的语义持久性检查点
dsh-session-stats全日志会话计数与时长投影
dsh-session-title基于日志的会话标题服务与提供者注册表
dsh-session-title-llm标题提供者共用的 LLM 生成策略
dsh-session-title-first-prompt-llm首条消息的 LLM 标题提供者插件
dsh-session-title-all-prompts-llm全部用户消息的 LLM 标题提供者插件
dsh-session-telemetrySessionTelemetryBackend 接缝:采集、投影、脱敏、移交
dsh-session-telemetry-otel遥测接缝的 OpenTelemetry 后端

packages/session-query/*

职责
dsh-session-query合并会话查询服务契约:读取、追踪、过滤
dsh-session-query-sqlite带 SQLite FTS5 搜索的具体后端
dsh-tool-session-query工作区授权的面向模型历史搜索/追踪/读取工具
dsh-session-log-exportWeb 会话日志导出命令与下载对话框

packages/settings/*packages/shell/*

职责
dsh-settings抽象的用户设置接缝(ctx.settings
dsh-settings-file基于文件的设置提供者(settings.yaml
dsh-shell抽象的 bash 执行器接缝(ctx.shell
dsh-shell-env与工具无关的管理式 DSH_* shell 环境注册表
dsh-bash-local本地子进程 bash 执行器提供者
dsh-bash-sandbox消费沙箱的 bash 执行器提供者
dsh-pwsh-local本地 PowerShell bash 执行器提供者
dsh-pwsh-sandbox消费沙箱的 PowerShell 执行器提供者
dsh-tool-bash面向模型的 bash 工具,支持后台作业与沙箱升级
dsh-tool-bash-persistent基于 PTY 服务的属主作用域持久 Bash 工具
dsh-tool-pwsh面向模型的 pwsh 工具,作用于执行器接缝

packages/skill/*packages/spill/*

职责
dsh-skillAgent 技能提供者注册表
dsh-skill-filesystem本地文件系统技能提供者
dsh-skill-badge捆绑的 dsh badge 技能提供者
dsh-tool-skill面向模型的技能加载工具
dsh-spill抽象的 spill 存储接缝(ctx.spillStore
dsh-spill-local本地文件系统 spill 存储(私有会话作用域文件)
dsh-spill-policy用保留预览 + spill 文件路径替换过大工具结果

packages/storage/*

职责
dsh-storage存储枢纽(ctx.storage):具名后端注册表 + 挂载的数据形式设施
dsh-storage-domain领域数据形式:schema 校验、事件发射的 KV 领域
dsh-storage-jsonJSON 文件 KV 存储后端
dsh-storage-sqliteSQLite 存储后端(kv 面)

packages/subagent/* — 委托

职责
dsh-subagent抽象子智能体接缝(ctx.subagents):具名提供者注册表
dsh-subagent-in-process-driverctx.agents 上共用的进程内运行驱动
dsh-subagent-spawn-in-process进程内 spawn 后端:全新子智能体
dsh-subagent-fork-in-process进程内 fork 后端:用父日志前缀种子的子智能体
dsh-subagent-dsh-sdk进程外 SDK 后端:经 stdio JSON-RPC 的子运行时
dsh-subagent-acp进程外 ACP 后端:在派生子进程中的子智能体
dsh-subagent-claude-code基于 Agent SDK 的一次性 Claude Code 提供者
dsh-subagent-codex基于 app-server 协议的一次性 Codex 提供者
dsh-tool-subagent面向模型的委托工具,作用于 ctx.subagents
dsh-tool-subagent-control全局具名的 send_messageinterrupt_agentlist_agents
dsh-tool-subagent-report面向子智能体的 report 工具

packages/subprocess/*packages/terminal/*packages/todo/*

职责
dsh-subprocess子进程接缝(ctx.subprocess):管理的进程组、受限输出、升级杀除
dsh-subprocess-local本地子进程实现
dsh-terminal持久 PTY 会话接缝(ctx.terminals
dsh-terminal-bash持久 shell PTY 后端
dsh-tool-terminal六个面向模型的持久 PTY 工具,带属主隔离
dsh-tool-todo面向模型的 todo_write 工具,作用于会话日志

packages/test-support/*

职责
dsh-loader-smoke面向无密钥 Loader 冒烟测试的共用子进程 + 直接 Agent 台架
dsh-agent-loop-testkit面向 agent-loop 测试的前置条件挂载
dsh-llm-replay面向无密钥快照测试的回放 LLM 插件
dsh-llm-mock-server可脚本化的 OpenAI 兼容 HTTP/SSE 故障服务器
dsh-client-test-runtimejsdom 槽位测试运行时,带真实 Cordis 上下文与替身
dsh-acp-snapshotACP 测试套件:子进程启动器、快照台架、归一化器

packages/typert/*

职责
dsh-typert-protocol编译无关的 Remote 元数据与 Typert 提供者协议
dsh-typert-generatorTypeScript 分析器与模型驱动的 Typert 产物生成器
dsh-typert-registry生成的反射与 Zod schema 的运行时注册表
dsh-typert-loader生成的 Typert 贡献的 Loader 集成

packages/util/*

职责
dsh-atomic-write零依赖原子文件替换(writeFileAtomic
dsh-brand纯类型 Branded<B> 名义类型原语
dsh-home-paths共用文件系统路径助手(含 resolveDshHome
dsh-launch-environment记录每个值所属层级的不可变启动环境
dsh-native-command面向 OS 集成的零依赖无 shell execFile 运行器
dsh-output-retention有界保留原语(ItemRetainer/TextRetainer
dsh-timeout超时/截止时间原语与 TimeReason 分类学

packages/web/*packages/workflow/*packages/workspace/*

职责
dsh-web抽象的 web 访问接缝(ctx.web):搜索/抓取提供者注册表
dsh-web-fetch-http匿名的公开 HTTP(S) 抓取提供者
dsh-web-search-deepseek基于 DeepSeek 的搜索提供者(Anthropic 兼容 API)
dsh-web-search-exa基于 Exa 的搜索提供者
dsh-web-search-perplexity基于 Perplexity 的搜索提供者
dsh-tool-web面向模型的 web_search / web_fetch 工具
dsh-workflow工作流能力接缝(ctx.workflowEngine)+ workflow/* 事件
dsh-workflow-worker-threadworker-thread 工作流引擎,将 agent() 桥接到 ctx.subagents
dsh-tool-workflow面向模型的工作流工具
dsh-tool-ralph面向模型的 fresh-agent Ralph 循环工具
dsh-workspace领域数据形式之上的工作区实体注册表(ctx.workspaceRegistry

packages/examples/* — 仓库内演示应用

职责
dsh-acp-demoACP 自动化服务器应用:agent spine + JSONL 持久化 + ACP 传输
dsh-agent-spine-demo带回退标题的默认无执行器/无 UI agent spine
dsh-sdk-jsonrpc-demo为 stdio JSON-RPC SDK 运行时启动外部 Cordis 配置的 bin

dsh-client-ui-cordis 位于 packages/extensions/ui-cordis;为便于检索,在下面的 extensions 段中列出。

apps/*

职责
dsh(CLI)dsh CLI:profile 引导、插件管理、浏览器 UI 别名
dsh-web-frontendWeb 应用入口:在 dsh-client-web shell 之上做 Vite 构建;dist/dsh web 提供

native/landlock-run/* — Landlock 启动器家族

native/landlock-run 解析为四个包,共同发布一个供本地沙箱后端使用的 Linux Landlock 自限制-后执行启动器:

职责
@deepseek-ai/node-addon-landlock-run-workspace启动器包的 monorepo 工作区容器(自身无运行时职责)
@deepseek-ai/node-addon-landlock-run解析、探测并沟通启动器 CLI 契约的 JS 接缝
@deepseek-ai/node-addon-landlock-run-linux-x64面向 linux-x64 的预构建静态 musl 启动器二进制(按文件路径解析)
@deepseek-ai/node-addon-landlock-run-linux-arm64面向 linux-arm64 的预构建静态 musl 启动器二进制(按文件路径解析)

vendor/* — vendored Cordis 框架家族

Cordis 框架及其基础库在 vendor/ 下 vendored,并以 @deepseek-ai 作用域发布,以免 harness 占用上游名称。参见 官方文档地图docs/rescope.md 一条。

职责
@deepseek-ai/cordisdsh 之下的插件元框架:服务、类型化事件、可逆 effect
@deepseek-ai/cosmokit框架常用工具集
@deepseek-ai/cordis-plugin-groupcordis 的嵌套插件组
@deepseek-ai/cordis-plugin-hmrcordis 的热模块替换插件
@deepseek-ai/cordis-plugin-include在 cordis 配置中包含文件
@deepseek-ai/cordis-plugin-loadercordis 的插件加载器
@deepseek-ai/cordis-plugin-logger-consolecordis 的控制台日志导出器
@deepseek-ai/schemastery用于插件配置 schema 的类型驱动 schema 校验器
@deepseek-ai/cordis-plugin-timercordis 的计时器服务

examples/* — 可运行演示

三个独立的演示应用位于 examples/ 下,各自带有自己的 package.json。另有三个演示目录——examples/mcp-memoryexamples/web-cordisexamples/web-schedule——是仅配置、无自带 package.json 的文件夹;examples/package.json 里的 dsh-examples umbrella 清单把它们 cordis.yml 的插件声明为 workspace:* 依赖。

职责
acp-agent-example可运行演示:基于 JSON-RPC stdio 的 ACP 自动化服务器
jsonrpc-agent-example无人值守的 JSON-RPC 编码智能体组合
headless-agent-example一次完整的 headless 编码智能体回合

版本说明与差异

延伸阅读

  • 术语表 —— 本索引用到的能力接缝、Agent 作用域与目标术语。
  • 官方文档地图 —— 上游每个子系统与目录所处的位置。
  • docs/architecture.md —— profile、bundle、核心包与事件流(仓库内相对路径)。
  • packages/boot/app-boot/README.md —— dsh-base 背后的 profile/bundle/patch 组合机制(仓库内相对路径)。