Skip to main content

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​

commandwhat it does
jevlin searchOne search. --stdin for agents; <query words> for a person.
jevlin setupEverything after the binary: config, registration, profile, agents.
jevlin statusWhat this installation has and has not completed.
jevlin doctorWhether searches are recorded and earning, check by check.
jevlin limitsSpend caps and today's spend, read from the router.
jevlin agents install|status|uninstallSets up, reports or removes the skills and hooks of each agent.
jevlin agents prefer on|off|statusWhat /jevlin on|off|status runs.
jevlin agents tier <band>|default|statusWhat /jevlin tier runs.
jevlin upgradeA native install: the latest release, verified before it runs.
jevlin uninstallRemoves 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.