Skip to main content

ThinkStick CLI

Offline AI · On a Drive. (now also: offline AI, on a pip install)

This is the trimmed-down CLI edition of ThinkStick, built by DarkSyntax. The full ThinkStick product (USB drive / ThinkStick Pro) ships three specialist models (research, coding, math) behind a terminal-styled browser UI. This CLI is deliberately smaller: one model, one process, no server, no browser tab.

  • No account, no API key, no cloud
  • One llama.cpp model, downloaded once from Hugging Face, then never touched over the network again
  • Runs entirely on your machine's own CPU (or GPU, if you enable offload)
  • Nothing is installed system-wide beyond the Python package itself
THINKSTICK  cli edition
Plug in. Boot up. Think offline.

[ OK ] checking engine
[ OK ] checking model file
[ OK ] loading model .......... Qwen2.5-Coder-7B-Instruct-Q4_K_M.gguf
[ OK ] local inference ........ this machine only
[ OK ] all systems ready

you > is this actually offline?
thinkstick > yes. turn off your wifi and ask me again.

Install

pip install thinkstick

First run downloads the default model (~4.7 GB, one time, needs internet). Every run after that is 100% offline.

Usage

# start chatting (auto-downloads the model on first run)
thinkstick

# same thing, explicit
thinkstick chat

# just fetch the model, don't start a chat
thinkstick download

# see what model/config is currently active
thinkstick info

# use a different GGUF model from Hugging Face
thinkstick chat --model-repo bartowski/Qwen3.5-4B-Instruct-GGUF \
                 --model-file Qwen3.5-4B-Instruct-Q4_K_M.gguf

# push work onto a GPU (llama-cpp-python must be built with GPU support)
thinkstick chat --gpu-layers 20

# bigger context window, longer replies
thinkstick chat --ctx 8192 --max-tokens 2048

Type exit, quit, :q, or hit Ctrl+C to leave a chat session.

Why only one model

The full ThinkStick build (USB / ThinkStick Pro) is designed for MSME and clinic deployments where swapping between a research, coding, and math specialist matters. This CLI exists for a simpler use case: a single pip install that gets you a private, offline model with the least moving parts possible. It uses llama-cpp-python directly instead of a separate llama.cpp server process, so there's no port, no CORS, and no second terminal to manage.

Where things live

  • Downloaded models: ~/.thinkstick/models/ (override with THINKSTICK_HOME)
  • Default model: bartowski/Qwen2.5-Coder-7B-Instruct-GGUF, file Qwen2.5-Coder-7B-Instruct-Q4_K_M.gguf (override with THINKSTICK_MODEL_REPO / THINKSTICK_MODEL_FILE, or the --model-repo / --model-file flags)

License

MIT © 2026 SANJJAY — see LICENSE.

Built by DarkSyntax · darksyntax.xyz · sanjjay.stars@gmail.com

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

thinkstick-0.1.0.tar.gz (9.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

thinkstick-0.1.0-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file thinkstick-0.1.0.tar.gz.

File metadata

  • Download URL: thinkstick-0.1.0.tar.gz
  • Upload date:
  • Size: 9.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.15.0b3

File hashes

Hashes for thinkstick-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7adedc036ee33beccf74157eb25f9aa83805909d3fae2a34e22de335dfbbe3be
MD5 ff0be72e72b32cf46822580fca53a257
BLAKE2b-256 b3c347a7a5141cc9dcfe1ef618cf09aa6b17265dad9c8b5876f4efb8303d8f44

See more details on using hashes here.

File details

Details for the file thinkstick-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: thinkstick-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.15.0b3

File hashes

Hashes for thinkstick-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4da7cdf730ac49f4038704891ce57773ecdaf185a9a69a1f676ac6761be12af8
MD5 03096ec11ba5089a96559651b0ce2b1b
BLAKE2b-256 eb77486f910604981b8abc6c69526d9985ef4ed2d2a6cfc09b38b83e5fca592e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page