release: v0.5.0 — macOS vz 完整支援 + 預設啟用 + 動態解析度#130
Merged
Conversation
實機驗證於 2026-07 在 Apple Silicon(macOS 26)全綠後,vz 已非實驗性。 移除 availability() 開頭的 CHEFER_VZ_EXPERIMENTAL env 鎖:macOS 上 vz 是 唯一執行後端,鎖著等於雙擊預設不能跑,違背單檔精神。availability() 改為 純依真實前提判定(host arch / 內嵌 appliance / 內嵌 helper / macOS 13+), 缺任一即誠實回報 Unavailable。 Intel(x86_64)走完全相同的程式路徑、只換 appliance arch,但實機 VZ 開機 僅在 Apple Silicon 驗過(GHA runner 兩種 arch 都開不了 VZ guest);此差異 以文件註記,不另上 runtime 鎖(否則會擋掉很可能可行的路徑)。 同批補上這輪以 computer-use 驅動實機視窗完成的 HID/關窗驗證回填: - HID:guest 內 xev 記到指標 motion、按鍵 press/release、忠實且各異的 keycode (數字排 10/11/12/13 一對一),證明 NSEvent→VZ USB HID→guest evdev 鏈完整; 字母鍵在 macOS 端被輸入法(注音)轉換屬 host artifact,非 chefer。 - 關窗:紅鈕 → windowWillClose → vm.stop → exit(0),無殘留 helper/VM。 Changed: - crates/vmm-backend/src/vz.rs, lib.rs:移除 env 鎖 + 註解改寫 - scripts/vz-smoke.sh:清掉已無作用的 CHEFER_VZ_EXPERIMENTAL=1 前綴 - README.md / docs/DESIGN.md / docs/HANDOFF-macos-vz.md:改為預設啟用、 補 HID/關窗已驗證、Intel caveat Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
user-facing crates(chefer-cli/runtime/pack/assembler/bundle、vmm-backend、 guest-agent)與一起出貨的 whp-helper 皆 bump 至 0.5.0;inline path-dep 版本約束 同步更新以保持 workspace 可解析。appcipe-spec / appcipe-normalize 的**自身**版本 維持 0.1.0(跟隨 appcipe.yml spec 版本,非 release)。 本版重點:macOS vz 後端完整實機驗證並預設啟用(移除 CHEFER_VZ_EXPERIMENTAL)、 VM GUI 執行中動態解析度 + HiDPI、容器內 DNS 注入,以及實機揪出的一批修復 (arm64 initramfs busybox 交叉建置、tar mode 還原、埠代理讓位)。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
為什麼
實機驗證於 2026-07 在 Apple Silicon(macOS 26)全綠後,vz 後端已非「實驗性」。
CHEFER_VZ_EXPERIMENTALenv 鎖當初的理由(實機驗證前不假裝能跑)已消失。更關鍵:macOS 上 vz 是唯一執行後端,鎖著等於使用者雙擊預設不能跑,違背 chefer「下載一個檔就能跑」的核心。改了什麼
crates/vmm-backend/src/vz.rs/lib.rs:移除availability()開頭的CHEFER_VZ_EXPERIMENTALenv 鎖。保留底下四道真把關——host arch、內嵌 appliance、內嵌 helper(含 entitlement)、macOS 13+——缺任一即誠實回報Unavailable。scripts/vz-smoke.sh:清掉四處已無作用的CHEFER_VZ_EXPERIMENTAL=1前綴。README.md/docs/DESIGN.md/docs/HANDOFF-macos-vz.md:改為「預設啟用」,補 HID/關窗已驗證與 Intel caveat。Intel 取捨(明確記錄)
Intel(x86_64)走完全相同的 Rust/Swift 程式路徑、只換 appliance arch,但實機 VZ 開機僅在 Apple Silicon 驗過(GHA runner 兩種 arch 都開不了 VZ guest)。此差異以文件註記,不另上 runtime 鎖——鎖會擋掉很可能可行的路徑。
同批帶入:HID/關窗實機驗證回填
本輪以 computer-use 驅動實機視窗完成、README/DESIGN 一併更新:
xev記到指標 motion、按鍵 press/release、忠實且各異的 keycode(數字排 10/11/12/13 一對一),證明NSEvent → VZ USB HID → guest evdev鏈完整。字母鍵在 macOS 端被輸入法(注音)轉換屬 host artifact,非 chefer。windowWillClose → vm.stop → exit(0),runtime 回exit code = 0,無殘留 helper/VM。驗證
cargo fmt --check乾淨、cargo clippy --workspace0 警告、cargo test全 ok。bash -n scripts/vz-smoke.sh通過。🤖 Generated with Claude Code