PC电脑控制

PC Control API 文档(基于systemcmd调用版本)

基础信息

  • 基础URL: http://pcbot.html.dtns.top/api
  • 调用方式: 通过systemcmd的/systemcmd/run-sync接口执行wget命令调用
  • 响应格式: JSON
  • 字符编码: UTF-8
  • 默认密钥: pcbot_secret_key=pcbot123

调用方式说明

所有PC Control API都通过systemcmd的/systemcmd/run-sync接口执行wget命令来调用:

调用模板:

wget -qO- --timeout=30 --tries=1 "http://pcbot.html.dtns.top/api/[端点路径]?pcbot_secret_key=pcbot123&[其他参数]"

通过systemcmd调用:

{
  "cmd": "wget -qO- --timeout=30 --tries=1 'http://pcbot.html.dtns.top/api/[端点路径]?pcbot_secret_key=pcbot123&[其他参数]'",
  "cwd": "/tmp",
  "ostype": "linux",
  "timeout": 30000
}

API调用示例

1. 系统状态

1.1 健康检查

systemcmd调用示例:

{
  "cmd": "wget -qO- --timeout=30 --tries=1 'http://pcbot.html.dtns.top/api/health'",
  "cwd": "/tmp",
  "ostype": "linux",
  "timeout": 30000
}

2. 鼠标控制

2.1 移动鼠标

systemcmd调用示例:

{
  "cmd": "wget -qO- --timeout=30 --tries=1 'http://pcbot.html.dtns.top/api/mouse/move?pcbot_secret_key=pcbot123&x=500&y=300&duration=0.5'",
  "cwd": "/tmp",
  "ostype": "linux",
  "timeout": 30000
}

2.2 鼠标点击

systemcmd调用示例:

{
  "cmd": "wget -qO- --timeout=30 --tries=1 'http://pcbot.html.dtns.top/api/mouse/click?pcbot_secret_key=pcbot123&button=left&clicks=2&x=500&y=300'",
  "cwd": "/tmp",
  "ostype": "linux",
  "timeout": 30000
}

2.3 双击

systemcmd调用示例:

{
  "cmd": "wget -qO- --timeout=30 --tries=1 'http://pcbot.html.dtns.top/api/mouse/double-click?pcbot_secret_key=pcbot123&x=500&y=300'",
  "cwd": "/tmp",
  "ostype": "linux",
  "timeout": 30000
}

2.4 右键点击

systemcmd调用示例:

{
  "cmd": "wget -qO- --timeout=30 --tries=1 'http://pcbot.html.dtns.top/api/mouse/right-click?bot_secret_key=pcbot123&x=500&y=300'",
  "cwd": "/tmp",
  "ostype": "linux",
  "timeout": 30000
}

2.5 拖动鼠标

systemcmd调用示例:

{
  "cmd": "wget -qO- --timeout=30 --tries=1 'http://pcbot.html.dtns.top/api/mouse/drag?pcbot_secret_key=pcbot123&start_x=100&start_y=100&end_x=500&end_y=500&duration=2.0&button=left'",
  "cwd": "/tmp",
  "ostype": "linux",
  "timeout": 30000
}

2.6 滚动鼠标

systemcmd调用示例:

{
  "cmd": "wget -qO- --timeout=30 --tries=1 'http://pcbot.html.dtns.top/api/mouse/scroll?pcbot_secret_key=pcbot123&clicks=3&x=500&y=300'",
  "cwd": "/tmp",
  "ostype": "linux",
  "timeout": 30000
}

2.7 获取鼠标位置

systemcmd调用示例:

{
  "cmd": "wget -qO- --timeout=30 --tries=1 'http://pcbot.html.dtns.top/api/mouse/position?pcbot_secret_key=pcbot123'",
  "cwd": "/tmp",
  "ostype": "linux",
  "timeout": 30000
}

3. 键盘控制

3.1 输入文字

systemcmd调用示例:

{
  "cmd": "wget -qO- --timeout=30 --tries=1 --post-data='pcbot_secret_key=pcbot123&text=Hello World&interval=0.05' 'http://pcbot.html.dtns.top/api/keyboard/type'",
  "cwd": "/tmp",
  "ostype": "linux",
  "timeout": 30000
}

3.2 按下按键

systemcmd调用示例:

{
  "cmd": "wget -qO- --timeout=30 --tries=1 'http://pcbot.html.dtns.top/api/keyboard/press?pcbot_secret_key=pcbot123&keys=a,b,c&presses=1&interval=0.1'",
  "cwd": "/tmp",
  "ostype": "linux",
  "timeout": 30000
}

3.3 快捷键组合

systemcmd调用示例:

{
  "cmd": "wget -qO- --timeout=30 --tries=1 'http://pcbot.html.dtns.top/api/keyboard/hotkey?pcbot_secret_key=pcbot123&keys=ctrl,c'",
  "cwd": "/tmp",
  "ostype": "linux",
  "timeout": 30000
}

4. 屏幕控制

4.1 获取屏幕信息

systemcmd调用示例:

{
  "cmd": "wget -qO- --timeout=30 --tries=1 'http://pcbot.html.dtns.top/api/screen/info?pcbot_secret_key=pcbot123'",
  "cwd": "/tmp",
  "ostype": "linux",
  "timeout": 30000
}

4.2 截图

systemcmd调用示例:

{
  "cmd": "wget -qO- --timeout=30 --tries=1 'http://pcbot.html.dtns.top/api/screen/screenshot?pcbot_secret_key=pcbot123' -O /tmp/screenshot.png",
  "cwd": "/tmp",
  "ostype": "linux",
  "timeout": 30000
}

4.3 查找图片

systemcmd调用示例:

{
  "cmd": "wget -qO- --timeout=30 --tries=1 'http://pcbot.html.dtns.top/api/screen/find-image?pcbot_secret_key=pcbot123&image_path=C:/images/button.png&confidence=0.9'",
  "cwd": "/tmp",
  "ostype": "linux",
  "timeout": 30000
}

5. 应用控制

5.1 打开应用

systemcmd调用示例:

{
  "cmd": "wget -qO- --timeout=30 --tries=1 'http://pcbot.html.dtns.top/api/apps/open?pcbot_secret_key=pcbot123&app_name=notepad.exe'",
  "cwd": "/tmp",
  "ostype": "linux",
  "timeout": 30000
}

5.2 关闭应用

systemcmd调用示例:

{
  "cmd": "wget -qO- --timeout=30 --tries=1 'http://pcbot.html.dtns.top/api/apps/close?pcbot_secret_key=pcbot123&window_title=记事本'",
  "cwd": "/tmp",
  "ostype": "linux",
  "timeout": 30000
}

5.3 列出所有窗口

systemcmd调用示例:

{
  "cmd": "wget -qO- --timeout=30 --tries=1 'http://pcbot.html.dtns.top/api/apps/windows?pcbot_secret_key=pcbot123'",
  "cwd": "/tmp",
  "ostype": "linux",
  "timeout": 30000
}

5.4 列出所有进程

systemcmd调用示例:

{
  "cmd": "wget -qO- --timeout=30 --tries=1 'http://pcbot.html.dtns.top/api/apps/processes?pcbot_secret_key=pcbot123'",
  "cwd": "/tmp",
  "ostype": "linux",
  "timeout": 30000
}

6. 窗口控制

6.1 聚焦窗口

systemcmd调用示例:

{
  "cmd": "wget -qO- --timeout=30 --tries=1 'http://pcbot.html.dtns.top/api/windows/focus?pcbot_secret_key=pcbot123&window_title=记事本'",
  "cwd": "/tmp",
  "ostype": "linux",
  "timeout": 30000
}

6.2 最小化窗口

systemcmd调用示例:

{
  "cmd": "wget -qO- --timeout=30 --tries=1 'http://pcbot.html.dtns.top/api/windows/minimize?pcbot_secret_key=pcbot123&window_title=记事本'",
  "cwd": "/tmp",
  "ostype": "linux",
  "timeout": 30000
}

6.3 最大化窗口

systemcmd调用示例:

{
  "cmd": "wget -qO- --timeout=30 --tries=1 'http://pcbot.html.dtns.top/api/windows/maximize?pcbot_secret_key=pcbot123&window_title=记事本'",
  "cwd": "/tmp",
  "ostype": "linux",
  "timeout": 30000
}

6.4 调整窗口大小

systemcmd调用示例:

{
  "cmd": "wget -qO- --timeout=30 --tries=1 'http://pcbot.html.dtns.top/api/windows/resize?pcbot_secret_key=pcbot123&window_title=记事本&width=1024&height=768'",
  "cwd": "/tmp",
  "ostype": "linux",
  "timeout": 30000
}

6. 移动窗口

systemcmd调用示例:

{
  "cmd": "wget -qO- --timeout=30 --tries=1 'http://pcbot.html.dtns.top/api/windows/move?pcbot_secret_key=pcbot123&window_title=记事本&x=100&y=100'",
  "cwd": "/tmp",
  "ostype": "linux",
  "timeout": 30000
}

系统命令执行API参考

systemcmd/run-sync 接口说明

HTTP方法 路由路径 描述 请求参数 响应格式 状态码
ALL /systemcmd/run-sync 同步执行系统命令(一次性返回结果) cmd: 命令字符串
cwd: 工作目录
ostype: 操作系统类型
timeout: 超时时间(毫秒,默认300000)
{ret: boolean, msg: string, data: {output: string, error: string, exitCode: number, success: boolean}} 200

请求示例:

{
  "cmd": "wget -qO- --timeout=30 --tries=1 'http://pcbot.html.dtns.top/api/health'",
  "cwd": "/tmp",
  "ostype": "linux",
  "timeout": 30000
}

响应示例:

{
  "ret": true,
  "msg": "success",
  "data": {
    "output": "{\"ret\":true,\"msg\":\"PC Control API is running\",\"data\":{\"status\":\"ok\",\"version\":\"1.0.0\"}}",
    "error": "",
    "exitCode": 0,
    "success": true
  }
}

调用方式总结

所有PC Control API都通过以下方式调用:

  1. GET请求:
{
  "cmd": "wget -qO- --timeout=30 --tries=1 'http://pcbot.html.dtns.top/api/[端点路径]?pcbot_secret_key=pcbot123&[其他参数]'",
  "cwd": "/tmp",
  "ostype": "linux",
  "timeout": 30000
}
  1. 文件下载请求(如截图):
{
  "cmd": "wget -qO- --timeout=30 --tries=1 'http://pcbot.html.dtns.top/api/[端点路径]?pcbot_secret_key=pcbot123' -O /tmp/[文件名]",
  "cwd": "/tmp",
  "ostype": "linux",
  "timeout": 30000
}

使用示例

示例1:获取屏幕信息

{
  "cmd": "wget -qO- --timeout=30 --tries=1 'http://pcbot.html.dtns.top/api/screen/info?pcbot_secret_key=pcbot123'",
  "cwd": "/tmp",
  "ostype": "linux",
  "timeout": 30000
}

示例2:移动鼠标

{
  "cmd": "wget -qO- --timeout=30 --tries=1 'http://pcbot.html.dtns.top/api/mouse/move?pcbot_secret_key=pcbot123&x=500&y=300&duration=0.5'",
  "cwd": "/tmp",
  "ostype": "linux",
  "timeout": 30000
}

示例3:截图并保存

{
  "cmd": "wget -qO- --timeout=30 --tries=1 'http://pcbot.html.dtns.top/api/screen/screenshot?pcbot_secret_key=pcbot123' -O /tmp/screenshot_$(date +%Y%m%d_%H%M%S).png",
  "cwd": "/tmp",
  "ostype": "linux",
  "timeout": 30000
}

示例4:打开记事本

{
  "cmd": "wget -qO- --timeout=30 --tries=1 'http://pcbot.html.dtns.top/api/apps/open?pcbot_secret_key=pcbot123&app_name=notepad.exe'",
  "cwd": "/tmp",
  "ostype": "linux",
  "timeout": 30000
}

注意事项

  1. 参数编码: 在wget命令中,URL参数需要正确编码,特别是包含空格或特殊字符时
  2. 超时设置: 建议设置适当的超时时间(如30秒),避免长时间等待
  3. 错误处理: 检查systemcmd返回的exitCodesuccess字段判断命令执行状态
  4. JSON解析: PC Control API返回的是JSON字符串,需要解析后才能获取具体数据
  5. 工作目录: 建议使用/tmp作为工作,确保有写入权限

元数据

{
  "sourceFile": "pc-controll-skill.md",
  "integrationWith": "systemcmd-skill.md",
  "apiEndpointCount": 20,
  "callMethod": "wget via systemcmd/run-sync",
  "authentication": "API Key (pcbot123) + systemcmd permissions",
  "hasHttpApis": true
}

本文档基于PC Control API文档改造,适配systemcmd调用方式