Skip to content

v0.4.0

Latest

Choose a tag to compare

@github-actions github-actions released this 16 Oct 11:25

v0.4.0

单二进制多模式(CLI 并入)+ MCP/CLI 协议栈:--headless JSONL、--mcp stdio
双栈协议、GUI 代理桥接(OpenCADStudio 模式),MCP 工具扩到 18 个;图表手绘风格。

下载:Windows x64 / Linux x64 / Linux aarch64 / macOS universal(各平台 zip 或 tar.gz),
随附 SHA256SUMS。


亮点

  • 单二进制多模式(Blender 式):GUI 与 CLI 合并为同一个 preferz.exe——
    无参 / 位置参数 .prz 打开 GUI,--mcp / --exec / --headless 进无头模式;
    独立的 preferz-cli 二进制不再存在。
  • headless JSONL 接口:preferz --headless 走 stdin/stdout,每行一个 JSON 请求,
    脚本化批量操作画布(创建图形 / 文本 / mermaid / 图表 / 排列 / 撤销重做 / 存取)。
  • MCP stdio 服务器:preferz --mcp 起 JSON-RPC 2.0 双栈协议——同时支持
    2026-07-28 无状态规范(server/discover + _meta 协议版本校验)与旧版
    initialize 握手;18 个工具与 JSONL 命令一一对应,共享同一 undo 通道。
  • GUI 代理桥(OpenCADStudio 模式):GUI 启动即内嵌本地 TCP 监听,
    preferz --mcp 探测到活实例则纯转发——工具实时操作已打开窗口的画布,
    边调边渲;无实例降级 headless 单文档模式。
  • MCP 工具 15 → 18:
    • add_image:从磁盘导入图片,可指定位置与尺寸;
    • arrange:布局整理(横排 / 网格等 GUI 同款模式);
    • screenshot:截取窗口视口回传 PNG(base64 image content),LLM 画完即可
      自查成果,形成闭环;可选 max_width 等比降采样。
  • 图表手绘风格:图表接入手绘四档体系——Architect 档抖动轴线、柱体 hachure
    斜线填充、851 手写体标签;暗色主题下过暗系列色自动提亮,不再有黑柱黑线。

改进

  • MCP 工具调用注入主题默认色:未显式给色时跟随 GUI 当前主题(暗色主题画黑、
    亮色主题画白的回归修复),显式给色不覆盖。
  • 自由文字落点默认色跟随主题(不再写死白色)。
  • 工具栏按钮顺序与快捷键角标对齐:角标自上而下 1→2→…→8→F 连贯递增。
  • README 精简:快捷键指引帮助画布,补 CLI/MCP 说明与致谢。

修复

  • Fix 窗口最小化时 MCP 请求挂起——超时 3s 兜底回结构化错误(连接线程不挂死)。

内部

  • core 下沉 UndoStack 并提取 headless Session(Scene+ViewportState+UndoStack,
    GUI 与 CLI 模式共用);协议核心(JSONL/MCP)下沉 preferz-core/src/rpc/,
    egui-free 可无头测试。
  • 全量测试 411 项,cargo fmt --check / clippy -D warnings 零警告。

破坏性变更

  • 独立 preferz-cli 二进制移除(并入 preferz 单二进制):脚本改用
    preferz --headless / preferz --mcp / preferz --exec。
  • 新增 MCP 工具使工具总数从 15 变为 18(枚举客户端按名发现不受影响)。