Repository navigation
Replies: 5 comments 1 reply
|
I proposed something close to this in #21588, which was closed as a duplicate of this one. Moving the new parts here so it all stays in one place. My setup: code on a Linux server, and I drive T3 Code from my laptop or phone over Tailscale. My main question is "what is this thread running, and how do I open it from here?" A small view inside the threadThe Processes page is the full view. I think it also needs a tiny one inside the thread details card, under Version Control, built the same way Lineage lists agents. It would use the same server data.
Ideas that could help the page too
Scope I'd suggest for the thread viewOnly what this thread started: copy URL, open, stop, restart, CPU and memory, names. Logs, run results (#16680) and processes T3 Code didn't start stay on the full page. I have a UI prototype with mocked data and won't open a PR until the direction here is settled. Happy to adapt it to whatever data model this page ends up with. |
|
would be great |
|
This would be so great to have! |
|
Related middle ground for the drawer (not a full Processes page): key interactive terminals by project worktree so every thread on the same checkout shares the same tabs, while other worktrees stay isolated. Wrote it up on the older project-terminal Idea: #6774 (comment) Processes can still sit on top of that as the cross-worktree inventory/stop UI later. |
|
I built a smaller cut of this idea on a branch and would like a direction check before opening a PR. Scope: a Dev servers sidebar page next to Pull requests and Usage. It lists only what T3 Code started (servers attributed to a thread's terminals or agent, from the existing Deliberately not included: processes T3 Code did not start (the External column above), discovered commands from Branch: https://github.com/adamsstartup/t3code/tree/feat/dev-servers-page (about 1.4k lines including tests and a user doc; Would a PR with this scope fit, or would you rather see it grow toward the full Processes page proposed here? |



Uh oh!
There was an error while loading. Please reload this page.
The problem
When I run several agents across a few projects, I lose track of what is running. There is a
vitein a worktree an agent started an hour ago, anext devin a T3 terminal, an API server in iTerm, and something holding port 3000. Finding and stopping the right one meanslsof -i,psand guessing which checkout it belongs to. Agents have the same problem. They start a second dev server because they can't see that one is already running, or they can't stop the one they started earlier.Others have run into pieces of this: agent-started servers that survive settle and can't be found or stopped from T3 Code (#15241), running dev servers not showing in the sidebar (#15238), and requests for visible, stoppable project-action runs (#16680, #11254).
What I tried
I built a proof of concept in my fork: a Processes page next to Pull Requests and Usage, plus MCP tools so agents can do the same things.
Left column: what's running. It shows long-running commands in T3 terminals, project actions, background shells agents started, and, collapsed under External, processes started elsewhere that run in a project folder or listen on a port. Each card shows:
Selecting a card shows its live output, CPU and memory. Stop sends Ctrl-C first, and T3 Code asks before stopping anything it didn't start. That also covers the case in #15241: a server an agent started with
nohupstill shows up here and can be stopped.Right column: what you can run. Each project's saved actions, plus commands discovered in
t3.json,package.jsonscripts, aMakefileor aProcfile. You can run a command, run a second instance, or save a discovered command as a project action. Discovered commands are only offered and never saved automatically, which keeps the idea from #913 opt-in.1-processes-page-overview.mp4
A tour with on-screen captions: run a saved action and watch its output, restart and stop from a card, save a discovered command, and see processes started outside T3 Code.
Agents get the same abilities through seven MCP tools:
t3_process_listt3_process_stop/t3_process_restartt3_project_actions_list/t3_project_action_runt3_project_action_save/t3_project_action_delete(full-access threads only)Processes an agent starts show up on the page with a link back to its thread. Running saved scripts from MCP overlaps with #8714. If that lands,
t3_project_action_runcould sit on top of it, and what this adds is the process list, stop and restart for anything running, and discovered commands.2-agents-manage-processes-and-actions.mp4
Three short requests to an agent (GPT-6.1-Sol): start a command from the Procfile and restart a server, save a new action and delete an old one, stop a server. Each change shows up live on the Processes page, linked back to the thread. Waiting time is cut, nothing is sped up.
How it fits
ps+lsofsnapshot every 3 s and shares it between subscribers. Unlike the always-on resource sampling in t3-resource-monitor samples every process on the machine every 5 s with no live subscriber and cannot be turned off #11222, it stops as soon as nobody is subscribed. The client receives one small list; output streams only for the selected process.Things I'm unsure about
Code
main)It's about 4.4k lines across contracts, a
ProcessTrackerservice, an MCP toolkit, the web page and tests. It's a proof of concept to show the idea; I'm not asking for a review or a merge. If the direction is interesting, I'm happy to reshape it, split it into small pieces, or hand it over. If it doesn't fit your plans, that's completely fine; it'll keep running in my fork.The dedicated save and delete tools exist because
t3_project_update'sscriptsfield no longer changes a project's actions since project settings moved intoprojectSettingsOverrides. That's already tracked in #14991, with a fix in #15012.All reactions