@optima-chat/gen-cli 1.0.0 → 1.0.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/index.js +0 -0
- package/package.json +1 -1
- package/dist/backends/bfl.d.ts +0 -18
- package/dist/backends/bfl.d.ts.map +0 -1
- package/dist/backends/bfl.js +0 -130
- package/dist/backends/bfl.js.map +0 -1
- package/dist/backends/comfyui.d.ts +0 -10
- package/dist/backends/comfyui.d.ts.map +0 -1
- package/dist/backends/comfyui.js +0 -121
- package/dist/backends/comfyui.js.map +0 -1
- package/dist/backends/index.d.ts +0 -24
- package/dist/backends/index.d.ts.map +0 -1
- package/dist/backends/index.js +0 -59
- package/dist/backends/index.js.map +0 -1
- package/dist/backends/types.d.ts +0 -99
- package/dist/backends/types.d.ts.map +0 -1
- package/dist/backends/types.js +0 -2
- package/dist/backends/types.js.map +0 -1
- package/dist/backends/video-dashscope.d.ts +0 -10
- package/dist/backends/video-dashscope.d.ts.map +0 -1
- package/dist/backends/video-dashscope.js +0 -108
- package/dist/backends/video-dashscope.js.map +0 -1
- package/dist/backends/video-index.d.ts +0 -23
- package/dist/backends/video-index.d.ts.map +0 -1
- package/dist/backends/video-index.js +0 -57
- package/dist/backends/video-index.js.map +0 -1
- package/dist/commands/download.d.ts +0 -3
- package/dist/commands/download.d.ts.map +0 -1
- package/dist/commands/download.js +0 -169
- package/dist/commands/download.js.map +0 -1
- package/dist/commands/edit.d.ts +0 -3
- package/dist/commands/edit.d.ts.map +0 -1
- package/dist/commands/edit.js +0 -155
- package/dist/commands/edit.js.map +0 -1
- package/dist/commands/generate.d.ts +0 -3
- package/dist/commands/generate.d.ts.map +0 -1
- package/dist/commands/generate.js +0 -135
- package/dist/commands/generate.js.map +0 -1
- package/dist/commands/init.d.ts +0 -3
- package/dist/commands/init.d.ts.map +0 -1
- package/dist/commands/init.js +0 -144
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/interrupt.d.ts +0 -3
- package/dist/commands/interrupt.d.ts.map +0 -1
- package/dist/commands/interrupt.js +0 -54
- package/dist/commands/interrupt.js.map +0 -1
- package/dist/commands/model.d.ts +0 -3
- package/dist/commands/model.d.ts.map +0 -1
- package/dist/commands/model.js +0 -82
- package/dist/commands/model.js.map +0 -1
- package/dist/commands/node.d.ts +0 -3
- package/dist/commands/node.d.ts.map +0 -1
- package/dist/commands/node.js +0 -148
- package/dist/commands/node.js.map +0 -1
- package/dist/commands/queue.d.ts +0 -3
- package/dist/commands/queue.d.ts.map +0 -1
- package/dist/commands/queue.js +0 -199
- package/dist/commands/queue.js.map +0 -1
- package/dist/commands/system.d.ts +0 -3
- package/dist/commands/system.d.ts.map +0 -1
- package/dist/commands/system.js +0 -85
- package/dist/commands/system.js.map +0 -1
- package/dist/commands/workflow.d.ts +0 -3
- package/dist/commands/workflow.d.ts.map +0 -1
- package/dist/commands/workflow.js +0 -244
- package/dist/commands/workflow.js.map +0 -1
- package/dist/services/api.d.ts +0 -23
- package/dist/services/api.d.ts.map +0 -1
- package/dist/services/api.js +0 -108
- package/dist/services/api.js.map +0 -1
- package/dist/services/bfl-api.d.ts +0 -67
- package/dist/services/bfl-api.d.ts.map +0 -1
- package/dist/services/bfl-api.js +0 -108
- package/dist/services/bfl-api.js.map +0 -1
- package/dist/services/dashscope-api.d.ts +0 -69
- package/dist/services/dashscope-api.d.ts.map +0 -1
- package/dist/services/dashscope-api.js +0 -134
- package/dist/services/dashscope-api.js.map +0 -1
- package/dist/services/dashscope-tts-api.d.ts +0 -23
- package/dist/services/dashscope-tts-api.d.ts.map +0 -1
- package/dist/services/dashscope-tts-api.js +0 -56
- package/dist/services/dashscope-tts-api.js.map +0 -1
- package/dist/services/fashn-api.d.ts +0 -57
- package/dist/services/fashn-api.d.ts.map +0 -1
- package/dist/services/fashn-api.js +0 -84
- package/dist/services/fashn-api.js.map +0 -1
- package/dist/services/groq-api.d.ts +0 -18
- package/dist/services/groq-api.d.ts.map +0 -1
- package/dist/services/groq-api.js +0 -30
- package/dist/services/groq-api.js.map +0 -1
- package/dist/services/websocket.d.ts +0 -33
- package/dist/services/websocket.d.ts.map +0 -1
- package/dist/services/websocket.js +0 -217
- package/dist/services/websocket.js.map +0 -1
- package/dist/utils/workflow.d.ts +0 -17
- package/dist/utils/workflow.d.ts.map +0 -1
- package/dist/utils/workflow.js +0 -81
- package/dist/utils/workflow.js.map +0 -1
package/dist/commands/queue.js
DELETED
|
@@ -1,199 +0,0 @@
|
|
|
1
|
-
import { ComfyAPIClient } from '../services/api.js';
|
|
2
|
-
import { success, info } from '../utils/logger.js';
|
|
3
|
-
import { outputSuccess, outputError, isPrettyMode } from '../utils/output.js';
|
|
4
|
-
import { addEnhancedHelp } from '../utils/helpText.js';
|
|
5
|
-
import Table from 'cli-table3';
|
|
6
|
-
export function registerQueueCommand(program) {
|
|
7
|
-
const queueCmd = program
|
|
8
|
-
.command('queue')
|
|
9
|
-
.description('队列管理');
|
|
10
|
-
// comfy queue status
|
|
11
|
-
const statusCmd = queueCmd
|
|
12
|
-
.command('status')
|
|
13
|
-
.description('查看队列状态 - 查看 ComfyUI 当前正在执行和等待的任务')
|
|
14
|
-
.action(async (options) => {
|
|
15
|
-
const pretty = isPrettyMode(options);
|
|
16
|
-
try {
|
|
17
|
-
const client = new ComfyAPIClient();
|
|
18
|
-
const queue = await client.getQueue();
|
|
19
|
-
if (pretty) {
|
|
20
|
-
const running = queue.queue_running || [];
|
|
21
|
-
const pending = queue.queue_pending || [];
|
|
22
|
-
console.log(`\n📊 队列状态\n`);
|
|
23
|
-
if (running.length > 0) {
|
|
24
|
-
info('🏃 正在执行:');
|
|
25
|
-
const table = new Table({
|
|
26
|
-
head: ['位置', 'Prompt ID', '节点数'],
|
|
27
|
-
colWidths: [8, 40, 12],
|
|
28
|
-
});
|
|
29
|
-
running.forEach((item, index) => {
|
|
30
|
-
table.push([index + 1, item[1] || '-', item[2]?.length || 0]);
|
|
31
|
-
});
|
|
32
|
-
console.log(table.toString());
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
info('✓ 当前无正在执行的任务');
|
|
36
|
-
}
|
|
37
|
-
console.log('');
|
|
38
|
-
if (pending.length > 0) {
|
|
39
|
-
info(`⏳ 等待中: ${pending.length} 个任务`);
|
|
40
|
-
const table = new Table({
|
|
41
|
-
head: ['位置', 'Prompt ID', '节点数'],
|
|
42
|
-
colWidths: [8, 40, 12],
|
|
43
|
-
});
|
|
44
|
-
pending.forEach((item, index) => {
|
|
45
|
-
table.push([index + 1, item[1] || '-', item[2]?.length || 0]);
|
|
46
|
-
});
|
|
47
|
-
console.log(table.toString());
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
info('✓ 无等待任务');
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
const running = (queue.queue_running || []).map((item, index) => ({
|
|
55
|
-
position: index + 1,
|
|
56
|
-
prompt_id: item[1] || null,
|
|
57
|
-
node_count: item[2]?.length || 0,
|
|
58
|
-
}));
|
|
59
|
-
const pending = (queue.queue_pending || []).map((item, index) => ({
|
|
60
|
-
position: index + 1,
|
|
61
|
-
prompt_id: item[1] || null,
|
|
62
|
-
node_count: item[2]?.length || 0,
|
|
63
|
-
}));
|
|
64
|
-
outputSuccess({
|
|
65
|
-
running,
|
|
66
|
-
pending,
|
|
67
|
-
running_count: running.length,
|
|
68
|
-
pending_count: pending.length,
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
catch (err) {
|
|
73
|
-
outputError('QUEUE_STATUS_FAILED', `获取队列状态失败: ${err}`, options);
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
// Add enhanced help for status command
|
|
77
|
-
addEnhancedHelp(statusCmd, {
|
|
78
|
-
examples: [
|
|
79
|
-
'# 查看队列状态(JSON 模式)',
|
|
80
|
-
'$ comfy queue status',
|
|
81
|
-
'',
|
|
82
|
-
'# Pretty 模式',
|
|
83
|
-
'$ comfy queue status --pretty',
|
|
84
|
-
],
|
|
85
|
-
outputJson: `{
|
|
86
|
-
"success": true,
|
|
87
|
-
"data": {
|
|
88
|
-
"running": [],
|
|
89
|
-
"pending": [],
|
|
90
|
-
"running_count": 0,
|
|
91
|
-
"pending_count": 0
|
|
92
|
-
}
|
|
93
|
-
}`,
|
|
94
|
-
relatedCommands: [
|
|
95
|
-
{ command: 'queue clear --confirm', description: '清空队列' },
|
|
96
|
-
{ command: 'queue delete <id>', description: '删除指定任务' },
|
|
97
|
-
{ command: 'interrupt', description: '中断当前执行' },
|
|
98
|
-
],
|
|
99
|
-
notes: [
|
|
100
|
-
'running: 正在执行的任务列表',
|
|
101
|
-
'pending: 等待执行的任务列表',
|
|
102
|
-
'每个任务包含 prompt_id 和节点数量信息',
|
|
103
|
-
],
|
|
104
|
-
});
|
|
105
|
-
// comfy queue clear
|
|
106
|
-
const clearCmd = queueCmd
|
|
107
|
-
.command('clear')
|
|
108
|
-
.description('清空队列 - 清空所有等待中的任务(需要确认)')
|
|
109
|
-
.option('--confirm', '确认清空(必需)')
|
|
110
|
-
.action(async (options) => {
|
|
111
|
-
const pretty = isPrettyMode(options);
|
|
112
|
-
try {
|
|
113
|
-
if (!options.confirm) {
|
|
114
|
-
outputError('CONFIRM_REQUIRED', '请使用 --confirm 确认清空操作', options);
|
|
115
|
-
}
|
|
116
|
-
const client = new ComfyAPIClient();
|
|
117
|
-
await client.clearQueue();
|
|
118
|
-
if (pretty) {
|
|
119
|
-
success('队列已清空');
|
|
120
|
-
}
|
|
121
|
-
else {
|
|
122
|
-
outputSuccess({ message: '队列已清空' });
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
catch (err) {
|
|
126
|
-
outputError('QUEUE_CLEAR_FAILED', `清空队列失败: ${err}`, options);
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
// Add enhanced help for clear command
|
|
130
|
-
addEnhancedHelp(clearCmd, {
|
|
131
|
-
examples: [
|
|
132
|
-
'# 清空队列(需要 --confirm)',
|
|
133
|
-
'$ comfy queue clear --confirm',
|
|
134
|
-
],
|
|
135
|
-
outputJson: `{
|
|
136
|
-
"success": true,
|
|
137
|
-
"data": {
|
|
138
|
-
"message": "队列已清空"
|
|
139
|
-
}
|
|
140
|
-
}`,
|
|
141
|
-
relatedCommands: [
|
|
142
|
-
{ command: 'queue status', description: '查看队列状态' },
|
|
143
|
-
{ command: 'queue delete <id>', description: '删除单个任务' },
|
|
144
|
-
],
|
|
145
|
-
notes: [
|
|
146
|
-
'必须使用 --confirm 选项才能执行',
|
|
147
|
-
'只清空等待中的任务,不影响正在执行的任务',
|
|
148
|
-
'此操作不可撤销',
|
|
149
|
-
],
|
|
150
|
-
});
|
|
151
|
-
// comfy queue delete
|
|
152
|
-
const deleteCmd = queueCmd
|
|
153
|
-
.command('delete')
|
|
154
|
-
.description('删除指定队列项 - 从队列中删除指定的任务')
|
|
155
|
-
.argument('<item_id>', '队列项 ID(从 queue status 获取)')
|
|
156
|
-
.action(async (itemId, options) => {
|
|
157
|
-
const pretty = isPrettyMode(options);
|
|
158
|
-
try {
|
|
159
|
-
const client = new ComfyAPIClient();
|
|
160
|
-
await client.deleteQueueItem(itemId);
|
|
161
|
-
if (pretty) {
|
|
162
|
-
success(`已删除队列项: ${itemId}`);
|
|
163
|
-
}
|
|
164
|
-
else {
|
|
165
|
-
outputSuccess({
|
|
166
|
-
message: '已删除队列项',
|
|
167
|
-
item_id: itemId
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
catch (err) {
|
|
172
|
-
outputError('QUEUE_DELETE_FAILED', `删除失败: ${err}`, options);
|
|
173
|
-
}
|
|
174
|
-
});
|
|
175
|
-
// Add enhanced help for delete command
|
|
176
|
-
addEnhancedHelp(deleteCmd, {
|
|
177
|
-
examples: [
|
|
178
|
-
'# 删除指定队列项',
|
|
179
|
-
'$ comfy queue delete abc-123-def',
|
|
180
|
-
],
|
|
181
|
-
outputJson: `{
|
|
182
|
-
"success": true,
|
|
183
|
-
"data": {
|
|
184
|
-
"message": "已删除队列项",
|
|
185
|
-
"item_id": "abc-123-def"
|
|
186
|
-
}
|
|
187
|
-
}`,
|
|
188
|
-
relatedCommands: [
|
|
189
|
-
{ command: 'queue status', description: '查看队列获取 item_id' },
|
|
190
|
-
{ command: 'queue clear --confirm', description: '清空所有队列' },
|
|
191
|
-
],
|
|
192
|
-
notes: [
|
|
193
|
-
'item_id 从 queue status 命令获取',
|
|
194
|
-
'只能删除等待中的任务',
|
|
195
|
-
'正在执行的任务需要使用 interrupt 命令',
|
|
196
|
-
],
|
|
197
|
-
});
|
|
198
|
-
}
|
|
199
|
-
//# sourceMappingURL=queue.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../src/commands/queue.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../src/commands/system.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,QAoFrD"}
|
package/dist/commands/system.js
DELETED
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { ComfyAPIClient } from '../services/api.js';
|
|
2
|
-
import { info } from '../utils/logger.js';
|
|
3
|
-
import { outputSuccess, outputError, isPrettyMode } from '../utils/output.js';
|
|
4
|
-
import { addEnhancedHelp } from '../utils/helpText.js';
|
|
5
|
-
import Table from 'cli-table3';
|
|
6
|
-
export function registerSystemCommand(program) {
|
|
7
|
-
const systemCmd = program
|
|
8
|
-
.command('system')
|
|
9
|
-
.description('系统信息');
|
|
10
|
-
// comfy system stats
|
|
11
|
-
const statsCmd = systemCmd
|
|
12
|
-
.command('stats')
|
|
13
|
-
.description('查看系统统计信息 - 查看 ComfyUI 服务器的系统资源和设备状态')
|
|
14
|
-
.action(async (options) => {
|
|
15
|
-
const pretty = isPrettyMode(options);
|
|
16
|
-
try {
|
|
17
|
-
const client = new ComfyAPIClient();
|
|
18
|
-
const stats = await client.getSystemStats();
|
|
19
|
-
if (pretty) {
|
|
20
|
-
console.log(`\n💻 系统状态\n`);
|
|
21
|
-
if (stats.system) {
|
|
22
|
-
const table = new Table({
|
|
23
|
-
head: ['指标', '值'],
|
|
24
|
-
colWidths: [30, 50],
|
|
25
|
-
});
|
|
26
|
-
Object.entries(stats.system).forEach(([key, value]) => {
|
|
27
|
-
table.push([key, String(value)]);
|
|
28
|
-
});
|
|
29
|
-
console.log(table.toString());
|
|
30
|
-
}
|
|
31
|
-
if (stats.devices) {
|
|
32
|
-
console.log('\n🎮 设备信息:\n');
|
|
33
|
-
stats.devices.forEach((device, index) => {
|
|
34
|
-
info(`设备 ${index + 1}:`);
|
|
35
|
-
console.log(JSON.stringify(device, null, 2));
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
outputSuccess(stats);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
catch (err) {
|
|
44
|
-
outputError('SYSTEM_STATS_FAILED', `获取系统信息失败: ${err}`, options);
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
// Add enhanced help for stats command
|
|
48
|
-
addEnhancedHelp(statsCmd, {
|
|
49
|
-
examples: [
|
|
50
|
-
'# 查看系统统计信息',
|
|
51
|
-
'$ comfy system stats',
|
|
52
|
-
'',
|
|
53
|
-
'# Pretty 模式',
|
|
54
|
-
'$ comfy system stats --pretty',
|
|
55
|
-
],
|
|
56
|
-
outputJson: `{
|
|
57
|
-
"success": true,
|
|
58
|
-
"data": {
|
|
59
|
-
"system": {
|
|
60
|
-
"os": "linux",
|
|
61
|
-
"python_version": "3.10.12",
|
|
62
|
-
"pytorch_version": "2.0.1"
|
|
63
|
-
},
|
|
64
|
-
"devices": [
|
|
65
|
-
{
|
|
66
|
-
"name": "NVIDIA GeForce RTX 4090",
|
|
67
|
-
"type": "cuda",
|
|
68
|
-
"vram_total": 24564,
|
|
69
|
-
"vram_free": 18432
|
|
70
|
-
}
|
|
71
|
-
]
|
|
72
|
-
}
|
|
73
|
-
}`,
|
|
74
|
-
relatedCommands: [
|
|
75
|
-
{ command: 'queue status', description: '查看队列状态' },
|
|
76
|
-
{ command: 'model list', description: '列出可用模型' },
|
|
77
|
-
],
|
|
78
|
-
notes: [
|
|
79
|
-
'显示 ComfyUI 服务器的系统信息',
|
|
80
|
-
'包含 CPU、内存、GPU 等硬件信息',
|
|
81
|
-
'用于诊断性能问题和资源使用情况',
|
|
82
|
-
],
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
//# sourceMappingURL=system.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"system.js","sourceRoot":"","sources":["../../src/commands/system.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/commands/workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,QA+PvD"}
|
|
@@ -1,244 +0,0 @@
|
|
|
1
|
-
import { ComfyAPIClient } from '../services/api.js';
|
|
2
|
-
import { loadWorkflow, extractVariables } from '../utils/workflow.js';
|
|
3
|
-
import { success, info } from '../utils/logger.js';
|
|
4
|
-
import { outputSuccess, outputError, isPrettyMode } from '../utils/output.js';
|
|
5
|
-
import { addEnhancedHelp } from '../utils/helpText.js';
|
|
6
|
-
import Table from 'cli-table3';
|
|
7
|
-
export function registerWorkflowCommand(program) {
|
|
8
|
-
const workflowCmd = program
|
|
9
|
-
.command('workflow')
|
|
10
|
-
.description('工作流管理');
|
|
11
|
-
// comfy workflow submit
|
|
12
|
-
const submitCmd = workflowCmd
|
|
13
|
-
.command('submit')
|
|
14
|
-
.description('提交工作流 - 提交自定义 ComfyUI workflow JSON 文件')
|
|
15
|
-
.argument('<file>', 'workflow JSON 文件路径')
|
|
16
|
-
.option('--wait', '等待执行完成')
|
|
17
|
-
.action(async (file, options) => {
|
|
18
|
-
const pretty = isPrettyMode(options);
|
|
19
|
-
try {
|
|
20
|
-
if (pretty) {
|
|
21
|
-
info(`正在加载工作流: ${file}`);
|
|
22
|
-
}
|
|
23
|
-
// 加载 workflow
|
|
24
|
-
const workflow = loadWorkflow(file);
|
|
25
|
-
// 提取变量
|
|
26
|
-
const variables = extractVariables(workflow);
|
|
27
|
-
if (pretty && variables.length > 0) {
|
|
28
|
-
info(`检测到 ${variables.length} 个变量: ${variables.join(', ')}`);
|
|
29
|
-
info('提示: 使用 generate/edit/video 命令可以自动填充这些变量');
|
|
30
|
-
}
|
|
31
|
-
// 提交到 ComfyUI
|
|
32
|
-
const client = new ComfyAPIClient();
|
|
33
|
-
const result = await client.submitWorkflow(workflow);
|
|
34
|
-
if (pretty) {
|
|
35
|
-
success(`工作流已提交`);
|
|
36
|
-
info(`Prompt ID: ${result.prompt_id}`);
|
|
37
|
-
if (options.wait) {
|
|
38
|
-
info('等待执行完成...');
|
|
39
|
-
// TODO: 实现 WebSocket 监控
|
|
40
|
-
info('WebSocket 监控功能即将推出');
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
info(`使用 'comfy workflow get ${result.prompt_id}' 查看结果`);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
outputSuccess({
|
|
48
|
-
prompt_id: result.prompt_id,
|
|
49
|
-
variables: variables.length > 0 ? variables : undefined,
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
catch (err) {
|
|
54
|
-
outputError('WORKFLOW_SUBMIT_FAILED', `提交失败: ${err}`, options);
|
|
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
|
-
});
|
|
84
|
-
// comfy workflow list
|
|
85
|
-
const listCmd = workflowCmd
|
|
86
|
-
.command('list')
|
|
87
|
-
.description('列出工作流历史 - 查看最近提交的工作流执行记录')
|
|
88
|
-
.option('--limit <number>', '限制数量 (默认: 10)', '10')
|
|
89
|
-
.action(async (options) => {
|
|
90
|
-
const pretty = isPrettyMode(options);
|
|
91
|
-
try {
|
|
92
|
-
const client = new ComfyAPIClient();
|
|
93
|
-
const history = await client.getHistory();
|
|
94
|
-
const historyArray = Object.entries(history).slice(0, parseInt(options.limit));
|
|
95
|
-
if (pretty) {
|
|
96
|
-
if (historyArray.length === 0) {
|
|
97
|
-
info('暂无历史记录');
|
|
98
|
-
return;
|
|
99
|
-
}
|
|
100
|
-
const table = new Table({
|
|
101
|
-
head: ['Prompt ID', '状态', '时间'],
|
|
102
|
-
colWidths: [40, 15, 25],
|
|
103
|
-
});
|
|
104
|
-
historyArray.forEach(([promptId, data]) => {
|
|
105
|
-
const status = data.status?.completed ? '✓ 完成' : '✗ 失败';
|
|
106
|
-
const timestamp = data.status?.status_str || '-';
|
|
107
|
-
table.push([promptId, status, timestamp]);
|
|
108
|
-
});
|
|
109
|
-
console.log(table.toString());
|
|
110
|
-
info(`共 ${historyArray.length} 条记录`);
|
|
111
|
-
}
|
|
112
|
-
else {
|
|
113
|
-
const workflows = historyArray.map(([promptId, data]) => ({
|
|
114
|
-
prompt_id: promptId,
|
|
115
|
-
completed: data.status?.completed || false,
|
|
116
|
-
status_str: data.status?.status_str || null,
|
|
117
|
-
}));
|
|
118
|
-
outputSuccess({
|
|
119
|
-
workflows,
|
|
120
|
-
total: historyArray.length,
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
catch (err) {
|
|
125
|
-
outputError('WORKFLOW_LIST_FAILED', `获取历史失败: ${err}`, options);
|
|
126
|
-
}
|
|
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
|
-
});
|
|
164
|
-
// comfy workflow get
|
|
165
|
-
const getCmd = workflowCmd
|
|
166
|
-
.command('get')
|
|
167
|
-
.description('获取工作流结果 - 查看指定工作流的执行详情和输出')
|
|
168
|
-
.argument('<prompt_id>', 'Prompt ID')
|
|
169
|
-
.option('--download', '下载输出图像')
|
|
170
|
-
.option('--output <dir>', '输出目录 (默认: ./output)', './output')
|
|
171
|
-
.action(async (promptId, options) => {
|
|
172
|
-
const pretty = isPrettyMode(options);
|
|
173
|
-
try {
|
|
174
|
-
const client = new ComfyAPIClient();
|
|
175
|
-
const result = await client.getHistory(promptId);
|
|
176
|
-
if (!result[promptId]) {
|
|
177
|
-
outputError('WORKFLOW_NOT_FOUND', `未找到 Prompt ID: ${promptId}`, options);
|
|
178
|
-
}
|
|
179
|
-
const data = result[promptId];
|
|
180
|
-
if (pretty) {
|
|
181
|
-
success(`Prompt ID: ${promptId}`);
|
|
182
|
-
if (data.status) {
|
|
183
|
-
info(`状态: ${data.status.completed ? '✓ 完成' : '✗ 失败'}`);
|
|
184
|
-
if (data.status.status_str) {
|
|
185
|
-
info(`消息: ${data.status.status_str}`);
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
if (data.outputs) {
|
|
189
|
-
info('输出:');
|
|
190
|
-
console.log(JSON.stringify(data.outputs, null, 2));
|
|
191
|
-
}
|
|
192
|
-
if (options.download) {
|
|
193
|
-
info('下载功能即将推出');
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
else {
|
|
197
|
-
outputSuccess({
|
|
198
|
-
prompt_id: promptId,
|
|
199
|
-
completed: data.status?.completed || false,
|
|
200
|
-
status_str: data.status?.status_str || null,
|
|
201
|
-
outputs: data.outputs || null,
|
|
202
|
-
});
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
catch (err) {
|
|
206
|
-
outputError('WORKFLOW_GET_FAILED', `获取结果失败: ${err}`, options);
|
|
207
|
-
}
|
|
208
|
-
});
|
|
209
|
-
// Add enhanced help for get command
|
|
210
|
-
addEnhancedHelp(getCmd, {
|
|
211
|
-
examples: [
|
|
212
|
-
'# 查看工作流结果',
|
|
213
|
-
'$ comfy workflow get abc-123-def',
|
|
214
|
-
'',
|
|
215
|
-
'# 查看结果并下载输出文件',
|
|
216
|
-
'$ comfy workflow get abc-123-def --download',
|
|
217
|
-
'',
|
|
218
|
-
'# 下载到指定目录',
|
|
219
|
-
'$ comfy workflow get abc-123-def --download --output ./my-images',
|
|
220
|
-
'',
|
|
221
|
-
'# Pretty 模式',
|
|
222
|
-
'$ comfy workflow get abc-123-def --pretty',
|
|
223
|
-
],
|
|
224
|
-
outputJson: `{
|
|
225
|
-
"success": true,
|
|
226
|
-
"data": {
|
|
227
|
-
"prompt_id": "abc-123-def",
|
|
228
|
-
"completed": true,
|
|
229
|
-
"status_str": "success",
|
|
230
|
-
"outputs": {...}
|
|
231
|
-
}
|
|
232
|
-
}`,
|
|
233
|
-
relatedCommands: [
|
|
234
|
-
{ command: 'download <id>', description: '下载工作流输出文件' },
|
|
235
|
-
{ command: 'workflow list', description: '查看所有工作流历史' },
|
|
236
|
-
],
|
|
237
|
-
notes: [
|
|
238
|
-
'返回工作流的完整执行信息',
|
|
239
|
-
'包含状态、输出节点等详细信息',
|
|
240
|
-
'使用 download 命令下载实际文件',
|
|
241
|
-
],
|
|
242
|
-
});
|
|
243
|
-
}
|
|
244
|
-
//# sourceMappingURL=workflow.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/commands/workflow.ts"],"names":[],"mappings":"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"}
|
package/dist/services/api.d.ts
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
export declare class ComfyAPIClient {
|
|
2
|
-
private client;
|
|
3
|
-
constructor();
|
|
4
|
-
getSystemStats(): Promise<any>;
|
|
5
|
-
getQueue(): Promise<any>;
|
|
6
|
-
submitWorkflow(workflow: any): Promise<any>;
|
|
7
|
-
getHistory(promptId?: string): Promise<any>;
|
|
8
|
-
clearQueue(): Promise<any>;
|
|
9
|
-
deleteQueueItem(itemId: string): Promise<any>;
|
|
10
|
-
interrupt(): Promise<any>;
|
|
11
|
-
listModels(folder?: string): Promise<any>;
|
|
12
|
-
getObjectInfo(nodeClass?: string): Promise<any>;
|
|
13
|
-
uploadImage(file: Buffer, filename: string): Promise<{
|
|
14
|
-
name: string;
|
|
15
|
-
}>;
|
|
16
|
-
downloadImage(filename: string, subfolder?: string, type?: string): Promise<Buffer>;
|
|
17
|
-
getOutputFiles(promptId: string): Promise<Array<{
|
|
18
|
-
filename: string;
|
|
19
|
-
subfolder: string;
|
|
20
|
-
type: string;
|
|
21
|
-
}>>;
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=api.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/services/api.ts"],"names":[],"mappings":"AAIA,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAgB;;IAUxB,cAAc;IAKd,QAAQ;IAKR,cAAc,CAAC,QAAQ,EAAE,GAAG;IAK5B,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM;IAM5B,UAAU;IAKV,eAAe,CAAC,MAAM,EAAE,MAAM;IAK9B,SAAS;IAKT,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM;IAM1B,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM;IAMhC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAYtE,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,GAAE,MAAW,EAAE,IAAI,GAAE,MAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAajG,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAuC9G"}
|