Skip to content

Releases: Logocceai/zcode-beautify

v0.3.3 — the debug port survives ZCode updates on its own

Choose a tag to compare

@Logocceai Logocceai released this 17 Sep 11:57

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 what repair-launchers does 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

  • status explains 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

Choose a tag to compare

@Logocceai Logocceai released this 16 Sep 06:21

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() ran tasklist without hiding the child console. That probe runs inside the detached serve daemon, 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, taskkill and the PowerShell launcher-repair call now pass windowsHide: true, matching what the launcher spawn and the daemon's own spawn already 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

Choose a tag to compare

@Logocceai Logocceai released this 16 Sep 00:48

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 selecting always) 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

Choose a tag to compare

@Logocceai Logocceai released this 15 Sep 12:35

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 resident serve daemon, 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_mode tools.

  • repair-launchers — scans desktop and Start Menu shortcuts, the zcode:// 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.json files, under plugins/data/zcode-beautify/ and the …@zcode-beautify form 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.
  • holdSession leaked 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

Choose a tag to compare

@Logocceai Logocceai released this 15 Sep 03:49

修复:服务不在时,面板不再显示假数值

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 process
  • serve --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 foreground serve is 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

Choose a tag to compare

@Logocceai Logocceai released this 14 Sep 17:49

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
  • serve mode — 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 + 持久注入会话
  • 智能适配:本地显著性分析自动选择取景与焦点