瀏覽代碼

feat: support install models tools and endpoints

Yeuoly 10 月之前
父節點
當前提交
f94ba2de5b
共有 4 個文件被更改,包括 35 次插入0 次删除
  1. 3 0
      internal/db/init.go
  2. 9 0
      internal/types/models/endpoint.go
  3. 11 0
      internal/types/models/model.go
  4. 12 0
      internal/types/models/tool.go

+ 3 - 0
internal/db/init.go

@@ -82,6 +82,9 @@ func autoMigrate() error {
 		models.PluginInstallation{},
 		models.Endpoint{},
 		models.ServerlessRuntime{},
+		models.EndpointInstallation{},
+		models.ToolInstallation{},
+		models.AIModelInstallation{},
 	)
 }
 

+ 9 - 0
internal/types/models/endpoint.go

@@ -3,9 +3,18 @@ package models
 import (
 	"time"
 
+	"github.com/langgenius/dify-plugin-daemon/internal/types/entities/plugin_entities"
 	"github.com/langgenius/dify-plugin-daemon/internal/utils/parser"
 )
 
+type EndpointInstallation struct {
+	Model
+	TenantID               string                                      `json:"tenant_id" gorm:"column:tenant_id;type:uuid;index;not null"`
+	PluginUniqueIdentifier string                                      `json:"plugin_unique_identifier" gorm:"index;size:127"`
+	PluginID               string                                      `json:"plugin_id" gorm:"index;size:127"`
+	Declaration            plugin_entities.EndpointProviderDeclaration `json:"declaration" gorm:"serializer:json;type:text;size:65535;not null"`
+}
+
 // HookID is a pointer to plugin id and tenant id, using it to identify the endpoint plugin
 type Endpoint struct {
 	Model

+ 11 - 0
internal/types/models/model.go

@@ -1 +1,12 @@
 package models
+
+import "github.com/langgenius/dify-plugin-daemon/internal/types/entities/plugin_entities"
+
+type AIModelInstallation struct {
+	Model
+	Provider               string                                   `json:"provider" gorm:"column:provider;size:127;index;not null"`
+	TenantID               string                                   `json:"tenant_id" gorm:"column:tenant_id;type:uuid;index;not null"`
+	PluginUniqueIdentifier string                                   `json:"plugin_unique_identifier" gorm:"index;size:127"`
+	PluginID               string                                   `json:"plugin_id" gorm:"index;size:127"`
+	Declaration            plugin_entities.ModelProviderDeclaration `json:"declaration" gorm:"serializer:json;type:text;size:65535;not null"`
+}

+ 12 - 0
internal/types/models/tool.go

@@ -0,0 +1,12 @@
+package models
+
+import "github.com/langgenius/dify-plugin-daemon/internal/types/entities/plugin_entities"
+
+type ToolInstallation struct {
+	Model
+	TenantID               string                                  `json:"tenant_id" gorm:"column:tenant_id;type:uuid;index;not null"`
+	Provider               string                                  `json:"provider" gorm:"column:provider;size:127;index;not null"`
+	PluginUniqueIdentifier string                                  `json:"plugin_unique_identifier" gorm:"index;size:127"`
+	PluginID               string                                  `json:"plugin_id" gorm:"index;size:127"`
+	Declaration            plugin_entities.ToolProviderDeclaration `json:"declaration" gorm:"serializer:json;type:text;size:65535;not null"`
+}