版本 · 更新记录

版本说明

Maltese 只发布过一次,所以这一页现在很短。以后每发布一版都会记在这里 —— 最新的在最上面,每一版都带构建日期、文件大小、校验值和它改了什么。 下载入口在下载页

01 发布

已经发布过的版本

这一页读的是一份清单 —— 和下载页读的是同一份。 所以以后只需要改那一个文件,两个页面会一起更新。

maltese.exev1.0.0 · 最新
54,680,024 B54.7 MBWindows 10 / 11 · 64 位
下载54.7 MB
SHA-256AD5B8985 308FF464 5E0DAED1 F0146C27 093B47F4 31FA3DA1 EACBA213 9B81C7BD
这一版里有什么
  • 第一次发布。下下来是 一个 exe,双击就有一只狗——没有安装程序,不需要账号,没有下一步。
  • 双形态:挂件态 220×240(无边框、透明、置顶、不占任务栏)与窗口态 980×648(双栏)。
  • 六种心情,三层来源(基线 / 漂移 / 即时反应)——缎带的色相就是心情。
  • 三套人格:小狗 / 黏人 / 顽皮。各自一套词库,不是语气开关。
  • 短期记忆:最多 3 条、20 分钟有效期、说出口就抹掉;侧栏常驻一行「记得 X」。
  • 自主行为:踱步 42% / 抖一下 20% / 伸懒腰 8% / 什么都不做 30%;45 秒没人理就蜷起来打盹,夜里 23:00–06:00 缩到 20 秒。
  • 内置检查点:d256 · 10,198,949 参数 · 字符级 · f32,压缩后 48.4 MB,编译期编进 exe。
  • 四档程序内合成的音效、系统托盘、单实例限制、壁纸亮度采样(8 个点)、导出对话、首启引导、未读点、完整键盘路径。
  • 隐私策略随程序一起分发,可随时在「设置 → 关于 → 隐私策略」重新打开。
02 怎么做的

三天,十七次提交

v1.0.0 是在 2026-09-16 到 09-18 三天里做出来的。 下面几条是这个项目做事的方式 —— 它们比功能清单更能说明手里这份东西是什么。

每一轮踩过的坑都留着doc/TECH_DESIGN.md
那不是一份设计稿,是一本施工记录:哪一条判断错了、当时看到什么才改的、 以及为什么最后选了另一个做法,逐条编号写着。错了的地方就留在那里,不洗掉。这一页上所有「诚实的一行」都是从那里来的。
测试会咬人202 条单元 + 5 条集成
其中两条是逐字指纹守卫:src/rt/ 是从另一个项目搬来的推理代码, 改动一个字节都会红。项目里还有一条纪律 —— 别用cargo test --lib,那条守卫挂在另一个 target 上, 「日常只跑 --lib」正是它红了一整年没人发现的原因。
界面改动必须真看一眼EFRAME_SCREENSHOT_TO
「界面长什么样」这件事不靠脑补,靠出图。这一页和下载页上那些实机裁片, 都是程序自己渲染出来的 —— 包括小狗那两张参考图,它们由maltese.exe --dump-pose-sheet 直接画出。
模型不进仓库models/ 整个被忽略
因为要发布的是一份把模型编在里面的 exe,而不是「程序 + 一个要另外下的模型」。 代价是:从源码构建之前必须先把模型放进 models/, 否则 include_bytes! 编不过。这一点 FAQ 里也写了。
03 升级

换版本是换一个文件

它是绿色免安装的,所以升级没有「安装向导」这一步。

先复制存档maltese_state.json
它记着你的设置、对话、它记住的词、小狗在桌面上的位置。换版本之前先复制一份 —— 这是唯一一件值得先做的事。
覆盖 exe 就行同名覆盖
文件名一样,直接盖掉。它读的还是同一份存档, 所以新版本之间可以直接换,不用从头再教它一遍。
想退回去也容易没有残留
把旧版 exe 和旧存档放回去就回到原样。没有安装、没有注册表项,所以「回退」这件事没有任何残留
存档格式不跨版本保证
单个版本之内是稳定的,跨版本不能保证 —— 字段是随功能长出来的。 所以第一步才要你先复制。真的读不出来时,它会把读不动的存档挪到一边、 用干净的默认值起来,而不是整个起不来。
全部版本
v1.0.0 · 最新2026-09-18 · 54.7 MB · Windows 10 / 11 · 64 位取件

去下载页看全部版本

下一次发布

会在这一页最上面多出一条。产品主线是让它真的会说话 —— 换一份能对话的检查点,而不是往提示词里塞技巧。

下载v1.0.0 · Windows

离线 · 只存本地 · 不联网