新增: Phase2 阶段收尾(Sprint 1-20)
重构:删 5 零引用 crate(df-evolve/plugin/stages/task/traceability)+ 清死模块、ai.rs 拆 11 子 module、ai.ts 拆 6 composable、i18n 拆目录 功能:知识库全栈(df-project/scan + CRUD + 时间线 + 前端)、Settings 拆分、appSettings KV 迁移、模型池、LLM 并发 Semaphore 修复:审批持久化根治、ConditionEngine 默认拒绝、NodeRegistry unimplemented 清除、promote 补偿删除、工具结果截断 50KB、路径校验防 symlink 逃逸 文档:B-03 人工审批设计、决策记录三分档、规格契约自检、经验记录、todo 看板、PROGRESS 更新 详见 PROGRESS.md。src-tauri/儿童每日打卡应用/ 与本项目无关,已排除。
This commit is contained in:
@@ -0,0 +1,118 @@
|
||||
export default {
|
||||
settings: {
|
||||
// ===== Page title =====
|
||||
title: '⚙️ Settings',
|
||||
|
||||
// ===== AI Provider panel =====
|
||||
panelAiProvider: '🤖 AI Model Config',
|
||||
addProvider: '+ Add Provider',
|
||||
editProviderTitle: 'Edit Provider',
|
||||
addProviderTitle: 'Add Provider',
|
||||
emptyProvider: 'No AI provider. Click above to add.',
|
||||
badgeDefault: 'Default',
|
||||
actionSetDefault: 'Set as default',
|
||||
detailBaseUrl: 'Base URL',
|
||||
detailModel: 'Model',
|
||||
detailApiKey: 'API Key',
|
||||
|
||||
// Provider form
|
||||
labelName: 'Name',
|
||||
labelProviderType: 'Protocol',
|
||||
labelBaseUrl: 'Base URL',
|
||||
labelApiKey: 'API Key',
|
||||
labelDefaultModel: 'Default',
|
||||
phProviderName: 'e.g. DeepSeek, GLM-4',
|
||||
phBaseUrl: 'https://api.deepseek.com',
|
||||
phApiKey: 'sk-...',
|
||||
phDefaultModel: 'deepseek-chat',
|
||||
providerTypeOpenaiCompat: 'OpenAI-compatible (DeepSeek / GLM v4 / OpenAI)',
|
||||
providerTypeAnthropic: 'Anthropic-compatible (GLM subscription / Claude)',
|
||||
saving: 'Saving...',
|
||||
|
||||
// ===== Connection panel =====
|
||||
panelConnection: '🔗 Connections',
|
||||
addConnection: '+ Add connection',
|
||||
editConnectionTitle: 'Edit connection',
|
||||
addConnectionTitle: 'Add connection',
|
||||
emptyConnection: 'No connection yet. Click the button above to add one.',
|
||||
labelType: 'Type',
|
||||
labelHost: 'Host',
|
||||
labelPort: 'Port',
|
||||
labelUser: 'Username',
|
||||
phConnName: 'flux_dev',
|
||||
phHost: '127.0.0.1',
|
||||
phPort: '3306',
|
||||
phUser: 'root',
|
||||
|
||||
// ===== General settings panel =====
|
||||
panelGeneral: '🎨 General',
|
||||
labelTheme: 'Theme',
|
||||
descTheme: 'Dark / light',
|
||||
themeDark: '🌙 Dark',
|
||||
themeLight: '☀️ Light',
|
||||
themeSystem: '💻 System',
|
||||
|
||||
labelLanguage: 'Language',
|
||||
descLanguage: 'Interface language',
|
||||
|
||||
labelAiLanguage: 'AI language',
|
||||
descAiLanguage: 'Default AI reply language',
|
||||
aiLanguageAuto: '🔄 Follow interface language',
|
||||
aiLanguageZh: '🇨🇳 简体中文',
|
||||
aiLanguageEn: '🇺🇸 English',
|
||||
|
||||
labelAutoExecute: 'Auto-execute',
|
||||
descAutoExecute: 'Let AI auto-execute low-risk actions',
|
||||
|
||||
labelLogLevel: 'Log level',
|
||||
descLogLevel: 'Verbosity of workflow logs',
|
||||
|
||||
labelShowTokenUsage: 'Show token usage',
|
||||
descShowTokenUsage: 'Show token consumption of each reply in conversations',
|
||||
|
||||
labelGlobalConcurrency: 'Global max concurrency',
|
||||
descGlobalConcurrency: 'Shared cap on simultaneous LLM requests across all conversations',
|
||||
|
||||
labelPerConvConcurrency: 'Per-conversation concurrency',
|
||||
descPerConvConcurrency: 'Concurrent LLM calls within one conversation (main loop / title / distill shared)',
|
||||
|
||||
// ===== Knowledge base panel =====
|
||||
panelKnowledge: '📚 Knowledge base',
|
||||
labelAutoExtract: 'Auto-distill knowledge',
|
||||
descAutoExtract: 'Automatically distill reusable knowledge from conversations after they finish (AI proposes candidates, manual review required)',
|
||||
labelTriggerMode: 'Distill trigger',
|
||||
descTriggerMode: 'When auto-distillation is triggered',
|
||||
triggerOnComplete: 'On conversation complete',
|
||||
triggerOnIdle: 'On conversation idle',
|
||||
triggerManualOnly: 'Manual only',
|
||||
labelMinMessages: 'Min message count',
|
||||
descMinMessages: 'Distillation triggers only after this many messages (filters out small talk noise)',
|
||||
labelIdleTimeout: 'Idle timeout (s)',
|
||||
descIdleTimeout: 'Seconds to wait in idle-trigger mode',
|
||||
labelAutoInject: 'Auto-inject related knowledge',
|
||||
descAutoInject: 'Retrieve related knowledge and inject it into the conversation context during chat',
|
||||
labelVectorEnabled: 'Semantic retrieval (vector)',
|
||||
descVectorEnabled: 'Use Embedding vectors for semantic matching — close meanings surface even with different wording; when off, pure keyword matching with zero external calls',
|
||||
labelEmbeddingProvider: 'Embedding provider',
|
||||
descEmbeddingProvider: 'AI provider used for vectorization (OpenAI-compatible only; switching requires re-embedding all knowledge)',
|
||||
labelEmbeddingModel: 'Embedding model',
|
||||
descEmbeddingModel: 'e.g. embedding-3 (Zhipu) / text-embedding-v4 (Alibaba) / text-embedding-3-small (OpenAI)',
|
||||
embeddingProviderNone: 'Not selected',
|
||||
phEmbeddingModel: 'embedding-3',
|
||||
|
||||
// ===== Toast =====
|
||||
toastLoadProviderFail: 'Failed to load providers',
|
||||
toastSaveIncomplete: 'Please fill in all fields (Name / Base URL / API Key / Model)',
|
||||
toastSaved: 'Saved',
|
||||
toastSaveFail: 'Save failed: {msg}',
|
||||
toastDeleted: 'Deleted',
|
||||
toastDeleteFail: 'Delete failed: {msg}',
|
||||
toastSetDefaultOk: 'Set as default',
|
||||
toastSetDefaultFail: 'Failed to set default: {msg}',
|
||||
toastConnIncomplete: 'Please fill in Name and Host',
|
||||
|
||||
// ===== Confirm dialogs =====
|
||||
confirmDeleteProvider: 'Delete provider "{name}"? This cannot be undone.',
|
||||
confirmDeleteConn: 'Delete connection "{name}"?',
|
||||
},
|
||||
}
|
||||
Reference in New Issue
Block a user