FoxAgent · 终端代理

FoxAgent · 终端代理

管机器的那个

可用 终端控制 V4.3.0 项目授权

给展厅、会议室的终端机做统一远程管控的常驻代理程序,装在电脑后台随开机自启并长期驻留,无需运维人员再逐台跑到现场操作。它能完成关机重启、音量与屏幕控制、键鼠模拟、剪贴板读写与设备发现,并接受第三方授权调用。

软件规格

先核对能不能用,再往下看。

软件类型终端控制
产品状态可用
当前版本V4.3.0
支持平台WindowsLinux
运行方式后台程序Windows 服务
运行环境本机局域网终端设备
支持协议TCPUDPHTTPHTTPS
安装方式安装包
部署方式单机
授权方式项目授权

网络端口

协议端口用途方向必需备注
TCP42101HTTP 传输层:命令下发(POST /)、健康检查(/health)、能力清单(/capabilities)、Web 控制台(/console/)、管理端点(/admin/*)入站是可在 config.json 的 listen.http 修改;安装包会自动放行
TCP42102TCP 传输层:每行一条 JSON 命令(NDJSON);单行上限 4KB入站否未使用该传输可关闭;安装包会自动放行
UDP42103UDP 传输层:单包命令 + 设备发现应答(discovery ping/pong)双向否关闭后无法被自动发现,需上层手动填 IP

默认账号

本地 Web 控制台
登录地址
http://127.0.0.1:42101/console/
密码
未设置
默认状态
默认
备注
浏览器打开即用;页面为静态资源不鉴权,页内每个管理请求需填入 config.json 的 auth.token
访问令牌与证书
密码
已设置,请向 IFU 获取
默认状态
默认
备注
首次启动自动生成;令牌见 config.json 的 auth.token,证书见 tls 目录;前台不显示明文

FoxAgent 是 Fox 系列里「管机器」的那一个。它是一个常驻在终端电脑后台的轻量代理程序,本身不弹窗、不进托盘、不播放任何内容,只做一件事:把来自其他系统的控制指令,翻译成本机可以执行的动作。它采用「薄内核 + 全外置插件」的结构——内核只负责协议收发、进程托管、指令路由、参数校验和事件分发;所有具体能力(电源、音量、屏幕、键鼠、剪贴板、设备发现、设备信息、进程、校时、桌面提示、磁盘、截图、文件、日志)都以独立插件的形式外挂,可以单独安装、启停与卸载。

它解决的是「机器分散、人跑不过来」的问题。展厅、会议室、查询终端这类现场,设备位置不固定,往往还处于无人值守状态。要关一台机、调一次音量、把屏幕点亮,或者给某台机器装一个软件,过去只能人到现场操作;机器一多,运维成本就失控。FoxAgent 把这些动作都变成一条网络指令:运维或中控系统在任意位置发一条命令,目标终端立即执行,无需到现场、无需远程桌面登录。它同时负责回答「这台机器在不在、叫什么」,让上层系统能够自动发现并识别终端。

典型场景有三类:一是展厅与展馆,开馆前统一开机、把音量调到合适档位,闭馆后统一关机;二是会议室,会前把屏幕点亮、画面切回默认状态,散会后关闭显示器与音源;三是查询终端与自助机,定时重启释放内存,必要时远程下发更新包并静默安装。它也常用于中控系统对接——中控只关心「开 / 关 / 切」这类动作,把这些动作交给 FoxAgent 落地执行。

它现在以 Windows 系统服务的方式常驻(服务名 FoxAgent,开机自启,不需要任何人登录)。音量、屏幕、键鼠、剪贴板这类能力天然依赖用户桌面,而服务运行在 Session 0 看不到桌面——内核的做法是把这些插件跨会话创建到当前登录用户的会话中,于是「以服务方式运行」与「交互能力完整可用」不再互斥;只有在无人登录时才不可用,并会如实上报原因。它同时自带一个本机 Web 控制台(http://127.0.0.1:42101/console/):浏览器打开即可看内核状态、插件列表与能力清单,还能在「功能测试」里选一条命令、按插件自己声明的参数填表、点执行看真实返回——这既是运维的排障入口,也是对接方写代码前验证参数的地方。

与同系列其它软件的边界很清楚:FoxPlayer 管内容播放,FoxDisplay 管展示页面,FoxTimer 管会议节奏,FoxKiosk 管 Web 应用的运行环境,而 FoxAgent 只管机器本身——电源、音量、屏幕、键鼠、剪贴板,以及设备信息、进程、磁盘、截图、文件与日志等系统级动作与本地查询。需要「让屏幕播一段视频」时用 Player,需要「让机器自己重启」时用 Agent,两者可以装在同一台机器上、各司其职,互不越界。

怎么工作

它自己怎么跑,怎么接进来,怎么维护

FoxAgent 没有常驻窗口、没有托盘图标。安装完成后它作为系统服务(Windows 服务名 FoxAgent,启动类型「自动」)常驻,随开机自启,不需要任何人登录;启动那一刻依次完成三件事:读取配置文件、加载插件、开启三个监听端口(HTTP 42101 / TCP 42102 / UDP 42103)。

它常驻时同时在管四类事:一是响应指令——监听网络上的控制命令,按命令名路由到对应插件执行;二是托管插件——把每个能力作为独立子进程拉起,负责它们的启动、握手、心跳与异常重启;三是汇报状态——对外提供 /health 健康检查与 /capabilities 能力清单,让上层系统随时知道「这台机器在不在、能做什么」;四是被自动发现——应答 UDP 上的设备发现请求,返回本机真实物理网卡 MAC。

它自带一个本机 Web 控制台,浏览器打开 http://127.0.0.1:42101/console/ 即可看到内核版本与运行时长、插件列表(可启停 / 探测 / 卸载 / 上传安装)、能力清单,以及一个「功能测试」区——选一条命令、按插件声明的参数填表、点执行就能看到真实返回。要快速确认它在运行,打开 /health 返回 status: success 即可;要看能做什么,打开控制台或 /capabilities。

一个需要提前知道的前提:音量、屏幕、键鼠、剪贴板、桌面提示、截图这类交互类能力作用于登录用户的桌面。内核以服务方式运行时身处 Session 0,看不到用户桌面,因此它会把这些插件跨会话创建到当前登录用户的会话中,在服务态下依然可用;只有在无人登录时这类能力才不可用,此时控制台与 /capabilities 都会如实标注原因。

升级采用覆盖安装:重新运行安装包即可,安装程序会先停止并注销正在运行的服务,替换文件后重新注册并以当前配置启动,现场无需手动停服;配置文件与访问令牌存放在数据目录(Windows %ProgramData%FoxAgent),卸载不删除,因此升级后认证信息不会丢失。升级完成后建议访问一次 /capabilities,确认插件已全部重新加载。

日常看护用系统服务命令即可:fox-agent service status 查看服务是否在运行(无需管理员),fox-agent service start / stop 手工起停。服务运行日志落在数据目录下的 logskernel.log(超过 8 MiB 自动轮转为 kernel.log.1),排障时先看这份日志比看系统事件日志更直接。

远程支持需要满足两个条件:目标终端在内网可达(HTTP 42101 或 TCP 42102 端口放通),以及持有该终端的访问令牌或有效签名密钥。满足后运维在任意位置即可排障,无需到现场、无需远程桌面;把令牌填进浏览器打开 http://<终端ip>:42101/console/,即可在控制台里直接看状态、查能力、试命令。若现场完全离线,可让现场人员协助执行命令行自检(fox-agent doctor),把输出回传即可定位大部分问题。

出问题时先看三处:一看控制台首页的运行时长与「插件 x / y」计数(或 /health),判断内核是否在线;二看控制台的能力清单(或 /capabilities),确认出问题的能力是否被标记为不可用(不可用时 reason 会说明原因,例如「无人登录,没有可依附的用户会话」);三看控制台的插件表与命令行 fox-agent plugin list、fox-agent plugin doctor,确认插件是否已加载、能力探测是否通过。多数「命令没反应」都是能力不可用或插件被停止,而非程序损坏。

软件界面

先看它长什么样,再看它怎么用。

下面放的是这个软件真实运行时截下来的画面,不是效果图;看完再决定要不要试。

后台能力.png
后台能力.png
控制台能力.png
控制台能力.png
后台测试.png
后台测试.png
常见问题

安装和使用中最常被问到的几件事

更细的排障步骤与参数说明在文档中心,注册登录后即可查看。

每个软件都提供对应操作系统的安装包,单机手动安装即可;终端数量多时,可以按批次统一安装和配置。
不需要。软件默认在内网运行,只在需要集中管理或远程支持时才会用到网络出口。
可以。软件安装在你自己的终端和服务器上,运行数据留在内网,不经过第三方云服务。
升级以版本包形式提供,不改变现场已经调好的配置;涉及定制开发的部分单独评估。

需要批量部署,或者接进现有系统?

单个终端可以直接使用;数量多、要接业务系统时,我们把部署和接口一起定下来。