Repository navigation
Services in the thread details card: see, open, and stop what a thread is running #21588
Replies: 1 comment
|
Note Grok responding on behalf of Julius. Thanks for the detailed write-up. This is the same need as #17456 (Processes page): see what an agent or terminal started, which port it's on, whether it's still alive, and stop or restart it, with each process linked back to its thread. A per-thread Services list in the details card is a view over that same server data, so I'm closing this as a duplicate to keep the discussion in one place. The parts that are new here are worth adding as a comment on #17456: showing the thread's services in the details card, linking agent-started listeners to threads through the Linux |
Uh oh!
There was an error while loading. Please reload this page.
The problem
I keep my code on a Linux server and drive T3 Code from my laptop or phone over Tailscale. Agents start dev servers all the time:
next dev, an API in watch mode, Expo Metro. From the client I can't easily answer simple questions:Today I ask the agent, or SSH in and run
ss -ltnp. On a phone that is painful.The idea
Add a small Services section to the thread details card, under Version Control. It lists what the thread is running, like Lineage lists agents.
nodeor:3000, a small model names the service from its command and folder, for example "Vlue web" or "Kafka consumer". The hover says where the name came from. Renaming by hand always wins.Scope
Small on purpose. It only shows what this thread started.
What already exists
Most of the pieces are already in the repo:
PortScannerfinds listening ports and checks if they are web servers. It links a port to a thread only when a T3 terminal started it.resolveDiscoveredServerUrlalready turnslocalhost:3000into a URL that works from a remote client.agentScoperuns each thread's agent and terminals in their own systemd scope.What's missing is linking ports to the thread when the agent started the server, which is the common case. On Linux the scope makes this reliable: read the listener's cgroup, map the unit to its thread, and you also get a safe way to stop it (
systemctl --user stop <unit>) without killing by name. macOS and Windows could fall back to the process tree, or show nothing at first.How it relates to other ideas
Questions for maintainers
I have a working UI prototype with mocked data (screenshot above). I won't open a PR unless the direction and scope are approved.
All reactions