# Get Home Info

> 通用原子技能，用于解析用户输入，识别目标家庭，并通过调用JS脚本获取对应的homeId及家庭信息。为其他IoT技能提供上下文支持。

- Skill: `18816132863/get-home-info` (Agent Skill)
- Install (CLI): `npx skillmds@latest add 18816132863/get-home-info`
- Raw SKILL.md: https://api.skillmd.com/api/skills/18816132863/get-home-info/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: 18816132863 (https://skillmd.com/u/18816132863)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/18816132863/get-home-info

---


# 家信息获取 (Get Home Info)

## 1. 技能说明

本技能是一个**上下文解析与澄清工具**。它不直接回答用户问题，而是为其他需要 `homeId` 的技能（如“全屋消息简报”、“设备控制”）获取homeId。它的主要工作流程是：

1.  **意图识别**：从用户的自然语言中判断是否指定了某个家庭（如“某某小区”、“爸妈家”）。
2.  **数据获取**：调用云侧接口获取用户名下所有家庭的信息。
3.  **歧义澄清**：当用户拥有多个家庭且输入不明确时，主动发起澄清询问。
4.  **上下文传递**：将最终确定的 `homeId` 传递给调用方技能，使其能够继续执行。

## 2. 使用方法 

1.  **接收输入**：接收用户的原始指令文本（例如：“帮我看下爸妈家的设备消息”）。
2.  **调用JS接口**：执行指定的 JS 命令来获取家庭列表。
    - **命令**: 
    ```bash
    # 获取用户家信息
    node common-skill/bin/smarthome-claw.js get_homes_info
    ```
3. 输出文件
- `out_put/get_homes_info/homes_info.txt` - 家庭信息列表

4. 返回字段
- homeId: 家庭 ID
- homeName: 家庭名称
- address: 地址
- role: 用户角色

3.  **逻辑判断与澄清**：
    - **情况A：用户只有一个家**
        - 直接返回该家的home信息。无需澄清。
    - **情况B：用户有多个家，且输入明确**
        - 例如用户说“**爸妈家**的设备消息”。技能需匹配 `homeName`（如“父母家”），并返回对应的 `homeId`。
    - **情况C：用户有多个家，但输入模糊**
        - 例如用户只说“帮我看看消息”。技能无法确定是哪个家。
        - **动作**: 触发澄清流程，向用户提问：“您名下有多个家庭，请问您想查看哪一个？是‘我的公寓’还是‘父母的别墅’？”
        - **等待**: 等待用户二次确认后，再返回对应的 `homeId`，支持返回该用户所有的homeId，根据主技能的需求判断。
4.  **输出结果**：将解析得到的 `homeId` 作为结果返回给主技能。

## 3. 实现细节

- **模糊匹配**: 技能应具备一定的模糊匹配能力。
- **上下文记忆**: 如果用户在上一轮对话中已经明确了是哪个家，本技能应优先使用上下文中的信息，避免重复询问。
- **错误处理**:
    - **接口调用失败**: 未获取用户homeId，返回错误信息，主技能自行决定后续流程。
    - **无法匹配**: 如果用户指定了一个不存在的家，应回复：“未找到名为‘xxx’的家庭，请确认。”
