跳转至

设计文档

pplx-cli(pplx-export / pplx-ask)的设计参考——机制层文档:管线、状态机、 数据契约,以及工具所依赖的 Perplexity Web API。面向任务的使用说明请从 使用指南开始。

文档定位pplx_export/(Perplexity 对话归档工具)的系统设计参考。 读者:接手维护的 agent / 工程师。目标是读完本区文档即可定位任何一个机制的 实现位置(模块/函数/行号),理解它为什么这样设计,然后安全地修改。

与既有文档的分工(本区文档是它们的超集细化版,不替代):

  • 下文 API 参考各页:Perplexity REST/GraphQL API 实测参考(端点/响应/错误语义);
  • pplx_export/README.md:工具概览与用法(管线全图、ask 时序的概念版);
  • 下文系统设计各页:落到模块/函数/行号级的架构、依赖、管线、状态机、 数据模型、限频与错误分流。

行号引用格式 file.py:NN,均相对 pplx_export/。各页机制描述均对照源码 核实(2026-07-23,__version__ = "0.1.0"pplx_export/__init__.py:31)。

系统设计

  • 架构总览——分层模块图与真实 import 依赖图:CLI、命令层、 站点层与 core 基础层如何组合。
  • 导出管线——端到端导出流程:抓取、原始响应先行落盘、 模式识别与 Markdown 渲染。
  • 子代理与中断——后台子代理产物的确定性归属, 以及导出运行的中断 / 续跑状态语义。
  • ask 时序与多账户——流式 ask 的完整时序,以及多账户 cookie 自动切换流程。
  • 数据模型与目录契约——核心数据模型、写入边界,以及所有 写入方必须遵守的磁盘归档目录契约。
  • 限频与错误处理——限频纪律、退避行为,以及错误 在各层之间的路由方式。
  • 离线运维机制——零网络机制:离线重渲、关系图重建 及其他本地维护管线。
  • 测试体系(架构)——全离线快照测试体系:fixture、 回归策略与覆盖布局。

API 参考