Releases: Logocceai/zcode-beautify
Release list
v0.3.3 — the debug port survives ZCode updates on its own
When ZCode starts without the debug port, the plugin now repairs the launch entries that lost the flag — so the next start brings the theme back on its own, without anyone running repair-launchers by hand.
Added
- Startup launcher check. ZCode's updater rebuilds the Start Menu shortcut without
--remote-debugging-port, and the app re-registers its protocol and context-menu handlers on every start. The MCP host now detects the dead port at startup and repairs those entries, matching whatrepair-launchersdoes by hand. This matters most for third-party launchers (Flow Launcher, PowerToys Run, …): they start the app through the Start Menu shortcut, so that copy is what keeps a normal launch working after an update. - Pinned taskbar shortcuts (
…\Quick Launch\User Pinned\TaskBar) are scanned and repaired like the other per-user shortcuts.
Changed
statusexplains the likely cause — and the fix — when the CDP port is unreachable.- README and INSTALL-FOR-AI document which entries ZCode itself resets, and how to recover.
Full details in CHANGELOG.md.
v0.3.2 — the resident service stops flashing a console window
Fixes a visible annoyance on Windows: with ZCode closed, a window titled C:\WINDOWS\system32\tasklist.exe appeared and vanished about every 15 seconds, for as long as the resident service stayed alive.
Fixed
- The process probe in
isZcodeProcessRunning()rantasklistwithout hiding the child console. That probe runs inside the detachedservedaemon, which has no console of its own, so Windows allocated a fresh console on every call — and Windows 11 hands a new console to Windows Terminal, hence the flashing window.tasklist,taskkilland the PowerShell launcher-repair call now passwindowsHide: true, matching what the launcher spawn and the daemon's ownspawnalready did.
Why it only showed up when ZCode was closed: the probe is what distinguishes "ZCode is not running" from "ZCode is running without the debug port", so it fires only while CDP is unreachable. The daemon itself never exits on its own, so closing ZCode left it probing an empty process table indefinitely.
Full details in CHANGELOG.md.
v0.3.1 — the autostart entry actually starts the service
Fixes the one thing v0.3.0 got wrong: on Windows, the autostart entry behind recovery mode always was written as invalid VBScript, so Windows Script Host never ran it — the entry was present, enabled, and did nothing. The theme was therefore gone after every reboot, with always selected the whole time.
Fixed
autostart install(and selectingalways) assembled the startup command line out of separately quoted fragments, leaving everything after the first path outside a string literal. That is a parse error, not a concatenation, so the script never reached<node> serve. The command is now one VBScript string literal, with the paths quoted for Windows inside it.
Already have the entry installed? Re-run zcode-beautify autostart install (or re-select always in the settings panel) to rewrite the file. Nothing else changes: a service that is already running keeps working until the next sign-in.
Full details in CHANGELOG.md.
v0.3.0 — the theme now restores itself
The theme now restores itself after a ZCode restart — and the launch entries get repaired, so the debug port is actually there to restore into.
Added
-
Recovery modes — the injected theme dies with the renderer on every restart, so you pick who puts it back:
on-start(default) — the MCP host ZCode spawns at startup restores it once. No resident process, no settings panel.always— registers an autostart entry for the residentservedaemon, so the theme and the settings panel survive a reboot. Costs a background node process (~60 MB, ~0.3% of one core).off— nothing automatic.
Switchable from the settings panel, or with the new
recovery_status/set_recovery_modetools. -
repair-launchers— scans desktop and Start Menu shortcuts, thezcode://protocol handler and the Explorer context-menu verbs, and appends the missing--remote-debugging-port. ZCode cannot open the port on its own: the flag has to come from whatever launches it, and a machine usually has several launch entries with only some carrying it. Machine-wide entries need administrator rights and are reported rather than skipped silently. -
The settings panel now reports when ZCode is running with its debug port closed — the one case no background process can fix — and offers a button that restarts the app properly.
Fixed
- The CLI and the plugin host wrote two different
config.jsonfiles, underplugins/data/zcode-beautify/and the…@zcode-beautifyform respectively, so settings changed through one path were invisible to the other. They now resolve to the same directory. - The local control API answered any request that could reach localhost, including from web pages open in a local browser, and could replace the wallpaper or reset the appearance. It now requires a token that only the injected panel carries.
holdSessionleaked its WebSocket when a step after the connect failed, and held sessions were never dropped while CDP was unreachable. Both accumulated connections over long runs.- The MCP server reported a hard-coded version that had drifted from the manifest; it is now injected at bundle time from
package.json.
Full details in CHANGELOG.md.
v0.2.1 — settings panel honesty fix
修复:服务不在时,面板不再显示假数值
serve 服务没在跑时,设置面板过去照样渲染静态标记——背景模糊 0px、背景压暗 0%、开关全灭、填充按钮空白。用户读到的是"我的配置被清空了",实际只是服务已死;而没有 value 属性的 <input type="range"> 还会默认停在 min/max 中点,于是滑块画在中间、旁边写着 0。
- 面板:服务不可用时进入明确的离线态(控件归零 + ⚠ 提示条 + 修复命令 + 重试按钮 + 面板置灰),面板打开期间每 4 秒心跳重试,服务恢复后自动回到真实数值
serve:重复启动会被拒绝并报出占用端口的 pid;请求处理异常不再打死整个进程serve --port N:此前被配置文件里的端口静默覆盖(打印的是N,实际连的是旧端口),已修复- 新增
serve --detach:让服务脱离启动它的终端/智能体会话存活。前台启动的serve会随父进程被回收,面板随即离线——这是本次面板显示错误的真正原因 - skill pack 新增 3 条实战坑位(面板假数值、后台服务生命周期、CDP
exceptionDetails静默失败)
Fix: the panel stops showing fake values
When the serve service was down, the panel still rendered its static markup: 0px blur, 0% dim, both toggles unchecked, a blank fit button. That reads as "my settings were wiped" when the service is simply gone — and a value-less <input type="range"> defaults to the midpoint of min/max, drawing a slider at half travel next to a 0 label.
- Panel — an explicit offline state (zeroed controls, ⚠ banner with the fix command, retry button, dimmed body) plus a 4s heartbeat while open, so it self-heals when the service returns
serve— a duplicate start is refused and reports the pid that owns the port; a rejected request no longer kills the processserve --port N— was silently overridden by the stored config (the flag was printed but the old port was dialed)serve --detach— backgrounds the service so it outlives the shell or agent session that started it. A foregroundserveis reaped with its parent, which is what took the panel down
Upgrade / 升级
ZCode: re-run Get on the zcode-beautify card, or re-clone. Start the service with node dist/cli.js serve --detach.
两个 zip 附件为离线备用;仍以 GitHub 链接为主路径。Zips are attached for offline use; the GitHub link stays the primary path.
v0.2.0 — settings panel, live tuning, skill pack
Two packages — hand the GitHub link to your AI
Give your AI agent just https://github.com/Logocceai/zcode-beautify — it clones the repo and follows the instructions inside. Pick the right package:
Plugin package (INSTALL-FOR-AI.md) |
Skill pack (skill-pack/SKILL.md) |
|
|---|---|---|
| Target | The ZCode desktop client | Any Electron app |
| AI's role | Installer — sets up the ready-made plugin | Developer — builds the tool from scratch |
| You say | "Install this beautify plugin in my ZCode" | "Build wallpaper/color beautification for my XX app" |
| Result | Working /beautify command + MCP tools in ZCode |
A new local beautify tool |
Plugin prompt (copy-paste):
https://github.com/Logocceai/zcode-beautify
Install this beautify plugin into my ZCode desktop client. Follow INSTALL-FOR-AI.md in the repository.
Skill prompt (copy-paste):
https://github.com/Logocceai/zcode-beautify
Build wallpaper + Monet-color beautification for my Electron app. Follow skill-pack/SKILL.md.
Zips are attached below for offline use; the GitHub link is the primary path.
Highlights
- Live settings panel — draggable panel inside the app: blur/dim sliders, Monet and wallpaper toggles, framing mode (cover / contain / smart), one-click wallpaper swap, reset↔restore toggle
servemode — localhost control API + persistent injection sessions that survive renderer reloads- Smart fit — local saliency analysis picks framing + focus point automatically
- Open-source ready — prebuilt single-file bundles, one-click install from the ZCode plugin marketplace, bilingual README
Install (ZCode users)
Settings → Plugin Management → Discover → + → add https://github.com/Logocceai/zcode-beautify → Get. Or let your AI do it via INSTALL-FOR-AI.md.
主要更新(中文)
- 两种包,链接即装:插件包(AI 把现成插件装进 ZCode,见
INSTALL-FOR-AI.md)+ 技能包(AI 为任意 Electron 应用从零构建,见skill-pack/SKILL.md);双附件 zip 供离线 - 实时设置面板:模糊/压暗滑块、莫奈与壁纸开关、背景填充(填满裁剪/完整显示/智能适配)、一键换图、还原↔恢复
- serve 模式:本地控制 API + 持久注入会话
- 智能适配:本地显著性分析自动选择取景与焦点