Skip to main content

ok-script

无界面、桌面与 Web 模式

自动化核心现已与 Qt 解耦。使用 ok-script 可无界面运行,使用 ok-script[qt] 启用原有桌面界面,或使用 ok-script[web] 启用 FastAPI 浏览器界面;对应命令为 ok run_taskok guiok web。详见 运行时架构

简体中文 | English

Discord

基于计算机视觉的 Python 自动化框架,面向 Windows 应用、Windows 游戏、安卓模拟器和 ADB 设备。

ok-script 提供 UI、截图与输入、设备控制、OCR、模板匹配、调试浮层、自动化测试、打包和增量更新能力。它使用 COCO 格式管理模板素材,并支持分辨率自适应与多语言界面。

特性

  • 纯 Python 实现,免费开源,可直接使用 pip 生态中的第三方库
  • 同一套任务代码可支持 Windows 客户端、安卓模拟器和 ADB 设备
  • 支持 OCR、OpenCV 模板匹配以及 YOLO 等视觉方案
  • 基于 COCO 标注管理模板素材,并根据屏幕分辨率自动缩放
  • 内置截图、输入、设备控制和可视化调试工具
  • 支持自动化测试、GitHub Actions 构建和安装包发布
  • 支持多语言国际化和在线增量更新

快速安装

ok-script 支持 Python 3.11 及以上版本,推荐使用 Python 3.12。

python -m pip install ok-script

只安装应用所需的依赖配置。default 为无界面模式,Web、Qt、ADB 和 OCR 能力分别按需安装:

python -m pip install "ok-script[default]"
python -m pip install "ok-script[qt]"
python -m pip install "ok-script[web]"
python -m pip install "ok-script[adb]"
python -m pip install "ok-script[ocr]"

ok-script 不会自动选择 OpenCV。用户必须根据自己的应用选择版本,并且只安装 一个变体:opencv-pythonopencv-contrib-pythonopencv-python-headlessopencv-contrib-python-headless

以无界面模式开发本仓库时,同时安装 pyproject.toml 中的 defaultdev 依赖组;再根据需要添加 --group web--group qt--group adb--group ocr

python -m pip install --editable . --group default --group dev

如果要创建完整的自动化项目,建议从 ok-script-app 模板开始,而不是直接在本仓库中编写业务脚本。

文档

文档中心选择适合你的阅读路径:

  1. 游戏自动化入门:了解截图、识别、决策和输入的基本原理
  2. 快速开始:从模板仓库创建并运行第一个项目
  3. 进阶指南:模板匹配、国际化、测试和发布
  4. API 参考BoxBaseTask 及常用任务 API

想先体验完整工具链,也可以使用基于 ok-script 的按键精灵项目 ok-py

界面预览

任务配置 截图与交互
任务配置界面 截图与交互界面
脚本与 API 模板管理
脚本与 API 界面 模板管理界面

查看界面与开发工具完整说明,包括模板识别调试浮层。

使用 ok-script 的项目

社区与发布

致谢

ok-script 的开发离不开以下开源项目:

  • PyAppify:用于应用更新和打包。
  • OnnxOCR:提供支持 Intel NPU 的 OCR, 支持通过 OpenVINO 或 ONNX Runtime 推理,并使用 PaddleOCR v5 模型。
  • PySide6:提供基于 Qt 的桌面界面绑定。
  • PyQt-Fluent-Widgets:Qt 界面使用的 Fluent UI 组件。
  • OpenCVNumPyPillow:用于图像处理和计算机视觉。
  • FastAPIUvicornpywebview:用于 Web 界面支持。
  • adbutils:用于 Android 设备连接。

上述依赖均受其各自许可证约束,详情请参阅对应项目页面。

许可证

本项目采用 Apache License 2.0 + Commons Clause 及附加条款

允许的使用方式:

  • 可用于闭源项目或商业项目。
  • 可以 fork、本项目改进,并保持 fork 开源且免费。

限制:

  • 禁止直接出售本项目,或仅改名、稍作修改后将其作为竞争产品出售或推广。
  • 禁止将本项目用于黑客攻击、未授权访问、恶意软件、欺诈或其他违法活动。
  • 任何使用 ok-script 的项目,都必须在项目网站、GitHub 或软件本身至少一处提及并链接 ok-script.comok-script GitHub
  • Qt UI 的使用还必须遵守 PyQt-Fluent-Widgets 的许可证。

Release files for ok-script 2.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ok-script 2.0.1
File Size Uploaded
ok_script-2.0.1.tar.gz 1.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for ok-script 2.0.1
File Interpreter ABI Platform
ok_script-2.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 2.2 MB

Release files / ok_script-2.0.1.tar.gz

Download URL ok_script-2.0.1.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
3626d09e9ee88daafd077ec4e46d7a982f6e496d6905c0ba37770dc76c82ed41
BLAKE2b-256 checksum
How to use checksums
8c699d94331abd7cfa8eda91c8915f7c40da6ad580171acd7c651aa77253d9a9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / ok_script-2.0.1-py3-none-any.whl

Download URL ok_script-2.0.1-py3-none-any.whl
Size 1.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
304198b9ce7e3b520d41593e3b4c14c082c7bb4a59cc8c1422173400703c8c25
BLAKE2b-256 checksum
How to use checksums
986f050422d14d291dbfa9202e3bd0d1914ea3b762c81f586053217e8e983265
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

2.0.6

2 release files

2.0.5

2 release files

2.0.4

2 release files

2.0.3

2 release files

2.0.2

2 release files

This release

2.0.1 This release

2 release files

2.0.0

2 release files

1.0.178

1 release file

1.0.87

2 release files

1.0.86

2 release files

1.0.85

2 release files

1.0.84

2 release files

1.0.83

2 release files

1.0.82

2 release files

1.0.81

2 release files

1.0.80

2 release files

1.0.79

2 release files

1.0.78

2 release files

1.0.77

2 release files

1.0.76

2 release files

1.0.75

2 release files

1.0.74

2 release files

1.0.64

2 release files

1.0.63

2 release files

1.0.62

2 release files

1.0.61

2 release files

1.0.60

2 release files

1.0.59

2 release files

1.0.58

2 release files

1.0.57

2 release files

1.0.56

2 release files

1.0.55

2 release files

1.0.54

2 release files

1.0.53

2 release files

1.0.52

2 release files

1.0.51

2 release files

1.0.50

2 release files

1.0.49

2 release files

1.0.48

2 release files

1.0.47

2 release files

1.0.46

2 release files

1.0.45

2 release files

1.0.44

2 release files

1.0.43

2 release files

1.0.42

2 release files

1.0.41

2 release files

1.0.40

2 release files

1.0.39

2 release files

1.0.38

2 release files

1.0.37

2 release files

1.0.36

2 release files

1.0.35

2 release files

1.0.34

2 release files

1.0.33

2 release files

1.0.32

2 release files

1.0.31

2 release files

1.0.30

2 release files

1.0.29

2 release files

1.0.28

2 release files

1.0.27

2 release files

1.0.26

2 release files

1.0.21

2 release files

1.0.20

2 release files

1.0.19

2 release files

1.0.18

2 release files

1.0.17

2 release files

1.0.16

2 release files

1.0.15

2 release files

1.0.14

2 release files

1.0.13

2 release files

1.0.12

2 release files

1.0.11

2 release files

1.0.10

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page