@optima-chat/comfy-cli 0.3.3 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +129 -28
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/download.d.ts.map +1 -1
- package/dist/commands/download.js +119 -33
- package/dist/commands/download.js.map +1 -1
- package/dist/commands/edit.d.ts.map +1 -1
- package/dist/commands/edit.js +73 -23
- package/dist/commands/edit.js.map +1 -1
- package/dist/commands/generate.d.ts.map +1 -1
- package/dist/commands/generate.js +67 -15
- package/dist/commands/generate.js.map +1 -1
- package/dist/commands/interrupt.d.ts.map +1 -1
- package/dist/commands/interrupt.js +42 -7
- package/dist/commands/interrupt.js.map +1 -1
- package/dist/commands/model.d.ts.map +1 -1
- package/dist/commands/model.js +49 -11
- package/dist/commands/model.js.map +1 -1
- package/dist/commands/node.d.ts.map +1 -1
- package/dist/commands/node.js +96 -18
- package/dist/commands/node.js.map +1 -1
- package/dist/commands/queue.d.ts.map +1 -1
- package/dist/commands/queue.js +127 -25
- package/dist/commands/queue.js.map +1 -1
- package/dist/commands/system.d.ts.map +1 -1
- package/dist/commands/system.js +48 -10
- package/dist/commands/system.js.map +1 -1
- package/dist/commands/video.d.ts.map +1 -1
- package/dist/commands/video.js +86 -25
- package/dist/commands/video.js.map +1 -1
- package/dist/commands/workflow.d.ts.map +1 -1
- package/dist/commands/workflow.js +141 -34
- package/dist/commands/workflow.js.map +1 -1
- package/dist/index.js +35 -2
- package/dist/index.js.map +1 -1
- package/dist/utils/helpText.d.ts +15 -0
- package/dist/utils/helpText.d.ts.map +1 -0
- package/dist/utils/helpText.js +37 -0
- package/dist/utils/helpText.js.map +1 -0
- package/dist/utils/output.d.ts +54 -0
- package/dist/utils/output.d.ts.map +1 -0
- package/dist/utils/output.js +76 -0
- package/dist/utils/output.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,21 +1,25 @@
|
|
|
1
1
|
import ora from 'ora';
|
|
2
2
|
import { ComfyAPIClient } from '../services/api.js';
|
|
3
3
|
import { loadWorkflow, getBuiltinWorkflowPath, replaceVariables } from '../utils/workflow.js';
|
|
4
|
-
import { success,
|
|
4
|
+
import { success, info } from '../utils/logger.js';
|
|
5
|
+
import { outputSuccess, outputError, isPrettyMode } from '../utils/output.js';
|
|
5
6
|
import { monitorProgress } from '../services/websocket.js';
|
|
7
|
+
import { addEnhancedHelp } from '../utils/helpText.js';
|
|
6
8
|
export function registerGenerateCommand(program) {
|
|
7
|
-
program
|
|
9
|
+
const cmd = program
|
|
8
10
|
.command('generate')
|
|
9
|
-
.description('
|
|
11
|
+
.description('生成图像(文生图)- 使用 FLUX 模型从文本生成高质量图像')
|
|
10
12
|
.argument('<prompt>', '图像描述提示词')
|
|
11
|
-
.option('-o, --output <dir>', '输出目录', './output')
|
|
12
|
-
.option('--width <number>', '图像宽度', '1024')
|
|
13
|
-
.option('--height <number>', '图像高度', '1024')
|
|
14
|
-
.option('--no-wait', '
|
|
15
|
-
.option('--json', '输出 JSON 格式')
|
|
13
|
+
.option('-o, --output <dir>', '输出目录 (默认: ./output)', './output')
|
|
14
|
+
.option('--width <number>', '图像宽度 (默认: 1024)', '1024')
|
|
15
|
+
.option('--height <number>', '图像高度 (默认: 1024)', '1024')
|
|
16
|
+
.option('--no-wait', '提交任务后立即返回,不等待生成完成')
|
|
16
17
|
.action(async (prompt, options) => {
|
|
18
|
+
const pretty = isPrettyMode(options);
|
|
17
19
|
try {
|
|
18
|
-
|
|
20
|
+
if (pretty) {
|
|
21
|
+
info(`正在生成图像: "${prompt}"`);
|
|
22
|
+
}
|
|
19
23
|
// 加载内置 workflow
|
|
20
24
|
const workflowPath = getBuiltinWorkflowPath('flux_text_to_image.json');
|
|
21
25
|
const workflow = loadWorkflow(workflowPath);
|
|
@@ -39,10 +43,7 @@ export function registerGenerateCommand(program) {
|
|
|
39
43
|
// 提交到 ComfyUI
|
|
40
44
|
const client = new ComfyAPIClient();
|
|
41
45
|
const result = await client.submitWorkflow(processedWorkflow);
|
|
42
|
-
if (
|
|
43
|
-
console.log(JSON.stringify(result, null, 2));
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
+
if (pretty) {
|
|
46
47
|
success(`图像生成任务已提交`);
|
|
47
48
|
info(`Prompt ID: ${result.prompt_id}`);
|
|
48
49
|
// 默认等待完成,除非指定了 --no-wait
|
|
@@ -73,11 +74,62 @@ export function registerGenerateCommand(program) {
|
|
|
73
74
|
info(`使用 'comfy download ${result.prompt_id}' 下载结果`);
|
|
74
75
|
}
|
|
75
76
|
}
|
|
77
|
+
else {
|
|
78
|
+
// JSON 模式:输出简洁的结果
|
|
79
|
+
outputSuccess({
|
|
80
|
+
prompt_id: result.prompt_id,
|
|
81
|
+
prompt,
|
|
82
|
+
width: params.width,
|
|
83
|
+
height: params.height,
|
|
84
|
+
status: options.wait !== false ? 'submitted_waiting' : 'submitted',
|
|
85
|
+
});
|
|
86
|
+
}
|
|
76
87
|
}
|
|
77
88
|
catch (err) {
|
|
78
|
-
|
|
79
|
-
process.exit(1);
|
|
89
|
+
outputError('GENERATE_FAILED', `生成失败: ${err}`, options);
|
|
80
90
|
}
|
|
81
91
|
});
|
|
92
|
+
// Add enhanced help text
|
|
93
|
+
addEnhancedHelp(cmd, {
|
|
94
|
+
examples: [
|
|
95
|
+
'# 基础用法:生成图像(默认 JSON 输出)',
|
|
96
|
+
'$ comfy generate "a beautiful sunset over mountains"',
|
|
97
|
+
'',
|
|
98
|
+
'# 生成图像并等待完成',
|
|
99
|
+
'$ comfy generate "a cat wearing a hat"',
|
|
100
|
+
'',
|
|
101
|
+
'# 生成图像但不等待(立即返回 prompt_id)',
|
|
102
|
+
'$ comfy generate "a dog" --no-wait',
|
|
103
|
+
'',
|
|
104
|
+
'# 指定图像尺寸',
|
|
105
|
+
'$ comfy generate "a landscape" --width 1920 --height 1080',
|
|
106
|
+
'',
|
|
107
|
+
'# Pretty 模式(人类可读)',
|
|
108
|
+
'$ comfy generate "a sunset" --pretty',
|
|
109
|
+
],
|
|
110
|
+
outputJson: `{
|
|
111
|
+
"success": true,
|
|
112
|
+
"data": {
|
|
113
|
+
"prompt_id": "abc-123-def",
|
|
114
|
+
"prompt": "a beautiful sunset",
|
|
115
|
+
"width": 1024,
|
|
116
|
+
"height": 1024,
|
|
117
|
+
"status": "submitted_waiting"
|
|
118
|
+
}
|
|
119
|
+
}`,
|
|
120
|
+
relatedCommands: [
|
|
121
|
+
{ command: 'download <prompt_id>', description: '下载生成的图像' },
|
|
122
|
+
{ command: 'workflow list', description: '查看生成历史' },
|
|
123
|
+
{ command: 'queue status', description: '查看队列状态' },
|
|
124
|
+
{ command: 'edit <image> <prompt>', description: '编辑已有图像' },
|
|
125
|
+
],
|
|
126
|
+
notes: [
|
|
127
|
+
'默认使用 FLUX1-dev-fp8 模型,生成高质量图像',
|
|
128
|
+
'默认会等待生成完成,使用 --no-wait 可立即返回',
|
|
129
|
+
'生成完成后使用 "comfy download <prompt_id>" 下载图像',
|
|
130
|
+
'图像默认保存到 ./output 目录',
|
|
131
|
+
'默认输出 JSON 格式,使用 --pretty 可显示进度条',
|
|
132
|
+
],
|
|
133
|
+
});
|
|
82
134
|
}
|
|
83
135
|
//# sourceMappingURL=generate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"AAEA,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC9F,OAAO,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interrupt.d.ts","sourceRoot":"","sources":["../../src/commands/interrupt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"interrupt.d.ts","sourceRoot":"","sources":["../../src/commands/interrupt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,QAiDxD"}
|
|
@@ -1,19 +1,54 @@
|
|
|
1
1
|
import { ComfyAPIClient } from '../services/api.js';
|
|
2
|
-
import {
|
|
2
|
+
import { success } from '../utils/logger.js';
|
|
3
|
+
import { outputSuccess, outputError, isPrettyMode } from '../utils/output.js';
|
|
4
|
+
import { addEnhancedHelp } from '../utils/helpText.js';
|
|
3
5
|
export function registerInterruptCommand(program) {
|
|
4
|
-
program
|
|
6
|
+
const cmd = program
|
|
5
7
|
.command('interrupt')
|
|
6
|
-
.description('中断当前执行')
|
|
7
|
-
.action(async () => {
|
|
8
|
+
.description('中断当前执行 - 立即停止 ComfyUI 当前正在执行的任务')
|
|
9
|
+
.action(async (options) => {
|
|
10
|
+
const pretty = isPrettyMode(options);
|
|
8
11
|
try {
|
|
9
12
|
const client = new ComfyAPIClient();
|
|
10
13
|
await client.interrupt();
|
|
11
|
-
|
|
14
|
+
if (pretty) {
|
|
15
|
+
success('已发送中断信号');
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
outputSuccess({
|
|
19
|
+
message: '已发送中断信号',
|
|
20
|
+
});
|
|
21
|
+
}
|
|
12
22
|
}
|
|
13
23
|
catch (err) {
|
|
14
|
-
|
|
15
|
-
process.exit(1);
|
|
24
|
+
outputError('INTERRUPT_FAILED', `中断失败: ${err}`, options);
|
|
16
25
|
}
|
|
17
26
|
});
|
|
27
|
+
// Add enhanced help for interrupt command
|
|
28
|
+
addEnhancedHelp(cmd, {
|
|
29
|
+
examples: [
|
|
30
|
+
'# 中断当前执行的任务',
|
|
31
|
+
'$ comfy interrupt',
|
|
32
|
+
'',
|
|
33
|
+
'# Pretty 模式',
|
|
34
|
+
'$ comfy interrupt --pretty',
|
|
35
|
+
],
|
|
36
|
+
outputJson: `{
|
|
37
|
+
"success": true,
|
|
38
|
+
"data": {
|
|
39
|
+
"message": "已发送中断信号"
|
|
40
|
+
}
|
|
41
|
+
}`,
|
|
42
|
+
relatedCommands: [
|
|
43
|
+
{ command: 'queue status', description: '查看队列状态' },
|
|
44
|
+
{ command: 'queue clear --confirm', description: '清空等待队列' },
|
|
45
|
+
{ command: 'queue delete <id>', description: '删除队列中的任务' },
|
|
46
|
+
],
|
|
47
|
+
notes: [
|
|
48
|
+
'立即停止当前正在执行的任务',
|
|
49
|
+
'只影响正在执行的任务,不影响队列中等待的任务',
|
|
50
|
+
'若要清空队列,使用 queue clear 命令',
|
|
51
|
+
],
|
|
52
|
+
});
|
|
18
53
|
}
|
|
19
54
|
//# sourceMappingURL=interrupt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interrupt.js","sourceRoot":"","sources":["../../src/commands/interrupt.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,
|
|
1
|
+
{"version":3,"file":"interrupt.js","sourceRoot":"","sources":["../../src/commands/interrupt.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAS,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,UAAU,wBAAwB,CAAC,OAAgB;IACvD,MAAM,GAAG,GAAG,OAAO;SAChB,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,iCAAiC,CAAC;SAC9C,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QAErC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;YACpC,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;YAEzB,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,SAAS,CAAC,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,aAAa,CAAC;oBACZ,OAAO,EAAE,SAAS;iBACnB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,kBAAkB,EAAE,SAAS,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,0CAA0C;IAC1C,eAAe,CAAC,GAAG,EAAE;QACnB,QAAQ,EAAE;YACR,aAAa;YACb,mBAAmB;YACnB,EAAE;YACF,aAAa;YACb,4BAA4B;SAC7B;QACD,UAAU,EAAE;;;;;EAKd;QACE,eAAe,EAAE;YACf,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,EAAE;YAClD,EAAE,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,QAAQ,EAAE;YAC3D,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,UAAU,EAAE;SAC1D;QACD,KAAK,EAAE;YACL,eAAe;YACf,wBAAwB;YACxB,0BAA0B;SAC3B;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/commands/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/commands/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,QAiFpD"}
|
package/dist/commands/model.js
CHANGED
|
@@ -1,25 +1,24 @@
|
|
|
1
1
|
import { ComfyAPIClient } from '../services/api.js';
|
|
2
|
-
import {
|
|
2
|
+
import { info } from '../utils/logger.js';
|
|
3
|
+
import { outputSuccess, outputError, isPrettyMode } from '../utils/output.js';
|
|
4
|
+
import { addEnhancedHelp } from '../utils/helpText.js';
|
|
3
5
|
import Table from 'cli-table3';
|
|
4
6
|
export function registerModelCommand(program) {
|
|
5
7
|
const modelCmd = program
|
|
6
8
|
.command('model')
|
|
7
9
|
.description('模型管理');
|
|
8
10
|
// comfy model list
|
|
9
|
-
modelCmd
|
|
11
|
+
const listCmd = modelCmd
|
|
10
12
|
.command('list')
|
|
11
|
-
.description('列出可用模型')
|
|
13
|
+
.description('列出可用模型 - 查看 ComfyUI 服务器上已安装的所有模型')
|
|
12
14
|
.option('--type <type>', '模型类型 (checkpoints, loras, vae, etc.)')
|
|
13
|
-
.option('--json', '输出 JSON 格式')
|
|
14
15
|
.action(async (options) => {
|
|
16
|
+
const pretty = isPrettyMode(options);
|
|
15
17
|
try {
|
|
16
18
|
const client = new ComfyAPIClient();
|
|
17
19
|
const models = await client.listModels(options.type);
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
const modelList = Array.isArray(models) ? models : Object.values(models).flat();
|
|
20
|
+
const modelList = Array.isArray(models) ? models : Object.values(models).flat();
|
|
21
|
+
if (pretty) {
|
|
23
22
|
if (modelList.length === 0) {
|
|
24
23
|
info('未找到模型');
|
|
25
24
|
return;
|
|
@@ -34,11 +33,50 @@ export function registerModelCommand(program) {
|
|
|
34
33
|
console.log(table.toString());
|
|
35
34
|
info(`共 ${modelList.length} 个模型${options.type ? ` (${options.type})` : ''}`);
|
|
36
35
|
}
|
|
36
|
+
else {
|
|
37
|
+
outputSuccess({
|
|
38
|
+
models: modelList,
|
|
39
|
+
total: modelList.length,
|
|
40
|
+
type: options.type || null,
|
|
41
|
+
});
|
|
42
|
+
}
|
|
37
43
|
}
|
|
38
44
|
catch (err) {
|
|
39
|
-
|
|
40
|
-
process.exit(1);
|
|
45
|
+
outputError('MODEL_LIST_FAILED', `获取模型列表失败: ${err}`, options);
|
|
41
46
|
}
|
|
42
47
|
});
|
|
48
|
+
// Add enhanced help for list command
|
|
49
|
+
addEnhancedHelp(listCmd, {
|
|
50
|
+
examples: [
|
|
51
|
+
'# 列出所有模型(JSON 模式)',
|
|
52
|
+
'$ comfy model list',
|
|
53
|
+
'',
|
|
54
|
+
'# 列出指定类型的模型',
|
|
55
|
+
'$ comfy model list --type checkpoints',
|
|
56
|
+
'',
|
|
57
|
+
'# Pretty 模式',
|
|
58
|
+
'$ comfy model list --pretty',
|
|
59
|
+
],
|
|
60
|
+
outputJson: `{
|
|
61
|
+
"success": true,
|
|
62
|
+
"data": {
|
|
63
|
+
"models": [
|
|
64
|
+
"flux1-dev-kontext_fp8_scaled.safetensors",
|
|
65
|
+
"wan2.1_i2v_720p_14B_fp8_scaled.safetensors"
|
|
66
|
+
],
|
|
67
|
+
"total": 2,
|
|
68
|
+
"type": null
|
|
69
|
+
}
|
|
70
|
+
}`,
|
|
71
|
+
relatedCommands: [
|
|
72
|
+
{ command: 'node list', description: '列出所有节点类型' },
|
|
73
|
+
{ command: 'system stats', description: '查看系统信息' },
|
|
74
|
+
],
|
|
75
|
+
notes: [
|
|
76
|
+
'返回 ComfyUI 服务器上已安装的模型列表',
|
|
77
|
+
'可通过 --type 参数过滤特定类型',
|
|
78
|
+
'常见类型: checkpoints, loras, vae, upscale_models, embeddings',
|
|
79
|
+
],
|
|
80
|
+
});
|
|
43
81
|
}
|
|
44
82
|
//# sourceMappingURL=model.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/commands/model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/commands/model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/commands/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/commands/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,QAwJnD"}
|
package/dist/commands/node.js
CHANGED
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
import { ComfyAPIClient } from '../services/api.js';
|
|
2
|
-
import {
|
|
2
|
+
import { info } from '../utils/logger.js';
|
|
3
|
+
import { outputSuccess, outputError, isPrettyMode } from '../utils/output.js';
|
|
4
|
+
import { addEnhancedHelp } from '../utils/helpText.js';
|
|
3
5
|
import Table from 'cli-table3';
|
|
4
6
|
export function registerNodeCommand(program) {
|
|
5
7
|
const nodeCmd = program
|
|
6
8
|
.command('node')
|
|
7
9
|
.description('节点信息查询');
|
|
8
10
|
// comfy node list
|
|
9
|
-
nodeCmd
|
|
11
|
+
const listCmd = nodeCmd
|
|
10
12
|
.command('list')
|
|
11
|
-
.description('列出所有节点类型')
|
|
13
|
+
.description('列出所有节点类型 - 查看 ComfyUI 中可用的所有节点类型')
|
|
12
14
|
.option('--filter <text>', '过滤节点名称')
|
|
13
|
-
.option('--json', '输出 JSON 格式')
|
|
14
15
|
.action(async (options) => {
|
|
16
|
+
const pretty = isPrettyMode(options);
|
|
15
17
|
try {
|
|
16
18
|
const client = new ComfyAPIClient();
|
|
17
19
|
const nodeInfo = await client.getObjectInfo();
|
|
@@ -19,10 +21,7 @@ export function registerNodeCommand(program) {
|
|
|
19
21
|
if (options.filter) {
|
|
20
22
|
nodeList = nodeList.filter((name) => name.toLowerCase().includes(options.filter.toLowerCase()));
|
|
21
23
|
}
|
|
22
|
-
if (
|
|
23
|
-
console.log(JSON.stringify(nodeList, null, 2));
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
24
|
+
if (pretty) {
|
|
26
25
|
if (nodeList.length === 0) {
|
|
27
26
|
info('未找到节点');
|
|
28
27
|
return;
|
|
@@ -37,34 +36,113 @@ export function registerNodeCommand(program) {
|
|
|
37
36
|
console.log(table.toString());
|
|
38
37
|
info(`共 ${nodeList.length} 个节点类型`);
|
|
39
38
|
}
|
|
39
|
+
else {
|
|
40
|
+
outputSuccess({
|
|
41
|
+
nodes: nodeList,
|
|
42
|
+
total: nodeList.length,
|
|
43
|
+
filter: options.filter || null,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
40
46
|
}
|
|
41
47
|
catch (err) {
|
|
42
|
-
|
|
43
|
-
process.exit(1);
|
|
48
|
+
outputError('NODE_LIST_FAILED', `获取节点列表失败: ${err}`, options);
|
|
44
49
|
}
|
|
45
50
|
});
|
|
51
|
+
// Add enhanced help for list command
|
|
52
|
+
addEnhancedHelp(listCmd, {
|
|
53
|
+
examples: [
|
|
54
|
+
'# 列出所有节点类型',
|
|
55
|
+
'$ comfy node list',
|
|
56
|
+
'',
|
|
57
|
+
'# 过滤包含 "Load" 的节点',
|
|
58
|
+
'$ comfy node list --filter Load',
|
|
59
|
+
'',
|
|
60
|
+
'# Pretty 模式',
|
|
61
|
+
'$ comfy node list --pretty',
|
|
62
|
+
],
|
|
63
|
+
outputJson: `{
|
|
64
|
+
"success": true,
|
|
65
|
+
"data": {
|
|
66
|
+
"nodes": [
|
|
67
|
+
"KSampler",
|
|
68
|
+
"LoadImage",
|
|
69
|
+
"SaveImage",
|
|
70
|
+
"CLIPTextEncode"
|
|
71
|
+
],
|
|
72
|
+
"total": 4,
|
|
73
|
+
"filter": null
|
|
74
|
+
}
|
|
75
|
+
}`,
|
|
76
|
+
relatedCommands: [
|
|
77
|
+
{ command: 'node info <class>', description: '查看特定节点的详细信息' },
|
|
78
|
+
{ command: 'model list', description: '列出可用模型' },
|
|
79
|
+
],
|
|
80
|
+
notes: [
|
|
81
|
+
'返回 ComfyUI 中所有可用节点类型',
|
|
82
|
+
'使用 --filter 参数进行模糊搜索',
|
|
83
|
+
'配合 node info 命令查看节点详细信息',
|
|
84
|
+
],
|
|
85
|
+
});
|
|
46
86
|
// comfy node info
|
|
47
|
-
nodeCmd
|
|
87
|
+
const infoCmd = nodeCmd
|
|
48
88
|
.command('info')
|
|
49
|
-
.description('查看节点详情')
|
|
89
|
+
.description('查看节点详情 - 查看指定节点的输入输出参数和配置')
|
|
50
90
|
.argument('<class>', '节点类名')
|
|
51
|
-
.option('--json', '输出 JSON 格式')
|
|
52
91
|
.action(async (nodeClass, options) => {
|
|
92
|
+
const pretty = isPrettyMode(options);
|
|
53
93
|
try {
|
|
54
94
|
const client = new ComfyAPIClient();
|
|
55
95
|
const nodeInfo = await client.getObjectInfo(nodeClass);
|
|
56
|
-
if (
|
|
96
|
+
if (pretty) {
|
|
97
|
+
console.log(`\n📦 节点: ${nodeClass}\n`);
|
|
57
98
|
console.log(JSON.stringify(nodeInfo, null, 2));
|
|
58
99
|
}
|
|
59
100
|
else {
|
|
60
|
-
|
|
61
|
-
|
|
101
|
+
outputSuccess({
|
|
102
|
+
class: nodeClass,
|
|
103
|
+
info: nodeInfo,
|
|
104
|
+
});
|
|
62
105
|
}
|
|
63
106
|
}
|
|
64
107
|
catch (err) {
|
|
65
|
-
|
|
66
|
-
process.exit(1);
|
|
108
|
+
outputError('NODE_INFO_FAILED', `获取节点信息失败: ${err}`, options);
|
|
67
109
|
}
|
|
68
110
|
});
|
|
111
|
+
// Add enhanced help for info command
|
|
112
|
+
addEnhancedHelp(infoCmd, {
|
|
113
|
+
examples: [
|
|
114
|
+
'# 查看 KSampler 节点详情',
|
|
115
|
+
'$ comfy node info KSampler',
|
|
116
|
+
'',
|
|
117
|
+
'# 查看 LoadImage 节点详情',
|
|
118
|
+
'$ comfy node info LoadImage',
|
|
119
|
+
'',
|
|
120
|
+
'# Pretty 模式',
|
|
121
|
+
'$ comfy node info SaveImage --pretty',
|
|
122
|
+
],
|
|
123
|
+
outputJson: `{
|
|
124
|
+
"success": true,
|
|
125
|
+
"data": {
|
|
126
|
+
"class": "KSampler",
|
|
127
|
+
"info": {
|
|
128
|
+
"input": {
|
|
129
|
+
"required": {...},
|
|
130
|
+
"optional": {...}
|
|
131
|
+
},
|
|
132
|
+
"output": [...],
|
|
133
|
+
"category": "sampling"
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}`,
|
|
137
|
+
relatedCommands: [
|
|
138
|
+
{ command: 'node list', description: '列出所有节点类型' },
|
|
139
|
+
{ command: 'node list --filter <text>', description: '搜索节点' },
|
|
140
|
+
],
|
|
141
|
+
notes: [
|
|
142
|
+
'返回节点的完整定义信息',
|
|
143
|
+
'包含输入参数、输出类型、分类等',
|
|
144
|
+
'用于构建自定义 workflow 时了解节点接口',
|
|
145
|
+
],
|
|
146
|
+
});
|
|
69
147
|
}
|
|
70
148
|
//# sourceMappingURL=node.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/commands/node.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/commands/node.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../src/commands/queue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../src/commands/queue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,QA+MpD"}
|