Device X(dsh-plugin-devicex):一页看清本机,并对可改项直接动手

前言

在 DSH 里做 Agent 或本地助手时,常见窘境是:模型要查 CPU、进程、已装应用或改 DNS,只能让你自己开终端、翻系统设置,或零散写脚本。信息分散在多处,操作也难和白名单化对齐,既不利于人机共读一份「设备真相」,也不利于工具调用走同一条实现。

下面介绍社区插件 Device X(cfour-hi/dsh-plugin-devicex):在 DSH 左侧栏提供持久化客户端面板,把硬件、系统、软件、网络、安全、进程等收成十个标签页;对非硬件能力支持界面操作,并通过 device_info、device_control、device_benchmark 暴露给 Agent。维护者为 cfour-hi,分类为客户端;当前包版本为 1.5.0,许可证 MIT。

这是什么

Device X 是一个持久化的 DSH 插件:用一页中文/英文界面汇总当前设备信息,并对除硬件外的项目做直接操作(结束进程、启停应用、改主机名、开关 Wi-Fi/防火墙、清理缓存等)。同一套能力在 Host 侧统一实现,UI 与 Agent 工具共用,避免出现两套逻辑。

支持平台为 macOS 与 Windows 10/11。采集与动作按 process.platform 分流(darwin 用系统命令,win32 用 PowerShell/CIM);浏览器 UI、HTTP API、Agent 工具在两个平台上保持一致。

核心功能

界面与信息分区

入口在 DSH 左侧栏底部 Device X 面板图标(位于 Plugins、Schedules 之后),点击进入中央主面板。界面共十个标签,跟随 DSH 主题着色,并支持 prefers-reduced-motion:

标签 作用概要
总览 CPU/内存/磁盘/电池/网络 KPI、火花线、Top 进程与派生告警
硬件 CPU 逐核、内存、GPU、磁盘、电池、温度与散热、驱动/内核扩展(只读)等
系统 系统版本、启动时长、用户、登录项与 LaunchAgents(可启停)
软件 已装应用(搜索、卸载);macOS 展示 Homebrew,Windows 展示 winget
网络 网卡、Wi-Fi、DNS、代理、监听端口;可开关 Wi-Fi、设 DNS
安全 FileVault/BitLocker 等状态卡、防火墙、跳转系统隐私/安全设置
进程 可排序进程表,逐行结束(二次确认)
清理 扫描可安全清理位置,勾选后二次确认才删除
性能 CPU/内存/磁盘固定工作量基准,可与上次结果对比
操作 19 个白名单动作分组建表单,危险操作二次确认

单个动作失败时,仅在对应卡片或弹窗内报错,不会拖垮整页或插件。

Agent 工具

Host 注册三个 Agent 工具,与 UI 同源:

  • device_info:section 可取 overview | hardware | system | software | network | security | processes | cleanup;fresh 可绕过缓存。
  • device_control:action 为动作 id,params 为参数,与 UI 走同一实现。
  • device_benchmark:可选 tests(cpu|memory|disk)与 repeat,引擎与「性能」标签页相同。

动作与白名单(19 项)

动作全部白名单化并做严格参数校验,涵盖进程信号、应用启停/卸载、主机名与音量/深色模式、LaunchAgent 或 Windows 启动项、打开系统设置、防火墙、DNS 刷新、清空废纸篓、Wi-Fi/DNS、睡眠/锁定、Homebrew/winget 卸载、确认后的 cleanup.delete 等。macOS 与 Windows 使用相同动作 id,平台差异在 README 的 Windows 映射表中说明(例如 Windows 上 process.signal 不支持 STOP/CONT)。

HTTP API

浏览器通过同源 /devicex/api/* 访问,落在 DSH Connection 信任栅栏之后(签名会话 cookie + Host/Origin 校验)。主要路由包括:

  • GET /devicex/api/metrics — 指标轮询(UI 约 2500ms)
  • GET /devicex/api/inventory — 分区或完整清单
  • GET /devicex/api/actions / POST /devicex/api/action — 动作目录与执行
  • GET /devicex/api/cleanup — 清理扫描
  • POST /devicex/api/benchmark — 运行基准

子进程通过 execFile 参数数组执行,不经 shell;路径参数有根目录与后缀校验;动作历史保留最近 50 条。

安装与启用

资料中的安装方式有两类,未在已抓取片段中出现统一的 dsh plugin add … 单行命令时,不宜自行拼接:

  1. 本地 link:将包目录 plugin/ 链到当前 desktop profile,安装结果应为 application: applied。
  2. Git 安装入口:仓库根目录的 package.json 可作为安装目标;具体步骤见 GitHub README 中「分享给其他人安装」一节。

安装前请阅读 插件目录页 与仓库 README 及 LICENSE。插件声明支持 darwin 与 win32 平台。

典型用法

在界面中查看与操作

  1. 启动 DSH 并确保插件已应用到 desktop profile。
  2. 点击左侧栏底部 Device X 图标,在十个标签间切换查看清单或实时指标。
  3. 在「进程」中搜索 PID 后结束进程;在「操作」中选择白名单动作并填写参数;清理类操作需先扫描再勾选确认。

Agent 拉取分区信息

逻辑上等价于调用 device_info,指定 section 与可选 fresh。例如需要完整软件清单时,将 section 设为 software;需要绕过缓存时设 fresh。

Agent 执行本机控制

通过 device_control 传入 README 动作表中的 action 与对应 params,与 UI「操作」标签使用同一后端。卸载应用、改 DNS、切换防火墙等涉及权限的动作,失败时 Host 会返回 stderr 等信息,应在 Agent 流程中如实处理。

本机性能对比

在「性能」标签或通过 device_benchmark 运行固定工作量测试。文档说明:分数仅适合同一台机器前后对比,不作跨设备排名依据。

适用场景与注意

适合谁

  • 需要在 DSH 内一眼掌握本机状态、又不想反复开系统监视器或 PowerShell 的开发者。
  • 希望 Agent 以结构化工具读取 device_info、以白名单方式执行 device_control,而不是让模型自由拼 shell 的团队。
  • 在 macOS 与 Windows 上希望 UI 与工具语义一致的场景。

务必注意

  • 插件以 当前 DSH 进程权限 运行;结束进程、卸应用、改防火墙、清理文件等操作影响真实系统,安装前应审阅源码与 MIT 许可证,并只在可信环境启用。
  • 客户端插件走 DSH 信任栅栏,未认证请求返回 401,异源 403;这不替代你对动作白名单与参数含义的理解。
  • 硬件相关分区(含温度、驱动清单等)以只读为主;基准测试会占用 CPU/磁盘,宜在空闲时运行。
  • 社区目录 SkillHub 与 DeepSeek / 幻方无官方从属关系;星标与热度以各站点当时数据为准。

结尾

Device X 把「看清本机」和「对白名单内的可控项动手」收到同一插件里:面板给人用,三个 Agent 工具给模型用,Host 在 macOS 与 Windows 上各走一套采集/动作实现,前端与 API 保持一致。若要进一步了解安装分享方式、动作表与工程验证脚本,请以仓库文档为准。

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

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

Xiaoye