👻 TachiRei.jl -- Persistent Julia sessions you (and your AI) can jack into

▎ The ghost in your Tachikoma.

I wanted to share a sneak peek at something I’ve been building.

Watch my conceptual teaser video here.
(terminal art/sound/music created with 100% native Julia code and packages)

That’s the idea in a nutshell: a human and an AI, pairing together, securely, inside a persistent
Julia session. One of them types, the other watches live. Nobody’s screen-sharing, nobody’s
copy-pasting.

TachiRei.jl is tmux + mosh energy without the tmux + mosh baggage; reimagined for Julia and for working alongside an LLM. A quick peek at what it does:

  • Persistent & headless: Start a session (a live REPL, or any Tachikoma.jl TUI) and it keeps
    running with no one attached. Shut the laptop, come back from another terminal, pick up right where you left off.
  • N ghosts, one shell: Several viewers can attach to the same live session at once, each with its own scrollable view. Multiple humans and AI agents can share sessions and watch each other work or collaborate.
  • Secure without the fuss: Reached over SSH, CURVE-encrypted, server identity pinned through trust you already have. Firewalled box? It tunnels over plain SSH, so it works anywhere ssh does. Flexible system, SSH not needed, can use CURVE+TOFU, or ‘soy-free’ mode if you prefer.
  • A fleet, not a server: Run sessions across a few machines and see them all in one top-style cockpit (uptime, status, host), then hit Enter to attach.
  • Reconnect-resilient: Wifi drop, VPN flip, laptop nap? The viewer quietly reconnects and resyncs. The session never noticed you’d gone.

It stands on two packages that are in the General registry today: Tachikoma.jl (the terminal-UI
toolkit it renders with) and Kaimon.jl (the secure gate transport it rides on). Small, composable,
Julia all the way down. Glue, not a rebuild.

Install will be a one-liner.

]app add TachiRei

and you’ve got a tachirei command. Soon.

霊 (rei): the ghost in the machine.

(PS – please ping me with your thoughts, feedback, feature requests, inquiries!)

The link (https://juliaregistries.github.io/General/packages/redirect_to_repo/TachiRei) seems broken. Is there a link to the package? I checked your GitHub and couldn’t find it.

Also, I must confess I watched the video and didn’t understand what it has do to with persistent sessions? :sweat_smile:

Hey, thanks for watching. It’s not released yet, which is why you can’t find it :slight_smile: . I thought I’d float the concept a bit while I refine things and see if there’s interest and possibly get some ideas from others before it goes live.

Any thoughts on the concept in general? As for the vid it’s a conceptual piece … maybe I made it too abstract? It was fun to do.

Can you say more about what this does that tmux doesn’t/can’t do?

It’s primarily envisioned as a shared encrypted workspace/application you and an agent attach to.

As for tmux, that’s a fair question. There’s overlap between them. If you just want a shell that survives a dropped SSH and reattaches, tmux does that.

There is a difference in what is sent over the network. Tmux replays a PTY’s bytes, TachiRei sends a structured cell canvas (a Tachikoma model rendered to a buffer, broadcast as diffs plus keyframes). That gets you two things tmux can’t really do:

An AI agent can attach as a real participant. A person and an LLM can be in the same live session, and the agent reads the canvas as cells and sends input through tools instead of scraping bytes. That pairing is what I built it for. The agent can see the TUI (it’s text so they are generally good at reasoning about them). They can call MCP tools if you expose them in an application. Multiple agent and user connections are supported, so there’s interactivity.

Reconnect is a keyframe resync. A keyframe is a full snapshot, so a viewer that drops or joins late grabs one and is instantly in sync, no replay buffer. Plus CURVE encryption and remote/tunnel hosting are built in, where tmux is a local socket you bolt SSH onto.

I’d say the UX will be more streamlined, quick to get up and running and use for simple tasks. If you want all the bells/whistles/configurability of tmux, I’m not going to chase that.