ЁЯЦ▒я╕П 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 рдкрд╣рд▓реЗред

рдкрд╣рд▓реЗ рд╕реНрдХреНрд░реАрди рджреЗрдЦреЗрдВ, рдлрд┐рд░ рдХрд╛рдо рдХрд░реЗрдВ тАФ рд╣рд░ рдХреНрд▓рд┐рдХ рд╕реНрд╡реАрдХреГрдд, рд╣рд░ рдХреНрд░рд┐рдпрд╛ рдСрдбрд┐рдЯреЗрдбред

License DSH plugin Node CI Version npm version npm downloads

English ┬╖ чоАф╜Уф╕нцЦЗ ┬╖ Espa├▒ol ┬╖ Portugu├кs ┬╖ рд╣рд┐рдиреНрджреА


рд╕рдВрдЧрддрддрд╛

рд╕рддрд╣рд╕реНрдерд┐рддрд┐
HarnessDeepSeek 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 тАФ рдЪрд▓ рд░рд╣реЗ рдРрдкреНрд╕ рдФрд░ рдЙрдирдХреА рд╡рд┐рдВрдбреЛ рдХреА рд╕реВрдЪреА; рдирд╛рдо рдпрд╛ рдкрде рд╕реЗ рдПрдХ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВред

рд╣рд░ рдкрд░рд┐рд╡рд░реНрддрдирдХрд╛рд░реА рдХреНрд░рд┐рдпрд╛ рдПрдХ рд╣реА рд╕реБрд░рдХреНрд╖рд╛ рд╕реАрдорд╛ рдкрд╛рд░ рдХрд░рддреА рд╣реИ:

  1. рддрд╛рдЬрд╝рдЧреА тАФ рдХреНрд░рд┐рдпрд╛ рдХреЛ basedOn рдЕрд╡рд▓реЛрдХрди рдЙрджреНрдзреГрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛; рдХрд╛рд░реНрдп рд╕реЗ рдареАрдХ рдкрд╣рд▓реЗ рд╡рд┐рдВрдбреЛ рдлрд┐рд░ рд╕реЗ рдХреИрдкреНрдЪрд░ рд╣реЛрддреА рд╣реИ рдФрд░ рд╕реНрдХреНрд░реАрди рдмрджрд▓рдиреЗ рдкрд░ рдХреНрд░рд┐рдпрд╛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рд╣реЛрддреА рд╣реИ (рдкрд┐рдХреНрд╕реЗрд▓-рд╣реИрд╢ + рдЕрдзрд┐рдХрддрдо рдЖрдпреБ рд╕реАрдорд╛)ред
  2. рд╕реНрд╡реАрдХреГрддрд┐ тАФ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ ctx.approval рд╣рд░ рдХреНрд░рд┐рдпрд╛ рдкрд░ рдкрд╣рд░рд╛ рджреЗрддрд╛ рд╣реИ; рд╡рд┐рдВрдбреЛ-рд╢реАрд░реНрд╖рдХ/рдирд┐рд╖реНрдкрд╛рджрди-рдкрде regex рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рдВрдбреЛ рдХреЛ рдЕрдиреБрдорддрд┐ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ (рдлрд┐рд░ рднреА рдСрдбрд┐рдЯ рд╣реЛрддреА рд╣реИ)ред
  3. рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд╣рдЪрд╛рди тАФ рд╕реНрд╡рд╛рдореА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ pid рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рдкрде рдХрд╛рд░реНрдп рд╕реЗ рдкрд╣рд▓реЗ рдФрд░ рдмрд╛рдж рдореЗрдВ рд╕рддреНрдпрд╛рдкрд┐рдд рд╣реЛрддрд╛ рд╣реИ; рдмрджрд▓рд╛рд╡ рдкрд░ рдкрд░рд┐рдгрд╛рдо рдЬрд╝реЛрд░ рд╕реЗ рдЕрд╕реНрд╡реАрдХрд╛рд░ рд╣реЛрддрд╛ рд╣реИред
  4. рдСрдбрд┐рдЯ тАФ рдЕрд╡рд▓реЛрдХрди рдФрд░ рдХреНрд░рд┐рдпрд╛рдПрдБ рд╕рддреНрд░ рд▓реЙрдЧ рдореЗрдВ 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 } рдЬреЛрдбрд╝реЗрдВ тАФ dsh CLI рд╕рдЯреАрдХ рд╕реНрдирд┐рдкреЗрдЯ рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИред

рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди

рд╕рднреА рд╕рдорд╛рдпреЛрдЬрди Schemastery Config рдлрд╝реАрд▓реНрдб рд╣реИрдВ (cordis.yml рд╕реЗ рдмрджрд▓реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ)ред id-рд▓рдХреНрд╖рд┐рдд рдУрд╡рд░рд░рд╛рдЗрдб рдкреВрд░реА рдкрдВрдХреНрддрд┐ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ тАФ рдЬрд╝рд░реВрд░рдд рдХреА рд╣рд░ рдХреБрдВрдЬреА рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦреЗрдВред cordis.patch.yml рд╣рд░ рдХреБрдВрдЬреА рдХреЛ рдЗрдирд▓рд╛рдЗрди рд╕рдордЭрд╛рддрд╛ рд╣реИред

рдХреБрдВрдЬреАрдбрд┐рдлрд╝реЙрд▓реНрдЯрдЕрд░реНрде
requireApprovaltrueрд╣рд░ рдкрд░рд┐рд╡рд░реНрддрдирдХрд╛рд░реА рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реНрд╡реАрдХреГрддрд┐ рдХреЗ рдкреАрдЫреЗ рд░рдЦреЗрдВ; рдСрдмреНрдЬрд╝рд░реНрд╡рд░ рдХрднреА рдирд╣реАрдВ рдкреВрдЫрддреЗ
autoApproveWindows[]рд╡рд┐рдВрдбреЛ-рд╢реАрд░реНрд╖рдХ/рдирд┐рд╖реНрдкрд╛рджрди-рдкрде regex рдЬреЛ рд╕реНрд╡реАрдХреГрддрд┐ рдкреНрд░рд╢реНрди рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ (рдлрд┐рд░ рднреА рддрд╛рдЬрд╝рдЧреА рдЬрд╛рдБрдЪ рдФрд░ рдСрдбрд┐рдЯ)
auditSessionEventstrueрд╕рддреНрд░ рдореЗрдВ dsh-click/observed/dsh-click/action рдСрдбрд┐рдЯ рдЗрд╡реЗрдВрдЯ рдЬреЛрдбрд╝реЗрдВред рдЕрдиреБрдХреВрд▓реА рджреНрд╡рд╛рд░ рдмрд┐рдирд╛-рд▓рд┐рдлрд╝рд╛рдлрд╝реЗ рд╡рд╛рд▓реЗ hosts (rc.6тАУrc.8, 0.1.1-rc.2, рдФрд░ рдЕрдЬреНрдЮрд╛рдд рдкреНрд░рдХрд╛рд░реЛрдВ рдкрд░ рдкрдарди-рд╡рд┐рдлрд▓-рдмрдВрдж 0.1.2-alpha.1) рдкрд░ append рдкрд╣рд▓реЗ рд╣реА рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ; рдСрдбрд┐рдЯ append рдкреВрд░реА рддрд░рд╣ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП false рд░рдЦреЗрдВ
focusFallbackneverрдХреНрдпрд╛ рдХреЛрдИ рдХреНрд░рд┐рдпрд╛ рдЕрдВрддрд┐рдо рдЙрдкрд╛рдп рдХреЗ рд░реВрдк рдореЗрдВ рд▓рдХреНрд╖реНрдп рд╡рд┐рдВрдбреЛ рдХреЛ рдЕрдЧреНрд░рднреВрдорд┐ рдореЗрдВ рд▓рд╛ рд╕рдХрддреА рд╣реИ (never / allow)
imageModeautoscreen_shot рд░реЗрдВрдбрд░рд┐рдВрдЧ: auto (рдореЙрдбрд▓ рдЫрд╡рд┐ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗ рддреЛ рдЫрд╡рд┐, рдЕрдиреНрдпрдерд╛ рдЯреЗрдХреНрд╕реНрдЯ) рдпрд╛ text
helperTimeoutMs30000рдкреНрд░рддрд┐ рд╣реЗрд▓реНрдкрд░-рдХреЙрд▓ рдЯрд╛рдЗрдордЖрдЙрдЯ ms рдореЗрдВ (1..300000)
maxHelperOutputBytes25165824рдПрдХ рд╣реЗрд▓реНрдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдмрд╛рдЗрдЯ рд╕реАрдорд╛ (1024..67108864)
maxScreenshotSide2560рдХреИрдкреНрдЪрд░ рдХреА рд╕рдмрд╕реЗ рд▓рдВрдмреА рднреБрдЬрд╛ рдкрд┐рдХреНрд╕реЗрд▓ рдореЗрдВ (320..7680); рдмрдбрд╝реА рдХреИрдкреНрдЪрд░ рдЫреЛрдЯреА рдХреА рдЬрд╛рддреА рд╣реИрдВ
staleCheckPixelstrueрд╣рд░ рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдкрд╣рд▓реЗ рддрд╛рдЬрд╝рд╛ рдкрд┐рдХреНрд╕реЗрд▓ рд╣реИрд╢ рдорд┐рд▓рд╛рдПрдБ рдФрд░ рдмрджрд▓рд╛рд╡ рдкрд░ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВ
maxObservationAgeMs30000рдХрд┐рд╕реА рдЕрд╡рд▓реЛрдХрди рдХреА рдЕрдзрд┐рдХрддрдо рдЖрдпреБ ms рдореЗрдВ рдЬрд┐рд╕реЗ рдХреЛрдИ рдХреНрд░рд┐рдпрд╛ рдЙрджреНрдзреГрдд рдХрд░ рд╕рдХрддреА рд╣реИ (1000..600000)
maxCachedObservations8рдХреИрд╢ рдХрд┐рдП рдЧрдП рдЕрд╡рд▓реЛрдХрдиреЛрдВ рдХреА LRU рд╕реАрдорд╛ (1..64)
maxElements500рдкреНрд░рддрд┐ screen_read рдПрдХреНрд╕реЗрд╕рд┐рдмрд┐рд▓рд┐рдЯреА рдПрд▓рд┐рдореЗрдВрдЯ рдХреА рд╕реАрдорд╛ (1..2000)
maxTreeDepth32рдПрдХреНрд╕реЗрд╕рд┐рдмрд┐рд▓рд┐рдЯреА рдЯреНрд░реА-рд╡реЙрдХ рдХреА рдЕрдзрд┐рдХрддрдо рдЧрд╣рд░рд╛рдИ (1..64)
maxTextLength200рд╕реИрдирд┐рдЯрд╛рдЗрдЬрд╝реНрдб рдореЙрдбрд▓-рджреГрд╢реНрдп рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреА рдХрд╛рдЯ-рдЫрд╛рдБрдЯ рд▓рдВрдмрд╛рдИ (16..10000)
rollbackEnabledtruetype рд╡рд┐рдлрд▓ рд╣реЛрдиреЗ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рдЯреЗрдХреНрд╕реНрдЯ рдХрд╛ рдмреИрдХрдЕрдк рдФрд░ рдкреБрдирд░реНрд╕реНрдерд╛рдкрди
ocr.enabled / command / languagetrue / tesseract / engscreen_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 рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд░рдХреНрд╖рд┐рдд 33 DeepSeek Harness рдкреНрд▓рдЧрдЗрдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдЕрдЧрд░ рдпрд╣ рдЖрдкрдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИ, рддреЛ рдмрд╛рдХреА рднреА рдХрд░реЗрдВрдЧреЗ:

PluginOne-liner
dsh-dsh-auto-reviewрдЕрдиреБрдореЛрджрди рд╢реНрд░реГрдВрдЦрд▓рд╛ рдкрд░ рджреНрд╡рд┐рддреАрдп-рдореЙрдбрд▓ рд╕реНрд╡рддрдГ-рд╕рдореАрдХреНрд╖рд╛, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╡рд┐рдлрд▓-рдмрдВрдж
dsh-dsh-background-agentsрд╡реЗрдм UI рд╕рд╛рдЗрдбрдмрд╛рд░, рд╕рдВрджреЗрд╢ рдФрд░ рдЕрд╡рд░реЛрдзрди рдХреЗ рд╕рд╛рде рдЯрд┐рдХрд╛рдК рдкреГрд╖реНрдарднреВрдорд┐ рдЪрд╛рдЗрд▓реНрдб рдПрдЬреЗрдВрдЯ
dsh-dsh-budgetDeepSeek Harness рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧрдд рдкреНрд░рд╢рд╛рд╕рди: рдмрдЬрдЯ, рдХрд╛рд░реНрдмрди рдФрд░ рд╡рд┐рд▓рдВрдмрддрд╛ рдПрдХ рдкреИрдирд▓ рдореЗрдВред
dsh-dsh-checkpoint-rewindClaude Code /rewind-рд╕рдорддреБрд▓реНрдп: рд╕реНрдиреИрдкрд╢реЙрдЯ, рд╕рддреНрд░ рдлрд╝реЙрд░реНрдХ, рдПрдХ-рдмрд╛рд░ рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛
dsh-dsh-claude-moveClaude Code рд╕рддреНрд░, рдореЗрдореЛрд░реА, рдХреМрд╢рд▓ рдФрд░ CLAUDE.md рдХреЛ DSH рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВ
dsh-dsh-composer-historyрд╡реЗрдм рдХрдВрдкреЛрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП рдЯрд░реНрдорд┐рдирд▓-рд╢реИрд▓реА рдЗрдирдкреБрдЯ рдЗрддрд┐рд╣рд╛рд╕: рддреАрд░, Ctrl+R рдЦреЛрдЬ
dsh-dsh-data-qualityрдбреЗрдЯрд╛рд╕реЗрдЯ рдЧреБрдгрд╡рддреНрддрд╛ рдЬрд╛рдБрдЪ рд╡ рдЙрджреНрдзрд░рдг рд╕рддреНрдпрд╛рдкрди (рдпрд╣рд╛рдБ рдЙрдкрднреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕рдВрдЦреНрдпрд╛-рд╕реЗрддреБ)
dsh-dsh-defendDeepSeek Harness рдХреЗ рд▓рд┐рдП рдкреНрд░реЙрдореНрдкреНрдЯ-рдЗрдВрдЬреЗрдХреНрд╢рди, рдЬреЗрд▓рдмреНрд░реЗрдХ рдФрд░ рд╕реАрдХреНрд░реЗрдЯ-рд▓реАрдХ рд░рдХреНрд╖рд╛ред
dsh-dsh-doublecheckрдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ-рдЕрдиреБрд╢рд╛рд╕рди рд░рдХреНрд╖рдХ: рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреА рдкреВрдЫрддрд╛рдЫ, рдкрд░реАрдХреНрд╖рдг рджреНрд╡рд╛рд░, рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡реА рд╕рдореАрдХреНрд╖рд╛
dsh-dsh-drawDeepSeek Harness рдХреЗ рд▓рд┐рдП рдПрдХреАрдХреГрдд рд╕реНрдереИрддрд┐рдХ-рдЫрд╡рд┐ рдирд┐рд░реНрдорд╛рдг рд░реВрдЯрд┐рдВрдЧред
dsh-dsh-fastDeepSeek Harness рдХреЗ рд▓рд┐рдП рд░реАрдб-рдУрдирд▓реА рдкреНрд░рджрд░реНрд╢рди рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХреНрд╕ред
dsh-dsh-fund-researchрдЪреАрдиреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдореНрдпреВрдЪреБрдЕрд▓ рдлрдВрдб рдХреЗ рд▓рд┐рдП рдирд┐рдпрддрд╛рддреНрдордХ рдЕрдиреБрд╕рдВрдзрд╛рди рд░рд┐рдкреЛрд░реНрдЯ
dsh-dsh-githubDSH рдХреЗ рд▓рд┐рдП GitHub PR/issues рдПрдХреАрдХрд░рдг, рд╣рд░ рд▓реЗрдЦрди рдЕрдиреБрдореЛрджрди-рджреНрд╡рд╛рд░рд┐рдд
dsh-dsh-industry-researchрдЙрджреНрдпреЛрдЧ-рдЕрдиреБрд╕рдВрдзрд╛рди рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрд╢рди рдЬреЛ рдЗрд╕ рдкреНрд▓рдЧрд┐рди рдХреЗ ctx.researchReport.assemble рд╕реЗ рдбрд┐рд▓реАрд╡рд░реЗрдмрд▓ рд╕реАрд▓ рдХрд░рддрд╛ рд╣реИ
dsh-dsh-libraryDeepSeek Harness рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЬреНрдЮрд╛рдирдХреЛрд╢ред
dsh-dsh-local-aiDeepSeek Harness рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп-рдореЙрдбрд▓ (Ollama) рдПрдХреАрдХрд░рдгред
dsh-dsh-lsp-actionsрднрд╛рд╖рд╛ рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ LSP рдирд┐рджрд╛рди, рдлрд╝реЙрд░реНрдореЗрдЯрд┐рдВрдЧ, рдкреВрд░реНрдгрддрд╛, рдХреЛрдб рдХреНрд░рд┐рдпрд╛рдПрдБ рдФрд░ рдирд╛рдо рдмрджрд▓рдирд╛
dsh-dsh-maskPII рдорд╛рд╕реНрдХрд┐рдВрдЧ рдорд┐рдбрд▓рд╡реЗрдпрд░: рдореЙрдбрд▓ рд╕реАрдорд╛ рдкрд░ рдЕрдирд╛рдо рдХрд░реЗрдВ, рдбрд┐рд╕реНрдкреНрд▓реЗ рд▓реЗрдпрд░ рдкрд░ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
dsh-dsh-mcp-panelрдХреЗрд╡рд▓-рдкрдврд╝рдиреЗ рд╡рд╛рд▓рд╛ MCP рд░рдирдЯрд╛рдЗрдо рдкреИрдирд▓: /mcp рдХрдорд╛рдВрдб + рд╕реНрдерд┐рддрд┐, рдЯреВрд▓ рдФрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╡рд╛рд▓рд╛ Settings рдЯреИрдм
dsh-dsh-mementoрдЕрдиреБрдореЛрджрди-рджреНрд╡рд╛рд░рд┐рдд рдХреНрд░реЙрд╕-рд╕рддреНрд░ рдореЗрдореЛрд░реА: ctx.memory рд╕реАрдо + SQLite + рдореЗрдореЛрд░реА рдЯреВрд▓
dsh-dsh-observeDeepSeek Harness рдХреЗ рд▓рд┐рдП OpenTelemetry рдФрд░ Langfuse рдЕрд╡рд▓реЛрдХрдиреАрдпрддрд╛ рдирд┐рд░реНрдпрд╛рддрдХред
dsh-dsh-output-stylesClaude Code outputStyles-рд╕рдорддреБрд▓реНрдп рд░рдирдЯрд╛рдЗрдо рд╢реИрд▓реА рдмрджрд▓рд╛рд╡
dsh-dsh-permission-rulesрдСрдбрд┐рдЯ рдХреЗ рд╕рд╛рде Claude Code-рд╢реИрд▓реА рдШреЛрд╖рдгрд╛рддреНрдордХ allow/deny/ask рдЕрдиреБрдорддрд┐ рдирд┐рдпрдо
dsh-dsh-plugin-guideрдорд╛рдБрдЧ рдкрд░ рдПрдЬреЗрдВрдЯ рдХреМрд╢рд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд▓рдЧрдЗрди-рд╡рд┐рдХрд╛рд╕ рдЬреНрдЮрд╛рди рдЖрдзрд╛рд░
dsh-dsh-research-reportрд╕рд╛рдордЧреНрд░реА-рдкрддрд╛ рд╕рд╛рдХреНрд╖реНрдп рдФрд░ рд╕реАрд▓рдмрдВрдж рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рд╡рд╛рд▓рд╛ рд╕рддреНрдпрд╛рдкрди-рдпреЛрдЧреНрдп рдЕрдиреБрд╕рдВрдзрд╛рди-рд░рд┐рдкреЛрд░реНрдЯ рдЗрдВрдЬрди
dsh-dsh-scoreDeepSeek Harness рдкреНрд▓рдЧрд┐рдиреЛрдВ рдХреА рдмрд╣реБ-рдЖрдпрд╛рдореА рдЧреБрдгрд╡рддреНрддрд╛ рд╕реНрдХреЛрд░рд┐рдВрдЧред
dsh-dsh-session-pinрдЯрд┐рдХрд╛рдК рдХреНрд░рдо рдХреЗ рд╕рд╛рде рд╡реЗрдм рд╕рд╛рдЗрдбрдмрд╛рд░ рдореЗрдВ рд╕рддреНрд░ рдкрд┐рди рдХрд░реЗрдВ
dsh-dsh-session-syncDeepSeek Harness рдХреЗ рд▓рд┐рдП рдХреНрд░реЙрд╕-рдбрд┐рд╡рд╛рдЗрд╕ рд╕рддреНрд░ рд╕рд┐рдВрдХ тАФ рдЖрдкрдХреЗ рд╕рддреНрд░ рд╕реНрдЯреЛрд░ рдХрд╛ рдПрдХ рд╕рдорд░реНрдкрд┐рдд git рдорд┐рд░рд░ред
dsh-dsh-skill-pack-securityрд╕реБрд░рдХреНрд╖рд╛-рдСрдбрд┐рдЯ рдХреМрд╢рд▓ рдкреИрдХ: рдЧреБрдкреНрдд рд╕реНрдХреИрди, рдирд┐рд░реНрднрд░рддрд╛ рдФрд░ рдЖрдкреВрд░реНрддрд┐-рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╕рдореАрдХреНрд╖рд╛
dsh-dsh-talkDeepSeek Harness рдХреЗ рд▓рд┐рдП рдЖрд╡рд╛рдЬрд╝-рдкреНрд░рдердо рд╕рддреНрд░ рд▓реВрдк: рдмреЛрд▓реЗрдВ рдФрд░ рдЙрддреНрддрд░ рд╕реБрдиреЗрдВред
dsh-dsh-test-driveDeepSeek Harness рдкреНрд▓рдЧрд┐рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкреГрдердХ рдЗрдВрд╕реНрдЯреЙрд▓-рдПрдВрдб-рд╕реНрдореЛрдХ рдЯреЗрд╕реНрдЯ рдбреНрд░рд╛рдЗрд╡ред
dsh-dsh-translateDeepSeek Harness рдХреЗ рд▓рд┐рдП рд╡реЗрдВрдбрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдЕрдиреБрд╡рд╛рдж рдФрд░ рдирд┐рдпрддрд╛рддреНрдордХ JSON рдорд░рдореНрдорддред

License

Apache License 2.0 ┬й 2026 dsh-click contributors