x-signal
X Signal — исследование X (Twitter) для ChatGPT и Codex
X Signal позволяет ChatGPT или Codex исследовать X через уже имеющийся у вас аккаунт. Задайте обычный вопрос — и он сможет искать в Top и Latest, прослеживать ветки, сравнивать ленты, находить аккаунты и приводить ссылки на посты, стоящие за ответом.
Сервис X Signal, браузер и сохранённые результаты исследований работают на вашем компьютере в Docker. Ваша сессия X хранится в постоянном профиле браузера. X Signal работает только на чтение: он не публикует посты, не ставит лайки, не подписывается и не отправляет сообщения. Для локального использования не нужен ключ API OpenAI или X. Веб-версия ChatGPT использует опциональный транспорт Secure MCP Tunnel от OpenAI, описанный ниже.
Используйте X Signal, чтобы узнать, что разработчики говорят о локальных голосовых агентах на этой неделе. Проверьте Top и Latest, проследите полезные ветки и укажите ссылки на важные посты.
Установка · Подключение ChatGPT или Codex · Пример работы · Принцип работы
Что умеет исследовать
Запускать несколько поисков Top, Latest или Media одновременно, с фильтрами по дате, языку, аккаунту, вовлечённости и содержимому.
Читать точные ленты Following, For You, закладки, а также ленты пользователей, списков и сообществ.
Открывать пост, восстанавливать ветку автора и отделять ответы от цитат-постов.
Находить людей и организации, затем читать их ленты.
Позволять длинным поискам продолжаться, просматривать сохранённые результаты и глубже копать в полезных частях.
Отслеживать тему или ленту во времени и экспортировать результаты в Markdown, CSV, JSON или NDJSON.
Модель сама выбирает, насколько широко искать, и использует прямые ссылки, когда они помогают ответу.
Related MCP server: RepoRelay
Установка
Вам понадобятся:
Docker Engine 25.0 или новее с Docker Compose 2.20.2 или новее. Обычный выбор для Windows и macOS — Docker Desktop; на Windows используйте Linux-контейнеры.
Аккаунт X.
Chrome — только если вы хотите автоматическую синхронизацию сессии из отдельного профиля Chrome.
Node.js 24.19 или новее — только для настройки туннеля ChatGPT, тестов, MCP Inspector, резервного копирования/восстановления или stdio.
Клонируйте репозиторий и откройте его папку:
git clone https://github.com/anotb/x-signal.git
cd x-signalВы также можете скачать последнюю версию исходного кода в формате ZIP.
Пусть кодинг-агент выполнит настройку
Если Codex или другой кодинг-агент может работать с вашим терминалом, передайте ему следующее:
Настройте X Signal из этого репозитория на моём компьютере. Сначала определите мою операционную систему и проверьте предварительные требования. Оставьте все сервисы на стандартных loopback-портах. Запустите стек Docker Compose, дождитесь состояния healthy и проверьте
/healthzи/readyz. Подключите мой локальный клиент Codex кhttp://127.0.0.1:7345/mcp. Никогда не просите меня вставлять в чат cookies, токены сессии, ключи API или пароли. Для входа в X проведите меня либо через session companion в отдельном профиле Chrome, либо через локальный браузер noVNC. Не обходите проверку X. Если я попрошу поддержку веб-версии ChatGPT, используйте профильchatgptSecure MCP Tunnel из репозитория и попросите меня ввести ID туннеля и ограниченный runtime-ключ прямо в скрытое локальное окно настройки. Никогда не открывайте порт 7345 и не выводите учётные данные в терминал. Сообщите мне, когда потребуется мой видимый шаг.
В репозитории также есть инструкции для кодинг-агентов.
Windows
Copy-Item .env.example .env
docker compose up -d --build --wait
Invoke-RestMethod http://127.0.0.1:7345/readyzmacOS или Linux
cp .env.example .env
docker compose up -d --build --wait
curl -fsS http://127.0.0.1:7345/readyzОба сервиса должны показывать healthy в docker compose ps.
Вход в X
Рекомендуется: отдельный профиль Chrome
Это позволяет держать аккаунт для исследований отдельно от аккаунта X, которым вы пользуетесь каждый день.
Создайте профиль Chrome и войдите в аккаунт X, который должен использовать X Signal.
Откройте
chrome://extensions, включите режим разработчика и выберите Загрузить распакованное.Выберите
extensions/x-signal-session-companionиз этого репозитория.Откройте расширение, дайте профилю понятное имя, оставьте автоматическую синхронизацию включённой и один раз нажмите Использовать этот профиль.
Сессия обновляется при запуске этого профиля Chrome, каждые пять минут, пока он открыт, и при изменении cookies X. Docker хранит собственную авторизованную копию между обновлениями и после перезапусков. Другие профили Chrome не могут незаметно подменить выбранный аккаунт.
О переключении аккаунтов и разовой передаче см. руководство по session companion.
Или войдите внутри Docker
Откройте локальный браузер и один раз войдите в X. Скопируйте сгенерированный пароль VNC в буфер обмена:
# Windows
docker compose exec -T browser sh -lc 'cat /data/.vnc/password.txt' | Set-Clipboard# macOS
docker compose exec -T browser sh -lc 'cat /data/.vnc/password.txt' | pbcopyВ Linux передайте ту же команду в инструмент буфера обмена рабочего стола: wl-copy в Wayland или xclip -selection clipboard в X11.
Профиль браузера хранится в Docker-томе xsignal_browser.
Подключение ChatGPT или Codex
Codex
В десктопном приложении Codex или в IDE-расширении откройте Настройки → MCP-серверы, добавьте сервер Streamable HTTP и укажите:
http://127.0.0.1:7345/mcpИли добавьте это в ~/.codex/config.toml:
[mcp_servers.x-signal]
url = "http://127.0.0.1:7345/mcp"
tool_timeout_sec = 900Перезапустите клиент после сохранения. Увеличенный таймаут хоста предназначен для глубокого чтения лент; широкие поиски используют долговечные задания и могут опрашиваться без начала заново. В документации Codex по MCP описана общая конфигурация для десктопа, CLI и IDE.
Репозиторий также является локальным плагином Codex с четырьмя опциональными навыками. Плагин включает то же самое MCP-подключение, так что установите его вместо повторного добавления сервера. См. настройку клиента.
ChatGPT web
ChatGPT не может напрямую обращаться к localhost. X Signal включает Secure MCP Tunnel от OpenAI как опциональный контролируемый сервис Compose. Он сохраняет MCP-сервер закрытым, даёт подключению стабильный идентификатор и переподключается после перезапусков Docker или компьютера.
В настройках туннелей платформы создайте туннель и привяжите к нему рабочее пространство ChatGPT, которое будет его использовать.
Создайте отдельный runtime-ключ API. В разделе Ограниченный доступ предоставьте только Туннели → Чтение, Использование.
Запустите локальную команду настройки и введите ID туннеля и ключ по запросу. Ввод ключа скрыт; оба значения сохраняются только в игнорируемых локальных файлах.
npm run tunnel:secure:configure
docker compose --profile chatgpt up -d --build --waitВ ChatGPT откройте Настройки → Безопасность и вход и включите режим разработчика.
Откройте Плагины, нажмите кнопку «плюс» и создайте приложение с именем X Signal.
Выберите Туннель, укажите туннель, просмотрите обнаруженные инструменты и создайте приложение.
Добавьте X Signal из меню инструментов в новом чате.
Runtime-ключ аутентифицирует только приватный туннельный транспорт. X Signal не вызывает с его помощью модели OpenAI, а для локального использования Codex по-прежнему не нужен ключ OpenAI. Туннель остаётся доступным, пока запущен Docker; состояние показывает docker compose --profile chatgpt ps и локальная страница готовности.
Режим разработчика и доступ к туннелю зависят от политики аккаунта и рабочего пространства. См. руководство по Secure MCP Tunnel от OpenAI и подробную настройку клиента.
Пример работы
Это реальный ответ ChatGPT по результатам живого поиска X Signal. Запрос был намеренно простым; ChatGPT выбрал широкое сканирование Top + Latest, обобщил примерно 100 недавних постов и привёл ссылки на подтверждающие материалы.
Используйте X Signal, чтобы узнать, что сейчас происходит на X с открытыми AI-агентами.
На снимке показаны только публичные результаты поиска; он был проверен, чтобы исключить данные аккаунта, сессии и приватных лент. Второй, другой пример исследования см. в живых примерах.
Примеры запросов
«Что сегодня происходит с этой компанией на X? Проверь с разных сторон и скажи, что подтверждено, оспаривается или просто повторяется.»
«Сравни, как разработчики обсуждают эти два продукта за последние семь дней. Отдели официальные анонсы от отчётов о практическом использовании.»
«Найди важные аккаунты по этой теме, затем изучи утверждения, по которым они расходятся.»
«Прочитай мою точную ленту Following с сегодняшнего утра, сохрани полезные ответы и открой ветки, стоящие за пятью пунктами, достойными моего внимания.»
«Прочитай этот пост, восстанови ветку автора и отдели поддерживающие ответы от контраргументов в цитатах-постах.»
«Создай ежедневный мониторинг этой темы и экспортируй последние изменения в Markdown.»
Принцип работы
flowchart LR
C["ChatGPT or Codex"] -->|"MCP"| A["X Signal"]
A --> B["persistent Chromium"]
B -->|"read-only"| X["X"]
A --> D["saved research"]
B --> P["signed-in browser profile"]Стек Compose по умолчанию состоит из двух сервисов: небольшого приложения Node/SQLite и интерактивного сайдкара Chromium. Опциональный профиль chatgpt добавляет закреплённый туннельный клиент OpenAI. Поиски используют один постоянный браузер с ограниченной конкурентностью, интервалами между запросами, кэшированием и адаптивной задержкой. Сохранённые задания, доказательства и профиль браузера переживают перезапуски.
Конфиденциальность и ограничения
Приложение, отладчик браузера и noVNC по умолчанию привязываются к localhost. Тома браузера и резервные копии содержат многократно используемое состояние входа, поэтому обращайтесь с ними как с паролями. Нормализованные результаты отправляются выбранному вами клиенту ChatGPT, Codex или MCP, когда он вызывает инструмент. Проверки X требуют видимого входа через локальный браузер; X Signal не обходит их.
X Signal — это независимый инструмент исследования для аккаунтов, которыми вы управляете. Он не связан с X или OpenAI и не предназначен для обхода API X, аутентификации, контроля доступа, проверок, лимитов запросов или других мер защиты. Используйте его только с контентом, доступным вашему аккаунту, и соблюдайте условия X.
Документация проекта
X Signal доступен по лицензии MIT.
This server cannot be deployed
Maintenance
Related MCP Connectors
Read public Twitter/X data: tweets, profiles, followers, search. No X developer account.
X/Twitter search, posts, comments, user profiles, user posts/replies and video transcripts.
Read-only public X (Twitter) data: profiles, tweets, threads, followers, search. Pay per result.
X/Twitter reads, search, monitors and posting. Pay-per-call in USDC — no signup, no API keys.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceA personal MCP bridge that lets ChatGPT drive a local Codex CLI, translating instructions into Codex app-server threads and returning compact summaries of what Codex did.16MIT
- AlicenseNot gradedqualityBmaintenanceA local MCP bridge that gives ChatGPT bounded read and search access to exactly one approved repository, with fixed handoff writers for task delegation to a separate coding agent.61 npm29MIT
- AlicenseNot gradedqualityAmaintenanceEnables coding agents like Codex to use the ChatGPT web app as a planning and review brain, letting ChatGPT read only needed code via OAuth MCP and submit locally authorized tasks without API keys or repository uploads.4MIT
- AlicenseNot gradedqualityBmaintenanceEnables ChatGPT conversations to directly inspect local workspaces and delegate coding tasks to a local Codex agent, with controlled concurrency, reusable sessions, and task/usage tracking.755 npmMIT