程序聚合 软件案例 AI 智能体桌面控制 MCP 服务-guarded-computer-use-mcp

AI 智能体桌面控制 MCP 服务-guarded-computer-use-mcp

2026-09-10 13:52:31
行业:人工智能
载体:Windows应用
技术:C#、JavaScript、PowerShell、Python

业务和功能介绍

立项背景与目标:让大模型真正"接管电脑"这件事,目前主流方案要么把整个桌面关进沙箱(无法操作用户的真实软件),要么直接把完整控制权交给模型、中间没有任何人工确认环节——一次误点就可能发出无法撤回的消息、完成一笔付款或删掉重要文件。

本项目要解决的就是这个矛盾:做一个既能操作真实 Windows 桌面、又把危险动作拦在人工确认之前的桌面控制 MCP 服务。目标是"给智能体一双手,但不交出钥匙"。

软件功能与核心模块:
1. 共 26 个 MCP 工具,分七类:观察(整屏截图、局部放大、屏幕指纹、等待画面变化)、语义定位(UI Automation)、OCR 文字识别、鼠标、键盘、窗口与程序启动、编排(批处理)。

2. 三级定位策略:优先用 UI Automation 按控件名直接触发(连鼠标都不用移动);读不到控件树时退回 OCR 识别屏幕文字、按识别出的坐标点击;两者都不行才用纯坐标。

3. 策略引擎:四张可配置名单,分"硬拒绝"与"必须审批"两档。密码管理器、加密钱包、注册表与磁盘工具直接拒绝且无法绕过;通讯、邮件、远程桌面类应用则不做禁止,但其中任何一次点击或按键都要先弹窗。

4. 人机确认闸门:危险动作会弹出真实的 Windows 对话框并阻塞等待,只有真人点击才能放行;回车键刻意不绑定,避免误按放行。

5. 防护开关面板:三个互相独立的开关(审批弹窗 / 黑名单 / 审计日志),通过标记文件实现,改动即时生效、无需重启服务。

6. 审计日志:把每个动作连同解析出的目标进程一起写入 audit.jsonl,事后可追溯。

项目实现

整体架构:MCP 客户端 ←stdio JSON-RPC→ Node 服务端 ←base64 行协议→ PowerShell 常驻宿主(内嵌 C# 调用 Win32)。

我负责的模块与量化结果:
1. 全部模块独立实现,没有引入任何第三方自动化库,唯一依赖是官方 @modelcontextprotocol/sdk;宿主层是自写的 C# + Win32。

2. 采集与渲染:用 StretchBlt 在单次 GDI 调用里同时完成截屏与缩放,2560×1600 全屏截图 116ms,其中 55ms 是整屏从显存读回的物理下限;图片格式改用 JPEG 后编码耗时从 19–33ms 降到 4–8ms。

3. 常规调用延迟 1–12ms(光标位置、窗口枚举、按键等)。自研的屏幕指纹接口 42ms 且只消耗 9 个 token,相比整屏截图的约 2133 个 token 便宜 237 倍;批处理接口可把多步操作合并为一次往返。

4. OCR 中间件:对比测试后把系统自带的 Windows.Media.Ocr 换成 RapidOCR(PaddleOCR 模型跑在 ONNXRuntime 上)。同一块计算器按钮区域,系统 OCR 返回 0 个词,RapidOCR 完整识别出全部 14 个按钮;再把一次性进程改成常驻 worker 后,重复调用从 2.3 秒降到 350ms,内存占用 96MB 且空闲 60 秒自动回收。

遇到的难点与解决方案:
1. Windows 前台锁:后台进程调用 SetForegroundWindow 会被系统静默忽略——函数返回成功,但窗口根本没到前台,导致后续键击发给了别的窗口。改用 AttachThreadInput 挂到前台线程的输入队列后解决。

2. 文本注入丢换行:用 KEYEVENTF_UNICODE 发送换行符时浏览器和多数输入框不识别,多行文本被拼成一行。改为对换行与制表符发送真实的 VK_RETURN / VK_TAB 击键。

3. 安全闸门一度判错目标:语义点击的目标窗口往往并不是前台窗口,最初用前台窗口做策略判断会判错对象。改为先定位元素中心、再用 WindowFromPoint 解析真实归属窗口。

4. PowerShell 5.1 读取无 BOM 的脚本时按 ANSI 解码,一个中文字符会吞掉换行并破坏内嵌的 C# 代码,因此宿主脚本严格保持纯 ASCII 并用自检脚本校验。

项目已开源(MIT 许可):github.com/be1st6666/guarded-computer-use-mcp

示例图片视频


be1st
30天前活跃
方向: 前端-Web前端、后端-Java、
交付率:100.00%
相似推荐
quick_server
1、背景和目标:对企业所有服务请求进行轻量级安全和速度优化,减轻服务器的并发压力。 2、quick_server系统,不依赖外部引用,即插即用,主要用来进行极速快捷安全的http请求。大大减轻服务器的并发压力。轻松实现高并发场景下极速快捷安全的http请求。
json解析转换器
1、背景和目标:一、超级快速、安全对json的解析与对象转换;二、支持分布式超高并发 2、json解析转换器,支持分布式高并发,支持百万级别访问。用于快速进行json的解析与对象转换。原有的开源工具,要么安全性不够,要么性能不够强悍,要么不支持定制,很难满足企业日益严苛的业务需求。开发的这个json解析转换器,可以同时满足以上三种需求。
消息中心
1、背景和目标:解决高并发,对外提供统一的消息处理业务 2、功能模块介绍:六大功能模块:http通讯模块、缓存模块、消息队列模块、消息重试中心模块、消息调度模块、公共模块;对外百万级别并发项目,TPS可达1000/s。作为中间件,对外提供统一的消息处理业务。所有系统,包括电子签章平台、一照通行平台、一网通办平台,消息的请求和处理都经过消息中心。轻松实现异步、解耦、削峰。 3、功能描述:支持企业所有的内部系统接入,包括电子签章平台、一照通行平台、一网通办平台。轻松实现异步、解耦、削峰。
CRM客户管理后台
立项背景:针对中小型企业客户信息分散、销售跟进过程不透明、合同管理混乱等痛点,旨在打造一个轻量级的客户全生命周期管理后台,提升销售团队协作与转化效率。 核心功能:涵盖管理员登录鉴权、客户主表管理、联系人维护、跟进记录追踪、合同管理等六大模块。支持客户信息分页查询、关键字搜索、新增编辑与逻辑删除;客户详情页以名片形式集中展示联系人、跟进记录及关联合同。 业务流程:从潜在客户录入,到日常跟进记录,再到最终合同签订与操作日志审计,覆盖完整的销售业务闭环。
个人记账与资产管理平台
本项目是一套从零搭建的全栈个人财务管理平台,目标是替代功能单一的记账工具,把日常记账、资金账户、借贷往来、预算控制、资产盘点收敛到一个数据自主的系统中。系统由 12 个业务模块、23 个控制器、170 个 REST 接口、36 张数据表构成:记账核心支持三级分类树、商家联想、多平台支付与 CSV 批量导入导出,每笔账单自动联动账户余额并留存流水日志;借贷模块实现未结清 / 已结清 / 已放弃三态模型,支持分期还款与坏账核销;预算模块提供月度 + 年度双层体系与阶梯式执行规则;资产模块通过快照与趋势图呈现净资产变化;报表模块支持从月度 / 年度报表下钻到分类明细。系统还包含完整 RBAC 权限体系、软删除回收站、8 套主题实时切换与中英双语国际化。核心业务流程为:记一笔 → 余额幂等联动 → 报表与预算同步更新;借据从创建、关联账单凭证、分期还款到三态判定的完整生命周期;以及登录后由后端菜单树动态生成侧边菜单、路由与区块双重门控的权限链路。
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服