Command line, servers and NAS
Everything the app does, OpenWorthy also does from the command line — for servers, a NAS, scripts, or people who simply prefer a terminal. Most people never need this page: the app does it all.
Install
OpenWorthy is a single program with no dependencies. Download it for your
system from the releases page,
check it against SHA256SUMS (and its signature SHA256SUMS.asc), or use a
package manager:
| System | Command |
|---|---|
| macOS (Homebrew) | brew install --cask openworthy/openworthy/openworthy |
| Windows (winget) | winget install OpenWorthy.OpenWorthy |
| Windows (Scoop) | scoop bucket add openworthy https://github.com/openworthy/scoop-openworthy then scoop install openworthy |
| Debian / Ubuntu | download the .deb, then sudo apt install ./openworthy_*.deb |
| Fedora / RHEL | download the .rpm, then sudo dnf install ./openworthy_*.rpm |
| Docker (NAS, Raspberry Pi) | see Docker |
Set up an account
openworthy account add you@example.com
Microsoft accounts open a browser to sign in. Gmail accounts do too when
your copy of OpenWorthy includes Google sign-in (openworthy version shows
it); otherwise they use an app password, or your own Google Cloud app
(--client-id). Other providers ask for an app password; account add
tells you where your provider issues one. Credentials are stored in your
operating system’s keychain, never in a file.
A new account starts in preview, and marks nothing until you have looked:
openworthy run --once # learn from your Sent folder, decide recent mail
openworthy preview # what it would mark, and why
openworthy start --account ID [--reject KEY] # start; leave out any it got wrong
openworthy run # keep running; marks new mail as it arrives
openworthy run keeps going until you stop it (openworthy stop). While it
runs, every other command talks to it — including the app, if you use both.
Everyday commands
| Command | What it does |
|---|---|
openworthy status |
Whether it is running, and each account’s state |
openworthy explain --last 10 |
Why recent emails were or weren’t marked |
openworthy reject KEY / keep KEY |
“Not worth it” / “worth it” for one email; it learns from both |
openworthy activity |
Recent groups of marks and undos |
openworthy undo --since 2h |
Take off marks OpenWorthy added (also --batch ID) |
openworthy suggestions |
Settings changes your corrections point to; nothing changes without your yes |
openworthy calibrate |
What marking more or fewer would have done last week |
openworthy settings |
Every settings change, and settings revert N |
openworthy digest |
Today’s list of emails worth reading |
openworthy contacts import FILE |
Count the people in a vCard file as known |
openworthy licence add FILE |
Add a Pro licence (- reads it from the terminal) |
openworthy help |
Every command |
The configuration is a commented text file: openworthy config print shows
it, and openworthy config validate checks your edits.
Mail marked while your computer is off (Pro)
Set enabled = true under [rulegen] in the configuration (or switch it on
in the app’s Settings), then:
openworthy rules # who would be handed to the mail server, and why
openworthy rules push # put those rules on the server
openworthy rules revoke # take them off again
It uses what the mailbox offers: a Sieve script (Fastmail, Dovecot, Stalwart and most self-hosted servers), Gmail filters, or Outlook message rules. The rules only add the mark, and never touch rules of your own.
More than one computer
Run OpenWorthy on as many computers as you like. They agree, through a small
record kept in your mailbox, that only one of them marks at a time; if that
one sleeps or shuts down, another takes over within about ten minutes.
openworthy status shows which is active.
Docker
For an always-on machine you own:
docker run -d --name openworthy --restart unless-stopped \
-v openworthy:/data \
-e OPENWORTHY_KEYRING_PASSPHRASE='a long passphrase of your choice' \
ghcr.io/openworthy/openworthy
A container has no OS keychain, so credentials are kept in an encrypted file
in the volume, unlocked by that passphrase (at least 12 characters). To keep
the passphrase out of the environment, put passphrase_file = "/run/secrets/…"
under [keyring] in /data/config.toml and mount the secret there.
Add an account with docker exec -it openworthy openworthy account add ….
IMAP accounts with an app password work anywhere; Gmail and Microsoft
sign-in opens a browser, so do it on a computer, or use an app password.
Check it
openworthy doctor
If something is wrong, openworthy doctor --bundle writes a diagnostic file
with every address, subject and server name replaced by a meaningless token.
Nothing is sent: read it, and attach it to a bug report if you wish.
Remove it
openworthy undo --since 30d # optional: take its marks off
openworthy account remove ID --yes # deletes local data; revokes Google access
Then delete the program and its data folder (openworthy doctor shows where).