🏆 dsh-score

August 30, 2026 · View on GitHub

🏆 dsh-score

  • Canal 1024 store: npm i -g dsh1024 una vez, luego dsh1024 plugin --profile web add dsh-score (cuenta para el ranking de instalaciones de deepseek1024.com).

Puntuación de calidad multidimensional para plugins de DeepSeek Harness.

Cinco dimensiones, evidencia real de los CLI gh/npm, una tarjeta de riesgo ponderada y tabla de clasificación.

License DSH plugin Node CI Version npm version npm downloads

English · 简体中文 · Español · Português · हिन्दी


Compatibilidad

ComponenteVersión
DeepSeek Harness0.1.1-rc.2 (dependencias entre pares >=0.1.0-rc.8 <0.2.0)
Node.js^22.19.0 || >=24.0.0
Gestor de paquetespnpm@11.7.0
PlataformaWindows / macOS / Linux (plugin solo host)
Herramientas externasCLI gh en PATH (autenticado), CLI npm en PATH

Qué obtienes

  • Herramienta score — un objetivo por la canalización de cinco dimensiones; devuelve la tarjeta de riesgo estructurada, o { kind: 'background', jobId } con background: true.
  • Comando /score — puntuación por lotes de una lista separada por espacios/comas como trabajo en segundo plano score-batch sobre ctx.jobs, produciendo una tabla (JSON + Markdown).
  • Herramienta score_report — recupera una tarjeta (sc_...), una tabla (lb_...) o la última tabla.
  • Cinco dimensiones (pesos configurables, suma 100 por defecto): instalación 25, mantenimiento 20, documentación 20, seguridad 20, cumplimiento 15.
  • Disciplina de evidencia — cada dimensión registra sus enlaces de auditoría; sin evidencia reporta no-evidence (puntuación 0, excluida del total), nunca un número inventado.
  • Resultados estructurados — cada registro lleva schema: "dsh-score/v1".

Inicio rápido

Canal git

dsh plugin --profile web add github:PerryLink/dsh-score#<commit-sha>

El primer add falla porque pnpm bloquea el prepare; copia la clave exacta impresa en pnpm-workspace.yaml y reintenta:

allowBuilds:
  'dsh-score': true

Canal npm

dsh plugin --profile web add dsh-score

Instalación y desinstalación

dsh plugin --profile web add dsh-score     # instalar (npm) — o el formulario git anterior
dsh plugin --profile web remove dsh-score  # desinstalar

Configuración

Todas las claves son opcionales (valores por defecto mostrados); los valores inválidos fallan en voz alta al cargar.

ClavePredeterminadoDescripción
probeTimeoutMs60000Plazo para un comando de sondeo gh/npm.
outputTailBytes8000Tope de la cola de salida saneada por sondeo.
cacheMaxAgeMs86400000Tiempo de reutilización de una tarjeta cacheada.
staleCommitWarnDays90Edad de commit a warn.
staleCommitFailDays365Edad de commit a fail.
staleIssueWarnDays30Edad de issue abierto más antiguo a warn.
staleIssueFailDays180Edad de issue abierto más antiguo a fail.
maxBatchTargets20Tope de lote de /score.
batchConcurrency1Concurrencia del lote.
weights{install:25, maintenance:20, documentation:20, security:20, compliance:15}Pesos por dimensión.

Herramientas y superficies

score

score(target: string, refresh?: boolean, background?: boolean)
  • target — repositorio de GitHub (github:owner/repo, owner/repo, URL git/https) o nombre de paquete npm.
  • refresh: true omite la caché y vuelve a recopilar evidencia.
  • background: true inicia un trabajo score-batch.

/score <targets...>

Inicia un trabajo por lotes en segundo plano; la última línea nombra el id de tabla para score_report.

score_report(id?)

Devuelve una tarjeta (sc_...), una tabla (lb_...) o, sin id, la última tabla.

score_badge(target? | id?, refresh?)

Genera una insignia embebible en README y el JSON de cinco dimensiones para un objetivo:

  • target — puntúa un repositorio de GitHub o un paquete npm (a través de la caché) y le pone insignia; mutuamente excluyente con id.
  • id — pone insignia a una tarjeta almacenada (sc_...) sin volver a puntuar.
  • refresh: true — omite la caché de puntuación (solo aplica a target).

Devuelve la insignia (SVG + endpoint + inserción Markdown) y el JSON compacto de cinco dimensiones — ver «Insignia y API JSON» abajo.

Structured result sample

{
  "schema": "dsh-score/v1",
  "scoreId": "sc_8f1c2e4a9b3d7f01",
  "target": { "kind": "repo", "spec": "github:owner/dsh-click#abc123" },
  "scoredAt": "2026-08-16T00:00:00.000Z",
  "durationMs": 3210,
  "pluginVersion": "0.1.0",
  "dimensions": {
    "install": { "dimension": "install", "status": "no-evidence", "score": 0, "weight": 25,
                 "summary": "no dsh-test-drive result recorded for this target (install success unmeasured)",
                 "evidence": [{ "source": "test-drive", "detail": "no test-drive record found in the test_drive domain", "observedAt": "2026-08-16T00:00:00.000Z" }] },
    "maintenance": { "dimension": "maintenance", "status": "pass", "score": 100, "weight": 20,
                     "summary": "active (2026-08-10T00:00:00Z; 0 open issues)",
                     "evidence": [{ "source": "gh-api", "detail": "last activity 2026-08-10T00:00:00Z", "observedAt": "2026-08-16T00:00:00.000Z" }] }
  },
  "total": 88,
  "grade": "B",
  "verdict": "healthy (weighted total 88/100)"
}

Puntuación: el total es una media ponderada sobre las dimensiones con evidencia (las dimensiones no-evidence se excluyen y se renormalizan); A ≥ 90, B ≥ 75, C ≥ 60, D ≥ 40, si no F, y N/A cuando nada tuvo evidencia.

Insignia y API JSON

score_badge genera una insignia embebible en README y el JSON de cinco dimensiones para un objetivo puntuado.

Insignia

  • Insignia — SVG plano de shields.io (campo badge.svg / renderScoreBadge), URL de endpoint documentada y fragmento Markdown de inserción.

Inserta la insignia total:

![dsh-score: B · 84/100](https://img.shields.io/badge/dsh--score-B_%C2%B7_84%2F100-green)

JSON de cinco dimensiones

  • JSON de cinco dimensionesinstall/maintenance/documentation/security/compliance con status/score/weight/summary, más el total ponderado y la grade (schema: "dsh-score/badge/v1").

Una dimensión no-evidence conserva su estado honesto y puntúa 0 — la insignia y el JSON nunca inventan números.

Permisos y datos

  • Solo servicios públicos: ctx.subprocess, ctx.jobs, ctx.storageDomain, ctx.tools, ctx.commands.
  • Las tarjetas y tablas se almacenan en el dominio score (tablas scores, leaderboards; puntero a la última tabla). Sin storageDomain, las herramientas siguen funcionando y la persistencia se desactiva con motivo registrado.
  • Los procesos hijos heredan un entorno sin credenciales; gh usa su propio almacén. Ningún valor de entorno se registra.

Límites de seguridad

  • Sin ejecución de código. Solo se ejecutan gh api y npm view.
  • Subprocesos solo argv. Nunca se interpreta una shell; los segmentos owner/repo se validan antes de usarse.
  • Disciplina de evidencia. Un sondeo fallido produce no-evidence, nunca un número.
  • Detección vs saneado. Detección de secretos y scripts maliciosos comparte las mismas regex puras que el saneado.

Limitaciones conocidas

  • Los sondeos de repositorio requieren gh autenticado y red; los de npm requieren npm y acceso al registry.
  • Sin un repositorio de GitHub resoluble, documentación/seguridad/cumplimiento reportan no-evidence.
  • El éxito de instalación depende de dsh-test-drive montado con el objetivo registrado.
  • La «respuesta a issues» es un proxy (edad del issue abierto más antiguo).
  • Los resultados se cachean por objetivo; usa refresh: true para forzar re-puntuación.

Desarrollo

pnpm install
pnpm run typecheck && pnpm run typecheck:ci && pnpm test
pnpm run build && pnpm run verify:self-contained && pnpm run verify:artifacts && pnpm pack

Temas

dsh, dsh-plugin, deepseek-harness, deepseek, cordis, plugin-scoring, quality-score, leaderboard, supply-chain

Contribuidores

PerryLink — diseño e implementación.

Este proyecto es uno de los 33 complementos de DeepSeek Harness mantenidos por PerryLink. Si este te ayuda, probablemente los demás también:

PluginOne-liner
dsh-dsh-auto-reviewAuto-revisión de segundo modelo en la cadena de aprobación, con cierre en fallo por defecto
dsh-dsh-background-agentsAgentes hijos en segundo plano durables con barra lateral de UI web, mensajería e interrupción
dsh-dsh-budgetGobernanza de costes para DeepSeek Harness: presupuestos, carbono y latencia en un panel.
dsh-dsh-checkpoint-rewindEquivalente a /rewind de Claude Code: instantáneas, bifurcaciones de sesión, restauración de un solo uso
dsh-dsh-claude-moveMigra sesiones, memoria, habilidades y CLAUDE.md de Claude Code a DSH
dsh-dsh-clickControl de escritorio nativo multiplataforma para DeepSeek Harness — Windows primero.
dsh-dsh-composer-historyHistorial de entrada estilo terminal para el compositor web: flechas, búsqueda Ctrl+R
dsh-dsh-data-qualityComprobaciones de calidad de datasets y verificación de citas (el puente numérico opcional consumido aquí)
dsh-dsh-defendDefensa contra inyección de prompts, jailbreak y fuga de secretos para DeepSeek Harness.
dsh-dsh-doublecheckGuardián de disciplina de ingeniería: interrogatorio de requisitos, puertas de pruebas, revisión adversaria
dsh-dsh-drawEnrutamiento unificado de generación de imágenes estáticas para DeepSeek Harness.
dsh-dsh-fastDiagnóstico de rendimiento de solo lectura para DeepSeek Harness.
dsh-dsh-fund-researchInformes de investigación deterministas para fondos mutuos públicos chinos
dsh-dsh-githubIntegración de PR/issues de GitHub para DSH, cada escritura controlada por aprobación
dsh-dsh-industry-researchOrquestación de investigación sectorial que sella sus entregables mediante el ctx.researchReport.assemble de este plugin
dsh-dsh-libraryBase de conocimiento documental local para DeepSeek Harness.
dsh-dsh-local-aiIntegración de modelos locales (Ollama) para DeepSeek Harness.
dsh-dsh-lsp-actionsDiagnósticos, formato, autocompletado, acciones de código y renombrado LSP sobre servidores de lenguaje
dsh-dsh-maskMiddleware de enmascaramiento de PII: anonimiza en el límite del modelo, restaura en la capa de visualización
dsh-dsh-mcp-panelPanel de tiempo de ejecución MCP de solo lectura: comando /mcp + pestaña Settings con estado, herramientas y errores
dsh-dsh-mementoMemoria entre sesiones controlada por aprobación: costura ctx.memory + SQLite + herramienta de memoria
dsh-dsh-observeExportador de observabilidad OpenTelemetry y Langfuse para DeepSeek Harness.
dsh-dsh-output-stylesCambio de estilo en tiempo de ejecución equivalente a outputStyles de Claude Code
dsh-dsh-permission-rulesReglas de permisos declarativas allow/deny/ask estilo Claude Code con auditoría
dsh-dsh-plugin-guideBase de conocimiento de desarrollo de plugins como habilidad de agente bajo demanda
dsh-dsh-research-reportMotor de informes de investigación verificables con evidencia direccionada por contenido
dsh-dsh-session-pinFija sesiones en la barra lateral web con orden durable
dsh-dsh-session-syncSincronización de sesiones entre dispositivos para DeepSeek Harness — un espejo git dedicado de tu almacén de sesiones.
dsh-dsh-skill-pack-securityPaquete de habilidades de auditoría de seguridad: escaneo de secretos, revisión de dependencias y cadena de suministro
dsh-dsh-talkBucle de sesión con voz para DeepSeek Harness: háblale y escucha su respuesta.
dsh-dsh-test-drivePruebas de instalación y humo aisladas para plugins de DeepSeek Harness.
dsh-dsh-translateTraducción de parámetros entre proveedores y reparación determinista de JSON para DeepSeek Harness.

Licencia

Apache-2.0