使用说明
🎯 屏幕智能MCP服务
通过ThinkDrop AI的视觉覆盖,快速、本地、语义化的屏幕理解。
特性
- 🔍 筛分试验:使用辅助功能API查询UI元素
- 🎨 视觉叠加:通过亮点和指南显示AI“看到”的内容
- 🖱️ UI自动化:单击、键入并与应用程序交互
- 📊 发现模式:检查所有UI元素,如Playwright Inspector
- ⚡ 快速:<100ms屏幕分析(与3-4s视觉模型相比)
建筑
Screen Intelligence MCP (Port 3008)
├── Accessibility Adapter (AX/UIA/AT-SPI)
├── Action Engine (@nut-tree/nut-js)
├── Overlay Manager (Visual feedback)
└── OpenCV Sidecar (Phase 4 - for canvas/games)
安装
cd mcp-services/screen-intelligence-service
npm install
配置
复制 .env.example 到 .env 并配置:
cp .env.example .env
用法
启动服务
npm start
开发模式(带自动重新加载)
npm run dev
API终点
健康检查
GET /service.health
能力
GET /service.capabilities
筛分试验
POST /screen/describe
Body: {
"showOverlay": true,
"includeHidden": false
}
查询元素
POST /screen/query
Body: {
"query": "Send button",
"role": "button",
"highlight": true
}
单击操作
POST /screen/action/click
Body: {
"target": { "x": 100, "y": 200 },
"showGuide": true
}
类型动作
POST /screen/action/type
Body: {
"target": { "x": 100, "y": 200 },
"text": "Hello World",
"showConfirmation": true
}
显示叠加
POST /screen/overlay/highlight
Body: {
"element": { "bounds": {...}, "label": "Send" },
"duration": 3000
}
展示吐司
POST /screen/overlay/toast
Body: {
"message": "Action completed!",
"type": "success",
"duration": 3000
}
清除覆盖层
POST /screen/overlay/clear
平台支持
macOS✅ (第二阶段完成)
- 适配器:
EnhancedMacOSAccessibilityAdapter - 技术:AppleScript+辅助功能API(AX)
- 特性:元素缓存、查询方法、置信度评分
- 需求:可访问权限
- 授予权限:系统首选项>安全与隐私>隐私>辅助功能
视窗🚧 (TODO-实施指南可用)
- 适配器:
WindowsUIAAdapter(占位符) - 技术:UI自动化(UIA)
- 实施方案:
- node ffi-napi用于原生COM API
- edge js for。NET UIA库
- PowerShell网桥
- 看:
PLATFORM_IMPLEMENTATION_GUIDE.md详细说明 - 占位符:
src/adapters/accessibility/windows.js
Linux🚧 (TODO-实施指南可用)
- 适配器:
LinuxATSPIAdapter(占位符) - 技术:AT-SPI(辅助技术服务提供商接口)
- 实施方案:
- 用于D-Bus通信的节点dbus
- Python桥接到pyatspi2
- X11自动化回退
- 看:
PLATFORM_IMPLEMENTATION_GUIDE.md详细说明 - 占位符:
src/adapters/accessibility/linux.js
开发/测试✅
- 适配器:
MockAccessibilityAdapter - 目的:跨平台开发和测试
- 自动回退:当平台适配器不可用时使用
绩效目标
| 运营 | 目标 | 愿景服务 |
|---|---|---|
| 屏幕描述 | <100ms | 3-4s |
| 元素查询 | <50ms | N/A |
| 叠加显示 | <20ms | N/A |
| 完整工作流程 | <500ms | 5-8s |
视觉反馈
配色方案
- 🟢 绿色 (≥0.9):高置信度
- 🔵 蓝色 (0.8-0.9):信心良好
- 🟡 黄色 (0.6-0.8):不确定
- 🔴 红 (<0.6):信心低
覆盖类型
- 发现模式:显示所有检测到的元素
- 高亮:关注具体要素
- 指南:分步工作流程说明
- 面包:通知消息
发展
运行测试
npm test
棉绒
npm run lint
格式
npm run format
与ThinkDrop AI集成
该服务将在主应用程序的MCP注册表中注册:
// In main app
const screenIntelligence = {
name: 'screen-intelligence',
url: 'http://localhost:3008',
apiKey: process.env.SCREEN_INTELLIGENCE_API_KEY,
enabled: true
};
路线图
第一阶段:核心服务✅
- [x] MCP服务器设置
- [x] 基本路线
- [x] 健康检查
- [x] 模拟适配器
第二阶段:可访问性(进行中)
- [x] macOS AX适配器(基本)
- []Windows UIA适配器
- []增强的元素查询
- []坐标转换
第三阶段:叠加系统
- []电子叠加窗口
- []突出显示渲染
- []发现模式UI
- []祝酒通知
第四阶段:OpenCV回退
- []Python sidecar
- []模板匹配
- []变更检测
- []JSON桥
第五阶段:行动
- [x] nut.js集成(基本)
- []验证
- []引导模式
- []多步骤工作流
第六阶段:整合
- []更新parseIntent.cjs
- []新建屏幕查询节点
- []退回视觉服务
- []端到端测试
许可证
麻省理工学院