Deeplinks - простой, но иногда незаменимый прием для быстрого открытия программ прямо в нужном состоянии (как URL в браузере, только для приложений).
Я все чаще пользуюсь именно десктопными версиями Claude Code и Codex, и иногда надо из другого приложения открыть конкретную сессию или создать новую в конкретном проекте. Тут-то и помогают эти самые диплинки - ты просто формируешь ссылку вида
claude://code/new?folder=/path&q=... или codex://threads/new?path=...&prompt=... и вуаля: при клике апп откроется и покажется на первом плане именно на этой "странице".Как это можно использовать? Несколько идей.
- Дашборд проектов. Страничка в Obsidian / Notion: по проекту две ссылки - "продолжить последнюю" и "новая сессия". Или написать свой простой апп с обзором сессий именно так, как тебе удобно, по клику - открывается Claude / Codex.
- Всякие лаунчеры, типа Raycast. Можно открывать сессии откуда угодно. Например, удобно в Todoist задачу поставить ссылку на конкретную сессию в приложении агента.
- Human in the loop. Пуш / имейл / сообщение "сессия ждет ответа" с прямой ссылкой на апп. Или написать инструкцию чтобы когда клод имеет в виду другую сессию - давал линк на нее.
- Черновик промпта. Алерт или тикет с
q=Investigate incident: ... - кликнул, промпт уже в поле: посмотрел черновик, захотел - дописал, отправил. Причем такое можно встраивать прямо в сайты.- Handoff между агентами. Claude сделал фичу и в конце отдает
open "codex://threads/new?path=...&prompt=Review the diff". Кликнул - и ты телепортировался в Codex. Или наоборот.- Еще можно дернуть программно, скриптом или из терминала. Например, на маке это команда вида open "claude://code/continue?session=last".
Доки тут: Claude Code CLI, Claude Desktop, Codex, секция Deep links. Но там есть не все.
Ниже шпаргалка (раскрывается).
Claude Code App:
-claude://code/new?folder=/path&q=...- новая сессия в папке, промпт уже в поле.
-claude://code/continue?session=last- последняя сессия.
-claude://code/continue?session=local_<id>- конкретная сессия. Id - это имя json-файла в ~/Library/Application Support/Claude/claude-code-sessions, в самом приложении его нигде не показывают.
-claude://code/needs-input- сессия, которая дольше всех ждет ответа на permission.
-claude://resume?session=<uuid>- импорт CLI-сессии по uuid из ~/.claude/projects.
Три последних маршрута в доках отсутствуют, вытащил из анализа билда приложения.
Codex App:
-codex://threads/<id>- конкретный тред. Id - это uuid в имени rollout-файла в ~/.codex/sessions, или Cmd+Opt+C в самом треде.
-codex://threads/new?path=/path&prompt=...- новый тред в папке с промптом. Есть ещеoriginUrl, чтобы тред помнил, откуда пришел.
-codex://new?prompt=...- короткий вариант того же, нужен хотя бы один параметр.
-codex://settings/...,codex://skills,codex://automations,codex://plugins/...- прыжок сразу в нужный раздел.
- Правой кнопкой по чату - Copy deeplink, или Cmd+Opt+L на текущем. Все это есть в доках.
Нюанс: некоторые приложения диплинки не открывают - Notion и Telegram, например, решается простой страницей с HTTP редиректом, типа такой.
Начал копать в эту тему потому что планирую написать себе небольшой лаунчер с быстрым поиском и фильтром сессий, где нужная сессия находится и создается в одно касание. Пока писал пост, нашел отличный репо awesome-deeplinks - схемы для кучи приложений (вы только посмотрите сколько там всего!).
Короче, довольно удобная штука, может и вам пригодится.
🔥 ➕ 🔁 @nobilix