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

插件脚手架 skyzhao1223/dsh-plugin-scaffold

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

用最小可运行模板快速搭建并验证自定义工具插件

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么[目录]—
dsh 原生插件 · dev
暂无时间戳·判据 →
装得上吗[实装验证]!
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
数据截至 2026/10/07·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/03·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 72 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

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

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

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

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

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

功能亮点

  • 最小可运行插件模板
  • 快速搭建并验证插件

最小可运行的 DeepSeek Harness(dsh)插件脚手架:用 ctx.tools 暴露一个面向模型的工具

README

由 DeepSeek 最新模型翻译生成
dsh-plugin-scaffold 一个最小、可运行的 DeepSeek Harness(dsh)插件脚手架。它在共享的 ctx.tools 服务上注册一个模型可调用的工具(hello),用最小的代码面完整验证加载链路——插件解析 → Loader 挂载 → 工具注册 → 模型调用。 这是一个外部/社区插件:它不在 deepseek-harness monorepo 内,而是基于已发布的 npm 包(@deepseek-ai/dsh-tools、@deepseek-ai/dsh-llm、@deepseek-ai/cordis)构建。这正是项目鼓励的贡献方式——参见 CONTRIBUTING.md:目前项目不接受外部 PR,但欢迎带有 dsh-plugin 标签的生态插件。 工具做什么 hello 工具接收一个 name,返回结构化 JSON: { "greeting": "Hello, World!", "cwd": "/path/to/cwd" } 它的作用是验证链路是否打通,而不是做真实工作。把它当作开发真实能力(文件访问、网页抓取、Shell、定时任务……)的起始模板。 从这里能做什么 这个脚手架只是插件的一种形态——模型可调用的工具。DeepSeek Harness 的设计是一切皆插件,所以同样的加载路径可以解锁很多其他扩展点。
展开完整文档(README 剩余 1 节)
dsh-plugin-scaffold

一个最小、可运行的 DeepSeek Harness(dsh)插件脚手架。它在共享的 ctx.tools 服务上注册一个模型可调用的工具(hello),用最小的代码面完整验证加载链路——插件解析 → Loader 挂载 → 工具注册 → 模型调用。

这是一个外部/社区插件:它不在 deepseek-harness monorepo 内,而是基于已发布的 npm 包(@deepseek-ai/dsh-tools、@deepseek-ai/dsh-llm、@deepseek-ai/cordis)构建。这正是项目鼓励的贡献方式——参见 CONTRIBUTING.md:目前项目不接受外部 PR,但欢迎带有 dsh-plugin 标签的生态插件。

工具做什么

hello 工具接收一个 name,返回结构化 JSON:

{ "greeting": "Hello, World!", "cwd": "/path/to/cwd" }

它的作用是验证链路是否打通,而不是做真实工作。把它当作开发真实能力(文件访问、网页抓取、Shell、定时任务……)的起始模板。

从这里能做什么

这个脚手架只是插件的一种形态——模型可调用的工具。DeepSeek Harness 的设计是一切皆插件,所以同样的加载路径可以解锁很多其他扩展点。挑一个方向,把 hello 工具替换成真实行为即可:

| 方向 | 做什么 | 例子 |
| 数据查询工具 | 模型调用工具,你拉取 API 并返回 JSON | 天气、汇率、股票、GitHub |
| 数据库工具 | 执行校验过的查询 | 只读 SQL、内部看板 |
| 文件/工作区工具 | 读写、汇总项目文件 | 定制 grep、批量重命名、代码统计 |
| 外部服务桥接 | 为模型封装 REST/GraphQL/CLI API | 翻译、OCR、发邮件、触发 CI |
| 事件监听 | 观察 agent/、tools/ 事件并响应 | 自动会话标题、护栏、用量日志 |
| 上下文注入 | 每次模型请求附带持久上下文 | agent.inject() 注入项目/时间/环境信息 |
| 模型 provider | 在 ctx.llm 注册新适配器 | 本地 Ollama、OpenAI 兼容接口 |
| 人工命令 | 不经过模型直接执行的 /command | ctx.commands,如 /deploy |
| 后台任务 | 长任务或定时任务 | ctx.jobs、轮询、提醒 |
| 策略/沙箱 | 限制 fs/shell/subprocess 访问 | 审批门、白名单 |
| UI 卡片 | 定制工具在 Web UI 中的展示 | presentCall / presentResult、diff/终端卡片 |
| 自我修改 | 让 agent 检查并装卸自己的插件 | 官方 web-cordis 示例 |

可参考的现成示例见官方 examples/:web-schedule(持久提醒)、mcp-memory(通过 MCP 接外部记忆)、web-cordis(agent 修改自己的插件树)、headless-agent(一次性任务)。扩展点地图见 docs/architecture.md。

每种形态都遵循本脚手架演示的同一套模式:一个 name/inject/Config/apply 模块,其注册是卸载时可回滚的 effect。

项目结构

src/index.ts # 插件本体:name / inject / Config / apply(函数插件,无 default export) scripts/verify.ts # 通过 ctx.plugin() 验证加载链路(真实 dsh-tools 运行时) scripts/verify-loader.ts # 通过 Cordis Loader + cordis.yml 验证加载链路(dsh 真实的启动路径) cordis.yml # 可选 overlay:把插件行插入 dsh 组合配置 verify.cordis.yml # verify-loader.ts 使用的自包含 Loader 组合配置

环境要求

- Node.js ^22.19.0 || >=24.0.0
- 能解析已发布 @deepseek-ai/ 包的 dsh 安装
- pnpm(用于开发)

开发

pnpm install
pnpm build # tsc -> lib/index.js + lib/types
pnpm test # vitest:导出形态、注册、调用、卸载回滚
pnpm verify # ctx.plugin() 路径:挂载真实 dsh-tools + 插件,调用 hello
pnpm verify:loader # Loader 路径:通过 Cordis Loader 启动 verify.cordis.yml,调用 hello

两个 verify 脚本会断言结果为非错误,失败时以非零码退出。vitest 套件覆盖插件导出形态、工具注册与规范返回值、非法参数拒绝、以及卸载时的 effect 回滚。CI 在 Node 22 和 24 上运行全部四项。

挂载到 dsh

把 overlay 传给 dsh web(或 dsh headless):

dsh web --patch "$PWD/cordis.yml"

overlay 会 insert 一行。使用指向构建产物的相对路径,让 Loader 相对配置文件目录解析,不依赖包安装:

- insert:
- id: dsh-plugin-scaffold
name: './path/to/lib/index.js'

本仓库的 cordis.yml 就带的是这种相对形式。在 Web UI 里,让模型「用我的名字调用 hello 工具」即可看到效果。

裸包名解析(「发布插件」的真正含义)

Cordis Loader 从它自身的模块位置解析裸包名(dsh-plugin-scaffold、@deepseek-ai/),而不是启动目录。所以裸 name: dsh-plugin-scaffold 只有在包被安装到 dsh 安装树的 node_modules 里才能解析(例如 npm install -g dsh-plugin-scaffold 让它和 Loader 相邻,或安装到 profile 的 node_modules)。两种可靠方式:

- 发布到 npm 并全局安装——裸包名即可从 Loader 位置解析。
- 使用相对/绝对路径指向构建产物 lib/index.js——总是相对配置文件位置解析。

如需持久安装,把同样的 insert 块加到 $DSH_HOME/profiles//cordis.patch.yml(单个 profile)或 $DSH_HOME/cordis.patch.yml(所有 profile),参见 web-schedule 示例。不要覆盖已有文件——它可能已经包含无关的用户补丁。

关于已发布的 @deepseek-ai/* 包

本脚手架依赖 npm 发布的版本(0.1.0-rc.6),而非 monorepo 的 workspace 版本。如果未来版本修改了 defineTool / ToolRuntime 契约,请同步更新这里的 peerDependencies / devDependencies。插件刻意保持轻量依赖:只有 @deepseek-ai/cordis(类型 + Context)、@deepseek-ai/dsh-tools(defineTool + ctx.tools)、@deepseek-ai/dsh-llm(ContentBlock,仅类型)、@deepseek-ai/schemastery(Config schema)。

在 monorepo 内验证

如果 clone 了 deepseek-harness 来查看真实运行时,注意全量安装 workspace 会拉取大型可选 provider 二进制(Claude Codex SDK、网站用的 mermaid),在慢网络上容易超时。本脚手架的验证不需要它们:已发布的 @deepseek-ai/dsh-tools 包是自包含的。
预览分享卡片长什么样 ↓skyzhao1223/dsh-plugin-scaffold
分享 · DeepSeek Harness Hub
skyzhao1223/dsh-plugin-scaffold

用最小可运行模板快速搭建并验证自定义工具插件

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部