dsh-eval-pack 0.1.0-alpha.3 → 0.1.0-alpha.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README-pt.md CHANGED
@@ -2,11 +2,18 @@
2
2
 
3
3
  # dsh-eval-pack
4
4
 
5
+ > **Repositório oficial.** O único repositório oficial deste pacote, mantido por PerryLink. Repositórios com o mesmo nome em outras contas não são afiliados. Apache-2.0.
6
+
5
7
  [![npm](https://img.shields.io/npm/v/dsh-eval-pack)](https://www.npmjs.com/package/dsh-eval-pack)
6
8
  [![CI](https://github.com/PerryLink/dsh-eval-pack/actions/workflows/ci.yml/badge.svg)](https://github.com/PerryLink/dsh-eval-pack/actions)
7
9
  [![License](https://img.shields.io/badge/license-Apache--2.0-blue)](LICENSE)
8
10
  [![dsh-plugin](https://img.shields.io/badge/dsh--plugin-%E2%9C%93-green)](https://github.com/topics/dsh-plugin)
9
11
  [![docs](https://img.shields.io/badge/docs-domain%20index-0b5fff)](https://perrylink.github.io/dsh-plugins/)
12
+ [![Gitee](https://img.shields.io/badge/Gitee-aggregate-c71d23?logo=gitee)](https://gitee.com/perrylink/dsh-plugins)
13
+ [![dshfind](https://dshfind.com/api/badge/PerryLink/dsh-eval-pack?metric=downloads)](https://dshfind.com/plugins/PerryLink/dsh-eval-pack?ref=badge)
14
+ [![DSH Market](https://raw.githubusercontent.com/2BingLing/dsh-market/master/assets/readme/badge-listed-en.svg)](https://dsh.market/)
15
+ [![Node](https://img.shields.io/badge/node-24.9%2B-brightgreen)](#)
16
+ [![npm downloads](https://img.shields.io/npm/dm/dsh-eval-pack)](https://www.npmjs.com/package/dsh-eval-pack)
10
17
 
11
18
  **Lint de eval-pack público/sintético e corretor JSON determinístico; não é um benchmark validado.**
12
19
 
@@ -20,6 +27,8 @@ dsh plugin --profile <profile> add dsh-eval-pack
20
27
 
21
28
  </div>
22
29
 
30
+ > ⭐ Se isso ajudar, uma estrela facilita a próxima pessoa encontrar. Nada fica bloqueado por ela.
31
+
23
32
  ![Workflow diagram for dsh-eval-pack: local input, plugin, local output.](docs/assets/dsh-eval-pack-flow.svg)
24
33
 
25
34
  *Fluxo: entrada local → plugin → saída local. Não exige chamada a modelo.*
@@ -39,6 +48,16 @@ Desinstalar:
39
48
  dsh plugin --profile <profile> remove dsh-eval-pack
40
49
  ```
41
50
 
51
+
52
+ ### Canais de instalação
53
+
54
+ npm é o canal recomendado; os demais servem para fixar versão ou offline.
55
+
56
+ - **npm (recomendado):** `dsh plugin --profile <profile> add dsh-eval-pack`
57
+ - **canal git:** `dsh plugin --profile <profile> add github:PerryLink/dsh-eval-pack`
58
+ - **tarball:** `pnpm pack` then `dsh plugin --profile <profile> add ./dsh-eval-pack-<version>.tgz`
59
+ - **loja 1024:** `npm i -g dsh1024` then `dsh1024 plugin --profile <profile> add dsh-eval-pack`
60
+
42
61
  ## O que faz
43
62
 
44
63
  Lint de eval-pack público/sintético e corretor JSON determinístico; não é um benchmark validado. Executa localmente no DeepSeek Harness. A tabela abaixo é a superfície exata de ferramentas; os exemplos usam a interface real.
@@ -47,12 +66,12 @@ Entrada e saída permanecem locais; nada é enviado.
47
66
 
48
67
  ## Ferramentas
49
68
 
50
- Nomes e descrições de ferramentas ficam em inglês para corresponder à saída runtime.
69
+ Os nomes das ferramentas são a API estável; as descrições estão localizadas.
51
70
 
52
- | Ferramenta | Finalidade (em inglês) | Risco |
71
+ | Ferramenta | Finalidade | Risco |
53
72
  |---|---|---|
54
- | `eval.pack_lint` | Validate eval-pack name/version and unique task ids | R0 |
55
- | `eval.grade` | Deterministic JSON equality grade | R0 |
73
+ | `eval.pack_lint` | Valida nome/versão do eval-pack e IDs de tarefa exclusivos | R0 |
74
+ | `eval.grade` | Avaliação determinística por igualdade de JSON | R0 |
56
75
 
57
76
  ## Início rápido
58
77
 
@@ -61,6 +80,22 @@ dsh plugin --profile <profile> add dsh-eval-pack
61
80
  dsh --profile <profile> --dump-config | grep dsh-eval-pack
62
81
  ```
63
82
 
83
+ ## Exemplos
84
+
85
+ ### Exemplo com fixture
86
+
87
+ Entrada: `fixtures/`
88
+
89
+ Comando: `pnpm test`
90
+
91
+ Linha de aceitação:
92
+
93
+ | req_id | metric | threshold | actual | pass | source | counted |
94
+ |---|---|---|---|---|---|---|
95
+ | EVAL-A01 | valid pack accepted | | true | true | public/synthetic | false |
96
+
97
+ *É uma linha de aceitação com fixture, não uma execução de cliente; nenhuma saída é inventada.*
98
+
64
99
  ## Limites
65
100
 
66
101
  - Apenas público/sintético; sem dados ou evidência de clientes.
@@ -70,7 +105,7 @@ dsh --profile <profile> --dump-config | grep dsh-eval-pack
70
105
 
71
106
  ## Amostra pública
72
107
 
73
- As fixtures públicas/sintéticas ficam em `test/fixtures/`; `ACCEPTANCE.csv` registra as verificações com `counted=false`.
108
+ As fixtures públicas/sintéticas ficam em `fixtures/`; `ACCEPTANCE.csv` registra as verificações com `counted=false`.
74
109
 
75
110
  ## Desenvolvimento
76
111
 
@@ -79,6 +114,30 @@ pnpm install --frozen-lockfile
79
114
  pnpm build && pnpm lint && pnpm typecheck && pnpm test
80
115
  ```
81
116
 
117
+ ## Compatibilidade
118
+
119
+ | Superfície | Status |
120
+ |---|---|
121
+ | Harness | `dsh >=0.2.1-rc.3 <0.3.0` |
122
+ | Node | `>=24.9.0 <25` |
123
+ | Platforms | All; local files only |
124
+ | Dados | No network, no model call, no upload |
125
+
126
+ ## Permissões e dados
127
+
128
+ - Executa localmente; sem rede, sem modelo, sem upload.
129
+ - Apenas fixtures públicas/sintéticas; sem dados ou evidência de clientes.
130
+ - Alpha/parcial; não contabilizado, sem GA ou promessa de produção.
131
+ - Pacotes congelados continuam instaláveis; sem novos recursos, apenas falhas reais.
132
+
133
+ ## Trabalho relacionado
134
+
135
+ Pacotes irmãos e índices da família: [dsh-policy-ledger](https://github.com/PerryLink/dsh-policy-ledger) · [dsh-pim-lint](https://github.com/PerryLink/dsh-pim-lint)
136
+
137
+ - [Índice de domínio](https://perrylink.github.io/dsh-plugins/)
138
+ - [Família de checkers](https://perrylink.github.io/zh/checkers/)
139
+ - [Família principal](https://github.com/PerryLink/dsh-kit)
140
+
82
141
  ## Família
83
142
 
84
143
  <details>
@@ -106,6 +165,107 @@ pnpm build && pnpm lint && pnpm typecheck && pnpm test
106
165
 
107
166
  </details>
108
167
 
168
+
169
+ <details>
170
+ <summary>Família principal — 92 specs de instalação</summary>
171
+
172
+ | Package | npm |
173
+ |---|---|
174
+ | **[dsh-aqua-input-check](https://github.com/PerryLink/dsh-aqua-input-check)** | [npm](https://www.npmjs.com/package/dsh-aqua-input-check) |
175
+ | **[dsh-archive-check](https://github.com/PerryLink/dsh-archive-check)** | [npm](https://www.npmjs.com/package/dsh-archive-check) |
176
+ | **[dsh-bid-ca-precheck](https://github.com/PerryLink/dsh-bid-ca-precheck)** | [npm](https://www.npmjs.com/package/dsh-bid-ca-precheck) |
177
+ | **[dsh-bid-qual-check](https://github.com/PerryLink/dsh-bid-qual-check)** | [npm](https://www.npmjs.com/package/dsh-bid-qual-check) |
178
+ | **[dsh-contract-stance](https://github.com/PerryLink/dsh-contract-stance)** | [npm](https://www.npmjs.com/package/dsh-contract-stance) |
179
+ | **[dsh-customs-doc-check](https://github.com/PerryLink/dsh-customs-doc-check)** | [npm](https://www.npmjs.com/package/dsh-customs-doc-check) |
180
+ | **[dsh-demurrage-ledger](https://github.com/PerryLink/dsh-demurrage-ledger)** | [npm](https://www.npmjs.com/package/dsh-demurrage-ledger) |
181
+ | **[dsh-drill-script-check](https://github.com/PerryLink/dsh-drill-script-check)** | [npm](https://www.npmjs.com/package/dsh-drill-script-check) |
182
+ | **[dsh-eia-guide-check](https://github.com/PerryLink/dsh-eia-guide-check)** | [npm](https://www.npmjs.com/package/dsh-eia-guide-check) |
183
+ | **[dsh-emergency-plan](https://github.com/PerryLink/dsh-emergency-plan)** | [npm](https://www.npmjs.com/package/dsh-emergency-plan) |
184
+ | **[dsh-essay-rubric-check](https://github.com/PerryLink/dsh-essay-rubric-check)** | [npm](https://www.npmjs.com/package/dsh-essay-rubric-check) |
185
+ | **[dsh-evidence-check](https://github.com/PerryLink/dsh-evidence-check)** | [npm](https://www.npmjs.com/package/dsh-evidence-check) |
186
+ | **[dsh-export-ctl-check](https://github.com/PerryLink/dsh-export-ctl-check)** | [npm](https://www.npmjs.com/package/dsh-export-ctl-check) |
187
+ | **[dsh-fmea-table-check](https://github.com/PerryLink/dsh-fmea-table-check)** | [npm](https://www.npmjs.com/package/dsh-fmea-table-check) |
188
+ | **[dsh-forecast-penalty](https://github.com/PerryLink/dsh-forecast-penalty)** | [npm](https://www.npmjs.com/package/dsh-forecast-penalty) |
189
+ | **[dsh-gongwen-flow-check](https://github.com/PerryLink/dsh-gongwen-flow-check)** | [npm](https://www.npmjs.com/package/dsh-gongwen-flow-check) |
190
+ | **[dsh-gongwen-word-check](https://github.com/PerryLink/dsh-gongwen-word-check)** | [npm](https://www.npmjs.com/package/dsh-gongwen-word-check) |
191
+ | **[dsh-guard-plan-qc](https://github.com/PerryLink/dsh-guard-plan-qc)** | [npm](https://www.npmjs.com/package/dsh-guard-plan-qc) |
192
+ | **[dsh-hazchem-check](https://github.com/PerryLink/dsh-hazchem-check)** | [npm](https://www.npmjs.com/package/dsh-hazchem-check) |
193
+ | **[dsh-hazplan-check](https://github.com/PerryLink/dsh-hazplan-check)** | [npm](https://www.npmjs.com/package/dsh-hazplan-check) |
194
+ | **[dsh-hidden-risk-map](https://github.com/PerryLink/dsh-hidden-risk-map)** | [npm](https://www.npmjs.com/package/dsh-hidden-risk-map) |
195
+ | **[dsh-hs-classify](https://github.com/PerryLink/dsh-hs-classify)** | [npm](https://www.npmjs.com/package/dsh-hs-classify) |
196
+ | **[dsh-icd-rule-check](https://github.com/PerryLink/dsh-icd-rule-check)** | [npm](https://www.npmjs.com/package/dsh-icd-rule-check) |
197
+ | **[dsh-lawcite-adapter](https://github.com/PerryLink/dsh-lawcite-adapter)** | [npm](https://www.npmjs.com/package/dsh-lawcite-adapter) |
198
+ | **[dsh-lc-doc-check](https://github.com/PerryLink/dsh-lc-doc-check)** | [npm](https://www.npmjs.com/package/dsh-lc-doc-check) |
199
+ | **[dsh-learning-gap-check](https://github.com/PerryLink/dsh-learning-gap-check)** | [npm](https://www.npmjs.com/package/dsh-learning-gap-check) |
200
+ | **[dsh-medrec-qc](https://github.com/PerryLink/dsh-medrec-qc)** | [npm](https://www.npmjs.com/package/dsh-medrec-qc) |
201
+ | **[dsh-nsfc-form-check](https://github.com/PerryLink/dsh-nsfc-form-check)** | [npm](https://www.npmjs.com/package/dsh-nsfc-form-check) |
202
+ | **[dsh-nurse-record-check](https://github.com/PerryLink/dsh-nurse-record-check)** | [npm](https://www.npmjs.com/package/dsh-nurse-record-check) |
203
+ | **[dsh-origin-rvc-check](https://github.com/PerryLink/dsh-origin-rvc-check)** | [npm](https://www.npmjs.com/package/dsh-origin-rvc-check) |
204
+ | **[dsh-ota-review-check](https://github.com/PerryLink/dsh-ota-review-check)** | [npm](https://www.npmjs.com/package/dsh-ota-review-check) |
205
+ | **[dsh-paper-doc-adapter](https://github.com/PerryLink/dsh-paper-doc-adapter)** | [npm](https://www.npmjs.com/package/dsh-paper-doc-adapter) |
206
+ | **[dsh-permit-report-check](https://github.com/PerryLink/dsh-permit-report-check)** | [npm](https://www.npmjs.com/package/dsh-permit-report-check) |
207
+ | **[dsh-pipeline-check](https://github.com/PerryLink/dsh-pipeline-check)** | [npm](https://www.npmjs.com/package/dsh-pipeline-check) |
208
+ | **[dsh-pleading-draft](https://github.com/PerryLink/dsh-pleading-draft)** | [npm](https://www.npmjs.com/package/dsh-pleading-draft) |
209
+ | **[dsh-policy-brief-draft](https://github.com/PerryLink/dsh-policy-brief-draft)** | [npm](https://www.npmjs.com/package/dsh-policy-brief-draft) |
210
+ | **[dsh-power-loss-split](https://github.com/PerryLink/dsh-power-loss-split)** | [npm](https://www.npmjs.com/package/dsh-power-loss-split) |
211
+ | **[dsh-power-ticket-check](https://github.com/PerryLink/dsh-power-ticket-check)** | [npm](https://www.npmjs.com/package/dsh-power-ticket-check) |
212
+ | **[dsh-ppap-check](https://github.com/PerryLink/dsh-ppap-check)** | [npm](https://www.npmjs.com/package/dsh-ppap-check) |
213
+ | **[dsh-protest-deadline](https://github.com/PerryLink/dsh-protest-deadline)** | [npm](https://www.npmjs.com/package/dsh-protest-deadline) |
214
+ | **[dsh-railway-window](https://github.com/PerryLink/dsh-railway-window)** | [npm](https://www.npmjs.com/package/dsh-railway-window) |
215
+ | **[dsh-repair-order-qc](https://github.com/PerryLink/dsh-repair-order-qc)** | [npm](https://www.npmjs.com/package/dsh-repair-order-qc) |
216
+ | **[dsh-review-reply-check](https://github.com/PerryLink/dsh-review-reply-check)** | [npm](https://www.npmjs.com/package/dsh-review-reply-check) |
217
+ | **[dsh-rulefile-check](https://github.com/PerryLink/dsh-rulefile-check)** | [npm](https://www.npmjs.com/package/dsh-rulefile-check) |
218
+ | **[dsh-safety-brief-check](https://github.com/PerryLink/dsh-safety-brief-check)** | [npm](https://www.npmjs.com/package/dsh-safety-brief-check) |
219
+ | **[dsh-site-log-check](https://github.com/PerryLink/dsh-site-log-check)** | [npm](https://www.npmjs.com/package/dsh-site-log-check) |
220
+ | **[dsh-soe-decision-check](https://github.com/PerryLink/dsh-soe-decision-check)** | [npm](https://www.npmjs.com/package/dsh-soe-decision-check) |
221
+ | **[dsh-soilwater-check](https://github.com/PerryLink/dsh-soilwater-check)** | [npm](https://www.npmjs.com/package/dsh-soilwater-check) |
222
+ | **[dsh-sop-sync-check](https://github.com/PerryLink/dsh-sop-sync-check)** | [npm](https://www.npmjs.com/package/dsh-sop-sync-check) |
223
+ | **[dsh-spc-gbt-adapter](https://github.com/PerryLink/dsh-spc-gbt-adapter)** | [npm](https://www.npmjs.com/package/dsh-spc-gbt-adapter) |
224
+ | **[dsh-tender-extract](https://github.com/PerryLink/dsh-tender-extract)** | [npm](https://www.npmjs.com/package/dsh-tender-extract) |
225
+ | **[dsh-tender-matrix](https://github.com/PerryLink/dsh-tender-matrix)** | [npm](https://www.npmjs.com/package/dsh-tender-matrix) |
226
+ | **[dsh-warranty-calc](https://github.com/PerryLink/dsh-warranty-calc)** | [npm](https://www.npmjs.com/package/dsh-warranty-calc) |
227
+ | **[dsh-auto-review](https://github.com/PerryLink/dsh-auto-review)** | [npm](https://www.npmjs.com/package/dsh-auto-review) |
228
+ | **[dsh-autotier](https://github.com/PerryLink/dsh-autotier)** | [npm](https://www.npmjs.com/package/dsh-autotier) |
229
+ | **[dsh-budget](https://github.com/PerryLink/dsh-budget)** | [npm](https://www.npmjs.com/package/dsh-budget) |
230
+ | **[dsh-cert-mcp](https://github.com/PerryLink/dsh-cert-mcp)** | [npm](https://www.npmjs.com/package/dsh-cert-mcp) |
231
+ | **[dsh-checkpoint-rewind](https://github.com/PerryLink/dsh-checkpoint-rewind)** | [npm](https://www.npmjs.com/package/dsh-checkpoint-rewind) |
232
+ | **[dsh-claude-move](https://github.com/PerryLink/dsh-claude-move)** | [npm](https://www.npmjs.com/package/dsh-claude-move) |
233
+ | **[dsh-click](https://github.com/PerryLink/dsh-click)** | [npm](https://www.npmjs.com/package/dsh-click) |
234
+ | **[dsh-composer-history](https://github.com/PerryLink/dsh-composer-history)** | [npm](https://www.npmjs.com/package/dsh-composer-history) |
235
+ | **[dsh-data-quality](https://github.com/PerryLink/dsh-data-quality)** | [npm](https://www.npmjs.com/package/dsh-data-quality) |
236
+ | **[dsh-defend](https://github.com/PerryLink/dsh-defend)** | [npm](https://www.npmjs.com/package/dsh-defend) |
237
+ | **[dsh-doublecheck](https://github.com/PerryLink/dsh-doublecheck)** | [npm](https://www.npmjs.com/package/dsh-doublecheck) |
238
+ | **[dsh-draw](https://github.com/PerryLink/dsh-draw)** | [npm](https://www.npmjs.com/package/dsh-draw) |
239
+ | **[dsh-fast](https://github.com/PerryLink/dsh-fast)** | [npm](https://www.npmjs.com/package/dsh-fast) |
240
+ | **[dsh-fund-research](https://github.com/PerryLink/dsh-fund-research)** | [npm](https://www.npmjs.com/package/dsh-fund-research) |
241
+ | **[dsh-industry-research](https://github.com/PerryLink/dsh-industry-research)** | [npm](https://www.npmjs.com/package/dsh-industry-research) |
242
+ | **[dsh-laya](https://github.com/PerryLink/dsh-laya)** | [npm](https://www.npmjs.com/package/dsh-laya) |
243
+ | **[dsh-library](https://github.com/PerryLink/dsh-library)** | [npm](https://www.npmjs.com/package/dsh-library) |
244
+ | **[dsh-local-ai](https://github.com/PerryLink/dsh-local-ai)** | [npm](https://www.npmjs.com/package/dsh-local-ai) |
245
+ | **[dsh-lsp-actions](https://github.com/PerryLink/dsh-lsp-actions)** | [npm](https://www.npmjs.com/package/dsh-lsp-actions) |
246
+ | **[dsh-mask](https://github.com/PerryLink/dsh-mask)** | [npm](https://www.npmjs.com/package/dsh-mask) |
247
+ | **[dsh-mcp-panel](https://github.com/PerryLink/dsh-mcp-panel)** | [npm](https://www.npmjs.com/package/dsh-mcp-panel) |
248
+ | **[dsh-memento](https://github.com/PerryLink/dsh-memento)** | [npm](https://www.npmjs.com/package/dsh-memento) |
249
+ | **[dsh-observe](https://github.com/PerryLink/dsh-observe)** | [npm](https://www.npmjs.com/package/dsh-observe) |
250
+ | **[dsh-output-styles](https://github.com/PerryLink/dsh-output-styles)** | [npm](https://www.npmjs.com/package/dsh-output-styles) |
251
+ | **[dsh-permission-rules](https://github.com/PerryLink/dsh-permission-rules)** | [npm](https://www.npmjs.com/package/dsh-permission-rules) |
252
+ | **[dsh-plugin-guide](https://github.com/PerryLink/dsh-plugin-guide)** | [npm](https://www.npmjs.com/package/dsh-plugin-guide) |
253
+ | **[dsh-plugin-upgrade](https://github.com/PerryLink/dsh-plugin-upgrade)** | [npm](https://www.npmjs.com/package/dsh-plugin-upgrade) |
254
+ | **[dsh-reach](https://github.com/PerryLink/dsh-reach)** | [npm](https://www.npmjs.com/package/dsh-reach) |
255
+ | **[dsh-research-report](https://github.com/PerryLink/dsh-research-report)** | [npm](https://www.npmjs.com/package/dsh-research-report) |
256
+ | **[dsh-score](https://github.com/PerryLink/dsh-score)** | [npm](https://www.npmjs.com/package/dsh-score) |
257
+ | **[dsh-session-sync](https://github.com/PerryLink/dsh-session-sync)** | [npm](https://www.npmjs.com/package/dsh-session-sync) |
258
+ | **[dsh-talk](https://github.com/PerryLink/dsh-talk)** | [npm](https://www.npmjs.com/package/dsh-talk) |
259
+ | **[dsh-test-drive](https://github.com/PerryLink/dsh-test-drive)** | [npm](https://www.npmjs.com/package/dsh-test-drive) |
260
+ | **[dsh-translate](https://github.com/PerryLink/dsh-translate)** | [npm](https://www.npmjs.com/package/dsh-translate) |
261
+ | **[](https://github.com/PerryLink/)** | [npm](https://www.npmjs.com/package/) |
262
+ | **[](https://github.com/PerryLink/)** | [npm](https://www.npmjs.com/package/) |
263
+ | **[](https://github.com/PerryLink/)** | [npm](https://www.npmjs.com/package/) |
264
+ | **[](https://github.com/PerryLink/)** | [npm](https://www.npmjs.com/package/) |
265
+ | **[](https://github.com/PerryLink/)** | [npm](https://www.npmjs.com/package/) |
266
+
267
+ </details>
268
+
109
269
  ## Licença
110
270
 
111
271
  Apache-2.0. See `LICENSE`, `NOTICE`, `THIRD-PARTY-NOTICES`.
package/README-zh.md CHANGED
@@ -2,11 +2,18 @@
2
2
 
3
3
  # dsh-eval-pack
4
4
 
5
+ > **官方仓库。** 本包唯一官方仓库,由 PerryLink 维护;其他账号下的同名仓库与本项目无关。Apache-2.0。
6
+
5
7
  [![npm](https://img.shields.io/npm/v/dsh-eval-pack)](https://www.npmjs.com/package/dsh-eval-pack)
6
8
  [![CI](https://github.com/PerryLink/dsh-eval-pack/actions/workflows/ci.yml/badge.svg)](https://github.com/PerryLink/dsh-eval-pack/actions)
7
9
  [![License](https://img.shields.io/badge/license-Apache--2.0-blue)](LICENSE)
8
10
  [![dsh-plugin](https://img.shields.io/badge/dsh--plugin-%E2%9C%93-green)](https://github.com/topics/dsh-plugin)
9
11
  [![docs](https://img.shields.io/badge/docs-domain%20index-0b5fff)](https://perrylink.github.io/dsh-plugins/)
12
+ [![Gitee](https://img.shields.io/badge/Gitee-aggregate-c71d23?logo=gitee)](https://gitee.com/perrylink/dsh-plugins)
13
+ [![dshfind](https://dshfind.com/api/badge/PerryLink/dsh-eval-pack?metric=downloads)](https://dshfind.com/plugins/PerryLink/dsh-eval-pack?ref=badge)
14
+ [![DSH Market](https://raw.githubusercontent.com/2BingLing/dsh-market/master/assets/readme/badge-listed-en.svg)](https://dsh.market/)
15
+ [![Node](https://img.shields.io/badge/node-24.9%2B-brightgreen)](#)
16
+ [![npm downloads](https://img.shields.io/npm/dm/dsh-eval-pack)](https://www.npmjs.com/package/dsh-eval-pack)
10
17
 
11
18
  **公开/合成 eval-pack lint 与确定性 JSON 评分。**
12
19
 
@@ -20,6 +27,8 @@ dsh plugin --profile <profile> add dsh-eval-pack
20
27
 
21
28
  </div>
22
29
 
30
+ > ⭐ 如果它帮到了你,点个 star 会让下一个人更容易找到它;没有任何功能被 star 解锁。
31
+
23
32
  ![Workflow diagram for dsh-eval-pack: local input, plugin, local output.](docs/assets/dsh-eval-pack-flow.svg)
24
33
 
25
34
  *工作流:本地输入 → 插件 → 本地输出;不需要调用模型。*
@@ -39,6 +48,16 @@ dsh --profile <profile> --dump-config | grep dsh-eval-pack
39
48
  dsh plugin --profile <profile> remove dsh-eval-pack
40
49
  ```
41
50
 
51
+
52
+ ### 安装通道
53
+
54
+ 推荐 npm;其他通道用于固定版本或离线。
55
+
56
+ - **npm(推荐):** `dsh plugin --profile <profile> add dsh-eval-pack`
57
+ - **git 通道:** `dsh plugin --profile <profile> add github:PerryLink/dsh-eval-pack`
58
+ - **tarball:** `pnpm pack` then `dsh plugin --profile <profile> add ./dsh-eval-pack-<version>.tgz`
59
+ - **1024 商店:** `npm i -g dsh1024` then `dsh1024 plugin --profile <profile> add dsh-eval-pack`
60
+
42
61
  ## 它做什么
43
62
 
44
63
  公开/合成 eval-pack lint 与确定性 JSON 评分。 在 DeepSeek Harness 本地运行;下表就是实际工具面,示例使用真实命令面。
@@ -47,12 +66,12 @@ dsh plugin --profile <profile> remove dsh-eval-pack
47
66
 
48
67
  ## 工具
49
68
 
50
- 工具名和说明保留英文,以对应运行输出。
69
+ 工具名是稳定 API;说明已本地化。
51
70
 
52
- | 工具 | 用途(英文对应运行输出) | 风险 |
71
+ | 工具 | 用途 | 风险 |
53
72
  |---|---|---|
54
- | `eval.pack_lint` | Validate eval-pack name/version and unique task ids | R0 |
55
- | `eval.grade` | Deterministic JSON equality grade | R0 |
73
+ | `eval.pack_lint` | 校验 eval-pack 名称/版本及任务 id 唯一性 | R0 |
74
+ | `eval.grade` | 确定性的 JSON 相等评分 | R0 |
56
75
 
57
76
  ## 快速开始
58
77
 
@@ -61,6 +80,22 @@ dsh plugin --profile <profile> add dsh-eval-pack
61
80
  dsh --profile <profile> --dump-config | grep dsh-eval-pack
62
81
  ```
63
82
 
83
+ ## 示例
84
+
85
+ ### fixture 支撑的示例
86
+
87
+ 输入: `fixtures/`
88
+
89
+ 命令: `pnpm test`
90
+
91
+ 验收行:
92
+
93
+ | req_id | metric | threshold | actual | pass | source | counted |
94
+ |---|---|---|---|---|---|---|
95
+ | EVAL-A01 | valid pack accepted | | true | true | public/synthetic | false |
96
+
97
+ *这是 fixture 支撑的验收行,不是客户运行;没有编造输出。*
98
+
64
99
  ## 边界
65
100
 
66
101
  - 仅公开/合成样例;不含客户数据或客户证据。
@@ -70,7 +105,7 @@ dsh --profile <profile> --dump-config | grep dsh-eval-pack
70
105
 
71
106
  ## 公开样例
72
107
 
73
- 公开/合成 fixture 在 `test/fixtures/`;`ACCEPTANCE.csv` 记录公开检查,全部 `counted=false`。
108
+ 公开/合成 fixture 在 `fixtures/`;`ACCEPTANCE.csv` 记录公开检查,全部 `counted=false`。
74
109
 
75
110
  ## 开发
76
111
 
@@ -79,6 +114,30 @@ pnpm install --frozen-lockfile
79
114
  pnpm build && pnpm lint && pnpm typecheck && pnpm test
80
115
  ```
81
116
 
117
+ ## 兼容性
118
+
119
+ | 维度 | 状态 |
120
+ |---|---|
121
+ | Harness | `dsh >=0.2.1-rc.3 <0.3.0` |
122
+ | Node | `>=24.9.0 <25` |
123
+ | Platforms | All; local files only |
124
+ | 数据 | No network, no model call, no upload |
125
+
126
+ ## 权限与数据
127
+
128
+ - 本地运行;不联网、不调用模型、不上传。
129
+ - 只使用公开/合成 fixture;不含客户数据或客户证据。
130
+ - alpha/partial;not counted,不作 GA 或生产可用声明。
131
+ - 冻结包仍可安装;不再加新功能,只修真实故障。
132
+
133
+ ## 相关项目
134
+
135
+ 兄弟包与家族索引: [dsh-policy-ledger](https://github.com/PerryLink/dsh-policy-ledger) · [dsh-pim-lint](https://github.com/PerryLink/dsh-pim-lint)
136
+
137
+ - [领域索引](https://perrylink.github.io/dsh-plugins/)
138
+ - [Checker 家族](https://perrylink.github.io/zh/checkers/)
139
+ - [主线家族](https://github.com/PerryLink/dsh-kit)
140
+
82
141
  ## 家族
83
142
 
84
143
  <details>
@@ -106,6 +165,107 @@ pnpm build && pnpm lint && pnpm typecheck && pnpm test
106
165
 
107
166
  </details>
108
167
 
168
+
169
+ <details>
170
+ <summary>主线家族 — 92 个当前安装 spec</summary>
171
+
172
+ | Package | npm |
173
+ |---|---|
174
+ | **[dsh-aqua-input-check](https://github.com/PerryLink/dsh-aqua-input-check)** | [npm](https://www.npmjs.com/package/dsh-aqua-input-check) |
175
+ | **[dsh-archive-check](https://github.com/PerryLink/dsh-archive-check)** | [npm](https://www.npmjs.com/package/dsh-archive-check) |
176
+ | **[dsh-bid-ca-precheck](https://github.com/PerryLink/dsh-bid-ca-precheck)** | [npm](https://www.npmjs.com/package/dsh-bid-ca-precheck) |
177
+ | **[dsh-bid-qual-check](https://github.com/PerryLink/dsh-bid-qual-check)** | [npm](https://www.npmjs.com/package/dsh-bid-qual-check) |
178
+ | **[dsh-contract-stance](https://github.com/PerryLink/dsh-contract-stance)** | [npm](https://www.npmjs.com/package/dsh-contract-stance) |
179
+ | **[dsh-customs-doc-check](https://github.com/PerryLink/dsh-customs-doc-check)** | [npm](https://www.npmjs.com/package/dsh-customs-doc-check) |
180
+ | **[dsh-demurrage-ledger](https://github.com/PerryLink/dsh-demurrage-ledger)** | [npm](https://www.npmjs.com/package/dsh-demurrage-ledger) |
181
+ | **[dsh-drill-script-check](https://github.com/PerryLink/dsh-drill-script-check)** | [npm](https://www.npmjs.com/package/dsh-drill-script-check) |
182
+ | **[dsh-eia-guide-check](https://github.com/PerryLink/dsh-eia-guide-check)** | [npm](https://www.npmjs.com/package/dsh-eia-guide-check) |
183
+ | **[dsh-emergency-plan](https://github.com/PerryLink/dsh-emergency-plan)** | [npm](https://www.npmjs.com/package/dsh-emergency-plan) |
184
+ | **[dsh-essay-rubric-check](https://github.com/PerryLink/dsh-essay-rubric-check)** | [npm](https://www.npmjs.com/package/dsh-essay-rubric-check) |
185
+ | **[dsh-evidence-check](https://github.com/PerryLink/dsh-evidence-check)** | [npm](https://www.npmjs.com/package/dsh-evidence-check) |
186
+ | **[dsh-export-ctl-check](https://github.com/PerryLink/dsh-export-ctl-check)** | [npm](https://www.npmjs.com/package/dsh-export-ctl-check) |
187
+ | **[dsh-fmea-table-check](https://github.com/PerryLink/dsh-fmea-table-check)** | [npm](https://www.npmjs.com/package/dsh-fmea-table-check) |
188
+ | **[dsh-forecast-penalty](https://github.com/PerryLink/dsh-forecast-penalty)** | [npm](https://www.npmjs.com/package/dsh-forecast-penalty) |
189
+ | **[dsh-gongwen-flow-check](https://github.com/PerryLink/dsh-gongwen-flow-check)** | [npm](https://www.npmjs.com/package/dsh-gongwen-flow-check) |
190
+ | **[dsh-gongwen-word-check](https://github.com/PerryLink/dsh-gongwen-word-check)** | [npm](https://www.npmjs.com/package/dsh-gongwen-word-check) |
191
+ | **[dsh-guard-plan-qc](https://github.com/PerryLink/dsh-guard-plan-qc)** | [npm](https://www.npmjs.com/package/dsh-guard-plan-qc) |
192
+ | **[dsh-hazchem-check](https://github.com/PerryLink/dsh-hazchem-check)** | [npm](https://www.npmjs.com/package/dsh-hazchem-check) |
193
+ | **[dsh-hazplan-check](https://github.com/PerryLink/dsh-hazplan-check)** | [npm](https://www.npmjs.com/package/dsh-hazplan-check) |
194
+ | **[dsh-hidden-risk-map](https://github.com/PerryLink/dsh-hidden-risk-map)** | [npm](https://www.npmjs.com/package/dsh-hidden-risk-map) |
195
+ | **[dsh-hs-classify](https://github.com/PerryLink/dsh-hs-classify)** | [npm](https://www.npmjs.com/package/dsh-hs-classify) |
196
+ | **[dsh-icd-rule-check](https://github.com/PerryLink/dsh-icd-rule-check)** | [npm](https://www.npmjs.com/package/dsh-icd-rule-check) |
197
+ | **[dsh-lawcite-adapter](https://github.com/PerryLink/dsh-lawcite-adapter)** | [npm](https://www.npmjs.com/package/dsh-lawcite-adapter) |
198
+ | **[dsh-lc-doc-check](https://github.com/PerryLink/dsh-lc-doc-check)** | [npm](https://www.npmjs.com/package/dsh-lc-doc-check) |
199
+ | **[dsh-learning-gap-check](https://github.com/PerryLink/dsh-learning-gap-check)** | [npm](https://www.npmjs.com/package/dsh-learning-gap-check) |
200
+ | **[dsh-medrec-qc](https://github.com/PerryLink/dsh-medrec-qc)** | [npm](https://www.npmjs.com/package/dsh-medrec-qc) |
201
+ | **[dsh-nsfc-form-check](https://github.com/PerryLink/dsh-nsfc-form-check)** | [npm](https://www.npmjs.com/package/dsh-nsfc-form-check) |
202
+ | **[dsh-nurse-record-check](https://github.com/PerryLink/dsh-nurse-record-check)** | [npm](https://www.npmjs.com/package/dsh-nurse-record-check) |
203
+ | **[dsh-origin-rvc-check](https://github.com/PerryLink/dsh-origin-rvc-check)** | [npm](https://www.npmjs.com/package/dsh-origin-rvc-check) |
204
+ | **[dsh-ota-review-check](https://github.com/PerryLink/dsh-ota-review-check)** | [npm](https://www.npmjs.com/package/dsh-ota-review-check) |
205
+ | **[dsh-paper-doc-adapter](https://github.com/PerryLink/dsh-paper-doc-adapter)** | [npm](https://www.npmjs.com/package/dsh-paper-doc-adapter) |
206
+ | **[dsh-permit-report-check](https://github.com/PerryLink/dsh-permit-report-check)** | [npm](https://www.npmjs.com/package/dsh-permit-report-check) |
207
+ | **[dsh-pipeline-check](https://github.com/PerryLink/dsh-pipeline-check)** | [npm](https://www.npmjs.com/package/dsh-pipeline-check) |
208
+ | **[dsh-pleading-draft](https://github.com/PerryLink/dsh-pleading-draft)** | [npm](https://www.npmjs.com/package/dsh-pleading-draft) |
209
+ | **[dsh-policy-brief-draft](https://github.com/PerryLink/dsh-policy-brief-draft)** | [npm](https://www.npmjs.com/package/dsh-policy-brief-draft) |
210
+ | **[dsh-power-loss-split](https://github.com/PerryLink/dsh-power-loss-split)** | [npm](https://www.npmjs.com/package/dsh-power-loss-split) |
211
+ | **[dsh-power-ticket-check](https://github.com/PerryLink/dsh-power-ticket-check)** | [npm](https://www.npmjs.com/package/dsh-power-ticket-check) |
212
+ | **[dsh-ppap-check](https://github.com/PerryLink/dsh-ppap-check)** | [npm](https://www.npmjs.com/package/dsh-ppap-check) |
213
+ | **[dsh-protest-deadline](https://github.com/PerryLink/dsh-protest-deadline)** | [npm](https://www.npmjs.com/package/dsh-protest-deadline) |
214
+ | **[dsh-railway-window](https://github.com/PerryLink/dsh-railway-window)** | [npm](https://www.npmjs.com/package/dsh-railway-window) |
215
+ | **[dsh-repair-order-qc](https://github.com/PerryLink/dsh-repair-order-qc)** | [npm](https://www.npmjs.com/package/dsh-repair-order-qc) |
216
+ | **[dsh-review-reply-check](https://github.com/PerryLink/dsh-review-reply-check)** | [npm](https://www.npmjs.com/package/dsh-review-reply-check) |
217
+ | **[dsh-rulefile-check](https://github.com/PerryLink/dsh-rulefile-check)** | [npm](https://www.npmjs.com/package/dsh-rulefile-check) |
218
+ | **[dsh-safety-brief-check](https://github.com/PerryLink/dsh-safety-brief-check)** | [npm](https://www.npmjs.com/package/dsh-safety-brief-check) |
219
+ | **[dsh-site-log-check](https://github.com/PerryLink/dsh-site-log-check)** | [npm](https://www.npmjs.com/package/dsh-site-log-check) |
220
+ | **[dsh-soe-decision-check](https://github.com/PerryLink/dsh-soe-decision-check)** | [npm](https://www.npmjs.com/package/dsh-soe-decision-check) |
221
+ | **[dsh-soilwater-check](https://github.com/PerryLink/dsh-soilwater-check)** | [npm](https://www.npmjs.com/package/dsh-soilwater-check) |
222
+ | **[dsh-sop-sync-check](https://github.com/PerryLink/dsh-sop-sync-check)** | [npm](https://www.npmjs.com/package/dsh-sop-sync-check) |
223
+ | **[dsh-spc-gbt-adapter](https://github.com/PerryLink/dsh-spc-gbt-adapter)** | [npm](https://www.npmjs.com/package/dsh-spc-gbt-adapter) |
224
+ | **[dsh-tender-extract](https://github.com/PerryLink/dsh-tender-extract)** | [npm](https://www.npmjs.com/package/dsh-tender-extract) |
225
+ | **[dsh-tender-matrix](https://github.com/PerryLink/dsh-tender-matrix)** | [npm](https://www.npmjs.com/package/dsh-tender-matrix) |
226
+ | **[dsh-warranty-calc](https://github.com/PerryLink/dsh-warranty-calc)** | [npm](https://www.npmjs.com/package/dsh-warranty-calc) |
227
+ | **[dsh-auto-review](https://github.com/PerryLink/dsh-auto-review)** | [npm](https://www.npmjs.com/package/dsh-auto-review) |
228
+ | **[dsh-autotier](https://github.com/PerryLink/dsh-autotier)** | [npm](https://www.npmjs.com/package/dsh-autotier) |
229
+ | **[dsh-budget](https://github.com/PerryLink/dsh-budget)** | [npm](https://www.npmjs.com/package/dsh-budget) |
230
+ | **[dsh-cert-mcp](https://github.com/PerryLink/dsh-cert-mcp)** | [npm](https://www.npmjs.com/package/dsh-cert-mcp) |
231
+ | **[dsh-checkpoint-rewind](https://github.com/PerryLink/dsh-checkpoint-rewind)** | [npm](https://www.npmjs.com/package/dsh-checkpoint-rewind) |
232
+ | **[dsh-claude-move](https://github.com/PerryLink/dsh-claude-move)** | [npm](https://www.npmjs.com/package/dsh-claude-move) |
233
+ | **[dsh-click](https://github.com/PerryLink/dsh-click)** | [npm](https://www.npmjs.com/package/dsh-click) |
234
+ | **[dsh-composer-history](https://github.com/PerryLink/dsh-composer-history)** | [npm](https://www.npmjs.com/package/dsh-composer-history) |
235
+ | **[dsh-data-quality](https://github.com/PerryLink/dsh-data-quality)** | [npm](https://www.npmjs.com/package/dsh-data-quality) |
236
+ | **[dsh-defend](https://github.com/PerryLink/dsh-defend)** | [npm](https://www.npmjs.com/package/dsh-defend) |
237
+ | **[dsh-doublecheck](https://github.com/PerryLink/dsh-doublecheck)** | [npm](https://www.npmjs.com/package/dsh-doublecheck) |
238
+ | **[dsh-draw](https://github.com/PerryLink/dsh-draw)** | [npm](https://www.npmjs.com/package/dsh-draw) |
239
+ | **[dsh-fast](https://github.com/PerryLink/dsh-fast)** | [npm](https://www.npmjs.com/package/dsh-fast) |
240
+ | **[dsh-fund-research](https://github.com/PerryLink/dsh-fund-research)** | [npm](https://www.npmjs.com/package/dsh-fund-research) |
241
+ | **[dsh-industry-research](https://github.com/PerryLink/dsh-industry-research)** | [npm](https://www.npmjs.com/package/dsh-industry-research) |
242
+ | **[dsh-laya](https://github.com/PerryLink/dsh-laya)** | [npm](https://www.npmjs.com/package/dsh-laya) |
243
+ | **[dsh-library](https://github.com/PerryLink/dsh-library)** | [npm](https://www.npmjs.com/package/dsh-library) |
244
+ | **[dsh-local-ai](https://github.com/PerryLink/dsh-local-ai)** | [npm](https://www.npmjs.com/package/dsh-local-ai) |
245
+ | **[dsh-lsp-actions](https://github.com/PerryLink/dsh-lsp-actions)** | [npm](https://www.npmjs.com/package/dsh-lsp-actions) |
246
+ | **[dsh-mask](https://github.com/PerryLink/dsh-mask)** | [npm](https://www.npmjs.com/package/dsh-mask) |
247
+ | **[dsh-mcp-panel](https://github.com/PerryLink/dsh-mcp-panel)** | [npm](https://www.npmjs.com/package/dsh-mcp-panel) |
248
+ | **[dsh-memento](https://github.com/PerryLink/dsh-memento)** | [npm](https://www.npmjs.com/package/dsh-memento) |
249
+ | **[dsh-observe](https://github.com/PerryLink/dsh-observe)** | [npm](https://www.npmjs.com/package/dsh-observe) |
250
+ | **[dsh-output-styles](https://github.com/PerryLink/dsh-output-styles)** | [npm](https://www.npmjs.com/package/dsh-output-styles) |
251
+ | **[dsh-permission-rules](https://github.com/PerryLink/dsh-permission-rules)** | [npm](https://www.npmjs.com/package/dsh-permission-rules) |
252
+ | **[dsh-plugin-guide](https://github.com/PerryLink/dsh-plugin-guide)** | [npm](https://www.npmjs.com/package/dsh-plugin-guide) |
253
+ | **[dsh-plugin-upgrade](https://github.com/PerryLink/dsh-plugin-upgrade)** | [npm](https://www.npmjs.com/package/dsh-plugin-upgrade) |
254
+ | **[dsh-reach](https://github.com/PerryLink/dsh-reach)** | [npm](https://www.npmjs.com/package/dsh-reach) |
255
+ | **[dsh-research-report](https://github.com/PerryLink/dsh-research-report)** | [npm](https://www.npmjs.com/package/dsh-research-report) |
256
+ | **[dsh-score](https://github.com/PerryLink/dsh-score)** | [npm](https://www.npmjs.com/package/dsh-score) |
257
+ | **[dsh-session-sync](https://github.com/PerryLink/dsh-session-sync)** | [npm](https://www.npmjs.com/package/dsh-session-sync) |
258
+ | **[dsh-talk](https://github.com/PerryLink/dsh-talk)** | [npm](https://www.npmjs.com/package/dsh-talk) |
259
+ | **[dsh-test-drive](https://github.com/PerryLink/dsh-test-drive)** | [npm](https://www.npmjs.com/package/dsh-test-drive) |
260
+ | **[dsh-translate](https://github.com/PerryLink/dsh-translate)** | [npm](https://www.npmjs.com/package/dsh-translate) |
261
+ | **[](https://github.com/PerryLink/)** | [npm](https://www.npmjs.com/package/) |
262
+ | **[](https://github.com/PerryLink/)** | [npm](https://www.npmjs.com/package/) |
263
+ | **[](https://github.com/PerryLink/)** | [npm](https://www.npmjs.com/package/) |
264
+ | **[](https://github.com/PerryLink/)** | [npm](https://www.npmjs.com/package/) |
265
+ | **[](https://github.com/PerryLink/)** | [npm](https://www.npmjs.com/package/) |
266
+
267
+ </details>
268
+
109
269
  ## 许可证
110
270
 
111
271
  Apache-2.0. See `LICENSE`, `NOTICE`, `THIRD-PARTY-NOTICES`.