🔧 iFlow 停服不停活 — iFlow 设置编辑器全新的MOD管理功能上线了!

最近发现社区出现了很多大佬在为iflow添砖加瓦,我也顺手给iFlow 设置编辑器添加了一个MOD(补丁)管理功能,思路来源于老滚5的MOD玩法 :squinting_face_with_tongue: ,这下大家还可以优雅的给iflow赋能了!

你可能需要对核心逻辑进行自定义修改(如添加新功能、调整行为、修复 Bug 等),但直接修改会导致:

  • 更新 iFlow CLI 时修改丢失

  • 无法追踪修改历史

  • 多个修改之间可能冲突

  • 难以分享和复用修改

类似 ModOrganizer 的设计理念,本功能聚焦于 Mod 包的导入/导出/启用禁用管理,不涉及 Mod 的创建、编辑过程。你可通过外部工具创建 Mod 包,然后通过本功能进行集中管理。

目前只涉及到对iflow.js主文件的修改

话不多说,上演示!

未添加MOD:

8xyet3wZ_converted

使用管理器添加MOD(突然发现我无法上传视频,各位请移步网盘预览效果 :rofl: ):

Mod 包目录结构规范

ui-enhancement-001/
├── mod.json              # 必需:元数据
├── code.js               # 必需:Mod 主体
├── README.md             # 可选:详细文档
├── LICENSE               # 可选:MIT 许可证
└── icon.png              # 可选:自定义图标

mod.json 示例:

{
  "id": "ui-enhancement-001", // MOD唯一ID
  "name": "UI 增强 - 深色模式优化", // MOD显示名称
  "author": "张三", // MOD作者
  "category": "UI", // MOD分类
  "description": "为 iFlow 界面添加深色模式支持,优化对比度,减少眼部疲劳。", // MOD描述
  "type": "replace", // MOD类型
  "version": "1.2.0", // Mod 版本号(SemVer 格式)
  "iflowVersion": "0.5.19", // iflow版本
  "iflowVersionConstraint": "0.5.19+", // 兼容的iflow版本
  "icon": "🎨", // MOD图标
  "tags": ["UI", "主题", "深色模式"], // MOD标签
  "homepage": "https://github.com/user/iflow-ui-enhancement", // MOD作者主页
  "license": "MIT" // MOD许可证
}

MOD包格式兼容:支持 .zip.iflow-mod 两种格式(导入时自动识别)

字段说明

  • iflowVersion: Mod 开发时使用的 iflow.js 版本号(如 “0.5.19”)

  • iflowVersionConstraint: 版本兼容性约束(见下方详细说明)

版本兼容性约束说明 (iflowVersionConstraint):

约束值 说明
0.5.19+ 兼容当前版本或更新版本(默认)
0.5.19- 兼容当前版本或更旧版本
0.5.19 仅兼容指定版本
* 兼容所有版本(不推荐)

Mod 类型与主体文件映射

type 主体文件 说明
patch patch.diff 包含 unified diff 格式的差异补丁
replace code.js 完整的替换文件内容(整个文件)
append code.js 要追加到文件末尾的代码片段
prepend code.js 要插入到文件开头的代码片段

另外放上MOD化版本的全面增强补丁包:

通过网盘分享的文件:iFlow停服不停活 — 第三方模型全面增强补丁.zip
链接: 百度网盘 请输入提取码 提取码: 2cdr 复制这段内容后打开百度网盘手机App,操作更方便哦

专用格式版本:

通过网盘分享的文件:全面增强补丁-v1.0.0.iflow-mod
链接: https://pan.baidu.com/s/1KlUhe6xGFKLveJzAfdyAQA?pwd=up9p 提取码: up9p 复制这段内容后打开百度网盘手机App,操作更方便哦

全面增强补丁来源:iFlow 更新了停服不停活 — 第三方模型全面增强补丁

最新版本指路:

https://github.com/yuentao/iFlow-Settings-Editor-GUI/releases/

5 个赞

思路很好,我一开始就是类似的想法,不过我是这么想的:直接拉个插件或者扩展接口出来,然后写扩展就好了,不过你这个MOD作为前置就很好,以这个MOD为基础,做一个扩展工具MOD+一个外置的扩展管理器(这个就不需要修改代码了,只修改扩展文件和扩展配置来控制扩展的加载)

外置式扩展的好处就是,如果js文件升级了,大量的混淆代码会重命名,这个时候只需要适配一个接口就行了,如果将大量的功能加到MOD上,一升级就蛋疼了,接口适配工作量是一堆,除非固定版本,当前版本应该不会更新了,直接固定就可以了。

还有一个问题就是很多模型的逻辑都是写死在代码里面的,这非常麻烦,如果只是一个模型,那小修小补就好了,如果可以把模型配置都暴露到外部配置上,就不用去修改代码来适配新的模型了。

比如我遇到了一个问题,关于MINIMAX-M2.5/M2.7的,这两个模型自带了思考模式,不管你给不给thinking或者Reasoning参数,他都是默认会返回标签的思考内容给你,但是M2.7是默认拒绝响应thinking或者Reasoning参数的,MINIMAX-M2.7还会拒绝响应max_new_tokens参数,这就非常蛋疼了,这意味iflow现在接minimax2.7是用不了的,2.5则需要手动适配(改950行的那个模型适配表)来开启思考模式。

为什么要开启思考模式?并不只是为了增加推理提高效果,而是iflow有两套主提示词,第二套非常得劲,但是必须开了推理才能匹配到这份提示词,所以,这不是可选项,开启思考模式在iflow cli里是必选项

我还遇到一个bug,就是模型输出的最后一个区块会打印两次,不管是流式输出还是原版,都会重复打印两次,百思不得其解,我还没去查代码。

嗯,我目前的想法也只是抛砖引玉,希望之后在社区伙伴们的添砖加瓦下让iflow持续生长,至于你说的bug我目前还没有深入研究核心文件也不太清楚

你们怎么那么强

你也很强的啊 :saluting_face:

牛批

很喜欢 :rose:

最近又修复了接入第三方模型问题,怎么接入这个管理器呢

你可以下载我放的MOD版本看下,差不多就是多个描述文件,然后根据你的补丁类型来设置类型,比如是替换本体还是追加

具体的你可以看下这个 GitHub - yuentao/iFlow-Mod-Builder: 本指南详细介绍如何为 iFlow CLI 开发 Mod 修饰符模块 · GitHub

好的,工具做得很不错,历史对话管理功能有规划吗

还在构思具体实现 :rofl:

官方对第三方模型支持也是BUG很多,好多都不适配报错,要不就是没思考或者思考和正文混在一起,我再慢慢修,进来把接口都暴露出来自己配置

还有自动压缩修了好几次还有问题,iflow里有两级压缩,一级是轻量去重,二级是重压摘要

调个工具一直报错,报错信息是参数不对,官方也不开源,要不我也能把那些免费使用模型的插件迁移到iflow上来,改那些编译后的iflow.js对我来说是太难了

我都是让iflow自己分析自己,自己写他会调用py来写各种功能插件,五一期间就用全程小米送的新模型写的那些功能,花了一个多亿,感觉对他很轻松,麻烦的是要自己去调试