关于 NeoWarp

NeoWarp 是一款使用 Electron 构建的离线 Scratch 3 编辑器,基于 TurboWarp Desktop 进行二次开发。它继承了 TurboWarp 的高性能 JS / Wasm 编译器、海量扩展、Addon 插件、Packager 打包器、深色模式等核心能力,并在此之上针对视觉体验与工作流进行了多项增强与定制。

适用场景:需要离线编写、运行 Scratch 项目的用户;对编辑器视觉与交互有更高要求的使用者;希望通过 AI 辅助 / 待办清单等工具提升创作效率的开发者。

核心特性

NeoWarp 在 TurboWarp 基础上增加了以下核心功能:

  • AI 助手:独立窗口提供 AI 辅助,支持多家服务商,可读取项目结构并应用修改
  • 任务管理器:实时监控 CPU / RAM 占用,统计每个角色的资源使用情况
  • 待办清单:内置轻量级待办事项窗口,本地持久化存储
  • 加密保存:.npnp 加密工程格式,密码保护你的作品
  • np1 格式:NeoWarp 原生未压缩工程格式
  • 分离舞台:可将舞台弹出为独立窗口,便于多屏幕演示
  • 项目分析:提供对项目结构的分析视图
  • 毛玻璃效果:编辑器多处界面加入 Acrylic / Frosted Glass 风格
  • 圆角绘制:积木、角色面板、按钮等采用统一圆角设计

与 TurboWarp 的区别

特性TurboWarpNeoWarp
AI 助手支持 6+ 服务商
任务管理器系统级 CPU/RAM 监控
待办清单内置本地待办
加密保存.npnp 加密格式
工程格式.sb3.np1 / .npnp / .sb3
分离舞台有(增强)
视觉风格标准毛玻璃 + 圆角 + 过渡动画

系统要求

NeoWarp 基于 Electron 41 构建,支持以下操作系统:

平台最低版本架构
WindowsWindows 10 (64位)x64
macOSmacOS 10.15+Universal (x64 + arm64)
LinuxUbuntu 18.04+ / Debian / Fedorax64
开发环境要求:Node.js >= 18(与 Electron 41 兼容的 LTS 版本)、npm、Git。

下载与安装

请前往 下载页GitHub Releases 下载与系统匹配的安装包:

平台安装包类型说明
WindowsNSIS (.exe)标准安装包,可选安装路径
WindowsPortable (.exe)便携版,解压即用
WindowsMS-Store (.appx)Microsoft Store 包
macOSDMG通用二进制 (x64 + arm64)
Linux.debDebian / Ubuntu
Linux.AppImage便携运行
Linux.tar.gz通用压缩包

首次启动

安装完成后,启动 NeoWarp 即可看到编辑器主界面。编辑器界面基于 Scratch 3 的 GUI,包含舞台区、角色区、积木编辑区和菜单栏。

NeoWarp 在菜单栏中新增了以下入口:

  • AI 助手:打开 AI 对话窗口
  • 任务管理器:打开性能监控窗口
  • 待办清单:打开待办事项窗口
  • 项目分析:打开项目结构分析
  • 加密保存:在保存时选择加密格式

创建新项目

启动 NeoWarp 后,默认会创建一个空白项目。你也可以通过菜单栏的「文件 → 新建项目」来创建新项目。

新项目包含一个默认的舞台和一个猫角色,你可以直接开始拖拽积木进行编程。

打开项目

NeoWarp 支持打开以下格式的工程文件:

  • .np1 — NeoWarp 未压缩工程
  • .npnp — NeoWarp 加密工程(需输入密码)
  • .sb3 — Scratch 3 工程
  • .sb2 — Scratch 2 工程
  • .sb — Scratch 1 工程

打开方式:

  1. 通过菜单栏「文件 → 打开」选择文件
  2. 直接将文件拖拽到 NeoWarp 窗口
  3. 在文件管理器中双击关联的工程文件(需安装时勾选文件关联)
注意:打开 .npnp 加密文件时,会弹出密码输入框,需输入正确的密码才能解密并打开项目。

保存项目

NeoWarp 提供多种保存方式:

普通保存(.sb3)

通过菜单栏「文件 → 保存」或快捷键 Ctrl+S / Cmd+S,将项目保存为标准的 Scratch 3 (.sb3) 压缩格式。

另存为

通过「文件 → 另存为」可以选择保存位置和文件名。

加密保存(.npnp)

通过「文件 → 加密保存」可以将项目保存为加密的 .npnp 格式,详见加密保存章节。

保存为 .np1

通过「文件 → 另存为 .np1」可以将项目保存为 NeoWarp 原生的未压缩工程格式。

使用 AI 对话

配置完成后,即可在 AI 助手窗口中进行对话:

  • 在底部输入框输入你的问题或需求
  • Enter 发送消息,Shift+Enter 换行
  • AI 会以流式输出的方式实时返回回答
  • 对话支持多轮上下文,AI 会记住之前的对话内容
  • 可点击「清除对话」按钮重置聊天记录

AI 助手窗口顶部会显示当前使用的模型名称,点击可快速切换模型。状态点(绿色)表示 API Key 已配置。

AI 工具调用

NeoWarp 的 AI 助手不仅是对话,还支持工具调用(Tool Call),可以直接操作你的 Scratch 项目:

读取项目代码

AI 可以读取当前编辑器中项目的完整 JSON 结构,包括所有角色、积木、变量和列表。这让 AI 能够理解你的项目组织方式,给出针对性的建议。

应用项目修改

AI 可以将修改后的项目 JSON 直接应用到编辑器中,实现「AI 帮你写代码」的效果。

应用精灵修改

AI 可以针对单个角色(精灵)进行修改,通过指定 targetId 精确定位要修改的角色。

获取角色库

AI 可以获取当前项目中所有角色的列表信息,便于在对话中引用特定角色。

注意:工具调用的超时时间为 30 秒。如果操作涉及大量数据,可能需要等待。AI 修改项目后,建议先检查再保存。

系统监控

通过菜单栏打开「任务管理器」窗口,可以实时监控系统和编辑器的资源使用情况。

CPU 监控

任务管理器通过读取系统 CPU 时间计算实时 CPU 占用率,每 1.5 秒更新一次。顶部卡片显示当前 CPU 百分比和核心数。

RAM 监控

显示已使用内存和总内存(MB),帮助你了解系统内存压力。

资源趋势图

任务管理器以折线图展示最近 60 个数据点(约 90 秒)的 CPU 和 RAM 使用趋势:

  • 青色线条:CPU 占用率
  • 紫色线条:RAM 占用率

图表支持高 DPI 显示,深色 / 浅色主题自动切换。

角色资源查看

任务管理器底部显示当前项目中每个角色的资源统计:

列名说明
名称角色名称(舞台以图标标识)
线程该角色当前运行的线程数
CPU该角色估算的 CPU 占用率(含进度条)
内存该角色估算的内存占用(KB / MB)
积木该角色的积木总数
造型该角色的造型数量

点击列标题可排序(升序 / 降序切换),CPU 进度条颜色根据占用率变化:

  • 青色:正常(0-20%)
  • 黄色:中等(20-50%)
  • 红色:较高(>50%)

添加与管理待办

通过菜单栏打开「待办清单」窗口,可以在创作过程中随时记录任务和灵感。

添加待办

在顶部输入框中输入待办内容,点击「添加」按钮或按 Enter 即可添加。新待办会出现在列表顶部。

编辑待办

双击待办文字进入编辑模式,或点击右侧的编辑按钮。编辑完成后按 Enter 保存,按 Esc 取消。清空内容后保存会自动删除该待办。

完成标记

点击待办左侧的圆形复选框可标记为已完成 / 未完成。已完成的待办会显示删除线效果。

删除待办

点击待办右侧的删除按钮即可删除。

清除已完成

当有已完成的待办时,底部会显示「清除已完成项」按钮,点击可一键清除所有已完成的待办。

统计信息

顶部状态栏显示总数和已完成数,帮助你掌握进度。

数据存储

待办清单的数据使用浏览器的 localStorage 进行本地持久化存储,存储键名为 neowarp_todo_list

每个待办项的数据结构如下:

{
  "id": "todo_1234567890_abc123",   // 唯一 ID
  "text": "待办内容",                // 文本内容
  "completed": false,               // 是否完成
  "createdAt": "2024-01-01T00:00:00.000Z",  // 创建时间
  "completedAt": null               // 完成时间(未完成时不存在)
}
提示:待办数据存储在本地,不会同步到云端。清除应用数据会导致待办丢失。

.npnp 加密格式

NeoWarp 独创了 .npnp 加密工程格式,为你的 Scratch 项目提供密码保护。加密后的文件在打开时需要输入正确密码才能解密。

文件关联信息:

  • 扩展名:.npnp
  • 名称:NeoWarp Encrypted Project
  • MIME 类型:application/x.neowarp.npnp

加密保存项目

通过菜单栏「文件 → 加密保存」可以将当前项目保存为加密的 .npnp 文件。保存时会弹出加密对话框,需要填写:

  1. 标题:项目的标题名称(不能为空)
  2. 密码:用于加密的密码(不能为空)
  3. 确认密码:再次输入密码以确认(两次密码必须一致)

填写完成后点击「Encrypt & Save」按钮即可保存。按 Esc 或点击遮罩层可取消。

重要:请务必记住你设置的密码。如果忘记密码,加密的项目将无法恢复。建议将密码保存在安全的地方。

打开加密文件

打开 .npnp 加密文件时,NeoWarp 会自动弹出密码输入框:

  1. 输入密码后点击「OK」或按 Enter
  2. 如果密码正确,项目将正常打开
  3. 如果密码错误,会重新弹出密码输入框让你重试
  4. 点击「Cancel」或按 Esc 可取消打开

解密过程通过主进程的 decryptNpnpFile 接口完成,密码不会明文存储在内存中。

.np1 格式

.np1 是 NeoWarp 的原生未压缩工程格式。与 .sb3 的 ZIP 压缩格式不同,.np1 以未压缩的方式存储项目数据,便于版本控制和差异比较。

文件关联信息:

  • 扩展名:.np1
  • 名称:NeoWarp Project (Uncompressed)
  • MIME 类型:application/x.scratch.np1
  • 角色:Editor(编辑器)

.viewsb3 格式

.viewsb3 是 NeoWarp 的只读分享格式,专为保护源码而设计。当你想分享作品给朋友但不想让对方看到积木代码时,可以使用此格式。

主要特性

  • 隐藏源码:对方打开后只能看到全屏舞台,无法查看或编辑任何积木代码
  • 只读模式:所有编辑功能被禁用,只能观看项目运行
  • 版本要求:需 NeoWarp 1.0.11 及以上版本才能正确打开
  • 保护创意:适合分享成品作品,同时保护你的创作思路和代码逻辑

使用方法

  1. 在 NeoWarp 中打开你的项目
  2. 通过菜单选择「保存为 .viewsb3」或使用相应导出功能
  3. 将生成的 .viewsb3 文件分享给朋友
  4. 对方使用 NeoWarp 1.0.11+ 打开后,只能看到全屏舞台
提示:如果对方使用旧版本 NeoWarp 或其他 Scratch 编辑器打开 .viewsb3 文件,可能无法正确显示或会暴露源码。请确保对方使用 NeoWarp 1.0.11 或更新版本。

兼容格式

NeoWarp 完全兼容 Scratch 全版本的工程文件格式:

扩展名说明MIME 类型
.np1NeoWarp 未压缩工程application/x.scratch.np1
.npnpNeoWarp 加密工程application/x.neowarp.npnp
.viewsb3NeoWarp 只读分享格式application/x.neowarp.viewsb3
.sb3Scratch 3 工程(ZIP 压缩)application/x.scratch.sb3
.sb2Scratch 2 工程application/x.scratch.sb2
.sbScratch 1 工程application/x.scratch.sb

安装 NeoWarp 后,这些格式会自动关联到 NeoWarp,双击即可用 NeoWarp 打开。

分离舞台

NeoWarp 支持将舞台弹出为独立窗口(Detached Stage),便于在多屏幕场景下进行演示或调试。

使用方法:通过菜单栏或舞台区域的按钮将舞台分离。分离后的舞台窗口可以独立移动和调整大小,与编辑器主窗口同步显示项目运行状态。

分离舞台通过自定义协议 tw-detached-stage 加载,与主进程解耦,确保安全性。

项目分析

NeoWarp 提供项目结构分析功能,可以查看项目的整体构成,包括角色数量、积木统计、资源占用等信息。通过菜单栏打开「项目分析」窗口即可使用。

项目分析使用 html2canvas 库进行截图渲染,支持将分析结果导出为图片。

Addons 插件

NeoWarp 完整支持 TurboWarp 的 Addon 插件系统。通过菜单栏的「Addons」入口可以管理插件:

  • 启用 / 禁用插件
  • 调整插件设置
  • 浏览可用插件列表

Addon 插件通过 tw-editor 协议加载,与编辑器主体隔离运行。

Packager 打包器

NeoWarp 内置 TurboWarp Packager 打包器,可以将你的 Scratch 项目打包为可分发的格式:

  • 离线 HTML 文件(单文件包含所有资源)
  • ZIP 压缩包
  • Windows / macOS / Linux 可执行文件

通过菜单栏打开「Packager」窗口,选择项目文件和打包选项即可生成可分发的作品。

提示:Packager 打包后的项目可以脱离 NeoWarp 独立运行,适合分享给没有安装 NeoWarp 的用户。