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.
"Half of coding sessions being throwaway" is exactly why I stopped keeping them per session. Mine hang off a work item, and each item has its own folder with its session logs.
I basically throw them away and also record their summary in a vector DB to be able to find why I did something, if I'm ever curious about it!
Otherwise I'm gonna need a tool to help me manage my sessions :D
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.
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.
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?
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
It’s likely because you can vibe code the bones of one in a few hours.
This week I got Claude to build me a browser-based session manager to keep track of sessions and history of tasks. Works well enough for me and I’ll add features as I need.
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?
More of a desktop flavor though
> 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
I just search over $BACKUPS/*/latest/local/share/fish/fish_history with grep and skim
Excited to try it!
This week I got Claude to build me a browser-based session manager to keep track of sessions and history of tasks. Works well enough for me and I’ll add features as I need.