DSH plugin 开发环境搭建:Node 与 pnpm 准备、两种获取 Harness 的方式、工程依赖与脚手架

简介: DeepSeek Harness(DSH)插件开发环境搭建:装 Node 与 pnpm,用 npx @deepseek-ai/dsh 或源码检出获得 Harness,再用 create-dsh-plugin 生成工程,装好 cordis、dsh-tools、schemastery 三类依赖。

DeepSeek Harness(DSH)插件开发环境搭建:装 Node 与 pnpm,用 npx @deepseek-ai/dsh 或源码检出获得 Harness,再用 create-dsh-plugin 生成工程,装好 cordis、dsh-tools、schemastery 三类依赖。

本文转自 DSH Plugin Hub 插件市场


DSH plugin 开发环境只需要三样:Node.js、pnpm,以及一份能跑起来的 DeepSeek Harness 本体;官方把前置条件定义为「从一份已完成 run-from-source 的仓库检出开始」,所以第一步不是写代码,而是先把 pnpm dsh web 跑通。 无论你叫它 DSH插件 还是 DeepSeek插件,要准备的东西完全一样。

DSH plugin 开发环境清单:三样东西

官方对插件开发的前置条件只有一句话:从已完成 run-from-source 的仓库检出开始。 拆开就是三样(来源):

组件 作用 怎么装
Node.js 运行 Harness 与插件 按官方要求安装,注意脚手架的 engines 约束
pnpm 工作区依赖管理与命令前缀 仓库是 pnpm 工作区,命令统一 pnpm dsh ...
Harness 本体 加载并运行你的插件 npx @deepseek-ai/dsh web 或源码检出

注意 Node 版本:脚手架 create-dsh-plugin 在 engines 里声明需要 Node ^22.19.0 || >=24.0.0——版本太低会在安装阶段直接报错(来源)。

获取 DeepSeek Harness 的两种方式,开发 DSH plugin 选哪种

只想用 Harness 就用 npx 一条命令;要写插件就进源码检出——因为本地调试依赖检出目录。 官方 README 给的两种方式可以并存(来源):

  1. 方式一:跑发布版(适合只想用 Harness 的人):npx @deepseek-ai/dsh web,预期一条命令拉起 Web UI。
  2. 方式二:源码检出(插件开发推荐):依次执行 git clone https://github.com/deepseek-ai/deepseek-harness.git → cd deepseek-harness → pnpm install → pnpm run build → pnpm dsh web,预期检出内能启动 Web UI。

为什么插件开发选方式二:官方插件教程要求「从仓库根创建 scratch-plugin 目录」,再用 --patch 覆盖层把绝对路径的插件源码挂进去——插件路径由 profile 目录解析,源码检出内引用本地文件最省事。所以日常用 npx、写插件时切到检出即可。源码构建的每一步拆解见 源码构建与本地调试。

创建 DSH plugin 工程:脚手架或手写

想快速起步用脚手架,想理解机制就手写一个文件。 脚手架 create-dsh-plugin 提供 tool / events / webui 三套模板,内置 --verify 冒烟测试,并用 next 标签钉住版本(来源):

  1. 脚手架生成:npx create-dsh-plugin my-plugin -t tool,预期得到带好 package.json、tsconfig 与模板代码的工程。
  2. 或手写最小工程:在检出根目录创建 scratch-plugin/src/my-plugin.ts(只有一个文件):
import type {
    Context } from '@deepseek-ai/cordis'

export const name = 'hello-plugin'

export function apply(ctx: Context) {
   
  console.log('[hello-plugin] plugin loaded!')
}

两种方式的差别只在起步速度:脚手架会带好上述工程文件;手写则必须自己补 package.json(打包时需要)。想跟着走一遍完整流程见 开发教程。

DSH plugin 工程要装哪三类依赖

依赖按需引入,最小插件只需要类型。 三类官方包各自的职责:

包 提供 什么时候装
@deepseek-ai/cordis Context、Service 等类型 所有插件
@deepseek-ai/dsh-tools defineTool 与工具扩展点 写工具插件时
@deepseek-ai/schemastery Schema,用于声明 Config 插件需要配置时

不要一股脑全装:类型包(cordis)通常作为 dev 依赖,运行期真正需要的是 dsh-tools 这类被 apply 使用的包(来源)。

DSH plugin 开发环境自检:跑通这一步就够了

判断环境是否 OK 的标准不是「装了哪些东西」,而是最小插件能否被加载。 三步做完就能确认:

  1. 取绝对路径:在检出根执行 pwd,后面写进配置的必须是完整路径。
  2. 写覆盖层配置:在 scratch-plugin/cordis.yml 里插入插件行:
- insert:
    - id: hello
      name: '/absolute/path/to/deepseek-harness/scratch-plugin/src/my-plugin.ts'
  1. 带覆盖层启动:pnpm dsh web --patch ./scratch-plugin/cordis.yml,预期终端打印 [hello-plugin] plugin loaded!。

没打印就按这个顺序排查:路径是否为绝对路径 → pnpm install 是否装完 → Node 版本是否满足 engines → 检出是否已 pnpm run build。这四步覆盖绝大多数环境问题。

DSH plugin 开发环境搭好后的下一步

环境通过后,先定插件的形态与能力落点,再动手写。 建议顺序:照 开发指南 判断函数 / 对象 / 类与能力注册到哪里,照 怎么写插件 写代码,最后用 开发规范 的自检清单过一遍。要打包发布再看 打包成 bundle 与 发布到插件中心。


常见问题

开发 DSH plugin 前,本地环境最少要准备哪几样?

开发 DSH plugin 前最少要准备三样:Node.js、pnpm、以及一份可运行的 Harness 本体。 官方「你的第一个插件」把前置条件写成「从一份已完成 run-from-source 的仓库检出开始」,也就是要先能 pnpm dsh web 把 Web UI 跑起来,再开始写插件(来源:官方「你的第一个插件」)。

DSH plugin 开发用 npx @deepseek-ai/dsh 还是源码检出?

写 DSH plugin 建议用源码检出。 npx @deepseek-ai/dsh web 适合只想用 Harness 的用户,一条命令跑起 Web UI;但插件本地调试要用 --patch 覆盖层挂载绝对路径的源码文件,官方教程也是从仓库根创建 scratch-plugin 目录开始的。两者可以并存:日常用 npx,开发插件时进检出(来源:官方 README 与「你的第一个插件」)。

create-dsh-plugin 脚手架生成哪些模板?

create-dsh-plugin 是 DSH plugin 的工程脚手架,提供 tool / events / webui 三套模板,并用 next 标签做版本钉住,内置 --verify 冒烟测试。它在 package.json 的 engines 里声明需要 Node ^22.19.0 || >=24.0.0,所以装依赖前先确认本地 Node 版本(来源:npm create-dsh-plugin)。

DSH plugin 工程需要装哪些依赖?

DSH plugin 工程按需装三类依赖:① @deepseek-ai/cordis(Context 等类型);② @deepseek-ai/dsh-tools(defineTool,写工具插件才需要);③ @deepseek-ai/schemastery(声明 Config schema,需要配置才用)。三者都是按需引入,最小插件只需要 cordis 的类型(来源:官方「你的第一个插件」与「构建一个工具」)。

环境搭好后,怎么确认 DSH plugin 开发环境没问题?

确认 DSH plugin 开发环境的方法是用最小插件跑一次加载日志。 写一个只 console.log 的插件,用 --patch 覆盖层挂进 Web UI,启动时终端打印出那行日志,就说明 Node、pnpm、Harness 与加载链路全部正常。这一步不涉及打包,是成本最低的环境自检(来源:官方「你的第一个插件」)。


本文转自 DSH Plugin Hub 插件市场,版权归属 DSH Plugin Hub 插件市场。

分类:插件开发

原文地址:https://dsh-plugin.org/zh/tutorials/develop-plugin-env

首页:DSH Plugin Hub

相关文章
|
2月前
DSH plugin 开发示例:最小插件、工具插件、事件插件、带配置插件与服务插件的完整代码示例
DeepSeek Harness(DSH)插件开发示例合集:最小插件、模型工具、事件监听、带 Config 配置与服务提供者五个可直接抄的示例,每个含目录结构、完整代码与运行方式。
406 1
|
1月前
|
JavaScript
DSH plugin 开发教程:从环境准备、脚手架到打包上架,DSH 插件开发完整教程与新手入门流程
DeepSeek Harness(DSH)插件开发教程:从准备 Node 与 pnpm、创建插件工程、用 cordis.yml 挂载调试,到打包成 bundle 并装进 profile 验证。六步跑通第一个可安装插件。
781 0
|
2月前
|
JavaScript 开发工具 git
DSH 插件怎么开发?从最小插件到打包安装
DSH 插件是一个导出 apply 函数的 TypeScript 模块,基于 Cordis:通过 name 命名、inject 声明依赖、ctx 注册能力、Config schema 接受配置。本文从最小插件写起,讲清打包成 bundle、用 dsh plugin add 装进 profile 的完整流程。
798 0
|
2月前
|
Shell API
DSH plugin 开发指南:插件形态怎么选、能力注册到哪里、本地怎么调试,DSH 插件开发完整路线图
DeepSeek Harness(DSH)插件开发指南:先判断插件属于函数 / 对象 / 类哪种形态,再决定能力注册到 tools、service 还是事件,最后选 --patch 覆盖层或 profile 安装调试。附可替换提供方的三角色设计。
366 2
|
2月前
|
JavaScript 开发者
DSH plugin 从零怎么写?最小插件目录、本地构建与装进 profile 调试的完整起步流程
写第一个 DSH plugin 只需要一个导出 apply 函数的模块:先用 patch 覆盖层把本地文件插进 Web 界面验证,再做成包用 dsh plugin --profile add 装进 profile,最后用 --dump-config 与日志排错。
425 2
|
2月前
|
存储 弹性计算 运维
用于建站的阿里云服务器需要花费多少钱?搭建个人博客成本分析(轻量+ECS)
阿里云个人建站服务器年费低至38元!轻量应用服务器(2核2G/40G/200M峰值带宽/不限流量/支持5个ICP备案)秒杀价38元/年;ECS经济型99元/年(2核2G/3M固定带宽);企业款199元/年(2核4G/5M/80G)。新老用户均可参与,续费同价。
|
2月前
|
存储 缓存 开发工具
DeepSeek Harness 怎么更新?dsh 升级步骤:先查当前版本、备份,再按安装方式更新并验证
DeepSeek Harness 更新标准步骤:先查当前版本与安装方式、备份用户数据,再按 npx / npm 全局 / 源码三种方式之一升级,最后验证版本号、Web UI 与插件。附插件更新入口与失败回滚指引。
842 0
DeepSeek Harness 怎么更新?dsh 升级步骤:先查当前版本、备份,再按安装方式更新并验证
|
3月前
|
缓存
dsh plugin 命令怎么用?DSH 插件安装、卸载、列出命令大全
dsh plugin 是管理 DSH 插件的命令族:add 安装、remove 卸载、list 列出,都配合 --profile 指定环境。安装有 npm 包名、GitHub 源码、本地目录、市场图形化四种方式,卸载有命令行与界面两种,本文逐个展开步骤并附常见问题排查。
7647 1
dsh plugin 命令怎么用?DSH 插件安装、卸载、列出命令大全
|
2月前
|
JavaScript API 开发工具
DeepSeek Harness 源码怎么构建?DSH plugin 本地开发调试与源码版 npx 差异指南
DeepSeek Harness 从源码构建分五步:装 Node.js 与 pnpm → git clone → pnpm install → pnpm run build → pnpm dsh 启动。源码版最适合本地开发 DSH plugin——dsh plugin 会把参数原样转发给 pnpm,支持本地路径调试;开发完可提交到 DSH Plugin Hub 收录。
484 3
DeepSeek Harness 源码怎么构建?DSH plugin 本地开发调试与源码版 npx 差异指南
|
2月前
|
监控 安全 算法
驾驶员行为检测数据集 | 22600张YOLO智能驾驶数据集
本数据集含22600张YOLO格式标注图像,覆盖安全驾驶、11种分心/疲劳行为及“其他”共13类,专为疲劳预警、分心识别与驾驶员状态检测设计,适配YOLOv5-v12等主流模型,支持智能座舱、车联网安全等场景研究与落地。(239字)