这是什么软件:能力、原理与边界
ImgScript 是一款 Windows 桌面自动化工具。它不调用网页接口、不改数据库,而是像人一样操作屏幕:按图像或文字找到目标,然后点击、输入、滚动、拖拽,把重复劳动固化成一条可以反复执行的脚本。核心链路只有三步——截图 → 匹配 → 动作。
| 它擅长 | 它不擅长 |
|---|---|
| 有固定界面、重复操作多的软件(ERP、OA、报表、老式客户端) 批量录入:Excel 数据逐条填进网页表单 跨软件流程:A 软件导出 → B 软件导入 → 截图留证 需要在无人值守时定时跑的任务 | 没有界面、只有接口的系统对接(请直接用 API) 需要理解语义、判断业务对错的场景(需外接 AI 或人工复核) 验证码、加密狗、强风控页面 毫秒级高频操作或竞技类游戏对抗 |
一句话判断标准:人能用鼠标键盘一步步做完、且画面每次长得差不多的事,它就能做;需要"看懂意思再决定"的事,它只能借助 OCR 或 AI 命令辅助判断。
安装、启动与授权
2.1下载与安装:它是便携软件
ImgScript 是绿色便携版:解压到任意目录即可运行,不写注册表安装项,也不在系统目录留文件。所有用户数据都在 ImgScript.exe 同级的 data 目录里,包括脚本、截图资源、计划任务、日志、设置、授权记录和插件。
- 不要把它放进
Program Files或需要管理员权限才能写的目录,否则数据无法落盘。 - 备份或换机时,先停止所有任务并正常退出,再整体复制软件文件夹,不要只拷 exe。
- 升级时把新版本解压到新的空目录,用"设置 → 数据管理 → 迁移旧版数据"指向旧目录,不要用新文件覆盖唯一的旧目录。
2.2第一次启动看到什么
首次打开会看到"我的脚本"列表,默认分组里有 4 个示例脚本:新手入门、变量与表达式、定时循环问候、条件判断。若检测到旧版数据,启动时会先问"是否迁移旧版 ImgScript 数据";不确定就点"暂不迁移,直接使用",之后仍可在"设置 → 数据管理"手动迁移。示例不是摆设,建议先复制一份再改,原稿留着对照。

找不到示例时,到"帮助"页右上角点"恢复示例脚本",它只补回缺失的同名示例,不覆盖你已有的脚本。
2.3免费版与 VIP 版差在哪
两个版本功能完全一致,唯一区别是脚本运行时长:免费版每天累计 30 分钟(顶部会显示"今日剩余 30:00"),VIP 在授权有效期内不限时长。额度按设备计算,复制目录、重新解压都不会重置;额度用完后,当前步骤会在安全边界结束,当天不再启动新任务。
| 状态 | 表现 |
|---|---|
| 免费版 | 顶部显示当天剩余时长;所有指令、计划任务、插件、AI 命令均可用 |
| VIP 版 | 顶部只显示"VIP版",不扣免费额度;到期后无需重启,自动切回免费规则 |
2.4激活:在线码与离线码
进入"设置 → 授权管理",页面上有三个关键元素:当前机器码、激活码输入框、激活按钮。
- 在线激活(ISR2):把以
ISR2.开头的兑换码整段粘贴进输入框,点"激活",保持联网,等待返回结果。成功后核对授权状态、卡型、授权 ID 和到期时间——只看到输入框有文字不算激活。 - 离线激活(ISO1):点"复制机器码"发给授权方,拿到与本机匹配的
ISO1.码后粘贴激活。离线码绑机器,换电脑必须重新签发。 - 换机:在旧电脑点"解绑当前设备"并确认,旧机立即回到免费版;新机用同一张 ISR2 码重新激活即可。旧机已损坏时联系授权方处理。

界面导览:八个页面各自干什么
| 页面 | 用途 |
|---|---|
| 我的脚本 | 脚本列表、分组、新建/复制/删除、勾选多个脚本顺序批量运行 |
| 脚本编辑工作台 | 左侧指令面板,中间步骤列表,右侧流程视图;双击步骤进入独立参数窗口 |
| 运行监控 | 任务树、当前执行目标的实时预览、资源占用、受控子进程 |
| 计划任务 | 按 cron 定时触发脚本,支持预设模板、排班日历、手动触发 |
| 执行日志 | 每次运行的结果、状态、触发来源,可打开 HTML/TXT 报告 |
| 插件中心 | 安装、启用、停用第三方指令包,插件参数以插件声明为准 |
| 设置 | 通用、主题、运行安全、AI 模型、授权、主页签控制、数据管理 |
| 帮助 | 内置图文教程、搜索、恢复示例脚本、版本与更新提示 |
当前 2.0.9 顶部实际是八个入口:我的脚本、手机控制、运行监控、计划任务、执行日志、插件中心、帮助、设置。脚本编辑工作台从"我的脚本"里双击脚本进入,不占顶部页签。

3.1编辑器里三个高频操作
- 添加步骤:左侧指令面板按分类展开,双击或拖入步骤列表;指令前的星标可加入"我的收藏",常用指令置顶。
- 配置参数:双击某个步骤,弹出独立的指令编辑窗口;保存参数与保存脚本是两次保存,改完参数别忘了再保存整个脚本。
- 调整顺序与开关:步骤可拖拽排序,每步有启用/禁用开关;禁用的步骤不执行,禁用"循环开始"会跳过整个循环体。

核心概念:脚本、步骤、执行目标、资源
4.1脚本就是一列步骤
脚本 = 从第一步开始顺序执行的步骤列表。每个步骤包含三样东西:类型(做什么)、参数(怎么做)、错误处理(失败了怎么办)。流程控制类步骤(循环、条件、跳转)会改变执行顺序,其余步骤都是"做完就下一步"。
4.2执行目标:脚本在"谁"身上操作
每个步骤都带一个执行目标,决定截图、找图、点击发生在哪里。新脚本默认目标是全桌面,覆盖所有显示器,用屏幕绝对坐标(副屏可能是负坐标)。需要后台执行、限定截图范围或用窗口客户区坐标时,才去添加 A、B 这样的命名窗口目标。
- 全桌面:默认,最稳,适合大多数前台操作。
- 窗口目标:可用前台、后台、游戏模式。后台能否生效取决于目标程序,不保证所有软件支持;游戏模式需前台且不支持汉字输入。
- Android 目标:先在"手机控制"页连接设备,用手机逻辑坐标;旋转或改分辨率后要重新核对坐标。
关键规则:每个步骤使用自己的目标,不继承上一步。目标解析失败时(窗口关了、身份变了、权限不足),脚本会在动手前直接失败,不会偷偷改用全桌面继续操作。

4.3图像资源库:模板不是一次性截图
截图框选出来的小图会进入全局图像资源库,可以被多个脚本、多个步骤复用,也能在资源库里改名、替换、查看引用关系。删除脚本不会连带删掉被其他脚本引用的资源;资源可以被放进回收站再恢复。
4.4四条踩坑率最高的铁律
- 坐标属于目标:窗口移动、分辨率变化、手机旋转后,旧坐标可能点到别处,必须重新核对。
- 等待要配超时:所有等待图像、OCR 找字都要设超时并配错误分支,超时不是"还没好",而是"这次失败了"。
- 成功状态不等于业务成功:OCR 可能返回 found=false 仍算执行成功,HTTP 200 也可能业务失败,必须用条件显式判断。
- 先看第一个失败步骤:日志里从下往上找没用,从上往下找第一个报错的步骤,问题基本都在那。
指令总览:按分类选对步骤
编辑器左侧指令面板按分类组织,支持搜索与收藏。下表是选型地图:先想"我要做什么动作",再落到具体指令;括号里是脚本 JSON 中的命令标识,写脚本或让 AI 生成时用得到。
| 分类 | 代表指令 | 什么时候用 |
|---|---|---|
| 图像操作 | 单图像点击 image_click、多图像依次点击 multi_image_click、图像位置查找、等待图像出现/消失 | 界面元素位置会变、但长得一样:按钮、图标、单元格 |
| 颜色检测 | 区域找色点击 color_click、颜色占比 color_measure | 目标没有稳定形状,但有稳定颜色:状态灯、高亮行 |
| 鼠标 | 坐标点击、随机范围点击、拖拽、滚轮、长按 | 位置固定,或需要"在某个区域里随机点"降低机械感 |
| 键盘与文本 | 文本输入 text_input、按键、组合键 | 填表单、搜索框、快捷键操作 |
| 变量 | 修改变量 variable_modify、打印变量 | 记录结果、拼接字符串、累加计数 |
| 流程控制 | 循环、条件判断 condition、跳转 jump、等待 | 批量处理、分支处理、失败重试 |
| 数据与接口 | JSON 处理 json_process、HTTP 请求 http_request、剪切板读写 | 取接口数据、解析返回、把结果写回系统 |
| 文件与表格 | 文本读取/写入、文件夹读取、CSV、Excel 读取/写入 | 批量数据源、结果落盘、报表生成 |
| 识别与智能 | OCR 找字点击、OCR 条件、OCR 提取、AI 命令 ai_command | 文字位置不固定、界面没图可截、需要"看懂一点" |
| 通知与扩展 | 弹窗提示、Win 消息、子流程调用 call_script、插件指令 | 运行反馈、流程复用、第三方能力 |
重点指令详解
6.1图像点击:最常用也最容易调坏
单图像点击的完整逻辑是:截取当前执行目标的画面 → 在查找区域内做模板匹配 → 过滤低分候选 → 去重 → 按策略点击。参数面板里真正要动的只有五个:
| 参数 | 怎么设 |
|---|---|
| 图像模板 | 框选要点的元素,边缘留 2~4 像素背景,不要框进会变的文字或数字 |
| 匹配阈值 | 默认 0.80。先保证模板唯一,再从 0.80 微调到 0.75 左右;低于 0.70 误点概率明显上升 |
| 查找区域 | 不填是整屏;能缩到列表区、弹窗区就缩,既快又准 |
| 点击策略 | 首个匹配 / 依次点击全部匹配;配合重复次数与间隔做批量点选 |
| 结果变量 | 勾选后写入实际点击坐标数组(point_array),后续可用来回点、校验或记录 |

抗误匹配有一个内置机制:默认在最近 5 帧里至少 3 次命中相近位置才确认点击。要求更快可在高级里把确认窗口和命中次数调小,但抗误匹配能力会下降。
多图像依次点击用于"一张图里多个同类目标要按顺序点完"(如列表勾选框):按模板顺序依次点击,每个模板可单独设区域与偏移。

等待图像出现 / 等待图像消失是"卡住不动"的主要来源:务必设超时(默认 10 秒),并把超时接到失败分支或重试,而不是让脚本无限等。
6.2坐标点击与鼠标动作
坐标点击适合位置固定的控件,参数是 X、Y、按键、单击/双击/长按。坐标是相对当前执行目标的:全桌面目标用屏幕坐标,窗口目标用窗口客户区坐标,Android 用手机逻辑坐标。改了窗口位置、换了分辨率,坐标就要重设。
- 屏幕取点:用取点工具在屏幕上点一下,自动回填坐标,比手抄像素靠谱。
- 随机范围点击:给一个矩形区域,每次在区域内重新取点,用于降低固定落点的机械特征。
- 拖拽:起点、终点、按住时长、步进;部分程序忽略模拟拖拽,可改用键盘导航。
6.3文本输入与键盘
文本输入只负责"写字":它把内容送进已经获得焦点的输入框,不会自己点一下。标准做法是先用坐标点击或图像点击把焦点落进输入框,再执行文本输入。内容里可以混写变量,例如 订单号:${order_no}。中文与长文本由输入后端处理,快但不等于逐字键入;个别软件需要用打字机效果或按键模式才兼容。

- 填表单时推荐"点击 → 全选清空 → 输入 → Tab/Enter 提交"四步固定套路,比逐字段盲输稳。
- 快捷键用组合键指令,例如
ctrl+s保存、ctrl+a全选。 - 输入前务必确认焦点在正确控件:可以用"等待图像出现"确认光标所在输入框已出现。
6.4循环:三种来源
循环开始与循环结束必须成对配置,中间是循环体。次数来源包括:固定次数、数字变量、图像/变量条件、坐标数组、通用数组和无限循环。数组模式每个元素一轮;无限循环必须提前设好停止方式(条件 + 终止或跳转),否则只能手动停。

循环体内可用三个只读变量:${local.loop_1.index}(从 0 开始)、${local.loop_1.item}(当前元素)、${local.loop_1.total}(总数)。嵌套循环用层级编号,例如 ${local.loop_2_1.item}。编号由系统按步骤身份自动维护,拖动步骤不会错位。
数组循环进入循环体前会深复制最多 10000 项,源数组之后被修改不会影响本轮;这是"批量处理 CSV/Excel 行"的标准做法。
6.5条件判断:看清"判断什么"
条件支持三类判断:图像是否存在、颜色是否匹配、变量比较,并可选择"全部满足"或"任一满足"。OCR 找字自带条件判断与等待,通常先用它把结果写成 found 变量,再用变量比较做分支。条件成立走"满足"分支,否则走"否则"分支,最后用"判断结束"收口;分支可嵌套但必须层层闭合。

等待型条件(图像/颜色/OCR)会先立即判一帧,不满足则按检测间隔重复采集,直到满足或超时;超时为 0 表示只判断一次。这是"等页面加载完再动手"的正确写法,比固定等待秒数可靠。
跳转把执行位置移到指定步骤,或跳到脚本末尾 @end;配合条件做"失败就跳到清理段"。错误处理里的"忽略异常并继续 + 错误后跳转"默认关闭,开启时必须指向一个有效且启用的跳入点。
6.6OCR:文字不固定时的兜底
内置 RapidOCR 本地识别,不联网、不消耗 AI 额度。三类用法:找字点击(识别到文字后点它的中心)、找字条件(判断某文字在不在)、文字提取(把识别结果写入变量)。

- 区域要么留空表示整张来源图,要么给六个严格整数:
x, y, width, height, source_width, source_height;坐标相对来源图左上角,窗口目标是客户区。 - 来源可以是当前执行目标截图、指定图片文件、截图资源或最近一次运行截图。
- 识别不准时优先放大区域、提高对比度、缩小到文字所在行,而不是反复改阈值。
6.7HTTP 与 JSON:和业务系统对接
HTTP 请求支持 GET/POST/PUT/PATCH/DELETE/HEAD,只允许 HTTP/HTTPS;URL、查询参数、请求头、Body 都能引用变量。JSON Body 里的整值变量会保留原类型(数字还是数字,布尔还是布尔),不会先转成字符串。
- 默认只接受 2xx;可配置期望状态码。只有 Content-Type 为 JSON 时才自动解析响应。
- 默认拒绝本机回环、内网和云元数据地址;确有内网需求时才开"允许内网",开启后仍做协议、端口、重定向逐跳检查。
- 响应可写入原始 Body、解析后的 JSON、状态码、脱敏响应头四类变量,都是可选项,不选就不写。
JSON 处理不依赖插件,支持解析、序列化、读取、设置、删除、存在判断、数组长度、成员读取、追加。路径只支持安全形式:$、$.name、$.items[0]、$["user.name"],不执行代码或过滤表达式。设置/删除/追加默认复制后再改,只有明确勾选"覆盖输入变量"才改原变量。
6.8文件、CSV 与 Excel
文件写入是原子操作:先在内存生成完整内容,写同目录临时文件,再一次性替换,可选保留一代 .bak。任一行失败就整体不落盘,不会留下写坏一半的文件。
Excel 只支持 .xlsx,通过独立配置窗口选工作表、区域、字段映射、筛选与公式模式。写入同样"整步校验后一次替换",所以可以放心让它跑批量回写。

- 结构化 CSV/Excel 行会带
_source记录来源行号,按来源行回写时还会复核关键字段,防止外部插行导致写错行。 - 文本读取支持 UTF-8、UTF-8 BOM、GB18030,编码必须显式选择;选错会出现整片乱码而不是报错。
- 相对路径按脚本文件所在目录解析,不支持路径字符串拼接;要拼路径请先在变量里拼好。
6.9扩展操作与通用参数
除了界面操作,还有一组"外围动作":打开文件、打开网址、执行命令、结束进程、调用脚本。它们让脚本能串起多个软件,但副作用也最大。
- 打开文件 / 打开网址:交给系统关联程序或浏览器,打开不等于加载完成,后面必须接就绪检测(等待图像或条件)。
- 执行命令:启动你配置的程序或命令行,运行前核对程序路径、参数、工作目录和等待方式;不要执行来源不明的命令。
- 结束进程:可能丢失未保存内容,先在测试程序上验证再用于正式流程。
- 调用脚本:把可复用流程作为子流程执行,检查调用关系、变量与执行目标;子流程的运行状态不自动等同于调用方。
每条指令的参数都分"常规"和"高级"两页:常规放基础参数,高级放阈值、区域、超时、点击策略等。"执行后延时"只是当前动作后的停顿,与找图/等待的超时不是一回事;错误处理可选终止、忽略异常并继续、重试(含次数与间隔),重试点击或写文件可能产生重复结果,不能当万能修复。另外要区分两个按钮:测试会真实执行当前指令(可能点击、输入、写文件),预测结果只预览预计位置或判断,不推进流程。
6.10AI 命令:只观察,不动手
AI 命令对免费版和 VIP 都开放,但它只负责观察、提取、判断和定位,不会直接点击、输入、打开网址或执行命令。能靠找图、找色、本地 OCR 确定性完成的,优先用确定性指令。
六类用法:画面判断、元素定位、结构化提取、图像分类、操作结果复核、异常分析。默认截图来源是当前执行目标,也可选全桌面、指定区域、图片文件、截图资源或最近一次运行截图。元素定位返回的坐标会被换算成本地坐标数组,再交给普通点击步骤执行。
- 需要自备 OpenAI 兼容服务:在"设置 → AI 模型"填 Base URL、模型、超时与单价,API Key 保存在本机加密保险库,不进脚本、不进日志。
- 首次向非本机服务发送截图前必须明确授权;本机服务(localhost)不需要。
- 可设总超时、重试、最低置信度、失败策略,以及单次费用和每次运行的调用/费用上限。
变量体系:脚本的"记忆"
变量解决三个问题:把界面上读到的数据存下来、把多个值拼成一句话、把结果带到下一步或下一个脚本。变量管理器按页面分成四类,引用写法各不相同,混用是最常见的报错来源。
| 类别 | 引用写法 | 说明 |
|---|---|---|
| 脚本变量 | ${name} | 在当前脚本的变量管理器里定义,有类型、默认值、可选约束;每次运行从默认值开始 |
| 系统变量 | ${system.date}、${system.time}、${system.hour}、${system.now} | 只读,运行时自动更新,不能写进变量定义 |
| 全局变量 | ${global.name} | 跨脚本共享,独立存储;并发脚本不要同时写同名全局变量 |
| 步骤运行变量 | ${local.step.*}、${local.loop_1.item}、${local.http_4.status} | 只读,来自前面已执行步骤的输出或当前循环的运行值,编号按步骤身份自动维护 |

7.1九种变量类型
| 类型 | 用途与注意 |
|---|---|
string | 文本;拼路径、拼消息、存订单号 |
number | 数字;金额、数量、计数,参与比较与运算 |
bool | 真/假;条件分支开关 |
point | 单个坐标点 |
point_array | 坐标数组;图像点击的结果默认写这里 |
json_object | 对象;接口返回、结构化结果,默认值写 {} 或合法对象字符串 |
json_array | 数组;批量数据,默认值写 [] 或合法数组字符串 |
file_path | 文件路径;可加扩展名约束,只能固定值或完整的变量引用 |
folder_path | 文件夹路径;供文件夹读取类指令使用 |
7.2表达式:拼接与取数
表达式里可以混写变量、字面量和函数。字符串必须用引号包起来,变量不加引号。示例:
concat(${greeting_prefix}, ",现在是 ", ${system.date}, " ", ${system.time})常用函数包括 concat()(拼接)、number()(转数字)等,完整清单在变量管理器的"系统函数"页。布尔字面量支持 true/false,写成字符串 "true" 则按文本处理。
7.3变量使用的六个规则
- 先定义再引用:脚本变量必须在变量管理器里定义,引用不存在的变量会直接报错。
- 完整引用优先:修改变量时,目标名必须写完整引用,例如
${count},不能写裸名count。 - 类型要对上:把
point_array写进string变量会失败;理由、置信度、用量这类结果分别要求 string、number、json_object。 - 运行即重置:脚本变量每次运行都从默认值开始,跨运行保留数据请写文件或写全局变量。
- 编号别手写:循环/条件/HTTP/AI 的 step 编号由系统按稳定 ID 维护,删除来源步骤后引用会变成
missing_*,此时要重新选变量而不是猜编号。 - 敏感数据打标:把密码、令牌类变量标记为敏感,日志与 MCP 返回会自动脱敏,但脚本本身的文件、HTTP 指令仍有真实副作用。
脚本的 JSON 结构:给 AI 看的说明书
脚本在磁盘上是一个 JSON 对象,这是让 AI 生成或修改脚本时唯一需要理解的结构。字段含义如下(具体版本号以软件导出的文件为准):
| 字段 | 说明 |
|---|---|
name | 脚本名,必填,同名会冲突 |
steps | 步骤数组,顺序即执行顺序;每步含 id、command_id、params、target_ref、enabled |
variable_definitions | 变量定义表:类型、默认值、描述、是否敏感、可选约束 |
execution_targets | 执行目标表:内置 desktop 不可删除,窗口目标各自有 id |
error_action / retry_count / retry_interval_seconds | 步骤级错误策略:终止、忽略继续、重试次数与间隔 |
target_ref | 该步骤用哪个执行目标,必须指向存在的目标,不能悬空 |
{ "name": "登录并抓取待办数量", "steps": [ { "id": "step_1", "command_id": "wait", "params": { "seconds": 0.5 }, "target_ref": "desktop", "enabled": true }, { "id": "step_2", "command_id": "image_click", "params": { "image_resource_id": "res_xxx", "threshold": 0.8 }, "target_ref": "desktop", "enabled": true }, { "id": "step_3", "command_id": "text_input", "params": { "text": "${account}" }, "target_ref": "desktop", "enabled": true } ], "variable_definitions": { "account": { "type": "string", "default": "demo", "description": "登录账号", "sensitive": false } }, "execution_targets": { "default_target_ref": "desktop", "desktop": { "scope": "all_monitors" }, "windows": [] }}上面只是结构示意,不要照抄参数名:每条指令的真实参数以"指令面板 → 参数窗口"和 MCP 的 describe_command 返回为准。凭记忆写参数是 AI 生成脚本失败的第一原因。
8.1写脚本时最容易犯的四个错
- 循环没闭合:循环开始与循环结束必须成对,条件与判断结束同理;结构错误在保存时就会被拦下。
- 变量没定义:JSON 里出现的每个
${x}都要在variable_definitions里,系统变量除外。 - 目标悬空:
target_ref指向了不存在的窗口 id,加载时直接报错。 - 把编号写死:
${local.loop_2.item}的编号由系统维护,手写容易指向错误步骤。
运行、日志与监控
运行有三个入口:脚本列表右键运行、编辑器里的运行按钮、计划任务触发。运行中的脚本会在底部实时日志里滚动输出每一步。

9.1执行日志怎么读
- 表格一行一次运行:脚本名、时间、状态(成功/失败/用户停止)、触发来源(手动/计划任务/快捷键)、日志类型。
- HTML 报告看步骤详情和已开启的截图记录,TXT 更轻量;截图是否存在取决于当次配置和保留策略。
- 筛选支持时间范围、脚本名搜索;可导出 CSV,但 CSV 不是完整日志与截图的打包。
- 日志来源可切"脚本执行日志 / MCP 操作日志",还能按时间范围、脚本名筛选并查看统计报告;日志会按保留天数与数量自动清理,长期留证请在"日志保存设置"里调整,或把关键结果自己写文件。
排查顺序永远是:找第一个失败的步骤 → 读它的失败原因 → 看当时的截图 → 再改参数。不要从最后一条往前猜。
9.2运行监控与安全阀
运行监控展示任务树(手动、批量、计划、子脚本的父子关系)、当前执行目标的实时预览、资源占用和受控子进程。预览只是看,不能接管鼠标键盘。

| 保护机制 | 默认与行为 |
|---|---|
| 内存软限制 | 默认 1024 MB(配置 0 也等于 1024,不是关闭);达到后不再启动新任务,队列显示"等待:内存保护" |
| 内存恢复比例 | 默认 0.80;回落到位后队列仍等待,需在运行监控里手动确认继续,系统没有"暂停后原位恢复" |
| 步骤看门狗 | 默认 30 秒;超时提示"响应缓慢",4 倍时提示"无响应",只告警不杀进程 |
| 停止 | 协作式取消:任务在下一个安全检查点退出,无法安全中断的第三方调用不会被强杀 |
计划任务:让它自己跑
计划任务用 cron 表达式定时触发已保存的脚本。新建时选脚本、填 cron 或套用预设、设生效时间与是否只跑一次;任务必须处于启用状态,且软件保持运行才会触发。


- cron 是五段式:分 时 日 月 周。例如
0 9 * * 1-5表示工作日早上 9 点。 - 需要"只跑一次"时用单次模式并设未来时间,别用 cron 猜。
- 触发记录会写进执行日志,触发来源标为"计划任务"。
- 任务执行期间电脑休眠、软件退出都会导致漏跑,关键任务要配补偿逻辑或手动补跑入口。
设置项:值得改的只有这几个
设置分八组:常规、数据管理、主题、运行、授权、主页签控制、AI 模型、AI 连接(MCP)。常规里可设"关闭时最小化到托盘""开机自启""临时置前窗口提示",图像检测间隔默认 0.50 秒(常规 0.3~0.5,追求速度可到 0.1)。其余多数保持默认,真正建议按需调整的是下面这些。

| 设置 | 建议 |
|---|---|
| 步骤看门狗(默认 30 秒) | 长任务多、单步耗时长的场景调到 60~120 秒,避免刷屏告警 |
| 内存软限制(默认 1024 MB) | 批量跑大表格、多任务并发时上调;机器内存小于 8 GB 时不要盲目调大 |
| 运行监控采样(默认 1000 ms) | 只看趋势可调大到 2000~5000 ms,减少截图线程压力 |
| 日志保留 | 按磁盘余量设天数与数量;需要留证时先导出再清理 |
| 主页签控制 | 隐藏不用的页面,让主界面更清爽;设置页始终保留 |
"我的脚本"里还能给单个脚本配悬浮框:左键短按启动/停止,按住拖动位置,右下角拖动缩放,右键只有"配置/关闭"。最多 64 个,适合把常用脚本钉在桌面上。
数据管理是最该谨慎的一页:数据在便携 data 目录,"迁移旧版数据"要把旧版完整根目录指过去,不会合并两套 data;迁移前先备份,旧目录保持只读。旁边的"便携性检查"用来核对是否存在外部路径、服务依赖和保险库风险。
扩展能力:EXE、插件、MCP、手机
12.1导出独立 EXE:把脚本交给不会用软件的人
导出功能会把脚本打包成一个可直接双击运行的 EXE,对方不需要安装 ImgScript。要求当前授权为有效 VIP;导出的运行器每次运行最长 30 分钟,这与本体 VIP 的每日时长是两套规则。

- 导出前先把脚本在真实环境跑通,运行器没有编辑器,出问题只能看日志。
- 导出的运行器仍受运行安全与输入互斥保护,不是"无限权限"的可执行文件。
- 给对方时要一并说明前置条件:目标软件已打开、分辨率一致、模板与目标画面一致。
12.2插件中心:扩展指令,不改本体
插件中心有两页:工具页是本体自带的小工具(局域网文件分享、常用语库、翻页时钟、开发工具箱);插件页用来安装/更新官方插件、启用停用、选择插件工具并打开或卸载(卸载可选保留数据)。启用后插件指令会出现在指令面板对应分类,参数以插件声明为准;写脚本或让 AI 生成时用完整插件 command_id,业务参数直接放 params,不要写宿主内部元数据。

- 插件停用后,引用它的步骤会失效,重新启用即可恢复。
- 插件能力不受本体版本限制,但插件自身的副作用(联网、写文件)仍由你的脚本决定。
12.3MCP 接入:让 AI 直接操作 ImgScript
MCP 是"AI 客户端 ↔ ImgScript"的本地协议。开启后,支持 MCP 的 AI 可以查询指令、创建草稿、校验、保存,并在授权下运行脚本。软件必须处于运行状态。
- 打开"设置 → AI 连接(MCP)",开启"启用本机 MCP"(首次默认关闭)。
- 点"复制连接配置"(开启后可点"一键复制给 AI"拿到脱敏配置和提示词),在 AI 客户端配置里合并
mcpServers.imgscript,不要覆盖其他服务。 - 让客户端重新加载 MCP,先调用
get_capabilities确认连通,再查指令。 - 需要真正执行时,另开"允许 AI 运行脚本";软件原有的额度、目标、输入互斥与安全保护继续生效。
| MCP 工具 | 用途 |
|---|---|
get_capabilities | 检查连接,返回编辑约定与能力边界 |
list_commands / describe_command | 搜索指令、查参数与输出,是写脚本前的必做一步 |
get_usage_guide | 取 workflow、variables、targets、flow、subflows、permissions 指南 |
create_script_draft / update_script_draft | 建草稿、整表替换 steps;每次必须带最新 revision |
validate_script / save_script | 按步骤与字段校验;用最新 revision 保存整个会话 |
get_script | 读回脚本,支持摘要与分页(每页最多 20 步) |
list_resources / import_resource | 列出或导入图像资源(base64 最多 90 万字符) |
run_script / get_run_status / stop_run | 只运行已保存脚本;启动不等于完成,要轮询状态 |
get_run_log / list_audit_log | 读本次会话的运行日志与安全调用摘要 |
list_monitors | 列出显示器设备名与坐标范围,不截图 |
create_subflow / attach_subflow | 创建或关联子流程成员 |
硬性限制:单次更新最多 500 步,请求与结果各最多 1 MiB,列表每页最多 100 项;超出时用 response_mode: "summary" 或分页继续。连接走本机命名管道/本地 socket,没有 TCP 端口或远程访问,凭据用 Windows DPAPI 加密。

12.4手机控制
在"手机控制"页按提示连接 Android 设备后,才能配置 Android 执行目标。手机用逻辑坐标,旋转、分屏或改分辨率后必须重新核对;截图为手机画面,不受桌面浮层遮罩影响。

12.5命令面板与内置帮助
记不住指令名时用命令面板搜索。内置帮助页顶部有软件官网、发帖论坛、QQ 群、哔哩哔哩、更新日志五个入口;左侧是教程目录,顶部可搜索、调字号,右上角"恢复示例脚本"只补缺失的同名示例,"导出文档问 AI"可以把整套帮助导出后交给 AI 阅读。


把这份文档交给 AI:三种用法
这份文档的目标是让 AI 读完就能完成大部分工作。给 AI 时按下面三种场景提要求,效果差别很大。
13.1用法一:让 AI 生成脚本 JSON
把本文档第 8 节(脚本结构)、第 7 节(变量)、第 6 节(重点指令)一起给 AI,并明确要求"参数不确定就标注为待确认,不要编造"。可直接复制这段提示词:
你是 ImgScript 脚本编写助手。请阅读我提供的《ImgScript 资源中心》文档,然后按以下要求产出脚本 JSON:1. 目标:<用一句话描述要完成的业务动作,以及判定成功的标准>2. 运行环境:<Windows 版本、目标软件名称、屏幕分辨率>3. 已知信息:<界面元素长什么样、数据从哪来、要写到哪里>4. 输出要求: - 严格使用文档第 8 节的 JSON 结构,steps 按执行顺序排列; - 每个 ${变量} 都必须在 variable_definitions 中定义,类型正确; - 每个步骤都要有 target_ref,默认用 desktop; - 等待图像、OCR 必须显式设置超时与失败分支; - 参数名如不确定,写 "TODO: 待用 describe_command 确认",不要猜测; - 最后列出:需要我手动截图的模板清单、需要我确认的坐标、可能失败的环节。13.2用法二:让 AI 通过 MCP 直接建脚本
要求 AI 按固定流程走,避免它跳过校验:
请通过 ImgScript MCP 完成脚本,流程固定为:get_capabilities → list_commands 搜索相关指令 → describe_command 确认参数 →create_script_draft 建草稿 → 逐步 update_script_draft(每次带最新 revision,保留已有步骤 id)→validate_script 直到通过 → save_script 保存 → get_script 读回确认。需要运行前先问我是否开启"允许 AI 运行脚本",运行后用 get_run_status 轮询,结束再看 get_run_log。关键约束要一起告诉 AI:steps 是整表替换;单次最多 500 步;修改必须带最新 revision;不确定结果时先查状态,不要重复提交。
13.3用法三:让 AI 看日志排错
把执行日志里的失败步骤名 + 失败原因 + 当次截图(脱敏后)发给 AI,比只发一句"跑不通"有效得多。推荐格式:
脚本:<名称>;第 <n> 步 <步骤名> 失败;错误信息:<原文>;执行目标是:<全桌面/窗口A>;当次截图已附;此前这一步是否成功过:<是/否>。请判断是模板、区域、阈值、等待超时、目标失焦还是权限问题,并给出最小改动方案。排错速查:先看现象,再改参数
| 现象 | 优先检查 |
|---|---|
| 找不到图,一直等到超时 | 模板是否包含会变化的文字;查找区域是否圈错;目标窗口是否在最前;缩放比例是否变了 |
| 点到了旁边 | 执行目标绑定是否正确;点击偏移是否设了负值;窗口是否被移动过 |
| 输入进不去 | 焦点是否在输入框;是否需要先点击;输入法是否拦住了组合键 |
| 循环只跑了一次 | 循环结束是否在循环体内;次数来源是否为空数组;内部是否有跳转提前跳出 |
| 条件永远走同一支 | 比较的两边类型是否一致(字符串 "12" 与数字 12);OCR 是否 found=false |
| 脚本跑完但业务没成 | 是否只看了"执行成功";需要加条件或结果校验步骤 |
| 计划任务不触发 | 任务是否启用;软件是否在运行;cron 时区与系统时间;电脑是否休眠 |
| 内存告警、任务排队 | 调大内存软限制;减少并发;到运行监控确认继续调度 |
| Excel 写坏/没写进去 | 文件是否被 Excel 占用;表头映射是否匹配;是否整步校验失败(此时原文件不变) |
| HTTP 报 SSRF/被拒 | 目标是否是内网或本机地址;需要时显式开启"允许内网" |
使用边界、合规与版本说明
- 只操作你有权操作的系统和数据:自动化不改变业务授权,绕过他人系统权限、批量抓取他人数据都不在支持范围。
- 高风险动作加人工确认:支付、删除、提交审批、对外发送消息,建议在脚本里插弹窗确认或只做"填好不提交"。
- 不用于规避风控或对抗性场景:验证码识别、批量注册、刷量、游戏外挂类用途不属于本工具的设计目标。
- 数据自己负责:日志与截图可能含客户信息,分享前脱敏;便携目录请自行备份。
- 版本差异:本文依据 2.0.8 / 2.0.9 工作区的实际界面与帮助文档整理,个别选项名称与默认值可能随版本微调,以软件内当前界面为准。
配套资源:软件下载见下载页的夸克、百度、UC、QQ 群文件四个入口;激活码在页首"激活码获取地址";版本更新与反馈走 QQ 频道与 QQ 群文件。遇到文档没覆盖的问题,带上执行日志与截图提问,定位会快很多。
