Машинный перевод
Эта страница была автоматически переведена ИИ и может содержать ошибки. Если что-то неясно, обращайтесь к английскому источнику.
Начало работы¶
От свежего клона до первого локального архива: установите две команды, создайте конфигурацию пользователя, выберите канал cookie и выполните первый экспорт.
a. Требования¶
- Python ≥ 3.11
- uv — используется для установки инструментов и запуска тестов
- Настольный браузер, в котором выполнен вход в Perplexity — инструменты повторно используют его сессионные cookie; никакой токен никогда не хранится в конфигурации
Расшифровка cookie использует browser_cookie3. Автоопределение охватывает Edge, Chrome, Firefox и
Safari; Brave, Chromium, Opera и Vivaldi работают через --cookies-from.
b. Установка¶
Клонирование не требуется — установка прямо из URL git:
uv tool install git+https://github.com/Yiksing/pplx-tools.git
# PyPI-mirror alternative (e.g. mainland China):
# uv tool install --index-url https://mirrors.aliyun.com/pypi/simple git+https://github.com/Yiksing/pplx-tools.git
Из локального клона (корень репозитория):
uv tool install . # or development mode: uv tool install --editable .
Это устанавливает две команды: pplx-export (архивирование) и pplx-ask (интерактивные
запросы). Проверьте:
pplx-export --version
pplx-export --help # overview with examples; each subcommand has its own --help
pplx-ask --help
uvx --from . pplx-export выполняет одноразовую команду без установки.
c. Создание конфигурации пользователя¶
Реестр учётных записей (отображаемое имя / email / user_id) и пространство BOT являются личными
данными и не фиксируются в репозитории; они хранятся во внешнем TOML-файле.
Шаблон: config.example.toml в корне репозитория.
mkdir -p ~/.config/pplx-export
cp config.example.toml ~/.config/pplx-export/config.toml
chmod 600 ~/.config/pplx-export/config.toml # personal data — keep it owner-only
# edit and fill in your real account values
- Создайте каталог конфигурации.
- Скопируйте шаблон в путь по умолчанию.
chmod 600— файл содержит личные данные; оставьте доступ только владельцу.- Заполните
[accounts.<name>]— ключом является имя пользователя учётной записи (как оно отображается в URL-адресах тем / библиотеке); укажитеdisplay_name,email,user_idи выберитеdefault_account. - Заполните
[bot_space]— куда собираются темы, созданныеpplx-ask, после завершения (реальное пространство можно создать с помощьюpplx-ask space-create).
Автоматическая альтернатива: pplx-export init создаёт этот файл за вас — он
перечисляет сессионные cookie для каждой учётной записи в вашем браузере, проверяет
/api/auth/session для email / отображаемого имени каждого токена, устанавливает
default_account на текущую активную учётную запись, сопоставляет пространство BOT по
названию и атомарно записывает TOML с правами 0600 (существующий файл
перезаписывается только с --force).
pplx-export init # discover accounts, write the default config path
pplx-export init --create-bot-space [TITLE] # create the BOT space when no title matches (custom title optional)
pplx-export init --bot-title TITLE # match/create a different space title (default BOT)
pplx-export init --config /path/to/config.toml # write to a custom path
Флаги: --force перезаписывает существующую конфигурацию; --create-bot-space [TITLE]
создаёт пространство через API, если ни одно название не совпадает (операция записи в
учётную запись; явный TITLE используется как для сопоставления, так и для создания); --bot-title TITLE
используется как для сопоставления, так и для создания. Обратите внимание, что для
init — в отличие от всех остальных команд — --config является путём записи, а не
путём загрузки. Полные сведения: pplx-export → init.
Полная справка по полям находится в Конфигурация.
Приоритет загрузки (от высшего к низшему):
| # | Источник |
|---|---|
| 1 | --config PATH |
| 2 | PPLX_EXPORT_CONFIG переменная окружения |
| 3 | ~/.config/pplx-export/config.toml (по умолчанию) |
Когда конфигурация отсутствует
Команды без --account работают в урезанном режиме — проверка владения email
пропускается с предупреждением (автономные команды не затрагиваются); явный --account
вызывает ошибку, указывающую на config.example.toml. Когда --account опущен,
используется default_account из конфигурации.
d. Выбор канала cookie¶
Учётные данные берутся из сессионных cookie вашего локального браузера, в котором выполнен вход в Perplexity, читаемых
через browser_cookie3 — включая перечисление токенов для нескольких учётных записей и автоматическое
переключение. Четыре канала:
| Канал | Как | Примечания |
|---|---|---|
| Автоопределение (по умолчанию) | без флага | свежий кеш на 12 ч, затем хранилища браузера в порядке edge→chrome→firefox→safari |
| Именованный браузер | --cookies-from <browser> |
edge / chrome / firefox / safari / brave … |
| Файл cookie | --cookies /path/to/cookies.txt |
файл cookie Netscape или экспортированный JSON |
| WebBridge | --transport webbridge |
получение из контекста страницы — резервный канал, используется только при явном запросе |
В Linux установки браузеров snap и flatpak также определяются автоматически — их пути профилей охвачены встроенным реестром. Полная матрица Linux (связка ключей, окружения рабочего стола, пакеты дистрибутивов): Устранение неполадок → Расшифровка cookie в Linux.
pplx-export export <thread_url> # default: auto-detect browser store
pplx-export export <thread_url> --cookies-from edge # import from a specific browser
pplx-export export <thread_url> --cookies /path/to/cookies.txt # use a cookie file
pplx-export export <thread_url> --transport webbridge # WebBridge page context (explicit fallback)
После получения cookie инструмент вызывает /api/auth/session и выводит текущий
email учётной записи, чтобы вы могли подтвердить, что используется правильная учётная запись — будьте внимательны, если --account
не совпадает с учётной записью cookie. Конструкция транспорта/учётных данных описана в
Ask и учётные записи.
e. Первый запуск¶
pplx-export index --account alice # fetch the library index
pplx-export export <thread_url> # export a single thread
pplx-export batch --account alice # batch (incremental early-stop by default; --full for a full sweep)
pplx-export re-render --dry-run # offline re-render, zero network
indexзагружает индекс библиотеки учётной записи — точка входа, на которой строятсяbatchи другие команды для всей учётной записи.exportархивирует одну тему от начала до конца: он сохраняет необработанные ответы API (raw_*.json) вместе с Markdown, чтобы рендеринг можно было воспроизвести офлайн.batchобрабатывает всю библиотеку. Он останавливается рано, когда всё остальное уже заархивировано (инкрементальная ранняя остановка), записывает возобновляемые контрольные точки и принимает--fullдля полной обработки. Подробности: Инкрементальная синхронизация.re-render --dry-runдемонстрирует автономный путь: он заново генерируетconversation.mdturns/из локальных необработанных файлов без сети. Укажите--dry-runдля записи результатов. См. Автономные операции.
После того как это заработает, pplx-ask ask "<prompt>" выполняет потоковый запрос и автоматически архивирует
полученную тему — см. pplx-ask.
f. Куда попадают архивы¶
Архивы записываются в ./web_archive/ по умолчанию (переопределяется с помощью --out): один
каталог на тему.
| Путь | Содержимое |
|---|---|
conversation.md, turns/ |
отрендеренный разговор |
thread.json |
метаданные темы + реестр прерываний |
sources.md / sources.json |
цитаты |
report.md |
отчёт deep-research / council / study |
assets/ |
загруженные ресурсы (компьютерный режим) |
raw_*.json |
сохранённые необработанные ответы API — успешные архивы можно повторно отрендерить офлайн без повторной загрузки |
Полный контракт каталога: Структура архива.
g. Следующие шаги¶
- Что-то пошло не так? → Устранение неполадок
- Пошаговая справка по командам → pplx-export · pplx-ask · Команды обслуживания
- Пять режимов разговора → Режимы