dsh-auto-review 0.13.6 → 0.13.8
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/CHANGELOG.md +12 -0
- package/LICENSE +0 -0
- package/README-es.md +145 -105
- package/README-hi.md +145 -105
- package/README-pt.md +145 -105
- package/README-zh.md +145 -109
- package/README.md +148 -110
- package/bin/dsh-auto-review-mcp.mjs +0 -0
- package/bin/dsh-eval.mjs +0 -0
- package/cordis.patch.yml +0 -0
- package/eval/cases/demo.yaml +0 -0
- package/eval/cordis.yml +0 -0
- package/lib/client.js +0 -0
- package/lib/client.js.map +0 -0
- package/lib/eval-cli.js +3 -1
- package/lib/eval.js +1 -2
- package/lib/index.js +71 -44
- package/lib/invariant.js +0 -0
- package/lib/mcp.js +2 -0
- package/lib/{report-Df29db58.js → report-CTfpDbAg.js} +63 -30
- package/lib/session-message-emzsbx_9.js +0 -0
- package/lib/types/audit.d.ts +0 -0
- package/lib/types/audit.d.ts.map +0 -0
- package/lib/types/audit.js +0 -0
- package/lib/types/audit.js.map +0 -0
- package/lib/types/cache.d.ts +0 -0
- package/lib/types/cache.d.ts.map +0 -0
- package/lib/types/cache.js +0 -0
- package/lib/types/cache.js.map +0 -0
- package/lib/types/call-id.d.ts +0 -0
- package/lib/types/call-id.d.ts.map +0 -0
- package/lib/types/call-id.js +0 -0
- package/lib/types/call-id.js.map +0 -0
- package/lib/types/client/ReviewPanel.d.ts +0 -0
- package/lib/types/client/ReviewPanel.d.ts.map +0 -0
- package/lib/types/client/ReviewPanel.js +0 -0
- package/lib/types/client/ReviewPanel.js.map +0 -0
- package/lib/types/client/index.d.ts +0 -0
- package/lib/types/client/index.d.ts.map +0 -0
- package/lib/types/client/index.js +0 -0
- package/lib/types/client/index.js.map +0 -0
- package/lib/types/client/locales.d.ts +0 -0
- package/lib/types/client/locales.d.ts.map +0 -0
- package/lib/types/client/locales.js +0 -0
- package/lib/types/client/locales.js.map +0 -0
- package/lib/types/client/present.d.ts +0 -0
- package/lib/types/client/present.d.ts.map +0 -0
- package/lib/types/client/present.js +0 -0
- package/lib/types/client/present.js.map +0 -0
- package/lib/types/client/styles.d.ts +0 -0
- package/lib/types/client/styles.d.ts.map +0 -0
- package/lib/types/client/styles.js +0 -0
- package/lib/types/client/styles.js.map +0 -0
- package/lib/types/config.d.ts +3 -0
- package/lib/types/config.d.ts.map +1 -1
- package/lib/types/config.js +2 -0
- package/lib/types/config.js.map +1 -1
- package/lib/types/eval/assert.d.ts +0 -0
- package/lib/types/eval/assert.d.ts.map +0 -0
- package/lib/types/eval/assert.js +0 -0
- package/lib/types/eval/assert.js.map +0 -0
- package/lib/types/eval/cli.d.ts +0 -0
- package/lib/types/eval/cli.d.ts.map +0 -0
- package/lib/types/eval/cli.js +0 -0
- package/lib/types/eval/cli.js.map +0 -0
- package/lib/types/eval/diff.d.ts +0 -0
- package/lib/types/eval/diff.d.ts.map +0 -0
- package/lib/types/eval/diff.js +0 -0
- package/lib/types/eval/diff.js.map +0 -0
- package/lib/types/eval/dsl.d.ts +0 -0
- package/lib/types/eval/dsl.d.ts.map +0 -0
- package/lib/types/eval/dsl.js +0 -0
- package/lib/types/eval/dsl.js.map +0 -0
- package/lib/types/eval/index.d.ts +0 -0
- package/lib/types/eval/index.d.ts.map +0 -0
- package/lib/types/eval/index.js +0 -0
- package/lib/types/eval/index.js.map +0 -0
- package/lib/types/eval/report.d.ts +0 -0
- package/lib/types/eval/report.d.ts.map +0 -0
- package/lib/types/eval/report.js +0 -0
- package/lib/types/eval/report.js.map +0 -0
- package/lib/types/eval/review.d.ts +0 -0
- package/lib/types/eval/review.d.ts.map +0 -0
- package/lib/types/eval/review.js +0 -0
- package/lib/types/eval/review.js.map +0 -0
- package/lib/types/eval/runner.d.ts +0 -0
- package/lib/types/eval/runner.d.ts.map +0 -0
- package/lib/types/eval/runner.js +0 -0
- package/lib/types/eval/runner.js.map +0 -0
- package/lib/types/eval/stress.d.ts +0 -0
- package/lib/types/eval/stress.d.ts.map +0 -0
- package/lib/types/eval/stress.js +0 -0
- package/lib/types/eval/stress.js.map +0 -0
- package/lib/types/eval/trace.d.ts +0 -0
- package/lib/types/eval/trace.d.ts.map +0 -0
- package/lib/types/eval/trace.js +0 -0
- package/lib/types/eval/trace.js.map +0 -0
- package/lib/types/events.d.ts +0 -0
- package/lib/types/events.d.ts.map +0 -0
- package/lib/types/events.js +0 -0
- package/lib/types/events.js.map +0 -0
- package/lib/types/index.d.ts +0 -0
- package/lib/types/index.d.ts.map +0 -0
- package/lib/types/index.js +0 -0
- package/lib/types/index.js.map +0 -0
- package/lib/types/invariant.d.ts +0 -0
- package/lib/types/invariant.d.ts.map +0 -0
- package/lib/types/invariant.js +0 -0
- package/lib/types/invariant.js.map +0 -0
- package/lib/types/isolation.d.ts +0 -0
- package/lib/types/isolation.d.ts.map +0 -0
- package/lib/types/isolation.js +0 -0
- package/lib/types/isolation.js.map +0 -0
- package/lib/types/mcp/index.d.ts +0 -0
- package/lib/types/mcp/index.d.ts.map +0 -0
- package/lib/types/mcp/index.js +0 -0
- package/lib/types/mcp/index.js.map +0 -0
- package/lib/types/mcp/server.d.ts +0 -0
- package/lib/types/mcp/server.d.ts.map +0 -0
- package/lib/types/mcp/server.js +0 -0
- package/lib/types/mcp/server.js.map +0 -0
- package/lib/types/mcp/standalone.d.ts +0 -0
- package/lib/types/mcp/standalone.d.ts.map +0 -0
- package/lib/types/mcp/standalone.js +0 -0
- package/lib/types/mcp/standalone.js.map +0 -0
- package/lib/types/message-source.d.ts +0 -0
- package/lib/types/message-source.d.ts.map +0 -0
- package/lib/types/message-source.js +0 -0
- package/lib/types/message-source.js.map +0 -0
- package/lib/types/messages.d.ts +0 -0
- package/lib/types/messages.d.ts.map +0 -0
- package/lib/types/messages.js +0 -0
- package/lib/types/messages.js.map +0 -0
- package/lib/types/projection-types.d.ts +0 -0
- package/lib/types/projection-types.d.ts.map +0 -0
- package/lib/types/projection-types.js +0 -0
- package/lib/types/projection-types.js.map +0 -0
- package/lib/types/projection.d.ts +0 -0
- package/lib/types/projection.d.ts.map +0 -0
- package/lib/types/projection.js +0 -0
- package/lib/types/projection.js.map +0 -0
- package/lib/types/review.d.ts +0 -0
- package/lib/types/review.d.ts.map +1 -1
- package/lib/types/review.js +11 -3
- package/lib/types/review.js.map +1 -1
- package/lib/types/runtime.d.ts +0 -0
- package/lib/types/runtime.d.ts.map +0 -0
- package/lib/types/runtime.js +0 -0
- package/lib/types/runtime.js.map +0 -0
- package/lib/types/session-events.d.ts +0 -0
- package/lib/types/session-events.d.ts.map +0 -0
- package/lib/types/session-events.js +0 -0
- package/lib/types/session-events.js.map +0 -0
- package/lib/types/session-message.d.ts +0 -0
- package/lib/types/session-message.d.ts.map +0 -0
- package/lib/types/session-message.js +0 -0
- package/lib/types/session-message.js.map +0 -0
- package/package.json +22 -22
- package/src/audit.ts +0 -0
- package/src/cache.ts +0 -0
- package/src/call-id.ts +0 -0
- package/src/client/ReviewPanel.tsx +0 -0
- package/src/client/index.ts +0 -0
- package/src/client/locales.ts +0 -0
- package/src/client/present.ts +0 -0
- package/src/client/styles.ts +0 -0
- package/src/config.ts +5 -0
- package/src/eval/assert.ts +0 -0
- package/src/eval/cli.ts +0 -0
- package/src/eval/diff.ts +0 -0
- package/src/eval/dsl.ts +0 -0
- package/src/eval/index.ts +0 -0
- package/src/eval/report.ts +0 -0
- package/src/eval/review.ts +0 -0
- package/src/eval/runner.ts +0 -0
- package/src/eval/stress.ts +0 -0
- package/src/eval/trace.ts +0 -0
- package/src/events.ts +0 -0
- package/src/index.ts +0 -0
- package/src/invariant.ts +0 -0
- package/src/isolation.ts +0 -0
- package/src/mcp/index.ts +0 -0
- package/src/mcp/server.ts +0 -0
- package/src/mcp/standalone.ts +0 -0
- package/src/message-source.ts +0 -0
- package/src/messages.ts +0 -0
- package/src/projection-types.ts +0 -0
- package/src/projection.ts +0 -0
- package/src/review.ts +12 -3
- package/src/runtime.ts +0 -0
- package/src/session-events.ts +0 -0
- package/src/session-message.ts +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.13.8] - 2026-10-22
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- **Installing the plugin no longer hoists the `0.2.1-alpha.1` host implementation line into the DSH profile (issue #74).** The package declared 14 `@deepseek-ai/dsh-*` host packages (app-boot, credentials, fs/sandbox, subprocess, session persistence, subagent drivers, tool-fs) as runtime `dependencies`. In a pnpm `hoisted` profile those were installed at the profile root, where they shadowed the host's `0.2.1-rc.2` providers: `credentials`, `fs`, `subprocess`, `sandbox`, `sandboxPolicy`, `sessionPersistence` and `connection` never activated and the app failed to boot. They now live in `devDependencies` (the line the test suite runs); a consumer install adds zero `@deepseek-ai/dsh-*` packages. The node faces already leave every `@deepseek-ai/` specifier external (`neverBundle`), so they resolve from the host profile; `dsh-eval` follows the same rule and a standalone global install no longer carries its own host copy.
|
|
8
|
+
|
|
9
|
+
## [0.13.7] - 2026-10-19
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- **`reviewerModelProvider` routes the reviewer to a second LLM provider (issue #60).** `reviewerModel` only set `agentOptions.model`, so the child/activation stayed on the session provider. A new optional `reviewerModelProvider` is passed as `agentOptions.provider` on both reviewer seams and as the tool-less `llm.stream` provider; unset keeps the previous inherit-the-session-route behavior. Config docs added in all five READMEs; tests cover both the inline route and config resolution.
|
|
14
|
+
|
|
3
15
|
## [0.13.6] - 2026-10-19
|
|
4
16
|
|
|
5
17
|
### Fixed
|
package/LICENSE
CHANGED
|
File without changes
|
package/README-es.md
CHANGED
|
@@ -54,9 +54,10 @@ Aprobación con IA de segundo modelo para DeepSeek Harness: un subagente revisor
|
|
|
54
54
|
|
|
55
55
|
Cuando una acción cruza el límite del sandbox, un segundo modelo lee la evidencia y devuelve un veredicto con su razón — para que los humanos no aprueben nada y nada inseguro se cuele.
|
|
56
56
|
|
|
57
|
-

|
|
58
|
+
|
|
59
|
+
*Resumen del flujo: solicitud → política/revisión → veredicto. Los ejemplos siguientes usan la superficie de comandos real.*
|
|
58
60
|
|
|
59
|
-

|
|
60
61
|
|
|
61
62
|
*La misma ejecución, animada.*
|
|
62
63
|
|
|
@@ -107,6 +108,48 @@ dsh --profile web --dump-config | grep -A4 'id: auto-review'
|
|
|
107
108
|
|
|
108
109
|
De fábrica, el parche incluido revisa con IA `bash` y `write`; todas las demás herramientas (incluido `edit` — modificación in situ) delegan a la cadena humana. Añade `edit: ai` explícitamente si aceptas ediciones in situ sin un humano en el bucle.
|
|
109
110
|
|
|
111
|
+
### Ejemplos
|
|
112
|
+
|
|
113
|
+
Son los puntos de entrada reales; instala y llama a uno.
|
|
114
|
+
|
|
115
|
+
#### Ejemplo detallado
|
|
116
|
+
|
|
117
|
+
**Comando**
|
|
118
|
+
|
|
119
|
+
~~~sh
|
|
120
|
+
/auto-review status
|
|
121
|
+
~~~
|
|
122
|
+
|
|
123
|
+
**Salida**
|
|
124
|
+
|
|
125
|
+
~~~text
|
|
126
|
+
All-time: 1 allows, 0 denies, 1 fallbacks, 1 never rejects (avg 10 ms per verdict).
|
|
127
|
+
Recent verdicts: write: fallback(timeout), bash: allow
|
|
128
|
+
~~~
|
|
129
|
+
|
|
130
|
+
*Observado en `test/command.spec.ts:123-160 (assertions at :158-159)`*
|
|
131
|
+
|
|
132
|
+
#### Rama de fallo
|
|
133
|
+
|
|
134
|
+
**Entrada**
|
|
135
|
+
|
|
136
|
+
~~~text
|
|
137
|
+
/auto-review approve 2
|
|
138
|
+
~~~
|
|
139
|
+
|
|
140
|
+
**Salida**
|
|
141
|
+
|
|
142
|
+
~~~text
|
|
143
|
+
No recent denial #2 in this session (0 recorded).
|
|
144
|
+
~~~
|
|
145
|
+
|
|
146
|
+
*Observado en `plugins/dsh-auto-review/src/messages.ts:53; plugins/dsh-auto-review/src/runtime.ts:1039; plugins/dsh-auto-review/test/command.spec.ts:109-113`*
|
|
147
|
+
|
|
148
|
+
#### Ejemplos breves
|
|
149
|
+
|
|
150
|
+
- `auto-review`
|
|
151
|
+
- `dsh-eval`
|
|
152
|
+
|
|
110
153
|
## Configuración
|
|
111
154
|
|
|
112
155
|
Todas las opciones son campos Schemastery `Config` (modificables desde cordis.yml). Una anulación dirigida por id reemplaza toda la fila — repite cada clave que necesites.
|
|
@@ -120,6 +163,7 @@ Todas las opciones son campos Schemastery `Config` (modificables desde cordis.ym
|
|
|
120
163
|
| `reviewerProvider` | `fork` | Proveedor de subagente para el revisor (backend fork en proceso) |
|
|
121
164
|
| `reviewerPreset` | *(none)* | Id del Agent Preset de solo lectura; obligatorio cuando el host solo expone `startActivation` (0.2.1+) |
|
|
122
165
|
| `reviewerModel` | *(heredado)* | Id del modelo revisor; si no se define, hereda la ruta del agente de sesión |
|
|
166
|
+
| `reviewerModelProvider` | *(heredado)* | Ruta del proveedor LLM para `reviewerModel`; si no se define, hereda el proveedor del agente de sesión |
|
|
123
167
|
| `reviewerTimeoutMs` | `60000` | Plazo del veredicto; al vencer se aplica la política de fallback |
|
|
124
168
|
| `reviewerTools` | `[read, glob, grep]` | Lista blanca de herramientas del hijo revisor (debe ser no vacía) |
|
|
125
169
|
| `fallbackPolicy` | `rejected` | Ante fallo del revisor: `rejected` (cierre en fallo) / `delegate` / `allow-once` |
|
|
@@ -436,111 +480,107 @@ Evidencia estática: `dsh-plugin-doctor` K10–K13 dan `pass` en todas las compr
|
|
|
436
480
|
|
|
437
481
|
## PerryLink DSH Plugin Family
|
|
438
482
|
|
|
439
|
-
Este proyecto
|
|
483
|
+
Este proyecto forma parte de la familia de plugins de DeepSeek Harness de [PerryLink](https://github.com/PerryLink). El registro permanece plegado abajo para que cada README conserve una primera pantalla corta; expándelo para ver cada fila y su estado.
|
|
440
484
|
|
|
441
485
|
<details>
|
|
442
|
-
<summary>Expandir los
|
|
486
|
+
<summary>Expandir todos los plugins</summary>
|
|
443
487
|
|
|
444
|
-
| Plugin |
|
|
445
|
-
|
|
446
|
-
| **[dsh-aqua-input-check](https://github.com/PerryLink/dsh-aqua-input-check)** |
|
|
447
|
-
| **[dsh-archive-check](https://github.com/PerryLink/dsh-archive-check)** |
|
|
448
|
-
| **[dsh-auto-review](https://github.com/PerryLink/dsh-auto-review)** |
|
|
449
|
-
| **[dsh-autotier](https://github.com/PerryLink/dsh-autotier)** |
|
|
450
|
-
| **[dsh-
|
|
451
|
-
| **[dsh-bid-
|
|
452
|
-
| **[dsh-
|
|
453
|
-
| **[dsh-
|
|
454
|
-
| **[dsh-
|
|
455
|
-
| **[dsh-
|
|
456
|
-
| **[dsh-
|
|
457
|
-
| **[dsh-
|
|
458
|
-
| **[dsh-
|
|
459
|
-
| **[dsh-
|
|
460
|
-
| **[dsh-
|
|
461
|
-
| **[dsh-
|
|
462
|
-
| **[dsh-
|
|
463
|
-
| **[dsh-
|
|
464
|
-
| **[dsh-
|
|
465
|
-
| **[dsh-
|
|
466
|
-
| **[dsh-
|
|
467
|
-
| **[dsh-
|
|
468
|
-
| **[dsh-
|
|
469
|
-
| **[dsh-
|
|
470
|
-
| **[dsh-
|
|
471
|
-
| **[dsh-
|
|
472
|
-
| **[dsh-
|
|
473
|
-
| **[dsh-
|
|
474
|
-
| **[dsh-
|
|
475
|
-
| **[dsh-
|
|
476
|
-
| **[dsh-
|
|
477
|
-
| **[dsh-
|
|
478
|
-
| **[dsh-
|
|
479
|
-
| **[dsh-
|
|
480
|
-
| **[dsh-
|
|
481
|
-
| **[dsh-
|
|
482
|
-
| **[dsh-
|
|
483
|
-
| **[dsh-
|
|
484
|
-
| **[dsh-
|
|
485
|
-
| **[dsh-
|
|
486
|
-
| **[dsh-
|
|
487
|
-
| **[dsh-
|
|
488
|
-
| **[dsh-
|
|
489
|
-
| **[dsh-
|
|
490
|
-
| **[dsh-
|
|
491
|
-
| **[dsh-
|
|
492
|
-
| **[dsh-
|
|
493
|
-
| **[dsh-
|
|
494
|
-
| **[dsh-
|
|
495
|
-
| **[dsh-
|
|
496
|
-
| **[dsh-
|
|
497
|
-
| **[dsh-
|
|
498
|
-
| **[dsh-
|
|
499
|
-
| **[dsh-
|
|
500
|
-
| **[dsh-
|
|
501
|
-
| **[dsh-
|
|
502
|
-
| **[dsh-
|
|
503
|
-
| **[dsh-
|
|
504
|
-
| **[dsh-
|
|
505
|
-
| **[dsh-
|
|
506
|
-
| **[dsh-
|
|
507
|
-
| **[dsh-
|
|
508
|
-
| **[dsh-
|
|
509
|
-
| **[dsh-
|
|
510
|
-
| **[dsh-
|
|
511
|
-
| **[dsh-
|
|
512
|
-
| **[dsh-
|
|
513
|
-
| **[dsh-
|
|
514
|
-
| **[dsh-
|
|
515
|
-
| **[dsh-
|
|
516
|
-
| **[dsh-
|
|
517
|
-
| **[dsh-
|
|
518
|
-
| **[dsh-
|
|
519
|
-
| **[dsh-
|
|
520
|
-
| **[dsh-
|
|
521
|
-
| **[dsh-
|
|
522
|
-
| **[dsh-
|
|
523
|
-
| **[dsh-
|
|
524
|
-
| **[dsh-
|
|
525
|
-
| **[dsh-
|
|
526
|
-
| **[dsh-
|
|
527
|
-
| **[dsh-
|
|
528
|
-
| **[dsh-
|
|
529
|
-
| **[dsh-
|
|
530
|
-
| **[dsh-
|
|
531
|
-
| **[dsh-
|
|
532
|
-
| **[dsh-
|
|
533
|
-
| **[dsh-
|
|
534
|
-
| **[dsh-
|
|
535
|
-
| **[dsh-
|
|
536
|
-
| **[dsh-
|
|
537
|
-
| **[dsh-
|
|
538
|
-
| **[dsh-
|
|
539
|
-
| **[dsh-
|
|
540
|
-
| **[dsh-
|
|
541
|
-
|
|
542
|
-
</details>
|
|
543
|
-
|
|
544
|
-
</details>
|
|
488
|
+
| Plugin | Estado |
|
|
489
|
+
|---|---|
|
|
490
|
+
| **[dsh-aqua-input-check](https://github.com/PerryLink/dsh-aqua-input-check)** | |
|
|
491
|
+
| **[dsh-archive-check](https://github.com/PerryLink/dsh-archive-check)** | |
|
|
492
|
+
| **[dsh-auto-review](https://github.com/PerryLink/dsh-auto-review)** | |
|
|
493
|
+
| **[dsh-autotier](https://github.com/PerryLink/dsh-autotier)** | |
|
|
494
|
+
| **[dsh-bid-ca-precheck](https://github.com/PerryLink/dsh-bid-ca-precheck)** | |
|
|
495
|
+
| **[dsh-bid-qual-check](https://github.com/PerryLink/dsh-bid-qual-check)** | |
|
|
496
|
+
| **[dsh-cert-mcp](https://github.com/PerryLink/dsh-cert-mcp)** | |
|
|
497
|
+
| **[dsh-checkpoint-rewind](https://github.com/PerryLink/dsh-checkpoint-rewind)** | |
|
|
498
|
+
| **[dsh-click](https://github.com/PerryLink/dsh-click)** | |
|
|
499
|
+
| **[dsh-composer-history](https://github.com/PerryLink/dsh-composer-history)** | |
|
|
500
|
+
| **[dsh-contract-stance](https://github.com/PerryLink/dsh-contract-stance)** | |
|
|
501
|
+
| **[dsh-customs-doc-check](https://github.com/PerryLink/dsh-customs-doc-check)** | |
|
|
502
|
+
| **[dsh-data-quality](https://github.com/PerryLink/dsh-data-quality)** | |
|
|
503
|
+
| **[dsh-demurrage-ledger](https://github.com/PerryLink/dsh-demurrage-ledger)** | |
|
|
504
|
+
| **[dsh-doublecheck](https://github.com/PerryLink/dsh-doublecheck)** | |
|
|
505
|
+
| **[dsh-drill-script-check](https://github.com/PerryLink/dsh-drill-script-check)** | |
|
|
506
|
+
| **[dsh-eia-guide-check](https://github.com/PerryLink/dsh-eia-guide-check)** | |
|
|
507
|
+
| **[dsh-emergency-plan](https://github.com/PerryLink/dsh-emergency-plan)** | |
|
|
508
|
+
| **[dsh-essay-rubric-check](https://github.com/PerryLink/dsh-essay-rubric-check)** | |
|
|
509
|
+
| **[dsh-evidence-check](https://github.com/PerryLink/dsh-evidence-check)** | |
|
|
510
|
+
| **[dsh-export-ctl-check](https://github.com/PerryLink/dsh-export-ctl-check)** | |
|
|
511
|
+
| **[dsh-fast](https://github.com/PerryLink/dsh-fast)** | |
|
|
512
|
+
| **[dsh-fmea-table-check](https://github.com/PerryLink/dsh-fmea-table-check)** | |
|
|
513
|
+
| **[dsh-forecast-penalty](https://github.com/PerryLink/dsh-forecast-penalty)** | |
|
|
514
|
+
| **[dsh-fund-research](https://github.com/PerryLink/dsh-fund-research)** | |
|
|
515
|
+
| **[dsh-github](https://github.com/PerryLink/dsh-github)** | |
|
|
516
|
+
| **[dsh-gongwen-flow-check](https://github.com/PerryLink/dsh-gongwen-flow-check)** | |
|
|
517
|
+
| **[dsh-gongwen-word-check](https://github.com/PerryLink/dsh-gongwen-word-check)** | |
|
|
518
|
+
| **[dsh-guard-plan-qc](https://github.com/PerryLink/dsh-guard-plan-qc)** | |
|
|
519
|
+
| **[dsh-hazchem-check](https://github.com/PerryLink/dsh-hazchem-check)** | |
|
|
520
|
+
| **[dsh-hazplan-check](https://github.com/PerryLink/dsh-hazplan-check)** | |
|
|
521
|
+
| **[dsh-hidden-risk-map](https://github.com/PerryLink/dsh-hidden-risk-map)** | |
|
|
522
|
+
| **[dsh-hs-classify](https://github.com/PerryLink/dsh-hs-classify)** | |
|
|
523
|
+
| **[dsh-icd-rule-check](https://github.com/PerryLink/dsh-icd-rule-check)** | |
|
|
524
|
+
| **[dsh-industry-research](https://github.com/PerryLink/dsh-industry-research)** | |
|
|
525
|
+
| **[dsh-lawcite-adapter](https://github.com/PerryLink/dsh-lawcite-adapter)** | |
|
|
526
|
+
| **[dsh-laya](https://github.com/PerryLink/dsh-laya)** | |
|
|
527
|
+
| **[dsh-lc-doc-check](https://github.com/PerryLink/dsh-lc-doc-check)** | |
|
|
528
|
+
| **[dsh-learning-gap-check](https://github.com/PerryLink/dsh-learning-gap-check)** | |
|
|
529
|
+
| **[dsh-library](https://github.com/PerryLink/dsh-library)** | |
|
|
530
|
+
| **[dsh-local-ai](https://github.com/PerryLink/dsh-local-ai)** | |
|
|
531
|
+
| **[dsh-lsp-actions](https://github.com/PerryLink/dsh-lsp-actions)** | |
|
|
532
|
+
| **[dsh-mask](https://github.com/PerryLink/dsh-mask)** | |
|
|
533
|
+
| **[dsh-mcp-panel](https://github.com/PerryLink/dsh-mcp-panel)** | |
|
|
534
|
+
| **[dsh-medrec-qc](https://github.com/PerryLink/dsh-medrec-qc)** | |
|
|
535
|
+
| **[dsh-memento](https://github.com/PerryLink/dsh-memento)** | |
|
|
536
|
+
| **[dsh-nsfc-form-check](https://github.com/PerryLink/dsh-nsfc-form-check)** | |
|
|
537
|
+
| **[dsh-nurse-record-check](https://github.com/PerryLink/dsh-nurse-record-check)** | |
|
|
538
|
+
| **[dsh-observe](https://github.com/PerryLink/dsh-observe)** | |
|
|
539
|
+
| **[dsh-origin-rvc-check](https://github.com/PerryLink/dsh-origin-rvc-check)** | |
|
|
540
|
+
| **[dsh-ota-review-check](https://github.com/PerryLink/dsh-ota-review-check)** | |
|
|
541
|
+
| **[dsh-output-styles](https://github.com/PerryLink/dsh-output-styles)** | |
|
|
542
|
+
| **[dsh-paper-doc-adapter](https://github.com/PerryLink/dsh-paper-doc-adapter)** | |
|
|
543
|
+
| **[dsh-permission-rules](https://github.com/PerryLink/dsh-permission-rules)** | |
|
|
544
|
+
| **[dsh-permit-report-check](https://github.com/PerryLink/dsh-permit-report-check)** | |
|
|
545
|
+
| **[dsh-pipeline-check](https://github.com/PerryLink/dsh-pipeline-check)** | |
|
|
546
|
+
| **[dsh-pleading-draft](https://github.com/PerryLink/dsh-pleading-draft)** | |
|
|
547
|
+
| **[dsh-plugin-doctor](https://github.com/PerryLink/dsh-plugin-doctor)** | |
|
|
548
|
+
| **[dsh-plugin-guide](https://github.com/PerryLink/dsh-plugin-guide)** | |
|
|
549
|
+
| **[dsh-plugin-kit](https://github.com/PerryLink/dsh-plugin-kit)** | |
|
|
550
|
+
| **[dsh-plugin-upgrade](https://github.com/PerryLink/dsh-plugin-upgrade)** | |
|
|
551
|
+
| **[dsh-policy-brief-draft](https://github.com/PerryLink/dsh-policy-brief-draft)** | |
|
|
552
|
+
| **[dsh-power-loss-split](https://github.com/PerryLink/dsh-power-loss-split)** | |
|
|
553
|
+
| **[dsh-power-ticket-check](https://github.com/PerryLink/dsh-power-ticket-check)** | |
|
|
554
|
+
| **[dsh-ppap-check](https://github.com/PerryLink/dsh-ppap-check)** | |
|
|
555
|
+
| **[dsh-protest-deadline](https://github.com/PerryLink/dsh-protest-deadline)** | |
|
|
556
|
+
| **[dsh-railway-window](https://github.com/PerryLink/dsh-railway-window)** | |
|
|
557
|
+
| **[dsh-repair-order-qc](https://github.com/PerryLink/dsh-repair-order-qc)** | |
|
|
558
|
+
| **[dsh-research-report](https://github.com/PerryLink/dsh-research-report)** | |
|
|
559
|
+
| **[dsh-review-reply-check](https://github.com/PerryLink/dsh-review-reply-check)** | |
|
|
560
|
+
| **[dsh-rulefile-check](https://github.com/PerryLink/dsh-rulefile-check)** | |
|
|
561
|
+
| **[dsh-safety-brief-check](https://github.com/PerryLink/dsh-safety-brief-check)** | |
|
|
562
|
+
| **[dsh-score](https://github.com/PerryLink/dsh-score)** | |
|
|
563
|
+
| **[dsh-session-sync](https://github.com/PerryLink/dsh-session-sync)** | |
|
|
564
|
+
| **[dsh-site-log-check](https://github.com/PerryLink/dsh-site-log-check)** | |
|
|
565
|
+
| **[dsh-skill-pack-security](https://github.com/PerryLink/dsh-skill-pack-security)** | |
|
|
566
|
+
| **[dsh-soe-decision-check](https://github.com/PerryLink/dsh-soe-decision-check)** | |
|
|
567
|
+
| **[dsh-soilwater-check](https://github.com/PerryLink/dsh-soilwater-check)** | |
|
|
568
|
+
| **[dsh-sop-sync-check](https://github.com/PerryLink/dsh-sop-sync-check)** | |
|
|
569
|
+
| **[dsh-spc-gbt-adapter](https://github.com/PerryLink/dsh-spc-gbt-adapter)** | |
|
|
570
|
+
| **[dsh-talk](https://github.com/PerryLink/dsh-talk)** | |
|
|
571
|
+
| **[dsh-tender-extract](https://github.com/PerryLink/dsh-tender-extract)** | |
|
|
572
|
+
| **[dsh-tender-matrix](https://github.com/PerryLink/dsh-tender-matrix)** | |
|
|
573
|
+
| **[dsh-test-drive](https://github.com/PerryLink/dsh-test-drive)** | |
|
|
574
|
+
| **[dsh-ticktick](https://github.com/PerryLink/dsh-ticktick)** | |
|
|
575
|
+
| **[dsh-translate](https://github.com/PerryLink/dsh-translate)** | |
|
|
576
|
+
| **[dsh-warranty-calc](https://github.com/PerryLink/dsh-warranty-calc)** | |
|
|
577
|
+
| **[dsh-budget](https://github.com/PerryLink/dsh-budget)** | 🧊 CONGELADO — ver el README del repositorio |
|
|
578
|
+
| **[dsh-claude-move](https://github.com/PerryLink/dsh-claude-move)** | 🧊 CONGELADO — ver el README del repositorio |
|
|
579
|
+
| **[dsh-defend](https://github.com/PerryLink/dsh-defend)** | 🧊 CONGELADO — ver el README del repositorio |
|
|
580
|
+
| **[dsh-draw](https://github.com/PerryLink/dsh-draw)** | 🧊 CONGELADO — ver el README del repositorio |
|
|
581
|
+
| **[dsh-reach](https://github.com/PerryLink/dsh-reach)** | 🧊 CONGELADO — ver el README del repositorio |
|
|
582
|
+
| **[dsh-background-agents](https://github.com/PerryLink/dsh-background-agents)** | 🚫 RETIRADO — ver el README del repositorio |
|
|
583
|
+
| **[dsh-session-pin](https://github.com/PerryLink/dsh-session-pin)** | 🚫 RETIRADO — ver el README del repositorio |
|
|
584
|
+
| **[dsh-team-rooms](https://github.com/PerryLink/dsh-team-rooms)** | 🚫 RETIRADO — ver el README del repositorio |
|
|
545
585
|
|
|
546
586
|
</details>
|