CLI tool for managing AI assistant fleets
Project description
Clawrium - An aquarium for agents
Fleet management for AI agents on your local network.
Documentation · Issues · Roadmap
How it works
Clawrium uses Ansible under the hood for SSH-based orchestration. You run clm from your control machine, which talks to target hosts over SSH. No agents, no containers, no Kubernetes complexity - just processes running on hosts with a unified management layer.
Why Clawrium
You're running multiple AI agents - coding assistants, internal tools, experiment harnesses - across machines on your network. Without Clawrium, you SSH into each box, manage configs individually, lose track of token spend, and have no unified view of what's running where.
Clawrium gives you kubectl-style fleet control for AI agents:
- One CLI, all hosts. Add machines to your fleet and deploy any agent type to any host.
- Specialized agents. Each agent does one job and does it well. Instead of one overloaded assistant, run a fleet of purpose-built agents - a coding agent, a review agent, a research agent - each with its own context, data, and configuration isolated from the rest.
- Local inference. Use hardware you already have - Mac Minis, NVIDIA DGX Spark, spare servers - as inference providers. Run smaller open models like Gemma, GPT-4o-mini, Kimi, or Llama locally and point multiple agents at them.
- Model experimentation. Swap models across agents to compare performance without touching individual configs.
- Lifecycle management. Upgrades, rollbacks, secrets rotation, backups - handled.
- Token tracking & guardrails. See spend across your fleet. Set limits before someone's experiment burns through your API budget.
Who this is for
Clawrium is for engineers running AI agents in non-trivial setups - home labs, dev teams, research groups. If you have more than one agent running on more than one machine, this tool exists for you.
It is not a hosted platform. There's no dashboard, no SaaS, no account signup. It's a Python CLI that talks to your machines via Ansible. You own everything.
Quickstart
Requirements: Python 3.10+, uv
# Install (pick one)
uv tool install clawrium
# or
pip install clawrium
# Run
clm --help
# Initialize config
clm init
# Set up a host
clm host init 192.168.1.100 --user your-username
clm host add 192.168.1.100 --alias worker-1
# Add inference provider (e.g., Anthropic for Claude models)
clm provider add anthropic --type anthropic
# Install an agent
clm agent install --type <agent-type> --host worker-1 --name my-assistant
# Configure the agent
clm agent configure my-assistant
# Start the agent
clm agent start my-assistant
# Check fleet status
clm ps
# Chat with your agent
clm chat my-assistant
→ Full setup guide, agent types, and configuration reference: ric03uec.github.io/clawrium
Key Concepts
| Concept | What it is |
|---|---|
| Host | A machine in your network running one or more agents |
| Agent | An installed AI assistant instance managed by Clawrium |
| Agent Type | The implementation/runtime class of an agent |
| Agent Name | The unique identifier for an installed agent instance |
| Registry | Platform-defined agent types with versions, dependencies, and templates |
FAQ
1. What operating systems are supported?
Right now, Clawrium is only tested on Ubuntu hosts and Ubuntu control machines.
Other Linux distributions may work, but they are not currently part of the test matrix.
2. Which agents are supported today?
Right now, one agent type is officially supported and tested end-to-end.
Additional agent types are planned.
3. Is Claude subscription supported?
No. Clawrium supports API keys only, by design.
4. Which channels are supported?
Discord is supported right now.
Additional channels are planned.
5. Does Clawrium install Docker or Kubernetes?
No. Clawrium does not require Docker or Kubernetes. It manages agent processes over SSH using Ansible.
6. Can I manage multiple hosts with different agent types?
Yes. You can register multiple hosts and run different agent types on each host from the same clm control node.
7. Why doesn't it support x-agent and y-feature?
I'm building Clawrium in my spare time, so I prioritize my own use cases first.
If you want support for a specific agent type or feature, please open an issue and send a PR. See CONTRIBUTING.md for contribution guidelines.
8. Why not Kubernetes?
Two reasons:
-
Most AI agent runtimes don't support it. These run as local processes, not containerized services. They expect a home directory, local config files, and direct access to the host. Wrapping them in containers adds friction with no payoff.
-
K8s is overkill for local fleets. You're managing 3-10 machines on a LAN, not orchestrating microservices across cloud regions. Kubernetes brings etcd, control planes, networking overlays, RBAC, and a learning curve that dwarfs the problem. You don't need a container scheduler - you need to SSH into a box and run a process.
Clawrium uses Ansible under the hood instead. Ansible gives you idempotent host management, secrets handling, and multi-machine orchestration without requiring anything on the target machines beyond SSH. Clawrium sits on top of Ansible and adds the agent-specific layer: lifecycle management, token tracking, model swapping, and fleet-wide visibility.
Tech Stack
Python · Typer · ansible-runner · uv
Contributing
git clone https://github.com/ric03uec/clawrium && cd clawrium
make test # Run tests
make lint # Check style
make format # Auto-format
Issues are the source of truth. See CONTRIBUTING.md for the full workflow.
License
Apache 2.0
Project details
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 clawrium-26.4.3.tar.gz.
File metadata
- Download URL: clawrium-26.4.3.tar.gz
- Upload date:
- Size: 1.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b314223f01cb23dde2c612926dd8ee9bdd4631c3264582dcb45cb06aedaf963a
|
|
| MD5 |
7475a881116dc64171b830408cfb3c79
|
|
| BLAKE2b-256 |
538fedc3080ce659244d8a58f615bd8c55cb91ee4ce5e600cdaebc17a7df5ae7
|
Provenance
The following attestation bundles were made for clawrium-26.4.3.tar.gz:
Publisher:
publish.yml on ric03uec/clawrium
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
clawrium-26.4.3.tar.gz -
Subject digest:
b314223f01cb23dde2c612926dd8ee9bdd4631c3264582dcb45cb06aedaf963a - Sigstore transparency entry: 1289323315
- Sigstore integration time:
-
Permalink:
ric03uec/clawrium@6e69fa065e0767aaba2687ced75d156bb5bfc1ce -
Branch / Tag:
refs/tags/v2026.04.03 - Owner: https://github.com/ric03uec
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@6e69fa065e0767aaba2687ced75d156bb5bfc1ce -
Trigger Event:
release
-
Statement type:
File details
Details for the file clawrium-26.4.3-py3-none-any.whl.
File metadata
- Download URL: clawrium-26.4.3-py3-none-any.whl
- Upload date:
- Size: 140.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
951b0af0c39b67c2ca527a445cb3c47956deca87cf65c213cecb58848a257ce1
|
|
| MD5 |
a408756e91e30ba6b517293b14a1ea31
|
|
| BLAKE2b-256 |
a3716615bc0d284a812574dc1d0ded8786a0fe1cc05635ea5fd5754376f22637
|
Provenance
The following attestation bundles were made for clawrium-26.4.3-py3-none-any.whl:
Publisher:
publish.yml on ric03uec/clawrium
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
clawrium-26.4.3-py3-none-any.whl -
Subject digest:
951b0af0c39b67c2ca527a445cb3c47956deca87cf65c213cecb58848a257ce1 - Sigstore transparency entry: 1289323404
- Sigstore integration time:
-
Permalink:
ric03uec/clawrium@6e69fa065e0767aaba2687ced75d156bb5bfc1ce -
Branch / Tag:
refs/tags/v2026.04.03 - Owner: https://github.com/ric03uec
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@6e69fa065e0767aaba2687ced75d156bb5bfc1ce -
Trigger Event:
release
-
Statement type: