A small, powerful CLI coding agent for open AI models
Project description
Swival
A small, powerful, open-source CLI coding agent that works with open models.
Swival connects to LM Studio or HuggingFace Inference API, sends your task, and runs an autonomous tool-calling loop until it produces an answer. No configuration needed.
It auto-discovers your loaded model, gives it sandboxed file access, and gets out of the way.
It's what I use every day. Try it and see if you like it too.
Quickstart
- Install LM Studio and load a model with tool-calling support (I recommend qwen3-coder-next). Crank the context size as high as your hardware allows.
- Start the LM Studio server.
- Run:
uvx swival "Refactor the error handling in src/api.py"
That's it. Swival finds the model, connects, and goes to work.
For interactive sessions:
uvx swival --repl
Documentation
- Getting Started -- installation, first run, what happens under the hood
- Usage -- one-shot mode, REPL mode, CLI flags, piping, exit codes
- Tools -- what the agent can do: file ops, search, editing, web fetching, thinking, command execution
- Safety and Sandboxing -- path resolution, symlink protection, command whitelisting, YOLO mode
- Skills -- creating and using SKILL.md-based agent skills
- Customization -- project instructions, system prompt overrides, tuning parameters
- Providers -- LM Studio and HuggingFace configuration
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 swival-0.1.0.tar.gz.
File metadata
- Download URL: swival-0.1.0.tar.gz
- Upload date:
- Size: 171.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"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 |
ca93a43c3080b876adbb927e6a60765fa69487b7280d0bf3a98f054fe810141c
|
|
| MD5 |
f685891a6a41d71bd5f4ba5b7d1322a9
|
|
| BLAKE2b-256 |
d1072f5218c717583ad37c2ba7815b8ac9ea1243b227383f4f34e3f01d3ebf73
|
File details
Details for the file swival-0.1.0-py3-none-any.whl.
File metadata
- Download URL: swival-0.1.0-py3-none-any.whl
- Upload date:
- Size: 37.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"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 |
3b6b1ac59a2999a4363e2352d361f98c5f334d337b0ea278debb05aacb30b799
|
|
| MD5 |
89b0a6b60c4527d560e7a90c5e42f1b1
|
|
| BLAKE2b-256 |
f76f951ac0546b29d6df261eef30a1aea701a71e6c59fea2064e63df92c0303a
|