Releases: PlutoKeating/Project.Quetzal
Releases · PlutoKeating/Project.Quetzal
Release list
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
Windler 0.3.3
- 修复:0.3.2 的飞书执行过程卡片全部发送失败(卡片 JSON 被多包了一层,飞书报 parse card json err),看起来像她没有运行工具。
- Fix: in 0.3.2 every Feishu progress card failed to send (the card JSON was wrapped one level too deep and Feishu rejected it), which made it look as if the agent had not run any tools.
Full Changelog: v0.3.2...v0.3.3
Windler 0.3.2
- 飞书:插话时执行过程卡片按插话分段——上面的卡片定格,新的一段作为回复你那条消息的新卡片在下面继续,最后的回复也接在最后一条插话下面;耳朵听到的话并入时同样分段。与控制台的分段显示一致。
- Feishu: when you interject, the progress card is split — the card above freezes and a new card continues below as a reply to your message; the final reply also follows the latest interjection. Voice heard by the ear splits the same way. Consistent with the console.
Full Changelog: v0.3.1...v0.3.2
Windler 0.3.1
- 会话与子 agent 由她自己掌握:新内置工具
session_new(切到上下文干净的新会话,可写交接,控制台与飞书跟着切)、session_compact(压缩当前会话上下文:她自己写摘要或由快速模型代写,之后只看摘要与新内容,对话仍在当前会话继续)、agent_spawn/agent_status/agent_message/agent_stop(派出子 agent 在后台做事:她给名字、目标与可选的人设、领域范围、知识背景、上下文,子 agent 用自己的系统提示独立跑工具循环,进展在控制台实时可见,她可随时查看、对话、停止;完成后报告以环境输入送回派出它的会话)。新能力类别「会话与子 agent」,默认允许。 - Sessions and sub-agents are the agent's own calls: new built-in tools
session_new(switch to a clean new session, optionally with a handoff; the console and Feishu follow),session_compact(compress the current session's context: the agent writes the summary or lets the quick model draft it, then only the summary and newer content remain in context while the conversation continues in place), andagent_spawn/agent_status/agent_message/agent_stop(dispatch a sub-agent to work in the background: the agent gives it a name, a goal and optional persona, scope, background and context; the sub-agent runs its own tool loop under its own system prompt, its progress is visible live in the console, the agent can inspect, talk to or stop it, and its report comes back into the dispatching session as an ambient input). New capability category "sessions and sub-agents", allowed by default. - 发布脚本:运行基座测试失败时在 CI 日志里打印测试输出。
- Release script: when the runtime tests fail, their output is printed in the CI log.
Full Changelog: v0.3.0...v0.3.1
Windler 0.2.2
- 控制台:默认主题色改为官网设计系统的琥珀
#F0A35E(原蓝紫#7C6CF2);暗色背景固定为中性灰#202020,不再随主题色偏色;暗色主色直接用 agent 的主题色;呼吸光团改为主题色的高饱和发光体。运行基座与灵魂桥生成的初始身份同步改用该默认色。 - Console: the default theme color is now the website design system's amber
#F0A35E(was blue-violet#7C6CF2); the dark background is a fixed neutral gray#202020that no longer shifts with the theme color; the dark primary color is the agent's theme color itself; the breathing orb is now a saturated, glowing rendering of that color. The runtime and the soul bridge generate seed identities with the same default. - 品牌标志统一为琥珀光团:App 启动图标(含 Android 8+ 自适应图标,由
console/tool/gen-launcher-icon.py生成)、官网字标与 favicon 都换成与控制台首页同一颗球。 - The brand mark is now the amber orb everywhere: the app launcher icon (including the Android 8+ adaptive icon, generated by
console/tool/gen-launcher-icon.py), the website wordmark and the favicon all use the same orb as the console home page. - App 改用正式签名(Release 工作流从仓库 Secrets 读取密钥库)。从 debug 签名的 0.2.1 升级需先卸载再安装;Termux 里的运行基座与数据不受影响。
- The app is now signed with a release key (the release workflow reads the keystore from repository secrets). Upgrading from the debug-signed 0.2.1 requires uninstalling first; the runtime and data inside Termux are unaffected.
Full Changelog: v0.2.1...v0.2.2
Windler 0.2.1
首个公开发布版。 Windler 是一个让 agent 像生命一样活着的通用运行基座:非定时的自主醒来、双过程生物钟、身体数字孪生、多身体共享灵魂。
- 装在旧手机上:Windler App 内置运行基座与 Termux 身体适配器,安装向导把它装进 Termux 并注册开机自启;升级 App 即升级基座,失败自动回退。
- Termux 身体适配器:电量、光线、加速度等传感器按名字探测;通知、TTS、相机、麦克风、定位、剪贴板经 Termux:API。
- 任意模型供应商:OpenAI 兼容 / OpenAI Responses / Anthropic / Google Gemini;多 Key、全局顺序与故障转移,Key 本地加密。
- 可控:能力授权、审批、预算、急停、审计;控制台 App 与飞书交互卡片两种操作方式。
- 保密传递
pass_secret:密码与令牌不进入对话与模型上下文。 - 灵魂仓库规范 v4:私有仓库里 agent 写什么就提交什么,顶层允许它自己放的目录。
- 缩图在没有 ffmpeg / imagemagick 时用内置 jpeg-js 兜底。
First public release. Windler is a general-purpose runtime that lets an agent live like a living being: non-scheduled autonomous waking, a two-process body clock, a digital twin of the body, and a soul shared across bodies.
- Runs on an old phone: the Windler app bundles the runtime and the Termux body adapter; its setup wizard installs them into Termux and registers boot start. Upgrading the app upgrades the runtime, with automatic rollback on failure.
- Termux body adapter: battery, light and accelerometer sensors detected by name; notifications, TTS, camera, microphone, location and clipboard through Termux:API.
- Any model provider: OpenAI-compatible, OpenAI Responses, Anthropic and Google Gemini; multiple keys, global ordering and failover, keys encrypted locally.
- Under control: capability permissions, approvals, budgets, emergency stop and audit; operate from the app or from Feishu interactive cards.
- Secret passing via
pass_secret: passwords and tokens never enter the conversation or the model context. - Soul repository spec v4: whatever the agent writes into its private repository is committed; top-level directories of its own are allowed.
- Thumbnails fall back to the bundled jpeg-js when ffmpeg / imagemagick are absent.