Skip to content

Quetzal 0.4.0

Choose a tag to compare

@github-actions github-actions released this 04 Oct 13:32
· 58 commits to main since this release
  • 更名为 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 variables QUETZAL_HOME / QUETZAL_ADAPTER, config config/quetzal.json, database data/quetzal.db, runit / systemd service name quetzal, app id xyz.quetzal.console; the soul repository spec moves to v6 (skill metadata keys quetzal-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 as dist/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 tools take_photo, record_audio, screenshot (hands), clipboard and open, 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 in cli/) installs the runtime on any Linux machine: the bundled main.cjs and linux.mjs go 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. Subcommands status, logs, rollback, uninstall [--purge] and run (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 (default 127.0.0.1); npx @plutokeating/quetzal --lan sets it to 0.0.0.0 so 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