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 服务钩子。
相关
- 项目
- 项目
- 项目
- 项目
- 项目