@@ -40,7 +40,7 @@ This command will:
4040
4141func init () {
4242 initCmd .Flags ().StringVarP (& initProvider , "provider" , "p" , "" , "Embedding provider (ollama, lmstudio, openai, synthetic, or openrouter)" )
43- initCmd .Flags ().StringVarP (& initModel , "model" , "m" , "" , "Embedding model (for openrouter: text-embedding-3-small, text-embedding-3-large, qwen3-embedding-8b)" )
43+ initCmd .Flags ().StringVarP (& initModel , "model" , "m" , "" , "Embedding model (for openai/ openrouter: text-embedding-3-small, text-embedding-3-large; openrouter also supports qwen3-embedding-8b)" )
4444 initCmd .Flags ().StringVarP (& initBackend , "backend" , "b" , "" , "Storage backend (gob, postgres, or qdrant)" )
4545 initCmd .Flags ().BoolVar (& initNonInteractive , "yes" , false , "Use defaults without prompting" )
4646 initCmd .Flags ().BoolVar (& initInherit , "inherit" , false , "Inherit configuration from main worktree (for git worktrees)" )
@@ -143,8 +143,9 @@ func runInit(cmd *cobra.Command, args []string) error {
143143 cfg .Embedder .Dimensions = & dim
144144 case "3" , "openai" :
145145 cfg .Embedder .Provider = "openai"
146- cfg .Embedder .Model = "text-embedding-3-small"
146+ cfg .Embedder .Model = config . DefaultOpenAIEmbeddingModel
147147 cfg .Embedder .Endpoint = "https://api.openai.com/v1"
148+ cfg .Embedder .Parallelism = config .DefaultOpenAIParallelism
148149 // OpenAI: leave Dimensions nil to use model's native dimensions
149150 case "4" , "synthetic" :
150151 cfg .Embedder .Provider = "synthetic"
@@ -194,16 +195,17 @@ func runInit(cmd *cobra.Command, args []string) error {
194195 dim := lmStudioEmbeddingDimensions
195196 cfg .Embedder .Dimensions = & dim
196197 case "openai" :
197- cfg .Embedder .Model = "text-embedding-3-small"
198+ cfg .Embedder .Model = resolveInitModel ( initProvider , initModel )
198199 cfg .Embedder .Endpoint = "https://api.openai.com/v1"
200+ cfg .Embedder .Parallelism = config .DefaultOpenAIParallelism
199201 // OpenAI: leave Dimensions nil to use model's native dimensions
200202 case "synthetic" :
201203 cfg .Embedder .Model = "hf:nomic-ai/nomic-embed-text-v1.5"
202204 cfg .Embedder .Endpoint = "https://api.synthetic.new/openai/v1"
203205 dim := 768
204206 cfg .Embedder .Dimensions = & dim
205207 case "openrouter" :
206- cfg .Embedder .Model = "openai/text-embedding-3-small"
208+ cfg .Embedder .Model = resolveInitModel ( initProvider , initModel )
207209 cfg .Embedder .Endpoint = "https://openrouter.ai/api/v1"
208210 // OpenRouter: leave Dimensions nil to use model's native dimensions
209211 }
@@ -280,9 +282,10 @@ func runInit(cmd *cobra.Command, args []string) error {
280282 dim := lmStudioEmbeddingDimensions
281283 cfg .Embedder .Dimensions = & dim
282284 case "openai" :
283- cfg .Embedder .Model = "text-embedding-3-small"
285+ cfg .Embedder .Model = resolveInitModel ( initProvider , initModel )
284286 cfg .Embedder .Endpoint = "https://api.openai.com/v1"
285287 cfg .Embedder .Dimensions = nil
288+ cfg .Embedder .Parallelism = config .DefaultOpenAIParallelism
286289 case "synthetic" :
287290 cfg .Embedder .Model = "hf:nomic-ai/nomic-embed-text-v1.5"
288291 cfg .Embedder .Endpoint = "https://api.synthetic.new/openai/v1"
@@ -291,15 +294,7 @@ func runInit(cmd *cobra.Command, args []string) error {
291294 case "openrouter" :
292295 cfg .Embedder .Endpoint = "https://openrouter.ai/api/v1"
293296 cfg .Embedder .Dimensions = nil
294- // Use provided model flag or default
295- switch initModel {
296- case "text-embedding-3-large" :
297- cfg .Embedder .Model = "openai/text-embedding-3-large"
298- case "qwen3-embedding-8b" :
299- cfg .Embedder .Model = "qwen/qwen3-embedding-8b"
300- default :
301- cfg .Embedder .Model = "openai/text-embedding-3-small"
302- }
297+ cfg .Embedder .Model = resolveInitModel (initProvider , initModel )
303298 }
304299 }
305300 if initBackend != "" {
@@ -353,3 +348,27 @@ func runInit(cmd *cobra.Command, args []string) error {
353348func shouldPromptInheritChoice (shouldInherit , nonInteractive , uiMode bool ) bool {
354349 return ! shouldInherit && ! nonInteractive && ! uiMode
355350}
351+
352+ func resolveInitModel (provider , requestedModel string ) string {
353+ requestedModel = strings .TrimSpace (requestedModel )
354+ switch provider {
355+ case "openai" :
356+ if requestedModel != "" {
357+ return requestedModel
358+ }
359+ return config .DefaultOpenAIEmbeddingModel
360+ case "openrouter" :
361+ switch requestedModel {
362+ case "text-embedding-3-large" :
363+ return config .OpenRouterEmbeddingModelLarge
364+ case "qwen3-embedding-8b" :
365+ return config .OpenRouterEmbeddingModelQwen8B
366+ case "text-embedding-3-small" , "" :
367+ return config .DefaultOpenRouterEmbeddingModel
368+ default :
369+ return requestedModel
370+ }
371+ default :
372+ return requestedModel
373+ }
374+ }
0 commit comments