workbuddy支持四种跨平台os识别方法:一、用$ostype变量判断并执行对应通知命令;二、用python脚本通过sys.platform精确分支控制;三、依赖内置wb_platform环境变量实现高安全性适配;四、通过/applications、/proc、c:/windows等路径特征间接识别系统。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望编写一段能在WorkBuddy环境中自动识别当前操作系统并执行对应指令的脚本,则需借助WorkBuddy支持的跨平台Shell执行能力与环境变量检测机制。以下是实现该目标的多种方法:
一、使用内置Shell指令判断系统类型
WorkBuddy在执行Shell命令时,可直接调用系统原生命令获取OS信息,无需额外依赖,适用于Windows/macOS/Linux三端统一部署的快捷指令场景。
1、在WorkBuddy电脑端设置界面中,进入【远程指令】→【新增指令】。
2、填写指令名称为“跨平台诊断脚本”,命令类型选择“Shell命令”。
3、在命令栏输入以下多行脚本(确保使用Unix换行格式):
if [[ "$OSTYPE" == "darwin"* ]]; then
echo "macOS detected"; osascript -e 'display notification "WorkBuddy运行于macOS" with title "系统识别"' ;
elif [[ "$OSTYPE" == "linux"* ]]; then
echo "Linux detected"; notify-send "WorkBuddy" "运行于Linux";
elif [[ "$OSTYPE" == "msys" ]] || [[ "$OSTYPE" == "win32" ]]; then
echo "Windows detected"; powershell -Command "& {[System.Windows.Forms.MessageBox]::Show('WorkBuddy运行于Windows', '系统识别')}" ;
else
echo "Unknown OS: $OSTYPE";
fi
4、勾选“允许手机端调用”,点击保存。
5、在手机WorkBuddy App的【远程控制】页签中找到该指令卡片,点击执行按钮。
二、通过Python脚本封装跨平台逻辑
利用WorkBuddy对Python解释器的原生支持,编写具备os模块探测能力的Python脚本,可精确区分系统发行版及位数,适配更复杂的分支控制需求。
1、在电脑端创建文件:/Users/yourname/scripts/os_router.py(macOS/Linux)或 C:\WorkBuddy\scripts\os_router.py(Windows)。
2、写入以下内容:
import os, sys, subprocess
def run_on_mac():
subprocess.run(['osascript', '-e', 'display notification "macOS任务启动" with title "WorkBuddy"'])
def run_on_linux():
subprocess.run(['notify-send', 'WorkBuddy', 'Linux任务启动'])
def run_on_windows():
subprocess.run(['powershell', '-Command', '$host.ui.WriteLine("Windows任务启动")'])
if sys.platform == "darwin":
run_on_mac()
elif sys.platform.startswith("linux"):
run_on_linux()
elif sys.platform in ["win32", "cygwin"]:
run_on_windows()
else:
print(f"Unsupported platform: {sys.platform}")
3、在WorkBuddy【远程指令】中新增指令,命令类型设为“Python脚本”,路径填写上述.py文件的绝对路径。
4、确保电脑端已安装对应Python版本(Windows需确认PATH含python.exe;macOS/Linux建议使用python3)。
5、手机端刷新【远程控制】页签后执行该指令。
三、基于WorkBuddy内置环境变量注入机制
WorkBuddy客户端在启动时会向所有执行上下文自动注入WB_PLATFORM环境变量,其值为win、mac或linux,该变量稳定可靠且无需shell解析,适合高安全性指令链场景。
1、在WorkBuddy设置中启用【高级执行模式】,确保环境变量透传功能开启。
2、新建Shell指令,命令栏输入:
case "$WB_PLATFORM" in
win) powershell -Command "Write-Host 'Platform: Windows' -ForegroundColor Green" ;;
mac) osascript -e "display alert \"Platform: macOS\" as critical" ;;
linux) echo "Platform: Linux" | systemd-cat -t workbuddy ;;
*) echo "Unknown WB_PLATFORM: $WB_PLATFORM" ;;
esac
3、保存指令并勾选“允许手机端调用”。
4、在手机App中执行该指令,观察不同平台下的输出差异。
四、结合文件系统路径特征动态适配
当无法依赖环境变量或Python时,可通过探测典型路径是否存在来间接识别系统,该方法兼容旧版WorkBuddy(v3.2.0+),不依赖外部工具链。
1、在WorkBuddy中新增Shell指令,命名为“路径特征检测”。
2、命令栏填入以下逻辑:
if [ -d "/Applications" ] && [ -f "/usr/bin/sw_vers" ]; then
echo "macOS confirmed";
elif [ -d "/proc" ] && [ -f "/etc/os-release" ]; then
echo "Linux confirmed";
elif [ -d "C:/Windows" ] || [ -n "$WINDIR" ]; then
echo "Windows confirmed";
else
echo "Fallback detection failed";
fi
3、注意:该方法在Windows子系统(WSL)中可能误判为Linux,如需区分,应追加uname -r | grep -q microsoft判断。
4、保存后从手机端触发执行。








