🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

插件开发示例集 tanzhangjia/dsh-plugins-examples

DeepSeek Harness
tanzhangjia74 天前有提交已提供中文文档扫描:无法判定

跟着示例学会编写并部署自定义插件

25.8/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/12 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add tanzhangjia/dsh-plugins-examples
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · other
装得上吗
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 74 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
⚠︎ 实装验证未通过(unknown · 2026/10/12) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
⚪ 扫描:无法判定尚无人工评估
展开查看扫描说明与证据 ↓

已尝试扫描但取不到可分析的源码:仓库或包不存在、已删除,或为非 JS/TS 实现、未随包发布源码。无法判定,不代表安全。

  • · 包内无可扫 JS
  • · TS 源码(可能为非 JS 实现或未发布源码),无法判定
扫描于 2026/11/4(0 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 本地插件开发示例
  • 创建自定义插件
  • 学习部署插件

DeepSeek Harness 本地插件开发示例 - 学习如何创建自定义 DSH 插件

README

由 DeepSeek 最新模型翻译生成
DeepSeek Harness 本地插件开发示例 学习如何创建和部署自定义 DSH 插件 📚 简介 本仓库提供 DeepSeek Harness (DSH) 本地插件开发的完整示例和工具链。通过这些示例,你可以学习如何: - ✅ 创建自定义 DSH 插件 - ✅ 注册模型工具(Tools) - ✅ 集成第三方 API - ✅ 部署本地插件到 DSH 🎯 示例插件 | 插件名称 | 工具数 | 功能描述 | | dsh-tool-example | 7 | 第三方 API 集成示例 | | dsh-image-recognition | 1 | 图像识别工具示例 | | dsh-blog-api | 9 | 博客平台 API 集成示例 | | dsh-design-tool | 9 | 设计工具 API 集成示例 | 总计: 4 个示例插件,26 个工具 🚀 快速开始 1. 创建插件 使用脚本快速创建插件骨架: .\scripts\create-local-plugin.ps1 -pluginName "my-tool" -seam "tools" 生成的结构: dsh-my-tool/ ├── package.json ├── lib/ │ └── index.js └── cordis.patch.yml 2. 实现工具
展开完整文档(README 剩余 1 节)
DeepSeek Harness 本地插件开发示例

学习如何创建和部署自定义 DSH 插件

📚 简介

本仓库提供 DeepSeek Harness (DSH) 本地插件开发的完整示例和工具链。通过这些示例,你可以学习如何:

- ✅ 创建自定义 DSH 插件
- ✅ 注册模型工具(Tools)
- ✅ 集成第三方 API
- ✅ 部署本地插件到 DSH

🎯 示例插件

| 插件名称 | 工具数 | 功能描述 |
| dsh-tool-example | 7 | 第三方 API 集成示例 |
| dsh-image-recognition | 1 | 图像识别工具示例 |
| dsh-blog-api | 9 | 博客平台 API 集成示例 |
| dsh-design-tool | 9 | 设计工具 API 集成示例 |

总计: 4 个示例插件,26 个工具

🚀 快速开始

1. 创建插件

使用脚本快速创建插件骨架:

.\scripts\create-local-plugin.ps1 -pluginName "my-tool" -seam "tools"

生成的结构:

dsh-my-tool/
├── package.json
├── lib/
│ └── index.js
└── cordis.patch.yml

2. 实现工具

在 lib/index.js 中定义工具:

import z from "@deepseek-ai/schemastery";
import { defineTool } from "@deepseek-ai/dsh-tools";

export const name = "my-tool";
export const inject = ["tools"];
export const Config = z.object({});

export function apply(ctx, config = {}) {
const myTool = defineTool({
name: "my_tool",
description: "My custom tool",
parameters: {
input: {
type: "string",
required: true,
description: "Input parameter"
}
},
output: { schema: { type: "json" } },
async execute(args) {
return { result: Processed: ${args.input} };
}
});

ctx.tools.register(myTool);
console.log('[my-tool] Loaded successfully');
}

3. 部署插件

使用部署脚本 .\scripts\deploy-local-plugin.ps1 -sourcePath "D:\dspace\dsh-my-tool" -pluginName "my-tool"

或手动复制 Copy-Item -Path "D:\dspace\dsh-my-tool\*" -Destination "C:\Users\用户名\.dsh\profiles\node_modules\@deepseek-ai\dsh-my-tool\" -Recurse -Force

4. 重启 DSH

dsh web

查看日志确认加载成功: [my-tool] Loaded successfully

5. 刷新浏览器

访问 http://127.0.0.1:3080 并刷新页面,在工具列表中查看新添加的工具。

🛠️ 开发工具

创建新插件

.\scripts\create-local-plugin.ps1 -pluginName "my-tool" -seam "tools"

参数说明:
- -pluginName: 插件名称(如 my-tool)
- -seam: 插件类型,tools 表示工具类插件

部署插件

.\scripts\deploy-local-plugin.ps1 -sourcePath "D:\dspace\dsh-my-tool" -pluginName "my-tool"

参数说明:
- -sourcePath: 插件源代码路径
- -pluginName: 插件名称(用于目标目录名)

📖 核心概念

插件结构

每个插件包含以下文件:

dsh-<plugin-name>/
├── package.json # 插件元数据 ├── lib/ │ └── index.js # 插件主代码 └── cordis.patch.yml # 注册配置(可选)

package.json 示例

{
"name": "@deepseek-ai/dsh-my-tool",
"version": "0.1.0",
"type": "module",
"exports": {
".": "./lib/index.js"
},
"peerDependencies": {
"@deepseek-ai/dsh-tools": "^0.1.0-rc.6",
"@deepseek-ai/schemastery": "^3.18.1",
"@deepseek-ai/cordis": "^4.0.1"
}
}

工具定义规范

参数 Schema 规则

// ✅ 正确 - 可选参数
parameters: {
requiredField: {
type: "string",
required: true,
description: "必填字段" },
optionalField: {
type: "string",
description: "可选字段", default: "默认值" } }

// ❌ 错误 - required 不能为 false
parameters: {
optionalField: {
type: "string",
required: false, // 不允许!
default: "默认值" } }

输出 Schema

必须包含 output 字段:

output: {
schema: { type: "json" }
}

配置管理

用 z.object() 定义配置 schema:

import z from "@deepseek-ai/schemastery";

export const Config = z.object({
apiKey: z.string().describe("API Key"),
timeout: z.number().default(30000)
});

注意:用 z.string(),不要用 { type: "string" }

⚠️ 重要注意事项

1. 热重载

tools seam 不支持热重载,每次修改后都要重启 DSH:

dsh web

2. 环境变量

第三方 API 的密钥建议通过环境变量配置:

PowerShell 临时设置 $env:API_TOKEN = "your_token"

PowerShell 永久设置
[System.Environment]::SetEnvironmentVariable("API_TOKEN", "your_token", "User")

3. 命名规范

插件名遵循以下规则:

- 工具类插件:dsh-tool-<功能名>
- 功能类插件:dsh-<功能名>
- 包名:@deepseek-ai/dsh-<插件名>

4. 调试技巧

- 查看 DSH 启动日志,确认插件加载
- 在 apply 函数里加 console.log 调试
- 用 ctx 对象访问 DSH 上下文

📝 开发流程

1. 需求分析 - 确定要实现的功能
2. 创建骨架 - 用脚本生成基础结构
3. 实现工具 - 编写 defineTool 和 execute 函数
4. 本地测试 - 部署到本地 DSH 并测试
5. 调试优化 - 根据日志和反馈调整
6. 文档完善 - 更新 README 和使用说明
7. 分享发布 - 推送到 Git 仓库,或分享给团队

🤝 贡献

欢迎提交 Issue 和 Pull Request!

📄 许可证

MIT License - 自由使用、修改和分发。

相关资源:
- DSH 官方仓库
- Cordis 文档
- Schemastery 文档
预览分享卡片长什么样 ↓tanzhangjia/dsh-plugins-examples
分享 · DeepSeek Harness Hub
tanzhangjia/dsh-plugins-examples

跟着示例学会编写并部署自定义插件

这是你的仓库?认领条目

回到顶部