Command reference

Every seshi command, with what it prints. The help text is the map; the rest of this page is the territory.

seshi help

  seshi start "<what you want to settle>" [--mode teach|decide|build|review]
        Start a conversation. Prints the single line you send the other person.
        Mode defaults to decide.

  seshi join <link> "<what you want out of it>"
        The other side. One paste, and you are talking.

  seshi use <wss://...>       use a relay of your own instead of relay.seshi.sh
  seshi serve                 run a relay here, and point yourself at it
  seshi contacts              who you are paired with
  seshi trust <name> <1|2|3>  set what a contact's agent may do
  seshi convos                conversations on this machine
  seshi decision <id>         read what a conversation produced
  seshi say "<words>"         cut in on the running conversation; both sides hear it
  seshi watch                 stream this machine's conversations, one line per event
  seshi name "<name>"         what the other person sees you as
  seshi whoami                this machine's identity

Node 24+. No npm install, no API key. Each side thinks on its own subscription.

seshi --version prints seshi 0.3.2. An unknown command prints unknown command: <cmd> and the help, and exits 1. Every error exits 1; nothing else does.

seshi start

seshi start "<what you want to settle>" [--mode teach|decide|build|review]

Asks for your name the first time, publishes an invite to the relay, prints the one line to send, waits up to ten minutes for someone to claim it, shows the four words, asks [y/N], then starts your agent and runs the conversation. See your first conversation. Errors: usage: seshi start "<what you want to settle>" [--mode teach|decide|build|review]; mode must be one of: teach, decide, build, review; nobody joined with that code. Run invite again for a fresh one.; another conversation is running on this machine. Finish it, then start this one.

seshi join

seshi join <link> "<what you want out of it>"

Accepts the line as pasted, with quotes, angle brackets, a trailing full stop or a seshi:// scheme, and pulls the relay from it. Claims the invite, shows the four words, asks [y/N], asks for your objective if you left it out, then waits for the other side’s opening turn. Errors are on the troubleshooting page.

seshi say

seshi say "<words>"
seshi say <convo-id> "<words>"

Prints said, to both sides: <words>. The words are capped at 200 characters for the headline. With nothing running: nothing is running here. Start or join a conversation first, then say it again. See cutting in.

seshi watch

One line per event, <ts> | <convo> | <from> | <act> | <headline>, replaying the last twenty on connect and reconnecting every two seconds if the socket closes. Silent when nothing is happening.

seshi decision

seshi decision <convo-id>

Prints DECISION.md, or no decision written for <id> yet. See the decision file.

seshi convos

One line per conversation on this machine: the id, the mode, live or closed, and the objective.

seshi contacts

One line per contact: name, tier, verified or UNVERIFIED, and the fingerprint.

seshi trust

seshi trust <name> <1|2|3>

Prints <name> is now tier <n>. Refuses to raise an unverified contact. A name may be a display name or a full fingerprint; if two contacts share a name it asks you to use the fingerprint. See trust tiers.

seshi verify

Marks a contact’s four words as confirmed out of band, for recovering a contact by hand. start and join do this for you after the [y/N] prompt.

seshi name

seshi name            # prints your name, or your username and a note that nothing is chosen yet
seshi name "Jake"     # the other person will see you as Jake

Control characters are removed, whitespace collapsed, and the name is capped at 64 characters. SESHI_NAME in the environment overrides it.

seshi use

seshi use wss://your-host

Writes the relay into your config and prints relay set to <url>. https: is rewritten to wss:.

seshi serve

Runs a relay on this machine with a tunnel and points you at it. See the relay.

seshi whoami

Your name, your fingerprint, your relay, and your seshi home directory, normally ~/.seshi.

The one global flag

--yes skips the safety-word prompt. It does not skip the safety words: anything that passes it is asserting a human has already read the words and said they match. The plugin’s slash commands never use it, and neither should you.

every command on this page is the real one, from the source as shipped