Quetzal 0.4.0
- 更名为 Quetzal:运行基座、控制台 App、npm 包、官网与仓库全部由 Windler 更名为 Quetzal(quetzal.plutokeating.beer,仓库 PlutoKeating/Project.Quetzal)。家目录
~/quetzal、环境变量QUETZAL_HOME/QUETZAL_ADAPTER、配置config/quetzal.json、数据库data/quetzal.db、runit / systemd 服务名quetzal、App 包名xyz.quetzal.console;灵魂仓库规范升到 v6(技能文档元数据键quetzal-tool/quetzal-requires)。已有部署需把家目录与服务名整体迁移后再升级;App 因包名变化需卸载旧版后安装并重新配对。 - Renamed to Quetzal: the runtime, console app, npm package, website and repository are all renamed from Windler to Quetzal (quetzal.plutokeating.beer, repository PlutoKeating/Project.Quetzal). Home directory
~/quetzal, environment variablesQUETZAL_HOME/QUETZAL_ADAPTER, configconfig/quetzal.json, databasedata/quetzal.db, runit / systemd service namequetzal, app idxyz.quetzal.console; the soul repository spec moves to v6 (skill metadata keysquetzal-tool/quetzal-requires). Existing deployments must migrate the home directory and service name as a whole before upgrading; because the app id changed, uninstall the old app, install the new one and pair again. - Linux 身体:新的平台级身体适配器
runtime/adapters/linux/(构建为dist/linux.mjs)——电量、充电与电池温度读/sys/class/power_supply(跳过蓝牙鼠标等外设电池),CPU 温度放进 extra;桌面通知(notify-send,同时写进服务日志)、播放(pw-play/paplay/ffplay/mpv)、工具take_photo、record_audio、screenshot(hands)、clipboard、open,有什么程序用什么,没有图形界面的服务器上相关工具直接说明。 - Linux body: a new platform-level body adapter
runtime/adapters/linux/(built asdist/linux.mjs) — battery level, charging state and battery temperature from/sys/class/power_supply(peripheral batteries such as Bluetooth mice are skipped), CPU temperature in extra; desktop notifications (notify-send, also written to the service log), playback (pw-play/paplay/ffplay/mpv), and the toolstake_photo,record_audio,screenshot(hands),clipboardandopen, using whatever programs are present; on a headless server the desktop tools explain themselves instead of failing. npx @plutokeating/quetzal:新的 npm 包@plutokeating/quetzal(源码在cli/)把运行基座装到任意 Linux 机器:内置的main.cjs与linux.mjs放进~/quetzal/releases/<版本>/(与 Android 安装器相同的 current / previous 约定),注册 systemd 用户服务并启动,健康检查失败自动切回上一版;再运行一次即升级。子命令status、logs、rollback、uninstall [--purge]、run(没有 systemd 时前台运行)。配置仍全部在控制台 App 里完成。npx @plutokeating/quetzal: a new npm package@plutokeating/quetzal(source incli/) installs the runtime on any Linux machine: the bundledmain.cjsandlinux.mjsgo into~/quetzal/releases/<version>/(the same current / previous layout as the Android installer), a systemd user service is registered and started, and a failed health check rolls back automatically; running it again upgrades. Subcommandsstatus,logs,rollback,uninstall [--purge]andrun(foreground, for machines without systemd). All configuration still happens in the console app.- 网关新增
gateway.host(缺省127.0.0.1);npx @plutokeating/quetzal --lan把它设为0.0.0.0,手机上的 App 直接填 Linux 机器的地址连接,配对码仍是门槛。 - The gateway gains
gateway.host(default127.0.0.1);npx @plutokeating/quetzal --lansets it to0.0.0.0so the app on your phone can connect to the Linux machine's address directly, with the pairing code still as the gate. - 发版工作流先创建 Release,再把 npm 包发布到 GitHub Packages 与 npmjs.com(后者需仓库 Secrets
NPM_TOKEN,缺少时跳过);不再单独发布运行基座压缩包,Linux 机器一律用 npm 包安装,官网下载页只列 App。 - The release workflow creates the Release first, then publishes the npm package to GitHub Packages and npmjs.com (the latter needs the repository secret
NPM_TOKEN; skipped when absent); the standalone runtime tarball is no longer published — Linux machines install from npm, and the website download page lists only the app.
Full Changelog: v0.3.3...v0.4.0