ЁЯПЖ dsh-score
September 4, 2026 ┬╖ View on GitHub
ЁЯПЖ dsh-score
- 1024 рд╕реНрдЯреЛрд░ рдЪреИрдирд▓: рдПрдХ рдмрд╛рд░
npm i -g dsh1024, рдлрд┐рд░dsh1024 plugin --profile web add dsh-score(deepseek1024.com рдЗрдВрд╕реНрдЯреЙрд▓ рд░реИрдВрдХрд┐рдВрдЧ рдореЗрдВ рдЧрд┐рдирд╛ рдЬрд╛рддрд╛ рд╣реИ)ред
DeepSeek Harness рдкреНрд▓рдЧрдЗрди рдХреЗ рд▓рд┐рдП рдмрд╣реБ-рдЖрдпрд╛рдореА рдЧреБрдгрд╡рддреНрддрд╛ рд╕реНрдХреЛрд░рд┐рдВрдЧред
рдкрд╛рдБрдЪ рдЖрдпрд╛рдо, рд╡рд╛рд╕реНрддрд╡рд┐рдХ gh/npm рд╕рд╛рдХреНрд╖реНрдп, рдПрдХ рднрд╛рд░рд┐рдд рд░рд┐рд╕реНрдХ рдХрд╛рд░реНрдб рдФрд░ рд▓реАрдбрд░рдмреЛрд░реНрдбред
English ┬╖ чоАф╜Уф╕нцЦЗ ┬╖ Espa├▒ol ┬╖ Portugu├кs ┬╖ рд╣рд┐рдиреНрджреА
рд╕рдВрдЧрддрддрд╛
| рдШрдЯрдХ | рд╕рдВрд╕реНрдХрд░рдг |
|---|---|
| DeepSeek Harness | 0.1.2-rc.1 (peer рдирд┐рд░реНрднрд░рддрд╛рдПрдБ >=0.1.0-rc.8 <0.2.0) (2026-09-04 рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд): рд╕рддреНрд░ рд▓рд┐рдлрд╝рд╛рдлрд╝рд╛ рдЕрдкрдирд╛ ignorable рдлрд╝реАрд▓реНрдб рдХреЗрд╡рд▓ рд╕рдВрдЧреНрд░рд╣реАрдд-рд▓реЙрдЧ рдкрдарди рд╕рдВрдЧрддрддрд╛ рдХреЗ рд▓рд┐рдП рд░рдЦрддрд╛ рд╣реИ - Session.append рдЕрднреА рднреА рдЗрд╕реЗ рд╕реНрдЯреИрдореНрдк рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рдЗрд╕рд▓рд┐рдП рдЧреЗрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реИред |
| Node.js | ^22.19.0 || >=24.0.0 |
| рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ | pnpm@11.7.0 |
| рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо | Windows / macOS / Linux (рдХреЗрд╡рд▓-рд╣реЛрд╕реНрдЯ рдкреНрд▓рдЧрдЗрди) |
| рдмрд╛рд╣рд░реА рдЙрдкрдХрд░рдг | PATH рдкрд░ gh CLI (рдкреНрд░рдорд╛рдгрд┐рдд), PATH рдкрд░ npm CLI |
рдЖрдкрдХреЛ рдХреНрдпрд╛ рдорд┐рд▓рддрд╛ рд╣реИ
scoreрдЯреВрд▓ тАФ рдкрд╛рдБрдЪ-рдЖрдпрд╛рдореА рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рд▓рдХреНрд╖реНрдп; рд╕рдВрд░рдЪрд┐рдд рд░рд┐рд╕реНрдХ рдХрд╛рд░реНрдб рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдпрд╛background: trueрдХреЗ рд╕рд╛рде{ kind: 'background', jobId }ред/scoreрдХрдорд╛рдВрдб тАФctx.jobsрдкрд░score-batchрдкреГрд╖реНрдарднреВрдорд┐ рдХрд╛рд░реНрдп рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдкреЗрд╕/рдХреЙрдорд╛ рд╕реЗ рдЕрд▓рдЧ рд▓рдХреНрд╖реНрдп рд╕реВрдЪреА рдХреА рдмреИрдЪ рд╕реНрдХреЛрд░рд┐рдВрдЧ, рд▓реАрдбрд░рдмреЛрд░реНрдб рд╕реНрдиреИрдкрд╢реЙрдЯ (JSON + Markdown) рдмрдирд╛рддрд╛ рд╣реИредscore_reportрдЯреВрд▓ тАФ рдХреЛрдИ рд╕рдВрдЧреНрд░рд╣реАрдд рд╕реНрдХреЛрд░ рдХрд╛рд░реНрдб (sc_...), рд▓реАрдбрд░рдмреЛрд░реНрдб (lb_...), рдпрд╛ рдирд╡реАрдирддрдо рд▓реАрдбрд░рдмреЛрд░реНрдб рд▓рд╛рддрд╛ рд╣реИредscore_badgeрдЯреВрд▓ тАФ рдХрд┐рд╕реА рд▓рдХреНрд╖реНрдп рдпрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд╛рд░реНрдб рдХреЗ рд▓рд┐рдП README рдмреИрдЬ рдФрд░ рдкрд╛рдБрдЪ-рдЖрдпрд╛рдореА JSONред- рдкрд╛рдБрдЪ рдЖрдпрд╛рдо (рднрд╛рд░ рд╡рд┐рдиреНрдпрд╛рд╕ рдпреЛрдЧреНрдп, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдпреЛрдЧ 100): рдЗрдВрд╕реНрдЯреЙрд▓
25, рд░рдЦрд░рдЦрд╛рд╡20, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг20, рд╕реБрд░рдХреНрд╖рд╛20, рдЕрдиреБрдкрд╛рд▓рди15ред - рд╕рд╛рдХреНрд╖реНрдп рдЕрдиреБрд╢рд╛рд╕рди тАФ рд╣рд░ рдЖрдпрд╛рдо рдЕрдкрдиреЗ рдСрдбрд┐рдЯ рд▓рд┐рдВрдХ рджрд░реНрдЬ рдХрд░рддрд╛ рд╣реИ; рд╕рд╛рдХреНрд╖реНрдп рдХреЗ рдмрд┐рдирд╛ рд╡рд╣
no-evidenceрд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ (рд╕реНрдХреЛрд░ 0, рдХреБрд▓ рд╕реЗ рдмрд╛рд╣рд░), рдХрднреА рдХреЛрдИ рдмрдирд╛рдпрд╛ рд╣реБрдЖ рдирдВрдмрд░ рдирд╣реАрдВред - рд╕рдВрд░рдЪрд┐рдд рдкрд░рд┐рдгрд╛рдо тАФ рд╣рд░ рд░рд┐рдХреЙрд░реНрдб
schema: "dsh-score/v1"рд░рдЦрддрд╛ рд╣реИред
рддреНрд╡рд░рд┐рдд рд╢реБрд░реБрдЖрдд
git рдЪреИрдирд▓
dsh plugin --profile web add github:PerryLink/dsh-score#<commit-sha>
рдкрд╣рд▓рд╛ add рд╡рд┐рдлрд▓ рд╣реЛрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ pnpm prepare рдмрд┐рд▓реНрдб рд░реЛрдХ рджреЗрддрд╛ рд╣реИ; pnpm рджреНрд╡рд╛рд░рд╛ рдЫрд╛рдкреА рдЧрдИ рд╕рдЯреАрдХ рдХреБрдВрдЬреА рдХреЛ profile рдХреЗ pnpm-workspace.yaml рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВ рдФрд░ рдкреБрдирдГ рдЪрд▓рд╛рдПрдБ:
allowBuilds:
'dsh-score': true
npm рдЪреИрдирд▓
dsh plugin --profile web add dsh-score
рдЗрдВрд╕реНрдЯреЙрд▓ рдФрд░ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓
dsh plugin --profile web add dsh-score # рдЗрдВрд╕реНрдЯреЙрд▓ (npm) тАФ рдпрд╛ рдКрдкрд░ рд╡рд╛рд▓рд╛ git рд░реВрдк
dsh plugin --profile web remove dsh-score # рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓
рд╡рд┐рдиреНрдпрд╛рд╕
рд╕рднреА рдХреБрдВрдЬрд┐рдпрд╛рдБ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИрдВ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рджрд┐рдЦрд╛рдП рдЧрдП); рдЕрдорд╛рдиреНрдп рдорд╛рди рд▓реЛрдб рдкрд░ рдЬрд╝реЛрд░ рд╕реЗ рд╡рд┐рдлрд▓ рд╣реЛрддреЗ рд╣реИрдВред
| рдХреБрдВрдЬреА | рдбрд┐рдлрд╝реЙрд▓реНрдЯ | рд╡рд┐рд╡рд░рдг |
|---|---|---|
probeTimeoutMs | 60000 | рдПрдХ gh/npm рдкреНрд░реЛрдм рдХрдорд╛рдВрдб рдХреА рд╕рдордп-рд╕реАрдорд╛ред |
outputTailBytes | 8000 | рдкреНрд░рддрд┐ рдкреНрд░реЛрдм рд╕реИрдирд┐рдЯрд╛рдЗрдЬрд╝ рдЖрдЙрдЯрдкреБрдЯ рдЯреЗрд▓ рдХреА рд╕реАрдорд╛ред |
cacheMaxAgeMs | 86400000 | рдХреИрд╢ рдХрд┐рдП рдХрд╛рд░реНрдб рдХрд╛ рдкреБрдирдГ рдЙрдкрдпреЛрдЧ рд╕рдордпред |
staleCommitWarnDays | 90 | рдХрдорд┐рдЯ рдЖрдпреБ warn рдХреЗ рд▓рд┐рдПред |
staleCommitFailDays | 365 | рдХрдорд┐рдЯ рдЖрдпреБ fail рдХреЗ рд▓рд┐рдПред |
staleIssueWarnDays | 30 | рд╕рдмрд╕реЗ рдкреБрд░рд╛рдиреЗ рдЦреБрд▓реЗ issue рдХреА рдЖрдпреБ warn рдХреЗ рд▓рд┐рдПред |
staleIssueFailDays | 180 | рд╕рдмрд╕реЗ рдкреБрд░рд╛рдиреЗ рдЦреБрд▓реЗ issue рдХреА рдЖрдпреБ fail рдХреЗ рд▓рд┐рдПред |
maxBatchTargets | 20 | /score рдмреИрдЪ рд╕реАрдорд╛ред |
batchConcurrency | 1 | рдмреИрдЪ рд╕рдорд╡рд░реНрддреАрддрд╛ред |
weights | {install:25, maintenance:20, documentation:20, security:20, compliance:15} | рдкреНрд░рддрд┐-рдЖрдпрд╛рдо рднрд╛рд░ред |
рдЯреВрд▓ рдФрд░ рд╕рддрд╣реЗрдВ
score
score(target: string, refresh?: boolean, background?: boolean)
targetтАФ GitHub рд░рд┐рдкреЙрдЬрд╝рд┐рдЯрд░реА (github:owner/repo,owner/repo, git/https URL) рдпрд╛ npm рдкреИрдХреЗрдЬ рдирд╛рдоредrefresh: trueрдХреИрд╢ рдЫреЛрдбрд╝рдХрд░ рд╕рд╛рдХреНрд╖реНрдп рдкреБрдирдГ рдПрдХрддреНрд░ рдХрд░рддрд╛ рд╣реИредbackground: trueрдПрдХscore-batchрдХрд╛рд░реНрдп рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИред
/score <targets...>
рдПрдХ рдкреГрд╖реНрдарднреВрдорд┐ рдмреИрдЪ рдХрд╛рд░реНрдп рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ; рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐ score_report рдХреЗ рд▓рд┐рдП рд▓реАрдбрд░рдмреЛрд░реНрдб id рдмрддрд╛рддреА рд╣реИред
score_report(id?)
рдПрдХ рдХрд╛рд░реНрдб (sc_...), рд▓реАрдбрд░рдмреЛрд░реНрдб (lb_...), рдпрд╛ рдмрд┐рдирд╛ id рдХреЗ рдирд╡реАрдирддрдо рд▓реАрдбрд░рдмреЛрд░реНрдб рд▓реМрдЯрд╛рддрд╛ рд╣реИред
score_badge(target? | id?, refresh?)
рдПрдХ рд▓рдХреНрд╖реНрдп рдХреЗ рд▓рд┐рдП README рдмреИрдЬ рдФрд░ рдкрд╛рдБрдЪ-рдЖрдпрд╛рдореА JSON рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ:
targetтАФ рдХреИрд╢ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ GitHub рд░рд┐рдкреЙрдЬрд╝рд┐рдЯрд░реА рдпрд╛ npm рдкреИрдХреЗрдЬ рд╕реНрдХреЛрд░ рдХрд░ рдмреИрдЬ рджреЗрддрд╛ рд╣реИ;idрдХреЗ рд╕рд╛рде рдкрд░рд╕реНрдкрд░ рдЕрдирдиреНрдпредidтАФ рдмрд┐рдирд╛ рдкреБрдирдГ рд╕реНрдХреЛрд░ рдХрд┐рдП рд╕рдВрдЧреНрд░рд╣реАрдд рд╕реНрдХреЛрд░ рдХрд╛рд░реНрдб (sc_...) рдХрд╛ рдмреИрдЬредrefresh: trueтАФ рд╕реНрдХреЛрд░ рдХреИрд╢ рдЫреЛрдбрд╝рддрд╛ рд╣реИ (рдХреЗрд╡рд▓targetрдкрд░ рд▓рд╛рдЧреВ)ред
рдмреИрдЬ (SVG + endpoint + Markdown рдПрдореНрдмреЗрдб) рдФрд░ рдкрд╛рдБрдЪ-рдЖрдпрд╛рдореА JSON рд▓реМрдЯрд╛рддрд╛ рд╣реИ тАФ рдиреАрдЪреЗ ┬лрдмреИрдЬ рдФрд░ JSON API┬╗ рджреЗрдЦреЗрдВред
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)"
}
рд╕реНрдХреЛрд░рд┐рдВрдЧ: рдХреБрд▓ рд╕рд╛рдХреНрд╖реНрдп рдЬреБрдЯрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЖрдпрд╛рдореЛрдВ рдХрд╛ рднрд╛рд░рд┐рдд рдФрд╕рдд рд╣реИ (no-evidence рдЖрдпрд╛рдо рдмрд╛рд╣рд░ рд░рд╣рддреЗ рд╣реИрдВ рдФрд░ рдкреБрдирдГ рд╕рд╛рдорд╛рдиреНрдп рд╣реЛрддреЗ рд╣реИрдВ); A тЙе 90, B тЙе 75, C тЙе 60, D тЙе 40, рдЕрдиреНрдпрдерд╛ F, рдФрд░ N/A рдЬрдм рдХреБрдЫ рднреА рд╕рд╛рдХреНрд╖реНрдп рди рд╣реЛред
рдмреИрдЬ рдФрд░ JSON API
score_badge рдПрдХ рдЕрдВрдХрд┐рдд рд▓рдХреНрд╖реНрдп рдХреЗ рд▓рд┐рдП README рдореЗрдВ рдПрдореНрдмреЗрдб рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдмреИрдЬ рдФрд░ рдкрд╛рдБрдЪ-рдЖрдпрд╛рдореА JSON рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред
рдмреИрдЬ
рддреАрди рд░реВрдк, рд╕рднреА рдЙрд╕реА settled рд╕реНрдХреЛрд░ рдХрд╛рд░реНрдб рд╕реЗ рд╡реНрдпреБрддреНрдкрдиреНрди:
- Endpoint тАФ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝рд┐рдд shields.io рд╕реНрдерд┐рд░ URL, README рдЫрд╡рд┐ рдХреЗ рд▓рд┐рдП рдкреЗрд╕реНрдЯ-рддреИрдпрд╛рд░ (рд╢реВрдиреНрдп self-hosting)ред
- SVG тАФ self-contained shields.io рдлреНрд▓реИрдЯ-рд╢реИрд▓реА SVG (
badge.svgрдлрд╝реАрд▓реНрдб /renderScoreBadge) рдСрдлрд╝рд▓рд╛рдЗрди рдпрд╛ self-hosted README рдХреЗ рд▓рд┐рдПред - Markdown тАФ рджреЛрдиреЛрдВ рдХреЛ рдорд┐рд▓рд╛рдиреЗ рд╡рд╛рд▓рд╛ рдПрдореНрдмреЗрдб рд╕реНрдирд┐рдкреЗрдЯред
рдХреБрд▓ рдмреИрдЬ рдПрдореНрдмреЗрдб рдХрд░реЗрдВ:

рдкрд╛рдБрдЪ-рдЖрдпрд╛рдореА JSON
рд╡рд╣реА рдХреЙрд▓ compact JSON API рд▓рд┐рдлрд╝рд╛рдлрд╝рд╛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ (schema: "dsh-score/badge/v1"):
{
"schema": "dsh-score/badge/v1",
"target": { "kind": "repo", "spec": "github:owner/dsh-click#abc123" },
"scoredAt": "2026-08-16T00:00:00.000Z",
"total": 84,
"grade": "B",
"dimensions": {
"install": { "label": "install", "status": "no-evidence", "score": 0, "weight": 25, "summary": "no dsh-test-drive result recorded" },
"maintenance": { "label": "maintenance", "status": "pass", "score": 90, "weight": 20, "summary": "active (0 open issues)" },
"documentation": { "label": "docs", "status": "pass", "score": 85, "weight": 20, "summary": "README + CHANGELOG + SECURITY" },
"security": { "label": "security", "status": "warn", "score": 60, "weight": 20, "summary": "permissive license" },
"compliance": { "label": "compliance", "status": "pass", "score": 100, "weight": 15, "summary": "dsh.bundle.patch + dsh-plugin topic" }
}
}
no-evidence рдЖрдпрд╛рдо рдЕрдкрдиреА рдИрдорд╛рдирджрд╛рд░ рд╕реНрдерд┐рддрд┐ рдФрд░ 0 рд╕реНрдХреЛрд░ рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИ тАФ рдмреИрдЬ рдФрд░ JSON рдХрднреА рд╕рдВрдЦреНрдпрд╛ рдирд╣реАрдВ рдЧрдврд╝рддреЗред
рдЕрдиреБрдорддрд┐рдпрд╛рдБ рдФрд░ рдбреЗрдЯрд╛
- рдХреЗрд╡рд▓ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реЗрд╡рд╛рдПрдБ:
ctx.subprocess,ctx.jobs,ctx.storageDomain,ctx.tools,ctx.commandsред - рдХрд╛рд░реНрдб рдФрд░ рд▓реАрдбрд░рдмреЛрд░реНрдб
scoreрдбреЛрдореЗрди рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛрддреЗ рд╣реИрдВ (рдЯреЗрдмрд▓scores,leaderboards; рдирд╡реАрдирддрдо-рд▓реАрдбрд░рдмреЛрд░реНрдб рдкреЙрдЗрдВрдЯрд░)ред рдмрд┐рдирд╛storageDomainрдХреЗ рдЯреВрд▓ рдЪрд▓рддреЗ рд░рд╣рддреЗ рд╣реИрдВ рдФрд░ рд╕реНрдерд╛рдпрд┐рддреНрд╡ рдХрд╛рд░рдг рд╕рд╣рд┐рдд рдЕрдХреНрд╖рдо рд╣реЛрддрд╛ рд╣реИред - рдЪрд╛рдЗрд▓реНрдб рдкреНрд░реЛрд╕реЗрд╕ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓-рд░рд╣рд┐рдд рд╡рд╛рддрд╛рд╡рд░рдг рдкрд╛рддреЗ рд╣реИрдВ;
ghрдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рднрдВрдбрд╛рд░ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдХреЛрдИ рд╡рд╛рддрд╛рд╡рд░рдг рдорд╛рди рд▓реЙрдЧ рдирд╣реАрдВ рд╣реЛрддрд╛ред
рд╕реБрд░рдХреНрд╖рд╛ рд╕реАрдорд╛рдПрдБ
- рдХреЛрдИ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди рдирд╣реАрдВред рдХреЗрд╡рд▓
gh apiрдФрд░npm viewрдЪрд▓рддреЗ рд╣реИрдВред - рдХреЗрд╡рд▓-argv рд╕рдмрдкреНрд░реЛрд╕реЗрд╕ред рдХрднреА рд╢реЗрд▓ рдирд╣реАрдВ; owner/repo рдЦрдВрдб рдЙрдкрдпреЛрдЧ рд╕реЗ рдкрд╣рд▓реЗ рд╕рддреНрдпрд╛рдкрд┐рдд рд╣реЛрддреЗ рд╣реИрдВред
- рд╕рд╛рдХреНрд╖реНрдп рдЕрдиреБрд╢рд╛рд╕рдиред рд╡рд┐рдлрд▓ рдкреНрд░реЛрдм
no-evidenceрджреЗрддрд╛ рд╣реИ, рдХрднреА рдирдВрдмрд░ рдирд╣реАрдВред - рдкрд╣рдЪрд╛рди рдмрдирд╛рдо рд╕реИрдирд┐рдЯрд╛рдЗрдЬрд╝реЗрд╢рдиред рдЧреЛрдкрдиреАрдпрддрд╛ рдФрд░ рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд╣рдЪрд╛рди рд╕реИрдирд┐рдЯрд╛рдЗрдЬрд╝реЗрд╢рди рдХреА рд╣реА рд╢реБрджреНрдз regex рд╕рд╛рдЭрд╛ рдХрд░рддреА рд╣реИред
рдЬреНрдЮрд╛рдд рд╕реАрдорд╛рдПрдБ
- рд░рд┐рдкреЙрдЬрд╝рд┐рдЯрд░реА рдкреНрд░реЛрдм рдХреЗ рд▓рд┐рдП рдкреНрд░рдорд╛рдгрд┐рдд
ghрдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдЪрд╛рд╣рд┐рдП; npm рдкреНрд░реЛрдм рдХреЗ рд▓рд┐рдПnpmрдФрд░ registry рдкрд╣реБрдБрдЪ рдЪрд╛рд╣рд┐рдПред - рдмрд┐рдирд╛ рд╕рдорд╛рдзрд╛рди рдпреЛрдЧреНрдп GitHub рд░рд┐рдкреЙрдЬрд╝рд┐рдЯрд░реА рдХреЗ, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг/рд╕реБрд░рдХреНрд╖рд╛/рдЕрдиреБрдкрд╛рд▓рди
no-evidenceрд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддреЗ рд╣реИрдВред - рдЗрдВрд╕реНрдЯреЙрд▓ рд╕рдлрд▓рддрд╛ рд▓рдХреНрд╖реНрдп рд░рд┐рдХреЙрд░реНрдб рдХрд┐рдП рдЧрдП
dsh-test-driveрдХреЗ рдорд╛рдЙрдВрдЯ рд╣реЛрдиреЗ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИред - ┬лissue рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛┬╗ рдПрдХ рдкреНрд░реЙрдХреНрд╕реА рд╣реИ (рд╕рдмрд╕реЗ рдкреБрд░рд╛рдиреЗ рдЦреБрд▓реЗ issue рдХреА рдЖрдпреБ)ред
- рдкрд░рд┐рдгрд╛рдо рдкреНрд░рддрд┐ рд▓рдХреНрд╖реНрдп рдХреИрд╢ рд╣реЛрддреЗ рд╣реИрдВ; рдкреБрдирдГ рд╕реНрдХреЛрд░ рдХреЗ рд▓рд┐рдП
refresh: trueрдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рд╡рд┐рдХрд╛рд╕
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
рд╡рд┐рд╖рдп
dsh, dsh-plugin, deepseek-harness, deepseek, cordis, plugin-scoring, quality-score, leaderboard, supply-chain
рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛
PerryLink тАФ рдбрд┐рдЬрд╝рд╛рдЗрди рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиред
PerryLink DSH Plugin Family
рдпрд╣ рдкреНрд░реЛрдЬреЗрдХреНрдЯ PerryLink рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд░рдХреНрд╖рд┐рдд 33 DeepSeek Harness рдкреНрд▓рдЧрдЗрдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдЕрдЧрд░ рдпрд╣ рдЖрдкрдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИ, рддреЛ рдмрд╛рдХреА рднреА рдХрд░реЗрдВрдЧреЗ:
| Plugin | One-liner |
|---|---|
| dsh-dsh-auto-review | рдЕрдиреБрдореЛрджрди рд╢реНрд░реГрдВрдЦрд▓рд╛ рдкрд░ рджреНрд╡рд┐рддреАрдп-рдореЙрдбрд▓ рд╕реНрд╡рддрдГ-рд╕рдореАрдХреНрд╖рд╛, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╡рд┐рдлрд▓-рдмрдВрдж |
| dsh-dsh-background-agents | рд╡реЗрдм UI рд╕рд╛рдЗрдбрдмрд╛рд░, рд╕рдВрджреЗрд╢ рдФрд░ рдЕрд╡рд░реЛрдзрди рдХреЗ рд╕рд╛рде рдЯрд┐рдХрд╛рдК рдкреГрд╖реНрдарднреВрдорд┐ рдЪрд╛рдЗрд▓реНрдб рдПрдЬреЗрдВрдЯ |
| dsh-dsh-budget | DeepSeek Harness рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧрдд рдкреНрд░рд╢рд╛рд╕рди: рдмрдЬрдЯ, рдХрд╛рд░реНрдмрди рдФрд░ рд╡рд┐рд▓рдВрдмрддрд╛ рдПрдХ рдкреИрдирд▓ рдореЗрдВред |
| dsh-dsh-checkpoint-rewind | Claude Code /rewind-рд╕рдорддреБрд▓реНрдп: рд╕реНрдиреИрдкрд╢реЙрдЯ, рд╕рддреНрд░ рдлрд╝реЙрд░реНрдХ, рдПрдХ-рдмрд╛рд░ рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛ |
| dsh-dsh-claude-move | Claude Code рд╕рддреНрд░, рдореЗрдореЛрд░реА, рдХреМрд╢рд▓ рдФрд░ CLAUDE.md рдХреЛ DSH рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВ |
| dsh-dsh-click | DeepSeek Harness рдХреЗ рд▓рд┐рдП рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдиреЗрдЯрд┐рд╡ рдбреЗрд╕реНрдХрдЯреЙрдк рдирд┐рдпрдВрддреНрд░рдг тАФ Windows рдкрд╣рд▓реЗред |
| dsh-dsh-composer-history | рд╡реЗрдм рдХрдВрдкреЛрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП рдЯрд░реНрдорд┐рдирд▓-рд╢реИрд▓реА рдЗрдирдкреБрдЯ рдЗрддрд┐рд╣рд╛рд╕: рддреАрд░, Ctrl+R рдЦреЛрдЬ |
| dsh-dsh-data-quality | рдбреЗрдЯрд╛рд╕реЗрдЯ рдЧреБрдгрд╡рддреНрддрд╛ рдЬрд╛рдБрдЪ рд╡ рдЙрджреНрдзрд░рдг рд╕рддреНрдпрд╛рдкрди (рдпрд╣рд╛рдБ рдЙрдкрднреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕рдВрдЦреНрдпрд╛-рд╕реЗрддреБ) |
| dsh-dsh-defend | DeepSeek Harness рдХреЗ рд▓рд┐рдП рдкреНрд░реЙрдореНрдкреНрдЯ-рдЗрдВрдЬреЗрдХреНрд╢рди, рдЬреЗрд▓рдмреНрд░реЗрдХ рдФрд░ рд╕реАрдХреНрд░реЗрдЯ-рд▓реАрдХ рд░рдХреНрд╖рд╛ред |
| dsh-dsh-doublecheck | рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ-рдЕрдиреБрд╢рд╛рд╕рди рд░рдХреНрд╖рдХ: рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреА рдкреВрдЫрддрд╛рдЫ, рдкрд░реАрдХреНрд╖рдг рджреНрд╡рд╛рд░, рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡реА рд╕рдореАрдХреНрд╖рд╛ |
| dsh-dsh-draw | DeepSeek Harness рдХреЗ рд▓рд┐рдП рдПрдХреАрдХреГрдд рд╕реНрдереИрддрд┐рдХ-рдЫрд╡рд┐ рдирд┐рд░реНрдорд╛рдг рд░реВрдЯрд┐рдВрдЧред |
| dsh-dsh-fast | DeepSeek Harness рдХреЗ рд▓рд┐рдП рд░реАрдб-рдУрдирд▓реА рдкреНрд░рджрд░реНрд╢рди рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХреНрд╕ред |
| dsh-dsh-fund-research | рдЪреАрдиреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдореНрдпреВрдЪреБрдЕрд▓ рдлрдВрдб рдХреЗ рд▓рд┐рдП рдирд┐рдпрддрд╛рддреНрдордХ рдЕрдиреБрд╕рдВрдзрд╛рди рд░рд┐рдкреЛрд░реНрдЯ |
| dsh-dsh-github | DSH рдХреЗ рд▓рд┐рдП GitHub PR/issues рдПрдХреАрдХрд░рдг, рд╣рд░ рд▓реЗрдЦрди рдЕрдиреБрдореЛрджрди-рджреНрд╡рд╛рд░рд┐рдд |
| dsh-dsh-industry-research | рдЙрджреНрдпреЛрдЧ-рдЕрдиреБрд╕рдВрдзрд╛рди рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрд╢рди рдЬреЛ рдЗрд╕ рдкреНрд▓рдЧрд┐рди рдХреЗ ctx.researchReport.assemble рд╕реЗ рдбрд┐рд▓реАрд╡рд░реЗрдмрд▓ рд╕реАрд▓ рдХрд░рддрд╛ рд╣реИ |
| dsh-dsh-library | DeepSeek Harness рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЬреНрдЮрд╛рдирдХреЛрд╢ред |
| dsh-dsh-local-ai | DeepSeek Harness рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп-рдореЙрдбрд▓ (Ollama) рдПрдХреАрдХрд░рдгред |
| dsh-dsh-lsp-actions | рднрд╛рд╖рд╛ рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ LSP рдирд┐рджрд╛рди, рдлрд╝реЙрд░реНрдореЗрдЯрд┐рдВрдЧ, рдкреВрд░реНрдгрддрд╛, рдХреЛрдб рдХреНрд░рд┐рдпрд╛рдПрдБ рдФрд░ рдирд╛рдо рдмрджрд▓рдирд╛ |
| dsh-dsh-mask | PII рдорд╛рд╕реНрдХрд┐рдВрдЧ рдорд┐рдбрд▓рд╡реЗрдпрд░: рдореЙрдбрд▓ рд╕реАрдорд╛ рдкрд░ рдЕрдирд╛рдо рдХрд░реЗрдВ, рдбрд┐рд╕реНрдкреНрд▓реЗ рд▓реЗрдпрд░ рдкрд░ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ |
| dsh-dsh-mcp-panel | рдХреЗрд╡рд▓-рдкрдврд╝рдиреЗ рд╡рд╛рд▓рд╛ MCP рд░рдирдЯрд╛рдЗрдо рдкреИрдирд▓: /mcp рдХрдорд╛рдВрдб + рд╕реНрдерд┐рддрд┐, рдЯреВрд▓ рдФрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╡рд╛рд▓рд╛ Settings рдЯреИрдм |
| dsh-dsh-memento | рдЕрдиреБрдореЛрджрди-рджреНрд╡рд╛рд░рд┐рдд рдХреНрд░реЙрд╕-рд╕рддреНрд░ рдореЗрдореЛрд░реА: ctx.memory рд╕реАрдо + SQLite + рдореЗрдореЛрд░реА рдЯреВрд▓ |
| dsh-dsh-observe | DeepSeek Harness рдХреЗ рд▓рд┐рдП OpenTelemetry рдФрд░ Langfuse рдЕрд╡рд▓реЛрдХрдиреАрдпрддрд╛ рдирд┐рд░реНрдпрд╛рддрдХред |
| dsh-dsh-output-styles | Claude Code outputStyles-рд╕рдорддреБрд▓реНрдп рд░рдирдЯрд╛рдЗрдо рд╢реИрд▓реА рдмрджрд▓рд╛рд╡ |
| dsh-dsh-permission-rules | рдСрдбрд┐рдЯ рдХреЗ рд╕рд╛рде Claude Code-рд╢реИрд▓реА рдШреЛрд╖рдгрд╛рддреНрдордХ allow/deny/ask рдЕрдиреБрдорддрд┐ рдирд┐рдпрдо |
| dsh-dsh-plugin-guide | рдорд╛рдБрдЧ рдкрд░ рдПрдЬреЗрдВрдЯ рдХреМрд╢рд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд▓рдЧрдЗрди-рд╡рд┐рдХрд╛рд╕ рдЬреНрдЮрд╛рди рдЖрдзрд╛рд░ |
| dsh-dsh-research-report | рд╕рд╛рдордЧреНрд░реА-рдкрддрд╛ рд╕рд╛рдХреНрд╖реНрдп рдФрд░ рд╕реАрд▓рдмрдВрдж рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рд╡рд╛рд▓рд╛ рд╕рддреНрдпрд╛рдкрди-рдпреЛрдЧреНрдп рдЕрдиреБрд╕рдВрдзрд╛рди-рд░рд┐рдкреЛрд░реНрдЯ рдЗрдВрдЬрди |
| dsh-dsh-session-pin | рдЯрд┐рдХрд╛рдК рдХреНрд░рдо рдХреЗ рд╕рд╛рде рд╡реЗрдм рд╕рд╛рдЗрдбрдмрд╛рд░ рдореЗрдВ рд╕рддреНрд░ рдкрд┐рди рдХрд░реЗрдВ |
| dsh-dsh-session-sync | DeepSeek Harness рдХреЗ рд▓рд┐рдП рдХреНрд░реЙрд╕-рдбрд┐рд╡рд╛рдЗрд╕ рд╕рддреНрд░ рд╕рд┐рдВрдХ тАФ рдЖрдкрдХреЗ рд╕рддреНрд░ рд╕реНрдЯреЛрд░ рдХрд╛ рдПрдХ рд╕рдорд░реНрдкрд┐рдд git рдорд┐рд░рд░ред |
| dsh-dsh-skill-pack-security | рд╕реБрд░рдХреНрд╖рд╛-рдСрдбрд┐рдЯ рдХреМрд╢рд▓ рдкреИрдХ: рдЧреБрдкреНрдд рд╕реНрдХреИрди, рдирд┐рд░реНрднрд░рддрд╛ рдФрд░ рдЖрдкреВрд░реНрддрд┐-рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╕рдореАрдХреНрд╖рд╛ |
| dsh-dsh-talk | DeepSeek Harness рдХреЗ рд▓рд┐рдП рдЖрд╡рд╛рдЬрд╝-рдкреНрд░рдердо рд╕рддреНрд░ рд▓реВрдк: рдмреЛрд▓реЗрдВ рдФрд░ рдЙрддреНрддрд░ рд╕реБрдиреЗрдВред |
| dsh-dsh-test-drive | DeepSeek Harness рдкреНрд▓рдЧрд┐рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкреГрдердХ рдЗрдВрд╕реНрдЯреЙрд▓-рдПрдВрдб-рд╕реНрдореЛрдХ рдЯреЗрд╕реНрдЯ рдбреНрд░рд╛рдЗрд╡ред |
| dsh-dsh-translate | DeepSeek Harness рдХреЗ рд▓рд┐рдП рд╡реЗрдВрдбрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдЕрдиреБрд╡рд╛рдж рдФрд░ рдирд┐рдпрддрд╛рддреНрдордХ JSON рдорд░рдореНрдорддред |
DSH Desktop рдорд╛рд░реНрдХреЗрдЯ рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ
рд╕рднреА PerryLink рдкреНрд▓рдЧрдЗрди DSH Desktop рдХреЗ рдмрд┐рд▓реНрдЯ-рдЗрди рдорд╛рд░реНрдХреЗрдЯ рдореЗрдВ рджреЗрдЦреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ: Market тЖТ Sources тЖТ add source тЖТ рдкреЗрд╕реНрдЯ рдХрд░реЗрдВ https://perrylink-dsh-catalog.perrylink.workers.dev/catalog-source.json тЖТ рдЪреБрдиреЗрдВред рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдорд╛рд░реНрдХреЗрдЯ рдХреЗ npm-identity рд╕рддреНрдпрд╛рдкрди рдФрд░ рдЖрдкрдХреА рдкреБрд╖реНрдЯрд┐ рд╕реЗ рд╣реА рд╣реЛрддрд╛ рд╣реИред