Search from a shell
Everything an agent does, you can do from a terminal. The human form prints readable text; the stdin form is the versioned contract the skills use.
The human form
jevlin search "what is proof of authority consensus"
jevlin search -format model "what is proof of authority consensus" # a bounded summary
jevlin search -format json "what is proof of authority consensus" # the router's bytes, verbatim
jevlin search -tier balanced "compare vite and rspack"
The human form puts the query on the command line, where ps and your shell history can see it. -format model prints a summary and never echoes the router's error body; -format json prints the router's answer verbatim. Neither is the versioned envelope.
-timeout, default 60s, bounds the whole search: connect, TLS, headers, body and the one retry. Nothing causes a second request except the router answering the exact code trace_unsupported, after which the client retries once without the trace under the same deadline.
The stdin form
jevlin search --stdin <<'JSON'
{"version":1,"query":"what is proof of authority consensus"}
JSON
One JSON object on stdin, one JSON envelope on stdout. The query never reaches the process list and needs no shell escaping. Use it for anything you are going to act on programmatically, and for anything sensitive. The stdin request lists every field, and Request options shows each one in use.
PowerShell
Where the shell is PowerShell, the skill pipes a here-string into the call:
$OutputEncoding = [System.Text.UTF8Encoding]::new($false)
@'
{"version":1,"query":"what is proof of authority consensus"}
'@ | & 'C:\Users\you\.jevlin\bin\jevlin.exe' search --stdin
The first line is what makes an apostrophe, a quotation mark or any non-ASCII character arrive as written. Without it, Windows PowerShell 5.1 turns every non-ASCII character into ? on the way to the program, and the search answers a different question.
Checking on things
jevlin status # what this installation has and has not completed
jevlin agents status # which agents are set up, and how each was found
jevlin doctor # one line per check, and the one thing to fix
jevlin limits # this key's spend caps and today's spend
status, doctor and limits take -json and answer with the same envelope header a search does. See Troubleshooting for what doctor's lines mean.
The commands
| command | what it does |
|---|---|
jevlin search | One search. --stdin for agents; <query words> for a person. |
jevlin setup | Everything after the binary: config, registration, profile, agents. |
jevlin status | What this installation has and has not completed. |
jevlin doctor | Whether searches are recorded and earning, check by check. |
jevlin limits | Spend caps and today's spend, read from the router. |
jevlin agents install|status|uninstall | Sets up, reports or removes the skills and hooks of each agent. |
jevlin agents prefer on|off|status | What /jevlin on|off|status runs. |
jevlin agents tier <band>|default|status | What /jevlin tier runs. |
jevlin upgrade | A native install: the latest release, verified before it runs. |
jevlin uninstall | Removes what setup wrote. |
Commands has every command and flag. A command that reads the config takes -config <file>; setup, upgrade and uninstall take -home <dir> instead.