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)

  1. 建立模組lib/sayhello.js
    function say() { console.log("hello"); }
    exports.say = say;
    
  2. 建立入口腳本sayhello.js
    var SayHello = require("lib/sayhello");
    function main() {
        console.log("calling say()");
        SayHello.say();
        console.log("ended say()");
    }
    exports.main = main;
    
  3. 從命令列執行
    cscript app.js sayhello
    
    輸出:
    calling 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 服務鉤子。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案