DSH 怎么配置和使用?配置文件、模型密钥与 profile 详解

配置与使用发布于 2026-08-19作者: DSH-Plugin 插件中心
DSHDeepSeek Harness配置profilecordis.patch.ymlAPI Key
DSH 的配置都落在 $DSH_HOME(默认 ~/.dsh)下:profile 目录里是插件依赖和 cordis.patch.yml,模型密钥在 Web UI 设置里填。本文讲清配置存在哪、怎么查看(dsh --dump-config)、怎么改,以及端口、工作区等常用用法。

DSH 的配置都集中在 $DSH_HOME(默认 ~/.dsh)下,改配置前先用 dsh --dump-config 看当前生效值,模型密钥则直接在 Web UI 的设置里填。

配置存在哪

DSH 用环境变量 $DSH_HOME 定位数据目录,默认是 ~/.dsh 里面主要装三类东西:

  • ~/.dsh/profiles/<名字>:每个 profile 一个目录,放这个 profile 的插件依赖(package.json)和它自己的 cordis.patch.yml 覆盖层。
  • ~/.dsh/cordis.patch.yml:home 级、所有 profile 共享的机器本地偏好。
  • ~/.dsh/sessions/:会话记录,和配置分开存放。

profile 目录的 package.json 不用手写,dsh plugin 命令会负责创建和维护(来源)。所以日常「改配置」通常只碰两处:Web UI 里的设置项,以及 cordis.patch.yml 覆盖层。

先看再改:dump-config

改配置前先看一眼当前组合后的结果,能少踩很多坑。 两条命令都不用真正启动 DSH:

bash
dsh --dump-config          # 组合后的配置树
dsh --dump-default-config  # 内置默认值

--dump-config 会把「profile 内置组合包 → profile 覆盖层 → home 覆盖层 → --patch 参数」逐层叠加后的最终配置打印出来,方便你确认某个值到底从哪一层来的(来源)。

配置怎么分层叠加

DSH 的生效配置是在「空根」上逐层叠加出来的,后应用的层按行胜出。 顺序是:

  1. profile 的 dsh.profile.bundles 列表里的组合包,按列表顺序;
  2. profile 自己的 cordis.patch.yml
  3. home 级的 ~/.dsh/cordis.patch.yml
  4. 命令行 --patch <path> 覆盖层,按参数顺序。

也就是说,想让某个插件带自定义配置,最干净的做法是在 cordis.patch.yml 里按插件行的 id 覆盖它的 config,而不是改它源码。注意 patch 是整行替换 config,不是逐键深合并,覆盖时要把需要的键都写全。

模型密钥在哪配

模型连不上的九成原因,是 API Key 没配。 打开 Web UI 的设置 → 模型,输入 DeepSeek API 密钥保存,模型路由立即生效、不用重启(来源)。自定义端点走 OpenAI 兼容配置,参考官方 providers 文档。

Key 填错、额度用尽也会表现为连不上,排查见《DSH 常见问题排查》。

常用用法:端口与工作区

换端口用 --port,首次打开页面先选工作区。 默认 Web UI 开在 http://127.0.0.1:3080,端口被占就换一个:

bash
dsh --profile web --port 8080

--port 是 Web 应用自己的参数,要跟在 --profile web 后面;dsh web 就是 --profile web 的别名。新的 Web UI 在添加工作区前不会选中任何工作区,需要先点选择工作区加入项目目录,会话输入框才可用(来源)。

认识 profile

profile 是一套可启动的组合,内置 webheadless 两个。 dsh web 启动的就是 web profile;headless 用于一次性跑任务。插件装进哪个 profile 就只影响哪个环境,多个 profile 互不干扰。首次使用会自动初始化内置 profile,其他 profile 通过 dsh plugin 命令创建。

想彻底不要某个 profile,直接删除 ~/.dsh/profiles/<名字> 即可,DSH 下次启动会重建 webheadless。改完配置想验证,回头用 dsh --dump-config 再确认一遍即可。DSH 还在开发者预览阶段,文件布局可能调整,动手前以官方文档为准。

来源:dsh CLI README官方 Quickstart

常见问题

DSH 的配置存在哪里?

都在 $DSH_HOME 下,默认是 ~/.dsh。profile 配置在 ~/.dsh/profiles/<名字>,机器级共享配置在 ~/.dsh/cordis.patch.yml。

DSH 怎么查看当前生效的配置?

执行 dsh --dump-config 看组合后的配置树,dsh --dump-default-config 看默认值,都不用真正启动 DSH。

DSH 的模型 API Key 在哪里配置?

打开 Web UI 的设置 → 模型,输入 DeepSeek API 密钥保存即可,模型路由立即生效、不用重启。

DSH 怎么换端口启动?

执行 dsh --profile web --port 8080。--port 是 Web 应用自己的参数,跟在 profile 后面。

DSH 的 profile 是什么?

profile 是一套可启动的组合,内置 web 和 headless 两个。每个 profile 对应 ~/.dsh/profiles/<名字> 一个目录,插件装进哪个 profile 就只影响哪个环境。

来源