Analysis updated 2026-05-18
Control phone hardware like flashlight, vibration, or notifications from Termux using plain English commands.
Give a larger AI agent a reliable, validated way to issue device-control commands without hallucinated flags.
Add custom CLI tools to the config file so the model can control other programs on the phone.
| abod707/sting | 132ikl/game | 1lystore/pay-dcp | |
|---|---|---|---|
| Stars | 2 | 2 | 2 |
| Language | Rust | Rust | Rust |
| Last pushed | — | 2020-12-30 | — |
| Maintenance | — | Dormant | — |
| Setup difficulty | moderate | moderate | moderate |
| Complexity | 3/5 | 2/5 | 3/5 |
| Audience | developer | general | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires Termux plus the separate Termux:API app, and a several-minute on-device Rust build.
Sting is a command line tool that lets you control your Android phone's hardware from Termux by typing plain English requests, such as turning on the flashlight, sending a notification, or reading a sensor. Instead of remembering exact command syntax, you type what you want and a small on-device AI model translates it into the correct Termux command with the right arguments. The tool is written in Rust and runs a 26 million parameter model entirely on the phone. There is no cloud service and no server involved, everything happens locally after you install a single binary plus about 52 megabytes of model weights. The model was trained specifically on the set of commands the Termux:API package provides, so it understands requests like adjusting brightness, checking battery level, or vibrating the device for a set time. Safety is built into how commands are executed. Every command is built as a plain list of arguments rather than run through a shell, which avoids a common class of security bugs. The tool also asks for confirmation before running a command unless you explicitly skip that step, and sensitive actions like reading text messages or contacts are not included by default. You can teach sting new tools by adding entries to a tools.json configuration file, describing a command's name, what it does, and its parameters, and the model will generalize to new tools reasonably well. For heavier use of custom tools, the project explains how to further train the model on your own examples. Beyond direct phone control, sting is also designed to work as a building block for other AI agents. A larger AI system can hand off a plain English instruction, and sting turns it into a validated command with no invalid options possible, since the decoding process is constrained to only produce commands and arguments that actually exist. The project also doubles as a teaching example for people learning Rust, with a companion guide mapping parts of the code to standard Rust learning material.
A Rust CLI that turns plain English requests into Termux phone-control commands using a small on-device AI model, fully offline.
Mainly Rust. The stack also includes Rust, Termux, candle.
The base model is MIT licensed, the README does not state the license for the sting project itself.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.