跨平台命令腳本管理工具 — 高效儲存、組織和分享你的常用命令
- 📝 建立、編輯、刪除腳本,支援多步驟命令流程
- 📋 一鍵複製單條命令或整個腳本
- ⭐ 收藏常用腳本,快速存取
- 🔍 即時搜尋標題、描述和命令內容
- 🔀 拖曳排序腳本順序
- 📁 資料夾式類別管理,支援 34 種預設圖標及自訂圖標上傳
- 🖼️ 圖標庫功能,上傳的圖標可跨類別重複使用
- 🏷️ 彩色標籤系統,靈活分類和篩選
- 🔀 拖曳排序類別順序
- ⋮ 類別卡片右上角更多選單(編輯、刪除、更新訂閱)
- 🔗 訂閱 GitHub 腳本庫,自動導入腳本
- 🔄 一鍵同步更新訂閱內容
- 📦 支援 ZIP 高效下載
- 💾 SQLite 本地資料庫儲存
- 📤 導出為 JSON 備份或資料夾結構
- 📥 從備份或外部資料夾導入
- 🗂️ 單一類別導出功能
- 🌓 淺色 / 深色 / 跟隨系統主題
- 📱 卡片網格與列表視圖切換
- 🌐 繁體中文 / English 雙語支援
- 🖥️ 動態側邊欄,根據當前頁面切換功能
- 🖱️ 右鍵選單支援(類別、腳本卡片)
- 🚀 開機自動啟動(可選)
- 🔽 關閉時最小化到系統托盤
前往 Releases 頁面下載最新版本:
- Windows:
.msi安裝包 或.exe安裝程式
- Node.js v18+
- Rust
- Windows: Microsoft Visual Studio C++ Build Tools
- Linux:
build-essential,libwebkit2gtk-4.1-dev,libgtk-3-dev,libayatana-appindicator3-dev,librsvg2-dev
# 克隆專案
git clone https://github.com/Wing9897/ScriptHub.git
cd ScriptHub
# 安裝依賴
npm install
# 開發模式(含 Tauri 桌面視窗)
npm run tauri dev
# 僅前端開發(瀏覽器預覽)
npm run devnpm run tauri build產出位於 src-tauri/target/release/bundle/。
- 點擊右上角「新增腳本」
- 輸入標題、描述,選擇平台
- 逐行輸入命令,可為每步添加說明
- 選擇類別和標籤
- 點擊「建立腳本」
- 點擊側邊欄「訂閱」按鈕
- 輸入 GitHub 倉庫 URL(支援子目錄路徑)
- 掃描並選擇要導入的腳本
- 之後可透過類別卡片的 ⋮ 選單一鍵更新
ScriptHub 使用 V2 統一格式進行匯入/匯出,結構如下:
scripthub-export-2025-02-08/
├── scripthub.json # 根 manifest
├── global/
│ ├── tags.json # 全域標籤
│ ├── variables.json # 全域變數
│ └── custom_icons.json # 自訂圖標庫
├── categories/
│ └── [category-name]/
│ ├── category.json # 類別元數據 + 腳本列表
│ ├── icon.png # 自訂圖標(如有)
│ └── scripts/
│ ├── script-a.sh
│ └── script-b.ps1
└── uncategorized/
├── category.json
└── scripts/
{
"manifest_version": "2.0",
"exported_at": "2025-02-08T12:00:00.000Z",
"app_version": "1.0.0",
"stats": {
"categories": 3,
"scripts": 15,
"tags": 5,
"variables": 0
}
}{
"id": "uuid",
"name": "My Scripts",
"description": "常用部署腳本",
"icon": "terminal",
"customIcon": "icon.png",
"order": 0,
"createdAt": "2025-01-01T00:00:00.000Z",
"isSubscription": false,
"sourceUrl": null,
"scripts": [
{
"id": "uuid",
"title": "Deploy",
"description": "部署到生產環境",
"file": "scripts/deploy.sh",
"platform": "linux",
"tags": ["tag-id-1"],
"variables": [],
"isFavorite": true,
"order": 0,
"createdAt": "2025-01-01T00:00:00.000Z",
"updatedAt": "2025-01-01T00:00:00.000Z"
}
]
}支援的平台值:cross、windows、linux、macos
ScriptHub/
├── src/ # React 前端
│ ├── components/ # UI 組件
│ │ ├── layout/ # 佈局(Sidebar, TopBar, MainLayout)
│ │ ├── category/ # 類別管理
│ │ ├── script/ # 腳本相關
│ │ ├── tag/ # 標籤管理
│ │ ├── import/ # 檔案導入
│ │ ├── subscription/ # 訂閱功能
│ │ ├── settings/ # 設定頁面
│ │ └── ui/ # 通用 UI 組件
│ ├── stores/ # Zustand 狀態管理
│ ├── services/ # 資料庫、GitHub、檔案服務
│ ├── hooks/ # 自定義 Hooks
│ ├── i18n/ # 國際化(zh-HK, en-US)
│ ├── types/ # TypeScript 類型定義
│ └── utils/ # 工具函數
├── src-tauri/ # Tauri Rust 後端
│ ├── src/ # Rust 源碼
│ ├── capabilities/ # 權限配置
│ └── tauri.conf.json # Tauri 配置
├── public/ # 靜態資源
└── package.json
| 技術 | 用途 |
|---|---|
| Tauri 2 | 桌面應用框架 |
| React 18 | UI 框架 |
| TypeScript 5 | 類型安全 |
| Zustand 5 | 狀態管理 |
| Tailwind CSS 3 | CSS 框架 |
| Vite 6 | 構建工具 |
| SQLite | 本地資料庫 |
| i18next | 國際化 |
| Lucide React | 圖標庫 |


