前言¶
DeepSeek Harness (DSH) 采用插件化架构,通过扩展功能来适应不同的运行环境。当 DSH 进程运行在 WSL(Windows Subsystem for Linux)环境中时,它往往需要读取 Windows 系统底层的配置信息。直接暴露注册表访问接口存在安全风险,且在 WSL 环境下直接操作 Windows 注册表较为繁琐。dsh-wsl-registry 插件解决了这个问题,它作为中间层,将 Windows 注册表访问限制为只读,并只允许访问指定的安全区域。
插件定位¶
dsh-wsl-registry 是一个 DeepSeek Harness 插件。其核心功能是在 WSL 环境中提供对 Windows 注册表的只读访问权限,但通过严格的允许列表机制,仅允许读取特定前缀的键值。
核心功能¶
该插件主要包含以下安全与访问控制特性:
- 只读访问:插件仅提供读取操作,不允许修改注册表数据。
- 访问白名单:访问被严格限制在以下键前缀内:
HKLM:\SOFTWAREHKLM:\SYSTEM\CurrentControlSet\ServicesHKCU:\SOFTWAREHKLM:\HARDWARE
- 安全拦截:拦截位于
Run或RunOnce段下的键。无论路径如何嵌套,只要路径段包含Run或RunOnce即被拒绝。 - 长度限制:读取到的注册表值会被截断,最大长度限制为 400 个字符。
安装与启用¶
在支持 DSH 的环境中,使用以下命令将插件安装到当前配置文件中:
dsh plugin --profile web add github:173787247/dsh-wsl-registry
安装后,插件即可在 DSH 的 Web UI 或脚本中使用。
典型用法¶
安装完成后,可以在 DSH 的命令行或配置中使用 win_reg 命令。以下是几个示例:
读取整个键下的信息:
win_reg path='HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion'
读取特定键下的特定值:
win_reg path='HKLM:\SOFTWARE\...' name=ProductName
适用场景与注意¶
- 运行环境:该插件仅适用于在 Windows 系统上安装并运行的 WSL 环境中。DSH 进程必须运行在 WSL 内部。
- 依赖版本:确保 DeepSeek Harness 版本不低于
0.1.2。 - 插件版本:当前使用的是插件
0.1.0版本。 - 权限与安全:插件以 DSH 当前的进程权限运行。在使用前,建议检查源码以确保符合安全规范。
结语¶
dsh-wsl-registry 插件为在 WSL 中运行的 DSH 提供了安全、受控的 Windows 注册表访问能力。通过限制只读权限和访问范围,它可以在不增加系统风险的前提下,帮助开发者获取必要的系统配置信息。