Greasy Fork 还支持 简体中文。

Perplexity Power Shortcuts

Keyboard Shortcuts for Perplexity.ai: GSAP-powered scrolling, edit message, focus input, set sources (Academic/Social/GitHub), Search, Research.

Vous devrez installer une extension telle que Tampermonkey, Greasemonkey ou Violentmonkey pour installer ce script.

Vous devrez installer une extension telle que Tampermonkey pour installer ce script.

Vous devrez installer une extension telle que Tampermonkey ou Violentmonkey pour installer ce script.

Vous devrez installer une extension telle que Tampermonkey ou Userscripts pour installer ce script.

Vous devrez installer une extension telle que Tampermonkey pour installer ce script.

Vous devrez installer une extension de gestionnaire de script utilisateur pour installer ce script.

(J'ai déjà un gestionnaire de scripts utilisateur, laissez-moi l'installer !)

Vous devrez installer une extension telle que Stylus pour installer ce style.

Vous devrez installer une extension telle que Stylus pour installer ce style.

Vous devrez installer une extension telle que Stylus pour installer ce style.

Vous devrez installer une extension du gestionnaire de style pour utilisateur pour installer ce style.

Vous devrez installer une extension du gestionnaire de style pour utilisateur pour installer ce style.

Vous devrez installer une extension du gestionnaire de style pour utilisateur pour installer ce style.

(J'ai déjà un gestionnaire de style utilisateur, laissez-moi l'installer!)

Auteur
Brian Hurd
Installations quotidiennes
0
Installations (total)
10
Notes
1 0 0
Version
1.4.0
Créé
28/10/2025
Mis à jour
09/11/2025
Taille
21 ko
Licence
N/A
S'applique à

Perplexity.ai keyboard Shortcuts.

If you use comet browser, see how to enable tampermonkey extension on perplexity.ai url here:
https://github.com/pnd280/complexity/blob/nxt/perplexity/extension/docs/comet-enable-extensions.md

On windows, open powershell and run:
irm "https://cdn.cplx.app/assets/comet-policy-patch-win.ps1" | iex

// on page reload, automatically run the “Research + Social” sequence (same as your alt+g logic) on page load, waiting 1500 ms.

SHORTCUTS:


// Alt+t → Scroll to top of main thread
// Alt+z → Scroll to bottom of main thread
// Alt+j → Scroll up one message block
// Alt+k → Scroll down one message block
// Alt+e → Edit lowest user message (clicks [data-testid="edit-query-button"]; simulates hover if needed; falls back to Search if none found)
// Alt+Shift+s → Click Search mode (SVG d^="M11 2.125a8.378 8.378")
// Alt+r → Click Research mode (SVG d^="M8.175 13.976a.876.876")
// Alt+w → Focus chat input (#ask-input contenteditable)
// Alt+a → Set Sources → Academic (First: Set Sources SVG d^="M3 12a9 9 0 1 0", then submenu data-testid="source-toggle-scholar")
// Alt+s → Set Sources → Social (submenu data-testid="source-toggle-social")
// Alt+g → Set Sources → GitHub (submenu by testid if present or text "GitHub")
// Alt+n → Start new conversation


// #1
// Css tweaks (hide download comet)
(function() {
var target = document.querySelector('div.h-bannerHeight.rounded-sm');
if (target) target.style.display = 'none';
})();


// #2
// on page reload, automatically run the “Research + Social” sequence (same as your alt+g logic) on page load, waiting 1500 ms.
(function () {
function clickSegmentedControlBySVGPath(pathPrefix) {
const segButtons = Array.from(document.querySelectorAll('button[role="radio"]'));
for (const btn of segButtons) {
const svg = btn.querySelector('svg');
if (svg) {
const path = svg.querySelector('path');
if (path && path.getAttribute('d') && path.getAttribute('d').startsWith(pathPrefix)) {
if (btn.getAttribute('aria-checked') !== "true") {
btn.click();
return true;
}
}
}
}
return false;
}
function openSourcesMenuAndClickSubmenuByTestId(testid) {
const sourcesBtn = document.querySelector('button[data-testid="sources-switcher-button"]');
if (!sourcesBtn) return false;
sourcesBtn.click();
setTimeout(() => {
const menu = document.querySelector('div[role="menu"], ul[role="menu"]');
if (menu) {
const item = menu.querySelector(`[data-testid="${testid}"]`);
if (item) item.click();
}
}, 250);
return true;
}
function sendEscapeKey() {
document.dispatchEvent(new KeyboardEvent('keydown', {
key: 'Escape',
code: 'Escape',
keyCode: 27,
which: 27,
bubbles: true,
}));
}
function doAltGSequence() {
clickSegmentedControlBySVGPath('M8.175 13.976a.876.876');
setTimeout(() => {
openSourcesMenuAndClickSubmenuByTestId('source-toggle-social');
setTimeout(() => {
sendEscapeKey();
}, 350);
}, 250);
}
if (document.readyState === 'complete' || document.readyState === 'interactive') {
setTimeout(doAltGSequence, 1500);
} else {
window.addEventListener('DOMContentLoaded', function () {
setTimeout(doAltGSequence, 1500);
});
}
})();

// #3
// Alt+t → Scroll to top of main thread
// Alt+z → Scroll to bottom of main thread
// Alt+j → Scroll up one message block
// Alt+k → Scroll down one message block
// Alt+e → Edit lowest user message (clicks [data-testid="edit-query-button"]; simulates hover if needed; falls back to Search if none found)
// Alt+Shift+s → Click Search mode (SVG d^="M11 2.125a8.378 8.378")
// Alt+r → Click Research mode (SVG d^="M8.175 13.976a.876.876")
// Alt+w → Focus chat input (#ask-input contenteditable)
// Alt+p → Set Sources → Academic (submenu data-testid="source-toggle-scholar")
// Alt+s → Set Sources → Social (submenu data-testid="source-toggle-social")
// Alt+g → Set Sources → GitHub (submenu by testid if present or text "GitHub")