Skip to content

flashCat 1.5.2 · 优雅 · 流畅 · 高能

Choose a tag to compare

@imi4u36d imi4u36d released this 06 Nov 13:53
· 35 commits to main since this release
f0a9ae0

flashCat 1.5.2 · 优雅 · 流畅 · 高能

把「谁在跑哪个模型」这件事做对:网关按请求里的 model 准备权重,界面能透出桌面,
忙等的时间开始说真话。

新增

  • 网关按 model 路由并拉起模型。 请求里的模型名不再只是装饰字段:网关先解析它属于哪台引擎,
    同引擎换权重走热切换 / 重启,跨引擎先卸载再启动,引擎没跑就把它拉起来,就绪后才向上游转发。
    以前把未知模型名原样交给「忽略 model 字段」的引擎,客户端会拿到错误模型的成功响应——
    这比报错更糟。并发 API 请求在网关侧串行准备,不会两次 load 抢同一个单飞位。
  • 自定义背景。 设置里可选一张图片作为画布背景,带「APP 透明度」与「背景模糊」两档:
    图片会复制进应用支持目录,原图移动或删除后仍然可用;无论图片多清晰都保留一层画布渐变保底,
    文字对比度不塌。没设图片时透明度控制透出桌面——窗口按同一档强度让位给系统壁纸。
  • 图标换脸。 应用图标重画为宽脸颊、尖耳朵、额头一道闪电负形的猫头;菜单栏图标改用
    手绘贝塞尔剪影 + 模板渲染(运行中实心、停止描边),由系统按菜单栏明暗自动上色,
    缩到 18pt 不再是一坨彩色小色块。五台引擎与 splash 启动图各配一枚品牌图标。
  • 命令面板新增「切换外观」与「折叠 / 展开边栏」;⌘K、⌘N、⌘\、⌘⇧A 回到菜单与标题栏提示同源。

修复

  • 应用最低系统版本回落到 macOS 26.0。 macOS 27 的 .tabs 分段样式改为可用性探测,
    运行时不可用时回退 .segmented;Info.plist、README、CONTRIBUTING、architecture.md
    与 Package.swift 五处门槛一次对齐。splash 引擎自身仍要 26.4,那是引擎级要求。
  • 加载权重的等待时间不再虚报。 热加载引擎的 HTTP 壳子先绿、权重后到,
    这段等待此前按进程启动时间计算——引擎跑了几小时后重载模型,界面会报「已等待 4:12:03」。
    现在加载阶段单独计时,且从点下启动那一刻起表。
  • 切换模型时误杀自己。 sh -c script name a b c 把 name 交给 $0 而不是 $1;
    缺占位参数时脚本把应用的 pid 当成引擎,引擎一起来就 SIGINT 了 flashCat 自己。
  • 预填充读数虚高两个数量级。 同一会话的第二轮几乎全部命中引擎的前缀缓存,
    这些 token 根本没被重新前向。现在从 usage 的 cached_tokens 扣掉命中量,
    全命中时回落到引擎实时计数;几路并发改为各路速率相加。
  • agent 会话一直显示 0 tok/s。 工具调用的回复大头在 delta.tool_calls[*].function.arguments,
    而打点只读了 delta.content;现在正文、思考、工具调用名与参数一起计入生成量。
  • 切壁纸后玻璃层留残影。 画布回到不透明底色承载,桌面透出交给全窗口的视觉效果层,
    并监听壁纸变更强制重排一次。
  • 下载列表不再因重复 id 出现空位;灵动岛收起态只留标题与一行信息;
    通知缺标题时按级别兜底命名;旧的推理等级取值在读取时收敛到新范围两端。

性能

  • 模型目录扫描加 1 秒 TTL(下载 / 删除 / 重载时立即失效),下载进度刷新不再反复扫盘。
  • 网关复用同一个 URLSession,不再每请求建销连接池。
  • 空闲时隔秒轮询,忙起来恢复每秒;健康探测响应复用给遥测采集,各端点并发拉取。
  • 日志页一次遍历同时得出按级别计数与过滤结果;Markdown 解析分两级缓存;
    概览图表按 60 秒窗口取数,不再每秒把约 3600 个样本交给 Swift Charts。
  • 对话高频状态拆成独立的 ChatStore,流式分片不再带着概览与模型页一起重算;
    长对话只渲染最近若干条。

工程

  • strict-concurrency 棘轮基线 36 → 25;ci.yml 说明随之更新。
  • 新增 GatewayModelRoutingTests、GatewayMeterTests、EngineLiveRatesTests、
    ModelFamilyTests、ModelLibraryTests、DecodeRateTotalTests,以及 LocalizationTests
    三条契约(每条中文词条都有英文译文;快捷键文案与 keyboardShortcut 同源;
    界面文案在两种语言下都能解析)。
  • pack-index.json 收录 splash 1.6.0、mlx-serve 26.11.2、strata 0.2.11、omlx 0.7.3rc1。
  • 本版 201 个单元测试,0 失败,3 个依赖本机运行时包 / 集成环境的用例自动跳过。

安装

  • flashCat-1.5.2.dmg:打开后把 flashCat 拖进「应用程序」
  • flashCat-1.5.2.pkg:双击一路安装

系统要求:Apple Silicon,macOS 26.0 或更高(splash 引擎自身要求 26.4)。
应用为 ad-hoc 签名、未公证,首次打开请右键 → 打开。
引擎运行时不包含在应用内,首次启动按引导下载(80 MB ~ 600 MB)。