dsh-win-env-kit:爲 DSH Agent 打包 Windows 開發與產物規則

前言

在 DeepSeek Harness(DSH)裏讓 Agent 寫 Windows 側代碼、改文本編碼、打分發包或做截圖時,常見問題不在「會不會寫腳本」,而在環境細節:UTF-8 與 CRLF、GBK 代碼頁、SmartScreen 與 MOTW、臨時目錄與隱私截圖等。單靠會話裏口頭叮囑,模型容易漏檢,也難和 CI 或本地自檢對齊。

dsh-win-env-kit 把 九條已泛化的 Windows 環境規則 和 六份零依賴校驗腳本 打進同一個可發佈插件包。裝一次掛在 profile 上,任意工作區加載技能 win-env-kit 後,規則和驗證命令一致,路徑相對技能 base directory 解析,不必把腳本拷進用戶倉庫。

下面按定位、能力、安裝配置和典型用法說明如何使用該插件。事實以 GitHub 倉庫 README 與 package.json 爲準。

這是什麼

  • 插件包名:dsh-win-env-kit(npm 包名同名)
  • 技能名:win-env-kit
  • 維護者:highwindmx
  • 分類:工作流(社區目錄歸類)
  • 許可:MIT
  • 運行要求(package.json):dsh >= 0.1.0-rc.6,node >= 20;Cordis 插件入口爲 lib/index.js,註冊技能 provider

README 中版本號以包內獨立 VERSION 文件爲準(示例爲 0.2.1);發佈清單上的 package.json 版本爲 0.2.2。二者描述的是同一套發佈物,以你安裝到本地的包爲準即可。

一句話定位:可發佈的 DSH 技能插件包,把 Windows 構建、編碼、產物與清理相關規則與校驗工具捆綁分發,約束 Agent 在 Windows 環境下的開發工作流。

包裏有什麼

安裝後,會話技能目錄會出現 win-env-kit。技能正文在 skills/win-env-kit/SKILL.md(九條規則);主機實測示例在 HOST-PROFILE.md(換機器時需自行重測,勿當硬編碼)。

dsh-win-env-kit/
  lib/index.js                     Cordis 插件:註冊技能 provider
  lib/config.mjs                   Config 架構(每條規則一個開關)
  lib/rules.mjs                    規則目錄 + 正文過濾
  scripts/verify-provider.mjs      可機器判定的自檢(npm run verify)
  cordis.patch.yml                 host-plane insert 行(id: win-env-kit)
  dsh.plugin.json                  兼容性清單
  skills/win-env-kit/
    SKILL.md                       九條規則
    tools/                         六個零依賴腳本
      dsh-env-lint.mjs             BOM / EOL / U+FFFD / GBK / SCRATCH
      build-audit.mjs              MOTW / TRUST-MARK / SIGN / PE / TEMP-PATH
      dsh-privacy-gate.mjs         截圖隱私門禁
      dsh-teardown.mjs             按臺賬清理
      dsh-doc-lock.mjs             共享文檔 claim/check/release
      dsh-screenshot.ps1           只截目標窗口(ASCII + CRLF)

技能被加載時,宿主會給出 base directory(形如 <profile>/node_modules/dsh-win-env-kit/skills/win-env-kit)。SKILL.md 裏所有 tools/... 路徑相對該目錄,不是工作區當前目錄;參數裏的 . 仍表示用戶項目根,因此檢查目標是用戶倉庫,無需複製腳本。

核心功能

九條可裁剪規則

默認九條規則全開。在 profile 的 cordis.patch.yml 裏爲本插件 id win-env-kit 配置 config 後,被關閉的規則對應 ## N. 整節會在模型看到之前刪掉;描述與正文開頭的 Configured subset 提示保持一致,避免「正文沒有、觸發詞還在」。

設置界面按 lib/config.mjs 的 schema 爲每條規則渲染開關,標籤與 SKILL.md 小節標題一致。

六項零依賴校驗

典型驗證入口(路徑中的 <SKILL_BASE> 替換爲加載技能時給出的 base directory):

node "<SKILL_BASE>/tools/dsh-env-lint.mjs" .
node "<SKILL_BASE>/tools/build-audit.mjs" out\app.exe --strict
node "<SKILL_BASE>/tools/dsh-privacy-gate.mjs" "_scratch\*\shots\*.png" --strict

dsh-env-lint.mjs 面向文本與編碼;build-audit.mjs 面向 Windows 產物與路徑;dsh-privacy-gate.mjs 對截圖做 ALLOW / BLOCK 門禁。其餘腳本覆蓋清理臺賬、文檔鎖、按窗口截圖等 SKILL 中引用的流程。

與倉庫索引銜接

AGENTS.md 不隨包分發。可在本倉庫索引中註明:在寫構建腳本、打包、改編碼、截圖或產出分發物之前加載 win-env-kit,並寫上上述 node 命令,便於 Agent 先讀索引再加載技能。

安裝與啓用

當前 DSH profile 下,README 給出的方式是使用 plugin_manager,action: install_bundle,target 填本包的 絕對目錄。不要手寫 profile 的 package.json 或 cordis.patch.yml——由 install_bundle 完成;改動對該 profile 下所有會話生效,重啓後保留。

啓用後會話技能目錄裏出現 win-env-kit。若改爲經 npm 發佈安裝(npm publish),屬於單獨步驟,需自行確認分發渠道與版本。

注意:插件以當前 DSH 進程權限運行;安裝前應閱讀源碼與 MIT 許可證,確認 bundle 內容與 dsh.plugin.json 兼容性清單符合你的安全策略。社區目錄 skillhub.cn 與 DeepSeek / 幻方無官方從屬關係,僅爲社區收錄頁面。

選擇開啓哪些規則

在 你自己 profile 的 cordis.patch.yml 裏給 win-env-kit 加 config(會覆蓋包內默認 patch,且爲整份替換、不深合併):

- id: win-env-kit
  config:
    enabledRules: []
    rule1: true
    rule2: true
    rule3: false
    rule4: false
    rule5: true
    rule6: true
    rule7: true
    rule8: true
    rule9: true

也可用列表點名保留的規則編號,優先級高於逐條開關:

- id: win-env-kit
  config:
    enabledRules: [1, 2, 5, 7, 8]

enabledRules: [] 表示交給各 ruleN 開關決定。非公認「關閉」取值(如 false、"false"、0)一律視爲開啓,避免錯誤配置悄悄關掉全部規則。

典型用法

1、在 profile 上執行 install_bundle 安裝包目錄。
2、按需編輯 profile 的 cordis.patch.yml 收窄規則。
3、在 Windows 工作區讓 Agent 加載 win-env-kit;寫 .ps1、改編碼、打包或截圖前,按 SKILL 執行相對 base directory 的 tools/ 命令。
4、換主機時對照 HOST-PROFILE.md 重測代碼頁(chcp)、PowerShell 版本、屏幕尺寸、Defender/SmartScreen、簽名證書;隱私門禁默認 1280x800 下限,可用 --screen WxH 或環境變量 DSH_SCREEN 覆蓋。

維護者自測「什麼叫完成」包括:

npm pack --dry-run --json
npm run verify
node tools/dsh-env-lint.mjs .

npm run verify 校驗 provider 列表、資源目錄、SKILL.md 結構、規則裁剪與 Config schema;退出碼非零即失敗。

適用場景與注意

適合:在 Windows 上用 DSH Agent 做本地構建、文本編碼治理、可分發 exe/安裝包審計、截圖與 _scratch 類臨時產物管理,並希望規則和命令在 profile 級複用。

注意:

  • 規則通用,機器專屬值只在 HOST-PROFILE.md 示例中;勿把檢測用正則當成機器身份配置去改刪。
  • config 修改後需寫全要保留的字段。
  • README 與 package.json 的版本字段可能並存(VERSION 與 npm version),以實際安裝包爲準。

結尾

dsh-win-env-kit 把 Windows 環境約束和可執行的零依賴檢查收進一個 DSH 工作流插件:裝 bundle、可選規則子集、用 SKILL base directory 解析工具路徑,讓 Agent 在同類任務上少踩編碼與產物坑。

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

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

小夜