dsh-winget:Windows 軟件包管理的 DeepSeek Harness 插件

前言

DeepSeek Harness (DSH) 的核心理念是「一切皆插件」。在 Windows 環境下,智能體管理軟件通常依賴手動終端操作,或者需要複雜的腳本封裝。dsh-winget 是一個將 Windows Package Manager (winget) 封裝成原生 dsh 工具的插件。它允許智能體通過 winget_search、winget_install 等工具進行搜索、安裝、升級和卸載操作。所有命令默認以非交互模式運行,支持無頭環境。

核心功能

該插件提供了 9 個原生 dsh 工具,覆蓋了軟件管理的全生命週期。它包含 SKILL.md 技能文件,用於指導智能體何時調用工具以及遵守安全規則。

主要功能包括:
* 搜索與查看:通過 winget_search 和 winget_show 查找並獲取軟件詳情。
* 安裝與卸載:通過 winget_install 和 winget_uninstall 改變系統狀態(需先確認)。
* 升級管理:通過 winget_upgrade 升級指定或全部軟件。
* 清單管理:通過 winget_export 和 winget_import 進行軟件清單的導出與導入。
* 版本固定:通過 winget_pin 對軟件版本進行固定。

安裝與啓用

作爲 bundle 加入 profile

將以下配置插入到你的 DSH profile 中:

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

本地 patch 臨時加載

如果需要臨時加載,可以使用以下命令:

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

配置項與工具

配置項

插件使用 Schemastery 進行配置,支持以下參數:

鍵 默認值 說明
wingetPath winget winget.exe 的路徑
alwaysAcceptAgreements true 自動接受包/源協議(無頭安裝必需)
timeoutMs 600000 單次調用超時(安裝可能很慢)

原生工具列表

  1. winget_search:搜索軟件,支持 query/id/name/moniker/tag 參數。
  2. winget_show:查看軟件詳情,包括版本、來源和安裝器信息。
  3. winget_install:安裝軟件(會改變系統,需先確認)。
  4. winget_upgrade:升級指定軟件或全部(all=true)。
  5. winget_list:列出已安裝軟件,支持篩選和導出。
  6. winget_uninstall:卸載軟件(必須確認)。
  7. winget_export / winget_import:導出或導入軟件清單。
  8. winget_pin:固定軟件版本(add/list/remove)。

典型用法

智能體可以直接調用上述工具。例如:
* 用 winget_search 搜索 “VS Code” 並用 winget_show 查看詳情。
* 用 winget_install 安裝指定包(需先確認)。
* 用 winget_upgrade all=true 升級所有過期的軟件。

注意事項

  1. 輸出格式:當前版本 winget 不支持 JSON 輸出,工具返回的是表格文本,模型可以直接解析。
  2. 管理員權限:需要管理員權限的安裝操作在非交互模式下可能失敗,因爲 UAC 提示無法彈出。插件會如實返回錯誤。
  3. MS Store 登錄:部分來自 MS Store 來源的包可能需要智能體先登錄微軟賬號。

生態背景

本插件由社區維護,非官方。DSH 旨在通過插件擴展智能體的本地能力。使用前請檢查源碼與許可證。

總結

dsh-winget 將 Windows 軟件管理能力接入 DSH 智能體。通過 9 個原生工具和默認非交互配置,它解決了智能體在無頭環境中管理 Windows 軟件包的痛點。

詳細文檔與源碼:GitHub

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜