
前端开发者工具插件系统【免费下载链接】scriptcatScriptCat, a browser extension that can execute userscript; 脚本猫一个可以执行用户脚本的浏览器扩展项目地址https://gitcode.com/gh_mirrors/sc/scriptcat点击查看免费下载ScriptCat腳本貓是一款以 Tampermonkey 設計理念為基礎、完全相容 Tampermonkey 腳本的瀏覽器使用者腳本管理器定位是讓用戶「輕鬆自訂網頁、消除廣告、自動執行任務」。本指南以項目官方繁體中文說明docs/README_zh-TW.md為主軸並結合當前開源倉庫的源碼、配置與範例完整覆蓋核心功能、安裝方式、腳本開發與參與貢獻等主題。讀完本文你將掌握 ScriptCat 的架構特性背景腳本、雲端同步、排程任務、沙盒機制、快速上手安裝與使用的方法並了解其與 Tampermonkey 生態的相容關係。關於 ScriptCat腳本貓是什麼ScriptCat 是一套基於 Tampermonkey 設計理念打造的使用者腳本管理器具備三個核心定位完全相容 Tampermonkey 腳本可無縫遷移既有 Tampermonkey 腳本零學習成本創新的背景腳本執行框架讓腳本可以脫離頁面持續運作突破「腳本只能活在網頁裡」的限制豐富的 API 擴充能力提供比 Tampermonkey 更強大的 API 集合並內建具備智慧補全與語法檢查的程式碼編輯器。從倉庫結構看該項目採用 Manifest V3 構建見 src/manifest.json版本為 1.5.0.1500透過background.service_worker、sandbox.pages、offscreen等多種擴充機制組合出「頁面腳本 背景腳本 沙盒執行」的分層執行體系這也是它能支援背景腳本與排程任務的底層基礎。核心功能縱覽 雲端同步與腳本訂閱官方說明中ScriptCat 的雲端能力分為兩塊腳本雲端同步可跨裝置同步腳本切換瀏覽器或重裝系統時輕鬆還原腳本訂閱建立與管理腳本集合支援團隊協作與腳本組合。雲端同步的實現深度遠不止「上傳下載」。倉庫內有獨立的維護文檔 docs/cloud-sync.md詳細描述了同步目錄結構uuid.user.js腳本源碼、uuid.meta.json元資訊、isDeleted: true的 tombstone 刪除標記、scriptcat-sync.json啟用狀態與排序、本機file_digest對帳機制、sync_content_md5內容基線以及pending_sync_ops未完成操作登記。同步入口由 src/app/service/service_worker/synchronize.ts 的SynchronizeService承載底層則透過 packages/filesystem/filesystem.ts 統一的檔案系統介面串接 WebDAV、S3、OneDrive、Google Drive、Dropbox、Baidu、Zip 等不同雲盤 provider實作分散於 packages/filesystem/ 下。設計上刻意採用 best-effort、last-writer-wins 的樂觀同步策略並對單腳本失敗、真衝突、orphan 檔案等邊界情況做了詳細決策例如單個腳本失敗不阻塞其他腳本同步失敗腳本保留舊 digest成功腳本推進 digest本地與雲端都改過的「真衝突」不自動覆蓋任何一端而是聚合通知用戶處理。腳本訂閱則對應另一種輸入形式用戶可以建立一個「訂閱腳本」檔案透過scriptURL等元資料列出要訂閱的腳本清單。倉庫中的範例 example/usersubscribe.user.sub.js 展示了最簡形態// UserSubscribe // name 订阅脚本 // description 可以通过指定脚本url订阅一系列的脚本 // version 1.0.0 // author You // connect www.baidu.com // scriptURL https://scriptcat.org/scripts/code/22/test.user.js // /UserSubscribe 強大功能相容性、背景腳本、排程腳本與豐富 API完整 Tampermonkey 相容性ScriptCat 從設計上以 Tampermonkey 為相容基準官方聲明「完全相容 Tampermonkey 腳本」並在「使用指南」中提示支援多數 Tampermonkey 腳本可直接安裝若遇到不相容腳本可回報至專案 issues。這種相容性體現在grant元資料體系與GM_*API 的對應實作上——倉庫中example/目錄下大量範例gm_xhr.js、gm_cookie.js、gm_download.js、gm_notification.js、gm_value_*等即為常見 Tampermonkey API 的 ScriptCat 實作展示。背景腳本背景腳本是 ScriptCat 最具辨識度的創新讓腳本不再依賴某個網頁存在而是可以持續在擴充功能的背景環境中運行。這在擴充功能層面對應兩條路線內容腳本/頁面腳本之外的background元資料。倉庫中的模板 src/template/background.tpl 展示了背景腳本的最簡骨架// UserScript // name {{name}} // namespace https://docs.scriptcat.org/ // version 0.1.0 // description try to take over the world! // author You // background // /UserScript return new Promise((resolve, reject) { // Your code here... resolve(); });針對「注入範圍」的run-in控制。倉庫中 example/run-in/ 目錄下的範例展示了四種組合bg僅背景、both、incognito-tabs、normal-tabs、none。例如 example/run-in/run-in_both.js 同時聲明run-in normal-tabs與run-in incognito-tabs表示既注入普通標籤也注入無痕標籤。背景腳本的持續運行由 src/app/service/offscreen/ 下的keep_alive.ts、event_page_manager.ts等模組支撐並配合 src/manifest.json 中的offscreen、alarms權限與service_worker配置保證 Service Worker 或事件頁能被喚醒、維持週期性任務。排程腳本排程腳本讓腳本支援定時執行任務如自動簽到、定時提醒透過crontab元資料宣告 cron 表達式。倉庫範例 example/crontab/crontab.js 展示// UserScript // name crontab example // namespace https://bbs.tampermonkey.net.cn/ // version 0.2.0 // description 定时脚本示例 // author You // crontab */15 14-16 * * * // grant GM_log // grant GM_xmlhttpRequest // connect httpbingo.org // /UserScript return new Promise((resolve, reject) { GM_log(下午两点至四点每十五分钟运行一次); // ... 發送請求、處理結果後 resolve/reject });底層實作在 src/pkg/utils/cron.ts該模組基於 node-cron 解析支援標準 5 位格式分 時 日 月 週擴展 6 位格式秒 分 時 日 月 週官方文檔註明6 位格式會使腳本每秒執行瀏覽器 JS 環境無法精準每秒執行且對 CPU 負擔大不推薦ScriptCat 擴展語法once/once(*)/once(...)表示在某個週期內僅執行一次倉庫另附 example/crontab/crontab-once.js 與 example/crontab/crontab-once-expr.js 範例。字段取值規則與標準 cron 一致*任意值、1-3,5範圍/離散值、*/2步長秒 0–59、分 0–59、時 0–23、日 1–31、月 1–12、週 0–70 或 7 表示星期日。值得一提的是cron 工具層會把本地時區轉為 fixed offset zone如UTC08:00顯式傳給 cron 引擎避免在某些環境下自動偵測 IANA 時區失效如Etc/Unknown導致的「invalid date」錯誤。豐富 APIScriptCat 提供比 Tampermonkey 更豐富的 API 集合涵蓋同步/非同步兩種風格。倉庫中example/目錄下的範例即為最佳參考gm_value_1.js/gm_value_1_bg.jsGM_setValue/GM_getValue的儲存讀寫gm_xhr.jsGM_xmlhttpRequest跨域請求gm_download.jsGM_download檔案下載gm_notification.jsGM_notification桌面通知gm_get_resource.jsGM_getResource資源讀取gm_add_element.js/gm_add_style.js動態注入元素與樣式gm_clipboard.js剪貼板操作gm_tab.js/gm_save_tab.js標籤頁管理與保存。以 example/gm_value/gm_value_1.js 為例僅需在元資料聲明grant GM_setValue即可直接呼叫對應 API。這些 API 的實作分散於內容腳本層 src/app/service/content/gm_api/、Service Worker 層 src/app/service/service_worker/gm_api/ 與 offscreen 層 src/app/service/offscreen/gm_api.ts透過訊息通道packages/message/在各執行環境間轉發。️ 安全性與可靠性沙盒機制與權限管理沙盒機制腳本在隔離環境中運行避免惡意腳本互相干擾。倉庫在 src/manifest.json 中聲明sandbox: { pages: [src/sandbox.html] }並由 src/app/service/sandbox/index.ts 的SandboxManager負責初始化沙盒執行環境、建立Server(sandbox, windowMessage)訊息通道並做通道健康自檢。腳本的執行器src/app/service/content/script_executor.ts、src/app/service/sandbox/runtime.ts在沙盒頁內解析並運行使用者腳本頁面與沙盒之間僅透過白名單 API 與訊息通道交互。權限管理腳本必須明確請求所需權限敏感操作需額外確認。這對應腳本元資料的grant體系未聲明的 API 不授予、src/app/repo/permission.ts 中的權限判定以及 src/manifest.json 中permissions/optional_permissions如background、userScripts為可選權限的分級設計——安裝腳本時src/pages/install/permissions.ts會向用戶呈現所需權限清單。 開發體驗智慧編輯器、除錯工具與現代化介面智慧編輯器內建程式碼編輯器提供語法高亮、智慧補全與 ESLint 檢查。倉庫中編輯器元件位於 src/pages/components/CodeEditor/並配合 src/linter.worker.ts 在 Web Worker 中執行 ESLint配置見 eslint.config.mjs避免阻塞 UI 執行緒。除錯工具完善的除錯能力配合內建日誌系統src/app/logger/讓用戶快速定位問題。美觀介面現代化 UI 設計倉庫以 React Tailwind 構建src/pages/options/、src/pages/install/、src/pages/popup/ 等提供清爽直覺的操作體驗。快速開始安裝與使用 安裝擴充功能擴充商店推薦瀏覽器商店版本狀態Chrome正式版、Beta 版✅ 可用Edge正式版、Beta 版✅ 可用Firefox正式版、Beta 版✅ MV2說明Chrome 與 Edge 商店均提供正式版與 Beta 版兩個渠道Firefox 商店版本標註為MV2即 Firefox 上仍以 Manifest V2 形態提供而倉庫主線 src/manifest.json 已採用 Manifest V3兩者在執行模型上存在差異安裝時以對應商店的實際版本為準。手動安裝如果無法使用瀏覽器擴充商店可前往專案的 GitHub Releases 頁面下載最新的 ZIP 套件再透過瀏覽器的「載入已解壓縮的擴充功能 / 開發人員模式」手動載入。適用場景包括商店在地區不可用、需要測試未發布的 Beta 構建或需要自行從源碼建構。 使用指南安裝腳本從腳本市場取得前往 ScriptCat 官方腳本站或其他使用者腳本市場搜尋並安裝需要的腳本體驗背景腳本區ScriptCat 腳本站設有專門的「背景腳本」類別可篩選出運用背景執行能力的腳本這是 Tampermonkey 生態沒有的腳本形態相容性支援多數 Tampermonkey 腳本可直接安裝。若遇到不相容腳本歡迎到專案 issues 回報。開發腳本官方提供的開發資源分為兩條線一是開發文件docs二是開發者指南learn內容涵蓋從基礎到進階幫助使用者輕鬆開始腳本開發。開發時需注意一般腳本可直接以// UserScript區塊聲明元資料名稱、namespace、版本、match、grant 等需要背景執行時加上background需要定時執行時加上crontab需要控制注入範圍時使用run-in所有範例均可直接在倉庫example/目錄下找到對應的完整程式碼。參與貢獻與社群項目歡迎各種形式的貢獻。若想參與可先閱讀 CONTRIBUTING.md倉庫 docs 目錄另提供 CONTRIBUTING_ZH.md、CONTRIBUTING_RU.md 等多語言版本了解程式碼規範、提交流程與開發環境搭建。社群交流官方提供 Telegram 與 Discord 社群供使用者與開發者交流問題、分享腳本與討論功能方向文件協作官方文件頁面支援「Edit this page」直接修改發現文件錯誤或想補充內容時可以就地貢獻。開源授權本專案以GPLv3授權開源完整條款見倉庫 LICENSE。使用、修改與再分發時請遵循 GPLv3 的相關授權條款包括源碼開放義務與許可聲明要求。此外專案也接入 FOSSA 進行授權合規掃描確依賴組件的授權狀態可控。總結ScriptCat 的核心價值在於「Tampermonkey 相容性 背景執行框架 雲端同步/訂閱 排程任務」的組合。對既有 Tampermonkey 用戶它可以無縫遷移並提供更多執行場景對腳本開發者其豐富的 API、crontab/background/run-in擴展元資料以及內建智慧編輯器讓「瀏覽器自動化」的邊界從單一網頁擴展到擴充功能層級。若要深入底層機制建議繼續閱讀 docs/architecture.md 與 docs/cloud-sync.md 等維護文檔並在example/與packages/目錄中探索對應的實際實作。赞分享前端开发者工具插件系统【免费下载链接】scriptcatScriptCat, a browser extension that can execute userscript; 脚本猫一个可以执行用户脚本的浏览器扩展项目地址https://gitcode.com/gh_mirrors/sc/scriptcat点击查看免费下载相关推荐解锁浏览器脚本管理新姿势ScriptCat神器使用指南 解锁浏览器脚本管理新姿势ScriptCat神器使用指南 想让你的浏览器拥有超能力 脚本猫ScriptCat这款强大的浏览器脚本管理器能帮你轻前端开发者工具插件系统QQ空间历史说说怎么导出到本地GetQzonehistory 数据恢复工具上手QQ空间历史说说怎么导出到本地GetQzonehistory 数据恢复工具上手 QQ 空间里十几年的照片和文字其实一份都不在你手里图片是外链云端数据哪天网页爬虫数据分析LinuxMirrorsGNU/Linux 一鍵換源與 Docker 安裝換源腳本實戰指南LinuxMirrorsGNU/Linux 一鍵換源與 Docker 安裝換源腳本實戰指南 本指南以 LinuxMirrors 開源專案 SuperMani运维CLI上一篇如何用AI数据标注工具革命性提升机器学习项目效率下一篇如何快速使用MHY_Scanner面向游戏玩家的终极直播抢码工具指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考