需将WorkBuddy部署为带身份验证的HTTP服务,通过FastAPI暴露/run_script接口,手机可用Postman、微信小程序或Telegram Bot发送认证请求触发脚本执行,并借助frp实现内网穿透。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

如果您希望在手机端远程触发WorkBuddy执行Python脚本,需确保WorkBuddy已部署为可被外部请求调用的服务,并具备安全的身份验证与脚本执行能力。以下是实现该目标的全流程步骤:
一、配置WorkBuddy为HTTP可调用服务
WorkBuddy需暴露一个轻量级HTTP接口(如Flask或FastAPI服务),接收来自手机端的触发请求,并根据指令加载并运行指定Python脚本。该服务应运行在固定端口,且网络可达。
1、在WorkBuddy所在主机安装FastAPI和Uvicorn:
执行命令 pip install fastapi uvicorn。
2、创建main.py文件,内容包含定义POST接口 /run_script,接收脚本名称参数,并校验白名单路径。
立即学习“Python免费学习笔记(深入)”;
3、在代码中使用subprocess.run安全执行脚本,限定工作目录为预先授权的scripts/子目录。
4、启动服务:执行命令 uvicorn main:app --host 0.0.0.0 --port 8000 --reload。
二、在手机端构造HTTP请求触发执行
手机端无需安装专用App,可直接使用支持发送POST请求的工具完成调用。请求必须携带身份凭证,防止未授权执行。
1、在手机浏览器访问 https://httpbin.org/post 验证网络连通性及HTTPS代理兼容性。
2、使用手机端Postman App或Termux终端,构造JSON格式POST请求,Body为:
{"script": "data_clean.py", "token": "abc123"}。
3、设置Header中Content-Type为 application/json,并确保目标URL为WorkBuddy服务器公网IP或内网穿透地址(如 http://192.168.1.100:8000/run_script)。
三、通过微信小程序调用WorkBuddy接口
微信小程序可封装调用逻辑,提供图形化按钮与脚本选择列表,提升操作便捷性与安全性。需配置合法域名并启用HTTPS。
1、在微信公众平台后台将WorkBuddy服务域名添加至 request合法域名列表,且该域名必须已配置SSL证书。
2、在小程序页面JS中调用 wx.request,method设为POST,data传入含script名与签名timestamp的JSON对象。
3、WorkBuddy后端对接口参数进行HMAC-SHA256签名比对,仅当签名有效且timestamp在5分钟内才执行脚本。
四、使用Telegram Bot作为远程控制入口
Telegram Bot提供免开发、跨平台、带消息确认的交互通道,适合快速部署。Bot与WorkBuddy之间通过Webhook或轮询方式通信。
1、在BotFather中创建新Bot,获取API Token:123456789:ABCdefGHIjklMNOpqrSTUvwxyz。
2、在WorkBuddy服务器上运行Bot监听程序,使用python-telegram-bot库捕获含“/run data_clean”格式的消息。
3、接收到指令后,Bot程序校验发送者ID是否在预设管理员ID白名单中,通过后调用本地subprocess执行对应脚本。
五、启用内网穿透使手机可访问本地WorkBuddy
若WorkBuddy部署于家庭局域网或无公网IP环境,需借助内网穿透工具将本地HTTP服务映射至公共URL,供手机直连。
1、在WorkBuddy主机安装frp客户端,配置frpc.ini指向已备案的frps服务器,设置本地端口8000映射为子域名 workbuddy.yourdomain.com。
2、启动frpc服务,确保日志显示 start proxy success。
3、手机端所有请求均发往该穿透域名,不再依赖局域网IP,且可在外网环境下持续控制。










