Metadata-Version: 2.4
Name: thinkstick
Version: 0.1.0
Summary: ThinkStick CLI - a single-model offline AI assistant powered by llama.cpp. No install beyond pip, no internet after first model download, no cloud.
Author-email: SANJJAY <sanjjay.stars@gmail.com>
License: MIT
Project-URL: Homepage, https://darksyntax.xyz
Project-URL: Repository, https://github.com/darksyntax/thinkstick
Keywords: offline-ai,llama-cpp,cli,thinkstick,darksyntax,local-llm
Classifier: Environment :: Console
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: llama-cpp-python>=0.3.0
Requires-Dist: huggingface_hub>=0.24.0
Requires-Dist: colorama>=0.4.6
Dynamic: license-file

# 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](https://darksyntax.xyz).
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

```bash
pip install thinkstick
```

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

## Usage

```bash
# 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](https://github.com/abetlen/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](LICENSE).

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