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.

Install from Greasyfork

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.