Releases: tianwdong/modeldial
Release list
ModelDial v0.1.0-preview.16
ModelDial v0.1.0-preview.16
preview.16 让价格目录可以独立于 App 更新,并补齐近期模型价格与自定义 endpoint 兼容性。本次发布对应 0.1.0(Build 115),精确源码提交为 1cba503bafad722e77a994c4d5341135f54d97ba。
用户可见变化
- App 的价格目录改为第一方内容寻址目录。后续仅更新价格时,不再要求重新构建 App;每次运行仍冻结实际使用的目录版本,历史费用不会被新价格回写。
- 新增
qwen3.8-flash官方价格:每百万输入/输出 Token 为$0.16/$0.47;官方未公布缓存折扣,因此缓存输入按普通输入价估算。 - 更新近期模型价格和官网覆盖规则,支持固定官网价、周期时段价、限时促销价及超长上下文分档。
- 自定义 endpoint 的长响应改为完整流式读取,统一十进制
128000输出预算,并兼容 Cloudflare 安全层的User-Agent检查;Anthropic 流式协议异常时会进行一次同题非流式回退。 - 有本机活动模型会话时,官方 Radar 推荐仍会正常显示,不再被当前会话状态遮蔽。
价格目录边界
- App、远端运行器和官网只读 API 消费同一份
current.json与不可变 snapshot;目录更新必须同时通过 HTTPS、同源跳转、大小、schema、原始 SHA-256、语义内容哈希、provenance 和费率范围校验。 - 有效目录会保存为 last-good、不可变归档和运行级冻结副本;远端目录关闭或校验失败时回退到 last-good 或 App 内置快照。
- App 冻结包不携带维护侧抓取器或价格策略,只保留受限目录读取器和内置回退快照。
评测与协议能力
- 公共核心新增 HLE Deep-20 v2 的受限评分边界和 Frontend v17 独立评测核心;公开仓只保留合同、评分逻辑和合成 fixture,不包含受限题面或真实响应。
- endpoint 三种协议继续共享隐私安全的错误分类、流式事件大小上限和总响应上限;协议回退不改变模型、effort 或题目。
验证
- 公共 Python/Swift 全量回归:
1508/1508通过。 - 发行合同:
32/32通过;架构基线:11/11通过;价格目录、冻结、更新器与计费定向回归:39/39通过。 - 私有边界、远端运行器和快照发布器:
98/98通过;公开/私有双仓边界检查通过。 - Cloudflare 普通测试
130/130、Runtime 测试9/9、类型检查和严格 dry-run 通过;Linux/AMD64 Container 构建及本地/healthsmoke 通过。 - fresh 正式发行构建验证了 60 个 Mach-O/65 条架构记录、深层 ad-hoc 签名、Designated Requirement 和 SPDX SBOM;冻结后端在 App 实际环境中输出有效 schema v2 snapshot。
应用内更新说明
- Sparkle 使用独立的 4 条用户变化摘要,不展示测试数量、源码提交、内部快照、文件大小、哈希或 SBOM。
- 本地摘要为
479bytes,SHA-2563c1ba294e7d1c63ef9b11cdaa05eae1ee97f6cc3b85df7128e519bd7de4a16a4;preview appcast 尚未替换,发布时会以外部 Ed25519 身份签名并按公开回读字节复验。
下载与校验
modeldial-0.1.0-preview.16-macos-arm64.dmg:17,869,556bytes;SHA-2562ede98f19b1361c48c9cdc20687d2bf6eff92cebd163f7450b34219dd18c1640modeldial-0.1.0-preview.16-build-115-macos-arm64.zip:15,577,247bytes;SHA-2565f8fa6f6127b15cd2ce706334e2303ed8a2029bf13b9f03e73749568e1661887modeldial-0.1.0-preview.16-sbom.spdx.json:206,444bytes;SHA-25698950960b45725635718ffe10585fe5168fde310160e4c3bd34b1603a39678bdSHA256SUMS:336bytes;SHA-256225c560914fe9876866b969c11d0eaadd8f4cc6970edbb307572730712e49ec6
下载后可在资产目录执行:
shasum -a 256 -c SHA256SUMS安装边界
这是 Apple Silicon 的 unsigned/unnotarized 预览版,没有 Developer ID 签名或 Apple notarization。手动安装 DMG 时,如 macOS 阻止首次打开,请前往“系统设置 → 隐私与安全性 → 仍要打开”;不要关闭 Gatekeeper,也无需自行运行 xattr 或 spctl。
Homebrew Cask 会明确地仅移除所安装 modeldial.app 的 quarantine 属性,不修改系统级安全设置。
ModelDial v0.1.0-preview.15
ModelDial v0.1.0-preview.15
preview.15 修复自动来源选择和历史切换收益展示。本次发布对应 0.1.0(Build 114),精确源码提交为 82470dd02b06107a1d2d7059b78a5669d4cb93d7。
本次修复
- 自动识别当前模型时,不再沿用该配置中已经过期的“本机实测”来源;自动模式只采用有效结果,并优先展示可信官方 Radar。
- 用户仍可主动选择“本机实测”浏览历史结果;已过期结果会明确标记,不再伪装成当前有效推荐依据。
- 数据来源选择在当前浏览会话内保持稳定,不会随着自动识别到的当前模型变化而静默跳转。
- 对比页恢复“历史实际切换累计”的等待时间和参考费用变化;该历史汇总与当前正在浏览的两两对比组合相互独立。
验证
- 来源状态、Swift Presenter、UI、本地化和 Advisor 定向回归:
193/193通过。 - 对比页 UI、本地化和 Swift Presenter 定向回归:
141/141通过。 - 全量 Python/Swift 合同:
1473/1473通过;发行合同:32/32通过。 - fresh Build 114 的 60 个 Mach-O/65 个架构记录全部满足 macOS 13 门禁,深层 ad-hoc 签名和 SPDX SBOM 校验通过。
- 隔离首启自动验收通过:本机假 endpoint 完成 2 个配置、10 首轮题目和双向 pairwise;真实模型请求、Keychain 读取和用户正式数据路径读取均为
0。 - ZIP 冻结后端在全新 HOME/数据目录中刷新到
snapshot-2026-08-14T06-00-00Z的 18 条可信第一方 Radar 结果。
应用内更新说明
- 仓库与 GitHub Release 继续保留本页的完整工程记录;Sparkle 弹窗改为引用独立的用户变更摘要,不再展示测试数量、内部快照、Keychain、文件大小、哈希或 SBOM。
- 公开更新说明为 590 bytes、4 条用户可见变化,SHA-256 为
0e41e7fbef2b2c7fbc324c3ab8b1f27f4fbbc92a2a462480154d1737f410b337;文件长度和 Ed25519 签名均由 preview appcast 声明。 - 修复后的公开 appcast 为 4931 bytes,SHA-256 为
cfbcd50f43de87d2e184284632b1ba409e2d294629f8b5fa4f2d755b90497f46;Build 114 enclosure 与发行 ZIP 未改变。 - 使用公开 Build 113 ZIP 在隔离数据目录打开真实设置页检查更新,Sparkle 正确发现 Build 114;标题和 4 条变化全部可见,滚动条处于禁用状态。验收未安装更新,随后恢复
/Applications中既有的 Build 114。
下载与校验
modeldial-0.1.0-preview.15-macos-arm64.dmg:17,786,507bytes;SHA-256807059c1ade5511a5843c86a9fc5926682a270a202eb5713ad73986ee284016emodeldial-0.1.0-preview.15-build-114-macos-arm64.zip:15,540,895bytes;SHA-25653a5cef6fa1e2ccea542aa3ad167ae0337a2b5042a4617bee1d9088c57f54798modeldial-0.1.0-preview.15-sbom.spdx.json:200,935bytes;SHA-25664bd6c3d38315135459f30f133151097de0e0e0d2ef6c2fda81b34cd4c8f3f70
下载后可在资产目录执行:
shasum -a 256 -c SHA256SUMS安装边界
这是 Apple Silicon 的 unsigned/unnotarized 预览版,没有 Developer ID 签名或 Apple notarization。手动安装 DMG 时,如 macOS 阻止首次打开,请前往“系统设置 → 隐私与安全性 → 仍要打开”;不要关闭 Gatekeeper,也无需自行运行 xattr 或 spctl。
Homebrew Cask 会明确地仅移除所安装 modeldial.app 的 quarantine 属性,不修改系统级安全设置。
ModelDial v0.1.0-preview.14
ModelDial v0.1.0-preview.14
preview.14 修复新用户首次接入、首次扫描与结果浏览链路。本次发布对应 0.1.0(Build 113),精确源码提交为 739c9c5e55f973be59906367c222f3ae200df4b6。
本次修复
- 没有本地会话时,Radar 仍按可信官方榜单给出综合推荐,并明确提示“暂无本地对比”。
- 官方榜单和已有本地扫描结果都支持自由选择两项对比,不再依赖先生成推荐决策。
- 已验证的自定义 Endpoint 在启用或切换档位后立即可从首页扫描,不再要求设置页先预扫;快速扫描在恰好启用两个档位时可直接形成计划。
- 修复首页档位计数、可关闭的模型接入提示,以及扫描预览或执行失败时没有可见提示的问题。
- 修复冻结 App 的 Endpoint worker 资源定位、TLS 初始化顺序和外部模型发现误报网络错误的问题。
- Grok Build 登录态改为明确验证,避免仅检测到 CLI 或旧配置就显示为已接入。
- 新增隔离的首启自动验收和可共享诊断日志工具,不读取真实 Keychain 值或原始会话正文。
验证
- 全量 Python/Swift 合同:
1467/1467通过。 - 首启自动验收:
PASSED;真实模型请求、Keychain 读取和用户正式数据路径读取均为0。 - 发行包:60 个 Mach-O/65 个架构记录通过 macOS 13 兼容门禁,深层 ad-hoc 签名、Designated Requirement 和 SPDX SBOM 验证通过。
- R2 四项资产已完成无认证回下载,字节与本地产物一致。
- 真实 App 内升级:从
/Applications中的 Build 112 由设置页发现 Build 113,完成15,545,258bytes 下载、EdDSA 验签、安装与重新打开;升级后再次检查显示“当前已是最新版本”。安装 App 的 271 项 bundle manifest 与发布 ZIP 逐项一致;83 个稳定数据文件全部不变,包括配置、历史、Radar 缓存、Secrets 密文,且升级前后均无活动扫描。
下载与校验
modeldial-0.1.0-preview.14-macos-arm64.dmg:17,788,564bytes;SHA-25640bc120e75cd2607fd833f6393ca0cef258fb50a6c2fe55c2e64b698f8e88931modeldial-0.1.0-preview.14-build-113-macos-arm64.zip:15,545,258bytes;SHA-256c2e82723742567678d09f179f83597654350a7e07ca32bf2aa59ee85b638cb5emodeldial-0.1.0-preview.14-sbom.spdx.json:200,935bytes;SHA-256d7c64892aed795cdbe02a4a9b67a49be5ab2b1e4409c3f6a20d3a04bcfb8d208
下载后可在资产目录执行:
shasum -a 256 -c SHA256SUMS安装边界
这是 Apple Silicon 的 unsigned/unnotarized 预览版,没有 Developer ID 签名或 Apple notarization。手动安装 DMG 时,如 macOS 阻止首次打开,请前往“系统设置 → 隐私与安全性 → 仍要打开”;不要关闭 Gatekeeper,也无需自行运行 xattr 或 spctl。
Homebrew Cask 会明确地仅移除所安装 modeldial.app 的 quarantine 属性,不修改系统级安全设置。
ModelDial v0.1.0-preview.13
ModelDial v0.1.0-preview.13
UNSIGNED / UNNOTARIZED PREVIEW
该预览包没有 Developer ID 签名,也未经过 Apple notarization。若 macOS 阻止首次打开,请使用“系统设置 → 隐私与安全性 → 仍要打开”,不要关闭或绕过 Gatekeeper。
这是面向 macOS 13+ Apple Silicon 的首次启动加固预览版。本次发布对应 0.1.0(Build 112),精确源码提交为 b9d4c92f2e9b74df16a30ec9bf1c60d8f2605545。
本版变化
- 打包 App 只会在确认处于源码开发环境时迁移旧
artifacts,不会从/artifacts、用户目录旁或其他无关路径误导入历史配置和结果。 - Sparkle 初始化后只隐藏 ModelDial 自己的设置窗口,不再误隐藏首次启动所需的系统或更新权限窗口。
- 全新用户尚无
~/.codex时不会启动 Codex app-server,也不会为了探测而创建 Codex 配置目录。 - 首次启动先刷新并发布官方 Radar,再执行本地维护;远端刷新期间会呈现明确进行态,不再先显示旧数据或空页面。
- 无法解析的
config.json和active_run.json会原样隔离为*.corrupt-*并恢复安全默认值;仍可解析但语义异常的活动运行继续进入恢复流程,不会被静默丢弃。 - 构建在签名前清除宿主机扩展属性,打包同时拒绝候选、DMG staging 或 ZIP 中残留的 quarantine 元数据,避免本机下载属性进入发布包。
下载与安装
brew install --cask tianwdong/tap/modeldial或从本 Release 下载 modeldial-0.1.0-preview.13-macos-arm64.dmg,拖入 Applications 后启动。由于本版仍未签名、未公证,首次打开可能需要在“系统设置 → 隐私与安全性”中选择“仍要打开”。
GitHub Release 与第一方 R2 镜像包含以下三个发行资产:
modeldial-0.1.0-preview.13-macos-arm64.dmg:17,756,720bytes;SHA-256b64f38e2badf555fd54845f90fb88be6981f27eda38658187cf6885546b61651modeldial-0.1.0-preview.13-build-112-macos-arm64.zip:15,515,094bytes;SHA-2562ad74dc33859e85c466ac2be8d6e8ac94e172b325079efe54c45969850ca78b1modeldial-0.1.0-preview.13-sbom.spdx.json:200,935bytes;SHA-25608edf479d5dcd3da8e83c6c574bcf9e51c856ed27dc30f715c35917dcd2aaba2
校验清单 SHA256SUMS 为 336 bytes,文件 SHA-256 为 716ceedfa070c1be219008c4e61161aae38011732627cec279f3f5bc531ce3ab。
发布验证
- 公开仓完整回归
1,448/1,448通过;Build 112 fresh build、本地化、脚本语法、SBOM 和 macOS 13 兼容性检查通过。 - App 内 60 个 Mach-O 均为 ad-hoc、无 hardened runtime、无证书 Authority 和 Team ID;整包和 Sparkle 嵌套组件严格签名有效。
- DMG 只读挂载与 ZIP 解包后的版本、Build、arm64 架构、源码提交、官方 Radar、preview appcast、Ed25519 公钥和全 bundle 无 quarantine 均已独立复验。
- ZIP 冻结后端在仿 App Translocation 路径和全新 HOME/数据目录中刷新到最新 15 行官方 Radar;没有创建
~/.codex、本地配置、扫描历史或启用连接。 - 双仓边界、私有远端运行器/发布器
50/50、Cloudflare Vitest37/37、Workers Runtime1/1、Linux/AMD64 Container/health和 Wrangler dry-run 通过。
已知限制
- 仅支持 macOS 13+ Apple Silicon;Intel Mac 和 Windows 客户端当前不支持。
- 没有 Developer ID、secure timestamp、Apple notarization 或 stapling。
- 本机的仿 App Translocation 验证不能替代另一台 Gatekeeper/SIP 开启且无开发环境的 Mac 首次安装验收。
ModelDial v0.1.0-preview.12
ModelDial v0.1.0-preview.12
UNSIGNED / UNNOTARIZED PREVIEW
该预览包没有 Developer ID 签名,也未经过 Apple notarization。若 macOS 阻止首次打开,请使用“系统设置 → 隐私与安全性 → 仍要打开”,不要关闭或绕过 Gatekeeper。
这是面向 macOS 13+ Apple Silicon 的修复预览版。本次发布对应 0.1.0(Build 111),精确源码提交为 5082523eb69f286d5e6397416f44e10adc9eaefb。
本版变化
- 修复
preview.11在正常受保护 Mac 上因 ad-hoc bundle 错误启用 hardened runtime,导致冻结 Python 后端和嵌套组件被 Library Validation 拒绝加载的问题。 - 新增逐个 Mach-O 的签名策略门禁:unsigned preview 必须全部为 ad-hoc、无 hardened runtime、无证书 Authority 和 Team ID;Developer ID 构建路径继续保留 hardened runtime 与 secure timestamp。
- 本地组件启动失败时,Radar、扫描设置和模型接入改为明确的加载/不可用状态,不再展示虚假计数、空选项或可执行操作;原始 dyld/PyInstaller 信息只在用户主动复制诊断时提供。
- Native Bridge 并行排空 stdout/stderr,并为普通操作和连接探测增加有界超时与终止流程,避免大错误输出或冻结子进程卡住界面。
- 官方 Radar 下载在单次瞬时
unavailable时重试一次完整 feed;HTTPS、同源、大小、哈希和 payload 校验失败仍立即停止。
下载与安装
不要继续安装存在后端启动问题的 preview.11。当前 preview.12 已公开并完成分发回读,可使用以下两种入口:
brew install --cask tianwdong/tap/modeldial或从本 Release 下载 modeldial-0.1.0-preview.12-macos-arm64.dmg,拖入 Applications 后启动。由于本版仍未签名、未公证,首次打开可能需要在“系统设置 → 隐私与安全性”中选择“仍要打开”。
GitHub Release 与 R2 镜像包含以下三个发行资产,字节数和 SHA-256 已分别从两个公开入口回读核对:
modeldial-0.1.0-preview.12-macos-arm64.dmg:17,769,588bytes;SHA-256aee58b52f33b94fc1da3c296cdb345ff59fe76a8e3343b4cd3f3aadb516f8b22modeldial-0.1.0-preview.12-build-111-macos-arm64.zip:15,532,390bytes;SHA-256c43c640f229434c3923c305b3a9bbad41d3e2b3431510ba7387cf003fc98ce64modeldial-0.1.0-preview.12-sbom.spdx.json:200,935bytes;SHA-2564db0f59d7c4263d202a014ab23dac1e5df67d927b2788c99952f2b2637e10158
校验清单 SHA256SUMS 为 336 bytes,文件 SHA-256 为 c5edfcaeba5d903b7a588089ec744b1b2f7dd2c668b949f0d8066ceb52b9a066。
发布验证
-
Python/Swift 全量合同
1,442/1,442、最终定向回归170/170、架构基线11/11通过。 -
fresh
./build.sh、本地化编译、脚本语法和严格签名检查通过。 -
候选 App 内 60 个 Mach-O 均为 ad-hoc、无 hardened runtime、无证书 Authority 和 Team ID。
-
DMG 只读挂载、ZIP 解包、bundle 版本/源码/官方 Radar/Sparkle feed/Ed25519 公钥回读和
SHA256SUMS复验通过。 -
ZIP 内冻结后端在隔离 HOME/数据目录中从官方端点刷新到
snapshot-2026-08-10T06-00-00Z,取得 8 份快照和最新 15 行榜单。 -
双仓边界、私有远端运行器/发布器
50/50、Cloudflare Vitest37/37、Workers Runtime1/1、Linux/AMD64 Container/health和 Wrangler dry-run 通过。 -
annotated tag、GitHub prerelease、四项 GitHub/R2 文件及无认证公开回下载均已核对;两个镜像的字节数、SHA-256 和
SHA256SUMS一致。 -
preview appcast 已指向 Build 111 的不可变 R2 ZIP,feed 与 enclosure 的 Ed25519 验签通过;stable appcast 未改动。
-
Homebrew Cask 已在隔离目录完成安装、卸载和重装,版本、源码、架构、签名与更新配置均与候选一致,未覆盖
/Applications/modeldial.app。 -
官网由 Cloudflare Pages production deployment
d629b5e0-3b94-4104-8c74-5be970c04ba2提供;不可变地址与modeldial.com的双语页面、Radar、数据许可、下载跳转和内置 8 月 10 日官方快照已复验,回滚基线为51c42935-aebb-47ec-a74d-8c74421d6e73。
真实设置页从 Build 110 升级至 Build 111,以及另一台 Gatekeeper/SIP 开启的干净 Apple Silicon Mac 首次安装,仍保留为发布后的人工验收项。
已知限制
- 仅支持 macOS 13+ Apple Silicon;Intel Mac 和 Windows 客户端当前不支持。
- 没有 Developer ID、secure timestamp、Apple notarization 或 stapling。
- 本机验证不能替代另一台 Gatekeeper/SIP 开启且无开发环境的 Mac 首次安装验收。
ModelDial v0.1.0-preview.9
ModelDial v0.1.0-preview.9
UNSIGNED / UNNOTARIZED PREVIEW
该预览包没有 Developer ID 签名,也未经过 Apple notarization。若 macOS 阻止首次打开,请使用“系统设置 → 隐私与安全性 → 仍要打开”,不要关闭或绕过 Gatekeeper。
这是当前 Apple Silicon 预览版,对应 0.1.0(Build 108),精确源码提交为 abf28096ccc30fb923213e257eb131a069b79633。
本版变化
- 修复对比页“切换后的实际变化”漏算和长期不增长:按真实生效配置维护独立
actual_switch时段。 - 支持轮询间切换回溯、复用会话、已关闭时段的迟到记录,以及超过 100 段的已完成历史累计。
- App 空闲刷新会先观察本机使用记录,再读取完整权威快照;观察失败时继续显示已保存状态并给出提示。
- 相同模型与档位的近期记录使用 Provider 消歧;无法唯一确认时继续 fail closed。
下载与安装
- 下载并打开
modeldial-0.1.0-preview.9-macos-arm64.dmg。 - 把
modeldial.app拖到Applications,推出 DMG 后从Applications启动。 preview.7及更高版本也可以进入“设置 → 软件更新”升级;preview.6及更早版本仍需先手动安装新版一次。
资产
modeldial-0.1.0-preview.9-macos-arm64.dmg:17,652,142bytes;SHA-25671c0a97439cd64dbdd1544267ca744124ceb960fb99d3140040001c712b07d9cmodeldial-0.1.0-preview.9-build-108-macos-arm64.zip:15,441,549bytes;SHA-25608779505992b47220d16d1510df77f23d7227162617835316f247c0791ae2cbcmodeldial-0.1.0-preview.9-sbom.spdx.json:200,843bytes;SHA-256ee2b8594be4e4cd245e935f239298ff300a8e7f3a34de802cb022413d09f1493SHA256SUMS
可在下载目录运行:
shasum -a 256 -c SHA256SUMS已完成验证
- 干净源码提交完成全量 Python/Swift 合同回归;fresh build 后补跑两项依赖构建产物的合同测试。
- 三项 SHA-256、DMG、ZIP、SPDX SBOM、thin arm64、macOS 13 兼容门禁和深层 ad-hoc 签名通过。
- App 与 ZIP 均回读 Build 108、精确源码提交、官方 Radar 地址、preview appcast、公钥、签名 feed 和解压前验签配置。
- GitHub 与 R2 的四项公开资产均已无认证回下载,大小和 SHA-256 与本地候选精确一致;在线 appcast 的 Ed25519 签名与 ZIP enclosure 签名均通过。
/Applications中的 Build 107 已通过“设置 → 软件更新”发现、下载、验签、安装并重启到 Build 108;再次检查显示“当前已是最新版本”。升级前后的 81 个持久文件无缺失,仅 5 个实时状态文件按预期更新。- 更新后的 Build 108 在真实对比页显示 177 次切换后已完成任务,等待时间与参考费用覆盖 125/177 次,确认本版统计修复已进入更新安装包。
已知限制
- 仅支持 macOS 13+ Apple Silicon;Intel Mac 和 Windows 客户端当前不支持。
- 没有 Developer ID、secure timestamp、Apple notarization 或 stapling;本机应用内升级不替代 Gatekeeper 干净机验收。
ModelDial 0.1.0 preview.8
软件更新完整验收目标版。preview.7 可通过「设置 → 软件更新」下载、验签、安装并重启到本版;preview.6 及更早版本需要先手动安装 preview.7 或本版一次。当前包为未公证的 Apple Silicon 预览版。
ModelDial 0.1.0 preview.7
修复 Sparkle 预览更新器启动配置。preview.6 及更早版本需要手动安装本版一次;从本版起可在「设置 → 软件更新」中接收后续预览更新。当前包为未公证的 Apple Silicon 预览版。