Perplexity Power Shortcuts

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

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

作者
Brian Hurd
今日安裝
0
安裝總數
2
評價
0 0 0
版本
1.4.0
建立日期
2025-10-28
更新日期
2025-11-09
尺寸
21.0 KB
授權條款
未知
腳本執行於

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")