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 withTHINKSTICK_HOME) - Default model:
bartowski/Qwen2.5-Coder-7B-Instruct-GGUF, fileQwen2.5-Coder-7B-Instruct-Q4_K_M.gguf(override withTHINKSTICK_MODEL_REPO/THINKSTICK_MODEL_FILE, or the--model-repo/--model-fileflags)
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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7adedc036ee33beccf74157eb25f9aa83805909d3fae2a34e22de335dfbbe3be
|
|
| MD5 |
ff0be72e72b32cf46822580fca53a257
|
|
| BLAKE2b-256 |
b3c347a7a5141cc9dcfe1ef618cf09aa6b17265dad9c8b5876f4efb8303d8f44
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4da7cdf730ac49f4038704891ce57773ecdaf185a9a69a1f676ac6761be12af8
|
|
| MD5 |
03096ec11ba5089a96559651b0ce2b1b
|
|
| BLAKE2b-256 |
eb77486f910604981b8abc6c69526d9985ef4ed2d2a6cfc09b38b83e5fca592e
|