How holynova/chatgpt-page-reader works
回答成书 is a Chrome extension that turns ChatGPT answers into paginated book pages. The main workflow starts when a user opens the reader from the extension or ChatGPT page, then extracts and paginates answer content for reading; the reader also supports navigation, typography, and follow-up prompts through ChatGPT’s native composer. The README documents additional catalog and history-loading capabilities. Some wiring is in omitted portions of the content script, so uncertain relationships are left out or marked unverified.
Main entry points: content.js Book reader · background.js Action handler · catalog.js Catalog model · composer.js Native prompt composer
Components 18
Launch and integration
- Action handler
extension/background.js - Reader controller
extension/content.js
Reading experience
- Reader styles
extension/styles.js - Content paginator
extension/paginator.js - Book reader
extension/content.js - Page navigation
extension/content.js
Catalog and history
- Catalog model
extension/catalog.js - Catalog panel
extension/content.js - Session history loading
extension/catalog.js - Earlier turn loading
extension/catalog.js
Reading preferences and prompts
- Typography settings
extension/content.js - Native prompt composer
extension/composer.js - In-book follow-up
extension/content.js - Themes and immersion
extension/content.js
Other components
- Reader
- Chrome extension
- ChatGPT page
- Browser local storage
Connections 22
- Reader → Chrome extension: clicks action
README.md - Chrome extension → Action handler: dispatches click
extension/background.js - Action handler → ChatGPT page: checks host
extension/background.js - Action handler → Reader controller: sends open request
extension/background.js - Action handler → Reader controller: injects scripts
extension/background.js - Reader controller → Reader styles: applies styles
extension/content.js - Reader → ChatGPT page: opens reader
README.md - ChatGPT page → Book reader: provides answer
README.md - Book reader → Content paginator: paginates content
README.md - Book reader → Page navigation: navigates pages
README.md - Catalog model → Content paginator: extracts headings
extension/catalog.js - Book reader → Catalog model: builds navigation
- Book reader → Catalog panel: opens directory
README.md - Reader → Session history loading: loads sessions
README.md - Reader → Earlier turn loading: loads earlier turns
README.md - Catalog panel → Catalog model: shows hierarchy
README.md - Typography settings → Browser local storage: stores preferences
extension/content.js - Reader → Typography settings: adjusts layout
README.md - Reader → In-book follow-up: asks follow-up
README.md - In-book follow-up → Native prompt composer: submits natively
- Native prompt composer → ChatGPT page: uses native send
README.md - Reader → Themes and immersion: changes appearance
README.md