# @codingfrees/uap-device-control 中文文档

规范地址：https://npmcn.com/package/%40codingfrees/uap-device-control/

版本：0\.2\.14
npm 元数据更新时间：2026-11-09T06:56:25.047Z
中文译文更新时间：2026-11-10T09:13:07.911Z
软件包许可：未声明

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40codingfrees/uap-device-control
原文对照：https://npmcn.com/package/%40codingfrees/uap-device-control/?lang=original
项目主页：https://github.com/CodingFrees/UAP-next#readme
源码仓库：https://github.com/CodingFrees/UAP-next

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：163 kB，4 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=24\.18\.1 \<27
- 运行依赖：1 个
- 首次发布：2026-10-06T14:45:25.091Z
- 最新版本发布：2026-11-09T06:56:24.880Z
- 近 30 天下载量：4369（2026-10-10 至 2026-11-08，npm 官方下载统计）
- 已发布版本数：38（近 12 个月 38 个）

## 中文简介

跨平台出局的 UAP 设备控制客户端

## 安装

```sh
npm install @codingfrees/uap-device-control
```

也可以使用：`pnpm add @codingfrees/uap-device-control`、`yarn add @codingfrees/uap-device-control`、`bun add @codingfrees/uap-device-control`

## README

# UAP 设备控制

通用代理平台的跨平台外出设备控制客户端.

## 所需资源

-   节点.js 24.18.1 或后, 25.x,或 26.x (`>=24.18.1 <27`) (中文(简体) ). 优先支持进行中设施的LTS主要设备.
-   第一个登录的公用 UAP 设备控制源
-   窗口、 Linux 或 macOS

运行者, WSL, `cloudflared`,不需要临时安装一个单独安装的设备代理和输入设备端口 `npx` 模式.

## 第一个登录

公共 npm 软件包没有嵌入一个开发,中转或生产主机名 。 在第一个登录时明确选择预定的 UAP 环境 :

```bash
npx @codingfrees/uap-device-control@latest login --origin https://<uap-device-control-origin> --pairing-code <temporary-admin-code>
```

打开UAP设备控制/admin控制台,选择被授权的拥有者或工作空间身份,并生成一次性对接码(有效期为5分钟). CLI通过 OAuth PKCE 交换此代码,并存储一个可撤销的设备扫描证书,用于准确来源;它不需要GitHub/Google登录. 后来命令重用所保存的来源和证书 。 要改变环境,首先登录,然后与其他来源对齐.

您也可通过 `UAP_DEVICE_CONTROL_ORIGIN`。 。 。 .

## 远程会话

```bash
npx @codingfrees/uap-device-control@latest remote
```

交互式CLI默认使用简洁可读状态行(`✅`, (中文(简体) ), `❌`, (中文(简体) ), `⚠️`, (中文(简体) ), `🔐`, (中文(简体) ), `🌐`, (中文(简体) ), `🔌`, (中文(简体) ), `🔧`) (中文(简体) ). 使用 `--json` 用于在脚本和日志收集器中稳定 JSONL 输出。 只有一个 `remote` 进程可以一次使用状态目录;一个新的临时远程可以替换一个经过核实的先前临时实例,而无关或服务管理的进程则会失败。 OAuth刷新是跨进程序列化的,在现有的经纪人会话中重试Access-token更新,而不是强迫设备重接. 中继广告 `transport-ping-v1`,一个有边框的30秒应用心跳在持久对象冬眠时得到自动响应;一个缺失的响应导致CLI取代了无声半开传输. 更老的中继器继续使用点播存在探测器,直到双方更新.

交互式 `remote` 会话在启动时显示 UAP 设备控制横幅; JSON 和服务模式仍然是无横幅的 。 使用 `--debug` 添加本地终端命令诊断,包含可执行、已编辑的参数向量、工作目录和缩短请求ID。 环境值从未被记录,常见的有证书的旗帜和头被被校正.

默认情况下,远程进程也会启动端口上仅回放的语义浏览器桥 `18700`。直到 UAP 浏览器扩展对齐,CLI 打印出一个短寿命的配对代码。 浏览器控制可以禁用 `--no-browser-control` 或移动到另一个回路端口 `--browser-port <port>`。 。 。 .

在前端口对现有扩展对齐 `8800` 将端口保留在浏览器存储中 。 更新 npm 远程和浏览器扩展后, 打开 **设备控制- 浏览器** 在扩展名设置和使用中 **重新连接浏览器桥** 带有端口 `18700` (或CLI报出港. 这将在明确的用户动作后移动现有的配对,而不是默默地将被保存的无记名发送到新的本地端口或重设设备证书. 使用 `browser-reset` 只有丧失配对权限或替换扩展权限.

如果一个浏览器扩展被替换或丢失其本地令牌, 请停止 `remote`运行 `npx @codingfrees/uap-device-control@latest browser-reset`开始 `remote` 再来一次 此重排仅将浏览器对齐并保存设备身份和登录.

默认情况下只有当前目录作为设备控制文件系统根被曝光. 其他权力必须明确:

```bash
npx @codingfrees/uap-device-control@latest remote \
  --root files=/absolute/path \
  --read-only-root archive=/absolute/archive \
  --allow-executable /absolute/path/to/executable \
  --allow-service example.service
```

## 语义浏览器控制

语义浏览器控制是可选的,由 `device-control-browser` 在通用的 UAP 浏览器扩展内组装 。 它不需要Chrome/Edge远程调试旗或CDP.

1.  安装或启用可选选项 `device-control-browser` 工作空间中的伴侣;取决于 `device-control` 财务报告和审定财务报表 `browser-extension-host`。 。 。 .
2.  开始 `remote` 并注意当地 `🔐 Browser pairing code`。 。 。 .
3.  打开 UAP 浏览器扩展弹出和 **设备控制- 浏览器** 特性.
4.  输入 CLI 显示的配对代码和桥口,然后启用浏览器控制.
5.  远程会话自动重新连接并广告浏览器能力.

浏览器表面支持被绑定的标签列表,打开/navigate/activate/再装入/回放/前行/关闭,可视页面快照,基于选择的点击,被绑定的文字条目和被绑定的垂直滚动. 只有HTTPS或回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回H回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回 页面内容为不可信数据,不评价提供页面的JavaScript,每个MCP浏览器工具都通过批准.

## 状态

```bash
npx @codingfrees/uap-device-control@latest status
```

`status` 报告本地设备的身份、认证状态和认证时的远程存在.

## 账户身份和切换

使用 `whoami` 检查账户名称、主体和工作空间 **经中继器验证**,不从存储的符号内容推断:

```powershell
npx @codingfrees/uap-device-control@latest whoami
```

要将 Windows 设备从一个账户移动到另一个账户,请停止当前 `remote` 处理或安装服务,然后运行:

```powershell
npx @codingfrees/uap-device-control@latest switch-account
npx @codingfrees/uap-device-control@latest whoami
npx @codingfrees/uap-device-control@latest remote
```

在 OAuth 浏览器步骤中,请在 **计划** 账户,而不是现有的浏览器会话。 或者,在设备控制控制控制控制台为预期用户生成一个单用配对代码,并将其传递给 `switch-account --pairing-code <code>`。设备 ID 和浏览器的配对状态得到保存。 前一个刷新证书被取消 **之后** 成功的新登录; 如果无法确认撤销, CLI 将显示警告 。 一个失败的新登录让旧的授权完好无损 。 中继和CLI必须同时支持身份端点以显示被验证的身份;否则 `whoami` 明确报告无法核查而不是猜测.

## 长期服务

登录后 :

```bash
npx @codingfrees/uap-device-control@latest install-service
```

同样的运行时间也持续使用平台适配器(Windows计划启动,Linux系统用户服务,macOS发布).

这个 `install-service` 如果在 Windows 或 Linux 上检测到已安装的 Runner V2, 命令拒绝安装第二个持久远程; 临时 `remote` 模式保持独立。 服务安装在解剖学阶段进入运行时间阶段并保留a `.previous` 如果注册失败,则复制回滚。 这不是一个签名的自动更新通道;npm发布和OS服务更新仍然是单独的生命周期.

## npm 客户端对 ChatGPT MCP

NPM 客户端有 **没有** 使用MCP作为其设备传输. 它需要OAuth的公众UAP源头 以及设备控制路径 `/device-control/remote/*`。 。 。 .

这个 `/mcp` 端点由ChatGPT/Codex和公开的OpenAI插件上市要求. 生产部署可能暴露出来自同一种犬类HTTPS的表面,但它们是独立的协议路径并使用单独的OAuth瞄准镜. npm 客户端使用孤立 `device-control:device` 范围;普通的MCP读取/写入符被远程设备经纪人拒绝.

## 安全边界

客户端只打开输出的 HTTPS 连接, 外加严格绑定的可选浏览器桥 `127.0.0.1`。文件系统根、可执行允许列表和服务允许列表仍然是当地明确的权威。 设备证书以原产地为条件,不能静默地重复使用另一个环境. 浏览器对等使用短寿命的本地代码,将确切的扩展ID钉入,并只在远程一侧坚持一个符号散列;持单人本身留在扩展存储中.

## 出版

采用下列方式,在npm维护者批准时,进行经核实的双重用途释放:

```bash
pnpm publish:public
```

在不公布的情况下验证准确的发布 `pnpm publish:public -- --dry-run`。 。 。 .

对于 `npm whoami` Linux/ WSL 中的 HTTP 401, 使用本地更新认证 `npm login --registry=https://registry.npmjs.org/ --auth-type=web`,然后确认 `npm whoami`不将全权证书粘贴到发布报告或日志中。 npm版本是不可改变的:在发布前将软件包版本撞出并承诺一棵干净的树.

脚本需要干净的软件包输入, 持久 `contentPolicy` 声明和捆绑 `DISCLOSURE`,和一个未使用的版本。 它建立和检查包,然后打电话 `npm stage publish`词根 `pnpm deploy:npm` 入口使用相同的中程脚本. 维护者必须在2FA版本公开发布前在npmjs.com上检查并明确批准该舞台;脚本不会绕过npm身份检查或声称已发布一个舞台版本.

## UAP 下载释放候选人

这个 `UAP downloadable product candidates` 工作流程还构建了可移植的节点26 `uap-device-control-remote-<version>.mjs`它的SHA-256 和来自确切候选来源的静音出处 SHA. 此可执行的 JavaScript 文件 **需要节点.js 26**;它不是一个被签名的Windows/macOS本土安装器,并且与现有的npm发布通道相分离. 私人CI文物不是公开的UAP下载版. 每个经批准的公开发布必须在其描述中嵌入Windows/Linux/macOS的下载,校验和分,登录,范围-root,浏览器配对和更新/删除指令;需要现场OS/浏览器认证和单独的出版批准.

## ChatGPT MCP 工具简介

连接的 MCP URL 控制器,哪些工具是广告和可调用的 。 仅凭设备报告的能力并不能提供相应的ChatGPT工具.

| 连接 URL | 简介 | 相关工具 |
| --- | --- | --- |
| `https://device-control.aemdpc.ro/mcp` | `core` (默认) | 设备的发现、健康、工艺、终端和批准 |
| `https://device-control.aemdpc.ro/mcp?profile=browser` | `browser` | `list_browser_tabs` 和对浏览器操作 |
| `https://device-control.aemdpc.ro/mcp?profile=screen` | `screen` | `list_monitors`, (中文(简体) ), `screenshot`、流和桌面控制器 |
| `https://device-control.aemdpc.ro/mcp?profile=filesystem` | `filesystem` | 根发现和文件系统操作 |
| `https://device-control.aemdpc.ro/mcp?profile=marketplace` | `marketplace` | 所有设备控制 MCP 工具 |

为了启用 ChatGPT 中的高级工具, 连接一个明文 `browser` 或者说 `screen` 配置文件,或 `marketplace` 完整表面配置文件 。 插件包装器支持 `--profile browser`, (中文(简体) ), `--profile screen`,以及 `--profile marketplace`并嵌入匹配的 URL `mcp.json`。现有 `core` 连接不会仅仅因为远程设备报告这些能力而获得先进的工具.

配置文件对两者都有限制 `tools/list` 财务报告和审定财务报表 `tools/call`; OAuth 范围和设备/工作空间授权仍然适用. 浏览器读取需要成对的浏览器扩展并加高访问权限的批准;截图需要单独的批准. 在诊断检查期间绝不自动批准.

## 常见问题

### @codingfrees/uap-device-control 是什么？

跨平台出局的 UAP 设备控制客户端

### 如何安装 @codingfrees/uap-device-control？

在项目目录运行 npm install @codingfrees/uap-device-control，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 uap-device-control，可以用 npx uap-device-control 直接运行。

### @codingfrees/uap-device-control 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/codingfrees\_\_uap-device-control 是否存在。

### @codingfrees/uap-device-control 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @codingfrees/uap-device-control 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=24\.18\.1 \<27。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @codingfrees/uap-device-control 可以商用吗？

@codingfrees/uap-device-control 使用 未声明 许可。package\.json 没有声明许可证。没有许可证的代码默认保留全部权利，商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括，不构成法律意见，请以许可原文为准。

### @codingfrees/uap-device-control 的下载量有多少？

根据 npm 官方下载统计，@codingfrees/uap-device-control 在 2026/10/10 – 2026/11/08 这 30 天内被下载 4,369 次，日均约 146 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @codingfrees/uap-device-control 还在维护吗？

最新版本 0\.2\.14 发布于 2026/11/09（1 天前）；至今共发布 38 个版本，其中过去 12 个月发布了 38 个；首次发布于 2026/10/06。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

