PowerToys DSC settings 资源配置完全指南:用声明式配置管理全部模块
本文以 PowerToys 仓库中的 settings 资源参考文档 为主体,结合
src/dsc下PowerToys.DSC的 CLI 实现、单元测试与官方示例配置,系统讲解如何通过 Microsoft Desired State Configuration(DSC)v3 以声明式方式查看、测试、导出与强制应用 PowerToys 各工具的配置状态。读完本文,你将掌握PowerToys.DSC.exe的七个核心命令,能够在普通 DSC 配置文档与 WinGet 配置工作流中开箱即用地管理 App、Awake、FancyZones、ColorPicker、ImageResizer 等模块的配置,并理解settings资源背后的get / set / test / export / schema / manifest六种 DSC 协议操作的实现机制。
1. 什么是 PowerToys DSC settings 资源
settings 资源是 PowerToys 为 Microsoft Desired State Configuration(DSC)v3 提供的配置管理资源,由随 PowerToys 安装的 PowerToys.DSC.exe 命令行工具承载(见仓库中的 PowerToys.DSC 工程)。
它的核心价值在于把“PowerToys 的配置”从图形设置界面中解放出来,变成可声明、可测试、可强制执行的代码化状态:
- 为每一个 PowerToys 工具(模块)声明并强制执行期望的配置状态;
- 在多台机器之间自动化地同步 PowerToys 配置;
- 与 WinGet 以及其他支持 DSC v3 的工具链集成;
- 将 PowerToys 设置纳入版本控制(即 Settings as Code)。
每个 PowerToys 工具都有自己可管理的配置属性,而 settings 资源在底层通过统一的资源抽象支持 DSC 的全部标准操作:get、set、test、export,以及面向 DSC 宿主协议的 schema 与 manifest 生成。
从源码看,这一抽象由三部分组成:
- 程序入口 Program.cs 基于
System.CommandLine注册了七个根命令:get、set、export、test、schema、manifest与modules; - 资源抽象基类 BaseResource.cs 定义了
GetState/SetState/TestState/ExportState/Schema/Manifest/GetSupportedModules七个抽象方法,并统一负责 JSON 输出(成功信息写入 stdout,错误、警告等信息以 JSON 形式写入 stderr); - 具体实现 SettingsResource.cs 维护了一张“模块名 → 设置类型”的字典,将 25 个模块映射到
Microsoft.PowerToys.Settings.UI.Library中的对应强类型设置类。
2. settings 资源支持的模块清单
settings 资源几乎覆盖了 PowerToys 的全部工具模块:
| 模块 | 用途 | 详细属性文档 |
|---|---|---|
| App | 全局应用设置(工具开关、开机启动、主题等) | App 模块 |
| AdvancedPaste | 高级剪贴板与粘贴操作 | AdvancedPaste 模块 |
| AlwaysOnTop | 窗口置顶配置 | AlwaysOnTop 模块 |
| Awake | 保持唤醒定时器设置 | Awake 模块 |
| ColorPicker | 取色器激活与格式设置 | ColorPicker 模块 |
| CropAndLock | 窗口裁剪设置 | CropAndLock 模块 |
| EnvironmentVariables | 环境变量编辑器设置 | EnvironmentVariables 模块 |
| FancyZones | 窗口布局与分区配置 | FancyZones 模块 |
| FileLocksmith | 文件占用检测设置 | FileLocksmith 模块 |
| FindMyMouse | 鼠标定位器设置 | FindMyMouse 模块 |
| Hosts | Hosts 文件编辑器设置 | Hosts 模块 |
| ImageResizer | 图片尺寸调整配置 | ImageResizer 模块 |
| KeyboardManager | 按键重映射与快捷键设置 | KeyboardManager 模块 |
| MeasureTool | 屏幕测量工具设置 | MeasureTool 模块 |
| MouseHighlighter | 鼠标高亮配置 | MouseHighlighter 模块 |
| MouseJump | 鼠标跳转导航设置 | MouseJump 模块 |
| MousePointerCrosshairs | 鼠标十字准星显示设置 | MousePointerCrosshairs 模块 |
| Peek | 文件预览设置 | Peek 模块 |
| PowerAccent | 快速输入重音字符设置 | PowerAccent 模块 |
| PowerOCR | 屏幕文字提取设置 | PowerOCR 模块 |
| PowerRename | 批量重命名配置 | PowerRename 模块 |
| RegistryPreview | 注册表文件预览设置 | RegistryPreview 模块 |
| ShortcutGuide | 快捷键覆盖层显示设置 | ShortcutGuide 模块 |
| Workspaces | 应用工作区设置 | Workspaces 模块 |
| ZoomIt | 屏幕缩放与标注设置 | ZoomIt 模块 |
说明:与仓库 overview 文档 中列出的模块相比,源码中的映射表(见 SettingsResource.cs)并未包含 MouseWithoutBorders、PowerLauncher(Command Palette)与 NewPlus。源码注释给出的原因是:MouseWithoutBorders 包含敏感配置值(导出/导入存在安全隐患),而 PowerLauncher 与 NewPlus 的设置中使用了绝对文件路径,跨机器不可移植。若要配置上述三个模块,需要直接使用其配置文件或图形界面,无法通过
settings资源导出迁移。
每个模块可配置的具体属性(类型、取值范围、默认值、示例)在 doc/dsc/modules 目录下均有独立参考文档。
3. 支持的三种使用方式
PowerToys DSC 提供三种等效的使用方式,你可以根据自己的工作流选择。
3.1 直接执行 PowerToys.DSC.exe
最轻量的方式,直接在命令行(PowerShell)中执行工具命令:
# 获取某个模块的当前配置
PowerToys.DSC.exe get --resource 'settings' --module Awake
# 设置某个模块的期望配置
$input = '{"settings":{...}}'
PowerToys.DSC.exe set --resource 'settings' --module Awake --input $input
# 测试当前配置是否与期望一致
PowerToys.DSC.exe test --resource 'settings' --module Awake --input $input
命令统一遵守 <command> --resource 'settings' --module <ModuleName> 的参数约定,--input 用于传入 JSON 格式的期望状态。
3.2 标准 DSC 配置文档(dsc 命令 / dscv3)
把资源配置写入符合 DSC v3 schema 的 YAML 文档,交由 DSC 宿主执行:
# powertoys-config.dsc.yaml
$schema: https://aka.ms/dsc/schemas/v3/bundled/config/document.json
resources:
- name: Configure Awake
type: Microsoft.PowerToys/AwakeSettings
properties:
settings:
properties:
keepDisplayOn: true
mode: 1
name: Awake
version: 0.0.1
资源 type 的命名遵循 Microsoft.PowerToys/<Module>Settings 模式。settings 对象内部包含 name(模块名)、version(配置 schema 版本号)与 properties(各模块实际配置项)三个部分,这一结构与直接执行时 --input 传入的 JSON 完全同构。
3.3 WinGet 配置
将 PowerToys 的安装与配置编排进同一条 WinGet Configuration 文档,实现“安装即配置”:
# winget-powertoys.yaml
$schema: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/config/document.json
metadata:
winget:
processor: dscv3
resources:
- name: Install PowerToys
type: Microsoft.WinGet.DSC/WinGetPackage
properties:
id: Microsoft.PowerToys
source: winget
- name: Configure FancyZones
type: Microsoft.PowerToys/FancyZonesSettings
properties:
settings:
properties:
fancyzones_shiftDrag: true
fancyzones_mouseSwitch: true
name: FancyZones
version: 1.0
该文档使用 Microsoft.WinGet.DSC/WinGetPackage 先安装 Microsoft.PowerToys,再通过 Microsoft.PowerToys/FancyZonesSettings 资源应用配置。
实践提示:仓库中提供了大量可直接改用的官方示例,见 src/dsc/Microsoft.PowerToys.Configure/examples,包括
enableAllModules.winget(启用全部模块)、disableAllModules.winget(禁用全部模块)、installAndConfiguration.winget(安装并配置)与configuration.winget(纯配置)等场景。
4. settings 资源的全部操作详解
4.1 列出支持的模块(modules)
查看当前 settings 资源可以配置哪些模块:
# 列出全部可配置模块。
PowerToys.DSC.exe modules --resource 'settings'
底层对应 SettingsResource.GetSupportedModules(),返回按字母序排序的模块字典键集合。
4.2 获取当前状态(get / export)
读取模块的当前配置状态。export 与 get 输出完全一致——从源码看,GetState 直接委托给 ExportState(SettingsResource.cs),因此两者的 JSON 输出格式完全相同。
直接执行:
# 获取某模块的当前设置。
PowerToys.DSC.exe get --resource 'settings' --module <ModuleName>
DSC 配置: 以获取 Awake 当前状态为例,只需给出空 properties 即可触发 get 语义:
$schema: https://aka.ms/dsc/schemas/v3/bundled/config/document.json
resources:
- name: Get Awake settings
type: Microsoft.PowerToys/AwakeSettings
properties: {}
WinGet 配置: 同理,例如查询 FancyZones 的当前状态:
$schema: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/config/document.json
metadata:
winget:
processor: dscv3
resources:
- name: Get FancyZones settings
type: Microsoft.PowerToys/FancyZonesSettings
properties: {}
4.3 导出当前状态(export)
export 与 get 语义一致,用于备份或采集当前配置:
# 导出某模块当前设置。
PowerToys.DSC.exe export --resource 'settings' --module <ModuleName>
一个常见的自动化用法是遍历 modules 输出,把每个模块的配置导出汇总成一份 JSON 备份文件(详见第 6 节的示例五)。
4.4 设置期望状态(set)
向模块下发期望配置,只更新与期望状态存在差异的属性。从源码看,SetState 会先 GetState() 拉取当前值、计算差异 JSON,再通过 TestState() 判断是否已一致;只有在不一致时才真正写回设置(SettingsResource.cs)。
直接执行: 以 Awake 模块为例,期望“保持屏幕常亮且无限期唤醒”:
# 为模块设置期望配置。
$input = '{
"settings": {
"properties": {
"keepDisplayOn": true,
"mode": 1
},
"name": "Awake",
"version": "0.0.1"
}
}'
PowerToys.DSC.exe set --resource 'settings' --module Awake --input $input
DSC 配置:
$schema: https://aka.ms/dsc/schemas/v3/bundled/config/document.json
resources:
- name: Configure Awake
type: Microsoft.PowerToys/AwakeSettings
properties:
settings:
properties:
keepDisplayOn: true
mode: 1
name: Awake
version: 0.0.1
WinGet 配置: 将“安装 PowerToys + 配置 FancyZones”放在同一文档中:
$schema: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/config/document.json
metadata:
winget:
processor: dscv3
resources:
- name: Install and configure PowerToys
type: Microsoft.WinGet.DSC/WinGetPackage
properties:
id: Microsoft.PowerToys
source: winget
- name: Configure FancyZones
type: Microsoft.PowerToys/FancyZonesSettings
properties:
settings:
properties:
fancyzones_shiftDrag: true
fancyzones_mouseSwitch: true
fancyzones_displayOrWorkAreaChange_moveWindows: true
name: FancyZones
version: 1.0
4.5 测试期望状态(test)
校验当前配置是否与期望状态一致(即检测“配置漂移”)。返回的输出中包含 _inDesiredState 属性:值为 true 表示一致,false 表示有差异。
直接执行:
# 测试当前状态是否与期望一致。
$input = '{
"settings": {
"properties": {
"keepDisplayOn": true,
"mode": 1
},
"name": "Awake",
"version": "0.0.1"
}
}'
PowerToys.DSC.exe test --resource 'settings' --module Awake --input $input
DSC 配置:
$schema: https://aka.ms/dsc/schemas/v3/bundled/config/document.json
resources:
- name: Test Awake configuration
type: Microsoft.PowerToys/AwakeSettings
properties:
settings:
properties:
keepDisplayOn: true
mode: 1
name: Awake
version: 0.0.1
从源码可以看到,test 与 set 共享同一套状态比较与差异计算逻辑:TestState 会调用 data.GetState()、把比较结果写入输出的 InDesiredState,并同时输出差异 JSON(SettingsResource.cs)。差异输出由 SettingsFunctionData.GetDiffJson() 生成,供上层判断具体哪些属性需要修正。
4.6 生成 JSON Schema(schema)
为某个模块生成 JSON Schema,描述该模块全部可配置属性及其类型、取值范围,可用于编辑器补全、校验或生成图形表单。
直接执行:
# 获取某模块的 JSON Schema。
PowerToys.DSC.exe schema --resource 'settings' --module Awake
# 通过管道格式化,便于阅读。
PowerToys.DSC.exe schema --resource 'settings' --module Awake `
| ConvertFrom-Json | ConvertTo-Json -Depth 10
纵深背景:仓库中的 PowerToys.Settings.DSC.Schema.Generator 工程(
Program.cs、SchemaGeneration.cs、DSCGeneration.cs等)以静态工具的形式生成模块属性 JSON Schema、DSC 配置示例乃至每模块的 Markdown 文档——doc/dsc/modules/下各模块文档即由该生成器产出,保证了“模块属性文档、schema、运行时校验”三者的同源一致。
4.7 生成 DSC 资源 Manifest(manifest)
生成符合 DSC v3 协议规范的资源 Manifest 文件,供 DSC 宿主(dscv3 / WinGet)发现资源能力(stdin/json-input/command 方法、是否支持 pretest 等)。可以针对单模块生成,也可以一次生成全部模块的 Manifest。
直接执行:
# 为指定模块生成 Manifest 到目录。
$outputDir = "C:\manifests"
PowerToys.DSC.exe manifest --resource 'settings' --module Awake `
--outputDir $outputDir
# 为所有模块生成 Manifest。
PowerToys.DSC.exe manifest --resource 'settings' --outputDir $outputDir
# 不指定 --outputDir 时,把 Manifest 直接打印到控制台。
PowerToys.DSC.exe manifest --resource 'settings' --module Awake
底层实现中,Manifest 会生成名为 microsoft.powertoys.<module>.settings.dsc.resource.json 的资源描述文件(SettingsResource.cs);每个 Manifest 会声明该模块的 export/get 为 stdin 方法、set/test 为 json-input 方法(其中 set 开启 implementsPretest 与 stateAndDiff)、schema 为 command 方法(见 GenerateManifest 实现 SettingsResource.cs)。
5. 各模块的核心配置属性速览
settings 资源的 properties 即对应各模块配置文件(JSON)中的实际字段。以下以最常用的三个模块为例说明属性形态(完整清单见各模块参考文档):
5.1 App 模块(全局设置)
App 模块管理的是 PowerToys 全局状态与其他模块的开头状态(注意它的属性是全局粒度的,不依赖 src/modules 下某个具体工具工程):
- Enabled(Object):每个工具的布尔开关,如
Awake、FancyZones、PowerRename、ColorPicker、AdvancedPaste等,对应 App.md 中列出的 24 个工具键; - startup(boolean,默认
true):登录时是否自动启动 PowerToys; - run_elevated(boolean,默认
false):是否以管理员权限运行; - theme(string,取值
light/dark/system,默认system):应用主题。
5.2 Awake 模块(保持唤醒)
Awake 模块属性在 Awake.md 中有完整参考:
- keepDisplayOn(boolean,默认
true):为true时防止显示器关闭;为false时仅阻止系统睡眠、显示器仍遵循电源计划关闭; - mode(integer,默认
0):0关闭、1无限期保持唤醒、2定时唤醒(配合intervalHours/intervalMinutes)、3保持唤醒到指定时刻(配合expirationDateTime); - intervalHours(integer,
0–999)与 intervalMinutes(integer,0–59):mode=2时的定时时长; - expirationDateTime(ISO 8601 字符串):
mode=3的到期时间,格式形如"2025-12-31T23:59:59.0000000-08:00"; - customTrayTimes(object):托盘右键菜单中的自定义快捷时长预设,键为显示名、值为时长定义。
5.3 FancyZones 模块(窗口布局)
FancyZones 模块(FancyZones.md)的属性与设置界面中的功能开关一一对应,例如:
- fancyzones_shiftDrag(boolean,默认
true):拖动窗口时按住 Shift 是否触发分区吸附; - fancyzones_mouseSwitch(boolean,默认
false):拖动窗口跨显示器时是否弹出分区选择; - fancyzones_overrideSnapHotkeys(boolean,默认
false):是否覆盖 Windows 系统贴靠热键(Win+方向键); - fancyzones_displayOrWorkAreaChange_moveWindows(boolean):显示器分辨率或工作区变化时是否移动窗口适配;
- fancyzones_zoneSetChange_moveWindows(boolean):切换布局方案时是否自动移动窗口;
- fancyzones_appLastZone_moveWindows(boolean,默认
true):应用再次打开时是否恢复到上次所在分区; - fancyzones_overlappingZonesAlgorithm(integer):多分区重叠时的命中算法:
0最小分区、1最大分区、2按位置。
这些属性名与 src/modules/fancyzones 中实际持久化的设置键一致,属性改动会直接落到本机 PowerToys 的配置存储中,重启对应模块后生效。
6. 综合示例
示例 1:启用并配置 FancyZones(直接执行)
先用 get 拉取当前配置,再构造期望状态并以 set 应用:
# 获取当前 FancyZones 配置。
$current = PowerToys.DSC.exe get --resource 'settings' --module FancyZones `
| ConvertFrom-Json
# 构造期望状态。
$desired = @{
settings = @{
properties = @{
fancyzones_shiftDrag = $true
fancyzones_mouseSwitch = $true
fancyzones_displayOrWorkAreaChange_moveWindows = $true
}
name = "FancyZones"
version = "1.0"
}
} | ConvertTo-Json -Depth 10 -Compress
# 应用配置。
PowerToys.DSC.exe set --resource 'settings' --module FancyZones `
--input $desired
这种“先 get 当前值 → 构造 HashTable → 压缩成 JSON → set 应用”的模式适合在脚本中做增量修改,避免手工拼写完整 JSON。
示例 2:一份配置文档同时管理多个工具
在单个 DSC 文档里声明 App(工具开关)、Awake 与 ColorPicker 的期望状态:
# powertoys-multi.dsc.yaml
$schema: https://aka.ms/dsc/schemas/v3/bundled/config/document.json
resources:
- name: Enable PowerToys utilities
type: Microsoft.PowerToys/AppSettings
properties:
settings:
properties:
Enabled:
Awake: true
FancyZones: true
PowerRename: true
ColorPicker: true
name: App
version: 1.0
- name: Configure Awake
type: Microsoft.PowerToys/AwakeSettings
properties:
settings:
properties:
keepDisplayOn: true
mode: 1
name: Awake
version: 0.0.1
- name: Configure ColorPicker
type: Microsoft.PowerToys/ColorPickerSettings
properties:
settings:
properties:
changecursor: true
copiedcolorrepresentation: "HEX"
name: ColorPicker
version: 1.0
注意:同一文档中每个资源 type 都使用各自的 <Module>Settings 资源名,但它们在实现上都由同一个 PowerToys.DSC.exe settings 资源在背后驱动(即 manifest 生成时每个模块独立一个 manifest、但指向同一个 --resource 'settings' 调用,见 4.7 节)。
示例 3:WinGet 安装 PowerToys 并应用通用/布局/图像配置
把包安装与三层配置编排在一条文档中,然后交给 winget configure 执行:
# winget-powertoys-setup.yaml
$schema: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/config/document.json
metadata:
winget:
processor: dscv3
resources:
- name: Install PowerToys
type: Microsoft.WinGet.DSC/WinGetPackage
properties:
id: Microsoft.PowerToys
source: winget
ensure: Present
- name: Configure general settings
type: Microsoft.PowerToys/AppSettings
properties:
settings:
properties:
run_elevated: true
startup: true
theme: "dark"
name: App
version: 1.0
- name: Configure FancyZones
type: Microsoft.PowerToys/FancyZonesSettings
properties:
settings:
properties:
fancyzones_shiftDrag: true
fancyzones_zoneSetChange_moveWindows: true
name: FancyZones
version: 1.0
- name: Configure ImageResizer
type: Microsoft.PowerToys/ImageResizerSettings
properties:
settings:
properties:
ImageResizerSizes:
- Name: Small
Width: 854
Height: 480
Unit: Pixel
Fit: Fit
- Name: Medium
Width: 1920
Height: 1080
Unit: Pixel
Fit: Fit
name: ImageResizer
version: 1.0
应用这条配置:
winget configure winget-powertoys-setup.yaml
其中 ImageResizerSizes 展示了数组嵌套对象属性的写法(每个尺寸包含 Name / Width / Height / Unit / Fit),这类结构化属性在 ImageResizer 等模块中很常见。
示例 4:检测并修复配置漂移
用 test 判定是否漂移,若已漂移则直接以 set 修复——这是 DSC“声明式收敛”在 PowerShell 脚本中的最小落地实现:
# 定义期望状态。
$desired = @{
settings = @{
properties = @{
keepDisplayOn = $true
mode = 1
}
name = "Awake"
version = "0.0.1"
}
} | ConvertTo-Json -Depth 10 -Compress
# 测试是否有漂移。
$result = PowerToys.DSC.exe test --resource 'settings' --module Awake `
--input $desired | ConvertFrom-Json
if ($result._inDesiredState) {
Write-Host "Configuration is in desired state"
} else {
Write-Host "Configuration has drifted from desired state"
# 修复漂移:应用配置。
PowerToys.DSC.exe set --resource 'settings' --module Awake `
--input $desired
}
示例 5:导出全部模块配置做备份
遍历 modules 输出,逐个 export,最后落盘为一份 JSON 备份:
# 获取全部模块列表。
$modules = PowerToys.DSC.exe modules --resource 'settings'
# 逐个导出模块配置。
$configurations = @{}
foreach ($module in $modules) {
$config = PowerToys.DSC.exe export --resource 'settings' `
--module $module | ConvertFrom-Json
$configurations[$module] = $config
}
# 保存到文件。
$configurations | ConvertTo-Json -Depth 10 `
| Out-File "powertoys-backup.json"
由于 export 与 get 输出完全一致(见 4.2 节源码说明),该脚本也可用 get 替代 export。注意第 2 节提到的不支持模块(MouseWithoutBorders、PowerLauncher、NewPlus)不会出现在列表中,如需备份需另行处理其设置文件。
7. 从源码理解 settings 资源的内部工作机制
7.1 模块分发的核心:模块名 → 强类型设置类
SettingsResource 构造时用“模块名 → 工厂方法”的字典完成分发(SettingsResource.cs):
{ AppModule, CreateModuleFunctionData<GeneralSettings> }, // App
{ nameof(ModuleType.Awake), CreateModuleFunctionData<AwakeSettings> }, // Awake
{ nameof(ModuleType.FancyZones), CreateModuleFunctionData<FancyZonesSettings> },// FancyZones
// ...
每个工厂方法都要求设置类实现 ISettingsConfig 接口,再包装成泛型 SettingsFunctionData<TSettingsConfig>。这也解释了为什么“资源支持哪些模块”可以由 modules 命令枚举——本质就是遍历字典键。
7.2 每条命令如何驱动资源操作
Program.cs 注册的七个命令类都继承 BaseCommand,并把 ExitCode 与资源方法的返回值绑定:方法返回 true 则退出码为 0,否则为 1。例如 SetCommand.cs 内部执行 Resource.SetState(Input)。命令选项(--resource、--module、--input、--outputDir)由 Options 目录下对应的选项类定义,其中 --resource 默认为 settings,--module 缺省时回退到 App 模块(见 SettingsResource.cs 的 ModuleOrDefault)。
7.3 测试如何保证正确性
仓库为 settings 资源准备了完整的单元测试工程 PowerToys.DSC.UnitTests:每个模块一个测试文件(如 SettingsResourceAwakeModuleTest.cs、SettingsResourceFancyZonesModuleTest.cs),并抽象出泛型基类 SettingsResourceModuleTest`1.cs,统一验证“get / set / test / schema”在各模块上的往返一致性。这一测试布局印证了 settings 资源的模块扩展方式是“表驱动”的:新增模块主要是把新设置类型加入字典。
7.4 与配置文件体系的关系
从架构上看,settings 资源操作的属性与设置界面(Settings.UI.Library)中定义、各模块运行时读取的是同一份强类型设置结构。换句话说,DSC 资源是“设置读写能力的命令行投影”:把原来只能在图形界面或 JSON 文件中手工维护的配置,变成可脚本化、可版本化、可被 DSC 引擎强制收敛的状态对象。
8. 查看更多
- PowerToys DSC 概览:三种使用方式与模块总览;
- doc/dsc/modules:各模块属性完整参考(App、Awake、FancyZones、ColorPicker、ImageResizer 等 25 份文档);
- src/dsc/v3/PowerToys.DSC:settings 资源与全部命令的源码实现;
- src/dsc/v3/PowerToys.DSC.UnitTests:settings 资源的模块级单元测试;
- src/dsc/Microsoft.PowerToys.Configure/examples:可复制的 WinGet/DSC 示例配置;
- src/dsc/PowerToys.Settings.DSC.Schema.Generator:Schema、示例与模块文档的生成工具。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0624
Hy4-previewHy4 preview 是由腾讯混元团队研发的新一代混合专家(MoE)旗舰模型。模型总参数量 770B,每个 token 激活 49B,主干共包含78层,第一层采用标准 FFN,其余 77 层均为 MoE 结构,每层包含 256 个路由专家与 1 个共享专家,每个 token 激活 top-8 路由专家及共享专家。主干之外原生内置 1 层 MTP(总参数量 10B,激活 0.7B)以支持投机解码。Python00
GLM-5.3GLM-5.3 与 GLM-5.2 使用相同的基座模型——所有提升均来自后训练。与 GLM-5.2 相比,它在复杂编程和长程任务上的表现显著提升。Jinja00
GLM-5.3-FlashGLM-5.3-Flash (320B-A18B),是GLM-5系列的首个原生多模态模型。320B总参数,能力超过GLM-5.2Jinja00
Spark-X2.5-4BSpark-X2.5-4B 旨在让强大的 AI 更实用、更高效、更易获得。在广泛日常任务中表现强劲,涵盖对话、写作、翻译、推理、编码、工具调用以及智能体工作流,并在同等规模的开源模型中取得领先成绩。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00
Spark-X2.5-1.7BSpark-X2.5-1.7B 旨在让强大的 AI 更加实用、高效且易于获取。这些模型在广泛的日常任务中表现出色,涵盖对话、写作、翻译、推理、编程、工具调用和智能体工作流,并在同等规模的开源模型中取得领先结果。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00