An LLM-powered sysadmin.
Project description
Sysaidmin
Sysaidmin is an LLM-powered sysadmin for your machine. You can ask it to solve a problem, and it will run commands on your system (with your permission) to debug what's going on.
Installation
Using uv (recommended):
$ uv tool install sysaidmin
Or, to run directly:
$ uvx sysaidmin
Using pip (less recommended, but still good):
$ pip install sysaidmin
Specify your OpenAI API key:
$ export SYSAIDMIN_API_KEY=sk-youropenaiapikeygoeshere
Then run Sysaidmin with your issue:
$ sysaidmin "The foo process is emailing me and I don't know why."
Using other models
Any model that supports the OpenAI Chat Completions API can be used. For example, to use Google Gemini:
> sysaidmin --api-key=$GEMINI_API_KEY -m gemini-2.5-flash-preview-04-17 \
-b "https://generativelanguage.googleapis.com/v1beta/openai" \
"How do I list files?"
Environment variables
You can use the following environment variables in place of parameters:
SYSAIDMIN_BASE_URL: The base URL for the service.SYSAIDMIN_API_KEY: The API key.SYSAIDMIN_MODEL: The model to use.
Sample run:
$ sysaidmin "Whenever I try to SSH to localhost on port 22, it doesn't work. Can you fix it?"
==============================
Running command: ssh localhost
==============================
Press any key to continue, Ctrl-C to terminate...
ssh: connect to host localhost port 22: Connection refused
==============================
Running command: systemctl status sshd
==============================
Press any key to continue, Ctrl-C to terminate...
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2023-11-26 18:40:45 EET; 25s ago
Docs: man:sshd(8)
man:sshd_config(5)
Process: 92469 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
Main PID: 92471 (sshd)
Tasks: 1 (limit: 18824)
Memory: 1.7M
CPU: 9ms
CGroup: /system.slice/ssh.service
└─92471 "sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups"
Νοε 26 18:40:45 zeus systemd[1]: Starting OpenBSD Secure Shell server...
Νοε 26 18:40:45 zeus sshd[92471]: Server listening on 0.0.0.0 port 8122.
Νοε 26 18:40:45 zeus sshd[92471]: Server listening on :: port 8122.
Νοε 26 18:40:45 zeus systemd[1]: Started OpenBSD Secure Shell server.
==============================
It appears that your SSH server is running, but it is not listening on the default SSH
port 22. Instead, it is listening on port 8122 for both IPv4 and IPv6 connections, as
indicated by the line "Server listening on 0.0.0.0 port 8122" and "Server listening on
:: port 8122."
To connect via SSH to localhost, you need to specify port 8122. You can do that by using
the following command:
```bash
ssh -p 8122 localhost
```
Try running this command, and it should allow you to connect to the SSH server running
on your local machine.
==============================
Your response: No, please change the port
==============================
Running command: sudo sed -i 's/#Port 22/Port 22/' /etc/ssh/sshd_config && sudo systemctl restart ssh
==============================
Press any key to continue, Ctrl-C to terminate...
^C
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 sysaidmin-0.2.5.tar.gz.
File metadata
- Download URL: sysaidmin-0.2.5.tar.gz
- Upload date:
- Size: 138.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
77c40710cead7bdcc6cb98b38d74dd05e1e1c24dbc450e3b983869a7c06da91f
|
|
| MD5 |
eb534b82a2d3e6b43d1fe9c159dbaec8
|
|
| BLAKE2b-256 |
01d8f2b32cc85a544d1487bbdda7ec48d214c0e551d2d0ae6bbbb49d707fe297
|
File details
Details for the file sysaidmin-0.2.5-py3-none-any.whl.
File metadata
- Download URL: sysaidmin-0.2.5-py3-none-any.whl
- Upload date:
- Size: 17.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f82026d920092f6bc093c12229ce5f56b6085304119236b32f90cf28c94ae257
|
|
| MD5 |
8bfe82cd85b147a42099990c56ab8e2c
|
|
| BLAKE2b-256 |
8d49b551690e7edfba4a1cb492ef8bfe45ad73efd46cf48d858ec16cfee26213
|