refactor: reorganize imports and update type references across services

- Updated import paths for types and utilities in config-service, menu-service, script-execution-service, script-store-service, and window-service to reflect new structure.
- Moved utility functions like debounce and cloneDeep to shared utilities.
- Created new runtime and script types files to centralize type definitions.
- Removed deprecated task-types and locale messages files.
- Updated constants to use shared definitions and added new placeholders for providers.
- Enhanced provider type information with additional placeholders for different languages.
This commit is contained in:
duanshuwen
2026-04-21 23:25:51 +08:00
parent 97a956ffe8
commit 721344883f
24 changed files with 181 additions and 670 deletions

View File

@@ -58,6 +58,8 @@ export interface ProviderTypeInfo {
name: string;
icon: string;
placeholder: string;
placeholderZh?: string;
placeholderTh?: string;
model?: string;
requiresApiKey: boolean;
defaultBaseUrl?: string;
@@ -124,7 +126,7 @@ export const PROVIDER_TYPE_INFO: ProviderTypeInfo[] = [
{
id: 'anthropic',
name: 'Anthropic',
icon: 'A',
icon: '🤖',
placeholder: 'sk-ant-api03-...',
model: 'Claude',
requiresApiKey: true,
@@ -133,7 +135,7 @@ export const PROVIDER_TYPE_INFO: ProviderTypeInfo[] = [
{
id: 'openai',
name: 'OpenAI',
icon: 'O',
icon: '💚',
placeholder: 'sk-proj-...',
model: 'GPT',
requiresApiKey: true,
@@ -148,7 +150,7 @@ export const PROVIDER_TYPE_INFO: ProviderTypeInfo[] = [
{
id: 'google',
name: 'Google',
icon: 'G',
icon: '🔷',
placeholder: 'AIza...',
model: 'Gemini',
requiresApiKey: true,
@@ -163,7 +165,7 @@ export const PROVIDER_TYPE_INFO: ProviderTypeInfo[] = [
{
id: 'openrouter',
name: 'OpenRouter',
icon: 'R',
icon: '🌐',
placeholder: 'sk-or-v1-...',
model: 'Multi-Model',
requiresApiKey: true,
@@ -175,7 +177,7 @@ export const PROVIDER_TYPE_INFO: ProviderTypeInfo[] = [
{
id: 'minimax-portal-cn',
name: 'MiniMax (CN)',
icon: 'M',
icon: '☁️',
placeholder: 'sk-...',
model: 'MiniMax',
requiresApiKey: false,
@@ -192,7 +194,7 @@ export const PROVIDER_TYPE_INFO: ProviderTypeInfo[] = [
{
id: 'moonshot',
name: 'Moonshot (CN)',
icon: 'K',
icon: '🌙',
placeholder: 'sk-...',
model: 'Kimi',
requiresApiKey: true,
@@ -203,7 +205,7 @@ export const PROVIDER_TYPE_INFO: ProviderTypeInfo[] = [
{
id: 'siliconflow',
name: 'SiliconFlow (CN)',
icon: 'S',
icon: '🌊',
placeholder: 'sk-...',
model: 'Multi-Model',
requiresApiKey: true,
@@ -217,7 +219,7 @@ export const PROVIDER_TYPE_INFO: ProviderTypeInfo[] = [
{
id: 'deepseek',
name: 'DeepSeek',
icon: 'D',
icon: '🐋',
placeholder: 'sk-...',
model: 'DeepSeek',
requiresApiKey: true,
@@ -231,7 +233,7 @@ export const PROVIDER_TYPE_INFO: ProviderTypeInfo[] = [
{
id: 'minimax-portal',
name: 'MiniMax (Global)',
icon: 'M',
icon: '☁️',
placeholder: 'sk-...',
model: 'MiniMax',
requiresApiKey: false,
@@ -248,7 +250,7 @@ export const PROVIDER_TYPE_INFO: ProviderTypeInfo[] = [
{
id: 'modelstudio',
name: 'Model Studio',
icon: 'Q',
icon: '☁️',
placeholder: 'sk-...',
model: 'Qwen',
requiresApiKey: true,
@@ -264,7 +266,7 @@ export const PROVIDER_TYPE_INFO: ProviderTypeInfo[] = [
{
id: 'ark',
name: 'ByteDance Ark',
icon: 'B',
icon: 'A',
placeholder: 'your-ark-api-key',
model: 'Doubao',
requiresApiKey: true,
@@ -280,8 +282,10 @@ export const PROVIDER_TYPE_INFO: ProviderTypeInfo[] = [
{
id: 'ollama',
name: 'Ollama',
icon: 'L',
icon: '🦙',
placeholder: 'Not required',
placeholderZh: '无需填写',
placeholderTh: 'ไม่ต้องกรอก',
requiresApiKey: false,
defaultBaseUrl: 'http://localhost:11434/v1',
showBaseUrl: true,
@@ -291,8 +295,10 @@ export const PROVIDER_TYPE_INFO: ProviderTypeInfo[] = [
{
id: 'custom',
name: 'Custom',
icon: 'C',
icon: '⚙️',
placeholder: 'API key...',
placeholderZh: 'API Key...',
placeholderTh: 'API Key...',
requiresApiKey: true,
showBaseUrl: true,
showModelId: true,
@@ -329,6 +335,22 @@ export function getProviderDocsUrl(
return provider.docsUrl;
}
export function getProviderPlaceholder(
provider: Pick<ProviderTypeInfo, 'placeholder' | 'placeholderZh' | 'placeholderTh'> | undefined,
language: string,
): string | undefined {
if (!provider?.placeholder) {
return undefined;
}
if (language.startsWith('zh') && provider.placeholderZh) {
return provider.placeholderZh;
}
if (language.startsWith('th') && provider.placeholderTh) {
return provider.placeholderTh;
}
return provider.placeholder;
}
export function shouldShowProviderModelId(
provider: Pick<ProviderTypeInfo, 'showModelId' | 'showModelIdInDevModeOnly'> | undefined,
devModeUnlocked: boolean,