作者: rinoiot 版本: 0.0.3 类型: Dify 插件
RINO智能助理是一款为 Dify 平台开发的插件,旨在连接并控制 RINO IoT 平台上的智能家居设备。通过自然语言对话,用户可以轻松地查询设备状态、控制单个或多个设备、以及执行预设的场景。
本插件利用大语言模型(LLM)的理解能力,将用户的自然语言指令转换为对RINO IoT平台的精确API调用,从而实现对智能设备的无缝控制。
本插件目前提供以下核心工具:
-
获取所有可控制的智能设备 (
get_all_device)- 功能描述: 从用户指定的家庭中,获取所有可以被控制的设备、设备群组和场景的完整列表。
- 必要参数:
homeId,userId,apiUrl。 - 工作方式: LLM根据对话上下文或用户输入,提供
homeId和userId,用户在插件配置时提供apiUrl。
-
发送设备控制指令 (
send_operate)- 功能描述: 向指定的智能设备、群组或场景发送控制指令。例如开关、调节亮度、改变颜色等。
- 必要参数:
data,apiUrl。 - 工作方式: LLM根据用户的指令,生成符合RINO IoT平台规范的JSON格式控制指令(
data),实现对设备的精确控制。
-
获取当前时间 (
get_time)- 功能描述: 一个辅助工具,可以获取指定时区的当前时间。
- 必要参数:
timezone。 - 工作方式: LLM提供标准的IANA时区标识符(如
Asia/Shanghai),工具返回该时区的具体时间信息。
请按照以下步骤在您的Dify应用中配置和使用本插件:
在配置插件之前,您需要从RINO IoT平台获取以下信息:
RINO API Key: 您的开发者API密钥,用于插件认证。API URL: RINO IoT 平台的API服务器地址。homeId: 您需要控制的家庭ID。userId: 您的用户ID。
请登录 RINO IoT 平台 的控制台获取以上信息。
- 在Dify平台的"工具" -> "插件"部分,点击"创建自定义插件"。
- 选择"通过URL上传"或"本地上传 manifest 文件",将本项目的
manifest.yaml文件内容或托管地址填入。 - 在插件的"凭证配置"部分,填入您在第一步获取的
RINO API Key。 - 在工具的参数设置中,根据提示填入您的
API URL。
配置完成后,您可以在Dify的智能应用中添加并启用"RINO智能助理"插件。之后,您便可以通过对话来控制您的智能设备。
对话示例:
"帮我获取一下所有设备""把客厅的灯打开""关闭所有窗帘""现在上海的时间是几点?"
本插件遵循Dify的插件开发规范,可以作为自定义插件使用,也可以提交到Dify的官方插件商店。
关于如何将插件贡献到Dify插件商店,请参考官方文档: Dify 插件开发与贡献指南
发布流程通常包括:
- 确保插件功能稳定,并遵循Dify的设计规范。
- 准备清晰的
manifest.yaml文件和必要的文档(如本README.md)。 - 将插件代码托管在公开的Git仓库(如GitHub)。
- 通过向Dify官方提交Pull Request的方式来贡献您的插件。
本项目结构清晰,方便二次开发和维护。
main.py: 插件的Web Server入口,用于被Dify后端调用。manifest.yaml: 插件的核心声明文件,定义了插件的元数据和所需权限。provider/: 存放插件的提供商配置 (rino_assistant.yaml) 和工具的Python实现 (rino_assistant.py)。tools/: 存放每个工具的API声明文件 (.yaml) 和独立的Python实现脚本 (.py)。requirements.txt: 项目的Python依赖。
欢迎开发者基于此项目进行扩展,以支持更多RINO IoT平台的功能。