Apptron 0.7:离线站点、控制台嵌入以及更多
发布: (2026年3月10日 GMT+8 08:28)
7 分钟阅读
原文: Dev.to
Source: Dev.to
Apptron 已经成为我所有项目的中心。它是所有内容汇聚的地方,同时也是一种全新的软件平台。如果你没有紧密关注,可能已经错过了它。下面是我们最新版本的发布说明。
这是我们迄今为止最大的一次发布!
大量修复和用户体验改进,以及少量全新小功能。
要点
/web/dl挂载 – 一个新的只写文件系统,能够在写入任何文件时触发浏览器下载。open命令 – 编辑位于/project之外的文件。对目录使用open会将其添加为文件资源管理器中的新根目录。- 嵌入代码片段改进 – 现在可以在 Editor Mode(经典编辑器 UI,现已没有 Apptron 顶部栏)和 Console Mode(仅终端嵌入,适用于交互式 CLI 练习场或在任何网页上运行任意 Wasm/Linux)之间进行选择。
环境自定义
-
在项目中放置
.apptron/envrc(或仅.envrc)文件,以在 获得提示符之前 运行命令——可以把它看作项目级别的.profile。 -
默认的 “Welcome to Apptron” 横幅仍会在
.envrc运行之前显示,但你可以通过添加.banner或.apptron/banner文件来替换它。空文件会完全禁用横幅。 -
现在公开了两个有用的环境变量:
变量 取值 描述 ENV_MODEedit/console表示嵌入是处于编辑器模式还是控制台模式。 ENV_EMBED(已设置) 当环境作为嵌入加载时存在。
离线就绪的静态站点
- 静态站点从
/public挂载点提供服务。 - 如果你有
/public/index.html,我们现在会注入一个 动态 Service Worker,在后台缓存/public中的所有资源。访问主页一次后,整个站点即可离线访问。 - 注意: 当前的“预刷新”策略需要双重重新加载才能看到更改。请尝试并告知我们任何问题。
演示视频: (原文中省略链接)
性能与构建改进
- 网络网关升级 – 已迁移至 Cloudflare Containers standard‑4,实现 4 倍吞吐量提升(更快的文件下载和软件包安装)。
- 写时复制文件系统集成 – 通过
envbuild的环境更改现在层叠在基础系统之上。这带来:- 自定义环境的基础系统自动更新。
- 大规模构建速度提升至 2 倍。
New Features & Enhancements
| Feature | Description |
|---|---|
add new project welcome readme (#221) | 为新项目添加新的 README。 |
add default service worker to cache public site assets for offline | 为静态站点启用离线支持。 |
add custom 404 support to public sites | 为 /public 提供自定义 404 页面。 |
add Embed Mode option to get new console embed | 在编辑器和控制台嵌入之间进行选择。 |
add open command for non‑project files (#230) | 编辑 /project 之外的文件。 |
add support for .apptron files as dotfiles in project root | 将 .apptron/* 识别为配置文件。 |
add .apptron/banner or .banner to customise shell banner | 覆盖默认的欢迎横幅。 |
add support for ?topbar=0 to hide topbar | 在嵌入中隐藏 Apptron 顶部栏。 |
add sponsor dialog from account dropdown (#247, #225) | 快速访问赞助信息。 |
add feedback form dialog from topbar (#247, #224) | 轻松提交反馈。 |
add bundle caching that clears on login (#163) | 提升 bundle 加载速度。 |
add publish helper command (#227) | 简化发布工作流。 |
add loopback network device | 在虚拟机中启用回环网络。 |
add /web/dl filesystem for triggering downloads | 用于触发下载的写入专用挂载。 |
add ENV_MODE environment variable (edit or console) | 检测嵌入模式。 |
add kernel modules for audio support in VM | 在虚拟机内提供音频功能。 |
add confirmation dialog on project delete (#262, #267) | 防止意外删除。 |
add toast notification on project delete (#238) | 删除后的可视化反馈。 |
add loading indicators to buttons (#244, #203, #234, #202) | 异步操作期间提供更好的用户体验。 |
add help text in publish tab of share dialog (#195, #249) | 发布指南。 |
add improved copy button in share dialog (#242) | 更方便的链接分享。 |
use copy‑on‑write for custom environments (#217) – 2× envbuild speedup, cuts seconds from page load. | envbuild 速度提升 2 倍,页面加载时间缩短数秒。 |
improve network throughput (#159) – 4× speedup. | 提升 4 倍。 |
change starting directory to /project | 统一的默认位置。 |
refactor share dialog architecture (#245, #222) | 更简洁的代码库。 |
Bug Fixes
- 修复了项目文件截断/损坏的问题 (#232, #157)。
- 解决了首次发布失败的问题 (#231)。
- 修复了无法发布项目根目录的问题 (#244, #233)。
- 修复了损坏的 Markdown 预览 (#229)。
- 修复了在较小窗口中登录组件显示在屏幕外的问题 (#269, #268)。
- 修复了分享对话框中损坏的 UI (#266)。
- 修复了下拉菜单关闭行为异常的问题 (#240, #214)。
- 修复了 Apptron 徽标链接失效的问题 (#228)。
- 修复了项目名称长度限制过短的问题 (#208)。
- 修复了会话过期后登录失败的问题 (#210, #243)。
- 修复了更改项目设置后状态异常的问题 (#167)。
- 修复了账户对话框中危险的用户名更改问题 (#239, #246)。
完整更新日志
试一试!
像往常一样,我们很希望您测试新版本并提交您遇到的任何问题。非常感谢我们的 GitHub Sponsors——它们现在是我们唯一的资金来源。考虑赞助我们,以帮助 Apptron 继续蓬勃发展!