ЁЯЦ▒я╕П dsh-click
August 30, 2026 ┬╖ View on GitHub
ЁЯЦ▒я╕П dsh-click
- 1024 рд╕реНрдЯреЛрд░ рдЪреИрдирд▓: рдПрдХ рдмрд╛рд░
npm i -g dsh1024, рдлрд┐рд░dsh1024 plugin --profile web add dsh-click(deepseek1024.com рдЗрдВрд╕реНрдЯреЙрд▓ рд░реИрдВрдХрд┐рдВрдЧ рдореЗрдВ рдЧрд┐рдирд╛ рдЬрд╛рддрд╛ рд╣реИ)ред
DeepSeek Harness рдХреЗ рд▓рд┐рдП рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдиреЗрдЯрд┐рд╡ рдбреЗрд╕реНрдХрдЯреЙрдк рдирд┐рдпрдВрддреНрд░рдг тАФ Windows рдкрд╣рд▓реЗред
рдкрд╣рд▓реЗ рд╕реНрдХреНрд░реАрди рджреЗрдЦреЗрдВ, рдлрд┐рд░ рдХрд╛рдо рдХрд░реЗрдВ тАФ рд╣рд░ рдХреНрд▓рд┐рдХ рд╕реНрд╡реАрдХреГрдд, рд╣рд░ рдХреНрд░рд┐рдпрд╛ рдСрдбрд┐рдЯреЗрдбред
English ┬╖ чоАф╜Уф╕нцЦЗ ┬╖ Espa├▒ol ┬╖ Portugu├кs ┬╖ рд╣рд┐рдиреНрджреА
рд╕рдВрдЧрддрддрд╛
| рд╕рддрд╣ | рд╕реНрдерд┐рддрд┐ |
|---|---|
| Harness | DeepSeek Harness 0.1.1-rc.2 |
| Node | ^22.19.0 || >=24.0.0 |
| рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо | Windows рдкрд╣рд▓реЗ (UIAutomation + Win32 рдЗрдирдкреБрдЯ, рдмрдВрдбрд▓ рдХрд┐рдП рдЧрдП PowerShell рд╣реЗрд▓реНрдкрд░ рдХреЗ рдЬрд╝рд░рд┐рдП); macOS/Linux рдмреИрдХрдПрдВрдб рдЖрд░рдХреНрд╖рд┐рдд рд╣реИрдВ рдФрд░ рд╕реНрдкрд╖реНрдЯ рдХрд╛рд░рдг рдХреЗ рд╕рд╛рде fail-closed рд╣реЛрддреЗ рд╣реИрдВ |
| рдореЙрдбрд▓ | рдХреЗрд╡рд▓-рдЯреЗрдХреНрд╕реНрдЯ рдореЙрдбрд▓ рдкреВрд░реА рддрд░рд╣ рд╕рдорд░реНрдерд┐рдд (screen_read рд╕рдВрд░рдЪрд┐рдд рдЯреЗрдХреНрд╕реНрдЯ рд▓реМрдЯрд╛рддрд╛ рд╣реИ); рд╡рд┐рдЬрд╝рди рдореЙрдбрд▓ рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ screen_shot рдХреА рдЫрд╡рд┐рдпрд╛рдБ рдорд┐рд▓рддреА рд╣реИрдВ |
рдЖрдкрдХреЛ рдХреНрдпрд╛ рдорд┐рд▓рддрд╛ рд╣реИ
dsh-click рд╣рд╛рд░реНрдиреЗрд╕ рдХреЛ рдиреЗрдЯрд┐рд╡ рдбреЗрд╕реНрдХрдЯреЙрдк рдРрдкреНрд╕ рдкрд░ рдкреВрд░рд╛ observe тЖТ act рд▓реВрдк рджреЗрддрд╛ рд╣реИ:
screen_shotтАФ рдХрд┐рд╕реА рд╡рд┐рдВрдбреЛ (рдпрд╛ рдкреНрд░рд╛рдердорд┐рдХ рд╕реНрдХреНрд░реАрди) рдХрд╛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╕реАрдорд╛ рддрдХ рдЫреЛрдЯрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рд╡рд┐рдЬрд╝рди-рд╕рдХреНрд╖рдо рдореЙрдбрд▓ рдХреЗ рд╕рд╛рде рдкрд░рд┐рдгрд╛рдо рдореЗрдВ рдЫрд╡рд┐ рд╣реЛрддреА рд╣реИ; рдЕрдиреНрдпрдерд╛ рдЯреЗрдХреНрд╕реНрдЯ рд╡рд┐рд╡рд░рдг рдХреЗрд╡рд▓-рдЯреЗрдХреНрд╕реНрдЯ рдореЙрдбрд▓ рдХреЛ рдЪрд╛рд▓реВ рд░рдЦрддрд╛ рд╣реИредscreen_readтАФ рд╕рдВрд░рдЪрд┐рдд рдЕрд╡рд▓реЛрдХрди: рд╡рд┐рдВрдбреЛ рдХрд╛ рдПрдХреНрд╕реЗрд╕рд┐рдмрд┐рд▓рд┐рдЯреА рдЯреНрд░реА (рдПрд▓рд┐рдореЗрдВрдЯ рдЖрдИрдбреА, рдкреНрд░рдХрд╛рд░, рдирд╛рдо, рдЖрдпрдд, рд╕рдорд░реНрдерд┐рдд рдкреИрдЯрд░реНрди) рдФрд░ рд░рдВрдЧреЛрдВ рд╕рд╣рд┐рдд рдкрд┐рдХреНрд╕реЗрд▓-рд╕реНрдерд┐рддрд┐ рд╕рдВрдХреЗрдд тАФ рд╕рд╛рджрд╛ рдЯреЗрдХреНрд╕реНрдЯ, рдХрд┐рд╕реА рдЫрд╡рд┐ рдореЙрдбрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВредclick/type/scroll/keyтАФ рдПрд▓рд┐рдореЗрдВрдЯ рдЖрдИрдбреА рдпрд╛ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдмреЛрдзрд┐рдд рд╡рд┐рдВрдбреЛ-рд╕реНрдХреЛрдкреНрдб рдХреНрд░рд┐рдпрд╛рдПрдБред рдбрд┐рд▓реАрд╡рд░реА UIA invoke рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрддреА рд╣реИ рдФрд░ рдкреЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рд╡рд┐рдВрдбреЛ рд╕рдВрджреЗрд╢реЛрдВ рдкрд░ рд╡рд╛рдкрд╕ рдЧрд┐рд░рддреА рд╣реИ тАФ рдФрд░ рдХрднреА рдЕрдЧреНрд░рднреВрдорд┐ рдлрд╝реЛрдХрд╕ рдирд╣реАрдВ рдЫреАрдирддреАредapp_list/app_launchтАФ рдЪрд▓ рд░рд╣реЗ рдРрдкреНрд╕ рдФрд░ рдЙрдирдХреА рд╡рд┐рдВрдбреЛ рдХреА рд╕реВрдЪреА; рдирд╛рдо рдпрд╛ рдкрде рд╕реЗ рдПрдХ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВред
рд╣рд░ рдкрд░рд┐рд╡рд░реНрддрдирдХрд╛рд░реА рдХреНрд░рд┐рдпрд╛ рдПрдХ рд╣реА рд╕реБрд░рдХреНрд╖рд╛ рд╕реАрдорд╛ рдкрд╛рд░ рдХрд░рддреА рд╣реИ:
- рддрд╛рдЬрд╝рдЧреА тАФ рдХреНрд░рд┐рдпрд╛ рдХреЛ
basedOnрдЕрд╡рд▓реЛрдХрди рдЙрджреНрдзреГрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛; рдХрд╛рд░реНрдп рд╕реЗ рдареАрдХ рдкрд╣рд▓реЗ рд╡рд┐рдВрдбреЛ рдлрд┐рд░ рд╕реЗ рдХреИрдкреНрдЪрд░ рд╣реЛрддреА рд╣реИ рдФрд░ рд╕реНрдХреНрд░реАрди рдмрджрд▓рдиреЗ рдкрд░ рдХреНрд░рд┐рдпрд╛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рд╣реЛрддреА рд╣реИ (рдкрд┐рдХреНрд╕реЗрд▓-рд╣реИрд╢ + рдЕрдзрд┐рдХрддрдо рдЖрдпреБ рд╕реАрдорд╛)ред - рд╕реНрд╡реАрдХреГрддрд┐ тАФ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ
ctx.approvalрд╣рд░ рдХреНрд░рд┐рдпрд╛ рдкрд░ рдкрд╣рд░рд╛ рджреЗрддрд╛ рд╣реИ; рд╡рд┐рдВрдбреЛ-рд╢реАрд░реНрд╖рдХ/рдирд┐рд╖реНрдкрд╛рджрди-рдкрде regex рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рдВрдбреЛ рдХреЛ рдЕрдиреБрдорддрд┐ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ (рдлрд┐рд░ рднреА рдСрдбрд┐рдЯ рд╣реЛрддреА рд╣реИ)ред - рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд╣рдЪрд╛рди тАФ рд╕реНрд╡рд╛рдореА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ pid рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рдкрде рдХрд╛рд░реНрдп рд╕реЗ рдкрд╣рд▓реЗ рдФрд░ рдмрд╛рдж рдореЗрдВ рд╕рддреНрдпрд╛рдкрд┐рдд рд╣реЛрддрд╛ рд╣реИ; рдмрджрд▓рд╛рд╡ рдкрд░ рдкрд░рд┐рдгрд╛рдо рдЬрд╝реЛрд░ рд╕реЗ рдЕрд╕реНрд╡реАрдХрд╛рд░ рд╣реЛрддрд╛ рд╣реИред
- рдСрдбрд┐рдЯ тАФ рдЕрд╡рд▓реЛрдХрди рдФрд░ рдХреНрд░рд┐рдпрд╛рдПрдБ рд╕рддреНрд░ рд▓реЙрдЧ рдореЗрдВ
dsh-click/observed/dsh-click/actionрдЗрд╡реЗрдВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрдЬ рд╣реЛрддреА рд╣реИрдВ (рд╕реИрдирд┐рдЯрд╛рдЗрдЬрд╝реНрдб, рдХреЗрд╡рд▓-рд▓реЙрдЧ)ред
рдореЙрдбрд▓ harness
тФВ screen_read тФАтФАтЦ╢ observationId (+ рдПрд▓рд┐рдореЗрдВрдЯ, рдкрд┐рдХреНрд╕реЗрд▓) тЖР рд╕рдВрд░рдЪрд┐рдд рдЯреЗрдХреНрд╕реНрдЯ
тФВ click {basedOn, target} тФАтФАтЦ╢ рддрд╛рдЬрд╝рдЧреА рдЬрд╛рдБрдЪ тФАтФАтЦ╢ рд╕реНрд╡реАрдХреГрддрд┐ тФАтФАтЦ╢ рд╣реЗрд▓реНрдкрд░ (UIA)
тФВ рдкрд┐рдХреНрд╕реЗрд▓ рд╣реИрд╢ рдмрджрд▓рд╛? тФАтФА рдЕрд╕реНрд╡реАрдХрд╛рд░ + рдкреБрдирдГ рдЕрд╡рд▓реЛрдХрди
тФВ рдХрд╛рд░реНрдп рдХреЗ рдмрд╛рдж pid/exe рдмрджрд▓рд╛? тФАтФА PROCESS_CHANGED
тФВ тЧАтФАтФА рдХреИрдирдирд┐рдХрд▓ JSON + рдСрдбрд┐рдЯ рдЗрд╡реЗрдВрдЯ (dsh-click/action)
рддреНрд╡рд░рд┐рдд рд╢реБрд░реБрдЖрдд
# 1. рдмрдВрдбрд▓ рдХреЛ рдЕрдкрдиреЗ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ
dsh plugin --profile web add "github:PerryLink/dsh-click#main"
# рдпрд╛ npm рд╕реЗ (рдкреНрд░рдХрд╛рд╢рд┐рдд рд░рд┐рд▓реАрдЬрд╝)
dsh plugin --profile web add dsh-click
# 2. рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░реЗрдВ рдФрд░ рдкрдВрдХреНрддрд┐ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ
dsh --profile web --dump-config | grep -A2 'id: dsh-click'
рдлрд┐рд░ рдПрдЬреЗрдВрдЯ рд╕реЗ рдХрд╣реЗрдВ рдХрд┐ рд╡рд╣ рдХрд┐рд╕реА рд╡рд┐рдВрдбреЛ рдХреЛ рджреЗрдЦреЗ рдФрд░ рдХрд╛рд░реНрдп рдХрд░реЗ тАФ рд╣рд░ рдкрд░рд┐рд╡рд░реНрддрдирдХрд╛рд░реА рдХреНрд░рд┐рдпрд╛ рдкрд░ рд╕реНрд╡реАрдХреГрддрд┐ рд╕рдВрдХреЗрдд рджрд┐рдЦрддрд╛ рд╣реИ:
> рдиреЛрдЯрдкреИрдб рдЦреЛрд▓реЗрдВ, "рдирдорд╕реНрддреЗ" рдЯрд╛рдЗрдк рдХрд░реЗрдВ, рдлрд┐рд░ рд╕реНрдХреНрд░реАрди рдкрд░ рдЬреЛ рд╣реИ рдЙрд╕реЗ рд╡рд╛рдкрд╕ рдкрдврд╝реЗрдВред
рдЗрдВрд╕реНрдЯреЙрд▓ рдФрд░ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓
- git рдЪреИрдирд▓ (рдирд╡реАрдирддрдо
main):dsh plugin --profile web add "github:PerryLink/dsh-click#main"тАФprepareрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗрд╡рд▓ рдкреНрд░реЛрдбрдХреНрд╢рди рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рд╕реЗ рдмрд┐рд▓реНрдб рдХрд░рддреА рд╣реИред - npm рдЪреИрдирд▓ (рдкреНрд░рдХрд╛рд╢рд┐рдд рд░рд┐рд▓реАрдЬрд╝):
dsh plugin --profile web add dsh-clickред - tarball рдЪреИрдирд▓: рдЗрд╕ рд░реЗрдкреЛ рдореЗрдВ
pnpm pack, рдлрд┐рд░dsh plugin --profile web add ./dsh-click-<version>.tgzред - рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓:
dsh plugin --profile web remove dsh-click(рдпрд╛ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдкреИрдЪ рд╕реЗ рдкрдВрдХреНрддрд┐ рд╣рдЯрд╛рдПрдБ)ред
рдпрджрд┐ pnpm рдЗрд╕ рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП
ERR_PNPM_IGNORED_BUILDSрджрд┐рдЦрд╛рддрд╛ рд╣реИ (esbuild рдХрд╛ рд╣рд╛рдирд┐рд░рд╣рд┐рдд рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рдмрд╛рдЗрдирд░реА рд╕рддреНрдпрд╛рдкрди), рддреЛ рдЕрдкрдиреЗpnpm-workspace.yamlрдореЗрдВallowBuilds: { esbuild: true }рдЬреЛрдбрд╝реЗрдВ тАФdshCLI рд╕рдЯреАрдХ рд╕реНрдирд┐рдкреЗрдЯ рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИред
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди
рд╕рднреА рд╕рдорд╛рдпреЛрдЬрди Schemastery Config рдлрд╝реАрд▓реНрдб рд╣реИрдВ (cordis.yml рд╕реЗ рдмрджрд▓реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ)ред id-рд▓рдХреНрд╖рд┐рдд рдУрд╡рд░рд░рд╛рдЗрдб рдкреВрд░реА рдкрдВрдХреНрддрд┐ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ тАФ рдЬрд╝рд░реВрд░рдд рдХреА рд╣рд░ рдХреБрдВрдЬреА рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦреЗрдВред cordis.patch.yml рд╣рд░ рдХреБрдВрдЬреА рдХреЛ рдЗрдирд▓рд╛рдЗрди рд╕рдордЭрд╛рддрд╛ рд╣реИред
| рдХреБрдВрдЬреА | рдбрд┐рдлрд╝реЙрд▓реНрдЯ | рдЕрд░реНрде |
|---|---|---|
requireApproval | true | рд╣рд░ рдкрд░рд┐рд╡рд░реНрддрдирдХрд╛рд░реА рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реНрд╡реАрдХреГрддрд┐ рдХреЗ рдкреАрдЫреЗ рд░рдЦреЗрдВ; рдСрдмреНрдЬрд╝рд░реНрд╡рд░ рдХрднреА рдирд╣реАрдВ рдкреВрдЫрддреЗ |
autoApproveWindows | [] | рд╡рд┐рдВрдбреЛ-рд╢реАрд░реНрд╖рдХ/рдирд┐рд╖реНрдкрд╛рджрди-рдкрде regex рдЬреЛ рд╕реНрд╡реАрдХреГрддрд┐ рдкреНрд░рд╢реНрди рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ (рдлрд┐рд░ рднреА рддрд╛рдЬрд╝рдЧреА рдЬрд╛рдБрдЪ рдФрд░ рдСрдбрд┐рдЯ) |
auditSessionEvents | true | рд╕рддреНрд░ рдореЗрдВ dsh-click/observed/dsh-click/action рдСрдбрд┐рдЯ рдЗрд╡реЗрдВрдЯ рдЬреЛрдбрд╝реЗрдВред рдЕрдиреБрдХреВрд▓реА рджреНрд╡рд╛рд░ рдмрд┐рдирд╛-рд▓рд┐рдлрд╝рд╛рдлрд╝реЗ рд╡рд╛рд▓реЗ hosts (rc.6тАУrc.8, 0.1.1-rc.2, рдФрд░ рдЕрдЬреНрдЮрд╛рдд рдкреНрд░рдХрд╛рд░реЛрдВ рдкрд░ рдкрдарди-рд╡рд┐рдлрд▓-рдмрдВрдж 0.1.2-alpha.1) рдкрд░ append рдкрд╣рд▓реЗ рд╣реА рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ; рдСрдбрд┐рдЯ append рдкреВрд░реА рддрд░рд╣ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП false рд░рдЦреЗрдВ |
focusFallback | never | рдХреНрдпрд╛ рдХреЛрдИ рдХреНрд░рд┐рдпрд╛ рдЕрдВрддрд┐рдо рдЙрдкрд╛рдп рдХреЗ рд░реВрдк рдореЗрдВ рд▓рдХреНрд╖реНрдп рд╡рд┐рдВрдбреЛ рдХреЛ рдЕрдЧреНрд░рднреВрдорд┐ рдореЗрдВ рд▓рд╛ рд╕рдХрддреА рд╣реИ (never / allow) |
imageMode | auto | screen_shot рд░реЗрдВрдбрд░рд┐рдВрдЧ: auto (рдореЙрдбрд▓ рдЫрд╡рд┐ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗ рддреЛ рдЫрд╡рд┐, рдЕрдиреНрдпрдерд╛ рдЯреЗрдХреНрд╕реНрдЯ) рдпрд╛ text |
helperTimeoutMs | 30000 | рдкреНрд░рддрд┐ рд╣реЗрд▓реНрдкрд░-рдХреЙрд▓ рдЯрд╛рдЗрдордЖрдЙрдЯ ms рдореЗрдВ (1..300000) |
maxHelperOutputBytes | 25165824 | рдПрдХ рд╣реЗрд▓реНрдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдмрд╛рдЗрдЯ рд╕реАрдорд╛ (1024..67108864) |
maxScreenshotSide | 2560 | рдХреИрдкреНрдЪрд░ рдХреА рд╕рдмрд╕реЗ рд▓рдВрдмреА рднреБрдЬрд╛ рдкрд┐рдХреНрд╕реЗрд▓ рдореЗрдВ (320..7680); рдмрдбрд╝реА рдХреИрдкреНрдЪрд░ рдЫреЛрдЯреА рдХреА рдЬрд╛рддреА рд╣реИрдВ |
staleCheckPixels | true | рд╣рд░ рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдкрд╣рд▓реЗ рддрд╛рдЬрд╝рд╛ рдкрд┐рдХреНрд╕реЗрд▓ рд╣реИрд╢ рдорд┐рд▓рд╛рдПрдБ рдФрд░ рдмрджрд▓рд╛рд╡ рдкрд░ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВ |
maxObservationAgeMs | 30000 | рдХрд┐рд╕реА рдЕрд╡рд▓реЛрдХрди рдХреА рдЕрдзрд┐рдХрддрдо рдЖрдпреБ ms рдореЗрдВ рдЬрд┐рд╕реЗ рдХреЛрдИ рдХреНрд░рд┐рдпрд╛ рдЙрджреНрдзреГрдд рдХрд░ рд╕рдХрддреА рд╣реИ (1000..600000) |
maxCachedObservations | 8 | рдХреИрд╢ рдХрд┐рдП рдЧрдП рдЕрд╡рд▓реЛрдХрдиреЛрдВ рдХреА LRU рд╕реАрдорд╛ (1..64) |
maxElements | 500 | рдкреНрд░рддрд┐ screen_read рдПрдХреНрд╕реЗрд╕рд┐рдмрд┐рд▓рд┐рдЯреА рдПрд▓рд┐рдореЗрдВрдЯ рдХреА рд╕реАрдорд╛ (1..2000) |
maxTreeDepth | 32 | рдПрдХреНрд╕реЗрд╕рд┐рдмрд┐рд▓рд┐рдЯреА рдЯреНрд░реА-рд╡реЙрдХ рдХреА рдЕрдзрд┐рдХрддрдо рдЧрд╣рд░рд╛рдИ (1..64) |
maxTextLength | 200 | рд╕реИрдирд┐рдЯрд╛рдЗрдЬрд╝реНрдб рдореЙрдбрд▓-рджреГрд╢реНрдп рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреА рдХрд╛рдЯ-рдЫрд╛рдБрдЯ рд▓рдВрдмрд╛рдИ (16..10000) |
rollbackEnabled | true | type рд╡рд┐рдлрд▓ рд╣реЛрдиреЗ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рдЯреЗрдХреНрд╕реНрдЯ рдХрд╛ рдмреИрдХрдЕрдк рдФрд░ рдкреБрдирд░реНрд╕реНрдерд╛рдкрди |
ocr.enabled / command / language | true / tesseract / eng | screen_find рдХреЗ рд▓рд┐рдП рд╡реИрдХрд▓реНрдкрд┐рдХ OCR (рдорд╛рдЙрдВрдЯ рдкрд░ рдЬрд╛рдБрдЪ; tesseract рдЕрдиреБрдкрд╕реНрдерд┐рдд рд╣реЛрдиреЗ рдкрд░ рдЕрдиреБрдкрд▓рдмреНрдз) |
рдЖрдкрдХреЗ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдкреИрдЪ рдореЗрдВ рдУрд╡рд░рд░рд╛рдЗрдб рдЙрджрд╛рд╣рд░рдг:
- insert:
- id: dsh-click
name: dsh-click
config:
requireApproval: true
autoApproveWindows: ['^Notepad']
focusFallback: never
рдЯреВрд▓ рдФрд░ рд╕рддрд╣реЗрдВ
| рдЯреВрд▓ | рдХреЗрд╡рд▓-рдкрдарди | рд╕реНрд╡реАрдХреГрддрд┐ рдЪрд╛рд╣рд┐рдП | рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ |
|---|---|---|---|
screen_shot | тЬЕ | тАФ | observationId рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдмрд╛рдж рдХреА рдХреНрд░рд┐рдпрд╛рдПрдБ basedOn рдореЗрдВ рдЙрджреНрдзреГрдд рдХрд░рддреА рд╣реИрдВ; рдореЙрдбрд▓ рдЫрд╡рд┐ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗ рддреЛ рдЫрд╡рд┐ рдЕрдЯреИрдЪрдореЗрдВрдЯ |
screen_read | тЬЕ | тАФ | рдПрдХреНрд╕реЗрд╕рд┐рдмрд┐рд▓рд┐рдЯреА рдЯреНрд░реА + рдкрд┐рдХреНрд╕реЗрд▓ рд╕рдВрдХреЗрдд; рдПрд▓рд┐рдореЗрдВрдЯ рдЖрдИрдбреА рд╣реА рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рд╕рдВрдмреЛрдзрди рд╣реИ |
click | тЬЕ | elementId рдпрд╛ (x, y) рдореЗрдВ рд╕реЗ рдареАрдХ рдПрдХ; UIA invoke рдкреНрд░рд╛рдердорд┐рдХрддрд╛, рдкреЛрд╕реНрдЯ рдХрд┐рдП рд╕рдВрджреЗрд╢ рдлрд╝реЙрд▓рдмреИрдХ | |
type | тЬЕ | рдХреЗрд╡рд▓ value-рдкреИрдЯрд░реНрди рдПрд▓рд┐рдореЗрдВрдЯ; рд╡рд┐рдлрд▓рддрд╛ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рдЯреЗрдХреНрд╕реНрдЯ рдХрд╛ рдмреИрдХрдЕрдк рдФрд░ рдкреБрдирд░реНрд╕реНрдерд╛рдкрди | |
scroll | тЬЕ | рдПрд▓рд┐рдореЗрдВрдЯ (scroll рдкреИрдЯрд░реНрди) рдпрд╛ рд╡рд┐рдВрдбреЛ (рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рд╡реНрд╣реАрд▓) | |
key | тЬЕ | рдкреЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рдХреБрдВрдЬреА рд╕рдВрдпреЛрдЬрди ("Ctrl+S"); рдкреЛрд╕реНрдЯ рдЗрдирдкреБрдЯ рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдРрдкреНрд╕ рдЬрд╝реЛрд░ рд╕реЗ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ | |
app_list | тЬЕ | тАФ | рдЪрд▓ рд░рд╣реЗ рдРрдкреНрд╕ рдФрд░ рдЙрдирдХреА рджреГрд╢реНрдп рд╡рд┐рдВрдбреЛ |
app_launch | тЬЕ | рдирд╛рдо рдпрд╛ рдирд┐рд╖реНрдкрд╛рджрди рдкрде рд╕реЗ, рд╡реИрдХрд▓реНрдкрд┐рдХ рддрд░реНрдХреЛрдВ рд╕рд╣рд┐рдд |
рдЕрдиреБрдорддрд┐рдпрд╛рдБ рдФрд░ рдбреЗрдЯрд╛
- рдЕрдиреБрдорддрд┐рдпрд╛рдБ: рдкрд░рд┐рд╡рд░реНрддрдирдХрд╛рд░реА рдХреНрд░рд┐рдпрд╛рдПрдБ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ
ctx.approvalрд╕реАрдо рдкрд╛рд░ рдХрд░рддреА рд╣реИрдВ тАФ рдкреНрд▓рдЧрдЗрди рдЙрд╕реЗ рдХрднреА рдлрд┐рд░ рд╕реЗ рд▓рд╛рдЧреВ рдпрд╛ рдмрд╛рдпрдкрд╛рд╕ рдирд╣реАрдВ рдХрд░рддрд╛ред рдЕрдиреБрдорддрд┐-рд╕реВрдЪреА рдХреЗрд╡рд▓ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рдВрдбреЛ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╢реНрди рдЫреЛрдбрд╝рддреА рд╣реИ; рдпрд╣ рддрд╛рдЬрд╝рдЧреА рдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛-рдкрд╣рдЪрд╛рди рдЬрд╛рдБрдЪ рдмрдВрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддреАред - рдбреЗрдЯрд╛: рдкреНрд▓рдЧрдЗрди рдЕрдЯреИрдЪрдореЗрдВрдЯ рд╕реНрдЯреЛрд░ рджреНрд╡рд╛рд░рд╛ рд░рдЦреЗ рдЧрдП рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреЗ рдЕрд▓рд╛рд╡рд╛ (рдХреЙрдиреНрдЯреЗрдВрдЯ-рдПрдбреНрд░реЗрд╕реНрдб, рд╣рд╛рд░реНрдиреЗрд╕ рдХреА рдЕрдкрдиреА рдЕрдЯреИрдЪрдореЗрдВрдЯ рдиреАрддрд┐ рдХреЗ рддрд╣рдд) рдХреБрдЫ рднреА рдбрд┐рд╕реНрдХ рдкрд░ рдирд╣реАрдВ рд▓рд┐рдЦрддрд╛ред рдЕрд╡рд▓реЛрдХрди рдореЗрдореЛрд░реА рдореЗрдВ рд░рд╣рддреЗ рд╣реИрдВ (рд╕реАрдорд┐рдд LRU)ред рдХреЛрдИ рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдз рдирд╣реАрдВ, рдХреЛрдИ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рднрдВрдбрд╛рд░рдг рдирд╣реАрдВред
- рд╕рддреНрд░ рд▓реЙрдЧ:
dsh-click/observedрдФрд░dsh-click/actionрдХреЗрд╡рд▓-рд▓реЙрдЧ рдСрдбрд┐рдЯ рдЗрд╡реЗрдВрдЯ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рд╕реИрдирд┐рдЯрд╛рдЗрдЬрд╝реНрдб рд╡рд┐рдВрдбреЛ/рдкреНрд░рдХреНрд░рд┐рдпрд╛ рддрдереНрдп рд╣реЛрддреЗ рд╣реИрдВ тАФ рд╢реАрд░реНрд╖рдХ, рдкрде рдФрд░ рдореБрдХреНрдд рдЯреЗрдХреНрд╕реНрдЯ рд▓рд┐рдЦреЗ рдпрд╛ рджрд┐рдЦрд╛рдП рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд░рд┐рдбреИрдХреНрдЯ рдФрд░ рдХрд╛рдЯреЗ рдЬрд╛рддреЗ рд╣реИрдВред
рд╕реБрд░рдХреНрд╖рд╛ рд╕реАрдорд╛рдПрдБ
- рдкрд╣рд▓реЗ рджреЗрдЦреЗрдВ, рдлрд┐рд░ рдХрд╛рд░реНрдп тАФ рд╣рд░ рдмрд╛рд░ред рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рддрд╛рдЬрд╝рд╛ рдЕрд╡рд▓реЛрдХрди рдЙрджреНрдзреГрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛; рдмрджрд▓реА рд╕реНрдХреНрд░реАрди (рдкрд┐рдХреНрд╕реЗрд▓ рд╣реИрд╢) рдпрд╛ рд╕рдорд╛рдкреНрдд рдЕрд╡рд▓реЛрдХрди рдХреЛ рдореЙрдбрд▓-рдкрдардиреАрдп рдХрд╛рд░рдг рд╕реЗ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдкреБрдирдГ рдЕрд╡рд▓реЛрдХрди рдХреА рдорд╛рдБрдЧ рдХрд░рддрд╛ рд╣реИред
- рд╕реНрд╡реАрдХреГрддрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИред рдЬрдм рддрдХ рдЖрдк рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рдВрдбреЛ рдирд╣реАрдВ рдЫреЛрдбрд╝рддреЗ,
requireApproval: true; рд╣рд░ рдХреНрд░рд┐рдпрд╛ тАФ рдЕрдиреБрдордд рд╣реЛ рдпрд╛ рдирд╣реАрдВ тАФ рдСрдбрд┐рдЯ рд╣реЛрддреА рд╣реИред - рдлрд╝реЛрдХрд╕ рдирд╣реАрдВ рдЫреАрдирд╛ рдЬрд╛рддрд╛ред рд╣реЗрд▓реНрдкрд░ рдХрднреА рд▓рдХреНрд╖реНрдп рд╡рд┐рдВрдбреЛ рдХреЛ рдЕрдЧреНрд░рднреВрдорд┐ рдореЗрдВ рдирд╣реАрдВ рд▓рд╛рддрд╛ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ
focusFallback: 'never'); рдЗрдирдкреБрдЯ UIA рдпрд╛ рдкреЛрд╕реНрдЯ рдХрд┐рдП рд╕рдВрджреЗрд╢реЛрдВ рд╕реЗ рдкрд╣реБрдБрдЪрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдкреГрд╖реНрдарднреВрдорд┐ рд╡рд┐рдВрдбреЛ рдХреЛ рдЫреЗрдбрд╝рд╛ рди рдЬрд╛рдПред - рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд╣рдЪрд╛рди рджреЛрдмрд╛рд░рд╛ рд╕рддреНрдпрд╛рдкрд┐рдд рд╣реЛрддреА рд╣реИ тАФ рд╣рд░ рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдареАрдХ рдкрд╣рд▓реЗ рдФрд░ рдмрд╛рдж рдореЗрдВ; рдмреАрдЪ рдореЗрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрджрд▓рдиреЗ рдкрд░ рдкрд░рд┐рдгрд╛рдо рд╡рд┐рдлрд▓ рд╣реЛрддрд╛ рд╣реИ (
PROCESS_CHANGED)ред - рд╕реИрдирд┐рдЯрд╛рдЗрдЬрд╝реНрдб рдЖрдЙрдЯрдкреБрдЯред рдирд┐рдпрдВрддреНрд░рдг рд╡рд░реНрдг рд╣рдЯрддреЗ рд╣реИрдВ, рдЯреИрдм рд╕рд┐рдХреБрдбрд╝рддреЗ рд╣реИрдВ рдФрд░ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓-рдЖрдХрд╛рд░ рдХреЗ рдорд╛рди (рдХреБрдВрдЬрд┐рдпрд╛рдБ, рдЯреЛрдХрди, JWT, bearer рд╣реЗрдбрд░) рдореЙрдбрд▓ рдпрд╛ рд▓реЙрдЧ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд░рд┐рдбреИрдХреНрдЯ рд╣реЛрддреЗ рд╣реИрдВред
- Fail closedред рдЕрд╕рдорд░реНрдерд┐рдд рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо, рдЕрдиреБрдкрд╕реНрдерд┐рдд рд╕рдмрдкреНрд░реЛрд╕реЗрд╕ рд╕реЗрд╡рд╛ рдпрд╛ рдЕрдиреБрдкрд▓рдмреНрдз рд╣реЗрд▓реНрдкрд░ рд╣рд░ рдХреЙрд▓ рдХреЛ рдЬрд╝реЛрд░ рд╕реЗ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ тАФ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рд╣рд░ рдЬрдЧрд╣ рдмреВрдЯ рд╣реЛрддреА рд░рд╣рддреА рд╣реИрдВред
рдЬреНрдЮрд╛рдд рд╕реАрдорд╛рдПрдБ
- Windows рдкрд╣рд▓реЗред macOS рдФрд░ Linux рдмреИрдХрдПрдВрдб рдЖрд░рдХреНрд╖рд┐рдд рд╣реИрдВ; рдЙрди рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рд╣рд░ рдХреЙрд▓ рд╕реНрдкрд╖реНрдЯ рдХрд╛рд░рдг рд╕реЗ fail-closed рд╣реЛрддреА рд╣реИред
- рдХреЗрд╡рд▓-рдЯреЗрдХреНрд╕реНрдЯ рдирд┐рд╖реНрдард╛ред
screen_readрдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдРрдк UIAutomation рдЙрдЬрд╛рдЧрд░ рдХрд░реЗ; рдмрд┐рдирд╛ рдПрдХреНрд╕реЗрд╕рд┐рдмрд▓ рдЯреНрд░реА рд╡рд╛рд▓реЗ рдРрдкреНрд╕ рдХреЗрд╡рд▓ рдкрд┐рдХреНрд╕реЗрд▓ рд╕рдВрдХреЗрдд рджреЗрддреЗ рд╣реИрдВред рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреНрд▓рд┐рдХ рдЙрдкрд▓рдмреНрдз рд░рд╣рддреЗ рд╣реИрдВред - рдкреЛрд╕реНрдЯ-рдЗрдирдкреБрдЯ рдРрдкреНрд╕ред рдХреБрдЫ рдРрдкреНрд╕ рдкреЛрд╕реНрдЯ рдХрд┐рдП рд╡рд┐рдВрдбреЛ рд╕рдВрджреЗрд╢ рдЕрдирджреЗрдЦрд╛ рдХрд░рддреЗ рд╣реИрдВ (рдЧреЗрдо, рдХреБрдЫ Electron рд╕рддрд╣реЗрдВ);
keyрд╕рдлрд▓рддрд╛ рдХрд╛ рджрд┐рдЦрд╛рд╡рд╛ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдпрд╣ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдмрддрд╛рддрд╛ рд╣реИред - рдмрд┐рдирд╛-рд▓рд┐рдлрд╝рд╛рдлрд╝реЗ рд╡рд╛рд▓реЗ рд╣рд╛рд░реНрдиреЗрд╕ рдмрд┐рд▓реНрдб рдкрд░ рд╕рддреНрд░ рдСрдбрд┐рдЯред рдСрдбрд┐рдЯ рдЗрд╡реЗрдВрдЯ рдПрдХ рдЕрдиреБрдХреВрд▓реА рджреНрд╡рд╛рд░ рд╕реЗ рдЧреБрдЬрд░рддреЗ рд╣реИрдВ: рд╢рдмреНрджрд╛рд╡рд▓реА рдЬрд╛рдирдиреЗ рд╡рд╛рд▓реЗ hosts рд╕реАрдзреЗ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ,
ignorableрд▓рд┐рдлрд╝рд╛рдлрд╝реЗ рд╡рд╛рд▓реЗ hosts рдорд╛рд░реНрдХрд░ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдФрд░ рдмрд┐рдирд╛-рд▓рд┐рдлрд╝рд╛рдлрд╝реЗ рд╡рд╛рд▓реЗ hosts тАФ0.1.0-rc.6тАУ0.1.0-rc.8,0.1.1-rc.2, рдФрд░0.1.2-alpha.1(рдЬрд┐рд╕рдиреЗ рд▓рд┐рдлрд╝рд╛рдлрд╝рд╛ рд╣рдЯрд╛рдпрд╛ рдФрд░ рдЕрдЬреНрдЮрд╛рдд рдкреНрд░рдХрд╛рд░реЛрдВ рдкрд░ рдкрдарди-рд╡рд┐рдлрд▓-рдмрдВрдж рд╣реИ) тАФ рдХреЛ рдСрдбрд┐рдЯ append рдирд╣реАрдВ рдорд┐рд▓рддрд╛; рдЯреВрд▓ рдкрд░рд┐рдгрд╛рдо рд╣реА рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг-рдпреЛрдЧреНрдп рдСрдбрд┐рдЯ рдкрде рдмрдиреЗ рд░рд╣рддреЗ рд╣реИрдВред рдСрдбрд┐рдЯ append рдкреВрд░реА рддрд░рд╣ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдПauditSessionEvents: falseрд░рдЦреЗрдВред
рд╡рд┐рдХрд╛рд╕
pnpm install # node ^22.19 || >=24
pnpm run typecheck # tsc: src + tests рд╕реНрдерд╛рдиреАрдп рд╣рд╛рд░реНрдиреЗрд╕ рдЪреЗрдХрдЖрдЙрдЯ рдХреЗ рд╡рд┐рд░реБрджреНрдз
pnpm run typecheck:ci # tsc рдкреНрд░рдХрд╛рд╢рд┐рдд 0.1.1-rc.2 рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд╡рд┐рд░реБрджреНрдз (рдмрд┐рдирд╛ paths)
pnpm test # vitest: 66 рдЯреЗрд╕реНрдЯ, 11 рдлрд╝рд╛рдЗрд▓реЗрдВ (рд╣реЗрд▓реНрдкрд░ рд╕реНрдореЛрдХ Windows рдкрд░ рдЪрд▓рддрд╛ рд╣реИ)
pnpm run build # tsdown рдмрдВрдбрд▓ + tsc рдШреЛрд╖рдгрд╛рдПрдБ (lib/)
pnpm run verify:self-contained # рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдкреЗрдХ registry рд╕реЗ рд╣рд▓ рд╣реЛрддреА рд╣реИрдВ
pnpm run verify:artifacts # рдирд┐рд░реНрдорд┐рдд ESM рдлрд╝реЗрд╕ + рдиреЗрдЯрд┐рд╡ рд╣реЗрд▓реНрдкрд░ рдореМрдЬреВрдж
pnpm pack # рдкреНрд░рдХрд╛рд╢рд┐рдд tarball
Topics
dsh, dsh-plugin, deepseek-harness, deepseek, cordis, computer-use, windows-automation, uiautomation, desktop-control, screen-reader
Contributors
- @PerryLink тАФ рдирд┐рд░реНрдорд╛рддрд╛ рдФрд░ рдореЗрдВрдЯреЗрдирд░: рдЯреВрд▓ рд╕рддрд╣, рдХреНрд░рд┐рдпрд╛ рд╕реБрд░рдХреНрд╖рд╛ рд╕реАрдорд╛, Windows рдиреЗрдЯрд┐рд╡ рд╣реЗрд▓реНрдкрд░, рд╕реИрдирд┐рдЯрд╛рдЗрдЬрд╝рд░ рдФрд░ рдкрд╛рдБрдЪ-рднрд╛рд╖рд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ред
- @Mchsd тАФ рдЙрди harnesses рдХреЗ рд▓рд┐рдП
auditSessionEventsрдСрдкреНрдЯ-рдЖрдЙрдЯ рдЬреЛрдбрд╝рд╛ рдЬрд┐рдирдХрд╛ рд╕рддреНрд░ рд░реАрдбрд░dsh-clickрдСрдбрд┐рдЯ рдЗрд╡реЗрдВрдЯ рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ (#2)ред
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-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-score | DeepSeek Harness рдкреНрд▓рдЧрд┐рдиреЛрдВ рдХреА рдмрд╣реБ-рдЖрдпрд╛рдореА рдЧреБрдгрд╡рддреНрддрд╛ рд╕реНрдХреЛрд░рд┐рдВрдЧред |
| 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 рдорд░рдореНрдорддред |
License
Apache License 2.0 ┬й 2026 dsh-click contributors