base 使用指南
dsh 共享核心组合包:把所有 profile 都要用到的工具、模型适配器、subagent provider、持久化与策略作为第一层 patch 插入到 profile 根上,每个 profile 都默认带上这一层。
本文为派生内容(基于 wiki / faq / compatibility_json 自动组装),非 AI 即时创作。
本文由本站基于该插件已收录的字段自动派生(wiki / faq / compatibility_json / readme),非 AI 即时创作。每节末尾标源字段。
快速上手
deepseek-harness-studio
— 源: plugin_wiki.wiki_content
安装与验证
dsh plugin --profile web add @deepseek-ai/dsh-base
复制以上命令在 DSH Web Profile 内运行。安装完成后在「插件列表」启用即可。
— 源: plugins.install
关键要点
- Electron 桌面端:提供应用窗口、系统托盘、单实例运行、外部链接处理和安全的 preload 通信接口。
- 本地 Harness Host:桌面主进程启动
dsh web,等待本地服务就绪,并在应用退出时关闭 Host 进程。 - Web 工作区:保留 DeepSeek Harness 的会话、工作区、模型、工具、Skills 和插件运行能力。
- 插件发现与推荐:自动读取在线目录,通过精选、最近更新、生态热门、场景分类和搜索,帮助用户快速找到值得尝试的插件。
- Agent 智能找插件:用一句自然语言描述需求,Agent 自动检索公开
dsh-plugin目录、筛选相关候选并说明推荐理由。
— 源: plugin_wiki.readme_zh (fallback readme_raw)
常见问题
这个 bundle 是什么?为什么要先装它?
dsh 的「共享核心」组合包,它的 cordis.patch.yml 把所有 profile 都需要的基础插件一次性挂到 profile 根上——LLM 适配器、bash/pwsh 工具、文件系统、subagent、持久化、telemetry、权限预设都是它引入的。任何 dsh profile(web / headless / 桌面等)都默认以这一层为底,否则 profile 启动后是空的(README.md:5 / cordis.patch.yml:1-13)。
安装 dsh-base 之后,还需要装官方 dsh-cli 吗?
不重复。dsh-base 是 dsh 安装内部的 in-box bundle(README.md:5 / packages/bundle/README.md:1-15),普通用户通过 dsh plugin --profile <name> add 安装的通常是 web-app、headless 这类「表层」bundle,dsh-base 已经默认存在于 @deepseek-ai/dsh 生产闭包里。
安装 dsh-base 会同时启用 Codex 子代理吗?
不会。本包显式不带 @deepseek-ai/dsh-subagent-codex 和 @deepseek-ai/dsh-subagent-claude-code——这两类是可选表层 subagent,需要由单独的产品 provider bundle 按需挂载(README.md:5 / tests/base.spec.ts:38-41)。
装上后看到「全量审计」type 行,是 telemetry 开了吗?
默认没开。session-telemetry-otel 行虽然被 patch 进来,但 mode 默认从环境变量 DSH_TELEMETRY_MODE 取值;该变量为空时落到 'DISABLED'。要把遥测打开需要显式把环境变量设成 FULL 或 FEEDBACK_ONLY(cordis.patch.yml:148-161)。
偏好不联网的本地模型(或 Anthropic / OpenAI / 其它 provider),需要在 dsh-base 加 provider bundle 吗?
需要。dsh-base 已经把 @deepseek-ai/dsh-llm-pi-ai 作为「零路由」provider 挂上,但没有注入任何 provider profile;要让 pi-ai 跑起来要在 home settings.yaml 的 llm-pi-ai: 段填 provider profiles,Web 表层 Models 页面就是这套机制的入口(cordis.patch.yml:95-96 / 注释说明在 cordis.patch.yml:88-94)。
我用的是 Windows,跑起来为什么 bash / pwsh 工具表现不一样?
bundle 在自己内部按平台门控两个 shell 栈:bash 在 win32 上被 disabled: !!js process.platform === 'win32' 关掉,pwsh 在非 win32 上被关掉——同一份 patch,在每台机器上恰好挂载一个 shell 栈。要恢复 Linux 上的 bash 需要 profile 或 home cordis.patch.yml 同时禁 pwsh-sh / tool-pwsh 再重新启用 bash-sh / tool-bash(README.md:7 / tests/base.spec.ts:44-76)。
我改了 home settings.yaml 之后,新的 provider 多久生效?
因为 settings 行声明的是 @deepseek-ai/dsh-settings-file(hot-reloaded),并且 credentials 也跟着这条线重载,保存 settings.yaml 后一般不用重启 dsh;pi-ai 那边保存后会自动注册 routes 与 models,副作用是清空 profiles 后 routes 也回滚(cordis.patch.yml:78-96)。
dsh-base 有自己的运行时 API 吗?我能 import 它的 apply() / 主入口吗?
没有。src/index.ts 是空导出,声明「package's substance is cordis.patch.yml」,没有运行时入口;profile composer 走的是 dsh.bundle.patch manifest 字段去解析 patch,不会经过 import。测试套也只能用 fixture 的 root.cordis.yml 配合一份空 profile + 这份 patch 起服务(src/index.ts:1-9 / tests/base.spec.ts:14-42)。
升级 dsh-base 会替换或修改用户的 home settings.yaml / sessions 目录吗?
不会。settings.yaml、sessions、.anonymous-user-id、.credentials.yaml 都由 settings / credentials / session-persistence-jsonl 三个服务独立管理在 $DSH_HOME 下,升级 dsh-base 不动这些位置;session-query-sqlite 默认走 :memory:,重新加载进程会丢失搜索索引(cordis.patch.yml:78-122)。
— 源: plugin_wiki.faq_json
兼容性
- DSH: 0.1.0-rc.8
- Node: ^22.19.0 || >=24.0.0
- Platforms: macOS, Linux, Windows
- Native modules: node:sqlite(@deepseek-ai/dsh-session-query-sqlite,默认 :memory:)
— 源: plugin_wiki.compatibility_json
踩坑提醒
安装前请审阅上游仓库;本指南基于已收录字段自动派生,可能滞后于最新版本。如发现与官方文档冲突,请以上游为准。
— 来源:通用规则