CtxPort — перенос AI-диалогов в чистый Markdown одним кликом

· 1 мин чтения
context-engineering browser-extension open-source tools llm
📂 Исходный код на GitHub

Open-source браузерное расширение (Chrome MV3, WXT + React 19): копирует AI-диалоги из ChatGPT, Claude, Gemini, DeepSeek, Grok, Doubao и GitHub Issues/PR в структурированный Markdown Context Bundle. Копирование из сайдбара без открытия чата, горячие клавиши, четыре формата экспорта, 100% локальная обработка.

CtxPort — перенос AI-диалогов в чистый Markdown одним кликом

CtxPort — это браузерное расширение с открытым исходным кодом, которое решает будничную, но раздражающую проблему: как перенести диалог с одним AI-ассистентом в другой инструмент, не потеряв форматирование и не потратив десять минут на ручную зачистку скопированного HTML. Один клик — и вся беседа превращается в чистый структурированный Markdown-документ, готовый для вставки в любой AI-инструмент, редактор или базу знаний.

Репозиторий: nicepkg/ctxport, лицензия MIT, около 630 звёзд и 130 форков. Документация — на ctxport.xiaominglab.com.

Проблема

Сценарий знаком каждому: вы 45 минут обсуждали с ChatGPT архитектуру проекта, нашли идеальное решение — и теперь хотите передать его Claude для реализации. Варианты?

  • Ctrl+A, Ctrl+C — куча HTML-артефактов, сломанное форматирование, потерянные блоки кода
  • Копировать каждое сообщение вручную — жизнь слишком коротка
  • Скриншоты — текст в картинках умирает: его нельзя искать, нельзя переиспользовать, нельзя вставить в LLM

AI-диалоги стали новой единицей знания, но переносить их между инструментами до сих пор неудобно. CtxPort закрывает именно этот разрыв.

Как это работает

  1. Открываете любую поддерживаемую платформу
  2. Нажимаете кнопку копирования CtxPort в чате или горячую клавишу Alt+Shift+C
  3. Вставляете структурированный 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