dshbase

插件目录 / Knowledge / dsh-plugin-device-info

dsh-plugin-device-info

已验证 · 实测可装 lsz-asd

✓ 持续维护 2 位贡献者

查看 GitHub ↗ ← 返回插件目录

2Stars
0Forks
0未关闭 issue
—语言
2026-08-14最近推送
跨平台平台

功能简介

Read-only Windows device info tools for DeepSeek Harness: 12 win_* tools (time, system, CPU, memory, disk, GPU, network/WiFi, battery, processes, USB, audio, printers) via Node os + WMI/CIM. Bundle-form dsh plugin.

✅
我们的评价
可用 — 实测通过,早期项目

Read-only Windows device info tools for DeepSeek Harness: 12 win_* tools (time, system, CPU, memory, disk, GPU, network/WiFi, battery, processes, USB, audio, printers) via Node os + WMI/CIM. Bundle-form dsh plugin. 实测能干净安装、正常启动。早期项目,但功能可用。

「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。

README

dsh-device-info

Read-only Windows device info for DeepSeek Harness agents �12 win_* tools, one per Win32 device category.

@huanlin/dsh-plugin-device-info gives the model structured, read-only access to the host machine: time, system, CPU, memory, disk, GPU, network/WiFi, battery, processes, USB, audio, printers. No writes, no installs, no network.

Why this plugin

Ad-hoc PowerShell probing costs tokens every query �the model re-generates a command each time (~40�00+ tokens, more with retries after a typo or a permission prompt). A plugin call is ~6 tokens against pre-tested, versioned queries. Install once, call any tool; no command-writing, no trial-and-error. (Estimates: scripts/token-estimate.mjs; real benchmark planned, see Roadmap.)

Install

dsh plugin --profile <profile> add github:lsz-asd/dsh-plugin-device-info   # after publishing
dsh plugin --profile <profile> add link:C:/path/to/dsh-device-info           # local checkout

Restart the profile. lib/ ships pre-built (no prepare script).

Tools

Tool Reports Source
win_time ISO/epoch time, IANA timezone, UTC offset, uptime, boot time Node os �any platform
win_system OS, hostname, user, vendor, model, BIOS, serial (config) Win32_ComputerSystem / Win32_OperatingSystem / Win32_BIOS
win_cpu Model, cores, max clock, load % Win32_Processor
win_memory Used/free/total, used %, modules Node os + Win32_PhysicalMemory
win_disk Drives + volumes (capacity, free) Win32_DiskDrive / Win32_LogicalDisk
win_gpu Name, VRAM, driver, resolution Win32_VideoController
win_network Adapters, IPs, live WiFi (SSID/signal/rates/auth) Get-NetAdapter + netsh wlan + Node os
win_battery Charge %, AC/DC, runtime, power scheme Win32_Battery + powercfg
win_processes Count + top-N by memory/CPU (top_n, sort_by) Get-Process
win_usb USB devices Win32_PnPEntity
win_audio Audio devices Win32_SoundDevice
win_printers Printers (driver/port/default/offline) Win32_Printer

Config

Field Default Description
pwshEnabled true Master switch; false disables all but win_time.
pwshTimeoutMs 8000 Per-query timeout (1000�0000).
topProcesses 10 Default top-N for win_processes (1�00).
includeSerialNumber true Report BIOS serial in win_system.
pwshPath powershell.exe PowerShell executable (powershell.exe/pwsh.exe).

Example

User:  这台电脑还剩多少内存?电池呢�Model: [win_memory] �72.8% used, 2× Samsung 8 GB DDR5-4800
       [win_battery] �100%, AC online, scheme 381b4222�(平衡)

All tools return canonical JSON; nullable fields stay null (schema oneOf: [type, null]) for a stable shape:

{ "supported": true, "platform": "win32",
  "name": "13th Gen Intel(R) Core(TM) i7-13700HX",
  "cores": 16, "logical_processors": 24,
  "max_clock_mhz": 2100, "current_load_percent": 3 }

Architecture

model ──tools──�win_* tools ──�execute �canonical JSON value
                        �       render  �pure text projection
                        â–?              CollectContext {run, signal, platform, config}
                        �  Node os (no subprocess)         PowerShell child (WMI/CIM · netsh · powercfg)
  win_time, totals, addresses     killed on exec.signal · hard timeout

src/index.ts entry · src/tools.ts 12 tools + renders · src/collect.ts collectors · src/pwsh.ts runner + parsers · src/types.d.ts ambient peer types

Highlights

  • Value/render split â€?execute returns plain bytes/ms/percents; render is a pure projection, replay-safe
  • Locale-independent parsing â€?netsh wlan fields stay English on localized Windows; powercfg GUID regex language-independent; CIM /Date(ms)/ â†?ISO-8601
  • Sentinel handling â€?battery runtime is junk on AC (0x04444444) â†?null; AdapterRAM uint32 wraparound documented
  • Cancellation/timeouts â€?exec.signal kills the child; hard per-query timeout; no orphans, no hangs
  • Domain vs infra failures â€?missing battery/WiFi/non-Windows â†?supported: false values; spawn/timeout/abort â†?thrown (isError)

Quality

59 unit tests (real-machine fixtures) · real powershell.exe smoke · real-composition smoke through production @deepseek-ai/dsh-tools (scripts/di-smoke.mjs) · strict TS, tsc + tsdown �lib/.

Development

pnpm install && pnpm run typecheck && pnpm test && pnpm run build

@deepseek-ai/dsh-tools is host-provided and not in devDependencies (its peer chain references an unpublished package); typecheck uses src/types.d.ts ambient declarations, tests mock the module, the real module runs in the smoke script/Loader.

Model Experience

The 12 fixed schemas join the generated tool catalog �no dynamic prompt injection. Token effect: fixed (constant schemas; one result message per call). KV cache: prefix-stable (schemas never change at runtime).

Roadmap

  • Token-efficiency benchmark â€?real per-task usage: plugin call vs ad-hoc commands (incl. retries/prompts); results published here
  • More platforms â€?Linux/macOS (/proc, sysctl, system_profiler)
  • More categories â€?Bluetooth, displays, traffic stats, temperature (LibreHardwareMonitor), installed software

Known limitations

Sensors need a third-party daemon · Bluetooth/display/traffic stats deferred · process CPU is cumulative seconds, not live rate · only win_time on non-Windows.

License

AGPL-3.0

安装

🧩 让 Agent 自动装(推荐)

装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:

dsh plugin add dshbase-catalog

然后对 agent 说「帮我装 dsh-plugin-device-info」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。

该插件是 GitHub 源码(未发 npm)——直接从仓库装:

Web profile:

dsh plugin --profile web add github:lsz-asd/dsh-plugin-device-info

Headless(CLI)profile:

dsh plugin --profile headless add github:lsz-asd/dsh-plugin-device-info

实测报告

验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。

安全:尚未扫描——我们的每日静态扫描将很快覆盖它。

分享徽章

Knowledge 里更多

浏览全部 7819 个插件 →