Releases
v1.9.9
Compare
Sorry, something went wrong.
No results found
Mosael v1.9.9
ComfyUI:目录类输出预算放宽到 8 MB,插件不再静默削模型清单(插件 1.23.5)
维护者那台大 ComfyUI 刷新工具清单时只得到一句「插件输出超过大小限制 (1MB)」:目录类操作(工具、模型、工作流库、
节点包、音色)的输出会随机器内容线性变大,1 MB 的预算在几百张工作流的机器上必然撞线。现在这些目录 op 单独用
8 MB 预算(CATALOG_OUTPUT_BYTES),普通工具调用仍守 1 MB;超限时整份不收、不截断 ,文案带上工具名(含 op)、
上限、实际读到多少和下一步(到插件页刷新;还不行就减少服务器上的模型 / 工作流数量,或者升级 Mosael)。
插件侧不再自己先削模型清单。 随包 ComfyUI 插件的 library.py 原先把模型清单削到 900 KB,并显示「只列出了前 N 个」
—— 宿主那道闸永远看不到真实大小,用户会以为模型就这么多。现在插件侧预算抬到 8 MB ,删掉 80% 递归截断和那句提示;
真超过 8 MB 由宿主整份拒收并说清。1500 个长名模型从「768/1500 + 只列出了前 768 个」变成 1500/1500 ;
8000 个(插件输出约 13 MB)会被宿主整份拒收,报「超过 8.0 MB 的上限(实际已读到 13 MB)」。
插件版本 1.23.5 (mosael.plugin.json 只动 version,插件市场索引机械重生成)。工作流库左栏也顺手改宽到 240、
不再横滚、分组可展开收拢、长名字省略并给 Hint;「在哪跑」三格均分,「共用的模型文件夹」输入框吃满剩余宽度,
「用到的模型」每行不再留一段没用的空白。
你要做什么: 不用做。若升级后仍报超限,先到插件页点刷新;还不行就把插件包更新到 1.23.5。
模型下载:断点续传,取消 / 失败保留半截,刷新页面也不丢
ComfyUI 的模型下载支持断点续传 :请求带 Range + If-Range,正确处理 206 / 200 / 416 ;续传前用 sidecar
(<name>.mosael-part.json:url、本轮声明的 SHA256、总大小、ETag / Last-Modified)对账 —— 地址、哈希、总大小、
校验器任一不符就删掉半截从头下,绝不硬拼;服务端不支持 Range 返回 200 时从 0 重写,绝不接在半截后面。
取消或失败不再删半截 ,下次下载给「从 N 继续 」和「删除没下完的部分 」两个动作;7 天没再动的孤儿
(PART_MAX_AGE_DAYS)在下一次本机下载开始或查看半截时清理,不另起定时任务,这一次要续的那份不算孤儿。
进度、百分比和速度改成结构化的字节数 :downloaded_bytes / total_bytes(总量未知就是 null,不是 0)/
speed_bps;界面只读这些字段,百分比按字节算,不再去解析任何人话。续传第一条事件就从已下载的字节开始,
并说「从已下载的 X 继续」。
刷新页面后状态不丢、还能继续 :下载状态从后端任务列表派生,界面里不再存 jobId / attempt;刷新之后一条
已取消、还留着半截的任务照样能「从 N 继续」,也能取消和看字节 / 速度。经 ComfyUI-Manager 的路线没有本地半截,
所以不给「继续 / 删除」。
你要做什么: 不用做。没下完的会留着,下次接着下;确实不想要了再点「删除没下完的部分」。
远端连接:「打开工作台」不再依赖整份工作流库,连接卡显示版本号
「打开工作台 」入口的显示条件原先要等整份工作流库读回来 —— 远端那台的 workflows 输出一超限,整份报错,
这颗按钮就根本不渲染 (不是禁用、不是权限、不是只给本机)。现在工作流库读不回来时,地址退回连接自己写的
server_url(实测插件报的 editor.url 与它是同一个值,不是猜);桌面壳没有内嵌工作台时,网页版也能用
window.open 在新标签页打开;一个地址都拿不到时入口照样摆着,但点不动、悬停说清为什么。
连接卡显示远端版本号。 后端早就覆盖远端探测,缺的是前端接线:server 模式的连接卡现在在「服务器地址」后面
摆版本行(只在展开时挂载,不展开不探测),四种情况各说一句 —— 读到版本、连不上(没应答)、在跑但没报版本
(不猜一个)、连接里没有可问的地址。插件详情页也能看到 ComfyUI 的版本;查不到上游最新时只说查不到,
只有确认当前版本就是上游最新才出现「已经是最新的」。
你要做什么: 不用做;展开连接时才会去问那一台的版本。
ComfyUI「缺失项」:12 条修复,先说真话、不丢数据、不诱导用户做错事
离线也能按图上自己写的 cnr_id / aux_id / ver 归因 :库、导入、缺失项都先信工作流的声明,Manager 映射只补
没声明的;包行带来源、页面、仓库、想要的版本、已装版本、是否启用、状态,宿主全量透传。此前没有 Manager 就
「不知道是哪个节点包」,与官网承诺相反。
「没搜成」不再冒充「对不上」 :0 个候选且下载站失败时说「站都没答上来,没法核对」,有候选才说对不上;
并区分「工作流声明的哈希」与「机器算出的哈希」。
models[] 没写 directory 不丢 :按用到它的节点输入名补目录、再按 options 补,补不出就保留空目录并明说
「不知道放哪个目录」,模型库那边同名在任一目录即算在。
版本不符说清楚 :semver 比较出升级 / 降级 / 同一版,文案说「要 X、装 Y,需升级 / 降级」,安装时把 ver 交给
Manager;git commit 标 unknown、没写标 latest,都明说。comfy-core 是「ComfyUI 太老,要升级」,不是「装节点包」。
只写 aux_id 的包装着也认 (目录名 / cnr_id / 完整 aux_id / 仓库短名);同名 basename 不再冒充同一个文件 ,
只说「有一个同名文件」+ 路径 / 大小,有声明哈希且能算才说「就是 / 不是同一个文件」。
校验错误主句改成人话 (翻 Value not in list / Node not found / Required input is missing,带节点号),
原话进 detail;顶部 problem 按包状态分支(没装的去装、全装了看启用 / 加载、没 Manager 就说不知道、认不出就去搜);
包行带上「装了但被禁用」与「装了没加载」的区别;工作台缺东西不再静默 —— MissingPanel 始终挂载,标签上给数字徽标。
缺的模型显示真实下载地址 (下方一整行,可点、可复制,不再靠会朝左弹的浮层);多平台来源只在能确认时给 :
工作流声明 64 位 SHA256 时去 HF / Civitai / ModelScope 核对元数据,只有 confirmed 且 direct、界面再核对一次
哈希对得上、并且是本机下载路线才列出;没声明哈希就一次都不查,离线整块不渲染。按声明的 SHA256 下载并核对 :
本机路线边下边算,对不上就删 .part 并说清「已删掉,没放进目录」;经 Manager 的路线核对不了,带哈希时提交前
直接拒绝并说明原因,界面也明说「核对不了,不能确认是同一个文件」。
你要做什么: 不用做。缺项面板的数字徽标会提示还有几项没解决。
URL 导入:补上三条闸、站点适配器接缝、图片直链与 MissAV
三条闸 :文件大小上限 2 GiB (与网页下载同一个常量,进度回调第一次看到总量超限即中止,落地后再量一次兜底)、
整次下载的 wall-clock 总超时 (含重试,用户取消优先)、落地文件头嗅探 (HTML 改名成 .mp4 会被删并拒,
说「不是媒体文件」)。此前这条路上一条闸都没有。
resolve() 站点适配器接缝 :统一契约 ResolvedMedia{url, headers, title},None 表示不认识 —— 绝不近似 ;
探测和下载前各问一次,不认识就退回 yt-dlp,下载仍全部复用同一条下载器。
图片直链导入 :素材库原有的「从链接导入」对话框里多一个入口,边走边数 40 MiB、看文件头、入库并记 source_url;
失败卡也会提示「如果这是图片直链,改用图片直链导入」。
MissAV 站点适配 :解析 packed 脚本里的 m3u8 地址并登记,格式带 Referer / UA,页面按块读、上限 8 MB,
解不开的脚本只跳过不吞后面的好块,拿不到就说「解析失败 / 脚本解不开 / 页面太大」,绝不返回近似地址。
只对实测可用的 missav123.com 与 missav.live 生效 ;.ai / .ws 是 Cloudflare 的 managed challenge(403),
连 curl_cffi 也过不去,不认领。
你要做什么: 不用做;导入 MissAV 链接时只支持上面那两个域名。
一致性:AES-128 的 HLS 不再一律标「受保护」,地区受限文案指向真正管用的代理
页面扫描原先把任何 非 METHOD=NONE 的 HLS 都判成受保护 —— 同一段视频从链接导入其实能下。现在只有
METHOD=AES-128 + 标准 identity KEYFORMAT 算「加密但可导入」(导入时自动解密),其余真 DRM(SAMPLE-AES /
SAMPLE-AES-CTR、FairPlay / Widevine 这类非 identity KEYFORMAT、AES-256、没有 METHOD)仍然拦下;DASH 的
ContentProtection 不变。
「地区受限」的文案此前让人去配浏览器档案 代理,但档案代理只作用于内嵌浏览器,而从链接导入走的是这台机器的
出站代理。现在文案指向 部署设置 → 出站代理 ,并说明档案自己的代理只管内嵌浏览器。
你要做什么: 不用做。
剪辑页:灯箱不再多一路声音,字幕翻译不再卡住,动作栏按语义分组
点第一个素材、第二个视频的音频也响 :根因不在切源,而在共享灯箱 —— 库会渲染当前项 + 左右各一项,每个相邻
视频项都挂了一个自动播放的播放器。现在同一时刻只允许一个活动源,相邻视频项留空画框;播放器卸载即暂停并清掉
src;打开灯箱时暂停灯箱外正在播放的 <video> / <audio>(只暂停不恢复)。
字幕翻译不再「永远 0/1039」且停不下 :此前没有连接级超时,Google 逐句串行 0.35 秒、400 条一批光节流就 ≥140 秒,
连不上还要耗满 60 秒。现在每批 120 秒、整次总 deadline 15 分钟、批大小 400 → 125,后端连接超时收紧到 10 秒
(真正连不上约 10 秒就报「连不上 Google 免费翻译接口」);翻译中带「取消」,取消后在途批当场停下、后面批次不再发,
已有批次保留并说清写了多少,不写半份。
字幕 / 逐字稿动作改图标 + Hint :读屏名与悬停名只写一次,禁用时由 Hint 壳接住焦点;口癖、静音的数量留成
右上角角标;图标按语义分组(生成 / 加工 / 文件 / 设置,逐字稿是识别与清理 / 切分与产出 / 文件),分隔线跟着自己的组
折行,不会孤零零留在行尾。「字幕样式」改成弹窗,和同排动作同一款按钮,不再是一颗单独的描边药丸;翻译弹层主按钮
铺满;右侧统计 / 设置钉住不动,左侧动作超出可横向滚,并给裁剪框留 4px 纵向余量(角标与焦点环不再被切掉)。
配音模型下载失败 / 被杀都说原因 :状态从后端派生(失败后也继续轮询),正在下载显示进度条 + 字节 + 速度,
百分比按字节算、总量未知就不定进度并写「大小未知」;失败显示 FailureCard + 后端翻好的原因 + 「最后一次 {时间}」+
重试;轮询失败说「查不到模型下载状态」并可重试,不再变回「下载这个模型」;应用退出 / 后端重启中断的那次落成
「上一次下载没有完成」。重试时整条记录换新,旧字节、旧总量、旧原因不残留。
画布 0×0 时的 NaN SVG :修在视口 / 坐标层而不是往 JSX 里塞 || 0 —— 容器宽或高为 0 时不起 d3-zoom 过渡,
非有限的 x / y 退 0、非有限或非正的 zoom 退 1。真实浏览器里「容器还没挂上、被面板压没、窗口窄到 0」也不再
往 <pattern> / <circle> 写 NaN。
顺带 :剪辑顶栏的项目切换菜单去掉空图标槽、所有项左边缘对齐,「新建项目」进独立底栏不跟列表滚。
你要做什么: 不用做。
智能体:后台任务的回执不再当一条消息常驻,重启中断的那一轮看得到做过哪些步骤
回执按结果分两种。 成功、且被智能体接住的回执折叠进接住它的那一轮 的过程步骤(「已处理 · N 步」,
默认收起;展开是一行「后台任务 · 种类 · 任务名 · 成功 / 失败」,点开是任务详情),不再在对话里单独占一条消息;
成功的回执也收进右侧「本对话的后台任务」。失败 / 取消的回执仍是显式一张卡:一句人话、原始异常进「详情」,
带「查看任务 / 前往 / 重新取回」。没被接住的那条不会被折叠掉 —— 成功了却还没交给智能体时有一行兜底提示。
直接由工具发起的任务现在也有回执。 转写、链接导入、镜头拆解这几类任务此前只设了调用身份、没有回执,
于是不会出现在「本对话的后台任务」里,也不能按对话归属;现在和确认卡那条路同一套机制。
后端重启打断的那一轮不再只剩一句「已中断」。 工具 / 子代理的步骤在跑的时候按快照写进
agent_turn_events(一行一个事件,不重写整条消息),重启收尾时把最后一版快照写进中断消息 —— 重开看得到
做到哪一步。这些事件读完即删,另有一条 7 天兜底清理。
「最近 N 轮失败」改成「连续失败 N 轮」 ,后端重启打断单独累计成一行「后端重启中断 N 次」,不再冒充失败。
「任务计划」和「后台任务」用同一套行语法。 检查器里上下两块并排,每行说的都是同一件事(这一条做到哪了),
却长得不一样:计划是 状态圈 + 文字,任务多一个类型图标、右侧还再写一遍「成功」。现在两处共用一行 ——
状态只在左边那一圈(计划说 done / in_progress,任务说 succeeded / cancelled / queued,到这里都归成一个状态),
主行右侧只放动作(取消、前往结果),进度 / 用时 / 失败原因留在主行下方的说明行、和文字同一左缘;类型图标不再出现。
你要做什么: 不用做。
任务名只说用户要什么:生成任务的 subject 不再拿整段提示词
生成任务的 subject 此前在没写提示词 时落的是喂给模型的整段(prompt_for_provider:文档正文、白模说明、
素材描述),任务卡、任务中心、回执里看到的是一整篇 —— 那不是「用户要什么」。现在写了提示词就存完整原文 ,
没写就存空,由展示层按语言说清「从 N 个素材生成的」;任务卡、任务中心、回执三处共用同一份判断。
源头那几处静默截到 80 字的 [:80] 一并去掉(生成、TTS / 播客、链接导入、画板),展示层一律截断、悬停看全文;
历史迁移里那两处是按旧数据形状重放,一字未动。
你要做什么: 不用做;老任务名照旧显示,新任务不再被截、也不再拼上一整篇。
AI Studio:「智能体环境」头部不再被内容压住
「智能体环境」那块头部此前会被下面的内容盖住(工具栏高度被量成 0,头部塌成 1px)。两处都修了:工具栏高度改用
ref 回调 重新测量,量不到就保留上一次的值(默认 56);并且「草稿 → 选中会话」时整列不再重建
(SessionDecisions 的 Provider 始终在树上,草稿态传 sessionId={null}、两条查询都不发请求),头部量到的
始终是同一个节点,测量和布局不再错位。
你要做什么: 不用做。
You can’t perform that action at this time.