## File: README.md

# ComfyUI Launcher (comfyui-starter)

For Comfyui

## Install the dependencies
```bash
yarn
# or
npm install
```

### Start the app in development mode (hot-code reloading, error reporting, etc.)
```bash
quasar dev
```


### Lint the files
```bash
yarn lint
# or
npm run lint
```


### Format the files
```bash
yarn format
# or
npm run format
```



### Build the app for production
```bash
quasar build
```

### Customize the configuration
See [Configuring quasar.config.js](https://v2.quasar.dev/quasar-cli-vite/quasar-config-js).

---

## File: package.json

{
  "name": "comfyui-starter",
  "version": "0.0.1",
  "description": "For Comfyui",
  "productName": "ComfyUI Launcher",
  "author": "Sai <kldtks@live.com>",
  "private": true,
  "scripts": {
    "lint": "eslint --ext .js,.ts,.vue ./",
    "format": "prettier --write \"**/*.{js,ts,vue,scss,html,md,json}\" --ignore-path .gitignore",
    "test": "echo \"No test specified\" && exit 0",
    "dev": "quasar dev",
    "build": "quasar build",
    "dev:server": "cd server && npm run dev",
    "dev:all": "concurrently \"npm run dev\" \"npm run dev:server\"",
    "install:all": "npm install && cd server && npm install",
    "proxy": "node --no-warnings proxy/proxy.ts"
  },
  "dependencies": {
    "@quasar/extras": "^1.16.4",
    "@types/fs-extra": "^11.0.4",
    "@types/uuid": "^10.0.0",
    "@yeger/vue-masonry-wall": "^5.0.18",
    "express": "^5.1.0",
    "fs-extra": "^11.3.0",
    "http-proxy": "^1.18.1",
    "http-proxy-middleware": "^3.0.5",
    "quasar": "^2.8.0",
    "superagent": "^10.1.1",
    "uuid": "^11.1.0",
    "vue": "^3.4.18",
    "vue-i18n": "^9.14.4",
    "vue-router": "^4.0.12",
    "vue-waterfall2": "^1.10.9"
  },
  "devDependencies": {
    "@quasar/app-vite": "^1.8.0",
    "@types/http-proxy": "^1.17.16",
    "@types/lodash": "^4.17.16",
    "@types/node": "^12.20.21",
    "@types/superagent": "^8.1.9",
    "@typescript-eslint/eslint-plugin": "^5.10.0",
    "@typescript-eslint/parser": "^5.10.0",
    "autoprefixer": "^10.4.2",
    "concurrently": "^9.1.2",
    "eslint": "^8.11.0",
    "eslint-config-prettier": "^8.1.0",
    "eslint-plugin-vue": "^9.0.0",
    "prettier": "^2.5.1",
    "typescript": "^4.5.4",
    "vite-plugin-checker": "^0.6.4",
    "vue-tsc": "^1.8.22"
  },
  "engines": {
    "node": "^20 || ^18 || ^16",
    "npm": ">= 6.13.4",
    "yarn": ">= 1.21.1"
  }
}

---

## File: tsconfig.json

{
  "extends": "@quasar/app-vite/tsconfig-preset",
  "compilerOptions": {
    "baseUrl": ".",
    "esModuleInterop": true
  },
  "include": [
    "src/**/*.ts",
    "src/**/*.d.ts",
    "src/**/*.tsx",
    "src/**/*.vue"
  ],
  "exclude": [
    "./dist",
    "./.quasar",
    "./node_modules",
    "./src-capacitor",
    "./src-cordova",
    "./quasar.config.*.temporary.compiled*",
    "server/**/*"
  ]
}

---

## File: tsconfig.vue-tsc.json

{
  "extends": "./tsconfig.json",
  "compilerOptions": {
    "skipLibCheck": true
  }
}

---

## File: resource/CG-mi-framepack-workflow.json

{
  "id": "ce2cb810-7775-4564-8928-dd5bed1053cd",
  "revision": 0,
  "last_node_id": 55,
  "last_link_id": 132,
  "nodes": [
    {
      "id": 15,
      "type": "ConditioningZeroOut",
      "pos": [
        1359.6239013671875,
        413.14434814453125
      ],
      "size": [
        317.4000244140625,
        26
      ],
      "flags": {
        "collapsed": true
      },
      "order": 9,
      "mode": 0,
      "inputs": [
        {
          "label": "条件",
          "name": "conditioning",
          "type": "CONDITIONING",
          "link": 118
        }
      ],
      "outputs": [
        {
          "label": "条件",
          "name": "CONDITIONING",
          "type": "CONDITIONING",
          "links": [
            108
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "ConditioningZeroOut",
        "cnr_id": "comfy-core",
        "ver": "0.3.28"
      },
      "widgets_values": [],
      "color": "#332922",
      "bgcolor": "#593930"
    },
    {
      "id": 18,
      "type": "CLIPVisionLoader",
      "pos": [
        779.6925659179688,
        309.6378479003906
      ],
      "size": [
        388.87139892578125,
        58
      ],
      "flags": {},
      "order": 0,
      "mode": 0,
      "inputs": [],
      "outputs": [
        {
          "label": "CLIP视觉",
          "name": "CLIP_VISION",
          "type": "CLIP_VISION",
          "links": [
            18
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "CLIPVisionLoader",
        "cnr_id": "comfy-core",
        "ver": "0.3.28"
      },
      "widgets_values": [
        "sigclip_vision_patch14_384.safetensors"
      ],
      "color": "#2a363b",
      "bgcolor": "#3f5159"
    },
    {
      "id": 44,
      "type": "GetImageSizeAndCount",
      "pos": [
        2331.84130859375,
        389.1224670410156
      ],
      "size": [
        277.20001220703125,
        86
      ],
      "flags": {},
      "order": 15,
      "mode": 0,
      "inputs": [
        {
          "label": "图像",
          "name": "image",
          "type": "IMAGE",
          "link": 96
        }
      ],
      "outputs": [
        {
          "label": "图像",
          "name": "image",
          "type": "IMAGE",
          "links": [
            97
          ]
        },
        {
          "label": "宽度",
          "name": "width",
          "type": "INT",
          "links": null
        },
        {
          "label": "高度",
          "name": "height",
          "type": "INT",
          "links": null
        },
        {
          "label": "数量",
          "name": "count",
          "type": "INT",
          "links": null
        }
      ],
      "properties": {
        "Node name for S&R": "GetImageSizeAndCount",
        "cnr_id": "comfyui-kjnodes",
        "ver": "8ecf5cd05e0a1012087b0da90eea9a13674668db"
      },
      "widgets_values": []
    },
    {
      "id": 33,
      "type": "VAEDecodeTiled",
      "pos": [
        2300.33349609375,
        175.8385009765625
      ],
      "size": [
        315,
        150
      ],
      "flags": {},
      "order": 14,
      "mode": 0,
      "inputs": [
        {
          "label": "Latent",
          "name": "samples",
          "type": "LATENT",
          "link": 85
        },
        {
          "label": "VAE",
          "name": "vae",
          "type": "VAE",
          "link": 62
        }
      ],
      "outputs": [
        {
          "label": "图像",
          "name": "IMAGE",
          "type": "IMAGE",
          "links": [
            96
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "VAEDecodeTiled",
        "cnr_id": "comfy-core",
        "ver": "0.3.28"
      },
      "widgets_values": [
        256,
        64,
        64,
        8
      ],
      "color": "#322",
      "bgcolor": "#533"
    },
    {
      "id": 23,
      "type": "VHS_VideoCombine",
      "pos": [
        2673.558837890625,
        158.53065490722656
      ],
      "size": [
        465.489990234375,
        334
      ],
      "flags": {},
      "order": 16,
      "mode": 0,
      "inputs": [
        {
          "label": "图像",
          "name": "images",
          "type": "IMAGE",
          "link": 97
        },
        {
          "label": "音频",
          "name": "audio",
          "shape": 7,
          "type": "AUDIO",
          "link": null
        },
        {
          "label": "批次管理",
          "name": "meta_batch",
          "shape": 7,
          "type": "VHS_BatchManager",
          "link": null
        },
        {
          "name": "vae",
          "shape": 7,
          "type": "VAE",
          "link": null
        }
      ],
      "outputs": [
        {
          "label": "文件名",
          "name": "Filenames",
          "type": "VHS_FILENAMES",
          "links": null
        }
      ],
      "properties": {
        "Node name for S&R": "VHS_VideoCombine",
        "cnr_id": "comfyui-videohelpersuite",
        "ver": "0a75c7958fe320efcb052f1d9f8451fd20c730a8"
      },
      "widgets_values": {
        "frame_rate": 24,
        "loop_count": 0,
        "filename_prefix": "FramePack",
        "format": "video/h264-mp4",
        "pix_fmt": "yuv420p",
        "crf": 19,
        "save_metadata": true,
        "trim_to_audio": false,
        "pingpong": false,
        "save_output": false,
        "videopreview": {
          "hidden": false,
          "paused": false,
          "params": {
            "filename": "FramePack_00057.mp4",
            "subfolder": "",
            "type": "temp",
            "format": "video/h264-mp4",
            "frame_rate": 24,
            "workflow": "FramePack_00057.png",
            "fullpath": "N:\\AI\\ComfyUI\\temp\\FramePack_00057.mp4"
          }
        }
      }
    },
    {
      "id": 12,
      "type": "VAELoader",
      "pos": [
        804.08935546875,
        437.8368225097656
      ],
      "size": [
        357.0739440917969,
        62.96092224121094
      ],
      "flags": {},
      "order": 1,
      "mode": 0,
      "inputs": [],
      "outputs": [
        {
          "name": "VAE",
          "type": "VAE",
          "links": [
            22,
            62
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "VAELoader",
        "cnr_id": "comfy-core",
        "ver": "0.3.28"
      },
      "widgets_values": [
        "hunyuan_video_vae_bf16.safetensors"
      ],
      "color": "#322",
      "bgcolor": "#533"
    },
    {
      "id": 19,
      "type": "LoadImage",
      "pos": [
        642.1781005859375,
        627.000244140625
      ],
      "size": [
        315,
        314
      ],
      "flags": {},
      "order": 2,
      "mode": 0,
      "inputs": [],
      "outputs": [
        {
          "label": "图像",
          "name": "IMAGE",
          "type": "IMAGE",
          "links": [
            122,
            126
          ]
        },
        {
          "label": "遮罩",
          "name": "MASK",
          "type": "MASK",
          "links": null
        }
      ],
      "properties": {
        "Node name for S&R": "LoadImage",
        "cnr_id": "comfy-core",
        "ver": "0.3.28"
      },
      "widgets_values": [
        "ma.png",
        "image",
        ""
      ]
    },
    {
      "id": 54,
      "type": "DownloadAndLoadFramePackModel",
      "pos": [
        870.66064453125,
        -344.41046142578125
      ],
      "size": [
        315,
        130
      ],
      "flags": {},
      "order": 3,
      "mode": 0,
      "inputs": [
        {
          "label": "compile_args",
          "name": "compile_args",
          "shape": 7,
          "type": "FRAMEPACKCOMPILEARGS",
          "link": null
        }
      ],
      "outputs": [
        {
          "label": "model",
          "name": "model",
          "type": "FramePackMODEL",
          "links": []
        }
      ],
      "properties": {
        "Node name for S&R": "DownloadAndLoadFramePackModel",
        "aux_id": "kijai/ComfyUI-FramePackWrapper",
        "ver": "49fe507eca8246cc9d08a8093892f40c1180e88f"
      },
      "widgets_values": [
        "lllyasviel/FramePackI2V_HY",
        "bf16",
        "disabled",
        "sdpa"
      ]
    },
    {
      "id": 13,
      "type": "DualCLIPLoader",
      "pos": [
        831.2967529296875,
        107.72777557373047
      ],
      "size": [
        340.2243957519531,
        130
      ],
      "flags": {},
      "order": 4,
      "mode": 0,
      "inputs": [],
      "outputs": [
        {
          "label": "CLIP",
          "name": "CLIP",
          "type": "CLIP",
          "links": [
            102
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "DualCLIPLoader",
        "cnr_id": "comfy-core",
        "ver": "0.3.28"
      },
      "widgets_values": [
        "clip_l.safetensors",
        "llava_llama3_fp8_scaled.safetensors",
        "hunyuan_video",
        "default"
      ],
      "color": "#432",
      "bgcolor": "#653"
    },
    {
      "id": 51,
      "type": "FramePackFindNearestBucket",
      "pos": [
        1001.2518920898438,
        620.40625
      ],
      "size": [
        315,
        78
      ],
      "flags": {},
      "order": 6,
      "mode": 0,
      "inputs": [
        {
          "label": "image",
          "name": "image",
          "type": "IMAGE",
          "link": 126
        }
      ],
      "outputs": [
        {
          "label": "width",
          "name": "width",
          "type": "INT",
          "links": [
            128
          ]
        },
        {
          "label": "height",
          "name": "height",
          "type": "INT",
          "links": [
            127
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "FramePackFindNearestBucket",
        "aux_id": "kijai/ComfyUI-FramePackWrapper",
        "ver": "4f9030a9f4c0bd67d86adf3d3dc07e37118c40bd"
      },
      "widgets_values": [
        640
      ]
    },
    {
      "id": 50,
      "type": "ImageResize+",
      "pos": [
        1020.7596435546875,
        764.3931274414062
      ],
      "size": [
        315,
        218
      ],
      "flags": {},
      "order": 8,
      "mode": 0,
      "inputs": [
        {
          "label": "图像",
          "name": "image",
          "type": "IMAGE",
          "link": 122
        },
        {
          "label": "宽度",
          "name": "width",
          "type": "INT",
          "widget": {
            "name": "width"
          },
          "link": 128
        },
        {
          "label": "高度",
          "name": "height",
          "type": "INT",
          "widget": {
            "name": "height"
          },
          "link": 127
        }
      ],
      "outputs": [
        {
          "label": "图像",
          "name": "IMAGE",
          "type": "IMAGE",
          "links": [
            125
          ]
        },
        {
          "label": "宽度",
          "name": "width",
          "type": "INT",
          "links": null
        },
        {
          "label": "高度",
          "name": "height",
          "type": "INT",
          "links": null
        }
      ],
      "properties": {
        "Node name for S&R": "ImageResize+",
        "aux_id": "kijai/ComfyUI_essentials",
        "ver": "76e9d1e4399bd025ce8b12c290753d58f9f53e93"
      },
      "widgets_values": [
        512,
        512,
        "lanczos",
        "stretch",
        "always",
        0
      ]
    },
    {
      "id": 20,
      "type": "VAEEncode",
      "pos": [
        1419.9923095703125,
        937.7241821289062
      ],
      "size": [
        210,
        46
      ],
      "flags": {},
      "order": 12,
      "mode": 0,
      "inputs": [
        {
          "label": "图像",
          "name": "pixels",
          "type": "IMAGE",
          "link": 117
        },
        {
          "label": "VAE",
          "name": "vae",
          "type": "VAE",
          "link": 22
        }
      ],
      "outputs": [
        {
          "label": "Latent",
          "name": "LATENT",
          "type": "LATENT",
          "links": [
            86
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "VAEEncode",
        "cnr_id": "comfy-core",
        "ver": "0.3.28"
      },
      "widgets_values": [],
      "color": "#322",
      "bgcolor": "#533"
    },
    {
      "id": 48,
      "type": "GetImageSizeAndCount",
      "pos": [
        1411.92236328125,
        785.9832153320312
      ],
      "size": [
        277.20001220703125,
        86
      ],
      "flags": {},
      "order": 10,
      "mode": 0,
      "inputs": [
        {
          "label": "图像",
          "name": "image",
          "type": "IMAGE",
          "link": 125
        }
      ],
      "outputs": [
        {
          "label": "图像",
          "name": "image",
          "type": "IMAGE",
          "links": [
            116,
            117
          ]
        },
        {
          "label": "宽度",
          "name": "width",
          "type": "INT",
          "links": null
        },
        {
          "label": "高度",
          "name": "height",
          "type": "INT",
          "links": null
        },
        {
          "label": "数量",
          "name": "count",
          "type": "INT",
          "links": null
        }
      ],
      "properties": {
        "Node name for S&R": "GetImageSizeAndCount",
        "cnr_id": "comfyui-kjnodes",
        "ver": "8ecf5cd05e0a1012087b0da90eea9a13674668db"
      },
      "widgets_values": []
    },
    {
      "id": 17,
      "type": "CLIPVisionEncode",
      "pos": [
        1386.59912109375,
        627.5809326171875
      ],
      "size": [
        380.4000244140625,
        78
      ],
      "flags": {},
      "order": 11,
      "mode": 0,
      "inputs": [
        {
          "label": "CLIP视觉",
          "name": "clip_vision",
          "type": "CLIP_VISION",
          "link": 18
        },
        {
          "label": "图像",
          "name": "image",
          "type": "IMAGE",
          "link": 116
        }
      ],
      "outputs": [
        {
          "label": "CLIP视觉输出",
          "name": "CLIP_VISION_OUTPUT",
          "type": "CLIP_VISION_OUTPUT",
          "links": [
            83
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "CLIPVisionEncode",
        "cnr_id": "comfy-core",
        "ver": "0.3.28"
      },
      "widgets_values": [
        "center"
      ],
      "color": "#233",
      "bgcolor": "#355"
    },
    {
      "id": 47,
      "type": "CLIPTextEncode",
      "pos": [
        1264.9036865234375,
        294.3150329589844
      ],
      "size": [
        400,
        200
      ],
      "flags": {},
      "order": 7,
      "mode": 0,
      "inputs": [
        {
          "label": "CLIP",
          "name": "clip",
          "type": "CLIP",
          "link": 102
        }
      ],
      "outputs": [
        {
          "label": "条件",
          "name": "CONDITIONING",
          "type": "CONDITIONING",
          "links": [
            114,
            118
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "CLIPTextEncode",
        "cnr_id": "comfy-core",
        "ver": "0.3.28"
      },
      "widgets_values": [
        "old man gets up and takes a walk on the beach",
        [
          false,
          true
        ]
      ],
      "color": "#232",
      "bgcolor": "#353"
    },
    {
      "id": 52,
      "type": "LoadFramePackModel",
      "pos": [
        772.7592163085938,
        -141.0799560546875
      ],
      "size": [
        426.1900329589844,
        132.12606811523438
      ],
      "flags": {},
      "order": 5,
      "mode": 0,
      "inputs": [
        {
          "label": "compile_args",
          "name": "compile_args",
          "shape": 7,
          "type": "FRAMEPACKCOMPILEARGS",
          "link": null
        }
      ],
      "outputs": [
        {
          "label": "model",
          "name": "model",
          "type": "FramePackMODEL",
          "links": [
            132
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "LoadFramePackModel",
        "aux_id": "kijai/ComfyUI-FramePackWrapper",
        "ver": "49fe507eca8246cc9d08a8093892f40c1180e88f"
      },
      "widgets_values": [
        "Hyvid\\FramePackI2V_HY_fp8_e4m3fn.safetensors",
        "bf16",
        "fp8_e4m3fn",
        "sdpa"
      ]
    },
    {
      "id": 39,
      "type": "FramePackSampler",
      "pos": [
        1822.7847900390625,
        167.60594177246094
      ],
      "size": [
        393,
        852.631591796875
      ],
      "flags": {},
      "order": 13,
      "mode": 0,
      "inputs": [
        {
          "label": "model",
          "name": "model",
          "type": "FramePackMODEL",
          "link": 132
        },
        {
          "label": "positive",
          "name": "positive",
          "type": "CONDITIONING",
          "link": 114
        },
        {
          "label": "negative",
          "name": "negative",
          "type": "CONDITIONING",
          "link": 108
        },
        {
          "label": "image_embeds",
          "name": "image_embeds",
          "type": "CLIP_VISION_OUTPUT",
          "link": 83
        },
        {
          "label": "start_latent",
          "name": "start_latent",
          "shape": 7,
          "type": "LATENT",
          "link": 86
        },
        {
          "label": "initial_samples",
          "name": "initial_samples",
          "shape": 7,
          "type": "LATENT",
          "link": null
        }
      ],
      "outputs": [
        {
          "label": "samples",
          "name": "samples",
          "type": "LATENT",
          "links": [
            85
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "FramePackSampler",
        "aux_id": "kijai/ComfyUI-FramePackWrapper",
        "ver": "8e5ec6b7f3acf88255c5d93d062079f18b43aa2b"
      },
      "widgets_values": [
        24,
        true,
        0.15,
        1,
        10,
        0,
        47,
        "fixed",
        9,
        4,
        6,
        "unipc_bh1",
        1
      ]
    }
  ],
  "links": [
    [
      18,
      18,
      0,
      17,
      0,
      "CLIP_VISION"
    ],
    [
      22,
      12,
      0,
      20,
      1,
      "VAE"
    ],
    [
      62,
      12,
      0,
      33,
      1,
      "VAE"
    ],
    [
      83,
      17,
      0,
      39,
      3,
      "CLIP_VISION_OUTPUT"
    ],
    [
      85,
      39,
      0,
      33,
      0,
      "LATENT"
    ],
    [
      86,
      20,
      0,
      39,
      4,
      "LATENT"
    ],
    [
      96,
      33,
      0,
      44,
      0,
      "IMAGE"
    ],
    [
      97,
      44,
      0,
      23,
      0,
      "IMAGE"
    ],
    [
      102,
      13,
      0,
      47,
      0,
      "CLIP"
    ],
    [
      108,
      15,
      0,
      39,
      2,
      "CONDITIONING"
    ],
    [
      114,
      47,
      0,
      39,
      1,
      "CONDITIONING"
    ],
    [
      116,
      48,
      0,
      17,
      1,
      "IMAGE"
    ],
    [
      117,
      48,
      0,
      20,
      0,
      "IMAGE"
    ],
    [
      118,
      47,
      0,
      15,
      0,
      "CONDITIONING"
    ],
    [
      122,
      19,
      0,
      50,
      0,
      "IMAGE"
    ],
    [
      125,
      50,
      0,
      48,
      0,
      "IMAGE"
    ],
    [
      126,
      19,
      0,
      51,
      0,
      "IMAGE"
    ],
    [
      127,
      51,
      1,
      50,
      2,
      "INT"
    ],
    [
      128,
      51,
      0,
      50,
      1,
      "INT"
    ],
    [
      132,
      52,
      0,
      39,
      0,
      "FramePackMODEL"
    ]
  ],
  "groups": [
    {
      "id": 1,
      "title": "主模型选择",
      "bounding": [
        762.7592163085938,
        -418.0104675292969,
        446.1900634765625,
        419.05657958984375
      ],
      "color": "#3f789e",
      "font_size": 24,
      "flags": {}
    },
    {
      "id": 2,
      "title": "CLIP+VAE",
      "bounding": [
        769.6925659179688,
        34.12776184082031,
        435.9244384765625,
        480.2134094238281
      ],
      "color": "#3f789e",
      "font_size": 24,
      "flags": {}
    },
    {
      "id": 3,
      "title": "图片上传",
      "bounding": [
        632.1781005859375,
        553.4002685546875,
        335,
        397.6000061035156
      ],
      "color": "#3f789e",
      "font_size": 24,
      "flags": {}
    },
    {
      "id": 4,
      "title": "处理模块",
      "bounding": [
        991.2518920898438,
        546.8062744140625,
        785.7472534179688,
        446.9179382324219
      ],
      "color": "#3f789e",
      "font_size": 24,
      "flags": {}
    },
    {
      "id": 5,
      "title": "提示词输入",
      "bounding": [
        1254.9036865234375,
        220.71507263183594,
        420,
        283.5999755859375
      ],
      "color": "#3f789e",
      "font_size": 24,
      "flags": {}
    }
  ],
  "config": {},
  "extra": {
    "ds": {
      "scale": 0.6980976971903322,
      "offset": [
        -265.4172385867073,
        114.19650354081797
      ]
    },
    "frontendVersion": "1.16.7",
    "VHS_latentpreview": false,
    "VHS_latentpreviewrate": 0,
    "VHS_MetadataImage": true,
    "VHS_KeepIntermediate": true,
    "node_versions": {
      "comfy-core": "0.3.27",
      "comfyui-KJNodes": "9a3434ffa335a16949aa4c3196a2cd37ba7b4876",
      "comfyui-VideoHelperSuite": "f7369389620ff244ddd6086cf0fa792a569086f2",
      "comfyui_essentials": "33ff89fd354d8ec3ab6affb605a79a931b445d99"
    },
    "ue_links": []
  },
  "version": 0.4
}

---

## File: server/package.json

{
  "name": "comfyui-manager-server",
  "version": "1.0.0",
  "description": "ComfyUI管理器后端服务",
  "main": "dist/index.js",
  "scripts": {
    "build": "tsc",
    "start": "node dist/index.js",
    "dev": "ts-node src/index.ts",
    "watch": "nodemon --exec ts-node src/index.ts"
  },
  "dependencies": {
    "@koa/cors": "^4.0.0",
    "@koa/router": "^12.0.2",
    "http-proxy": "^1.18.1",
    "koa": "^2.16.0",
    "koa-bodyparser": "^4.4.1",
    "uuid": "^9.0.1",

    "@types/http-proxy": "^1.17.14",
    "@types/i18next": "^12.1.0",
    "@types/i18next-fs-backend": "^1.1.5",
    "@types/koa": "^2.15.0",
    "@types/koa__cors": "^4.0.3",
    "@types/koa__router": "^12.0.4",
    "@types/koa-bodyparser": "^4.3.12",
    "@types/node": "^20.4.5",
    "@types/uuid": "^9.0.8",
    "i18next": "^24.2.3",
    "i18next-fs-backend": "^2.6.0",
    "nodemon": "^3.0.1",
    "ts-node": "^10.9.1",
    "typescript": "^5.1.6"
  },
  "devDependencies": {
    "@types/http-proxy": "^1.17.14",
    "@types/i18next": "^12.1.0",
    "@types/i18next-fs-backend": "^1.1.5",
    "@types/koa": "^2.15.0",
    "@types/koa__cors": "^4.0.3",
    "@types/koa__router": "^12.0.4",
    "@types/koa-bodyparser": "^4.3.12",
    "@types/node": "^20.4.5",
    "@types/uuid": "^9.0.8",
    "i18next": "^24.2.3",
    "i18next-fs-backend": "^2.6.0",
    "nodemon": "^3.0.1",
    "ts-node": "^10.9.1",
    "typescript": "^5.1.6"
  }
}

---

## File: server/tsconfig.json

{
  "compilerOptions": {
    "target": "ES2020",
    "module": "commonjs",
    "outDir": "./dist",
    "rootDir": "./src",
    "strict": true,
    "esModuleInterop": true,
    "skipLibCheck": true,
    "forceConsistentCasingInFileNames": true
  },
  "include": ["src/**/*"],
  "exclude": ["node_modules", "dist"]
}

---

## File: server/.comfyui-manager-history.json

[
  {
    "id": "4424118b-e6f5-4e83-a200-2216c5ec02e4",
    "pluginId": "comfyui-impact-subpack",
    "type": "install",
    "startTime": 1756791005802,
    "status": "running",
    "logs": [
      "[9/2/2025, 1:30:05 PM] 开始安装插件 comfyui-impact-subpack",
      "[9/2/2025, 1:30:05 PM] 正在查找插件信息...",
      "[9/2/2025, 1:30:05 PM] 找到插件: {\"id\":\"comfyui-impact-subpack\",\"name\":\"comfyui-impact-subpack\",\"install_type\":\"git-clone\",\"github\":\"https://github.com/example/comfyui-impact-subpack\",\"files\":[]}",
      "[9/2/2025, 1:30:05 PM] 准备安装...",
      "[9/2/2025, 1:30:05 PM] 正在下载插件...",
      "[9/2/2025, 1:30:05 PM] 执行: git clone \"http://gh-proxy.com/https://github.com/example/comfyui-impact-subpack\" \"/Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/comfyui-impact-subpack\"",
      "[9/2/2025, 2:49:44 PM] Git克隆失败: Error: Command failed: git clone \"http://gh-proxy.com/https://github.com/example/comfyui-impact-subpack\" \"/Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/comfyui-impact-subpack\"\nCloning into '/Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/comfyui-impact-subpack'...\nremote: Repository not found.\nfatal: Authentication failed for 'https://hub.glowp.xyz/https:/github.com/example/comfyui-impact-subpack/'\n",
      "[9/2/2025, 2:49:44 PM] 尝试备用方式: git clone \"http://gh-proxy.com/https://github.com/example/comfyui-impact-subpack\" \"/Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/comfyui-impact-subpack\""
    ],
    "githubProxy": "http://gh-proxy.com/https://github.com/"
  },
  {
    "id": "36157e1e-13d6-45fe-96c4-c4673a620a0b",
    "pluginId": "ComfyUI-nunchaku",
    "type": "install",
    "startTime": 1746704228452,
    "status": "success",
    "logs": [
      "[5/8/2025, 7:37:08 PM] 开始安装插件 ComfyUI-nunchaku",
      "[5/8/2025, 7:37:08 PM] 开始从资源包安装插件: https://github.com/mit-han-lab/ComfyUI-nunchaku (分支: main)",
      "[5/8/2025, 7:37:08 PM] 正在下载插件...",
      "[5/8/2025, 7:37:08 PM] 执行: git clone --branch main \"http://gh-proxy.com/https://github.com/mit-han-lab/ComfyUI-nunchaku\" \"/Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/ComfyUI-nunchaku\"",
      "[5/8/2025, 7:37:11 PM] Git错误: Cloning into '/Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/ComfyUI-nunchaku'...\nwarning: redirecting to https://gh-proxy.com/https://github.com/mit-han-lab/ComfyUI-nunchaku/\n",
      "[5/8/2025, 7:37:11 PM] 开发环境：跳过依赖安装",
      "[5/8/2025, 7:37:11 PM] 插件安装完成于 5/8/2025, 7:37:11 PM"
    ],
    "endTime": 1746704231472,
    "result": "从GitHub安装完成: https://github.com/mit-han-lab/ComfyUI-nunchaku"
  },
  {
    "id": "ef9d2eb2-3bd6-428d-acc6-f2fcbca115e2",
    "pluginId": "comfyui-impact-pack",
    "pluginName": "ComfyUI Impact Pack",
    "type": "enable",
    "startTime": 1744951619384,
    "status": "success",
    "logs": [
      "[4/18/2025, 12:46:59 PM] 开始启用插件 comfyui-impact-pack",
      "[4/18/2025, 12:46:59 PM] 准备启用...",
      "[4/18/2025, 12:46:59 PM] 正在移动插件到启用目录: /Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/.disabled/comfyui-impact-pack -> /Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/comfyui-impact-pack",
      "[4/18/2025, 12:46:59 PM] 启用完成于 4/18/2025, 12:46:59 PM"
    ],
    "endTime": 1744951619388,
    "result": "启用完成于 4/18/2025, 12:46:59 PM"
  },
  {
    "id": "217e80b3-3d8b-494c-a437-7f965b1e8aa3",
    "pluginId": "comfyui-impact-pack",
    "pluginName": "ComfyUI Impact Pack",
    "type": "disable",
    "startTime": 1744951617395,
    "status": "success",
    "logs": [
      "[4/18/2025, 12:46:57 PM] 开始禁用插件 comfyui-impact-pack",
      "[4/18/2025, 12:46:57 PM] 准备禁用...",
      "[4/18/2025, 12:46:57 PM] 正在移动插件到禁用目录: /Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/comfyui-impact-pack -> /Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/.disabled/comfyui-impact-pack",
      "[4/18/2025, 12:46:57 PM] 禁用完成于 4/18/2025, 12:46:57 PM"
    ],
    "endTime": 1744951617397,
    "result": "禁用完成于 4/18/2025, 12:46:57 PM"
  },
  {
    "id": "307ea520-ce6f-4fa8-a720-e9c16be7e49c",
    "pluginId": "comfyui-impact-pack",
    "pluginName": "ComfyUI Impact Pack",
    "type": "install",
    "startTime": 1744951603393,
    "status": "success",
    "logs": [
      "[4/18/2025, 12:46:43 PM] 开始安装插件 comfyui-impact-pack",
      "[4/18/2025, 12:46:43 PM] 正在查找插件信息...",
      "[4/18/2025, 12:46:43 PM] 找到插件: {\"id\":\"comfyui-impact-pack\",\"name\":\"ComfyUI Impact Pack\",\"description\":\"This node pack offers various detector nodes and detailer nodes that allow you to configure a workflow that automatically enhances facial details. And provide iterative upscaler.\\nNOTE: To use the UltralyticsDetectorProvider, you must install the 'ComfyUI Impact Subpack' separately.\",\"version\":\"未知\",\"author\":\"Dr.Lt.Data\",\"github\":\"https://github.com/ltdrdata/ComfyUI-Impact-Pack\",\"install_type\":\"git-clone\",\"tags\":[],\"stars\":0,\"installed\":false,\"disabled\":false,\"installedOn\":\"2025-04-18T04:44:30.754Z\"}",
      "[4/18/2025, 12:46:43 PM] 准备安装...",
      "[4/18/2025, 12:46:43 PM] 正在下载插件...",
      "[4/18/2025, 12:46:43 PM] 执行: git clone \"http://gh-proxy.com/https://github.com/ltdrdata/ComfyUI-Impact-Pack\" \"/Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/comfyui-impact-pack\"",
      "[4/18/2025, 12:46:54 PM] Git错误: Cloning into '/Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/comfyui-impact-pack'...\nwarning: redirecting to https://gh-proxy.com/https://github.com/ltdrdata/ComfyUI-Impact-Pack/\n",
      "[4/18/2025, 12:46:54 PM] 开发环境：跳过依赖安装",
      "[4/18/2025, 12:46:54 PM] 安装完成于 4/18/2025, 12:46:54 PM"
    ],
    "githubProxy": "http://gh-proxy.com/https://github.com/",
    "endTime": 1744951614870,
    "result": "安装完成于 4/18/2025, 12:46:54 PM"
  },
  {
    "id": "b4e4dd5b-41b2-47e1-922c-05ceb4a26fa4",
    "pluginId": "comfyui-impact-subpack",
    "pluginName": "ComfyUI Impact Subpack",
    "type": "uninstall",
    "startTime": 1744951600920,
    "status": "success",
    "logs": [
      "[4/18/2025, 12:46:40 PM] 开始卸载插件 comfyui-impact-subpack",
      "[4/18/2025, 12:46:40 PM] 准备卸载...",
      "[4/18/2025, 12:46:40 PM] 正在卸载插件...",
      "[4/18/2025, 12:46:40 PM] 已删除插件目录: /Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/comfyui-impact-subpack",
      "[4/18/2025, 12:46:40 PM] 清理临时文件...",
      "[4/18/2025, 12:46:40 PM] 卸载完成于 4/18/2025, 12:46:40 PM"
    ],
    "endTime": 1744951600934,
    "result": "卸载完成于 4/18/2025, 12:46:40 PM"
  },
  {
    "id": "9723acfb-395c-45b2-afbe-2f056ec6d7f4",
    "pluginId": "comfyui-impact-subpack",
    "pluginName": "ComfyUI Impact Subpack",
    "type": "install",
    "startTime": 1744951595782,
    "status": "success",
    "logs": [
      "[4/18/2025, 12:46:35 PM] 开始安装插件 comfyui-impact-subpack",
      "[4/18/2025, 12:46:35 PM] 正在查找插件信息...",
      "[4/18/2025, 12:46:35 PM] 找到插件: {\"id\":\"comfyui-impact-subpack\",\"name\":\"ComfyUI Impact Subpack\",\"description\":\"This node pack provides nodes that complement the Impact Pack, such as the UltralyticsDetectorProvider.\",\"version\":\"未知\",\"author\":\"Dr.Lt.Data\",\"github\":\"https://github.com/ltdrdata/ComfyUI-Impact-Subpack\",\"install_type\":\"git-clone\",\"tags\":[],\"stars\":0,\"installed\":false,\"disabled\":false,\"installedOn\":\"2025-04-18T04:46:28.644Z\"}",
      "[4/18/2025, 12:46:35 PM] 准备安装...",
      "[4/18/2025, 12:46:35 PM] 正在下载插件...",
      "[4/18/2025, 12:46:35 PM] 执行: git clone \"http://gh-proxy.com/https://github.com/ltdrdata/ComfyUI-Impact-Subpack\" \"/Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/comfyui-impact-subpack\"",
      "[4/18/2025, 12:46:39 PM] Git错误: Cloning into '/Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/comfyui-impact-subpack'...\nwarning: redirecting to https://gh-proxy.com/https://github.com/ltdrdata/ComfyUI-Impact-Subpack/\n",
      "[4/18/2025, 12:46:39 PM] 开发环境：跳过依赖安装",
      "[4/18/2025, 12:46:39 PM] 安装完成于 4/18/2025, 12:46:39 PM"
    ],
    "githubProxy": "http://gh-proxy.com/https://github.com/",
    "endTime": 1744951599317,
    "result": "安装完成于 4/18/2025, 12:46:39 PM"
  },
  {
    "id": "4c2d62cf-31c8-4ed7-a289-829908650d4d",
    "pluginId": "comfyui-impact-subpack",
    "pluginName": "ComfyUI Impact Subpack",
    "type": "uninstall",
    "startTime": 1744951594586,
    "status": "success",
    "logs": [
      "[4/18/2025, 12:46:34 PM] 开始卸载插件 comfyui-impact-subpack",
      "[4/18/2025, 12:46:34 PM] 准备卸载...",
      "[4/18/2025, 12:46:34 PM] 正在卸载插件...",
      "[4/18/2025, 12:46:34 PM] 已删除插件目录: /Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/comfyui-impact-subpack",
      "[4/18/2025, 12:46:34 PM] 清理临时文件...",
      "[4/18/2025, 12:46:34 PM] 卸载完成于 4/18/2025, 12:46:34 PM"
    ],
    "endTime": 1744951594595,
    "result": "卸载完成于 4/18/2025, 12:46:34 PM"
  },
  {
    "id": "e171461b-8073-4d6c-a663-990ee57f2847",
    "pluginId": "comfyui-impact-subpack",
    "pluginName": "ComfyUI Impact Subpack",
    "type": "install",
    "startTime": 1744951588617,
    "status": "success",
    "logs": [
      "[4/18/2025, 12:46:28 PM] 开始安装插件 comfyui-impact-subpack",
      "[4/18/2025, 12:46:28 PM] 正在查找插件信息...",
      "[4/18/2025, 12:46:28 PM] 找到插件: {\"id\":\"comfyui-impact-subpack\",\"name\":\"ComfyUI Impact Subpack\",\"description\":\"This node pack provides nodes that complement the Impact Pack, such as the UltralyticsDetectorProvider.\",\"version\":\"未知\",\"author\":\"Dr.Lt.Data\",\"github\":\"https://github.com/ltdrdata/ComfyUI-Impact-Subpack\",\"install_type\":\"git-clone\",\"tags\":[],\"stars\":0,\"installed\":false,\"disabled\":false,\"installedOn\":\"2025-04-18T04:45:23.513Z\"}",
      "[4/18/2025, 12:46:28 PM] 准备安装...",
      "[4/18/2025, 12:46:28 PM] 正在下载插件...",
      "[4/18/2025, 12:46:28 PM] 执行: git clone \"http://gh-proxy.com/https://github.com/ltdrdata/ComfyUI-Impact-Subpack\" \"/Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/comfyui-impact-subpack\"",
      "[4/18/2025, 12:46:31 PM] Git错误: Cloning into '/Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/comfyui-impact-subpack'...\nwarning: redirecting to https://gh-proxy.com/https://github.com/ltdrdata/ComfyUI-Impact-Subpack/\n",
      "[4/18/2025, 12:46:31 PM] 开发环境：跳过依赖安装",
      "[4/18/2025, 12:46:31 PM] 安装完成于 4/18/2025, 12:46:31 PM"
    ],
    "githubProxy": "http://gh-proxy.com/https://github.com/",
    "endTime": 1744951591703,
    "result": "安装完成于 4/18/2025, 12:46:31 PM"
  },
  {
    "id": "157501b2-963f-488f-bd5f-ec4be4e1a412",
    "pluginId": "inspire",
    "pluginName": "ComfyUI Inspire Pack",
    "type": "uninstall",
    "startTime": 1744951531954,
    "status": "success",
    "logs": [
      "[4/18/2025, 12:45:31 PM] 开始卸载插件 inspire",
      "[4/18/2025, 12:45:31 PM] 准备卸载...",
      "[4/18/2025, 12:45:31 PM] 正在卸载插件...",
      "[4/18/2025, 12:45:31 PM] 已删除插件目录: /Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/inspire",
      "[4/18/2025, 12:45:31 PM] 清理临时文件...",
      "[4/18/2025, 12:45:31 PM] 卸载完成于 4/18/2025, 12:45:31 PM"
    ],
    "endTime": 1744951531965,
    "result": "卸载完成于 4/18/2025, 12:45:31 PM"
  },
  {
    "id": "97a15019-7c1b-4ba4-98a1-2b739e53a77a",
    "pluginId": "comfyui-impact-subpack",
    "pluginName": "ComfyUI Impact Subpack",
    "type": "uninstall",
    "startTime": 1744951529127,
    "status": "success",
    "logs": [
      "[4/18/2025, 12:45:29 PM] 开始卸载插件 comfyui-impact-subpack",
      "[4/18/2025, 12:45:29 PM] 准备卸载...",
      "[4/18/2025, 12:45:29 PM] 正在卸载插件...",
      "[4/18/2025, 12:45:29 PM] 已删除插件目录: /Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/comfyui-impact-subpack",
      "[4/18/2025, 12:45:29 PM] 清理临时文件...",
      "[4/18/2025, 12:45:29 PM] 卸载完成于 4/18/2025, 12:45:29 PM"
    ],
    "endTime": 1744951529143,
    "result": "卸载完成于 4/18/2025, 12:45:29 PM"
  },
  {
    "id": "c8cf7c7c-e3c3-4e99-afde-77a89a19c4f1",
    "pluginId": "comfyui-impact-subpack",
    "pluginName": "ComfyUI Impact Subpack",
    "type": "install",
    "startTime": 1744951523457,
    "status": "success",
    "logs": [
      "[4/18/2025, 12:45:23 PM] 开始安装插件 comfyui-impact-subpack",
      "[4/18/2025, 12:45:23 PM] 正在查找插件信息...",
      "[4/18/2025, 12:45:23 PM] 找到插件: {\"id\":\"comfyui-impact-subpack\",\"name\":\"ComfyUI Impact Subpack\",\"description\":\"This node pack provides nodes that complement the Impact Pack, such as the UltralyticsDetectorProvider.\",\"version\":\"未知\",\"author\":\"Dr.Lt.Data\",\"github\":\"https://github.com/ltdrdata/ComfyUI-Impact-Subpack\",\"install_type\":\"git-clone\",\"tags\":[],\"stars\":0,\"installed\":false,\"disabled\":false,\"installedOn\":\"2025-04-18T04:42:16.001Z\"}",
      "[4/18/2025, 12:45:23 PM] 准备安装...",
      "[4/18/2025, 12:45:23 PM] 正在下载插件...",
      "[4/18/2025, 12:45:23 PM] 执行: git clone \"http://gh-proxy.com/https://github.com/ltdrdata/ComfyUI-Impact-Subpack\" \"/Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/comfyui-impact-subpack\"",
      "[4/18/2025, 12:45:27 PM] Git错误: Cloning into '/Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/comfyui-impact-subpack'...\nwarning: redirecting to https://gh-proxy.com/https://github.com/ltdrdata/ComfyUI-Impact-Subpack/\n",
      "[4/18/2025, 12:45:27 PM] 开发环境：跳过依赖安装",
      "[4/18/2025, 12:45:27 PM] 安装完成于 4/18/2025, 12:45:27 PM"
    ],
    "githubProxy": "http://gh-proxy.com/https://github.com/",
    "endTime": 1744951527098,
    "result": "安装完成于 4/18/2025, 12:45:27 PM"
  },
  {
    "id": "e70c94cc-5835-4e55-88ba-a8283ad865bb",
    "pluginId": "inspire",
    "pluginName": "ComfyUI Inspire Pack",
    "type": "install",
    "startTime": 1744951497323,
    "status": "success",
    "logs": [
      "[4/18/2025, 12:44:57 PM] 开始安装插件 inspire",
      "[4/18/2025, 12:44:57 PM] 正在查找插件信息...",
      "[4/18/2025, 12:44:57 PM] 找到插件: {\"id\":\"inspire\",\"name\":\"ComfyUI Inspire Pack\",\"description\":\"This extension provides various nodes to support Lora Block Weight and the Impact Pack. Provides many easily applicable regional features and applications for Variation Seed.\",\"version\":\"未知\",\"author\":\"Dr.Lt.Data\",\"github\":\"https://github.com/ltdrdata/ComfyUI-Inspire-Pack\",\"install_type\":\"git-clone\",\"tags\":[],\"stars\":0,\"installed\":false,\"disabled\":false,\"installedOn\":\"2025-04-18T04:17:07.542Z\"}",
      "[4/18/2025, 12:44:57 PM] 准备安装...",
      "[4/18/2025, 12:44:57 PM] 正在下载插件...",
      "[4/18/2025, 12:44:57 PM] 执行: git clone \"http://gh-proxy.com/https://github.com/ltdrdata/ComfyUI-Inspire-Pack\" \"/Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/inspire\"",
      "[4/18/2025, 12:45:00 PM] Git错误: Cloning into '/Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/inspire'...\nwarning: redirecting to https://gh-proxy.com/https://github.com/ltdrdata/ComfyUI-Inspire-Pack/\n",
      "[4/18/2025, 12:45:00 PM] 开发环境：跳过依赖安装",
      "[4/18/2025, 12:45:00 PM] 安装完成于 4/18/2025, 12:45:00 PM"
    ],
    "githubProxy": "http://gh-proxy.com/https://github.com/",
    "endTime": 1744951500793,
    "result": "安装完成于 4/18/2025, 12:45:00 PM"
  },
  {
    "id": "6a4e1035-bfe9-4727-980b-a3c8ae5a6ec4",
    "pluginId": "comfyui-impact-pack",
    "pluginName": "ComfyUI Impact Pack",
    "type": "uninstall",
    "startTime": 1744951494175,
    "status": "success",
    "logs": [
      "[4/18/2025, 12:44:54 PM] 开始卸载插件 comfyui-impact-pack",
      "[4/18/2025, 12:44:54 PM] 准备卸载...",
      "[4/18/2025, 12:44:54 PM] 正在卸载插件...",
      "[4/18/2025, 12:44:54 PM] 已删除插件目录: /Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/comfyui-impact-pack",
      "[4/18/2025, 12:44:54 PM] 清理临时文件...",
      "[4/18/2025, 12:44:54 PM] 卸载完成于 4/18/2025, 12:44:54 PM"
    ],
    "endTime": 1744951494200,
    "result": "卸载完成于 4/18/2025, 12:44:54 PM"
  },
  {
    "id": "99e4adc0-2f74-4efa-8a3a-4b72a19cfe6d",
    "pluginId": "comfyui-impact-subpack",
    "pluginName": "ComfyUI Impact Subpack",
    "type": "uninstall",
    "startTime": 1744951485506,
    "status": "success",
    "logs": [
      "[4/18/2025, 12:44:45 PM] 开始卸载插件 comfyui-impact-subpack",
      "[4/18/2025, 12:44:45 PM] 准备卸载...",
      "[4/18/2025, 12:44:45 PM] 正在卸载插件...",
      "[4/18/2025, 12:44:45 PM] 已删除插件目录: /Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/comfyui-impact-subpack",
      "[4/18/2025, 12:44:45 PM] 清理临时文件...",
      "[4/18/2025, 12:44:45 PM] 卸载完成于 4/18/2025, 12:44:45 PM"
    ],
    "endTime": 1744951485528,
    "result": "卸载完成于 4/18/2025, 12:44:45 PM"
  },
  {
    "id": "3b9cf892-c7e2-4378-9f28-304128a76559",
    "pluginId": "comfyui-impact-pack",
    "pluginName": "ComfyUI Impact Pack",
    "type": "install",
    "startTime": 1744951470710,
    "status": "success",
    "logs": [
      "[4/18/2025, 12:44:30 PM] 开始安装插件 comfyui-impact-pack",
      "[4/18/2025, 12:44:30 PM] 正在查找插件信息...",
      "[4/18/2025, 12:44:30 PM] 找到插件: {\"id\":\"comfyui-impact-pack\",\"name\":\"ComfyUI Impact Pack\",\"description\":\"This node pack offers various detector nodes and detailer nodes that allow you to configure a workflow that automatically enhances facial details. And provide iterative upscaler.\\nNOTE: To use the UltralyticsDetectorProvider, you must install the 'ComfyUI Impact Subpack' separately.\",\"version\":\"未知\",\"author\":\"Dr.Lt.Data\",\"github\":\"https://github.com/ltdrdata/ComfyUI-Impact-Pack\",\"install_type\":\"git-clone\",\"tags\":[],\"stars\":0,\"installed\":false,\"disabled\":false}",
      "[4/18/2025, 12:44:30 PM] 准备安装...",
      "[4/18/2025, 12:44:30 PM] 正在下载插件...",
      "[4/18/2025, 12:44:30 PM] 执行: git clone \"http://gh-proxy.com/https://github.com/ltdrdata/ComfyUI-Impact-Pack\" \"/Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/comfyui-impact-pack\"",
      "[4/18/2025, 12:44:41 PM] Git错误: Cloning into '/Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/comfyui-impact-pack'...\nwarning: redirecting to https://gh-proxy.com/https://github.com/ltdrdata/ComfyUI-Impact-Pack/\n",
      "[4/18/2025, 12:44:41 PM] 开发环境：跳过依赖安装",
      "[4/18/2025, 12:44:41 PM] 安装完成于 4/18/2025, 12:44:41 PM"
    ],
    "githubProxy": "http://gh-proxy.com/https://github.com/",
    "endTime": 1744951481562,
    "result": "安装完成于 4/18/2025, 12:44:41 PM"
  },
  {
    "id": "9b7dfb71-3451-4983-8013-acd2fce2588b",
    "pluginId": "comfyui-impact-subpack",
    "pluginName": "ComfyUI Impact Subpack",
    "type": "install",
    "startTime": 1744951335965,
    "status": "success",
    "logs": [
      "[4/18/2025, 12:42:15 PM] 开始安装插件 comfyui-impact-subpack",
      "[4/18/2025, 12:42:15 PM] 正在查找插件信息...",
      "[4/18/2025, 12:42:15 PM] 找到插件: {\"id\":\"comfyui-impact-subpack\",\"name\":\"ComfyUI Impact Subpack\",\"description\":\"This node pack provides nodes that complement the Impact Pack, such as the UltralyticsDetectorProvider.\",\"version\":\"未知\",\"author\":\"Dr.Lt.Data\",\"github\":\"https://github.com/ltdrdata/ComfyUI-Impact-Subpack\",\"install_type\":\"git-clone\",\"tags\":[],\"stars\":0,\"installed\":false,\"disabled\":false,\"installedOn\":\"2025-04-18T04:29:20.811Z\"}",
      "[4/18/2025, 12:42:15 PM] 准备安装...",
      "[4/18/2025, 12:42:15 PM] 正在下载插件...",
      "[4/18/2025, 12:42:15 PM] 执行: git clone \"http://gh-proxy.com/https://github.com/ltdrdata/ComfyUI-Impact-Subpack\" \"/Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/comfyui-impact-subpack\"",
      "[4/18/2025, 12:42:19 PM] Git错误: Cloning into '/Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/comfyui-impact-subpack'...\nwarning: redirecting to https://gh-proxy.com/https://github.com/ltdrdata/ComfyUI-Impact-Subpack/\n",
      "[4/18/2025, 12:42:19 PM] 开发环境：跳过依赖安装",
      "[4/18/2025, 12:42:19 PM] 安装完成于 4/18/2025, 12:42:19 PM"
    ],
    "githubProxy": "http://gh-proxy.com/https://github.com/",
    "endTime": 1744951339257,
    "result": "安装完成于 4/18/2025, 12:42:19 PM"
  },
  {
    "id": "cc52b33f-b637-4e1a-9592-2e5ca5531b81",
    "pluginId": "comfyui-impact-subpack",
    "pluginName": "ComfyUI Impact Subpack",
    "type": "uninstall",
    "startTime": 1744950883096,
    "status": "success",
    "logs": [
      "[4/18/2025, 12:34:43 PM] 开始卸载插件 comfyui-impact-subpack",
      "[4/18/2025, 12:34:43 PM] 准备卸载...",
      "[4/18/2025, 12:34:43 PM] 正在卸载插件...",
      "[4/18/2025, 12:34:43 PM] 已删除插件目录: /Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/comfyui-impact-subpack",
      "[4/18/2025, 12:34:43 PM] 清理临时文件...",
      "[4/18/2025, 12:34:43 PM] 卸载完成于 4/18/2025, 12:34:43 PM"
    ],
    "endTime": 1744950883139,
    "result": "卸载完成于 4/18/2025, 12:34:43 PM"
  },
  {
    "id": "57d5a169-12e1-4105-876a-a2f60d285efe",
    "pluginId": "comfyui-impact-subpack",
    "pluginName": "ComfyUI Impact Subpack",
    "type": "install",
    "startTime": 1744950560751,
    "status": "success",
    "logs": [
      "[4/18/2025, 12:29:20 PM] 开始安装插件 comfyui-impact-subpack",
      "[4/18/2025, 12:29:20 PM] 正在查找插件信息...",
      "[4/18/2025, 12:29:20 PM] 找到插件: {\"id\":\"comfyui-impact-subpack\",\"name\":\"ComfyUI Impact Subpack\",\"description\":\"This node pack provides nodes that complement the Impact Pack, such as the UltralyticsDetectorProvider.\",\"version\":\"未知\",\"author\":\"Dr.Lt.Data\",\"github\":\"https://github.com/ltdrdata/ComfyUI-Impact-Subpack\",\"install_type\":\"git-clone\",\"tags\":[],\"stars\":0,\"installed\":false,\"disabled\":false}",
      "[4/18/2025, 12:29:20 PM] 准备安装...",
      "[4/18/2025, 12:29:20 PM] 正在下载插件...",
      "[4/18/2025, 12:29:20 PM] 执行: git clone \"http://gh-proxy.com/https://github.com/ltdrdata/ComfyUI-Impact-Subpack\" \"/Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/comfyui-impact-subpack\"",
      "[4/18/2025, 12:29:24 PM] Git错误: Cloning into '/Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/comfyui-impact-subpack'...\nwarning: redirecting to https://gh-proxy.com/https://github.com/ltdrdata/ComfyUI-Impact-Subpack/\n",
      "[4/18/2025, 12:29:24 PM] 开发环境：跳过依赖安装",
      "[4/18/2025, 12:29:24 PM] 安装完成于 4/18/2025, 12:29:24 PM"
    ],
    "githubProxy": "http://gh-proxy.com/https://github.com/",
    "endTime": 1744950564606,
    "result": "安装完成于 4/18/2025, 12:29:24 PM"
  },
  {
    "id": "09aae220-7d01-4a07-8ded-3af29c4e9909",
    "pluginId": "inspire",
    "pluginName": "ComfyUI Inspire Pack",
    "type": "uninstall",
    "startTime": 1744950258293,
    "status": "success",
    "logs": [
      "[4/18/2025, 12:24:18 PM] 开始卸载插件 inspire",
      "[4/18/2025, 12:24:18 PM] 准备卸载...",
      "[4/18/2025, 12:24:18 PM] 正在卸载插件...",
      "[4/18/2025, 12:24:18 PM] 已删除插件目录: /Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/inspire",
      "[4/18/2025, 12:24:18 PM] 清理临时文件...",
      "[4/18/2025, 12:24:18 PM] 卸载完成于 4/18/2025, 12:24:18 PM"
    ],
    "endTime": 1744950258309,
    "result": "卸载完成于 4/18/2025, 12:24:18 PM"
  },
  {
    "id": "162c3cce-884f-4a3c-96ac-557bfcf13f36",
    "pluginId": "connection-helper",
    "pluginName": "ComfyUI Connection Helper",
    "type": "uninstall",
    "startTime": 1744950019538,
    "status": "success",
    "logs": [
      "[4/18/2025, 12:20:19 PM] 开始卸载插件 connection-helper",
      "[4/18/2025, 12:20:19 PM] 准备卸载...",
      "[4/18/2025, 12:20:19 PM] 正在卸载插件...",
      "[4/18/2025, 12:20:19 PM] 已删除插件目录: /Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/connection-helper",
      "[4/18/2025, 12:20:19 PM] 清理临时文件...",
      "[4/18/2025, 12:20:19 PM] 卸载完成于 4/18/2025, 12:20:19 PM"
    ],
    "endTime": 1744950019555,
    "result": "卸载完成于 4/18/2025, 12:20:19 PM"
  },
  {
    "id": "f0b9ff86-fdc7-415e-ad7a-5567c0900ee7",
    "pluginId": "connection-helper",
    "pluginName": "ComfyUI Connection Helper",
    "type": "install",
    "startTime": 1744949944101,
    "status": "success",
    "logs": [
      "[4/18/2025, 12:19:04 PM] 开始安装插件 connection-helper",
      "[4/18/2025, 12:19:04 PM] 正在查找插件信息...",
      "[4/18/2025, 12:19:04 PM] 找到插件: {\"id\":\"connection-helper\",\"name\":\"ComfyUI Connection Helper\",\"description\":\"This is a helper extension for ComfyUI that assists with node connections.\",\"version\":\"未知\",\"author\":\"Dr.Lt.Data\",\"github\":\"https://github.com/ltdrdata/comfyui-connection-helper\",\"install_type\":\"git-clone\",\"tags\":[],\"stars\":0,\"installed\":false,\"disabled\":false}",
      "[4/18/2025, 12:19:04 PM] 准备安装...",
      "[4/18/2025, 12:19:04 PM] 正在下载插件...",
      "[4/18/2025, 12:19:04 PM] 执行: git clone \"http://gh-proxy.com/https://github.com/ltdrdata/comfyui-connection-helper\" \"/Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/connection-helper\"",
      "[4/18/2025, 12:19:08 PM] Git错误: Cloning into '/Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/connection-helper'...\nwarning: redirecting to https://gh-proxy.com/https://github.com/ltdrdata/comfyui-connection-helper/\n",
      "[4/18/2025, 12:19:08 PM] 开发环境：跳过依赖安装",
      "[4/18/2025, 12:19:08 PM] 安装完成于 4/18/2025, 12:19:08 PM"
    ],
    "githubProxy": "http://gh-proxy.com/https://github.com/",
    "endTime": 1744949948971,
    "result": "安装完成于 4/18/2025, 12:19:08 PM"
  },
  {
    "id": "cf556cfe-151e-4cb0-9eb4-8eaa169165a8",
    "pluginId": "inspire",
    "pluginName": "ComfyUI Inspire Pack",
    "type": "install",
    "startTime": 1744949827458,
    "status": "success",
    "logs": [
      "[4/18/2025, 12:17:07 PM] 开始安装插件 inspire",
      "[4/18/2025, 12:17:07 PM] 正在查找插件信息...",
      "[4/18/2025, 12:17:07 PM] 找到插件: {\"id\":\"inspire\",\"name\":\"ComfyUI Inspire Pack\",\"description\":\"This extension provides various nodes to support Lora Block Weight and the Impact Pack. Provides many easily applicable regional features and applications for Variation Seed.\",\"version\":\"未知\",\"author\":\"Dr.Lt.Data\",\"github\":\"https://github.com/ltdrdata/ComfyUI-Inspire-Pack\",\"install_type\":\"git-clone\",\"tags\":[],\"stars\":0,\"installed\":false,\"disabled\":false}",
      "[4/18/2025, 12:17:07 PM] 准备安装...",
      "[4/18/2025, 12:17:07 PM] 正在下载插件...",
      "[4/18/2025, 12:17:07 PM] 执行: git clone \"http://gh-proxy.com/https://github.com/ltdrdata/ComfyUI-Inspire-Pack\" \"/Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/inspire\"",
      "[4/18/2025, 12:17:11 PM] Git错误: Cloning into '/Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/inspire'...\nwarning: redirecting to https://gh-proxy.com/https://github.com/ltdrdata/ComfyUI-Inspire-Pack/\n",
      "[4/18/2025, 12:17:11 PM] 开发环境：跳过依赖安装",
      "[4/18/2025, 12:17:11 PM] 安装完成于 4/18/2025, 12:17:11 PM"
    ],
    "githubProxy": "http://gh-proxy.com/https://github.com/",
    "endTime": 1744949831940,
    "result": "安装完成于 4/18/2025, 12:17:11 PM"
  },
  {
    "id": "6a6b8252-e79b-405d-b690-9c1a1c6d0cbd",
    "pluginId": "was",
    "pluginName": "WAS Node Suite",
    "type": "install",
    "startTime": 1742544241510,
    "status": "success",
    "logs": [
      "[3/21/2025, 4:04:01 PM] 开始安装插件 was",
      "[3/21/2025, 4:04:01 PM] 正在查找插件信息...",
      "[3/21/2025, 4:04:01 PM] 找到插件: {\"id\":\"was\",\"name\":\"WAS Node Suite\",\"description\":\"A node suite for ComfyUI with many new nodes, such as image processing, text processing, and more.\",\"version\":\"1.0.0\",\"author\":\"WASasquatch\",\"github\":\"https://github.com/WASasquatch/was-node-suite-comfyui\",\"install_type\":\"git-clone\",\"tags\":[],\"stars\":0,\"installed\":false,\"disabled\":false}",
      "[3/21/2025, 4:04:01 PM] 准备安装...",
      "[3/21/2025, 4:04:01 PM] 正在下载插件...",
      "[3/21/2025, 4:04:01 PM] 执行: git clone \"https://github.com/WASasquatch/was-node-suite-comfyui\" \"/Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/was\"",
      "[3/21/2025, 4:04:19 PM] Git错误: Cloning into '/Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/was'...\n",
      "[3/21/2025, 4:04:19 PM] 开发环境：跳过依赖安装",
      "[3/21/2025, 4:04:19 PM] 安装完成于 3/21/2025, 4:04:19 PM"
    ],
    "githubProxy": "",
    "endTime": 1742544259628,
    "result": "安装完成于 3/21/2025, 4:04:19 PM"
  },
  {
    "id": "9deec69c-42c5-43e0-ae3e-cd23b07b6f79",
    "pluginId": "comfyui-impact-pack",
    "pluginName": "ComfyUI Impact Pack",
    "type": "uninstall",
    "startTime": 1742535682983,
    "status": "success",
    "logs": [
      "[3/21/2025, 1:41:22 PM] 开始卸载插件 comfyui-impact-pack",
      "[3/21/2025, 1:41:23 PM] 准备卸载...",
      "[3/21/2025, 1:41:23 PM] 发现插件在禁用目录中: /Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/.disabled/comfyui-impact-pack",
      "[3/21/2025, 1:41:23 PM] 正在卸载禁用状态的插件...",
      "[3/21/2025, 1:41:23 PM] 已删除插件目录: /Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/.disabled/comfyui-impact-pack",
      "[3/21/2025, 1:41:23 PM] 清理临时文件...",
      "[3/21/2025, 1:41:23 PM] 卸载完成于 3/21/2025, 1:41:23 PM"
    ],
    "endTime": 1742535683085,
    "result": "卸载完成于 3/21/2025, 1:41:23 PM"
  },
  {
    "id": "29ee4d6d-f32f-41f5-b879-515b19dab231",
    "pluginId": "manager",
    "pluginName": "ComfyUI-Manager",
    "type": "uninstall",
    "startTime": 1742535202225,
    "status": "success",
    "logs": [
      "[3/21/2025, 1:33:22 PM] 开始卸载插件 manager",
      "[3/21/2025, 1:33:22 PM] 准备卸载...",
      "[3/21/2025, 1:33:22 PM] 正在卸载插件...",
      "[3/21/2025, 1:33:22 PM] 已将插件目录备份到: /Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/manager_backup_1742535202229",
      "[3/21/2025, 1:33:22 PM] 清理临时文件...",
      "[3/21/2025, 1:33:22 PM] 备份目录已保留: /Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/manager_backup_1742535202229",
      "[3/21/2025, 1:33:22 PM] 卸载完成于 3/21/2025, 1:33:22 PM"
    ],
    "endTime": 1742535202232,
    "result": "卸载完成于 3/21/2025, 1:33:22 PM"
  },
  {
    "id": "b7ab9237-bd1b-4e92-96fd-96208fa97a72",
    "pluginId": "comfyui-impact-pack",
    "pluginName": "ComfyUI Impact Pack",
    "type": "uninstall",
    "startTime": 1742535179972,
    "status": "failed",
    "logs": [
      "[3/21/2025, 1:32:59 PM] 开始卸载插件 comfyui-impact-pack",
      "[3/21/2025, 1:32:59 PM] 准备卸载...",
      "[3/21/2025, 1:32:59 PM] 插件目录不存在: /Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/comfyui-impact-pack",
      "[3/21/2025, 1:32:59 PM] 卸载失败: 插件目录不存在: /Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/comfyui-impact-pack"
    ],
    "endTime": 1742535179974,
    "result": "卸载失败: 插件目录不存在: /Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/comfyui-impact-pack"
  },
  {
    "id": "48c117a4-5af0-447c-ac0c-f230a671988d",
    "pluginId": "comfyui-impact-pack",
    "pluginName": "ComfyUI Impact Pack",
    "type": "disable",
    "startTime": 1742535118655,
    "status": "success",
    "logs": [
      "[3/21/2025, 1:31:58 PM] 开始禁用插件 comfyui-impact-pack",
      "[3/21/2025, 1:31:58 PM] 准备禁用...",
      "[3/21/2025, 1:31:58 PM] 正在移动插件到禁用目录: /Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/comfyui-impact-pack -> /Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/.disabled/comfyui-impact-pack",
      "[3/21/2025, 1:31:58 PM] 禁用完成于 3/21/2025, 1:31:58 PM"
    ],
    "endTime": 1742535118658,
    "result": "禁用完成于 3/21/2025, 1:31:58 PM"
  },
  {
    "id": "0d998c78-8276-4a2e-bd30-aae2dedee95a",
    "pluginId": "manager",
    "pluginName": "ComfyUI-Manager",
    "type": "install",
    "startTime": 1742535055247,
    "status": "success",
    "logs": [
      "[3/21/2025, 1:30:55 PM] 开始安装插件 manager",
      "[3/21/2025, 1:30:55 PM] 正在查找插件信息...",
      "[3/21/2025, 1:30:55 PM] 找到插件: {\"id\":\"manager\",\"name\":\"ComfyUI-Manager\",\"description\":\"ComfyUI-Manager itself is also a custom node.\",\"version\":\"1.0.0\",\"author\":\"Dr.Lt.Data\",\"github\":\"https://github.com/ltdrdata/ComfyUI-Manager\",\"install_type\":\"git-clone\",\"tags\":[],\"stars\":0,\"installed\":false,\"disabled\":false}",
      "[3/21/2025, 1:30:55 PM] 准备安装...",
      "[3/21/2025, 1:30:55 PM] 正在下载插件...",
      "[3/21/2025, 1:30:55 PM] 执行: git clone \"https://gh-proxy.com/https://github.com/ltdrdata/ComfyUI-Manager\" \"/Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/manager\"",
      "[3/21/2025, 1:31:06 PM] Git错误: Cloning into '/Users/sai/dev/work/os/ai/comfyui-starter/server/comfyui/custom_nodes/manager'...\n",
      "[3/21/2025, 1:31:06 PM] 开发环境：跳过依赖安装",
      "[3/21/2025, 1:31:06 PM] 安装完成于 3/21/2025, 1:31:06 PM"
    ],
    "githubProxy": "https://gh-proxy.com/",
    "endTime": 1742535066626,
    "result": "安装完成于 3/21/2025, 1:31:06 PM"
  }
]