# pcpartpicker **Repository Path**: dreamszhu/pcpartpicker ## Basic Information - **Project Name**: pcpartpicker - **Description**: No description available - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-20 - **Last Updated**: 2026-05-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PCPartPicker Capture Extension Chrome/CloakBrowser MV3 extension for saving PCPartPicker pages while browsing. ## Load 1. Open `chrome://extensions/`. 2. Enable Developer mode. 3. Click `Load unpacked`. 4. Select: ```text D:\go\src\browsersdk\brosdk-wiki\browser-fingerprint-wiki\tools\pcpartpicker-capture-extension ``` ## Use - Open `https://pcpartpicker.com/builds/` or `https://pcpartpicker.com/guide/`. - Open a concrete completed build or build guide page. - Click the extension icon. - Click `Save current page`. The extension downloads a compact JSON capture: - `Downloads/pcpartpicker-captures/*.json` The JSON contains an accessibility-like effective content tree, headings, hardware tables, matched part rows, part summaries, useful PCPartPicker links, and compact page text. It intentionally avoids saving full-page HTML by default. Enable `Auto-save build/guide pages` to save concrete `/b/...` and `/guide/...` pages automatically as you browse. ## Automated List Capture Open a PCPartPicker list page, such as: - `https://pcpartpicker.com/builds/` - `https://pcpartpicker.com/guide/` Then click: `Open detail tabs + save` Use `Save all details on current page` to ignore `Max pages` and capture every detail card currently loaded in the list DOM. Use `Save detail pages from list pages` to capture every detail card from the current list page plus the next pages. Set `List pages` before starting. For example, if the current URL is `https://pcpartpicker.com/builds/#period=1y&page=4` and `List pages` is `3`, the extension captures pages 4, 5, and 6 while keeping the existing hash filters. The extension will: 1. Extract detail links from the current list page. 2. Optionally navigate the list tab through the requested page range. 3. Keep the list page open while details are captured. 4. Open each detail page in a new foreground tab. 5. Wait with randomized human-style delays. 6. Smooth-scroll the page. 7. Save compact JSON captures. 8. Close the detail tab and return focus to the list tab before continuing. Detail URLs are de-duplicated across the whole run, so repeated cards or overlapping pages are skipped. The popup shows live status: - current phase - found detail links - attempted / total - saved / failed - current URL - recent logs The status is stored in extension local storage, so reopening the popup shows the latest progress. Controls: - `Max pages`: upper limit for this run. - `List pages`: number of list pages to walk when using paged list capture. - `Min delay ms`: minimum randomized delay between actions. Keep the limit small at first. If PCPartPicker shows a verification page, complete it manually in the browser and rerun with a lower page count. This is the default foreground detail-tab mode. Keep the PCPartPicker list tab open and avoid manually closing the detail tabs while it is running. If Chrome reports `Could not establish connection. Receiving end does not exist`, refresh the extension and reload the PCPartPicker tab. The background script also attempts to inject `content.js` automatically when this happens. ## Copy / Import Site State The popup includes: - `Copy URL storage + cookies` - `Import to current URL` `Copy URL storage + cookies` works on any normal `http://` or `https://` page. It exports the active tab URL, origin, localStorage, and cookies to the clipboard and the popup text area. `Import to current URL` reads JSON from the text area, writes localStorage into the active tab, and sets only cookies whose domain matches the current tab host. Refresh the page after import. Use this only for your own browser sessions. Do not paste session state into untrusted tools or pages. ## Import Flow Review saved JSON files and convert verified build rows into: ```text workspace/datasets/hardware-matrix/sources/pcpartpicker/imports/*.txt ``` Then run: ```powershell npx tsx src/cli.ts hardware import-pcpartpicker workspace npx tsx src/cli.ts hardware validate workspace npx tsx src/cli.ts hardware index workspace ```