Replies: 3 comments
|
Want this to play around with the codex micro in a non-coupled way, left a comment in the PR. It would also be great to have t3code:// protocol links in chat, I'm always spawning threads with t3cli and it would be great to click around |
|
Opened an implementation of this in #6008. It follows the shape described here: Entirely up to the maintainers whether they want it; happy to shrink the scope if that helps. |
|
+1 with a second concrete use case, plus a full list of the workarounds we tried so nobody repeats them (all dead ends). Use case. A local skill fuzzy-finds a past thread (FTS over Tried on desktop 0.0.38, macOS, desktop-managed environment:
Ask, two small pieces:
Happy to test either. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Before submitting
Area
apps/desktop
Problem or use case
T3 Code already exposes thread deep links as
/threads/<environmentId>/<threadId>, and the mobile app usest3code://threads/<environmentId>/<threadId>for widgets and notification navigation.On macOS, T3 Code is registered as the handler for the
t3codescheme, but opening such a URL does not currently navigate the desktop app to the matching thread. The desktop app can be brought to the foreground, but the user still has to manually locate the conversation.This prevents integrations such as a hardware controller, menu-bar status app, notification action, or other local automation from taking the user directly to the thread that needs attention.
Proposed solution
Support a documented desktop deep link for an existing thread:
When received, the desktop app should reveal/focus its main window and navigate through the existing typed renderer route:
With Electron's hash history this is represented as
#/<environmentId>/<threadId>internally; the external/mobile contract can remaint3code://threads/....The behavior should work when the app is already running and when it is launched through the link.
Why this matters
This brings desktop behavior in line with the existing mobile deep-link model and enables fast "attention -> exact conversation" workflows.
For example, I am building a small read-only MIDI controller integration: each pad represents a live T3 thread and its LED reflects its state. Pressing a pad can already focus T3 Code on macOS; opening the corresponding thread would make the interaction immediate and useful without relying on brittle GUI scripting or storing credentials.
Smallest useful scope
open-urlon macOS.t3code://threads/<environmentId>/<threadId>shape.No server API or authentication change is required.
Alternatives considered
Risks or tradeoffs
The implementation needs to handle cold-start timing, duplicate URL events, and invalid or unavailable environment/thread IDs. The deep-link format should be treated as a stable public contract once documented.
The desktop renderer uses hash history, so the handoff should navigate through the renderer rather than assuming arbitrary external
t3code://URLs are already renderer routes.Examples or references
packages/shared/src/agentAwareness.tsbuilds/threads/<environmentId>/<threadId>.apps/mobile/src/widgets/AgentActivity.tsxturns that route intot3code://threads/<environmentId>/<threadId>.apps/web/src/main.tsxuses hash history under Electron.apps/desktop/src/app/DesktopClerk.tsalready handles a second desktop instance by revealing the main window.t3code://checkout-pr) and identifies the same missing external URL-routing layer.Contribution
All reactions