DSH Initial Local Run Environment Self-Check

前言

在 DeepSeek Harness(DSH)里跑插件或 profile 之前,常见问题往往不是业务逻辑,而是本机环境没对齐:Node 版本不够、DSH_HOME 不存在或不可写、profile 目录缺 cordis.patch.yml 或 package.json、sessions 目录缺失,或环境变量里根本没有配置 API Key。这些问题往往在真正调用模型或加载插件时才暴露,排查成本高。

社区里也有各自的手动检查清单,但缺少一个在本地、只读、不联网的统一入口。dsh-env-doctor 由 lengrufeng2008 维护,归类为客户端插件,专门做 DSH 相关的本地首次运行环境检查;检查项与 README 一致,不做修复、不做网络探测、也不读取 Key 的具体值。

这是什么

dsh-env-doctor(npm 包名 dsh-env-doctor,当前资料中版本为 0.1.0)是一句定位上的「本地 first-run 环境检查」:针对 Node、DSH_HOME、可写性、profile 文件、sessions 目录以及 DEEPSEEK_API_KEY 是否存在做核查。实现上强调 local-only——不联网、不读 Key 值,只判断 presence。许可证为 MIT;仓库见 GitHub,目录页见 SkillHub。DSH 生态主张「一切皆插件」;SkillHub 为社区目录,与 DeepSeek / 幻方无官方从属关系,本文不将其描述为官方应用商店。

核心功能

README 与 package.json 中列出的检查项如下,均在本机完成:

  1. Node:主版本号需 ≥ 20(与 engines.node 一致)。
  2. DSH_HOME:目录存在且可写。
  3. Profile 文件:对应 profile 下需有 profiles/<name>/cordis.patch.yml 和 package.json。
  4. Sessions:sessions 目录相关检查(具体布局可能随 DSH 版本变化,见下文限制)。
  5. API Key:检查 DEEPSEEK_API_KEY 是否配置(仅 presence,不验证有效性)。

插件还提供可编程导出(package.json 的 exports 含 ./doctor、./plugin 等),供集成或测试使用;对外文档中的主要用法是 CLI 与 DSH 内调用。

安装与启用

已抓取资料中未给出 SkillHub 或 DSH 官方的 dsh plugin add … 一类安装命令,下文不自行拼接仓库名。若你已通过 DSH 插件机制安装本仓库,启用方式以 DSH 与目录页说明为准。

本地直接运行检查(来自 README):

node bin/dsh-env-doctor.mjs --home ~/.dsh --profile web
node bin/dsh-env-doctor.mjs --json

第一条指定 DSH 主目录与 profile 名;第二条以 JSON 输出结果,便于脚本或 CI 解析。包入口 CLI 名为 dsh-env-doctor,对应 bin/dsh-env-doctor.mjs。

在 DSH 进程内,README 给出的用法为:

Use env_doctor with profile=web.

即通过 env_doctor 能力并传入 profile=web(profile 名按你的实际配置替换)。

典型用法

先做路径与 profile 对齐,再跑检查:

  1. 确认 DSH_HOME(示例为 ~/.dsh)与你要用的 profile 名称(示例为 web)。
  2. 执行:
node bin/dsh-env-doctor.mjs --home ~/.dsh --profile web
  1. 若需要机器可读输出,改用 --json:
node bin/dsh-env-doctor.mjs --json
  1. 在 DSH 对话或工作流中,按 README 使用 env_doctor 并指定 profile。

开发侧可运行仓库自带测试(README):

npm test

对应 package.json 中 node --test test/*.test.mjs。

适用场景与注意

适合谁:刚搭 DSH、换机器、或切换 profile 的智能体开发者;希望在连模型、跑复杂插件之前,用本地只读方式快速确认 Node、DSH_HOME、profile 骨架、sessions 与 API Key 是否「在位」。

明确不做的事(README Limits):

  • 不做 provider 鉴权探测、不发起网络请求、不执行其他插件、不提供自动修复。
  • DSH 目录布局可能因版本不同而有差异,检查结果需结合你当前的 DSH 版本理解。
  • 检测到 Key 存在,不代表 Key 有效或有余额。

安全与权限:插件以当前 DSH 进程权限运行;安装或启用任何社区插件前,应自行查看源码与 LICENSE(本仓库为 MIT)。本工具不读取 API Key 的值,但仍会访问本地目录与环境变量名,请在可信环境中使用。

结尾

dsh-env-doctor 的价值在于把 DSH 首次运行常见的本地前提收成一次可重复的检查:Node ≥ 20、主目录可写、profile 关键文件、sessions 与 DEEPSEEK_API_KEY 是否存在。它不替代完整的鉴权或网络诊断,但能减少「环境没配好却已开始调业务」的弯路。

  • 目录页:https://www.skillhub.cn/plugins/lengrufeng2008/dsh-env-doctor
  • 源码与说明:https://github.com/lengrufeng2008/dsh-env-doctor
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye