# WorkTool: an Android accessibility bot for WeCom and WeChat group management

> WorkTool drives a real WeCom or WeChat account on a physical Android phone through the system accessibility service, exposing the actions over HTTP APIs. The GitHub code is a frozen open source snapshot; the maintained product is commercial.

**gallonyin/worktool** — 一款安全稳定的Android无障碍服务工具，支持控制企微/微信来运行的无人值守群管理企业微信机器人

- Repository: https://github.com/gallonyin/worktool
- Stars: 2,721 · Forks: 571
- Language: Kotlin
- License: Apache-2.0
- Published: 2026-09-28 · Updated: 2026-09-28 · Language: en
- Canonical page: https://hysenlabs.com/projects/gallonyin-worktool

## What WorkTool automates and who it is built for

WorkTool runs an unattended group-management bot on top of an ordinary WeCom or WeChat account. You supply a phone that can run either client, log in an account you are willing to treat as the robot, and the app performs the actions a person would: sending and receiving messages, creating groups, inviting and removing members. A backend then calls HTTP APIs to trigger those actions, so the automation logic lives outside the phone and the phone becomes an execution surface.

The intended user is a developer or an operations team that already runs WeCom groups and wants scripted control over them without a PC-side RPA stack. The README is explicit that developers can compile the source themselves for testing and learning, while anyone without engineering capacity is pointed at a packaged APK. That split matters: the repository is positioned as reference material, not as the shipping product.

The README also states the app is compatible with 99% of Android phones, and that it needs no root. That claim is the project's own, and it is the kind of number that should be verified on your own hardware rather than taken as a specification.

## The accessibility mechanism, and why there is no hook

The automation rests on Android's official accessibility service. WorkTool reads the view tree that WeCom or WeChat exposes to accessibility clients, locates the controls it needs, and dispatches gestures and text input against them. The README describes this as a self-built automation framework with no hook functions, no injection, no memory modification, and contrasts it directly with PC-side RPA.

That design has a concrete consequence. Because nothing is patched inside the target app, the bot depends on the accessibility node identifiers and screen layout that the client version happens to expose. When Tencent changes a screen, a label, or the way a list is rendered, the selectors can stop matching, and the fix has to happen in WorkTool. The release history reflects exactly this rhythm: entries such as compatibility with WeCom 4.1.10, compatibility with WeCom 4.1.9, and control-retrieval optimisation recur across versions. The changelog is largely a record of chasing client updates.

The same architecture explains the legal framing in the README. It cites a government notice requiring apps to be accessibility-friendly and argues that accessibility is the only officially supported automation path. Whether that argument holds for your deployment is a question for your own compliance review, not something the repository settles.

## Repository layout and what the open source snapshot contains

The top level holds app/, baselibrary/, floatwindow/, a Gradle wrapper, and the usual build files. The split suggests a modular Android project: app/ for the main application, baselibrary/ for shared logic, floatwindow/ for the on-screen start and stop control mentioned in the v2.4.1 changelog entry. The primary language is Kotlin and the licence is Apache-2.0.

What the snapshot does not contain is current code. The README carries a status note stating that the GitHub repository provides an open source historical version for learning and secondary development, and that the commercial version continues to be maintained with support for new WeCom and WeChat releases. The last push to the repository was on 2026-09-17, but the newest release listed is 2.8.0 from 2023-10-18, and the changelog in the README runs to v2.8.1 dated 2023-11-19. A recent push alongside a release list that stops three years earlier is consistent with repository housekeeping rather than new feature work, and the README's own status note supports reading it that way.

So the code you can clone is a 2023-era framework. It is complete enough to study, and the README says it can be compiled and run, but it is not the build that tracks today's client versions.

## Building the Android app and calling the API once

The README gives two routes: compile the source yourself, or install the packaged APK it links. It does not publish a build command, so the repository's checked-in Gradle wrapper is the entry point. The repository root contains gradlew and gradlew.bat, which are the Unix and Windows launchers for that wrapper.

```bash
# from the repository root
./gradlew
```

On Windows, use gradlew.bat in the same directory. The build files at the top level are build.gradle, settings.gradle and gradle.properties, and the application module is app/, so any task you run is resolved against those. The repository layout does not document the output path, so check the module's build configuration rather than assuming one.

After installing the app on the phone, you enable it as an accessibility service in Android settings, log in the WeCom or WeChat account you are dedicating to the bot, and start the service. The v2.4.1 changelog entry mentions integrating a floating-window start and stop function, which is the control that corresponds to floatwindow/ in the repository. From there the backend drives it over HTTP.

The README points to the API documentation and calling examples at worktool.apifox.cn for request shapes, because the README itself does not list endpoints.

```bash
# the README's only concrete pointer for API usage
# https://worktool.apifox.cn/doc-850007
```

One practical note on the packaged build: the download link in the README is annotated as updated 2026-08-26 and lists compatibility with WeCom 4.1.8 to 4.1.39 and 5.0.0 to 5.0.10. Those ranges are the version window the maintainers claim for that binary, and they are the first thing to check against the client installed on your phone.

## Where WorkTool breaks, and when it is the wrong choice

The failure mode is version drift. Every automation step targets controls exposed by a specific client build, so a WeCom or WeChat update can silently break a workflow that worked yesterday. The open source snapshot cannot be patched by the maintainers for you, because the README states the commercial line is where ongoing client adaptation happens. If you build on the GitHub code, you own that maintenance.

The second limitation is physical. The README requires you to provide a phone that can run the client. This is not a headless server process. The device has to stay powered, connected, and logged in, and the account on it is a real account subject to the platform's rules. The README warns that accounts previously banned or muted should not be used with the tool at all, and that behaviour violating Tencent's operating rules or national law is out of scope. That is a hard boundary, not a disclaimer to skim.

Finally, the README's compatibility claims (99% of Android phones, long-running stability) are assertions from the project, not measurements you can check from the repository. If your deployment depends on uptime, that is something you establish on your own devices.

## How this differs from PC-side RPA and from the official WeCom API

The README draws its own comparison: WorkTool is not PC-side RPA. A PC RPA tool typically drives the desktop client by simulating input at the operating-system level, which usually means a machine per account, a graphical session that must stay alive, and no insight into the application's internal structure. WorkTool instead reads the accessibility tree on the phone, which gives it named controls to target rather than pixel coordinates. The trade-off is that it inherits the phone as a dependency and is bound to the mobile client's view hierarchy.

There is a second alternative the README does not discuss but that matters for the decision: WeCom's own official APIs. Those are supported interfaces with stable contracts, and they do not require a phone or an accessibility service. They also do not cover everything a logged-in client can do, which is the gap this kind of tool exists to fill. If your task is reachable through the official APIs, the accessibility route adds a device, a client-version dependency, and account risk for no gain.

## Licence, maintenance and what an upgrade actually costs

The code is Apache-2.0, which permits commercial use, modification and redistribution provided you keep the licence and notices intact. That covers the source in this repository. It does not grant anything with respect to the commercial version, the hosted API documentation, or the packaged APK, and it says nothing about Tencent's terms for automating a WeCom or WeChat account. Those are separate questions, and the licence text is not legal advice for your situation.

The maintenance picture is the sharper issue. The repository is not archived, and its last push was on 2026-09-17, but the newest release is 2.8.0 from 2023-10-18 and the README's changelog stops at v2.8.1 in November 2023. The README states plainly that the open source version is historical and that ongoing adaptation happens in the commercial product. Upgrading the open source code therefore means upgrading it yourself: tracking client releases, re-testing control lookups, and absorbing the breakage each time WeCom or WeChat changes a screen. Budget for that as recurring work, not a one-time setup.

## Conclusion

Adopt the open source code if you want to read or extend a Kotlin accessibility-driven automation framework and you accept that the released history stops at 2023 while the commercial line continues. Do not adopt it if you need a supported build tracking current WeCom or WeChat versions, or if your account has ever been restricted. Before anything else, confirm which client versions the APK you intend to run actually supports, and test against a spare account rather than a production one.

## FAQ

### What is WorkTool and what does it do?

WorkTool is an unattended group-management bot that runs on top of a WeCom or WeChat account on an Android phone. It uses Android's accessibility service to perform actions such as sending and receiving messages, creating groups, and inviting or removing members, driven by HTTP API calls from a backend.

### Does WorkTool need root or a modified WeChat client?

The README states the app uses Android's official accessibility service with a self-built automation framework, with no hook functions, no injection, no memory modification, and no need to root the phone. It contrasts this directly with PC-side RPA.

### Which WeCom versions does the WorkTool APK support?

The README's download link, annotated as updated 2026-08-26, lists compatibility with WeCom 4.1.8 through 4.1.39 and 5.0.0 through 5.0.10. That range applies to that packaged build, so check it against the client on your phone.

### Is the GitHub version of WorkTool still updated?

The README states the GitHub repository provides an open source historical version for learning and secondary development, while the commercial version continues to be maintained and adapted to new WeCom and WeChat releases. The newest release listed is 2.8.0 from 2023-10-18, and the changelog in the README ends at v2.8.1 in November 2023.

### Can I use WorkTool with an account that was previously banned or muted?

No. The README says that if your account has previously been banned or muted, do not use this tool, and that behaviour violating Tencent's operating rules or national law is out of scope.

### Where are the WorkTool API docs?

The README points to the API documentation and calling examples at worktool.apifox.cn. The README itself does not list endpoints, so that site is the reference for request and response formats.

## Sources

- [gallonyin/worktool on GitHub](https://github.com/gallonyin/worktool)
- [Issues](https://github.com/gallonyin/worktool/issues)
- [License: Apache-2.0](https://github.com/gallonyin/worktool/blob/master/LICENSE)
- [README](https://github.com/gallonyin/worktool/blob/master/README.md)
- [Releases](https://github.com/gallonyin/worktool/releases)

---

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