You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: Add custom model dimension support and improve codebase indexing
- Add custom embedding dimension configuration for unknown models
- Fix Ollama API implementation to use correct prompt-based structure
- Enhance OpenAI embedder with base URL and dimension support
- Improve UI with provider-specific settings and better model management
- Add comprehensive VSCode settings for codebase indexing feature
**Core Changes:**
- Add `codebaseIndexEmbedderDimension` field to schemas and config
- Implement proper dimension validation and fallback logic
- Support manual dimension override for custom/unknown models
**API Fixes:**
- Fix Ollama embedder to use individual `prompt` requests instead of batch `input`
- Correct response parsing to use `embedding` (singular) field
- Add OpenAI base URL support for proxies and Azure endpoints
- Implement dimension parameter for OpenAI embedding requests
**UI Improvements:**
- Reorganize settings with provider-specific sections
- Replace model dropdown with flexible text input
- Add dimension input field with validation
- Improve placeholder text and help descriptions
- Add OpenAI base URL configuration field
**Configuration:**
- Add VSCode settings for all codebase indexing options
- Enhance config manager with proper dimension handling
- Improve service factory with better error messages
- Add comprehensive validation for custom models
"description": "Enable codebase indexing for semantic search.",
321
+
"scope": "resource"
322
+
},
323
+
"roo-cline.codebaseIndexEmbedderProvider": {
324
+
"type": "string",
325
+
"enum": [
326
+
"openai",
327
+
"ollama"
328
+
],
329
+
"default": "openai",
330
+
"description": "Select the embedding provider (OpenAI or Ollama).",
331
+
"scope": "resource"
332
+
},
333
+
"roo-cline.codebaseIndexEmbedderBaseUrl": {
334
+
"type": "string",
335
+
"default": "",
336
+
"description": "Optional: Base URL for the selected embedding provider API (e.g., for proxies, Azure OpenAI, or self-hosted Ollama).",
337
+
"scope": "resource"
338
+
},
339
+
"roo-cline.codebaseIndexEmbedderModelId": {
340
+
"type": "string",
341
+
"default": "",
342
+
"description": "Optional: Specify a custom embedding model ID. Leave empty to use the provider's default (e.g., text-embedding-3-small for OpenAI).",
343
+
"scope": "resource"
344
+
},
345
+
"roo-cline.codebaseIndexEmbedderDimension": {
346
+
"type": [
347
+
"number",
348
+
"null"
349
+
],
350
+
"default": null,
351
+
"description": "Optional: Specify the embedding dimension for your custom model ID if it's not automatically recognized. Required only if using an unknown model ID.",
352
+
"scope": "resource"
353
+
},
354
+
"roo-cline.codebaseIndexQdrantUrl": {
355
+
"type": "string",
356
+
"default": "http://localhost:6333",
357
+
"description": "URL for the Qdrant vector database instance.",
358
+
"scope": "resource"
359
+
},
360
+
"roo-cline.codebaseIndexSearchMinScore": {
361
+
"type": "number",
362
+
"default": 0.4,
363
+
"minimum": 0,
364
+
"maximum": 1,
365
+
"description": "Minimum similarity score (0-1) for codebase search results.",
0 commit comments