feat(comfy-cloud): 站点预设模板新增 Comfy Cloud

siteInitializationPresets 共享契约(ts/js/d.ts)加 comfy-cloud 预设:
platform=comfy_cloud, defaultUrl=https://cloud.comfy.org, 自动填充官方地址。
platform 联合类型扩 'comfy_cloud';urlMatcher + Rust detect_site_platform 同步识别。

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
boos
2026-06-18 00:21:44 +08:00
parent 08a2980f5f
commit d850da64c3
4 changed files with 30 additions and 5 deletions
+3
View File
@@ -1409,6 +1409,9 @@ fn detect_site_platform(url: &str) -> (&'static str, Option<&'static str>) {
{
return ("openai", Some("volcengine-ark-openai"));
}
if lower.starts_with("https://cloud.comfy.org") {
return ("comfy_cloud", Some("comfy-cloud"));
}
if lower.contains("anthropic") || lower.contains("claude") {
return ("claude", None);
+2 -2
View File
@@ -1,7 +1,7 @@
export interface SiteInitializationPreset {
id: string;
label: string;
platform: 'openai' | 'claude';
platform: 'openai' | 'claude' | 'comfy_cloud';
defaultUrl: string;
initialSegment: 'session' | 'apikey';
description?: string;
@@ -12,5 +12,5 @@ export declare function getSiteInitializationPreset(id?: string | null): SiteIni
export declare function listSiteInitializationPresets(): SiteInitializationPreset[];
export declare function detectSiteInitializationPreset(url: string, knownPlatform?: string): {
id: string;
platform: 'openai' | 'claude';
platform: 'openai' | 'claude' | 'comfy_cloud';
} | null;
+11
View File
@@ -130,6 +130,16 @@ const presets = [
recommendedSkipModelFetch: true,
recommendedModels: [],
},
{
id: 'comfy-cloud',
label: 'Comfy Cloud (工作流执行)',
platform: 'comfy_cloud',
defaultUrl: 'https://cloud.comfy.org',
initialSegment: 'apikey',
description: 'Comfy Cloud 工作流执行 API;API Key 填 X-API-Key,经 BoosAPI /comfy-cloud 适配端点供 Pixelle 等调用。',
recommendedSkipModelFetch: true,
recommendedModels: [],
},
];
const urlMatchers = [
{ urlPrefix: 'https://coding.dashscope.aliyuncs.com/v1', id: 'codingplan-openai', platform: 'openai' },
@@ -145,6 +155,7 @@ const urlMatchers = [
{ urlPrefix: 'https://api-inference.modelscope.cn', id: 'modelscope-claude', platform: 'claude' },
{ urlPrefix: 'https://ark.cn-beijing.volces.com/api/coding/v3', id: 'doubao-coding-openai', platform: 'openai' },
{ urlPrefix: 'https://ark.cn-beijing.volces.com/api/v3', id: 'volcengine-ark-openai', platform: 'openai', stripTrailingSlash: true },
{ urlPrefix: 'https://cloud.comfy.org', id: 'comfy-cloud', platform: 'comfy_cloud', stripTrailingSlash: true },
];
// Canonical root → preset mapping for reselection when platform is known
const rootReselect = [
+14 -3
View File
@@ -1,7 +1,7 @@
export interface SiteInitializationPreset {
id: string;
label: string;
platform: 'openai' | 'claude';
platform: 'openai' | 'claude' | 'comfy_cloud';
defaultUrl: string;
initialSegment: 'session' | 'apikey';
description?: string;
@@ -141,12 +141,22 @@ const presets: SiteInitializationPreset[] = [
recommendedSkipModelFetch: true,
recommendedModels: [],
},
{
id: 'comfy-cloud',
label: 'Comfy Cloud (工作流执行)',
platform: 'comfy_cloud',
defaultUrl: 'https://cloud.comfy.org',
initialSegment: 'apikey',
description: 'Comfy Cloud 工作流执行 API;API Key 填 X-API-Key,经 BoosAPI /comfy-cloud 适配端点供 Pixelle 等调用。',
recommendedSkipModelFetch: true,
recommendedModels: [],
},
];
const urlMatchers: Array<{
urlPrefix: string;
id: string;
platform: 'openai' | 'claude';
platform: 'openai' | 'claude' | 'comfy_cloud';
stripTrailingSlash?: boolean;
}> = [
{ urlPrefix: 'https://coding.dashscope.aliyuncs.com/v1', id: 'codingplan-openai', platform: 'openai' },
@@ -162,6 +172,7 @@ const urlMatchers: Array<{
{ urlPrefix: 'https://api-inference.modelscope.cn', id: 'modelscope-claude', platform: 'claude' },
{ urlPrefix: 'https://ark.cn-beijing.volces.com/api/coding/v3', id: 'doubao-coding-openai', platform: 'openai' },
{ urlPrefix: 'https://ark.cn-beijing.volces.com/api/v3', id: 'volcengine-ark-openai', platform: 'openai', stripTrailingSlash: true },
{ urlPrefix: 'https://cloud.comfy.org', id: 'comfy-cloud', platform: 'comfy_cloud', stripTrailingSlash: true },
];
// Canonical root → preset mapping for reselection when platform is known
@@ -183,7 +194,7 @@ export function listSiteInitializationPresets(): SiteInitializationPreset[] {
export function detectSiteInitializationPreset(
url: string,
knownPlatform?: string,
): { id: string; platform: 'openai' | 'claude' } | null {
): { id: string; platform: 'openai' | 'claude' | 'comfy_cloud' } | null {
// Try exact URL prefix matching
const normalizedUrl = url.replace(/\/+$/, '');
for (const matcher of urlMatchers) {