当前位置: 首页 > news >正文

dify_plugin数据库中的表总结

本文使用dify-plugin-daemon v0.1.0版本,主要对dify_plugin数据库中的数据表进行了总结。

一.agent_strategy_installations

源码位置:dify-plugin-daemon\internal\types\models\agent.go

type AgentStrategyInstallation struct {ModelTenantID               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:255"`PluginID               string `json:"plugin_id" gorm:"index;size:255"`
}

internal/types/models/agent.go 文件中的代码定义了一个名为 AgentStrategyInstallation 的结构体,用于表示代理策略的安装信息。这是一个GORM模型,用于数据库操作。让我详细解释每个字段:

字段类型解释
Model-这是一个嵌入的基础结构体,通常包含如ID、创建时间、更新时间等通用字段。
TenantIDstring `json:“tenant_id” gorm:“column:tenant_id;type:uuid;index;not null”`租户ID,使用UUID格式,这表明系统支持多租户架构。该字段在数据库中创建了索引,并被标记为非空。
Providerstring `json:“provider” gorm:“column:provider;size:127;index;not null”`提供商名称,最大长度127个字符,创建了索引并且不能为空。这可能表示代理策略的来源或供应商。
PluginUniqueIdentifierstring `json:“plugin_unique_identifier” gorm:“index;size:255”`插件的唯一标识符,最大长度255个字符,创建了索引。这可能用于标识与代理策略关联的特定插件。
PluginIDstring `json:“plugin_id” gorm:“index;size:255”`插件ID,最大长度255个字符,创建了索引。这是另一种识别相关插件的方式。

从整体上看,这个结构体是系统中代理策略安装的数据模型,用于追踪不同租户安装的代理策略及其关联的插件信息。它与系统中的插件管理功能紧密相关,该模型会在系统初始化时被自动迁移到数据库中。

二.ai_model_installations

源码位置:dify-plugin-daemon\internal\types\models\model.go

定义了一个名为 AIModelInstallation 的Go结构体,用于表示AI模型的安装信息,主要用于数据库存储和API交互。

type AIModelInstallation struct {ModelProvider               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:255"`PluginID               string `json:"plugin_id" gorm:"index;size:255"`
}
字段类型解释
Model-嵌入了 Model 结构体,继承了ID、创建时间和更新时间等基础字段,ID字段是UUID类型的主键。
Providerstring `json:“provider” gorm:“column:provider;size:127;index;not null”`AI模型提供商标识,JSON序列化名: “provider”,数据库限制: 最大127字符,建立索引,非空。
TenantIDstring `json:“tenant_id” gorm:“column:tenant_id;type:uuid;index;not null”`租户ID,JSON序列化名: “tenant_id”,数据库限制: UUID类型,建立索引,非空。
PluginUniqueIdentifierstring `json:“plugin_unique_identifier” gorm:“index;size:255”`插件唯一标识符,JSON序列化名: “plugin_unique_identifier”,数据库限制: 最大255字符,建立索引。
PluginIDstring `json:“plugin_id” gorm:“index;size:255”`插件ID,JSON序列化名: “plugin_id”,数据库限制: 最大255字符,建立索引。

三.endpoints

源码位置:dify-plugin-daemon\internal\types\models\endpoint.go

Endpoint 结构体是用于管理插件终端点的数据模型,主要存储终端点相关的配置和状态信息。

// HookID is a pointer to plugin id and tenant id, using it to identify the endpoint plugin
type Endpoint struct {ModelName        string                                       `json:"name" gorm:"size:127;column:name;default:'default'"`HookID      string                                       `json:"hook_id" gorm:"unique;size:127;column:hook_id"`TenantID    string                                       `json:"tenant_id" gorm:"index;size:64;column:tenant_id"`UserID      string                                       `json:"user_id" gorm:"index;size:64;column:user_id"`PluginID    string                                       `json:"plugin_id" gorm:"index;size:64;column:plugin_id"`ExpiredAt   time.Time                                    `json:"expired_at" gorm:"column:expired_at"`Enabled     bool                                         `json:"enabled" gorm:"column:enabled"`Settings    map[string]any                               `json:"settings" gorm:"column:settings;serializer:json"`Declaration *plugin_entities.EndpointProviderDeclaration `json:"declaration" gorm:"-"` // not stored in db
}

该结构体通过GORM标签定义了如何将Go结构体映射到数据库表中,包括字段名称、大小限制、索引等信息。它是插件系统的核心组件之一,用于管理租户可以访问的不同插件终端点。

字段类型解释
Model-嵌入式结构体,包含基础字段如ID、创建时间、更新时间等。
Namestring `json:“name” gorm:“size:127;column:name;default:‘default’”`终端点名称,默认值为"default",最大长度127字符。
HookIDstring `json:“hook_id” gorm:“unique;size:127;column:hook_id”`唯一标识符,用于标识特定终端点插件,具有唯一性约束。
TenantIDstring `json:“tenant_id” gorm:“index;size:64;column:tenant_id”`租户ID,建立了索引以提高查询效率。
UserIDstring `json:“user_id” gorm:“index;size:64;column:user_id”`用户ID,表示终端点的创建者或所有者。
PluginIDstring `json:“plugin_id” gorm:“index;size:64;column:plugin_id”`关联的插件ID,建立了索引。
ExpiredAttime.Time `json:“expired_at” gorm:“column:expired_at”`终端点的过期时间。
Enabledbool `json:“enabled” gorm:“column:enabled”`布尔值,表示该终端点是否启用。
Settingsmap[string]any `json:“settings” gorm:“column:settings;serializer:json”`使用JSON序列化的键值对,存储终端点的配置参数。
Declaration*plugin_entities.EndpointProviderDeclaration `json:“declaration” gorm:“-”`插件终端点声明对象,包含终端点的元数据和能力描述,不存储在数据库中。

四.install_tasks

源码位置:dify-plugin-daemon\internal\types\models\task.go

这段代码定义了与插件安装任务相关的数据结构和状态枚举。这些数据结构设计用于跟踪和管理插件安装过程,支持多租户环境下的插件管理系统。

const (InstallTaskStatusPending InstallTaskStatus = "pending"InstallTaskStatusRunning InstallTaskStatus = "running"InstallTaskStatusSuccess InstallTaskStatus = "success"InstallTaskStatusFailed  InstallTaskStatus = "failed"
)type InstallTaskPluginStatus struct {PluginUniqueIdentifier plugin_entities.PluginUniqueIdentifier `json:"plugin_unique_identifier"`Labels                 plugin_entities.I18nObject             `json:"labels"`Icon                   string                                 `json:"icon"`PluginID               string                                 `json:"plugin_id"`Status                 InstallTaskStatus                      `json:"status"`Message                string                                 `json:"message"`
}type InstallTask struct {ModelStatus           InstallTaskStatus         `json:"status" gorm:"not null"`TenantID         string                    `json:"tenant_id" gorm:"type:uuid;not null"`TotalPlugins     int                       `json:"total_plugins" gorm:"not null"`CompletedPlugins int                       `json:"completed_plugins" gorm:"not null"`Plugins          []InstallTaskPluginStatus `json:"plugins" gorm:"serializer:json"`
}

1.InstallTaskStatus 类型

  • 自定义字符串类型,用于表示安装任务的状态

  • 增强类型安全性,限制状态只能使用预定义的常量

2.任务状态常量

  • InstallTaskStatusPending: 待处理状态

  • InstallTaskStatusRunning: 正在运行中

  • InstallTaskStatusSuccess: 安装成功

  • InstallTaskStatusFailed: 安装失败

3.InstallTaskPluginStatus 结构体

  • 记录单个插件的安装状态信息

  • 包含插件的唯一标识符、多语言标签、图标、ID等基本信息

  • Status字段表示该插件的具体安装状态

  • Message字段用于存储安装过程的信息或错误消息

4.InstallTask 结构体

  • 继承自Model基础结构

  • 表示一个完整的安装任务,可能包含多个插件

  • 记录了租户ID、总插件数和已完成插件数等统计信息

  • Plugins字段存储所有插件的详细安装状态

  • GORM标签用于数据库存储,JSON标签用于API交互

五.plugin_declarations

源码位置:dify-plugin-daemon\internal\types\models\plugin.go

这个模型与plugin_entities.PluginDeclaration紧密关联,后者包含了详细的插件信息如版本、作者、名称、描述、图标以及功能扩展(工具、模型、端点、智能体策略等)。

type PluginDeclaration struct {ModelPluginUniqueIdentifier string                            `json:"plugin_unique_identifier" gorm:"size:255;unique"`PluginID               string                            `json:"plugin_id" gorm:"size:255;index"`Declaration            plugin_entities.PluginDeclaration `json:"declaration" gorm:"serializer:json;type:text;size:65535"`
}
字段类型解释
Model-嵌入式结构体,提供了通用的数据库模型字段(如ID、创建时间等)。
PluginUniqueIdentifierstring `json:“plugin_unique_identifier” gorm:“size:255;unique”`插件的唯一标识符,在数据库中建立了唯一索引(unique),确保不会有重复值,长度限制为255字符。
PluginIDstring `json:“plugin_id” gorm:“size:255;index”`插件ID,在数据库中建立了索引(index),优化查询性能,长度限制为255字符。
Declarationplugin_entities.PluginDeclaration `json:“declaration” gorm:“serializer:json;type:text;size:65535”`完整的插件声明信息,类型为plugin_entities.PluginDeclaration,包含丰富的插件元数据。通过GORM的serializer:json标签将复杂结构序列化为JSON存储,字段类型text,最大长度为65535字节。

1.PluginDeclaration

源码位置:dify-plugin-daemon\pkg\entities\plugin_entities\plugin_declaration.go

type PluginDeclaration struct {PluginDeclarationWithoutAdvancedFields `yaml:",inline"`Verified                               bool                              `json:"verified" yaml:"verified"`Endpoint                               *EndpointProviderDeclaration      `json:"endpoint,omitempty" yaml:"endpoint,omitempty" validate:"omitempty"`Model                                  *ModelProviderDeclaration         `json:"model,omitempty" yaml:"model,omitempty" validate:"omitempty"`Tool                                   *ToolProviderDeclaration          `json:"tool,omitempty" yaml:"tool,omitempty" validate:"omitempty"`AgentStrategy                          *AgentStrategyProviderDeclaration `json:"agent_strategy,omitempty" yaml:"agent_strategy,omitempty" validate:"omitempty"`
}

2.PluginDeclarationWithoutAdvancedFields

源码位置:dify-plugin-daemon\pkg\entities\plugin_entities\plugin_declaration.go

type PluginDeclarationWithoutAdvancedFields struct {Version     manifest_entities.Version          `json:"version" yaml:"version,omitempty" validate:"required,version"`Type        manifest_entities.DifyManifestType `json:"type" yaml:"type,omitempty" validate:"required,eq=plugin"`Author      string                             `json:"author" yaml:"author,omitempty" validate:"omitempty,max=64"`Name        string                             `json:"name" yaml:"name,omitempty" validate:"required,max=128"`Label       I18nObject                         `json:"label" yaml:"label" validate:"required"`Description I18nObject                         `json:"description" yaml:"description" validate:"required"`Icon        string                             `json:"icon" yaml:"icon,omitempty" validate:"required,max=128"`Resource    PluginResourceRequirement          `json:"resource" yaml:"resource,omitempty" validate:"required"`Plugins     PluginExtensions                   `json:"plugins" yaml:"plugins,omitempty" validate:"required"`Meta        PluginMeta                         `json:"meta" yaml:"meta,omitempty" validate:"required"`Tags        []manifest_entities.PluginTag      `json:"tags" yaml:"tags,omitempty" validate:"omitempty,dive,plugin_tag,max=128"`CreatedAt   time.Time                          `json:"created_at" yaml:"created_at,omitempty" validate:"required"`Privacy     *string                            `json:"privacy,omitempty" yaml:"privacy,omitempty" validate:"omitempty"`Repo        *string                            `json:"repo,omitempty" yaml:"repo,omitempty" validate:"omitempty,url"`
}

3.EndpointProviderDeclaration

源码位置:dify-plugin-daemon\pkg\entities\plugin_entities\endpoint_declaration.go

type EndpointProviderDeclaration struct {Settings      []ProviderConfig      `json:"settings" yaml:"settings" validate:"omitempty,dive"`Endpoints     []EndpointDeclaration `json:"endpoints" yaml:"endpoint_declarations" validate:"omitempty,dive"`EndpointFiles []string              `json:"-" yaml:"-"`
}

4.ModelProviderDeclaration

源码位置:dify-plugin-daemon\pkg\entities\plugin_entities\model_declaration.go

type ModelProviderDeclaration struct {Provider                 string                           `json:"provider" yaml:"provider" validate:"required,lt=256"`Label                    I18nObject                       `json:"label" yaml:"label" validate:"required"`Description              *I18nObject                      `json:"description" yaml:"description,omitempty" validate:"omitempty"`IconSmall                *I18nObject                      `json:"icon_small" yaml:"icon_small,omitempty" validate:"omitempty"`IconLarge                *I18nObject                      `json:"icon_large" yaml:"icon_large,omitempty" validate:"omitempty"`Background               *string                          `json:"background" yaml:"background,omitempty" validate:"omitempty"`Help                     *ModelProviderHelpEntity         `json:"help" yaml:"help,omitempty" validate:"omitempty"`SupportedModelTypes      []ModelType                      `json:"supported_model_types" yaml:"supported_model_types" validate:"required,lte=16,dive,model_type"`ConfigurateMethods       []ModelProviderConfigurateMethod `json:"configurate_methods" yaml:"configurate_methods" validate:"required,lte=16,dive,model_provider_configurate_method"`ProviderCredentialSchema *ModelProviderCredentialSchema   `json:"provider_credential_schema" yaml:"provider_credential_schema,omitempty" validate:"omitempty"`ModelCredentialSchema    *ModelCredentialSchema           `json:"model_credential_schema" yaml:"model_credential_schema,omitempty" validate:"omitempty"`Position                 *ModelPosition                   `json:"position,omitempty" yaml:"position,omitempty"`Models                   []ModelDeclaration               `json:"models" yaml:"model_declarations,omitempty"`ModelFiles               []string                         `json:"-" yaml:"-"`PositionFiles            map[string]string                `json:"-" yaml:"-"`
}

5.ToolProviderDeclaration

源码位置:dify-plugin-daemon\pkg\entities\plugin_entities\tool_declaration.go

type ToolProviderDeclaration struct {Identity          ToolProviderIdentity `json:"identity" yaml:"identity" validate:"required"`CredentialsSchema []ProviderConfig     `json:"credentials_schema" yaml:"credentials_schema" validate:"omitempty,dive"`OAuthSchema       *OAuthSchema         `json:"oauth_schema" yaml:"oauth_schema" validate:"omitempty,dive"`Tools             []ToolDeclaration    `json:"tools" yaml:"tools" validate:"required,dive"`ToolFiles         []string             `json:"-" yaml:"-"`
}

6.AgentStrategyProviderDeclaration

源码位置:dify-plugin-daemon\pkg\entities\plugin_entities\agent_declaration.go

type AgentStrategyProviderDeclaration struct {Identity      AgentStrategyProviderIdentity `json:"identity" yaml:"identity" validate:"required"`Strategies    []AgentStrategyDeclaration    `json:"strategies" yaml:"strategies" validate:"required,dive"`StrategyFiles []string                      `json:"-" yaml:"-"`
}

六.plugin_installations

源码位置:dify-plugin-daemon\internal\types\models\installation.go

type PluginInstallation struct {ModelTenantID               string         `json:"tenant_id" gorm:"index;type:uuid;"`PluginID               string         `json:"plugin_id" gorm:"index;size:255"`PluginUniqueIdentifier string         `json:"plugin_unique_identifier" gorm:"index;size:255"`RuntimeType            string         `json:"runtime_type" gorm:"size:127"`EndpointsSetups        int            `json:"endpoints_setups"`EndpointsActive        int            `json:"endpoints_active"`Source                 string         `json:"source" gorm:"column:source;size:63"`Meta                   map[string]any `json:"meta" gorm:"column:meta;serializer:json"`
}
字段类型解释
Model-嵌入了基础模型结构体,继承了IDCreatedAtUpdatedAt字段。
TenantIDstring `json:“tenant_id” gorm:“index;type:uuid;”`租户ID,UUID格式,在数据库中建立了索引以加快查询。
PluginIDstring `json:“plugin_id” gorm:“index;size:255”`插件ID,最大长度255,并建立索引。
PluginUniqueIdentifierstring `json:“plugin_unique_identifier” gorm:“index;size:255”`插件唯一标识符,最大长度255的字符串,建立了索引。
RuntimeTypestring `json:“runtime_type” gorm:“size:127”`运行时类型,最大长度127,可能表示插件运行的环境或技术栈。
EndpointsSetupsint `json:“endpoints_setups”`已设置的端点数量,整型值。
EndpointsActiveint `json:“endpoints_active”`当前活跃的端点数量,整型值。
Sourcestring `json:“source” gorm:“column:source;size:63”`来源信息,最大长度63,可能指明插件的来源渠道。
Metamap[string]any `json:“meta” gorm:“column:meta;serializer:json”`存储元数据的映射,使用JSON序列化存储在数据库中,支持存储各种类型的附加信息。

七.plugins

源码位置:dify-plugin-daemon\internal\types\models\plugin.go

type Plugin struct {Model// PluginUniqueIdentifier is a unique identifier for the plugin, it contains version and checksumPluginUniqueIdentifier string `json:"plugin_unique_identifier" gorm:"index;size:255"`// PluginID is the id of the plugin, only plugin name is consideredPluginID          string                             `json:"id" gorm:"index;size:255"`Refers            int                                `json:"refers" gorm:"default:0"`InstallType       plugin_entities.PluginRuntimeType  `json:"install_type" gorm:"size:127;index"`ManifestType      manifest_entities.DifyManifestType `json:"manifest_type" gorm:"size:127"`RemoteDeclaration plugin_entities.PluginDeclaration  `json:"remote_declaration" gorm:"serializer:json;type:text;size:65535"` // enabled when plugin is remote
}
字段类型解释
Model-基础模型结构体,通常包含ID、创建时间、更新时间等通用字段。
PluginUniqueIdentifierstring `json:“plugin_unique_identifier” gorm:“index;size:255”`插件的唯一标识符,包含版本和校验和信息,用于精确定位特定版本的插件。
PluginIDstring `json:“id” gorm:“index;size:255”`插件的ID,仅考虑插件名称,不含版本信息。
Refersint `json:“refers” gorm:“default:0”`引用计数,记录插件被引用的次数,默认值为0。
InstallTypeplugin_entities.PluginRuntimeType `json:“install_type” gorm:“size:127;index”`插件的运行时类型,定义插件的安装和运行方式。
ManifestTypemanifest_entities.DifyManifestType `json:“manifest_type” gorm:“size:127”`清单类型,指定插件使用的清单格式。
RemoteDeclarationplugin_entities.PluginDeclaration `json:“remote_declaration” gorm:“serializer:json;type:text;size:65535”`远程插件的声明信息,仅当插件为远程类型时使用,包含插件的详细配置信息。

八.serverless_runtimes

源码位置:dify-plugin-daemon\internal\types\models\plugin.go

type ServerlessRuntime struct {ModelPluginUniqueIdentifier string                `json:"plugin_unique_identifier" gorm:"size:255;unique"`FunctionURL            string                `json:"function_url" gorm:"size:255"`FunctionName           string                `json:"function_name" gorm:"size:127"`Type                   ServerlessRuntimeType `json:"type" gorm:"size:127"`Checksum               string                `json:"checksum" gorm:"size:127;index"`
}
字段类型解释
Model-基础模型结构体,包含ID、创建时间和更新时间等字段。
PluginUniqueIdentifierstring `json:“plugin_unique_identifier” gorm:“size:255;unique”`插件的唯一标识符,包含版本和校验和信息,在数据库中设置为唯一。
FunctionURLstring `json:“function_url” gorm:“size:255”`无服务器函数的访问URL地址,用于调用相应函数。
FunctionNamestring `json:“function_name” gorm:“size:127”`函数的名称,用于标识特定的无服务器函数。
TypeServerlessRuntimeType `json:“type” gorm:“size:127”`无服务器运行时的类型,使用自定义的ServerlessRuntimeType枚举。
Checksumstring `json:“checksum” gorm:“size:127;index”`代码校验和,用于验证函数的完整性,防止代码被篡改。

九.tenant_storages

源码位置:dify-plugin-daemon\internal\types\models\storage.go

此结构体用于跟踪每个租户在各插件中的存储资源使用情况。

type TenantStorage struct {ModelTenantID string `gorm:"column:tenant_id;type:varchar(255);not null;index"`PluginID string `gorm:"column:plugin_id;type:varchar(255);not null;index"`Size     int64  `gorm:"column:size;type:bigint;not null"`
}
字段类型解释
Model-嵌入的基础模型结构体,包含通用字段如ID、创建时间和更新时间等。
TenantIDstring `gorm:“column:tenant_id;type:varchar(255);not null;index”`租户的唯一标识符,类型为字符串,数据库特性为varchar(255),非空,有索引。
PluginIDstring `gorm:“column:plugin_id;type:varchar(255);not null;index”`插件的ID,不含版本信息,类型为字符串,数据库特性为varchar(255),非空,有索引。
Sizeint64 `gorm:“column:size;type:bigint;not null”`记录租户在该插件中使用的存储空间大小,类型为int64 (8字节整数),数据库特性为bigint,非空。

十.tool_installations

源码位置:dify-plugin-daemon\internal\types\models\tool.go

此结构体用于跟踪和记录租户安装的工具或插件信息,建立了租户与其安装的插件之间的关联关系。通过这些字段可以唯一标识一个租户安装的特定插件实例。

type ToolInstallation struct {ModelTenantID               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:255"`PluginID               string `json:"plugin_id" gorm:"index;size:255"`
}

这个结构体定义了工具或插件安装的数据模型,用于GORM数据库操作。

字段类型解释
Model-内嵌的基础模型结构体,通常包含ID、创建时间、更新时间等基本字段。
TenantIDstring `json:“tenant_id” gorm:“column:tenant_id;type:uuid;index;not null”`租户的唯一标识符,类型为UUID字符串,设置了数据库索引,不允许为空。
Providerstring `json:“provider” gorm:“column:provider;size:127;index;not null”`插件/工具提供者名称,最大长度为127字符,设置了数据库索引,不允许为空。
PluginUniqueIdentifierstring `json:“plugin_unique_identifier” gorm:“index;size:255”`插件的唯一标识符,最大长度为255字符,设置了数据库索引。
PluginIDstring `json:“plugin_id” gorm:“index;size:255”`插件ID,最大长度为255字符,设置了数据库索引。

参考文献

[1] https://github.com/langgenius/dify-plugin-daemon

[2] https://github.com/langgenius/dify-official-plugins

[3] https://github.com/langgenius/dify-plugins

[4] https://github.com/langgenius/dify-plugin-sdks

[5] dify_plugin数据库中的表总结:https://z0yrmerhgi8.feishu.cn/wiki/Q2FmwTyJJie8cAkSA5IcLdb3nY9

http://www.xdnf.cn/news/640621.html

相关文章:

  • threejs几何体BufferGeometry顶点
  • 【报错】Error attempting to get column ‘created_time‘ from result set.解决方法
  • 手撕string类
  • 汉诺塔超级计算机堆栈区与数据区的协同
  • Docker(零):本文为 “Docker系列” 有关博文的简介和目录
  • Docker核心笔记
  • JavaWeb:SpringBoot配置优先级详解
  • 互联网大厂Java求职面试:AI应用集成中的RAG系统优化与向量数据库性能调优实战
  • 英语科研词汇的困境与汉语的崛起之光
  • 漫谈英伟达GPU架构进化史:从Celsius到Blackwell
  • vue3中使用watch
  • 什么是智能体agent?
  • Anaconda 常用命令汇总
  • Mongo DB | 多种修改数据库名称的方式
  • 明阳智慧能源社招校招入职测评 |iLogic言语逻辑数字、Talent5大五职业性格测评、TAS倍智人才测评考什么
  • 资源-又在网上淘到金了-三维模型下载
  • CodeTop之LRU缓存
  • SQL JOIN
  • 4款顶级磁力下载工具,速度提升器,可以变下变播
  • 【RocketMQ 生产者和消费者】- 生产者发送故障延时策略
  • MATLAB在逐渐被Python淘汰吗
  • 【Java高阶面经:缓存篇】35、 Redis单线程 vs Memcached多线程:高性能内存数据库设计解析
  • ComfyUI进行海报创作
  • 【Linux 学习计划】-- 冯诺依曼体系 | 操作系统的概念与定位,以及其如何管理软件
  • Reactor模式详解:高并发场景下的事件驱动架构
  • ROI智能计算精灵
  • Google 推出 Flow —— AI 电影制作新平台
  • 浏览器游戏的次世代革命:WebAssembly 3.0 实战指南
  • 微雪2.7英寸墨水屏 API函数 解释
  • 大模型BERT登顶刊CAR!分析专利文本的作用