增加供应商智能添加功能

This commit is contained in:
2026-09-04 00:09:32 +08:00
parent d8936d9730
commit 20be7f4817
29 changed files with 4317 additions and 1476 deletions
+46
View File
@@ -0,0 +1,46 @@
package models
import "time"
// BackendMcpServer MCP服务器配置表(真正的 MCP 协议接入配置)
// transport 支持三种:
// - stdio:本地进程方式(command + args + env)
// - http :Streamable HTTP 传输(url + headers)
// - sse :SSE 传输(url + headers)
type BackendMcpServer struct {
ID uint64 `orm:"column(id);pk;auto" json:"id"`
TenantID string `orm:"column(tenant_id);size(64)" json:"tenant_id"`
UserID uint64 `orm:"column(user_id);default(0)" json:"user_id"`
Name string `orm:"column(name);size(100)" json:"name"`
Transport string `orm:"column(transport);size(20)" json:"transport"` // stdio/http/sse
Command string `orm:"column(command);size(255)" json:"command"` // stdio 命令
Args string `orm:"column(args);type(text)" json:"args"` // stdio 参数 JSON数组
Env string `orm:"column(env);type(text)" json:"env"` // 环境变量 JSON对象
URL string `orm:"column(url);size(512)" json:"url"` // http/sse 地址
Headers string `orm:"column(headers);type(text)" json:"headers"` // 请求头 JSON对象
Description string `orm:"column(description);size(255)" json:"description"`
Provider string `orm:"column(provider);size(50)" json:"provider"` // 提供方名称
FromMarket string `orm:"column(from_market);size(50)" json:"from_market"` // 来源市场key
Enabled int8 `orm:"column(enabled);default(0)" json:"enabled"` // 0-禁用 1-启用(仅启用项在会话中生效)
Status int8 `orm:"column(status);default(0)" json:"status"` // 0-未测试 1-连接正常 2-连接失败
LastError string `orm:"column(last_error);size(500)" json:"last_error"`
ToolCount int `orm:"column(tool_count);default(0)" json:"tool_count"`
Remark string `orm:"column(remark);size(255)" json:"remark"`
CreateTime time.Time `orm:"column(create_time);auto_now_add;type(datetime)" json:"create_time"`
UpdateTime time.Time `orm:"column(update_time);auto_now;type(datetime)" json:"update_time"`
DeleteTime *time.Time `orm:"column(delete_time);type(datetime);null" json:"delete_time"`
// 非数据库字段:连接后发现的工具列表(用于前端展示)
Tools []McpToolInfo `orm:"-" json:"tools,omitempty"`
}
// McpToolInfo MCP 工具信息(用于前端展示与 LLM 工具注入)
type McpToolInfo struct {
Name string `json:"name"`
Description string `json:"description"`
InputSchema interface{} `json:"input_schema"`
}
func (m *BackendMcpServer) TableName() string {
return "yz_backend_mcp_server"
}