description: "共享的 dsh 核心:为每个 dsh --profile 表层提供模型访问、工具、持久会话与安全默认值,供用户组合或定制 profile。"
English | 中文
每个基于 base 的 dsh --profile 表层都运行在 dsh-base 上,因此这些表层共享模型连接、完整工具集、持久会话历史和 workspace 安全默认值。随附的 sdk-minimal profile 刻意改用完整的独立配置树。你通常不直接操作本 bundle——随附的 base-backed profile 已经包含它,自定义 base-backed profile 则把它放在第一位。需要其他默认值时,应修改自己的 profile patch 或添加后续 bundle;本包不是供导入的库。
你会自动获得 dsh 核心:随发行版交付的 web、headless、sdk 与 acp profile 已包含它,自定义 profile 则把它列为第一个组合包。之后一切无需任何额外配置即可工作。
要在共享核心之上构建 profile,请创建一个 profile,其 package.json 把 @deepseek-ai/dsh-base 列在首位:
{
"name": "my-profile",
"private": true,
"dsh": {
"profile": {
"bundles": ["@deepseek-ai/dsh-base"]
}
}
}
运行 dsh --profile my-profile "your task",你就得到一个可用的 agent(智能体),带模型访问、工具、持久化与默认权限策略。随发行版交付的 web、headless、sdk 与 acp profile 会在首次使用时为你创建。要添加更多组合包,运行 dsh plugin --profile <name> add <package>;内置组合包从 dsh 安装目录解析。profile 约定见 app-boot 的 profile 章节。
开箱即用,基于本核心构建的每个 profile 都提供:DeepSeek 模型连接(provider 与模型可配置,你还可以在设置中启用额外 provider)、完整工具集——文件编辑、shell 命令、web 搜索、公开 HTTP(S) 抓取、subagent、任务与目标跟踪——可跨重启存活的持久会话,以及默认权限策略:把文件写入限制在工作区内,危险操作前征询许可。Web 抓取无需逐次审批,其提供方会拒绝非公开目的地址。反馈保存在会话日志中。OTel 会话上传对所有用户默认使用 FEEDBACK_ONLY,包括 deepseek-official:新的文本反馈、消息评分、编辑与撤回会释放截至该事件的完整权威日志前缀,包含上下文。后续记录等待下一次显式反馈;发送已授权批次无需进一步交互或模型调用。DISABLED 阻止 OTel 捕获。需主动开启的 DeepSeek 会话日志贡献器仍是独立的请求路径。
默认文件编辑使用 read、write 和 edit。Web minimal 与 sdk-minimal 各自选择可选的 str_replace_editor 工具。要将它加入基于 base 的 profile,请在 profile、home 或逐次调用 patch 中添加以下条目:
- insert:
- id: tool-str-replace-editor
name: '@deepseek-ai/dsh-tool-str-replace-editor'
config:
maxOutputChars: 16000
在 macOS 与 Linux 上你获得 bash shell 工具;在 Windows 上则获得对应的 PowerShell 孪生工具,因此每台机器恰好有一套 shell 栈。各平台的安全行为完全一致。偏好不受沙盒约束的 PowerShell 执行器的 Windows 主机可以在其 profile patch 中切换 shell 行——切换必须同时禁用两个 PowerShell 行并重新启用两个 bash 行,否则 profile 无法加载。
要改变基于本核心构建的 profile 提供的内容——不同的默认模型、更严格的权限模式、更多或更少的工具——请编辑 profile 的 cordis.patch.yml 或添加后面的组合包。每个 patch 条目会替换目标的整个配置,因此请重述每个想保留的设置。保持沙箱化文件系统提供方作为唯一的文件写入路径:在其之上再添加普通文件系统提供方会导致 profile 加载失败。
当你想深入了解 profile、基于本核心构建的表层或确切组合时,阅读以下页面。
通过每条插入行所属的包间接产生影响,由各包负责其行的模型可见行为。
组合包本身不添加任何请求前缀;每条插入行所属的包负责各自的缓存影响。
这些限制告诉你核心何时需要额外注意、覆盖应放在哪里。它们是当前包约束,不是通用对比或任务积压。
workspace-write 把写入限制在工作区与会话自己的 temp 子目录(<temp>\dsh-<hash>,受限子进程的 TMP/TEMP 被改写);read-only 不授予任何临时目录写入权限。见 @deepseek-ai/dsh-sandbox-windows-acl。