A tool by profuctions

Volley AI

A patient hand that fires lines into the window beside it.

Status
Open Source
Platform
Windows · Python 3.10+
License
MIT

What it is.

01 · INTRO

Volley is a small desktop tool that takes a list of commands — or messages, prompts, anything line-based — and feeds them, one by one with a configurable delay, into whatever window you point it at. Built for queuing up repetitive paste-and-Enter work without babysitting the keyboard.

Two frontends, one engine: a polished WebView-based UI with a smoke-highlight that follows the active line down the textarea, and a snappy Tkinter window for instant launch. Both share the same QueueRunner.

Features.

02 · SIX SHOTS
F.01 Auto-paste + Enter Into any focused window — Claude Code, terminals, Grok, chat apps, anywhere with a text input. One line at a time, with the wait baked in.
F.02 Target window locking Captures the foreground window after countdown and refocuses it before each paste, so focus drift never sends keystrokes to the wrong app.
F.03 Return focus Hands focus back to whatever you were using right after each paste. The queue keeps running; you keep working.
F.04 Gun-scope picker Fullscreen crosshair overlay to point Volley at any pixel on screen for the pre-paste focus click. For when the target isn’t sitting next to Volley.
F.05 Loop modes Off · 3× · 5× · 10× · 1h · ∞. Run a pass, run ten, run for an hour, run forever — until you hit Stop.
F.06 Fail-safe Slam your mouse into the top-left corner of any screen to abort instantly. PyAutoGUI’s built-in panic switch, exactly where you want it.

The workflow.

03 · SIX STEPS
  1. Position the target window — Claude Code, terminal, whatever — to the left of Volley. Leave at least 20px of it visible peeking out under Volley’s left edge. Or use the Pick with scope picker to aim at any spot on screen.
  2. Paste your list into the LIST box. One item per line. Lines starting with # are skipped.
  3. Tune Countdown, Delay between, Loop stop, and the toggles.
  4. Click Auto-send the lot.
  5. During the countdown, Alt-Tab to your target window. (Skip this step if you used the scope picker.)
  6. Volley clicks your pre-paste spot, pastes, presses Enter, waits the delay, repeats. Abort with Stop, or slam your mouse into a screen corner.

Settings reference.

04 · THE DIALS
CountdownTIME-TO-LAUNCH Time before sending begins. Pick s · m · h for seconds, minutes, or hours. Use the countdown to Alt-Tab to your target.
Delay betweenPER-LINE PAUSE Pause between lines. Tune higher for slow commands — e.g. 8s is roughly safe for /plugin marketplace add.
Loop stopHOW-MUCH-FOREVER Off = one pass. 3× / 5× / 10× = N cycles. 1h = run for an hour. = forever until Stop.
Click spotFOCUS POINT Where Volley clicks to focus the target before each paste. Auto = 20px left of the Volley window. Pick with scope = aim a crosshair at any pixel.
Press Enter after eachCOMMIT THE LINE Submit each line by pressing Enter after the paste. Off if you want the line to sit unsent.
Click before pasteNUDGE INTO FOCUS Toggle the pre-paste focus click. Off if your target is already locked in and you don’t want extra clicking.
Return focus after pasteHAND IT BACK Restore focus to whatever window you were using before each paste — so you can keep typing while the queue runs.

Install & run.

05 · TWO COMMANDS
Step 1
Install dependencies
pip install -r requirements.txt
Step 2
Run the web version
pythonw volley.pyw

Tk variant: pythonw volley_tk.pyw. Requires Python 3.10+ on Windows — keystroke automation is Windows-tuned, and the WebView2 backend is Windows-specific.

Emergency stop: slam your mouse into the very top-left corner of any screen. PyAutoGUI’s fail-safe trips and the run aborts immediately. Use this if it’s pasting somewhere unexpected.