diff --git a/core/fabric.go b/core/fabric.go index bbe3e1a..1081891 100644 --- a/core/fabric.go +++ b/core/fabric.go @@ -17,7 +17,8 @@ import ( "github.com/danielmiessler/fabric/vendors/groc" "github.com/danielmiessler/fabric/vendors/ollama" "github.com/danielmiessler/fabric/vendors/openai" - "github.com/danielmiessler/fabric/vendors/siliconcloud" + "github.com/danielmiessler/fabric/vendors/openrouter" + "github.com/danielmiessler/fabric/vendors/siliconcloud" "github.com/danielmiessler/fabric/youtube" "github.com/pkg/errors" ) @@ -60,7 +61,7 @@ func NewFabricBase(db *db.Db) (ret *Fabric) { "Enter the index the name of your default model") ret.VendorsAll.AddVendors(openai.NewClient(), azure.NewClient(), ollama.NewClient(), groc.NewClient(), - gemini.NewClient(), anthropic.NewClient(), siliconcloud.NewClient()) + gemini.NewClient(), anthropic.NewClient(), siliconcloud.NewClient(), openrouter.NewClient()) return } diff --git a/core/vendors.go b/core/vendors.go index 82f1a71..02af986 100644 --- a/core/vendors.go +++ b/core/vendors.go @@ -3,8 +3,9 @@ package core import ( "context" "fmt" - "github.com/danielmiessler/fabric/vendors" "sync" + + "github.com/danielmiessler/fabric/vendors" ) func NewVendorsManager() *VendorsManager { diff --git a/vendors/openrouter/openrouter.go b/vendors/openrouter/openrouter.go new file mode 100644 index 0000000..2c653cd --- /dev/null +++ b/vendors/openrouter/openrouter.go @@ -0,0 +1,16 @@ +package openrouter + +import ( + "github.com/danielmiessler/fabric/vendors/openai" +) + +func NewClient() (ret *Client) { + ret = &Client{} + ret.Client = openai.NewClientCompatible("OpenRouter", "https://openrouter.ai/api/v1", nil) + + return +} + +type Client struct { + *openai.Client +}