Skip to main content
The Wizard's Pick

The Wizard's Pick

A terminal assistant for authorized security testing, with local inference by default.

Status: Working, public. Version 0.2.0 is the current release.

CI Python License

What The Wizard's Pick does

Pick keeps assessment context, model conversation, command results, findings, and reports in a local SQLite-backed workflow. It uses an OpenAI-compatible model endpoint, configured by default for a project-local Ollama server at 127.0.0.1:11435.

flowchart LR
    U[Operator] --> P[Pick terminal]
    P -->|127.0.0.1:11435| O[Project-local Ollama]
    O --> M[DeepHat-V1-7B]
    P --> C[Shell command]
    C --> D[(SQLite session)]
    D --> R[Markdown report]

The model can return structured command proposals and findings. Pick records commands executed through the application and exports all recorded command and audit entries for a session, with bounded output excerpts.

Execution model

Pick is intentionally lean. It does not include a scope matcher, command denylist, sandbox, approval service, or output redaction. Commands are passed to the host shell as written. Operators who need those controls should provide them through the account, container, virtual machine, network, and engagement process used to run Pick.

Mode Behavior
manual Default. The model proposes commands; the operator runs them elsewhere and can paste the output back.
assisted Pick asks once before executing a proposal.
automated Pick executes parsed model proposals without confirmation, including proposals influenced by captured target output.

/exec always executes the supplied command, independent of the current mode. The default wall-clock timeout is 300 seconds, and combined captured output is limited to 1,000,000 bytes. Pick terminates the POSIX process group when either bound is reached. These resource bounds do not inspect or rewrite the command.

Requirements

  • Python 3.11 or newer
  • Linux or WSL2 for the bundled model setup script
  • x86-64 for the pinned Ollama archive
  • curl, tar, and sha256sum
  • approximately 20 GB of free storage for the runtime, downloaded GGUF, and imported model

The Python client may work on other platforms when you manage a compatible endpoint yourself. The repository's end-to-end setup and CI target Linux.

Install

Install the CLI from PyPI:

python -m pip install wizards-pick

A source checkout includes the project-local Ollama and model setup scripts:

git clone https://github.com/wizards-ecosystem/wizards-pick.git
cd wizards-pick
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e .

See the release checklist for maintainer steps.

Set up the model

In the first terminal:

scripts/ollama-local.sh install
scripts/ollama-local.sh serve

In a second terminal:

scripts/ollama-local.sh build

build downloads DeepHat-V1-7B Q8_0 from a pinned Hugging Face revision, verifies its SHA-256 digest, and creates the deephat Ollama model in .wizards-pick/. To use another GGUF, set both DEEPHAT_GGUF_URL and DEEPHAT_GGUF_SHA256.

The application code is MIT-licensed. The default model repository identifies the model license as Apache-2.0. Review the model card and license before redistribution: mradermacher/DeepHat-V1-7B-GGUF.

scripts/bake_rope.py can write experimental YaRN metadata for larger context windows. Install the optional dependency with python -m pip install -e ".[rope]" and evaluate the resulting model for your workload.

Run The Wizard's Pick

wizards-pick

The first session wizard records targets and context, focus areas, exclusions, testing window, authorization reference, intensity, emergency contact, and notes. This information guides the model. Pick does not enforce it against generated commands.

Interactive commands

Command Behavior
/context, /scope Show the session context
/sessions List saved sessions
/plan [phase|all] Show an offline assessment plan
/tools Check common assessment tools on PATH
/mode manual|assisted|automated Change execution mode
/timeout [seconds] Show or set the positive command timeout
/exec <command> Execute a shell command and record the result
/paste Paste external output, ending with a line containing only EOF
/findings List recorded findings
/report [path] Export a Markdown report
/help, /exit Show help or quit

Data and network behavior

By default, CLI state is written to .wizards-pick/ under the directory where Pick starts. Set WIZARDS_PICK_DATA_DIR to choose another location. The setup script keeps its Ollama runtime, model, cache, home, and logs in the repository's .wizards-pick/ directory.

State directories are created with owner-only permissions on POSIX systems. SQLite files and reports are written with mode 0600. Reports and command history are unredacted and may contain sensitive assessment data.

Inference uses loopback by default. The setup commands download Ollama and the model, and executed assessment commands can use the network. WIZARDS_PICK_URL can point the client at another OpenAI-compatible endpoint, but Pick does not add authentication headers. A remote endpoint receives session context and conversation content.

Related settings:

Variable Default
WIZARDS_PICK_DATA_DIR <current directory>/.wizards-pick
WIZARDS_PICK_MODEL deephat
WIZARDS_PICK_OLLAMA_HOST 127.0.0.1:11435
WIZARDS_PICK_URL http://127.0.0.1:11435/v1/chat/completions
WIZARDS_PICK_CONTEXT_TOKENS 32768
WIZARDS_PICK_RESPONSE_TOKENS 2048

Development

python -m pip install -e ".[dev]"
make check
make release-check

make check runs Ruff, mypy, and pytest. The test suite does not require a model server or network access. See the contribution guide and security policy.

Maintained by Isaac Limb. Read the project writeup.

Metadata

Release files for wizards-pick 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for wizards-pick 0.2.0
File Size Uploaded Provenance
wizards_pick-0.2.0.tar.gz 130.6 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for wizards-pick 0.2.0
File Interpreter ABI Platform
wizards_pick-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 161.4 kB

Release files / wizards_pick-0.2.0.tar.gz

Download URL wizards_pick-0.2.0.tar.gz
Size 130.6 kB
Tags Source
SHA-256 checksum
How to use checksums
a15ed8ebe7e21c8a10790955e7801ab996716f1ead1859507dfbf92d9f3c736f
BLAKE2b-256 checksum
How to use checksums
05f364e932caa1a27ff2916aca15a453a8b2f652233aa8e966e6c932150385bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 6, 2026.

Transparency log

Release files / wizards_pick-0.2.0-py3-none-any.whl

Download URL wizards_pick-0.2.0-py3-none-any.whl
Size 30.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2ab77b2418e1297f0d29350da517539e885b46d2d8145ec5c692773f0ab18010
BLAKE2b-256 checksum
How to use checksums
5dc07cafc913a3345b607885026abafb62694027fad4d0e1f1bd01ac7bb6aaf3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 6, 2026.

Transparency log

Security for wizards-pick 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for wizards_pick-0.2.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 6, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page