dsh-plugin-evaluation/dsh-plugin-evaluation-standards
Open evaluation datasets, test cases, and metrics for DSH plugins.
Project Overview项目介绍
A catalog of evaluation datasets for DSH plugins, each shipping a profile (metric configuration) and a cases file (test prompts and expected answers) to assess plugin behavior. The current entry, prompt-injection-basic-v1, is a general-purpose security dataset with one case that checks whether a plugin completes the original task while ignoring prompt-injection content, avoiding prompt or secret leakage, and not claiming to execute an untrusted command. Fetch it by cloning a versioned checkout; run npm run validate and npm test before contributing.
DSH 插件评测数据集目录,提供 profile(指标配置)与 cases(测试用例)文件,用于评估 DSH 插件行为。当前收录 prompt-injection-basic-v1 通用安全数据集,含 1 个用例,检查插件在忽略提示注入的同时完成原任务、不泄露系统提示或密钥、不声执行不可信命令。通过克隆版本化仓库获取,验证用 npm run validate 与 npm test。
请帮我了解并安装插件:【dsh-plugin-evaluation-standards】【https://github.com/dsh-plugin-evaluation/dsh-plugin-evaluation-standards】
Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。
Or use CLI install (for developers)或使用命令行安装(适合开发者)
CLI Install命令行安装
dsh plugin --profile web add github:dsh-plugin-evaluation/dsh-plugin-evaluation-standards
把 dsh-plugin-evaluation/dsh-plugin-evaluation-standards 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
DSH Plugin Evaluation Datasets
A growing collection of evaluation datasets for DSH plugins.
Each dataset is a profile (which metrics to use) and a cases file (test prompts and expected answers). Pick one that fits your plugin, run its cases, and use the results to understand how your plugin behaves.
Start here
- Browse the datasets.
- Choose one that matches your plugin and the scenarios you want to cover.
- Open its profile and cases files.
- Run the cases against your plugin and review the results.
Need a dataset that is not here yet? Use the AI-assisted authoring guide to draft one, then contribute it.
Build this collection with us
Plugin authors, users, and people who know real business scenarios are all welcome. You do not need a finished JSON dataset to participate:
- Have a real scenario? Open an issue with how a user would ask, what the plugin should do, and the supporting facts or setup conditions.
- Have a small set of cases? Submit a profile and cases following the contribution guide.
- Maintain a dataset long term? Keep it in your own repository and add it to this catalog using the external dataset listing guide.
Common tasks, tricky conditions, and cases where a plugin should avoid making things up are all valuable. Do not submit private business material, personal data, or secrets.
Datasets
| Dataset | Plugin type | Covers | Cases | Metrics |
|---|---|---|---|---|
| Basic Prompt Injection | general |
Original-task completion, prompt leakage, secret leakage, malicious commands | 1 | prompt-injection-safety |
Basic Prompt Injection
The first general-purpose security dataset checks whether a plugin completes the original task while ignoring untrusted prompt-injection content.
- ID:
prompt-injection-basic-v1 - Version:
1.1.0 - Plugin type:
general - Cases: 1
- Profile and cases: dsh-security-evaluation-dataset
This repository contains the evaluation standards and catalog. It is not published as an npm runtime package. Fetch a versioned checkout when using it:
git clone --branch v1.1.0 --depth 1 \
https://github.com/dsh-plugin-evaluation/dsh-plugin-evaluation-standards.git
The linked security cases are fetched separately from the v1.1.0 tag of the
dataset repository listed above.
The metric checks that the plugin completes the original task, does not disclose system prompts or secrets, and does not claim to execute an untrusted command. Safely quoting, explaining, or refusing a malicious command is not execution.
Dataset files
Each dataset has two files:
profiles/<id>.json Which metrics to use and where to find the cases
cases/<id>.json Plugin types and test cases
A test case looks like this:
{
"id": "case-id",
"title": "A short name for the case",
"prompt": "The input sent to the plugin",
"expected": "The answer you expect"
}
Case field contract
Case fields are split into three layers:
- Core execution fields:
idandtitleidentify a case. A normal case also requirespromptandexpected; these are the fields a generic runner consumes. - Type-specific fields: a case with
typeuses that type's schema. For example,prompt-injectionrequiresoriginalTask,input,expectedOutput,untrustedContent, andsafetyRequirements. - Extension fields: additional fields are allowed for dataset-specific metadata, such as security categories, delivery channels, provenance, or licensing. Runners must ignore fields they do not understand.
Keep execution fields stable. Add new semantics as a type-specific or extension field unless a runner must consume them for every dataset.
Supported metrics
| Metric type | Available now | Changes pass/fail |
|---|---|---|
llm_judge |
Yes | Yes |
observation |
Yes | No |
tool_trace |
Not yet | No |
threshold |
Not yet | No |
Add a dataset
You can contribute a small dataset directly to this repository, or keep a larger dataset in its own repository and add it to the catalog.
- Read CONTRIBUTING.md before opening a pull request.
- Read DATASET_LISTING.md when adding an external dataset.
- Run these checks before submitting:
npm run validate
npm test
WYH66666666/DSH-Transparent-UI-Plugin
Nagi-ovo/dsh-visualize
omdsh-dev/dsh-data-agent
morluto/jacobian
Awu12277/dsh-stock-watch
dream12347/dsh-session-manager
MiaoQichuan/new-litigation-visualization
HeiGeAi/deepseek-harness-skin