Skip to content

hisence999/comfyui_agent

Repository files navigation

ComfyUI助手 (Flutter Mobile Client)

声明:本人小白,全程借助于CLINE,deepseek和哈基米开发,有需要的去用吧,禁止商业用途。

基于 Flutter 开发的 ComfyUI 移动端客户端,旨在远程连接部署的comfyui,在手机端进行运行简单工作流,远程参数调节、执行监控及图片查看功能。

主要功能

1. 工作流与参数管理

  • JSON 导入:支持导入 ComfyUI API 格式的 .json 工作流文件。
  • 参数编辑器
    • 动态解析:遍历工作流节点,支持数值、布尔值、文本等基础类型的编辑。
    • 模型同步:通过 object_info 接口获取服务器模型/LoRA 列表,实现下拉菜单选择。
    • 图像上传:支持调用系统文件选择器上传本地图片至服务器。
    • 种子逻辑:支持固定、增加、减少、随机四种种子处理模式。
  • 自动保存:任务提交前自动持久化当前参数修改。

2. 实时执行追踪

  • WebSocket 联动:建立长连接,监听 executingprogress 事件。
  • 进度反馈:工作流卡片内嵌进度条,显示当前运行节点名称及具体步数。
  • 实时预览:支持 WebSocket 二进制预览图显示。
  • 状态找回:监听应用生命周期,在回到前台时自动同步丢失的执行状态。

3. 图片与历史管理

  • 双写存储:生成的图片保存至应用私有目录(用于 UI 快速加载)并导出至系统相册。
  • 本地图库:基于本地文件系统加载图片,支持全屏滑动查看及 Hero 转场。
  • 历史记录:SQLite 存储执行任务,支持标签化参数查看及单项复制。支持本地与云端同步删除。

技术实现方案

  • 通讯层
    • 使用 Dio 处理 RESTful API 请求(队列提交、模型获取、历史查询)。
    • 使用 web_socket_channel 处理双向实时通讯,同步 clientId 以确保消息路由准确。
  • 状态管理
    • 采用 Provider 模式。WorkflowProvider 负责核心逻辑,并通过 ChangeNotifierProxyProviderHistoryProvider 实现数据联动。
  • 持久化
    • sqflite (SQLite) 维护工作流库及执行历史。
    • shared_preferences 存储服务器地址及主题偏好。
  • 安卓适配
    • 分区存储:通过 saver_gallery 插件调用 MediaStore API,解决 Android 11+ 的公共目录写入限制。
    • 动态权限:集成 permission_handler 处理不同安卓版本的媒体访问权限。
  • UI 架构
    • 采用 CustomScrollViewSliverAppBar 实现苹果风格的滚动沉浸感。
    • 自定义 GlassContainer 组件实现毛玻璃磨砂效果。

环境要求

  1. ComfyUI 服务端启动参数需包含 --listen
  2. 移动端设备与服务器需处于同一局域网环境。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors