Development & Runtime

dsh-winget

WODE25500/dsh-winget · ★ 1

WODE25500

Windows Package Manager: search, install, upgrade, uninstall, import/export and pin software through native tools.

License
MIT
Added
2026-08-21
Maintenance
active
Install kind
github

No manifest check is available; listing does not imply compatibility or security review.

安装

dsh plugin --profile web add github:WODE25500/dsh-winget

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

For install and environment setup, plus plugin development tutorials, see DSH community docs ↗

README

Source README · body: en · Read Chinese README

Table of contents
  1. Features
  2. Prerequisites
  3. Install
  4. As a bundle in a profile
  5. Local patch overlay
  6. Tools
  7. Config
  8. Known limitations
  9. Layout
  10. License

Windows Package Manager (winget) integration for DeepSeek Harness (dsh) — let your dsh agent search, install, upgrade, uninstall, and import/export Windows packages through native tools. All commands run non-interactively, so they work headlessly.

Independent community project, not official. Based on Microsoft's winget-cli (MIT).

Features

  • 9 native dsh tools: winget_search / winget_show / winget_install / winget_upgrade / winget_list / winget_uninstall / winget_export / winget_import / winget_pin
  • Bundled SKILL.md teaching the agent when and how to use them
  • Schemastery config (wingetPath / alwaysAcceptAgreements / timeoutMs)
  • Bundle patch layer (cordis.patch.yml) — drop into any profile
  • Non-interactive + auto-accept agreements by default (required for headless)
  • Safety-first: install/uninstall/upgrade-all descriptions tell the agent to confirm first

Prerequisites

  • DeepSeek Harness (dsh)
  • Windows 10 1809+ / Windows 11 with winget (winget --version)

Install

As a bundle in a profile

- insert:
    - id: winget
      name: './src/index.js'
      config:
        wingetPath: winget
        alwaysAcceptAgreements: true

Local patch overlay

pnpm dsh web --patch ./dsh-winget/cordis.patch.yml

Then ask the agent: "Use winget_search to find VS Code and show its details."

Tools

Tool Behavior
winget_search search (query/id/name/moniker/tag)
winget_show package details (versions/source/installer)
winget_install install (changes the system — confirm first)
winget_upgrade upgrade one or all (all=true)
winget_list installed packages / filter / export
winget_uninstall uninstall (confirm first)
winget_export / winget_import manifest export/import
winget_pin version pinning add/list/remove

Config

Key Default Purpose
wingetPath winget path to winget.exe
alwaysAcceptAgreements true auto-accept package/source agreements
timeoutMs 600000 per-call timeout (installs can be slow)

Known limitations

  • winget has no JSON output in this build; tools return the table text (model-readable)
  • Installs requiring admin may fail (UAC cannot prompt in non-interactive mode) — the error is returned as-is
  • Some msstore packages require a Microsoft account

Layout

dsh-winget/
  src/index.js            # plugin entry: 9 tools + config
  skills/winget/SKILL.md  # agent skill
  docs/                   # docs
  cordis.patch.yml        # bundle patch layer

License

MIT.