def iot_device_precise_controller_prompt():
    return """
    设备精准控制

    【功能描述】
    用来精确控制特定设备的工具，通过设备的唯一ID直接操作，特别准确。
    这个工具只负责"控制设备"，但它需要先通过"设备信息查询"工具获取设备信息才能使用。

    【日常使用场景】
    在使用"设备信息查询"工具找到设备后的控制操作：
    - "控制那个具体的灯"
    - "操作刚才查到的灯"
    - "开一下那台空调"
    - "把刚才找到的空调打开"
    - "关掉那个特定的插座"
    - "控制指定的插座"
    - "操作那个设备"
    - "控制具体设备"

    跟进操作（基于之前的查询结果）：
    - "就是这个设备，帮我开一下"
    - "用这个ID控制设备"
    - "按照之前查到的信息操作"

    【工作方式】
    这个工具必须和"设备信息查询"工具配合使用：
    1. 第一步：用"设备信息查询"工具找设备
    2. 第二步：从查询结果中获取设备ID和控制命令  
    3. 第三步：用这个工具执行精确控制

    【工具配合关系】
    就像"先查电话号码，再打电话"：
    - 设备信息查询 = 查电话号码（找到设备和操作方法）
    - 设备精准控制 = 打电话（实际执行控制）
    
    【重要】
    这个工具不能单独使用！必须先用查询iot_get_devices_by_location或者iot_get_all_spaces_and_devices工具获取设备信息，不能随便填写参数。

    【参数说明】
    - entityId (必填): 设备唯一ID
      * 格式示例: "switch.zimi_cn_1144138206_dhkg01_on_p_2_1"
      * 来源: 设备查询工具返回结果中的设备ID

    - command (必填): 操作命令
      * 格式示例: "turn_on", "turn_off", "set_temperature", "set_brightness"
      * 来源: 设备查询工具返回结果中的命令

    - params (可选): 操作参数
      * 格式: 包含操作所需参数的数据
      * 来源: 设备查询工具返回结果中的参数
      * 示例: {"temperature": 24} 用于空调温度设置
      * 示例: {"brightness": 80} 用于灯光亮度调节

    【返回结果】
    返回设备控制操作结果，包括是否成功、设备反馈信息和详细结果。
    """


def iot_get_devices_by_location_prompt():
    return """
    根据位置获取设备列表

    【功能描述】
    根据指定的位置/房间，获取该位置下的所有智能设备列表。
    这个工具专门用来查看某个位置有哪些设备，会返回该位置的完整设备清单。

    【日常使用场景】
    查看位置设备：
    - "办公室有哪些设备"
    - "会议室有什么设备"
    - "看看客厅的设备"
    - "前台有什么智能设备"
    - "财务部的设备列表"
    - "查看卧室的所有设备"

    设备清单查询：
    - "列出办公室所有设备"
    - "显示会议室设备清单"
    - "办公室设备有哪些"
    - "会议室装了什么设备"
    - "客厅都有什么智能设备"

    位置设备统计：
    - "办公室一共有多少设备"
    - "会议室有几个设备"
    - "客厅设备数量"
    - "前台设备统计"

    简单查询：
    - "办公室设备"
    - "会议室设备列表"
    - "客厅的设备"
    - "设备清单"

    【注意】
    - 这个工具只返回设备列表信息，不会控制设备
    - 返回结果包含设备名称、类型、状态等详细信息
    - 如果需要控制设备，可以使用返回结果中的设备信息配合其他控制工具

    【参数说明】
    - location (必填): 要查询的位置/房间名称
      * 示例：办公室、会议室、客厅、前台、财务部等
      * 参数值不得包含任何标点符号（如逗号、句号、感叹号等）

    【返回结果】
    返回指定位置的所有设备列表，包括：
    - 设备数量统计
    - 每个设备的详细信息（设备ID、名称、类型、状态等）
    - 设备的当前状态（开启/关闭等）
    - 设备支持的控制命令

    【典型使用流程】
    1. 指定要查询的位置
    2. 获取该位置的所有设备列表
    3. 查看设备详细信息
    4. （可选）根据设备信息进行后续控制操作
    """


def iot_get_all_spaces_and_devices_prompt():
    return """
    获取所有空间位置信息

    【功能描述】
    获取系统中所有空间位置的列表。
    这个工具只返回空间名称清单，不包含设备详情，适合快速了解有哪些可用空间。

    【日常使用场景】
    查看所有空间：
    - "显示所有空间"
    - "有哪些空间"
    - "列出所有房间"
    - "查看全部区域"
    - "空间列表"
    - "所有位置"
    - "有什么位置"
    - "可用的空间有哪些"

    空间清单查询：
    - "系统里有几个空间"
    - "一共有多少个位置"
    - "空间总览"
    - "位置总览"
    - "房间列表"

    简单查询：
    - "所有空间"
    - "空间总览"
    - "位置列表"
    - "全部位置"

    【注意】
    - 这个工具只返回空间名称列表，不包含设备信息
    - 不需要传入任何参数
    - 如果需要查看某个空间的设备，请使用"根据位置获取设备列表"工具
    - 适合在控制设备前先了解有哪些可用空间

    【参数说明】
    - 无需参数（自动获取所有空间位置）

    【返回结果】
    返回所有空间位置列表，包括：
    - 空间总数统计
    - 所有空间名称的列表

    【典型使用流程】
    1. 调用工具获取所有空间列表
    2. 查看有哪些可用空间
    3. （可选）选择特定空间，使用"根据位置获取设备列表"工具查看该空间的设备
    4. （可选）根据设备信息进行设备控制操作
    """


def smart_space_device_locator_matcher_prompt():
    return """
    位置查询

    【功能描述】
    帮你查看自己现在在哪个位置/空间，会根据你的用户信息自动识别。

    【日常使用场景】
    查看位置：
    - "我现在在哪"
    - "我在哪个位置"
    - "我现在在哪个空间"
    - "当前位置是什么"
    - "我属于哪个地方"
    - "我在哪个区域"

    确认空间：
    - "当前默认空间是什么"
    - "我的默认位置"
    - "系统识别我在哪里"
    - "定位我的位置"
    - "我的空间信息"
    - "位置信息"

    设备控制前确认：
    - "先看看我在哪"
    - "确认一下位置"
    - "我在这个位置吗"
    - "位置对不对"

    【注意】
    这个工具只是查看你的位置信息，不会控制任何设备。

    【参数说明】
    - userId (必填): 用户ID（自动提供）

    【返回结果】
    返回用户所属空间：
    - spaceAliasName: 推断出的空间名称

    【使用说明】
    - 本工具仅做查询与定位，不执行设备控制
    """
