Skip to content

Origin 0.2.0

Choose a tag to compare

@github-actions github-actions released this 24 Oct 08:10
· 11 commits to master since this release

Five agents archived instead of two, a local admin UI, relays, restorable forgetting, and versioned stores.

Upgrading. A store is upgraded in place the first time Origin 0.2 opens it; to be safe, back it up first with origin backup <dir>. Upgrade the hub before its devices, since Origin 0.1 ignores restores, and do not go back to 0.1 on an upgraded store. Re-register nothing: origin mcp keeps its name and tools (forget now requires a reason).

Archive and search

  • Archives Grok Build sessions (source id grok): the update stream of each session under ~/.grok/sessions/ (or $GROK_HOME).
  • Archives ZCode sessions (source id zcode) from its SQLite database, ~/.zcode/cli/db/db.sqlite, opened read-only: each message once it has settled, with its parts, as one mirrored line.
  • Archives Cursor sessions (source id cursor): the conversations of the editor, from its state.vscdb opened read-only, and the transcripts under ~/.cursor/projects/.
  • Adapters can generate the lines of a source that is not a log file, such as a database; Origin mirrors and ingests them like a file's.
  • Sessions get their titles again from Claude Code 2.1, which writes ai-title lines, and a name given with /rename takes precedence over the generated title; upgrading a store titles the Claude Code sessions it already holds, on devices and hubs. Grok Build sessions are titled from their summary.json. A session without a title, such as every Codex session, has its first prompt as a provisional name (prompt, next to title, in the MCP timeline and origin timeline), and origin status counts the titled sessions.

Admin UI

  • A session's page shows it turn by turn: each prompt, or command the agent acted on, with the agent's tool calls folded into one line (calls per tool, failures) that opens to a row per call, and the agent's reply rendered as Markdown, tables included; other commands and injected context appear as small notes, long sessions are paged by turns with an index of days, and only the events of the turns shown are read. The timeline groups sessions by day, names untitled ones by their first prompt, and filters by name; the overview adds a 30-day activity chart by agent, recent sessions, the most active projects, each agent's version and last ingestion, the latest entries and forgets, and where the raw mirrors are stored.
  • origin ui serves the admin UI for the store on your own machine, on 127.0.0.1 only: it signs your browser in with a one-time link instead of a password, leaves out what only a hub has, and on a device connected to a hub syncs what you write and forget there in the background.
  • origin ui prints and opens a new sign-in link when you press Enter in its terminal, and the previous one stops working; and when it starts, it ingests this machine's agent sessions in the background, as origin sync --local does, while the UI can already be used.
  • The admin UI takes its chips, folds, turn cards, event links, compact lists, share meters, activity chart and its colours, and Markdown prose from version 0.3.0 of the OpenLinkOS design system (@openlinkos/ui) instead of styling its own: links in the agent's messages are underlined, event links are easier to see and to hit, and the chart's colours change slightly.

Forgetting

  • A forget is now a record that the owner can restore at any time: forget requires a reason everywhere (MCP, CLI, admin UI) and records its author, origin restore and the admin UI's Forgotten page restore it with a reason (agents cannot), the page shows the owner what a forget hides, and origin forgotten lists forgets and restores. A restore is a tombstone whose target is the forget, and replicates like one; upgrade the hub before its devices, since Origin 0.1 ignores restores. Forgetting in the admin UI no longer asks to type the id or the password again.

Personal hub

  • Relay mode for machines with little disk: origin hub connect … --relay makes an empty store a relay, which keeps only cursors, sends its agents' logs to the hub straight from the logs, and answers every MCP tool and CLI query through the hub.
  • A hub can keep the sealed frames of its raw mirrors in an S3-compatible bucket such as MinIO (origin serve --raw-s3-endpoint … --raw-s3-bucket …, or ORIGIN_RAW_S3_*, with *_FILE for keys mounted from a Secret); origin raw upload moves the frames already on disk, verified, 8 at a time (--concurrency), and origin backup copies them back into the backup.
  • origin status and origin hub status show when the device last finished a sync with its hub, and the error of the last sync if it failed since.
  • A relay warns before agents delete logs it has not sent: origin status, origin sync, and origin mcp (in its log and in the errors of tools the hub cannot answer) say when unsent sessions near Claude Code's cleanupPeriodDays (30 days unless set), or, for other agents, have waited a week with nothing sent.

Tooling

  • Stores record their format version and are upgraded in place, once, when a newer Origin opens them, stores of 0.1.0 included; Origin refuses a store whose format is newer than it knows.

Fixes

  • A device no longer gives up pushing a file that another of its processes (origin sync and an agent's origin mcp) is pushing at the same time, and neither does a relay.
  • A device sends the agent version it recorded for a file's events with the file, so a hub records the same version for agents whose logs carry none (Grok Build, Cursor).
  • A tool call that gets several results, such as a Claude Code background agent's, keeps them all instead of showing the later ones as a call named ?.