dsh-learning-plugin:学习 Harness 插件机制的示例工具

前言

DeepSeek Harness 插件基于 Cordis 扩展模型构建。对于开发者而言,直接阅读源码或理解 API 细节往往需要一定的门槛。dsh-learning-plugin 提供了一个最小化的示例,演示了如何在 Harness 生态中注册工具、声明依赖以及配置插件。

项目定位

这是一个由 fengyufengzi 维护的开源插件。它向模型注册了一个名为 learning_greet 的工具,用于演示 Harness 扩展点的四个核心用法:声明服务依赖、校验部署配置、注册随插件生命周期自动撤销的能力,以及从同一份 schema 推导参数和输出类型。

核心功能

  • 注册 learning_greet 工具。
  • 通过 inject = ['tools'] 声明服务依赖。
  • 使用 Config 进行部署配置校验(基于 Schemastery)。
  • 通过 ctx.tools.register() 注册工具。
  • 使用 defineTool() 推导类型。
  • 包含完整的类型检查、测试和发布构建流程。

环境要求

  • Node.js ^22.19.0 || >=24.0.0
  • Corepack
  • pnpm 11.7.0
  • DeepSeek Harness 0.1.0-rc.6 系列

安装与启用

先构建插件,然后从本项目目录安装到 web profile:

corepack pnpm run build
npx @deepseek-ai/dsh plugin --profile web add .
npx @deepseek-ai/dsh --profile web --dump-config
npx @deepseek-ai/dsh --profile web

在 package.json 中配置了 dsh.bundle 后,DSH 会自动应用 cordis.patch.yml。启动后,可以在对话中输入以下指令:

Use learning_greet to greet Ada.

若要移除插件:

npx @deepseek-ai/dsh plugin --profile web remove dsh-learning-plugin

适用场景与注意

这是一个学习项目,用于演示 Harness 插件开发机制,并非诊断或生产运维插件。

Harness 目前处于开发者预览阶段,插件 API 可能发生破坏性变化。在安装使用前,请确认当前环境版本及源码内容。

摘要

该插件通过具体的代码示例,展示了 Harness 插件开发的四个关键扩展点。完整源码与目录信息可查看 GitHub 仓库。

羽毛球分组比赛记分
小程序二维码

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

小夜