manigent-daemon
Connects one computer to Manigent, so you can see what is running on it — and start or stop it — from the web instead of a terminal.
Why this is a separate package
It stays connected when every agent on the machine is dead.
That is the whole feature. An agent's own connection cannot tell you "nothing is running here", because it is gone in that case — which looks exactly like the computer being switched off. Those two states need different words and different remedies, so something on the machine has to keep talking when there is nothing else left to talk.
It follows that this must not be able to break the way the agents can, which is
why it is its own package with three dependencies (httpx, websockets,
typer). It installs in seconds and starts even when the runner's heavier stack
is unusable.
Install
uv tool install manigent-daemon # or: pip install manigent-daemon
Then, in the Manigent web app, open Computers, press + to get a pairing code, and run:
manigent computer install --code XXXX-XXXX --user <your-username>
(manigent computer … is the same program, reached through the runner's CLI.
If the runner is not installed, use manigent-computer … directly.)
What this connection can do
The fixed list. The server can ask this computer to do only these things, and every item is checked twice — once by the server before it will send anything, and again here before anything runs:
- Start one of your agents
- Stop one of your agents
- Restart one of your agents
- Report which of them are running
- Update the Manigent software on it (manigent and its connection software)
Your agents. The agents it runs act as you and can run commands on this computer.
The terminal. On by default: you can open a full shell on this computer, as you, from its page in Manigent. Turn it off on this machine — only here, never from the browser:
manigent computer terminal disable # ends open sessions within seconds
manigent computer terminal enable
manigent computer terminal status
Sessions are hung up when you end them, after 15 minutes idle, after 8 hours, or when the connection drops. The server records who opened a session and for how long — never what was typed or printed.
Never
- Read or change your agents' environment variables
- Install or change anything else
- Delete an agent — only you can, in the browser
- Reach any other computer or account
Start, stop and restart are performed by shelling the ordinary
manigent start / manigent stop commands, so they behave exactly as they do
when you type them yourself.
Disconnecting the computer from the web app destroys this machine's key immediately and for good; reconnecting needs a fresh pairing code.
Commands
| Command | What it does |
|---|---|
manigent computer install --code XXXX-XXXX |
Connect this computer to your account |
manigent computer start |
Start the connection in the background |
manigent computer stop |
Stop the connection (your agents keep running) |
manigent computer status |
Is it connected, and what is running here |
manigent computer logs --tail 50 |
What the connection has been doing |
manigent computer update |
Update Manigent on this computer (manigent + connection software, via uv tool / pipx / pip) |
Where things live
~/.manigent/computer/<your-username>/
config.json # this machine's key, for this account (mode 0600)
computer.pid
stdout.log # what the connection did
stderr.log # what went wrong
One directory per Manigent account. If two people (or two of your own
accounts) use the same computer, each pairs separately and gets its own key,
its own connection and its own logs — neither can disturb the other. Every
command takes --user <name>; without it, it acts for the account you are
logged in as.
The two logs are rotated at 2 MB, stay on this machine, and are never uploaded
or shown in the web app. manigent computer logs prints the tail of both.
config.json holds the only secret that lets Manigent ask this machine to do
anything. It is written readable by you alone, never logged, and never
synchronized anywhere.
Mirrored source
This repository is a read-only mirror, published from the Manigent monorepo. Issues and discussion are welcome here; code changes land upstream.
License
MIT — see LICENSE.
Metadata
Release files for manigent-daemon 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| manigent_daemon-0.1.4.tar.gz | 52.4 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| manigent_daemon-0.1.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 110.0 kB
Release files / manigent_daemon-0.1.4.tar.gz
| Download URL | manigent_daemon-0.1.4.tar.gz |
|---|---|
| Size | 52.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
38496b366260984fa816fd6f3c991d54ef2f64c671955db7a6b9346a796f6bb2
|
|
BLAKE2b-256 checksum How to use checksums |
63b8d8451de2eb281be4996ef53ca84c15c77fd0fc1961392eb3545e1a40692c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.
Transparency logRelease files / manigent_daemon-0.1.4-py3-none-any.whl
| Download URL | manigent_daemon-0.1.4-py3-none-any.whl |
|---|---|
| Size | 57.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c8b959c680f40b0fc15c0ac05587a726e5dd1a568ac661f5417b169412b98314
|
|
BLAKE2b-256 checksum How to use checksums |
bdd03c4a8aa332a92273af911dc4842cc9a4dfa1ce3612c0236d89fd563b98e3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.
Transparency logSecurity for manigent-daemon 0.1.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for manigent_daemon-0.1.4.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.