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 服务钩子。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目