A terminal assistant that allows you to ask an LLM to run commands.
Project description
tass
A terminal assistant that allows you to ask an LLM to run commands.
Warning
This tool can run commands including ones that can modify, move, or delete files. Use at your own risk.
Installation
Using uv
uv tool install tass
Using pip
pip install tass
You can run it with
tass
or if you only want to ask/request a single thing
tass "convert video.mp4 to audio.mp3"
tass has only been tested with llama.cpp with LLMs such as gpt-oss-120b and MiniMax M2.1, but any LLM with tool calling capabilities should work.
By default, tass will try connecting to http://localhost:8080. To use another host, set the TASS_HOST environment variable. If your server requires an API key, you can set the TASS_API_KEY environment variable. At the moment there's no support for connecting tass to a non-local API, nor are there plans for it. I plan on keeping tass completely local. There's no telemetry, no logs, just a simple REPL loop.
Once it's running, you can ask questions or give commands like "Create an empty file called test.txt" and it will propose a command to run after user confirmation.
You can enter multiline input by ending lines with a backslash (\). The continuation prompt will keep appearing until you enter a line without a trailing backslash.
You can use the --yolo flag to turn off user confirmations for executing commands and editing files, but I would only recommend using this if you're benchmarking tass with an LLM and highly recommend not using it outside of testing/benchmarking scenarios.
Upgrade
Using uv
uv tool upgrade tass
Using pip
pip install --upgrade tass
Project details
Release history Release notifications | RSS feed
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 tass-0.1.21.tar.gz.
File metadata
- Download URL: tass-0.1.21.tar.gz
- Upload date:
- Size: 260.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bae87f0cf2f3d611ce497714ffa03fb81a4d2f3863cf7f1dca64b3ce9acf7eba
|
|
| MD5 |
ae5cf6f0167cddbe2b00eb7ec331927a
|
|
| BLAKE2b-256 |
17cbc7c0b5a1f27b94ffbfcc199131f0d331d81d94b4c13f5524495849e52120
|
File details
Details for the file tass-0.1.21-py3-none-any.whl.
File metadata
- Download URL: tass-0.1.21-py3-none-any.whl
- Upload date:
- Size: 14.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c2d29da638e2fe3b65c1a89c0ec2e2e097934445199829c72622907e9b4647c8
|
|
| MD5 |
cafaac048e208c3f3d320d4b51273ee0
|
|
| BLAKE2b-256 |
187106d87db35a0bf44b38f134b88f2d041a0ab865b1116f1bbd288e6224ed68
|