-
Notifications
You must be signed in to change notification settings - Fork 4
CLI Companion
ed companion talks to Edith's memory backend. The companion stores notes,
recordings, photos, videos and PDFs as append-only episodes in Postgres, keeps
original files in its vault, and deduplicates sources by their SHA-256 content
hash.
Run the backend with Docker Compose from apps/companion, or let
ed companion deploy install and start it on a registered
machine. The CLI reaches a remote deployment through a saved ed machines
port forward.
The endpoint resolution order is: --endpoint, EDITH_COMPANION_URL, the URL
saved by the app, the localhost port saved by ed companion deploy, then
http://127.0.0.1:4820. An invalid saved or supplied URL falls back to the
deployed localhost port, or to port 4820 when there is no deployment record.
For the machinery behind these commands, start at how the companion works, the overview, then go deep: memory, ingestion, chunks, embeddings and search, asking and chatting, the learning loop, reasoning it does on its own and not being a yes-man.
| Command | What it does |
|---|---|
ed companion |
Runs ed companion status, the default subcommand. |
ed companion status |
Counts stored records and episodes waiting to be indexed. |
ed companion doctor |
Checks storage, migrations, search dependencies, media tools and reasoning configuration. |
ed companion search <query> |
Searches indexed memory with hybrid retrieval. |
ed companion index |
Embeds episodes that are waiting to be indexed. |
ed companion ingest <path> |
Sends a note, recording, photo, video or PDF, or a folder of them, to the backend. |
ed companion episodes |
Lists recent episodes, newest first. |
ed companion episode <id> |
Reads one episode in full, body included. |
ed companion sync <connector> |
Pulls GitHub observations or Notion pages. |
ed companion observations |
Lists independent activity records from connectors and Edith usage. |
ed companion reflect |
Distills and reconciles beliefs from recent episodes. |
ed companion extract |
Pulls typed claims out of recent episodes. |
ed companion claims |
Lists extracted claims and their verdicts. |
ed companion corroborate |
Checks testable claims against observations. |
ed companion runs |
Lists background learning runs and per-step outcomes. |
ed companion chat <message> |
Talks with the companion, streamed as it thinks. |
ed companion conversations |
Lists chats, or replays one by id. |
ed companion forget <id> |
Deletes a conversation and its messages. |
ed companion export <dir> |
Saves remembered records as a restorable bundle; --include-media also saves originals. |
ed companion import <path> |
Restores a bundle, merging and skipping what already exists. |
ed companion erase <id> |
Deletes one episode and everything derived from it. |
ed companion wipe |
Deletes the entire memory; the stack and its settings survive. |
ed companion nightly |
Runs the nightly learning pipeline right now. |
ed companion reason |
Shows or changes the reasoning provider, model and API key. |
ed companion ask <question> |
Answers from your own memory, through one lens. |
ed companion council <question> |
Asks several lenses and finds the crux they disagree on. |
ed companion personas |
Lists the lenses that can answer, and how each thinks. |
ed companion lenses |
What each lens learned about being useful to you. |
ed companion core |
Reads or edits the standing summary of who you are. |
ed companion why <id> |
Prints the whole chain behind a belief, theory or claim. |
ed companion hypotheses |
The theories it holds about you, and how they are faring. |
ed companion predictions |
What it expects to happen, and what did. |
ed companion commitments |
What you said you would do, and what happened. |
ed companion discrepancies |
Where your account and the record parted company. |
ed companion calibration |
How your account compares with the record, both directions. |
ed companion inquire |
The questions it wants to ask you, and your answers. |
ed companion entities |
The people, projects and places it knows, with every spelling. |
ed companion eval |
Scores the friend layer against the cases it should fail. |
ed companion standup <file> |
Records a standup; --verify also checks it against the record. |
ed companion machines |
Where the stack runs, and what each machine can do. |
ed companion hosts |
Machines that could run the companion, and what each one needs. |
ed companion deploy |
Choose the machine that runs it, and bring it up there. |
ed companion stack |
Start, stop, restart, log and inspect the stack on its host. |
ed companion baselines |
Your own delivery baselines, which every signal is measured against. |
ed companion connectors |
Tokens for GitHub and Notion, and imports for calendar, music and YouTube. |
ed companion facts |
What was true, and what it believed at the time. |
ed companion correct <id> |
Retires a wrong belief, or rewrites it in your words. |
ed companion weekly |
The wider weekly pass: relate, reopen, retire. |
ed companion db |
Migrate, reindex, or rebuild everything derived. |
ed companion hostsed companion deployed companion stacked companion statused companion doctored companion searched companion indexed companion ingested companion episodesed companion synced companion observationsed companion reflected companion beliefsed companion asked companion extracted companion claimsed companion corroborateed companion runsed companion chated companion conversationsed companion forgeted companion exported companion imported companion eraseed companion wipeed companion episodeed companion nightlyed companion reasoned companion personased companion counciled companion lensesed companion coreed companion whyed companion hypothesesed companion predictionsed companion commitmentsed companion discrepanciesed companion calibrationed companion inquireed companion entitiesed companion evaled companion standuped companion machinesed companion baselinesed companion connectorsed companion factsed companion corrected companion weeklyed companion db
- How the companion works
- Memory
- Ingestion
- Chunks, embeddings and search
- Asking and chatting
- The learning loop
- Reasoning it does on its own
- Not being a yes-man
| Code | Meaning |
|---|---|
0 |
Success, including a reachable doctor report whose ok is false. |
1 |
General failure. |
2 |
Bad usage, including a missing required path or a non-positive limit. |
4 |
The companion backend is unreachable, or indexing receives an embedding-service HTTP 502. |
--endpoint wins over EDITH_COMPANION_URL, which wins over the app's saved
endpoint, the deployed localhost port, and finally
http://127.0.0.1:4820. A remote deployment normally creates and opens its
forward during ed companion deploy. If that fails, run
ed machines forwards on <machine> and retry ed companion status.
Each Markdown file must be no larger than 2MB, recordings, photos and PDFs no
larger than 48MB, and video no larger than 768MB. Anything bigger is skipped
before any request, and note uploads are split into batches of 200 files. The
backend deduplicates by SHA-256 of the content, so ingesting the same file again
is safe and returns duplicate with the original episode id.
Search and indexing need the Ollama service and configured embedding model.
Photos also need the configured vision model. Video ingestion additionally
needs ffmpeg and ffprobe in the API container; exiftool enriches photo
metadata when present. ed companion doctor reports these prerequisites.
Use ed machines to create and open a port forward. Read
conventions and contracts for JSON, stdout, stderr and exit
code guarantees shared by every command.
Auto-generated from docs/, edit the docs in the repo, not the wiki.
CLI reference
Companion
- Deploy
- Concepts
- Concepts Memory
- Concepts Ingestion
- Concepts Search
- Concepts Chat
- Concepts Learning
- Concepts Brain
- Concepts Friend
- Hosts
- Stack
- Status
- Doctor
- Search
- Index
- Ingest
- Episodes
- Sync
- Observations
- Reflect
- Beliefs
- Ask
- Extract
- Claims
- Corroborate
- Runs
- Chat
- Conversations
- Forget
- Export
- Import
- Erase
- Wipe
- Episode
- Nightly
- Reason
- Personas
- Council
- Lenses
- Core
- Why
- Hypotheses
- Predictions
- Commitments
- Discrepancies
- Calibration
- Inquire
- Entities
- Eval
- Standup
- Machines
- Baselines
- Connectors
- Facts
- Correct
- Weekly
- Db
Guides