@optima-chat/comfy-cli 0.4.0 → 0.4.2
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/README.md +55 -16
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +92 -6
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/download.d.ts.map +1 -1
- package/dist/commands/download.js +43 -4
- package/dist/commands/download.js.map +1 -1
- package/dist/commands/edit.d.ts.map +1 -1
- package/dist/commands/edit.js +42 -4
- package/dist/commands/edit.js.map +1 -1
- package/dist/commands/generate.d.ts.map +1 -1
- package/dist/commands/generate.js +49 -6
- package/dist/commands/generate.js.map +1 -1
- package/dist/commands/interrupt.d.ts.map +1 -1
- package/dist/commands/interrupt.js +29 -2
- package/dist/commands/interrupt.js.map +1 -1
- package/dist/commands/model.d.ts.map +1 -1
- package/dist/commands/model.js +36 -2
- package/dist/commands/model.js.map +1 -1
- package/dist/commands/node.d.ts.map +1 -1
- package/dist/commands/node.js +76 -4
- package/dist/commands/node.js.map +1 -1
- package/dist/commands/queue.d.ts.map +1 -1
- package/dist/commands/queue.js +83 -8
- package/dist/commands/queue.js.map +1 -1
- package/dist/commands/system.d.ts.map +1 -1
- package/dist/commands/system.js +40 -2
- package/dist/commands/system.js.map +1 -1
- package/dist/commands/video.d.ts.map +1 -1
- package/dist/commands/video.js +52 -7
- package/dist/commands/video.js.map +1 -1
- package/dist/commands/workflow.d.ts.map +1 -1
- package/dist/commands/workflow.js +100 -8
- package/dist/commands/workflow.js.map +1 -1
- package/dist/index.js +26 -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/package.json +1 -1
|
@@ -2,15 +2,16 @@ import { ComfyAPIClient } from '../services/api.js';
|
|
|
2
2
|
import { loadWorkflow, extractVariables } from '../utils/workflow.js';
|
|
3
3
|
import { success, info } from '../utils/logger.js';
|
|
4
4
|
import { outputSuccess, outputError, isPrettyMode } from '../utils/output.js';
|
|
5
|
+
import { addEnhancedHelp } from '../utils/helpText.js';
|
|
5
6
|
import Table from 'cli-table3';
|
|
6
7
|
export function registerWorkflowCommand(program) {
|
|
7
8
|
const workflowCmd = program
|
|
8
9
|
.command('workflow')
|
|
9
10
|
.description('工作流管理');
|
|
10
11
|
// comfy workflow submit
|
|
11
|
-
workflowCmd
|
|
12
|
+
const submitCmd = workflowCmd
|
|
12
13
|
.command('submit')
|
|
13
|
-
.description('提交工作流')
|
|
14
|
+
.description('提交工作流 - 提交自定义 ComfyUI workflow JSON 文件')
|
|
14
15
|
.argument('<file>', 'workflow JSON 文件路径')
|
|
15
16
|
.option('--wait', '等待执行完成')
|
|
16
17
|
.action(async (file, options) => {
|
|
@@ -53,11 +54,38 @@ export function registerWorkflowCommand(program) {
|
|
|
53
54
|
outputError('WORKFLOW_SUBMIT_FAILED', `提交失败: ${err}`, options);
|
|
54
55
|
}
|
|
55
56
|
});
|
|
57
|
+
// Add enhanced help for submit command
|
|
58
|
+
addEnhancedHelp(submitCmd, {
|
|
59
|
+
examples: [
|
|
60
|
+
'# 提交工作流',
|
|
61
|
+
'$ comfy workflow submit my-workflow.json',
|
|
62
|
+
'',
|
|
63
|
+
'# 提交并等待完成',
|
|
64
|
+
'$ comfy workflow submit my-workflow.json --wait',
|
|
65
|
+
],
|
|
66
|
+
outputJson: `{
|
|
67
|
+
"success": true,
|
|
68
|
+
"data": {
|
|
69
|
+
"prompt_id": "abc-123-def",
|
|
70
|
+
"variables": ["prompt", "width"]
|
|
71
|
+
}
|
|
72
|
+
}`,
|
|
73
|
+
relatedCommands: [
|
|
74
|
+
{ command: 'workflow list', description: '查看工作流历史' },
|
|
75
|
+
{ command: 'workflow get <id>', description: '查看工作流结果' },
|
|
76
|
+
{ command: 'download <id>', description: '下载输出结果' },
|
|
77
|
+
],
|
|
78
|
+
notes: [
|
|
79
|
+
'workflow 文件为标准 ComfyUI workflow JSON 格式',
|
|
80
|
+
'支持变量替换(使用 {{variable_name}} 格式)',
|
|
81
|
+
'提交后返回 prompt_id 用于查询和下载结果',
|
|
82
|
+
],
|
|
83
|
+
});
|
|
56
84
|
// comfy workflow list
|
|
57
|
-
workflowCmd
|
|
85
|
+
const listCmd = workflowCmd
|
|
58
86
|
.command('list')
|
|
59
|
-
.description('列出工作流历史')
|
|
60
|
-
.option('--limit <number>', '限制数量', '10')
|
|
87
|
+
.description('列出工作流历史 - 查看最近提交的工作流执行记录')
|
|
88
|
+
.option('--limit <number>', '限制数量 (默认: 10)', '10')
|
|
61
89
|
.action(async (options) => {
|
|
62
90
|
const pretty = isPrettyMode(options);
|
|
63
91
|
try {
|
|
@@ -97,13 +125,49 @@ export function registerWorkflowCommand(program) {
|
|
|
97
125
|
outputError('WORKFLOW_LIST_FAILED', `获取历史失败: ${err}`, options);
|
|
98
126
|
}
|
|
99
127
|
});
|
|
128
|
+
// Add enhanced help for list command
|
|
129
|
+
addEnhancedHelp(listCmd, {
|
|
130
|
+
examples: [
|
|
131
|
+
'# 列出最近 10 条工作流历史(默认 JSON)',
|
|
132
|
+
'$ comfy workflow list',
|
|
133
|
+
'',
|
|
134
|
+
'# 列出最近 20 条',
|
|
135
|
+
'$ comfy workflow list --limit 20',
|
|
136
|
+
'',
|
|
137
|
+
'# Pretty 模式',
|
|
138
|
+
'$ comfy workflow list --pretty',
|
|
139
|
+
],
|
|
140
|
+
outputJson: `{
|
|
141
|
+
"success": true,
|
|
142
|
+
"data": {
|
|
143
|
+
"workflows": [
|
|
144
|
+
{
|
|
145
|
+
"prompt_id": "abc-123-def",
|
|
146
|
+
"completed": true,
|
|
147
|
+
"status_str": "success"
|
|
148
|
+
}
|
|
149
|
+
],
|
|
150
|
+
"total": 10
|
|
151
|
+
}
|
|
152
|
+
}`,
|
|
153
|
+
relatedCommands: [
|
|
154
|
+
{ command: 'workflow get <id>', description: '查看单个工作流详情' },
|
|
155
|
+
{ command: 'download <id>', description: '下载工作流输出结果' },
|
|
156
|
+
{ command: 'queue status', description: '查看当前队列状态' },
|
|
157
|
+
],
|
|
158
|
+
notes: [
|
|
159
|
+
'默认显示最近 10 条记录',
|
|
160
|
+
'使用 --limit 参数控制数量',
|
|
161
|
+
'记录包含 prompt_id、完成状态和状态信息',
|
|
162
|
+
],
|
|
163
|
+
});
|
|
100
164
|
// comfy workflow get
|
|
101
|
-
workflowCmd
|
|
165
|
+
const getCmd = workflowCmd
|
|
102
166
|
.command('get')
|
|
103
|
-
.description('获取工作流结果')
|
|
167
|
+
.description('获取工作流结果 - 查看指定工作流的执行详情和输出')
|
|
104
168
|
.argument('<prompt_id>', 'Prompt ID')
|
|
105
169
|
.option('--download', '下载输出图像')
|
|
106
|
-
.option('--output <dir>', '输出目录', './output')
|
|
170
|
+
.option('--output <dir>', '输出目录 (默认: ./output)', './output')
|
|
107
171
|
.action(async (promptId, options) => {
|
|
108
172
|
const pretty = isPrettyMode(options);
|
|
109
173
|
try {
|
|
@@ -142,5 +206,33 @@ export function registerWorkflowCommand(program) {
|
|
|
142
206
|
outputError('WORKFLOW_GET_FAILED', `获取结果失败: ${err}`, options);
|
|
143
207
|
}
|
|
144
208
|
});
|
|
209
|
+
// Add enhanced help for get command
|
|
210
|
+
addEnhancedHelp(getCmd, {
|
|
211
|
+
examples: [
|
|
212
|
+
'# 查看工作流结果',
|
|
213
|
+
'$ comfy workflow get abc-123-def',
|
|
214
|
+
'',
|
|
215
|
+
'# Pretty 模式',
|
|
216
|
+
'$ comfy workflow get abc-123-def --pretty',
|
|
217
|
+
],
|
|
218
|
+
outputJson: `{
|
|
219
|
+
"success": true,
|
|
220
|
+
"data": {
|
|
221
|
+
"prompt_id": "abc-123-def",
|
|
222
|
+
"completed": true,
|
|
223
|
+
"status_str": "success",
|
|
224
|
+
"outputs": {...}
|
|
225
|
+
}
|
|
226
|
+
}`,
|
|
227
|
+
relatedCommands: [
|
|
228
|
+
{ command: 'download <id>', description: '下载工作流输出文件' },
|
|
229
|
+
{ command: 'workflow list', description: '查看所有工作流历史' },
|
|
230
|
+
],
|
|
231
|
+
notes: [
|
|
232
|
+
'返回工作流的完整执行信息',
|
|
233
|
+
'包含状态、输出节点等详细信息',
|
|
234
|
+
'使用 download 命令下载实际文件',
|
|
235
|
+
],
|
|
236
|
+
});
|
|
145
237
|
}
|
|
146
238
|
//# sourceMappingURL=workflow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/commands/workflow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAoB,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,OAAO,EAAS,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAa,MAAM,oBAAoB,CAAC;AACzF,OAAO,KAAK,MAAM,YAAY,CAAC;AAG/B,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,MAAM,WAAW,GAAG,OAAO;SACxB,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,OAAO,CAAC,CAAC;IAExB,wBAAwB;IACxB,WAAW;
|
|
1
|
+
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/commands/workflow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAoB,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,OAAO,EAAS,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAa,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,MAAM,YAAY,CAAC;AAG/B,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,MAAM,WAAW,GAAG,OAAO;SACxB,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,OAAO,CAAC,CAAC;IAExB,wBAAwB;IACxB,MAAM,SAAS,GAAG,WAAW;SAC1B,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,wCAAwC,CAAC;SACrD,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;SACxC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC;SAC1B,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,OAAO,EAAE,EAAE;QACtC,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QAErC,IAAI,CAAC;YACH,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;YAC3B,CAAC;YAED,cAAc;YACd,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YAEpC,OAAO;YACP,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAE7C,IAAI,MAAM,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,OAAO,SAAS,CAAC,MAAM,SAAS,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC7D,IAAI,CAAC,yCAAyC,CAAC,CAAC;YAClD,CAAC;YAED,cAAc;YACd,MAAM,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAErD,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAClB,IAAI,CAAC,cAAc,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;gBAEvC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;oBACjB,IAAI,CAAC,WAAW,CAAC,CAAC;oBAClB,wBAAwB;oBACxB,IAAI,CAAC,oBAAoB,CAAC,CAAC;gBAC7B,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,0BAA0B,MAAM,CAAC,SAAS,QAAQ,CAAC,CAAC;gBAC3D,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,aAAa,CAAC;oBACZ,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,SAAS,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;iBACxD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,wBAAwB,EAAE,SAAS,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;QACjE,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,uCAAuC;IACvC,eAAe,CAAC,SAAS,EAAE;QACzB,QAAQ,EAAE;YACR,SAAS;YACT,0CAA0C;YAC1C,EAAE;YACF,WAAW;YACX,iDAAiD;SAClD;QACD,UAAU,EAAE;;;;;;EAMd;QACE,eAAe,EAAE;YACf,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,SAAS,EAAE;YACpD,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,SAAS,EAAE;YACxD,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE;SACpD;QACD,KAAK,EAAE;YACL,yCAAyC;YACzC,iCAAiC;YACjC,2BAA2B;SAC5B;KACF,CAAC,CAAC;IAEH,sBAAsB;IACtB,MAAM,OAAO,GAAG,WAAW;SACxB,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,0BAA0B,CAAC;SACvC,MAAM,CAAC,kBAAkB,EAAE,eAAe,EAAE,IAAI,CAAC;SACjD,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,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;YAE1C,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YAE/E,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC9B,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACf,OAAO;gBACT,CAAC;gBAED,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC;oBACtB,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC;oBAC/B,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;iBACxB,CAAC,CAAC;gBAEH,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAgB,EAAE,EAAE;oBACvD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;oBACxD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,UAAU,IAAI,GAAG,CAAC;oBACjD,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;gBAC5C,CAAC,CAAC,CAAC;gBAEH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC9B,IAAI,CAAC,KAAK,YAAY,CAAC,MAAM,MAAM,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAgB,EAAE,EAAE,CAAC,CAAC;oBACvE,SAAS,EAAE,QAAQ;oBACnB,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,IAAI,KAAK;oBAC1C,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,IAAI,IAAI;iBAC5C,CAAC,CAAC,CAAC;gBACJ,aAAa,CAAC;oBACZ,SAAS;oBACT,KAAK,EAAE,YAAY,CAAC,MAAM;iBAC3B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,sBAAsB,EAAE,WAAW,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;QACjE,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,qCAAqC;IACrC,eAAe,CAAC,OAAO,EAAE;QACvB,QAAQ,EAAE;YACR,2BAA2B;YAC3B,uBAAuB;YACvB,EAAE;YACF,aAAa;YACb,kCAAkC;YAClC,EAAE;YACF,aAAa;YACb,gCAAgC;SACjC;QACD,UAAU,EAAE;;;;;;;;;;;;EAYd;QACE,eAAe,EAAE;YACf,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,WAAW,EAAE;YAC1D,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE;YACtD,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE;SACrD;QACD,KAAK,EAAE;YACL,eAAe;YACf,mBAAmB;YACnB,0BAA0B;SAC3B;KACF,CAAC,CAAC;IAEH,qBAAqB;IACrB,MAAM,MAAM,GAAG,WAAW;SACvB,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,2BAA2B,CAAC;SACxC,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC;SACpC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC;SAC9B,MAAM,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,UAAU,CAAC;SAC3D,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,OAAO,EAAE,EAAE;QAC1C,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QAErC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAEjD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtB,WAAW,CAAC,oBAAoB,EAAE,kBAAkB,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;YAC3E,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;YAE9B,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC;gBAElC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAChB,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;oBACvD,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;wBAC3B,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;oBACxC,CAAC;gBACH,CAAC;gBAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,IAAI,CAAC,KAAK,CAAC,CAAC;oBACZ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACrD,CAAC;gBAED,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACrB,IAAI,CAAC,UAAU,CAAC,CAAC;gBACnB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,aAAa,CAAC;oBACZ,SAAS,EAAE,QAAQ;oBACnB,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,IAAI,KAAK;oBAC1C,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,IAAI,IAAI;oBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI;iBAC9B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,qBAAqB,EAAE,WAAW,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;QAChE,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,oCAAoC;IACpC,eAAe,CAAC,MAAM,EAAE;QACtB,QAAQ,EAAE;YACR,WAAW;YACX,kCAAkC;YAClC,EAAE;YACF,aAAa;YACb,2CAA2C;SAC5C;QACD,UAAU,EAAE;;;;;;;;EAQd;QACE,eAAe,EAAE;YACf,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE;YACtD,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE;SACvD;QACD,KAAK,EAAE;YACL,cAAc;YACd,gBAAgB;YAChB,sBAAsB;SACvB;KACF,CAAC,CAAC;AACL,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -21,7 +21,7 @@ const packageJson = JSON.parse(readFileSync(join(__dirname, '../package.json'),
|
|
|
21
21
|
const program = new Command();
|
|
22
22
|
program
|
|
23
23
|
.name('comfy')
|
|
24
|
-
.description('
|
|
24
|
+
.description('ComfyUI CLI for AI Agents - 专为 AI Agent 设计的 ComfyUI 命令行工具')
|
|
25
25
|
.version(packageJson.version)
|
|
26
26
|
.option('--pretty', '使用人类可读的表格格式输出(默认为 JSON)')
|
|
27
27
|
.hook('preAction', (thisCommand) => {
|
|
@@ -30,7 +30,31 @@ program
|
|
|
30
30
|
if (opts.pretty) {
|
|
31
31
|
setGlobalPrettyMode(true);
|
|
32
32
|
}
|
|
33
|
-
})
|
|
33
|
+
})
|
|
34
|
+
.addHelpText('after', `
|
|
35
|
+
Output Formats:
|
|
36
|
+
默认输出 JSON 格式(AI 友好),支持两种输出模式:
|
|
37
|
+
--json JSON 格式(默认)- 机器可读,AI 友好,减少 50%+ token
|
|
38
|
+
--pretty 表格格式 - 人类可读,带颜色和表格
|
|
39
|
+
|
|
40
|
+
全局使用:comfy --pretty <command>
|
|
41
|
+
命令使用:comfy <command> --pretty
|
|
42
|
+
|
|
43
|
+
配置管理:
|
|
44
|
+
首次使用前需要配置 ComfyUI 服务器地址:
|
|
45
|
+
$ comfy config set server http://localhost:8188
|
|
46
|
+
|
|
47
|
+
常用命令:
|
|
48
|
+
$ comfy generate "a cat" # 生成图像(默认 JSON 输出)
|
|
49
|
+
$ comfy generate "a cat" --pretty # 生成图像(表格输出)
|
|
50
|
+
$ comfy workflow list # 列出工作流历史
|
|
51
|
+
$ comfy queue status # 查看队列状态
|
|
52
|
+
$ comfy download <prompt_id> # 下载生成结果
|
|
53
|
+
|
|
54
|
+
文档:
|
|
55
|
+
GitHub: https://github.com/Optima-Chat/comfy-cli
|
|
56
|
+
Issues: https://github.com/Optima-Chat/comfy-cli/issues
|
|
57
|
+
`);
|
|
34
58
|
// 注册功能命令
|
|
35
59
|
registerGenerateCommand(program);
|
|
36
60
|
registerEditCommand(program);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AAE1F,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AAE1F,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,2DAA2D,CAAC;KACxE,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;KAC5B,MAAM,CAAC,UAAU,EAAE,yBAAyB,CAAC;KAC7C,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,EAAE;IACjC,6BAA6B;IAC7B,MAAM,IAAI,GAAG,WAAW,CAAC,eAAe,EAAE,CAAC;IAC3C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC,CAAC;KACD,WAAW,CAAC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;CAuBvB,CAAC,CAAC;AAEH,SAAS;AACT,uBAAuB,CAAC,OAAO,CAAC,CAAC;AACjC,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,uBAAuB,CAAC,OAAO,CAAC,CAAC;AAEjC,SAAS;AACT,uBAAuB,CAAC,OAAO,CAAC,CAAC;AACjC,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAElC,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
export interface HelpTextOptions {
|
|
3
|
+
examples?: string[];
|
|
4
|
+
outputJson?: string;
|
|
5
|
+
relatedCommands?: Array<{
|
|
6
|
+
command: string;
|
|
7
|
+
description: string;
|
|
8
|
+
}>;
|
|
9
|
+
notes?: string[];
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Add enhanced help text to a command with examples, output format, related commands, and notes
|
|
13
|
+
*/
|
|
14
|
+
export declare function addEnhancedHelp(command: Command, options: HelpTextOptions): Command;
|
|
15
|
+
//# sourceMappingURL=helpText.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpText.d.ts","sourceRoot":"","sources":["../../src/utils/helpText.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,eAAe,GACvB,OAAO,CAsCT"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Add enhanced help text to a command with examples, output format, related commands, and notes
|
|
3
|
+
*/
|
|
4
|
+
export function addEnhancedHelp(command, options) {
|
|
5
|
+
command.addHelpText('after', () => {
|
|
6
|
+
let text = '';
|
|
7
|
+
if (options.examples && options.examples.length > 0) {
|
|
8
|
+
text += '\nExamples:\n';
|
|
9
|
+
options.examples.forEach(ex => {
|
|
10
|
+
text += ` ${ex}\n`;
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
if (options.outputJson) {
|
|
14
|
+
text += '\nOutput (JSON):\n';
|
|
15
|
+
const lines = options.outputJson.split('\n');
|
|
16
|
+
lines.forEach(line => {
|
|
17
|
+
text += ` ${line}\n`;
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
if (options.relatedCommands && options.relatedCommands.length > 0) {
|
|
21
|
+
text += '\nRelated Commands:\n';
|
|
22
|
+
options.relatedCommands.forEach(rc => {
|
|
23
|
+
const cmd = `comfy ${rc.command}`.padEnd(30);
|
|
24
|
+
text += ` ${cmd} ${rc.description}\n`;
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
if (options.notes && options.notes.length > 0) {
|
|
28
|
+
text += '\nNotes:\n';
|
|
29
|
+
options.notes.forEach(note => {
|
|
30
|
+
text += ` - ${note}\n`;
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
return text;
|
|
34
|
+
});
|
|
35
|
+
return command;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=helpText.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpText.js","sourceRoot":"","sources":["../../src/utils/helpText.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,OAAgB,EAChB,OAAwB;IAExB,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE;QAChC,IAAI,IAAI,GAAG,EAAE,CAAC;QAEd,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpD,IAAI,IAAI,eAAe,CAAC;YACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;gBAC5B,IAAI,IAAI,KAAK,EAAE,IAAI,CAAC;YACtB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,IAAI,IAAI,oBAAoB,CAAC;YAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7C,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACnB,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC;YACxB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClE,IAAI,IAAI,uBAAuB,CAAC;YAChC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;gBACnC,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC7C,IAAI,IAAI,KAAK,GAAG,IAAI,EAAE,CAAC,WAAW,IAAI,CAAC;YACzC,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,IAAI,IAAI,YAAY,CAAC;YACrB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC3B,IAAI,IAAI,OAAO,IAAI,IAAI,CAAC;YAC1B,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC"}
|