CtxPort — перенос AI-диалогов в чистый Markdown одним кликом
📂 Исходный код на GitHubOpen-source браузерное расширение (Chrome MV3, WXT + React 19): копирует AI-диалоги из ChatGPT, Claude, Gemini, DeepSeek, Grok, Doubao и GitHub Issues/PR в структурированный Markdown Context Bundle. Копирование из сайдбара без открытия чата, горячие клавиши, четыре формата экспорта, 100% локальная обработка.
CtxPort — это браузерное расширение с открытым исходным кодом, которое решает будничную, но раздражающую проблему: как перенести диалог с одним AI-ассистентом в другой инструмент, не потеряв форматирование и не потратив десять минут на ручную зачистку скопированного HTML. Один клик — и вся беседа превращается в чистый структурированный Markdown-документ, готовый для вставки в любой AI-инструмент, редактор или базу знаний.
Репозиторий: nicepkg/ctxport, лицензия MIT, около 630 звёзд и 130 форков. Документация — на ctxport.xiaominglab.com.
Проблема
Сценарий знаком каждому: вы 45 минут обсуждали с ChatGPT архитектуру проекта, нашли идеальное решение — и теперь хотите передать его Claude для реализации. Варианты?
- Ctrl+A, Ctrl+C — куча HTML-артефактов, сломанное форматирование, потерянные блоки кода
- Копировать каждое сообщение вручную — жизнь слишком коротка
- Скриншоты — текст в картинках умирает: его нельзя искать, нельзя переиспользовать, нельзя вставить в LLM
AI-диалоги стали новой единицей знания, но переносить их между инструментами до сих пор неудобно. CtxPort закрывает именно этот разрыв.
Как это работает
- Открываете любую поддерживаемую платформу
- Нажимаете кнопку копирования CtxPort в чате или горячую клавишу
Alt+Shift+C - Вставляете структурированный Context Bundle куда нужно
Никакой конфигурации, регистрации и облака. Поддерживаемые платформы: ChatGPT, Claude, Gemini, DeepSeek, Grok, Doubao и GitHub (Issues и Pull Requests).
Формат Context Bundle
Каждое копирование даёт на выходе Markdown-документ с метаданными во frontmatter:
---
ctxport: v2
source: chatgpt
url: https://chatgpt.com/c/abc123
title: "Discuss REST API Authentication"
date: 2026-02-07T14:30:00Z
nodes: 24
format: full
---
## User
I'm building a SaaS product and need to choose between
API key auth and OAuth2. What do you recommend?
## Assistant
Based on your scenario, I'd recommend a layered approach...
Frontmatter сообщает принимающему инструменту, откуда взят диалог, когда он произошёл и сколько в нём сообщений. Это структурированный контекст, а не просто сырой текст — другой AI-ассистент получает историю и может продолжить работу с места, где вы остановились.
Четыре формата экспорта
| Формат | Что получите | Для чего |
|---|---|---|
| Full | Полный диалог со всеми сообщениями | Перенос контекста между AI-инструментами |
| User Only | Только ваши сообщения (промпты) | Переиспользование промптов в другом AI |
| Code Only | Извлечённые блоки кода с тегами языков | Быстрый сбор сниппетов реализации |
| Compact | Сжатые сообщения в один абзац | Шеринг в чате или письме |
Отдельного внимания заслуживает режим Code Only: вместо прокрутки пятидесяти сообщений в поисках сниппетов — один клик и все блоки кода с языковыми тегами собраны вместе.
Копирование из сайдбара
Фича, которой нет у конкурентов: большинство инструментов требуют сначала открыть диалог. CtxPort позволяет навести курсор на беседу в боковой панели и скопировать её, не открывая. Нужно собрать пять диалогов для брифа проекта? Навели — кликнули, навели — кликнули. Без загрузки страниц и ожидания.
Приватность и архитектура
Ключевые свойства:
- Не требуется аккаунт, работает офлайн
- Ноль загружаемых данных, 100% локальная обработка
- Минимальные запрашиваемые разрешения
- Открытый код под лицензией MIT
Технически это монорепозиторий на pnpm workspaces и Turborepo:
ctxport/
packages/
core-schema/ # Zod-схемы формата Context Bundle
core-plugins/ # Адаптеры платформ (ChatGPT, Claude и т.д.)
core-markdown/ # Движок Markdown-сериализации
shared-ui/ # Общие React-компоненты
apps/
browser-extension/ # WXT + React 19 + Tailwind CSS 4
Каждый адаптер платформы — самодостаточный плагин, поэтому добавление новых платформ не требует трогать ядро. Схемы данных валидируются через Zod, само расширение собрано на WXT с React 19 и Tailwind CSS 4 (Chrome Manifest V3).
Установка
Публикация в Chrome Web Store пока в разработке — за анонсом можно следить через звёздочку репозитория. Сейчас расширение собирается из исходников:
# Clone the repo
git clone https://github.com/nicepkg/ctxport.git
cd ctxport
# Install dependencies
pnpm install
# Build all packages
pnpm build
# Start the extension in dev mode
pnpm dev:ext
После сборки загружаете распакованное расширение из apps/browser-extension/dist/chrome-mv3-dev через chrome://extensions.
Дорожная карта
Реализовано: поддержка всех семи платформ, копирование из сайдбара, четыре формата, горячие клавиши.
В планах:
- Релиз в Chrome Web Store
- Поддержка Firefox
- Импорт Context Bundle — вставка бандла для восстановления контекста диалога
- Пакетный экспорт нескольких диалогов одним бандлом
- Кастомные шаблоны форматов
Кому пригодится
CtxPort зайдёт тем, кто работает с несколькими AI-ассистентами параллельно: обсудить задачу в одном инструменте, реализовать в другом, а историю сохранить в базу знаний как обычный .md-файл, который принадлежит вам, а не платформе. Для команд это ещё и способ шеринга: вместо «сейчас заскриню» — чистый Markdown-файл в PR или командный чат.
Источник: https://github.com/nicepkg/ctxport