Community研究与数据分析github.com

SpecterShell/Dumplings 函数库

选择并使用共享的 Dumplings PackageModule、Core、PowerHTML 和 powershell-yaml 函数,用于网络通信、重定向、响应解码、临时文件、归档提取、文本与结构化数据处理、时间转换、更新源、Playwright 浏览器访问、HTML 解析和 YAML 处理。在需要项目辅助 API 的安装程序分析、WinGet 清单编写或 Dumplings 任务编写场景中配合使用。

Dumplings 函数库 是什么?

该技能提供了一个全面的 Dumplings 函数库,涵盖网络、文件、内容、数据、更新源和浏览器访问等多个领域。它旨在辅助开发者进行安装程序分析、WinGet 清单编写以及 Dumplings 任务自动化。技能核心通过 PackageModule 和 Core 模块封装了大量可复用的辅助函数,并提供了清晰的分组和引用文档,使得开发者可以根据当前操作按需加载和使用。该技能要求 CLI 环境为 PowerShell 7.4 或更高版本,并支持与 `analyze-winget-installer`、`author-winget-manifest` 和 `author-dumplings-task` 等命令配合工作。使用规则强调了资源的生命周期管理,例如浏览器租约应短时持有并返回分离值,临时资源调用者需自行负责清理。对于无版本包源,优先使用 PackageTask 的更新工作流,而非自行构建检测、哈希和发布逻辑。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/SpecterShell/Dumplings/tree/HEAD/.agents/skills/use-dumplings-functions

Installed? Explore more 研究与数据分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

使用 Dumplings 函数

执行上下文

请使用 PowerShell 7.4 或更高版本(pwsh)运行这些模块函数。PackageModule 和 Core 不支持 Windows PowerShell 5.1。

Core 会在运行任务脚本前,加载 PackageModule 以及 Preference.yaml 中声明的 PowerShell 模块。请不要在 Tasks/*/Script.ps1 中添加 Import-Module 调用。

在独立的仓库 shell 中,请加载所需的外部模块和 PackageModule。

Import-Module PowerHTML, powershell-yaml -ErrorAction Stop
. .\Modules\PackageModule\Index.ps1

当旧的任务示例与当前元数据不一致时,请使用 Get-Command <名称> -Syntax 查看参数。函数可能依赖其他已加载的 PackageModule 文件,请直接复用它们,而非复制其实现。

正常导入时会复用实现模块。在开发过程中,使用 . .\Modules\PackageModule\Index.ps1 -Reload 重新加载已修改的源文件。使用 Copy-Object 进行数据复制,使用 Test-ObjectValueEqual 进行结构相等性判断。复制操作会保留日期、脚本块、显式 null 值和嵌套的空数组。不可释放的 .NET 资源无法被克隆。

函数分组

  • 阅读 网络通信 了解 GitHub API 调用、URI 组合、重定向、请求头、响应解码以及内嵌 JSON 处理。
  • 阅读 文件和归档 了解缓存下载、临时路径以及受限的归档提取。
  • 阅读 内容与数据 了解文本标准化、HTML 文本投影、编码、INI/XML 转换、列表和时间转换。
  • 阅读 更新源 了解调用方已获取的 Squirrel 和 electron-builder 源字符串。
  • 阅读 浏览器访问 了解作用域受限的 Playwright 租约和分离的浏览器结果。
  • 阅读 外部模块 了解 PowerHTML 和 powershell-yaml 的命令。

仅阅读当前操作所需的分组即可。使用 $analyze-winget-installer 获取特定家族的解析器 API,使用 $author-winget-manifest 处理清单字段,使用 $author-dumplings-task 管理任务生命周期和源配方。

使用规则

请复用共享的辅助函数,并遵守其所有权和清理约定。将 PackageTask 的安装程序下载注册到 $this.InstallerFiles。除非函数另有说明,否则独立调用方负责管理临时资源。

对于无版本包源,优先使用 PackageTask 的 CheckInstallerUpdates/CompleteInstallerUpdates 工作流,而非自行组合探测、哈希和发布分支。阅读 无版本任务约定 了解验证器、按条目覆盖、回调所有权和遗留状态映射。这些方法会自动注册下载并保留已验证的哈希证据。

保持浏览器租约简短并返回分离的值。在作用域受限的辅助函数返回后,请勿保留页面、定位器、响应或浏览器对象。切勿在主机上执行已下载的安装程序。

相关技能