Skip to content

Releases: ThorOdinson246/whatisit-nl2sh

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 24 Sep 21:56
9620d04

whatisit can now put the command on your prompt, lets you edit it before it runs, and tells you when there's a new version or model.

Shell integration. Add eval "$(whatisit shell-init)" to ~/.zshrc or ~/.bashrc and whatisit <request> puts the command on your next prompt, so you edit it and run it in your own shell. cd sticks and it lands in your history. bash can't prefill the prompt, so there it goes into history and Up brings it back. A command flagged DANGER isn't put anywhere.

Edit before running. whatisit -p <request> opens the command in an editable prompt and runs what you submit. From @BlueNihilist.

Update notices. Once a day, in the background, whatisit asks pypi.org for the latest version and tells you after an answer if there's a newer one, or if a newer model ships and whatisit setup would fetch it. Your requests are never sent. Quiet with -q and in pipes. Off with whatisit config --set update_check=false.

--version. whatisit --version and -V print the version instead of being sent to the model.


What's Changed

New Contributors

Full Changelog: v0.4.0...v0.5.0

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 01 Sep 21:22
1e8c122

The resident model can now unload itself when idle, and stop no longer
signals the wrong process.

Idle unload. whatisit --idle-timeout 300, or
whatisit config --set idle_timeout=300 to keep it, stops the resident model
server once it has been idle that long and gives back the memory it was
holding. Off by default. The deadline is re-armed on every query including one
still running, so a long generation is never cut off by its own timeout. From
@lydorianP.

llama.cpp has its own --sleep-idle-seconds for this and whatisit does not use
it: in builds b7492-b9060 that flag triggers CVE-2026-43631. The watchdog is
user-space Python watching a timestamp file.

stop. Ownership was decided by looking for llama-server anywhere in a
process's command line, so an unrelated tail -f /var/log/llama-server.log
matched and got terminated. It now requires the recorded binary to appear as an
actual argument. stop also sent SIGTERM without waiting and deleted the record
of which process to talk to immediately, so a server that ignored the signal
kept the model in memory with nothing able to find it again. It now waits,
confirms, and escalates, and when it cannot identify the recorded process it
leaves the record alone and says so instead of reporting success.

whatisit stop now exits 1 in that last case, where it previously exited 0.


What's Changed

Full Changelog: v0.3.0...v0.4.0

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 24 Aug 19:32
c99da22

First release with outside contributors, and most of what's here came from them.

Safety. A security audit closed eight ways a destructive command could slip past the checker: / written as $'\057', curl ... 2>&1 | bash, path-qualified and version-suffixed interpreters. Regression cases went from 304 to 477. The llama-server token moved out of argv so it no longer shows in ps, TCP connections are now attributed to the server we spawned before any credential is sent, and filenames from the working directory are JSON-encoded so a hostile filename cannot inject prompt instructions.

Remote endpoints. Point whatisit at any OpenAI-compatible API instead of the local model. Opt-in, off by default, warns on every remote call.

Distro-aware install commands. Detects your package manager and constrains the model so it stops suggesting apt on Arch.

Per-invocation flags. --port, --threads, --model, --ctx-size, --debug, and -y. Plus a confirm_default config key so Enter can mean yes at the confirm prompt if you want it.

Fixes. Windows no longer crashes on startup. Warnings and errors go to stderr, so eval "$(whatisit -q ...)" can't swallow them. pipx is now the recommended install.

Default behaviour is unchanged. Nothing runs unless you pass -e and confirm.


What's Changed

New Contributors

Full Changelog: v0.2.2...v0.3.0

v0.2.2

Choose a tag to compare

@ThorOdinson246 ThorOdinson246 released this 14 Aug 20:53
b6b2f84

What's Changed

New Contributors

Full Changelog: v0.2.1...v0.2.2

v0.2.1

Choose a tag to compare

@ThorOdinson246 ThorOdinson246 released this 09 Aug 22:12

pip install whatisit now gets you a working tool in two commands.

pip install whatisit
whatisit setup
whatisit find files bigger than 100MB in this folder

setup detects the platform, states the size of each download and asks before starting it, then verifies every file against a pinned checksum before it is installed. Downloads land at .part and are renamed only after the hash matches, so an interrupted run leaves nothing broken behind.

On Linux with a glibc older than 2.34 it uses the compatibility runtime published alongside this release, because the upstream llama.cpp binaries download fine there and then fail to start.

Still zero runtime dependencies: stdlib only.

New flags: --auto for unattended installs with no terminal, --dry-run, --print-urls for machines with no route out, --size 3b, --runtime-only and --model-only. The manual --model / --bin-dir path is unchanged.

0.2.1 also fills in the PyPI metadata: project links, author and classifiers.

llama.cpp compatibility runtime (glibc 2.17+, x86_64)

Choose a tag to compare

@ThorOdinson246 ThorOdinson246 released this 09 Aug 22:08

A llama.cpp runtime for Linux x86_64 machines whose glibc is older than 2.34.

The upstream prebuilt binaries are built against glibc 2.34, so on RHEL 8, Ubuntu 20.04, Debian 11 and Amazon Linux 2 they download successfully and then fail to start. whatisit setup detects that and fetches this build instead.

Built from llama.cpp with -DLLAMA_SUBPROCESS=OFF -DGGML_NATIVE=OFF -DGGML_AVX2=ON -DGGML_FMA=ON -DGGML_F16C=ON. It links no symbol newer than GLIBC_2.2.5, and RUNPATH is $ORIGIN so the directory relocates cleanly.

Requires a CPU with AVX2. Unlike the upstream archive there is no runtime microarchitecture dispatch.

sha256  9006f1326be8f39fa010cc83cecf01e399f6ea7044805255dad6c12341032b70

llama.cpp is MIT licensed and its LICENSE is included in the archive. This is not a package release; whatisit itself is on PyPI.