gnh1201/welsonjs
WelsonJS - Build apps with the Windows built-in JavaScript engine
什麼是 WelsonJS?
WelsonJS 是一個 僅限 Windows 的 JavaScript 框架,讓您能使用在 內建 Windows Script Host (cscript/wscript) 引擎 上執行的語言(JavaScript、TypeScript、CoffeeScript 等)撰寫桌面應用程式(包含命令列與 GUI 風格)。它內建多種轉譯器(TypeScript、CoffeeScript、ReScript、LiveScript)與豐富的函式庫,讓您無需安裝任何外部執行環境(如 Node.js)即可開發、打包與執行應用程式。
核心理念
| 理念 | 含義 |
|---|---|
| 在原生 Windows ECMAScript 引擎上執行 | 您的程式碼由 Windows 內建的 JavaScript 引擎執行,無需額外執行環境。 |
| 自包含應用 | 應用可作為 zip 檔案或類似可執行的 .js 檔案分發,由 WelsonJS 啟動器執行,類似原生 Windows 程式。 |
| 兼容舊版系統 | 支援 Windows XP SP3 及以上版本,適用於現代執行環境無法使用的舊企業環境。 |
| 內建 UI 支援 | 可使用 HTA(HTML 應用)包裝器撰寫 GUI 應用,結合 HTML/CSS/JS 與 Windows UI。 |
| 豐富的函式庫套件 | 包含 jQuery、Monaco 編輯器、React、多種 polyfills(core-js、json2、yaml)、CSS 框架,甚至支援 Windows 服務、螢幕擷取、虛擬滑鼠/鍵盤、ESENT 資料庫存取的原生模組。 |
| AI 擴充功能 | 啟動器已預先整合與 ChatGPT、Google Gemini、Azure AI 服務等 LLM API 的可選連接。 |
| 打包與部署 | 提供管理執行個體的啟動器、PowerShell 啟動腳本、Inno Setup 模板與基於 zip 的分發模型。 |
典型使用情境
- 舊版 PC 上的自動化 – 在無法安裝 Node.js 的環境中執行與 Office、檔案系統或 Windows 服務互動的腳本。
- 嵌入式或資源受限工具 – 無需額外二進位檔的輕量級執行,適用於工業控制器或瘦用戶端機器。
- 安全敏感環境 – 框架隔離腳本執行,可在無網路存取下運作,同時在需要時提供可選 AI 服務。
- 以 Office 為中心的應用 – 使用熟悉的 JavaScript 語法自動化 Excel、Word、Outlook 等。
- Windows GUI 原型設計 – 使用 HTML/CSS 建構 HTA 基礎視窗,並打包為單一檔案分發。
快速入門(來自 README)
- 建立模組 –
lib/sayhello.jsfunction say() { console.log("hello"); } exports.say = say; - 建立入口腳本 –
sayhello.jsvar SayHello = require("lib/sayhello"); function main() { console.log("calling say()"); SayHello.say(); console.log("ended say()"); } exports.main = main; - 從命令列執行
輸出:cscript app.js sayhellocalling say() hello ended say()
如何發佈應用
- Zip + 啟動器 – 將原始碼檔案打包成 zip,並與 WelsonJS 啟動器一起分發。
- Inno Setup 安裝程式 – 提供現成的
setup.iss腳本。 - PowerShell 啟動腳本 –
irm https://catswords.blob.core.windows.net/welsonjs/bootstrap.ps1 | iex自動拉取執行環境並執行您的程式碼。 - 簡單複製 – 直接將資料夾複製到目標機器即可。
重要整合
- LLM 服務 – 可在 WelsonJS 腳本中呼叫 ChatGPT、Google Gemini、Azure AI 服務等。
- Windows 特有原生模組 (
WelsonJS.ManagedObject) – 服務控制、視窗處理、位圖操作、虛擬輸入、共享記憶體 IPC。 - 資料庫 – 內建 ESENT(可擴展儲存引擎)資料庫的封裝。
- 開發工具 – Chrome DevTools 協定、ADB 支援、gRPC/JSON-RPC 客戶端、各種 HTTP 工具(cURL、BITS、certutil)。
- 其他 API – AviationStack、SerpApi 航班資料、VMware OVFTool、SEO/SERP 工具。
取得方式
- 啟動器下載 –
https://catswords.blob.core.windows.net/welsonjs/welsonjs_launcher_latest.zip - PowerShell 啟動腳本 –
irm https://catswords.blob.core.windows.net/welsonjs/bootstrap.ps1 | iex - 社群 – README 中連結了 Discord、Teams、ActivityPub、XMPP 及公開的 Discord 伺服器。
背後團隊
此專案由 gnh1201(Catswords)維護,並透過 GitHub Sponsors、Liberapay 與 Buy-Me-A-Coffee 贊助。專案列出了多個企業合作夥伴(SerpApi、Microsoft ISV 計畫、Tenstorrent 等),並在多個新聞通訊與技術部落格中被報導。
總結
WelsonJS 是一個 真實、開源的框架,僅使用 Windows 內建的 JavaScript 引擎建構 Windows 桌面應用。它特別適用於需要在舊版或高度受控的 Windows 機器上執行 JavaScript 的情境,同時也為現代生成式 AI 使用案例提供可選的 AI 服務鉤子。
相關
- 專案
- 專案
- 專案
- 專案
- 專案