feat: Add embedding status hint in clustering UI

- Add embedding status check API endpoints (embed-status, embed)
- Display embedding hint in cluster list view:
  - Warning when vector model not installed
  - Progress indicator when embeddings pending
  - Generate button for quick embedding
- Add i18n translations (EN/ZH)
- Add CSS styles for embedding hint components

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
catlog22
2025-12-20 13:15:25 +08:00
parent 31cc060837
commit 6b62b5b5a9
4 changed files with 211 additions and 1 deletions

View File

@@ -1281,6 +1281,14 @@ const i18n = {
'coreMemory.clusteringInProgress': 'Clustering in progress...',
'coreMemory.clusteringComplete': 'Created {created} clusters with {sessions} sessions',
'coreMemory.clusteringError': 'Auto-clustering failed',
'coreMemory.embeddingNotAvailable': 'Vector model not installed. Install to improve clustering accuracy.',
'coreMemory.installGuide': 'Install Guide',
'coreMemory.embeddingProgress': 'Embeddings: {pct}% ({pending} pending)',
'coreMemory.generateEmbeddings': 'Generate',
'coreMemory.noChunksYet': 'No memories chunked yet. Run "ccw memory embed" to enable semantic clustering.',
'coreMemory.embeddingInProgress': 'Generating embeddings...',
'coreMemory.embeddingComplete': 'Generated embeddings for {count} chunks',
'coreMemory.embeddingError': 'Failed to generate embeddings',
'coreMemory.enterClusterName': 'Enter cluster name:',
'coreMemory.clusterCreated': 'Cluster created',
'coreMemory.clusterCreateError': 'Failed to create cluster',
@@ -2594,6 +2602,14 @@ const i18n = {
'coreMemory.clusteringInProgress': '聚类进行中...',
'coreMemory.clusteringComplete': '创建了 {created} 个聚类,包含 {sessions} 个 session',
'coreMemory.clusteringError': '自动聚类失败',
'coreMemory.embeddingNotAvailable': '向量模型未安装。安装后可提升聚类准确度。',
'coreMemory.installGuide': '安装指南',
'coreMemory.embeddingProgress': '嵌入进度: {pct}% (待处理: {pending})',
'coreMemory.generateEmbeddings': '生成',
'coreMemory.noChunksYet': '暂无记忆分块。运行 "ccw memory embed" 启用语义聚类。',
'coreMemory.embeddingInProgress': '正在生成嵌入...',
'coreMemory.embeddingComplete': '已为 {count} 个分块生成嵌入',
'coreMemory.embeddingError': '生成嵌入失败',
'coreMemory.enterClusterName': '请输入聚类名称:',
'coreMemory.clusterCreated': '聚类已创建',
'coreMemory.clusterCreateError': '创建聚类失败',