前言¶
在 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 … 单行命令时,不宜自行拼接:
- 本地 link:将包目录
plugin/链到当前 desktop profile,安装结果应为application: applied。 - Git 安装入口:仓库根目录的
package.json可作为安装目标;具体步骤见 GitHub README 中「分享给其他人安装」一节。
安装前请阅读 插件目录页 与仓库 README 及 LICENSE。插件声明支持 darwin 与 win32 平台。
典型用法¶
在界面中查看与操作¶
- 启动 DSH 并确保插件已应用到 desktop profile。
- 点击左侧栏底部 Device X 图标,在十个标签间切换查看清单或实时指标。
- 在「进程」中搜索 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 保持一致。若要进一步了解安装分享方式、动作表与工程验证脚本,请以仓库文档为准。