需通过微信小程序调用系统级唤起协议实现workbuddy远控:一、启用本地http服务并注册wbcmd自定义scheme;二、配置微信小程序合法域名及“打开app”扩展能力;三、在小程序中构造wbcmd://协议链接唤起并透传参数;四、部署nginx反向代理支持https校验。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望在手机端不安装额外应用即可快速触发 WorkBuddy 执行远控指令,需通过微信小程序调用系统级唤起协议实现无缝跳转与权限接管。以下是实现此能力的具体配置步骤:
一、启用WorkBuddy本地HTTP服务并注册自定义URL Scheme
WorkBuddy 必须暴露一个可被微信小程序安全调用的本地服务端点,并注册唯一 URL Scheme,使小程序可通过 wx.openEmbeddedMiniProgram 或 webview bridge 方式唤起本地控制逻辑。该协议需绕过浏览器沙箱限制,直接触达桌面进程。
1、在 WorkBuddy 安装目录下创建 config/protocol.json 文件,写入:{"scheme": "wbcmd", "host": "localhost", "port": 8081, "allowed_origins": ["https://workbuddy.weixin.qq.com"]}。
2、启动内置 HTTP 服务:执行命令 workbuddy --enable-protocol --port 8081,确保服务监听 127.0.0.1:8081 并响应 GET /health 状态码 200。
3、在 Windows 注册表 HKEY_CLASSES_ROOT\wbcmd\shell\open\command 下添加默认值:"C:\Program Files\WorkBuddy\workbuddy.exe" --protocol-handler "%1";macOS 用户需在 Info.plist 中声明 CFBundleURLSchemes 数组包含 wbcmd。
二、配置微信小程序合法域名及协议桥接能力
微信平台强制要求所有发起本地协议调用的小程序必须完成域名白名单备案,并启用「打开APP」或「打开本地服务」扩展能力,否则 wx.openEmbeddedMiniProgram 或 navigateToMiniProgram 将静默失败。
1、登录微信公众平台,在「开发管理」→「开发设置」→「服务器域名」中,将 https://workbuddy.weixin.qq.com 添加至 request 合法域名列表。
2、进入「功能设置」→「小程序扩展组件」,开通「打开APP」组件,并上传已签名的 WorkBuddy 桌面端 SHA-256 证书指纹(Windows 可通过 signtool verify 获取)。
3、在小程序 project.config.json 中添加字段:"requiredBackgroundModes": ["audio", "fetch"],确保后台持续保活以维持长连接心跳。
公众号运营:文章发布至草稿、样式封面、评论与用户管理、数据统计等。用户要求将 Markdown 发送到公众号草稿、查看阅读量统计或类似后台操作时,使用本技能。
三、在小程序中实现 wbcmd:// 协议唤起与参数透传
小程序不直接执行系统指令,而是通过构造标准 wbcmd:// 协议链接,交由微信客户端解析后触发已注册的本地应用处理程序。该过程依赖微信对自定义 Scheme 的深度集成支持,无需用户手动点击“在浏览器中打开”。
1、在小程序页面 JS 中调用 wx.miniProgram.navigateToMiniProgram({appId: 'wx1234567890abcdef', path: 'pages/control/index?cmd=open_browser&url=https%3A%2F%2Fexample.com'}) 实现跨小程序跳转并携带指令参数。
2、若目标为本小程序内唤起本地 WorkBuddy,使用 wx.openEmbeddedMiniProgram({extInfo: {scheme: 'wbcmd://exec?script=backup_db&ts=1745134380'}, path: '/pages/blank'}) 发送结构化指令。
3、WorkBuddy 启动时自动捕获系统传递的 wbcmd:// 参数,解析 query 字段中的 script、params、ts 值,并校验 ts 与本地时间差是否 ≤ 300 秒,防止重放攻击。
四、部署反向代理支持 HTTPS 域名回源校验
微信要求所有涉及本地唤起的回调地址必须经 HTTPS 加密传输,且响应头需包含特定标识以证明服务归属权。因此需在公网或局域网部署轻量反向代理,将小程序请求转发至本地 WorkBuddy 服务并注入校验头。
1、在 Nginx 配置中新增 location 块:location /wb-verify { proxy_pass http://127.0.0.1:8081/verify; add_header X-WB-Verified "true"; }。
2、在小程序 wx.request 请求 https://workbuddy.weixin.qq.com/wb-verify 时,检查响应头 X-WB-Verified 是否为 true,仅当校验通过才执行后续唤起逻辑。
3、WorkBuddy 本地服务 /verify 接口返回 JSON:{"status": "ok", "timestamp": 1745134380, "signature": "sha256_xxx"},其中 signature 为 timestamp + secret 经 HMAC-SHA256 计算得出。









