neuron-explorer
Qwen3.5‑4B 전용 조향형 뉴런 탐색기, 모든 MLP 뉴런을 밀어 결과를 보관·탐색
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Wingman is a high-performance game automation engine.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
本工具仅供合法场景使用,包括但不限于:自动化测试、可单机游戏辅助、无障碍辅助等。 使用本工具违反任何游戏或软件的用户协议所导致的后果,由使用者自行承担。 作者不对因使用本工具而产生的任何法律责任负责。 • 🚀 高性能 - C++ 核心引擎,Lua/Python 脚本执行,毫秒级响应 • 🐍 多语言 - 同时支持 Lua 和 Python,统一 API 接口 • 🔒 安全可靠 - 纯用户态运行,使用合法平台 API,不读写游戏内存 • 🎮 可编程 - 脚本控制,灵活扩展,支持复杂业务逻辑 • 🌐 跨平台 - 支持 Windows、macOS、Linux,统一接口抽象;Android 实验性支持、iOS 规划中(平台支持详情) 部分高级模块(OCR、ML/YOLO、远程编排、脚本调试器)依赖可选组件或仍处于持续建设中。默认可用能力以当前构建配置、运行时参数和对应 API 文档为准。 • Windows: Windows 10/11 + Visual Studio 2022 • macOS: macOS 12+ + Xcode 14+ • Linux: Ubuntu 22.04+ + GCC 11+ • 通用: CMake 3.20+ + vcpkgREADME 전문 보기 ↗
English | 中文
Cross-platform programmable automation agent and remote orchestration platform (game automation is the first vertical)
An automation agent runtime in C++ + Lua/Python, with a Go remote orchestration control plane
In one sentence: register Windows / macOS / Linux / Android machines as agents and control them with scripts, vision, input, OCR/ML and workflows. Game automation is the most polished vertical, but the control plane and execution plane were designed as a general agent platform from day one.
English | 简体中文
Docs · Quick Start · Platform Support · API Reference · Examples · Contributing
[Disclaimer]
This tool is provided for lawful use cases only, including but not limited to: automated testing, single-player game assistance, and accessibility support. Any consequences of violating the terms of service of any game or software with this tool are borne solely by the user. The author assumes no legal liability arising from the use of this tool.
Demo site https://wingman.cuihairu.site/ | Demo account demo / Wing-demo-Isx4Dvm7eSd6-26! (for trial only, data is reset periodically)
The demo site is deployed and rolled back automatically by CI (released only when all main-branch tests pass). Data is reset periodically and it is intended for trial use only; the demo account has the read-only
viewerrole.
wingman.* API| Module | Description |
|---|---|
| Screen operations | Screenshots, pixel detection, color matching, image search |
| Input simulation | Mouse click/move, key send, text input |
| Window management | Find window, activate window, get position |
| Trigger system | Pixel/image/time condition triggers that execute actions automatically |
| Macro recording | Record mouse and keyboard actions, save as scripts for playback |
| UI Automation | Windows UIA automation for operating UI controls |
| OCR | Tesseract text recognition (optional dependency) |
| Data persistence | kv key-value store, SQLite database |
| Serialization formats | JSON, INI configuration file parsing |
| File IO | File read/write (binary-safe), move/copy, directory operations (wingman.file) |
| Global hotkeys | Polling global key-state monitoring, combo-key callbacks (wingman.hotkey, Python callbacks) |
| Notifications | Log/Toast/Webhook/event bridging, script tray intents (wingman.notify) |
| Debugging | VS Code Lua hints extension; breakpoint debugging planned (script debugger is a stub placeholder) |
| Android Agent | On-device Android agent (experimental, arm64 / Android 9.0+); outbound TCP to the Go control plane, script API mirrors the desktop runtime (input/screen/vision subset), unified dispatch and visibility from the Dashboard |
| Remote orchestration | Agent registration/heartbeat/command dispatch (16-byte header + JSON frames, per-command timeout), batch operations (fan-out by ID/tag selectors), DAG workflows, RBAC/audit, Guacamole remote desktop (Go control plane) |
Some advanced modules (OCR, ML/YOLO, remote orchestration, script debugger) depend on optional components or are still under active development. Default availability follows the current build configuration, runtime parameters and the corresponding API docs.
Install the wingman-agent single binary with one command (auto-detects OS and CPU architecture, anonymous download, no GitHub login required; re-running upgrades in place):
Linux / macOS:
curl -fsSL https://raw.githubusercontent.com/cuihairu/wingman/main/scripts/install.sh | bash
Windows (PowerShell):
irm https://raw.githubusercontent.com/cuihairu/wingman/main/scripts/install.ps1 | iex
Optional parameters (use bash -s -- on Linux/macOS, a scriptblock on Windows):
# Pin a version + register as a persistent service (Linux: systemd user unit; macOS: launchd)
curl -fsSL https://raw.githubusercontent.com/cuihairu/wingman/main/scripts/install.sh | bash -s -- --version nightly --service
# Pin a version + register a Windows service (admin required; the service runs in Session 0, headless only)
& ([scriptblock]::Create((irm https://raw.githubusercontent.com/cuihairu/wingman/main/scripts/install.ps1))) -Version nightly -Service
| OS | Architecture | Artifact |
|---|---|---|
| Linux | x86_64 (x64) / aarch64 (arm64) | wingman-agent-*-linux-{x64,arm64}.tar.gz |
| macOS | x86_64 (x64) / arm64 (Apple Silicon) | wingman-agent-*-macos-{x64,arm64}.tar.gz |
| Windows | x64 / arm64 | wingman-agent-*-windows-{x64,arm64}.zip |
Notes:
~/.local/bin (Linux/macOS) or %LOCALAPPDATA%\Programs\Wingman\bin (Windows), then runs wingman-agent --version automatically to verify--token/-Token (or the GITHUB_TOKEN environment variable) to raise itgit clone https://github.com/Microsoft/vcpkg.git C:\vcpkg
C:\vcpkg\bootstrap-vcpkg.bat
C:\vcpkg\vcpkg integrate install
Windows:
# Build
build-scripts\build-runtime-msvc-ninja.bat
# Run a Lua script
.\build-msvc-ninja-vcpkg\apps\agent\wingman-agent.exe script examples\lua_scripts\hello.lua
For detailed build steps see the Build Guide
On-device Android agent (experimental, arm64 / Android 9.0+): outbound TCP to the Go control plane,
with a script API that mirrors the desktop runtime (wingman.input / wingman.screen /
wingman.vision); dispatched and monitored uniformly from the Dashboard.
Capability list
| Capability | Description |
|---|---|
| Gesture injection | Accessibility-service injection of tap/swipe (wingman.input.tap / swipe / delay) |
| Screen capture | Real-time MediaProjection screen capture (produces frames while the screen is on) |
| Color/image search | wingman.vision.findColor / findImage (OpenCV template matching, compiled into the NDK) |
| Remote screenshots | Dashboard workflow screenshot steps render directly on screen (same shape as desktop) |
| Token auth | Server-side WINGMAN_AGENT_TOKENS registration-token whitelist (off by default, may be left empty) |
| Keep-alive | Boot autostart, crash auto-restart (exponential backoff), 30s core watchdog, device-specific keep-alive guidance and restricted-settings guidance |
Getting the APK
The nightly Release's wingman-*-android-arm64.apk (debug signed):
wingman-<date>-nightly-<sha>-android-arm64.apk from Assets
(nightly builds daily, only the latest of the day is kept)Quick start
Start the Go server (orchestrator/server; Dashboard on port 9527, agent port 8888).
Install the APK on the phone (same network segment as the server), open the app → enter the
server IP / port / device ID → "Start Agent". The first start creates a persistent notification
(a foreground-service requirement); if the server has WINGMAN_AGENT_TOKENS configured
(registration-token whitelist), enter the registration token as well.
The device appears in the Dashboard's agent list (platform=android).
Create a script and run it on that device, with logs streamed back in real time:
print('hello android')
Enable A2 capabilities: in the app, turn on the injection service under "Accessibility settings" and grant "Start screen capture" (on Android 14+ each new capture session prompts again — a system constraint), then dispatch a color-search/gesture script:
local pt = wingman.vision.findColor(0xE23B3B, 10)
if pt then wingman.input.tap(pt.x, pt.y) end
wingman.input.swipe(540, 1800, 540, 600, 400)
Remote screenshots: add a screenshot step to a Dashboard workflow targeting the device → the screenshot renders on screen.
On Android 13+, accessibility services sideloaded via APK are blocked by "restricted settings" by default: system settings → Apps →
Wingman Agent → ⋮ → Allow restricted settings, or connect a computer and run
scripts/android-restricted-settings.sh allow to pre-authorize (the app also offers in-app guidance).
For detailed acceptance steps, known limitations and A3 reliability validation see apps/android/README.md; design and protocol docs at docs/android-agent-design.md; device keep-alive at docs/guides/android-keep-alive.md.
local wingman = require("wingman")
-- Take a screenshot (capture returns a boolean: success or not)
local ok = wingman.screen.capture()
-- Find a color and click it
local points = wingman.screen.findColor(0xFF0000, {x = 0, y = 0, width = 1920, height = 1080}, 10)
if points then
for _, p in ipairs(points) do
wingman.input.click(p.x, p.y, 0)
end
end
from wingman import screen, input
# Take a screenshot (capture returns a boolean: success or not)
ok = screen.capture()
# Find a color and click it
points = screen.findColor(0xFF0000, {"x": 0, "y": 0, "width": 1920, "height": 1080}, 10)
if points:
for p in points:
input.click(p["x"], p["y"])
More examples in the example docs
Wingman uses a C++ core engine + multi-language scripting architecture:
For details see the architecture doc
This project is built on open-source components, primarily:
lua port, sol2 bindings), Python 3 (pybind11 embedding)See the development guide for how to contribute.