I started building my own version of this in Superlogical Rex.
It's a bit hard to decide where to hook in.
Rex has events, harnesses have hooks, terminal output can set program status, git has hooks.
I'm not sure I actually want every session from every machine saved. That's a lot of noise especially when half of coding sessions are experimental / throwaway.
But at the same time its not that much data that's easy to ripgrep / LLM through.
[3 hidden]5 mins ago
Nice! Rex is super cool. We have an Atuin Threads integration for Herdr already, definitely exploring building one for Rex too
We actually don’t use hooks at all at the moment, and instead rely on parsing session files
Agents are definitely super good at searching and finding relevant data amongst noise!
[3 hidden]5 mins ago
Fascinating. I just finished implementing this.
https://github.com/comalice/pi-tools contains a 'memory everywhere' module that makes all sessions BM25 vectors, and surfaces a set of memory tools to enable agents to search. You can add a new machine to the mix by registering a 'spoke'. The app runs on the 'hub'. I want to containerize the core app soon.
You can also change which computer is the hub fairly easily.
[3 hidden]5 mins ago
Probably a little late to this, because herdr has really eaten this segment. With their new Mac app, I don't see myself going back to atuin for this kind of experience. In fact, I get a little peeved using it on a vanilla terminal.
[3 hidden]5 mins ago
Threads doesn’t compete with herdr, the two actually go together really nicely
Atuin indexes all your past sessions, herdr multiplexes all your present sessions.
I love Atuin, but have some reservations about a shared server keeping all my shell history and agent sessions. Am I being too paranoid and missing out on convenience?
[3 hidden]5 mins ago
Same, I really wanted to share history, but when I realised I was going to need to send things to a remote server I instead wrote a tiny script to search through backups that are shared across machines by Syncthing.
I just search over $BACKUPS/*/latest/local/share/fish/fish_history with grep and skim
[3 hidden]5 mins ago
Nice solution
[3 hidden]5 mins ago
It is encrypted client side. Or you can run your own server.
> Am I being too paranoid and missing out on convenience?
No, I'd say it is more-so a lack of reading the article that is causing you to miss out.
[3 hidden]5 mins ago
I did read the article but missed that. Paranoia can definitely co-occur with distracted reading, they're independent dimensions ;)
Thanks for the info, will give it a try
[3 hidden]5 mins ago
Atuin is open source, you can just host your own server?
[3 hidden]5 mins ago
Fair enough, I missed that. Will give it a try!
[3 hidden]5 mins ago
So now everyone and their mother are putting out AI harnesses/session managers aka browser tabs for AI.
[3 hidden]5 mins ago
I've been using (and supporting) atuin for a while, and I find it a required bit of infrastructure. This is a nice upgrade!
[3 hidden]5 mins ago
I've spent the last couple of months putting a lot of time and energy into isolating my agents from each other: aggressive sandboxing, regular scanning of transcripts for agent-leaked credentials, per-agent encrypted credential stores, even physical (and network) separation of machines with different areas of work on them. Needless to say, as much as I have found atuin an excellent manager of my command-line history, I will be avoiding this.
It's a bit hard to decide where to hook in.
Rex has events, harnesses have hooks, terminal output can set program status, git has hooks.
I'm not sure I actually want every session from every machine saved. That's a lot of noise especially when half of coding sessions are experimental / throwaway.
But at the same time its not that much data that's easy to ripgrep / LLM through.
We actually don’t use hooks at all at the moment, and instead rely on parsing session files
Agents are definitely super good at searching and finding relevant data amongst noise!
https://github.com/comalice/pi-tools contains a 'memory everywhere' module that makes all sessions BM25 vectors, and surfaces a set of memory tools to enable agents to search. You can add a new machine to the mix by registering a 'spoke'. The app runs on the 'hub'. I want to containerize the core app soon.
You can also change which computer is the hub fairly easily.
Atuin indexes all your past sessions, herdr multiplexes all your present sessions.
We made a mod for herdr desktop to integrate the two: https://herdr.dev/mods/atuinsh/herdr-atuin-threads/
What peeves you on the vanilla terminal?
Excited to try it!
More of a desktop flavor though
I just search over $BACKUPS/*/latest/local/share/fish/fish_history with grep and skim
> Am I being too paranoid and missing out on convenience?
No, I'd say it is more-so a lack of reading the article that is causing you to miss out.
Thanks for the info, will give it a try