Screenshot-based multiple-choice assistant for macOS.
Project description
Gorilla Test Assistant
Small macOS CLI that listens for a left Alt keypress, captures the current screen, and asks a multimodal DSPy program to answer the visible multiple-choice question.
For background on why this project exists, read the included article: Pass any TestGorilla Assessment.
Install From PyPI
The package name is gorilla-test-assistant and it installs the gorilla-test
command.
With uv:
uv tool install --python 3.11.6 gorilla-test-assistant
With pip:
python3.11 -m pip install gorilla-test-assistant
This project supports Python >=3.11,<3.12 because the keyboard listener stack
is known to be safest on Python 3.11.
API Keys
The default model is openai/gpt-5.4-mini, so the default setup is:
export OPENAI_API_KEY="your-api-key"
The CLI accepts an LLM model name in LiteLLM format through --model. Provider
prefixes like openai/, anthropic/, and groq/ are passed through as-is. If
you use an unprefixed model name, the CLI does not rewrite it or assume a
provider.
For common provider-prefixed models, set the standard provider environment variable:
| Provider prefix | Environment variable |
|---|---|
openai/ |
OPENAI_API_KEY |
anthropic/ |
ANTHROPIC_API_KEY |
gemini/ or google/ |
GEMINI_API_KEY or GOOGLE_API_KEY |
groq/ |
GROQ_API_KEY |
mistral/ |
MISTRAL_API_KEY |
openrouter/ |
OPENROUTER_API_KEY |
together/ |
TOGETHER_API_KEY |
xai/ |
XAI_API_KEY |
For another provider, point the CLI at the variable name:
gorilla-test --model provider/model-name --api-key-env PROVIDER_API_KEY
For unprefixed model names, use the environment variables expected by LiteLLM for that model.
Usage
Start the listener:
gorilla-test
When a multiple-choice question is visible, press the left Alt key. The CLI prints the structured answer and sends a macOS notification with the selected option number.
On a Mac keyboard, the left Alt key is the left option / alt key:
Image adapted from
MacBook option key.JPG
by Gerolsteiner91, licensed under
CC BY-SA 2.5. Modified with
a red circle around the left option / alt key.
Choose a different model:
gorilla-test --model openai/gpt-5.4
Change the output token budget:
gorilla-test --max-tokens 8192
Show all options:
gorilla-test --help
Local Development
Run the CLI from this checkout without installing it globally:
uv run --python 3.11.6 --with . gorilla-test --help
Install the current checkout as a global uv tool while developing:
uv tool install --python 3.11.6 --force .
Run the tests:
uv run --python 3.11.6 --with . python -m unittest -v
Build the package:
uv build
Notes
- The tool is designed for macOS.
- macOS may require Accessibility and Screen Recording permissions for the terminal app running the CLI.
- DSPy uses
ChainOfThought, so reasoning is produced by the program instead of being modeled as a manual Pydantic output field. - Reasoning effort defaults to
high. - The default max token budget is
8192.
Disclaimer
This project highlights the need for better assessment methods in tech hiring. Use it responsibly and respect the terms of service for any platform involved.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gorilla_test_assistant-0.1.1.tar.gz.
File metadata
- Download URL: gorilla_test_assistant-0.1.1.tar.gz
- Upload date:
- Size: 5.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c2b79011179e4f6064a3ec9bf50418e30413f879b671b2e44c0ce5eea7d48ee
|
|
| MD5 |
4463e0b14af321ad21d00a2e6bf9d663
|
|
| BLAKE2b-256 |
4490fc00e8c1dee91df7e9a9d0a95de2b65e3b008730d4b1c8267fa838dfc8b8
|
File details
Details for the file gorilla_test_assistant-0.1.1-py3-none-any.whl.
File metadata
- Download URL: gorilla_test_assistant-0.1.1-py3-none-any.whl
- Upload date:
- Size: 6.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
59cd5e1e19e5fdb91da609ae7331e1d23e211dc1fe1ebb5174593668b6fbc04d
|
|
| MD5 |
a2e0a580291d97cede2d5f730e8c51b8
|
|
| BLAKE2b-256 |
feff7a229f40feb9424e75fd34d66e92c9dc69d6a599b32d98cc920f54de9760
|