# RMT: An AutoHotkey Macro Tool With Visual Recognition and OCR

> RMT is a free, open source macro tool built on AutoHotkey v2 that records and plays back keyboard, mouse, gamepad and menu macros, adds image, colour and text recognition, and supports logic, flow control and multithreaded execution. Its configuration files can be shared through a public repository, and the project ships a ten minute getting started guide.

**zclucas/RMT** — RMT (RuoMengTu) is a free, open-source macro tool built on AHKv2. Let the code handle the tedious work—you have more meaningful things to do.

- Repository: https://github.com/zclucas/RMT
- Website: https://forum.ruomengtu.com/
- Stars: 1,172 · Forks: 96
- Language: AutoHotkey
- License: AGPL-3.0
- Published: 2026-10-19 · Updated: 2026-10-19 · Language: en
- Canonical page: https://hysenlabs.com/projects/zclucas-rmt

## A Macro Tool Built on AutoHotkey v2

RMT, which is short for RuoMengTu, is a free, open source macro tool built on AutoHotkey v2, and the pitch in one line is to let the code handle the tedious work so you have more meaningful things to do.

The choice of AutoHotkey v2 as the base is the design decision that shapes everything. AutoHotkey is a scripting language built for Windows input, and v2 is its current language revision with a different syntax from v1. Building on it means the tool inherits Windows input handling, the ability to script anything on the desktop, and a large body of existing knowledge about how to do this.

The repository layout reflects a full application rather than a script collection. There is RMT.ahk at the root as the entry point, and then directories for the interface in Gui/, the core in Main/, the language files in Lang/, plugins in Plugins/, the audio work in Audio/, the gamepad work in Joy/, threading in Thread/, the web components in Web/, the tooling in MinTool/, the release builds in ReleaseX64/ and ReleaseX86/, and the images and assets. There is also a PackRMT.ps1 script, which is the packaging step, and a Web/ directory with an index.html, which is the configuration sharing site.

The primary language recorded for the repository is AutoHotkey, with the interface being a Windows application in that language rather than a web front end.

## Four Kinds of Macro

The feature list names the macro types explicitly, and each one exists because the input device is different.

There is keyboard macro, mouse macro and gamepad macro recording and playback, and then a fourth kind that is specific to this project, the menu macro. The repository topics list them as key-macros, gamepad-macros, image-recognition, menu-macros, ocr and timed-macros, so the four that the topics name are key, gamepad, menu and timed, with the image and OCR support underneath them.

A menu macro is the one worth explaining, because the name is not self-evident from an English description. In this context it means a macro that navigates a menu by recognising what is on screen, which is what makes the image recognition support a first class feature rather than an add-on: a macro that clicks a button in a menu has to find the button first.

The recording and playback model is the classic one. You record the inputs, you replay them, and the tool handles the timing. What makes it more than a recorder is the recognition layer and the logic layer described in the next two sections.

## Visual Automation: Image, Colour and Text Recognition

The visual capabilities are the differentiator, and the README lists them as picture recognition, colour recognition and text recognition, so a macro can react to what is on screen rather than only replaying a fixed sequence of inputs.

Picture recognition finds a known image on screen and acts on it, which is how a menu macro locates its target. Colour recognition does the same for a colour, which is cheaper than an image match and is the usual way to detect a state change, for example a button becoming enabled.

Text recognition is the strongest of the three, and the feature timeline says when it arrived, with ButtonAssist 6.0 adding text recognition capability. Reading text off the screen is what allows a macro to copy a value from one application and use it in another, and the later release notes mention text support with regular expressions, so the recognition is not limited to exact matches.

The cost of all this is fragility, and the project is honest about it by continuing to ship new recognition features rather than pretending the problem is solved. A macro driven by screen content breaks when a control moves or a font changes, and the timed macros in the feature list are the other half of the answer, since a fixed schedule survives a layout change but not a change in timing.

## Logic, Flow Control and Multithreading

The remaining capability is control flow, and the feature list names logical judgement, flow control and multithreaded execution.

That is the part that separates a macro recorder from a small automation language. A recorder replays; a tool with conditions and loops can wait for a state before acting, can retry, and can branch. The feature timeline shows when each piece arrived, with RMT 1.0 described as an enhancement of the logic instructions, and RMT 1.0.5 adding multithreading and instruction chaining, where chaining is the ability to have one macro trigger another.

The Thread/ directory in the repository is the implementation of the concurrency, and the MinTool/ directory is the supporting tooling.

There are also two features that are not about macros at all. RMT 1.1 added background search together with Excel read and write, so the tool can search for something on screen in the background and work with spreadsheets, which is a different job from pressing keys, and the repository includes a Web/ directory and an index.html, which is the basis for the shared configuration site.

## The Feature Timeline Shows the Direction of Travel

The version history in the README is a table of releases and feature highlights, and reading it in order tells you what the project is for.

The early versions were named ButtonAssist, and they show the tool finding its feet. ButtonAssist 1.0 was the first version. 2.0 added triggering on a specified process. 3.0 brought picture search. 4.0 added the graphical editor and gamepad macros. 5.0 introduced macro instruction recording. 6.0 added text recognition.

Then the rename to RMT, with 1.0 as an enhancement of the logic instructions. 1.0.5 added multithreading and instruction chaining. 1.0.6 added gamepad macro recording and multi-point colour picking. 1.0.7 added timed macros, custom textures and configuration management. 1.0.8 brought live streaming interaction and support, and then in the same version the menu macro arrived with shareable configurations. 1.0.9 was a big editor upgrade with a variable monitor. 1.1 added background search and Excel read and write. 1.2 added graphical editing and interface macros.

Every one of those entries links to a video on Bilibili, so the project's documentation is a series of demonstrations rather than prose, which is a reasonable choice for a tool whose output is a sequence of actions on screen.

The releases themselves are RMTv1.2.2 from 2026-08-29, RMTv1.2.1 from 2026-08-23 and RMTv1.2 from 2026-08-22, so the 1.2 line has been getting small updates, and the last push was on 2026-10-14.

## Distribution, Mirrors and the Shared Configuration Repository

The download section is arranged as a table of sources, and it says more about the audience than a standard release page would.

There is GitHub, which is where the latest version is published first, and Gitee, described as faster for domestic access, plus Baidu Netdisk and Aliyun Drive as backup channels. The README warns that downloading the software from Aliyun Drive or Baidu Netdisk may give you an incomplete file, or the system may falsely flag and delete part of it, which is a real hazard for a tool that is a scripting runtime and therefore looks like a suspicious executable to some antivirus products.

The configuration sharing repository is the other half of the distribution model. RMT supports users freely sharing and downloading macro configuration files, with a repository hosted at zclucas.github.io/RMT-Setting/, and you can upload macros you recorded or edited. The README notes that if the default browser cannot reach it, try a different one.

So the model is a tool plus a library of ready-made configurations, and the library is maintained by the community rather than by the author, which is the same pattern every macro tool converges on.

The community channels are a QQ group, a QQ channel, GitHub Discussions and a Discord server, and the author asks for donations, with WeChat and Alipay as the payment options, or a star and a share as alternatives.

## What the Disclaimer and the Licence Actually Say

Two files sit at the top of the repository that are worth reading before installing anything, and they are linked in the header of the README.

There is a DISCLAIMER.md, linked as the disclaimer, and a LICENSE file linked as the open source licence, and the project description states that RMT is a free, open source project. The platform's own licence field is listed as AGPL-3.0, which is the copyleft licence for software, so if you modify it and distribute it you owe source.

The disclaimer matters for a different reason. The feature list says the tool can be applied widely to scenarios such as game assistance, office automation and script execution, and a tool that can watch the screen, read text and press keys can be used in ways its author has no control over. Reading what the author says about that before you point it at something is the sensible order of operations.

The English README is in the repository as README.en.md, alongside the Chinese original, and the getting started guide is published separately at zclucas.github.io/RMT/, described as a ten minute introduction to the core terms and the configuration logic.

## Conclusion

RMT fits a Windows user who repeats the same mouse and keyboard operations and wants the tedious part recorded rather than typed, and who is willing to fix a macro when a UI moves, because the visual recognition approach is inherently sensitive to layout changes. It is a poor fit if you need unattended, reliable automation, since a macro driven by screen recognition breaks the moment the interface changes, and it is a poor fit if you want a headless service, since the tool is built around AutoHotkey v2 on Windows. Before installing, read the disclaimer in the repository, check that the AutoHotkey v2 runtime is present, and expect the shared configuration repository to be a useful starting point rather than a finished setup. The project is AGPL-3.0 licensed, the newest release is RMTv1.2.2 from 2026-08-29, and the last push was on 2026-10-14.

## FAQ

### What is RMT and what is it built on?

RMT, short for RuoMengTu, is a free, open source macro tool built on AutoHotkey v2. It aims to let the code handle the tedious work, and it is written for Windows, with the primary language recorded as AutoHotkey and a repository layout covering the interface, core, plugins, audio, gamepad, threading and web directories.

### What kinds of macros does RMT support?

Keyboard macros, mouse macros, gamepad macros and menu macros, with recording and playback for each. The repository topics name key macros, gamepad macros, menu macros, image recognition, OCR and timed macros as the feature areas.

### What visual recognition can RMT do?

The feature list names picture recognition, colour recognition and text recognition, so a macro can act on what is on screen rather than only replaying a fixed input sequence. Text recognition arrived in the ButtonAssist 6.0 release, and the release notes mention text support with regular expressions.

### Can I share RMT macro configurations?

Yes. The project supports users freely sharing and downloading macro configuration files, through a shared repository hosted at zclucas.github.io/RMT-Setting/, where you can upload macros you recorded or edited.

### Where do I download RMT from?

From the GitHub releases, which is where the latest version is published first, from the Gitee mirror for faster domestic access, and from Baidu Netdisk or Aliyun Drive as backup channels, with a warning that files downloaded from the two cloud drives may be incomplete or partly deleted by antivirus software. The project is AGPL-3.0 licensed and the newest release is RMTv1.2.2 from 2026-08-29.

## Sources

- [License: AGPL-3.0](https://github.com/zclucas/RMT/blob/master/LICENSE)
- [Project website](https://forum.ruomengtu.com/)
- [README](https://github.com/zclucas/RMT/blob/master/README.md)
- [Releases](https://github.com/zclucas/RMT/releases)
- [zclucas/RMT on GitHub](https://github.com/zclucas/RMT)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/zclucas-rmt
