[Bug] 启用「对话记录语义索引」报错 INVALID_MODEL(voyage/voyage-4),功能完全不可用
- Dominant language
- TypeScript
- Stars
- 2.7k
- Forks
- 401
- Avg merge
- 21h 48m
- Merged PRs (30d)
- 776
Description
**提交人**: 豆豆爸
**客户端版本**: 0.1.26
---
## 现象
在「设置 → 个性化」中启用「对话记录语义索引」后,功能不可用,持续报如下错误:
```
[embeddingHost] {"event":"embeddingWorker.batch.failed","source":"chat","modelId":"voyage/voyage-4","code":"INVALID_MODEL","error":"XD Gateway /v1/embeddings 400: Invalid model name passed in model=voyage/voyage-4..."}
```
每次触发语义索引都会报错,对话历史无法被索引/检索,功能完全不可用。
## 复现步骤
1. 打开 设置 → 个性化
2. 启用「对话记录语义索引」
3. 触发任意需要语义索引的操作(如新建对话、搜索历史),随即出现上述报错
## 期望行为
- 语义索引能正常建立并可用(对话内容可被索引、可被语义检索)。
- 附带建议:当前 embedding/语义索引模型供应商不可配置,默认固定为 `voyage/voyage-4`,而该模型名在当前网关(XD Gateway)上不被识别(400 INVALID_MODEL)。建议开放 embedding 模型配置,允许用户选择本地模型或其他供应商,使默认模型不可用时功能仍可用。
## 环境
客户端版本 / 版本区域 / OS / 界面语言由系统自动附带。
---
**版本区域**: CN
**OS**: win32 x64 (10.0.26200)
**界面语言**: zh-CN
Contributor guide
Research direction
Start by tracing the `embeddingWorker.batch.failed` event and the `modelId` value `voyage/voyage-4` through the conversation indexing and retrieval flow. Confirm the current XD Gateway model contract, then verify that indexing and semantic search work without `INVALID_MODEL`; the issue names no source files or tests to run.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- search
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100