Installation
Get up and running in under a minute. Just install Tampermonkey and add the script from Greasyfork.
Prerequisites
Browser
A Chromium-based browser (Chrome, Edge, Brave, etc.) or Firefox. WebGPU support is recommended for best AI performance, but the toolkit automatically falls back to WASM on older hardware.
Tampermonkey
Install the Tampermonkey browser extension.
Install from Greasyfork (Recommended)
Install the Script
Visit the Greasyfork page and click Install this script. Tampermonkey will prompt you to confirm the installation.
Greasyfork handles updates automatically. You'll receive new versions as they're published.
Configure (Optional)
Visit the Settings page to customize your experience. Key options include:
- Whisper model selection and language
- Web translation controls
- Jina API key for semantic search
- Radio mode and playlist preferences
- Learner mode display settings
Build from Source (Alternative)
Only needed if you want to develop or modify the script yourself. Requires Node.js 18+.
Clone & Build
git clone https://github.com/HRussellZFAC023/voiceworks-toolkit.git
cd voiceworks-toolkit/asmr-one-ultimate
npm install
npm run build
Open dist/asmr-one-ultimate.user.js in your browser and Tampermonkey will prompt you to install it.
Development Mode (HMR)
npm run dev
Open http://localhost:5173/asmr-one-ultimate.user.js in your browser to install the dev script. Keep the dev server running while browsing so changes hot-reload automatically.
Chromium note: If installing a locally-built script, go to your browser's extension management page, click on Tampermonkey's details, and toggle on "Allow access to file URLs". This is not needed when installing from Greasyfork.
AI Model Downloads
Whisper transcription requires a one-time model download on first use. Other AI features run without additional model downloads:
Whisper (Transcription)
Downloads the Whisper model (~150 MB) when you first enable live transcription. The model is cached in the browser and reused across sessions. You can choose the model size and quantization in Settings.
Web Translation
Translations use a remote web pipeline with caching, retries, and rate-limit handling. No extra model download is required.
Semantic Search
Requires a free Jina API key for generating vector embeddings. Enter your key in Settings to enable semantic search. Embeddings are computed remotely but stored locally in IndexedDB.
Running Tests
The project includes comprehensive test suites to verify functionality:
# Unit tests (Vitest)
npm test
# E2E tests (Playwright, headless Chromium)
npm run test:e2e
# E2E with visible browser (for debugging)
npm run test:e2e:headed
# Playwright UI mode
npm run test:e2e:ui
# Step-through debugging
npm run test:e2e:debug
E2E tests run in a headless Chromium browser with automatic userscript injection, so no manual browser setup or Tampermonkey installation is needed. GM_* APIs are stubbed using localStorage.
Updating
Greasyfork installs update automatically. Tampermonkey checks for new versions periodically and applies them.
Source builds: pull the latest changes and rebuild:
cd voiceworks-toolkit
git pull
cd asmr-one-ultimate
npm install
npm run build
Open the newly built dist/asmr-one-ultimate.user.js in your browser to update the installed script.
Troubleshooting
Script not loading
Ensure Tampermonkey is enabled and the script is active in Tampermonkey's dashboard. On Chromium, verify that "Allow access to file URLs" is enabled in the extension settings.
WebGPU not available
WebGPU requires a compatible browser and GPU drivers. If WebGPU is unavailable, the toolkit automatically falls back to WASM for on-device features like Whisper transcription. Performance will be slower but functional.
Build errors
Ensure you're using Node.js 18+ and have run npm install in the asmr-one-ultimate directory. Delete node_modules and reinstall if you encounter dependency issues.