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.
Metadata
Release files for gorilla-test-assistant 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gorilla_test_assistant-0.1.1.tar.gz | 5.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gorilla_test_assistant-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.6 kB
Release files / gorilla_test_assistant-0.1.1.tar.gz
| Download URL | gorilla_test_assistant-0.1.1.tar.gz |
|---|---|
| Size | 5.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0c2b79011179e4f6064a3ec9bf50418e30413f879b671b2e44c0ce5eea7d48ee
|
|
BLAKE2b-256 checksum How to use checksums |
4490fc00e8c1dee91df7e9a9d0a95de2b65e3b008730d4b1c8267fa838dfc8b8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.1
|
Release files / gorilla_test_assistant-0.1.1-py3-none-any.whl
| Download URL | gorilla_test_assistant-0.1.1-py3-none-any.whl |
|---|---|
| Size | 6.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
59cd5e1e19e5fdb91da609ae7331e1d23e211dc1fe1ebb5174593668b6fbc04d
|
|
BLAKE2b-256 checksum How to use checksums |
feff7a229f40feb9424e75fd34d66e92c9dc69d6a599b32d98cc920f54de9760
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.1
|