scroller-for-chatgpt-demo.mp4
A browser extension that adds a compact timeline navigator to chatgpt.com, making long conversations easier to scan and jump through.
- Adds a floating timeline of dots next to the ChatGPT thread.
- Uses metaball shape distinguish turns:
- Left circle: user message
- Right circle: assistant message
- Green dot: currently active message
- Click any dot to jump directly to that turn.
- Keyboard navigation:
jorArrowDown: next turnkorArrowUp: previous turn
- Automatically tracks new messages and layout changes.
- WXT for extension tooling
- React + TypeScript for UI logic
- Tailwind CSS for styling
- Storybook for component previews
src/entrypoints/chatgpt.content/index.tsx: content script entrypoint for*://chatgpt.com/*src/components/ScrollerApp.tsx: DOM observation, scroll sync, keyboard controlssrc/components/Timeline.tsx: floating timeline container and positioning logicsrc/components/TimelineDot.tsx: turn dot rendering and role stylingwxt.config.ts: extension and Vite/WXT configuration
- Node.js 18+
- pnpm
pnpm installRun the extension in development mode:
pnpm devFirefox development mode:
pnpm dev:firefoxWXT will build and watch changes while providing instructions to load the extension in your browser.
Build production extension bundles:
pnpm buildFirefox build:
pnpm build:firefoxCreate distributable zip packages:
pnpm zip
pnpm zip:firefoxStart Storybook:
pnpm storybookBuild static Storybook:
pnpm build-storybookpnpm compile- The extension currently targets
chatgpt.compages. - UI placement is dynamic and follows the conversation thread position.
- Scroll behavior is designed for ChatGPT's nested scroll containers.
MIT