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

插件脚手架示例 xiaoziwenjie-code/dsh-plugin-demo-tool

DeepSeek Harness
xiaoziwenjie-code9 天前有提交已提供中文文档扫描:未发现敏感能力

生成可运行的工具插件模板,快速验证注册与加载

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · dev
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 9 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/10/31(1 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

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

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-tools@deepseek-ai/cordis
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DeepSeek Harness 工具插件,由 create-dsh-plugin 生成的演示脚手架

README

由 DeepSeek 最新模型翻译生成
dsh-plugin-demo-tool 由 create-dsh-plugin 生成的 DeepSeek Harness 工具插件。 由 create-dsh-plugin 生成的 DeepSeek Harness 工具插件。 通过 defineTool() 注册 xiaoziwenjie_code_demo_tool 工具。 快速开始 / 快速开始 pnpm install pnpm run build # tsc → dist/index.js (pure ESM) From the PARENT directory, install into a profile and boot: dsh plugin --profile my-profile add ./dsh-plugin-demo-tool dsh --profile my-profile # watch for: [xiaoziwenjie-code-demo-tool] registered "xiaoziwenjie_code_demo_tool" — listed=true 注意:dsh plugin add <dir> 的相对路径锚定「调用目录」,请在插件父目录执行。
展开完整文档(README 剩余 1 节)
dsh-plugin-demo-tool

由 create-dsh-plugin 生成的 DeepSeek Harness 工具插件。
由 create-dsh-plugin 生成的 DeepSeek Harness 工具插件。

通过 defineTool() 注册 xiaoziwenjie_code_demo_tool 工具。

快速开始 / 快速开始

pnpm install
pnpm run build # tsc → dist/index.js (pure ESM)

From the PARENT directory, install into a profile and boot:
dsh plugin --profile my-profile add ./dsh-plugin-demo-tool
dsh --profile my-profile # watch for: [xiaoziwenjie-code-demo-tool] registered "xiaoziwenjie_code_demo_tool" — listed=true

注意:dsh plugin add <dir> 的相对路径锚定「调用目录」,请在插件父目录执行。

无 key 验证 / 无 key 验证

dsh --profile my-profile --dump-config | grep xiaoziwenjie-code-demo-tool # 配置层含本行
dsh plugin --profile headless add ./dsh-plugin-demo-tool
dsh --profile headless "run a probe" # session/event 触发;模型调用会 MISSING_CREDENTIAL

依赖锁定 / 依赖锁定

- @deepseek-ai/dsh-tools:0.2.1-rc.2(精确锁定 —— 属于 next tag 线;npm 的 latest 已过期)。
- @deepseek-ai/cordis:^4.0.5(peerDependency —— 由宿主提供;代码里只引类型)。

主题与皮肤兼容 / 主题与皮肤兼容

本插件没有自有宿主 UI(工具结果走官方聊天面渲染),天然兼容。若以后加面板,请遵循 DSH Web 样式契约:颜色只用 --dsw-alias- 令牌,并输出 data-dsh-plugin / data-dsh-part / data-dsh-surface 语义属性(dsh-web skin-center 契约)。

本插件没有自有宿主 UI(工具结果走官方聊天面渲染),天然兼容。若以后加面板:颜色只用 --dsw-alias- 令牌,并输出 data-dsh- 语义属性(见上方契约链接)。

坑(从真实 spike 提炼,防呆)/ 坑(从真实 spike 提炼,防呆)

1. Node 版本:DSH 要求 Node ^22.19.0 || >=24.0.0。旧版本(如 v22.17)只告警 EBADENGINE,不阻断,但建议升级。
- Node 版本:DSH 要求 ^22.19.0 || >=24.0.0。旧版本(如 v22.17)只告警 EBADENGINE,不阻断,但建议升级。

2. npm dist-tag 坑(最大):@deepseek-ai/dsh-tools 的 latest 是过期的 0.0.1-rc.1,正确版本在 next tag(0.1.0-rc.x)。本脚手架已锁 next 版本,勿再手动 npm i @deepseek-ai/dsh-tools 覆盖。
- npm dist-tag 坑(最大):@deepseek-ai/dsh-tools 的 latest 是过期的 0.0.1-rc.1,正确版本在 next tag。本脚手架已锁 next 版本,勿再手动 npm i 覆盖。

3. 版本线对齐:所有 @deepseek-ai/dsh- 包统一用同一 0.1.0-rc.x 线,避免 pnpm 装两份模块。
- 版本线对齐:所有 @deepseek-ai/dsh-* 包统一用同一 0.1.0-rc.x 线,避免 pnpm 装两份模块。

4. @deepseek-ai/cordis 是 peerDependency:只 import type { Context }(编译期擦除)。运行时 ctx 由宿主传入 —— 绝不要在运行时 import cordis 的值。
- @deepseek-ai/cordis 是 peerDep:只 import type(编译期擦除),运行时 ctx 由宿主传入。
5. 纯 ESM:package.json 必须设置 "type": "module";构建时用 module: esnext + moduleResolution: bundler,保留 bare specifier。
- 纯 ESM:package.json 必须 "type": "module";tsc 用 module:esnext + moduleResolution:bundler 保留 bare specifier。

6. dsh plugin add <dir> 把相对路径锚定到调用目录 —— 要在插件的父目录执行,不要在插件内部执行。
- dsh plugin add <dir> 的相对路径锚定调用目录——要在插件的父目录执行。

7. bundle 的 cordis.patch.yml 里,name 是包名(通过 node_modules / $DSH_HOME/profiles/node_modules 解析),不是相对路径。
- bundle 的 cordis.patch.yml 里 name 用包名(走 node_modules 解析),不要用相对路径。

8. 注册即 effect:ctx.tools.register() / ctx.on() 在卸载时自动清理。你自己的资源(timer/连接)要包进 ctx.effect(() => { acquire; return cleanup })。
- 注册是 effect:ctx.tools.register()/ctx.on() 卸载自动清理;自己的资源(timer/连接)要包 ctx.effect(() => {…; return cleanup})。

9. 加载顺序看服务依赖,不看文件顺序:export const inject = ['tools'] 让插件等到 ctx.tools 就绪再加载。
- 加载顺序靠服务依赖(inject),不靠文件顺序。

10. 完整端到端(模型真正调用你的工具)需要 DEEPSEEK_API_KEY;没有它,--verify 只能证明加载/列出/事件,模型调用会以 MISSING_CREDENTIAL 失败。
- 端到端(模型真正调工具)需 DEEPSEEK_API_KEY;无 key 时 --verify 只能证明加载/列出/事件,模型调用会 MISSING_CREDENTIAL。
预览分享卡片长什么样 ↓xiaoziwenjie-code/dsh-plugin-demo-tool
分享 · DeepSeek Harness Hub
xiaoziwenjie-code/dsh-plugin-demo-tool

生成可运行的工具插件模板,快速验证注册与加载

回到顶部