Mix脚本使用手册
什么是 Mix脚本
Mix脚本是一个强大的自动化工具,可以帮助您:
- 🚀 自动启动多个应用程序
- 💻 批量执行系统命令
- 🌐 快速打开常用网址
- 📁 自动化文件操作
- ⌨️ 模拟键盘鼠标操作
- ⏰ 按顺序执行复杂任务
创建第一个脚本
步骤1:进入Mix脚本分类
- 点击左侧菜单栏的"Mix脚本"
- 选择一个子分类(如"我的脚本")
步骤2:新建脚本
- 在空白区域右键点击
- 选择"新建脚本"
- 填写脚本名称和描述
步骤3:添加动作
- 点击"添加动作"按钮
- 从8种动作类型中选择
- 配置动作参数
- 重复添加更多动作
支持的动作类型
1. 启动应用
打开应用程序、文件或文件夹
- 应用路径:
C:\Program Files\VSCode\Code.exe - 启动参数:
--new-window - 工作目录:
C:\Projects\MyApp
2. 系统命令
执行CMD或PowerShell命令
bash
# 清理临时文件
del /q /f %temp%\*
# 启动服务
net start MySQL
# 查看端口占用
netstat -ano | findstr :80803. 打开网址
在浏览器中打开指定网址
- 网址:
https://www.example.com - 指定浏览器(可选)
4. 文件操作
复制、移动、删除或重命名文件/文件夹
- 操作类型:复制、移动、删除、重命名
- 源路径:
C:\Source\file.txt - 目标路径:
D:\Backup\file.txt
5. 延时等待
暂停脚本执行,等待指定时间
- 延时时长:单位毫秒(1秒 = 1000毫秒)
- 推荐延时:应用2-5秒,网页1-3秒
6. 键盘鼠标
模拟键盘按键或鼠标操作
- 按键:
Enter、Ctrl+C、Alt+Tab - 点击:左键、右键、中键
- 坐标:屏幕X、Y位置
7. 运行代码 高级
直接在脚本中运行代码,支持 网络 API 调用、数据爬取、文件处理 等复杂任务。
支持的语言
| 语言 | 说明 | 推荐程度 |
|---|---|---|
| JavaScript | 已内置 axios、cheerio 等模块,无需安装 | ⭐⭐⭐ 推荐 |
| Python | 需要用户系统已安装 Python | ⭐⭐ |
| PowerShell | Windows 自带 | ⭐ |
内置 JavaScript 模块
以下模块可直接 require() 使用,无需安装:
| 模块 | 用途 | 示例 |
|---|---|---|
| axios | HTTP 请求 | axios.get('https://api.example.com') |
| cheerio | HTML 解析 | cheerio.load(html) |
| fs | 文件读写 | fs.readFileSync() |
| path | 路径处理 | path.join() |
常用 API 示例
获取 B站热门视频:
javascript
const axios = require('axios');
const res = await axios.get('https://api.bilibili.com/x/web-interface/popular?ps=20&pn=1');
const videos = res.data.data.list.map(v => ({
标题: v.title,
UP主: v.owner.name,
播放量: v.stat.view
}));
console.log(JSON.stringify(videos, null, 2));获取天气信息:
javascript
const axios = require('axios');
const res = await axios.get('https://wttr.in/Beijing?format=j1');
const weather = res.data.current_condition[0];
console.log(`北京天气: ${weather.weatherDesc[0].value}, 温度: ${weather.temp_C}°C`);获取 A股涨幅榜:
javascript
const axios = require('axios');
const url = 'https://push2.eastmoney.com/api/qt/clist/get?fs=m:0+t:6,m:0+t:80,m:1+t:2,m:1+t:23&fields=f12,f14,f2,f3,f4,f5&pn=1&pz=10&fid=f3&po=1';
const res = await axios.get(url);
console.log(JSON.stringify(res.data.data.diff, null, 2));Mixstart 内置函数
脚本中可调用 Mixstart.saveFile() 弹出保存对话框:
javascript
const data = { ... }; // 你获取的数据
const content = JSON.stringify(data, null, 2);
// 弹出"保存文件"对话框
const result = await Mixstart.saveFile(content, 'output.json', [
{ name: 'JSON 文件', extensions: ['json'] },
{ name: '所有文件', extensions: ['*'] }
]);
if (result.success) {
console.log('文件已保存到:', result.filePath);
}使用场景
- 定期爬取数据:每天获取股票/热门视频信息
- 批量数据处理:格式转换、数据清洗
- 自动化报表:获取数据后保存为文件
8. 流程控制 高级
支持复杂的逻辑判断和循环
- 条件判断:如果文件存在则执行...,如果应用运行中则...
- 循环执行:重复执行某段动作 N 次
- 变量操作:设置和读取变量,用于在动作间传递数据
9. 交互与提醒
- 显示通知:在右下角弹出系统通知,支持自定义标题和内容。
- 定时提醒:创建一次性的系统闹钟,支持解析自然语言时间(如“10分钟后”、“14:30”)。
- 用户对话框:弹出确认框或选择框,根据用户的选择决定后续执行流程。
10. OpenClaw 插件运行 核心增强
允许直接调用应用市场中海量的 OpenClaw 插件(如 PDF 转换、图片压缩、多媒体处理等)。
- 插件标识 (Slug):插件的唯一 ID。
- 输入来源:
直接指定:手动输入文本。剪贴板 ($clipboard):执行时自动提取剪贴板内容。自定义输入 ($custom):通过动作配置面板输入。
- 参数注入:支持将插件定义的必填参数(如 API Key, 处理格式)注入执行上下文。
- 智能交互拦截:
- 如果插件有缺失的必填参数,或输入源为剪贴板,系统会自动弹出配置面板,待用户确认/填写后再继续。
11. 窗口操作
通过 Windows API 直接控制桌面窗口,无需手动点击。支持通过标题精确/模糊匹配目标窗口。
- 操作类型:最大化、最小化、还原、置顶、聚焦、关闭。
- 匹配逻辑:支持标题关键字搜索。例如,输入
VS Code即可控制所有标题包含该字符的窗口。
12. HTTP 请求
直接发起网络请求,用于对接第三方 Webhook 或内部系统接口。
- 请求方式:GET, POST, PUT, DELETE。
- 配置项:支持 URL、自定义 Headers(如 JSON 配置)、超时时间以及 Body 数据。
- 输出捕获:请求结果可传递给后续的文本处理或通知动作。
13. 系统控制
快速执行系统级操作,支持延时执行和强制执行。
- 选项:关机、重启、锁定、睡眠、注销。
- 场景:如“备份完成后锁定电脑”。
14. 剪贴板操作
自动化管理剪贴板数据。
- 操作类型:读取(提取文字)、写入(修改剪贴板内容)、清空。
15. 文本处理
内置常用的文本格式化工具。
- 操作类型:正则匹配、正则替换、分割/合并、大小写转换、子串提取(Substring)。
16. 播放声音
- 类型:系统蜂鸣音、标准系统通知音(Asterisk, Warning)、以及指定音频文件路径。
实用示例
示例1:办公环境启动
text
脚本名称:办公环境启动
动作序列:
1. 【启动应用】微信
2. 【延时等待】2000ms
3. 【启动应用】VS Code
4. 【延时等待】2000ms
5. 【打开网址】邮箱
6. 【打开网址】项目看板示例2:开发环境启动
text
脚本名称:启动开发环境
动作序列:
1. 【启动应用】项目文件夹
2. 【延时等待】1000ms
3. 【启动应用】VS Code
4. 【系统命令】启动数据库服务
5. 【延时等待】2000ms
6. 【系统命令】启动后端服务
7. 【打开网址】http://localhost:3000示例3:文件备份
text
脚本名称:每日备份
动作序列:
1. 【文件操作】复制工作文档
源:D:\Documents\工作文档
目标:E:\Backup\工作文档_备份
2. 【文件操作】复制项目代码
源:D:\Projects
目标:E:\Backup\Projects_备份示例4:获取 B站热门视频
text
脚本名称:B站热门爬取
动作序列:
1. 【运行代码】JavaScript
代码:
const axios = require('axios');
const res = await axios.get('https://api.bilibili.com/x/web-interface/popular?ps=20&pn=1');
const videos = res.data.data.list.map(v => ({
标题: v.title,
UP主: v.owner.name,
播放量: v.stat.view,
链接: 'https://www.bilibili.com/video/' + v.bvid
}));
// 弹出保存对话框
await Mixstart.saveFile(
JSON.stringify(videos, null, 2),
'bilibili_hot.json'
);
console.log('已获取', videos.length, '条热门视频');TIP
此脚本可以保存后定期运行,用于追踪 B站热门趋势。
使用技巧
- ✅ 启动应用后添加延时,确保加载完成
- ✅ 动作按顺序从上到下执行
- ✅ 新建脚本后先测试一次
- ✅ 详细记录脚本的用途和参数
- ✅ 善用分类管理脚本
- ✅ 定期备份重要脚本
注意事项
- ⚠️ 文件删除操作不可恢复,谨慎使用
- ⚠️ 系统命令需要管理员权限
- ⚠️ 不熟悉的命令先查阅文档
- ⚠️ 避免执行来历不明的命令