WatchItAI Skill
⚠️ 安全提示:此技能会捕获屏幕画面,可选允许远程鼠标/键盘控制。请使用
--permission view仅查看模式。使用完毕后按 Ctrl+C 关闭桥接服务。共享屏幕时请注意遮挡敏感内容。
跨平台屏幕共享与远程控制技能,支持 Windows、macOS 和 Linux。
通过对话即可启动屏幕共享,生成会话链接,你可以在远端手机浏览器中查看并远程控制电脑屏幕。
何时使用
仅当用户明确要求屏幕共享或远程监控时使用此技能:
- "分享屏幕"、"屏幕共享"、"共享我的屏幕" — 启动屏幕共享
- "远程控制电脑"、"帮我操作电脑" — 以控制权限启动
- "远程查看电脑"、"用手机看电脑" — 以仅查看模式启动
- "watchitai share"、"启动 watchitai" — 启动屏幕共享
不要在用户只是说"帮我看看电脑问题"等无明确屏幕共享意图时激活此技能。
快速开始
启动屏幕共享
直接运行分享命令(无需 Node.js,使用自包含 Go 二进制):
macOS / Linux:
bash run.sh share
Windows:
run.cmd share
启动后会自动在浏览器中打开本地主机页面(http://localhost:8765/),点击"开始共享"即可生成会话链接,在远端手机浏览器中打开该链接即可查看屏幕。
支持参数:
macOS / Linux:
bash run.sh share --duration 60 --permission control --audio --auto-start
Windows:
run.cmd share --duration 60 --permission control --audio --auto-start
| 参数 | 说明 | 默认值 |
|---|---|---|
--duration <min> |
会话时长(分钟) | 30 |
--permission <view|control> |
远端权限 | view |
--audio |
共享音频 | 关闭 |
--auto-start |
自动开始共享 | 关闭 |
--no-preflight |
跳过权限预检 | 关闭 |
通过 AI 工具启动(获取监控链接)
在 OpenClaw / Trae / WorkBuddy 等 AI 工具中,使用 link 命令创建会话并获取监控链接:
macOS / Linux:
bash run.sh link --duration 30 --permission control
# ⚠️ --permission control 授予远程鼠标/键盘控制权限。建议使用 --permission view 仅查看模式。
Windows:
run.cmd link --duration 30 --permission control
该命令会:
- 启动本地桥接服务
- 通过 API 创建共享会话
- 自动打开本地主机页面并开始共享
- 输出监控链接供 AI 工具展示给用户
重要:AI 工具输出格式要求
命令输出中包含 __WATCHITAI_LINK__ 标记行,AI 工具必须从该标记行提取 URL,并以 markdown 超链接形式呈现给用户,不要以纯文本或代码块形式展示链接。
输出示例:
✅ 屏幕共享会话已创建!
🔗 会话链接(在远端设备打开):
https://watchitai.net/s/abc123?token=xxx
__WATCHITAI_LINK__https://watchitai.net/s/abc123?token=xxx
AI 工具应将链接呈现为:
✅ 屏幕共享已启动!
在手机浏览器中打开上述链接即可查看并远程控制电脑屏幕。会话时长 30 分钟,按 Ctrl+C 结束。
双模式架构
WatchItAI 支持两种使用模式:
-
浏览器直接使用:访问
https://watchitai.net/host,使用浏览器原生getDisplayMedia()进行屏幕共享。由于浏览器 PNA(私有网络访问)限制,此模式仅支持查看,不支持远程控制。 -
AI 工具启动:通过
share或link命令启动,桥接服务提供本地主机页面(http://localhost:8765/),页面与桥接服务同源连接,不受 PNA 限制,支持完整的远程控制功能。
| 模式 | 屏幕共享 | 远程控制 | 桥接服务 |
|---|---|---|---|
| 浏览器直接 | ✓ | ✗ | 不需要 |
| AI 工具启动 | ✓ | ✓ | 需要 |
权限检查(首次使用)
macOS / Linux:
bash run.sh permissions
Windows:
run.cmd permissions
如果有权限缺失,按照提示授予权限后重新运行。
安装
技能包仅含脚本和配置(~30KB),平台二进制在首次运行时自动从 GitHub Releases 下载。无需 Node.js,无需 npm install。
下载源:默认使用
https://watchitai.net/watchitai-skill.zip(主源)。若不可达,可从 GitHub Releases 下载:curl -L https://github.com/SwordLonn/WatchItAI/releases/latest/download/watchitai-skill.zip -o watchitai.zip首次运行
run.sh share或run.sh link时会自动从https://watchitai.net/downloads/下载对应平台的 Go 二进制到bin/目录(约 11MB),之后不再重复下载。
OpenClaw
mkdir -p ~/.openclaw/skills && cd ~/.openclaw/skills
curl -L https://watchitai.net/watchitai-skill.zip -o watchitai.zip
unzip watchitai.zip && rm watchitai.zip
Claude Code
mkdir -p ~/.claude/skills && cd ~/.claude/skills
curl -L https://watchitai.net/watchitai-skill.zip -o watchitai.zip
unzip watchitai.zip && rm watchitai.zip
WorkBuddy
mkdir -p ~/.workbuddy/skills && cd ~/.workbuddy/skills
curl -L https://watchitai.net/watchitai-skill.zip -o watchitai.zip
unzip watchitai.zip && rm watchitai.zip
Windows 用户:
mkdir $env:USERPROFILE\.workbuddy\skills -Force
cd $env:USERPROFILE\.workbuddy\skills
curl -L https://watchitai.net/watchitai-skill.zip -o watchitai.zip
Expand-Archive watchitai.zip -DestinationPath .
Remove-Item watchitai.zip
CowPaw
mkdir -p ~/.cowpaw/skills && cd ~/.cowpaw/skills
curl -L https://watchitai.net/watchitai-skill.zip -o watchitai.zip
unzip watchitai.zip && rm watchitai.zip
Trae
mkdir -p ~/.trae-cn/skills && cd ~/.trae-cn/skills
curl -L https://watchitai.net/watchitai-skill.zip -o watchitai.zip
unzip watchitai.zip && rm watchitai.zip
从源码安装(开发模式)
cd ~/Documents/workspace/WatchItAI
bash skill/install.sh
此脚本会自动检测平台、复制正确的二进制文件到 ~/.trae-cn/skills/watchitai/bin/。
配置
编辑 config.json 或设置环境变量:
{
"domain": "watchitai.net",
"bridgePort": 8765,
"mode": "server"
}
| 配置项 | 环境变量 | 说明 | 默认值 |
|---|---|---|---|
domain |
WATCHITAI_DOMAIN |
WatchItAI 服务域名 | watchitai.net |
bridgePort |
WATCHITAI_BRIDGE_PORT |
本地桥接端口 | 8765 |
mode |
WATCHITAI_MODE |
运行模式 | server |
查看配置:
macOS / Linux:
bash run.sh config
Windows:
run.cmd config
权限
macOS
首次使用需运行权限预检:
bash run.sh preflight
需要的权限:
- 📹 屏幕录制 — 屏幕共享和截图
- 🖱️ 辅助功能 — 鼠标和键盘控制
- ⌨️ 输入监控 — 键盘事件监听
随时检查权限状态:
bash run.sh permissions
Linux
需安装系统工具(如未使用 nut.js):
# Debian/Ubuntu
sudo apt install xdotool scrot
命令列表
macOS / Linux:
bash run.sh share # 开始屏幕共享(打开本地主机页面)
bash run.sh link # 创建会话并返回监控链接(供 AI 工具使用)
bash run.sh start # 仅启动桥接服务
bash run.sh status # 查看桥接状态
bash run.sh permissions # 检查权限
bash run.sh preflight # 权限预检 (macOS)
bash run.sh authorize --request # 一键授权:自动打开浏览器,登录后点确认即可关联账户
bash run.sh authorize <CODE> # 授权码关联:用网页端生成的 8 位码关联账户
bash run.sh info # 系统信息
bash run.sh version # 查看版本
Windows:
run.cmd share REM 开始屏幕共享
run.cmd link REM 创建会话并返回监控链接
run.cmd start REM 仅启动桥接服务
run.cmd status REM 查看桥接状态
run.cmd permissions REM 检查权限
run.cmd preflight REM 权限预检
run.cmd authorize --request REM 一键授权:自动打开浏览器,登录后点确认即可关联账户
run.cmd authorize <CODE> REM 授权码关联:用网页端生成的 8 位码关联账户
run.cmd info REM 系统信息
run.cmd version REM 查看版本
账户授权
将技能绑定到你的 watchitai.net 账户,解锁更长会话、更高配额和审计历史。
推荐方式:一键 Device Flow
在运行技能的终端执行(无需复制任何密钥):
macOS / Linux:
bash ~/.trae-cn/skills/watchitai/run.sh authorize --request
Windows:
%USERPROFILE%\.trae-cn\skills\watchitai\run.cmd authorize --request
执行后:
- 终端显示授权链接,并自动打开默认浏览器
- 在浏览器中登录(如未登录),点击「确认授权」
- 技能端自动获取凭证并写入
config.json,全程无需手动复制
备选方式:8 位授权码
- 登录 watchitai.net/profile → 技能授权
- 点击「8 位授权码」生成一次性码(5 分钟有效)
- 在技能端终端执行:
macOS / Linux:
bash ~/.trae-cn/skills/watchitai/run.sh authorize XXXX-XXXX
Windows:
%USERPROFILE%\.trae-cn\skills\watchitai\run.cmd authorize XXXX-XXXX
跨平台支持
| 功能 | Windows | macOS | Linux |
|---|---|---|---|
| 屏幕共享 | ✅ | ✅ | ✅ |
| 鼠标移动/点击/滚轮 | ✅ | ✅ | ✅ |
| 键盘输入 | ✅ | ✅ | ✅ |
| 屏幕截图 | ✅ | ✅ | ✅ |
| 系统通知 | ✅ | ✅ | ✅ |
工作原理
- 本地启动桥接服务(localhost:8765),同时提供:
- WebSocket 桥接端点(
/bridge)— 系统能力调用 - 本地主机页面(
/)— 自包含的屏幕共享 UI - API 代理(
/api/*)— 代理到云端 API 服务器
- WebSocket 桥接端点(
- 本地主机页面与桥接服务同源连接,不受浏览器 PNA 限制
- 屏幕视频流通过 WebRTC P2P 直接传输,不经过服务器中转
- 远程控制指令通过桥接服务转发到本地执行
- 你可以在远端设备通过会话链接在浏览器中查看/控制
Bridge API
连接地址:ws://localhost:8765/bridge
消息类型
| 类型 | 说明 |
|---|---|
controlMouse |
鼠标控制 |
controlKey |
键盘控制 |
controlWheel |
滚轮控制 |
captureScreen |
屏幕截图 |
getScreenSources |
显示器列表 |
showNotification |
系统通知 |
getPermissions |
权限状态 |
ping |
心跳 |
HTTP 端点
| 路径 | 方法 | 认证 | 说明 |
|---|---|---|---|
/health |
GET | 无 | 健康检查 |
/permissions |
GET | bridgeToken | 权限状态 |
/screenshot |
GET | bridgeToken | 当前截图 (PNG) |
/create-session |
POST | bridgeToken | 创建会话(返回 shareUrl + localUrl) |
/api/* |
ALL | API 自有认证 | API 代理(转发到 watchitai.net) |
安全
- 本地桥接认证:所有敏感 HTTP 端点(截图、会话创建、通知、控制)均需 bridgeToken 认证,防止其他本地进程未授权调用
- 仅监听 localhost:桥接服务绑定
127.0.0.1,不暴露到公网 - P2P 端到端加密:屏幕视频流使用 WebRTC DTLS-SRTP,不经过服务器中转
- 会话级 token:会话链接包含 32 位随机 token,会话结束即失效
- 输入净化:鼠标 / 键盘控制指令在桥接服务端进行参数校验
安全使用建议
- 优先使用 view-only 模式:
--permission view仅允许查看,不允许远程控制 - 会话结束后及时关闭:按 Ctrl+C 停止桥接服务,避免端口残留
- 敏感信息遮挡:共享屏幕时注意遮挡密码、私钥等敏感内容
- bridgeToken 敏感:本地主机页面 URL 中的 bridgeToken 仅为本机使用,不要分享给他人
文件结构
watchitai/
├── run.sh # Unix 入口脚本(自动检测平台,首次运行自动下载二进制)
├── run.cmd # Windows 入口脚本(首次运行自动下载二进制)
├── config.json # 配置
├── SKILL.md
├── bin/ # 首次运行时自动创建,存放下载的平台二进制
│ └── watchitai-{platform}-{arch} # 按需下载,仅当前平台
