智能家居产业观察(CSHIA Research 数据源)
这个技能干什么
智能家居产业观察是一个常驻的产业数据入口。用户一句「找报告」,就从 ima 知识库「CSHIA Research 中智盟咨询」 里把相关行业数据捞出来,对齐口径,产成一份能直接用的行业报告 / 市场内容分析。
数据源固定,不换、不猜。 除非用户另指知识库,一律走下面这张卡。
前置依赖与数据源可用性(别人装上能不能跑,全看这节)
本技能的主数据源是 ima 知识库。按以下顺序逐级降级,别一上来就判定"跑不了"。
| 情况 | 排查动作 |
|---|---|
| ima MCP 未连接 | 调 workbuddy_request_mcp_connection({ servers: ["ima-mcp"] }),等用户授权后重试 |
ima MCP 已连,但 search_knowledge_base 搜不到「CSHIA Research中智盟咨询」 |
该知识库不在对方账号下 → 让用户在 ima 里打开公开分享链接导入:https://ima.qq.com/wiki/?shareId=4abd30979b88eee1e295bc2af6682d06ed1ce288ab95cd71e4110e02c2f36d08,导入后 get_knowledge_list 核对是否 23 份 |
| 仍拿不到数据(无 ima / 知识库导不进) | 降级为公开检索:用 WebSearch/websearch 找 CSHIA、中智盟、洛图科技、奥维云网、GfK、中怡康等公开口径。但必须遵守两条:① 在报告开头显式写一行「数据源降级:非 CSHIA 知识库,公开检索口径」,与 CSHIA 数据绝不混排;② 每个数字照常标机构 + 年份 |
| 用户明确说"不要用 CSHIA" | 直接走公开检索,跳过上表 |
> 导知识库是一次性动作,导入后本技能回到主路径,不需要重复操作。
> 降级产物要保证可用,不能因为换了源就交白卷——但不许把公开检索的数字伪装成 CSHIA 白皮书数据。
| 项 | 值 |
|---|---|
| 知识库名 | CSHIA Research中智盟咨询 |
knowledge_base_id |
7473010407663050 |
| 报告文件夹 | 「CSHIA Research往期报告」folder_id = folder_7473010818705629 |
| 库内规模 | 23 份(PDF 为主 + 少量 PPTX),年份 2018–2025 |
| 库简介 | 智能家居知识库,创建人 王胜阳 |
库内内容速查(找数据先对号入座,别盲搜):
| 主题 | 年份 | 备注 |
|---|---|---|
| 智能家居生态/全屋智能大盘 | 2018 / 2019 / 2020 | 老口径,做历史走势用;断言当下市场请配 2024/2025 稿 |
| 智能家居市场创新发展(周军) | 2024 | 政策、并购、市场规模 |
| 产业新格局下的智能家居创新趋势(王胜阳) | 2024 前后 | 发展历程、渠道重塑 |
| 智能门 | 2024 | 千门万户智能焕新(创米数联) |
| 智慧卧室 / 深睡 / 睡眠 | 2024 | 智睡小屋(王力安防·爱感)、慕思股份 2025 半年报可作财务侧补充 |
| 智能窗帘 | 2019 / 2022 / 2025 | 2025 版最新最全 |
| 智能晾晒 / 隐形晾衣机 | 2022 / 2023 / 2024 / 2025 | 好易点、邦先生 |
| 智能衣物护理机 | 2022 | 荣事达 |
| 品牌可行性研究 | 2023 | 德施曼智能家居拓展可行性研究报告 |
何时触发
- 「找报告」「找份报告」「找行业报告」「找行业数据」「找白皮书」「智能家居产业观察」「产业观察」→ 直接触发(这是本技能的主入口)
- 具体说法:「找一下智能窗帘的市场数据」「找份智能门锁的报告」「找 CSHIA 的数据」「找中智盟的白皮书」「用产业观察看一下智能晾晒」
- 需要智能家居/全屋智能任意品类的规模、增速、渗透率、渠道、品牌格局、用户需求画像
- 要做「市场内容分析」「行业趋势报告」「数据复盘」
不触发:用户明确要写公众号文章(wechat-write)、排版(wechat-xiaonengshou-style)、做 PPT 而不要数据底稿(tencent-pptx)。这几种是本技能的下游,不是入口。
工具准备(必须第一步做)
本环境 ima 是 MCP 工具,不在默认工具列表里,必须先 ToolSearch 加载 schema 再调用:
ToolSearch({ tool_names: [
"mcp__ima-mcp__search_knowledge_base",
"mcp__ima-mcp__get_knowledge_list",
"mcp__ima-mcp__search_knowledge",
"mcp__ima-mcp__fetch_media_content"
]})
调用走 DeferExecuteTool({ toolName: "...", params: {...} }),toolName 必须写在 params 里,漏了直接报 toolName is required。
五步流水线
Step 0 · 定题(缺关键约束才问,最多一轮)
用户通常只说「找报告」。默认按「智能家居大盘 + 最新可得数据」出,但一次问清这 4 项,别反复追问:
| 项 | 默认值 |
|---|---|
| 主题 | 用户原话里的品类;没说就「智能家居大盘」 |
| 时间范围 | 库内最新到最早的全部年份(跨年份是这份数据的价值) |
| 用途 | 行业分析;用户若提到品牌/PR/选题则按用途往「可对外引用」上靠 |
| 交付 | Markdown 主稿(默认),用户要 PPT/Word/公众号再走下游 |
> 用户回「可以」「都行」之类短确认,立刻按默认值开跑,不要卡住。
Step 1 · 定位知识库
// search_knowledge_base
{ "query": "CSHIA Research", "limit": 10 }
核对返回 id == 7473010407663050。这个 ID 已核实,直接用,不必每次搜。如果 ima 报未授权/找不到,走 workbuddy_request_mcp_connection 请求连接 ima-mcp。
Step 2 · 检索(跑 2–4 组关键词)
// search_knowledge
{ "knowledge_base_id": "7473010407663050",
"folder_id": "folder_7473010818705629",
"query": "智能晾晒 市场规模 渗透率 品牌格局" }
要点:
- 没有
limit参数 —— 传了直接报must NOT have additional properties。返回的相关结果自己按highlight_content判读,用cursor翻页。 - 关键词组合跑几组:① 品类名 + 市场规模 ② 品类名 + 增速/渗透率 ③ 品类名 + 品牌格局/份额 ④ 品类名 + 渠道/用户需求。
highlight_content带<em>高亮标签,引用前必须清掉(str.replace('<em>','').replace('</em>','')),否则交付物里会有 HTML 残渣。- 优先拿年份最新的那份做主源;老年份用来补时间序列。
Step 3 · 去重 + 深读
库里有成对重复文件(水印版 / 发布版 / 完整版 / 无前缀同名)。去重规则:
- 文件名去掉「水印」「完整版」「发布版」「final」「-V1」「(细化修改版)」等前缀后缀后归一
- 同归一名的取一份(优先文件名干净、无「水印」字样的)
- 已知重复组:智能门、智慧卧室、智能窗帘(2019/2022)、智能家居生态(2019/2020)、智能晾衣机 —— 别重复读全文,浪费 context
深读:
// fetch_media_content
{ "media_id": "pdf_49322df4e920ac85877a2feb3a2f292b_c00bcc4b78d1ef5e27656acd6db017147473010407663050" }
- 返回全文解析文本(几十 KB 级别),PDF 里的表格已转成 markdown 表格文本,mermaid 流程图转成
graph TD文本,图片是占位符不是图 —— 凡结论依赖图片的信息(如柱状图数据),要么从正文表格里找,要么明确标注「原图数据无法直接提取」,绝不能凭占位符编数字。 - 单篇最多读 3–5 篇主源。先读最新年份的,再补前一年做对照。
- 抽取的数据点落盘到
_work/:
~/.workbuddy/outputs/_work/智能家居报告_<日期>/
├── raw_notes_<报告简称>.md # 每篇的原文摘录(按章节)
└── data_points.md # 结构化数据:指标 | 数值 | 年份 | 出自哪份报告
Step 4 · 跨年份对齐(本技能的核心价值)
同一品类在不同年份白皮书里,指标口径常常不同(有的报零售额亿元,有的报出货量万台/万套)。硬比会把读者带沟里。规则:
- 同口径才连成走势;口径不同的两个数,并列呈现并注明「口径 A / 口径 B」,不强行算增速。
- 输出一张时间序列表:
指标 | 2019 | 2022 | 2024 | 2025 | 出处 - 只取单点数据的指标,标注「仅 <年份> 有数据」。
- 2018–2020 的老数据带一句提示:当时为预测值,现已兑现/已过时,引用时写明年份,别当成当期事实。
- 数据打架时(多家调研机构口径不同)——如实并列,标出机构名,不下「唯一正确答案」的判断。
Step 5 · 出稿
按 references/report_template.md 的结构写,存到:
~/.workbuddy/outputs/智能家居行业报告/<YYYYMMDD>_<主题slug>/<主题>-行业报告.md
同时给一张数据来源清单表(报告名 | 发布方/合作方 | 年份 | 用在哪一段 | media_id),方便复核和后续复跑。
报告骨架(默认)
- 一句话结论 + 3–5 条要点(每条 = 一个判断 + 一个数字)
- 市场规模与走势(表 + 图)
- 品类/赛道格局(品类 | 规模 | 增速 | 主要玩家 | 主力报告年份)
- 渠道与需求端(B 端精装 / C 端零售 / 集成商侧)
- 产业链与技术(芯片、通信协议、Matter、AI 落地)
- 竞争与生态(平台格局、阵营、并购)
- 案例拆解(1–2 个,要具体数字与动作)
- 机会与风险(落到品牌 / 集成商 / 渠道三方的可执行建议)
- 数据来源与口径说明
详细模板见 references/report_template.md。
交付与下游路由
| 用户要什么 | 怎么接 |
|---|---|
| Markdown 主稿(默认) | 直接产出,present_files 呈现 |
| 数据走势图 | 内联 show_widget 出 SVG/HTML 图表,light 主题:浅色底 + 深色字;有 ≥3 个时间点的数据必须出图 |
| Word 交付 | tencent-docx |
| PPT | guizang-ppt-skill 或 tencent-pptx |
| 公众号文章(基于这批数据写稿) | wechat-write → wechat-xiaonengshou-style(公众号稿禁用宏大叙事,判定标准:把主体抽掉也能成立的句子就删) |
| 视频号口播 | wechat-video-script(口播稿反而要宏大叙事历史笔法,与公众号规则相反) |
写作口径:结论先行、结构化、多用表格;数据一律带年份和出处;避免"把主体抽掉也能成立"的空话;品牌稿用第三方行业媒体口吻,别写软文腔。
已知的坑(踩过就别再踩)
| 坑 | 表现 | 处理 |
|---|---|---|
search_knowledge 传 limit |
报 must NOT have additional properties |
删掉这个参数,用 cursor 翻页 |
DeferExecuteTool 漏 toolName |
报 toolName is required |
toolName 放 params 里 |
全文里混着 <em> |
检索片段原样带回 | 引用前 strip |
| 图片是占位符 |  无数据 |
从正文表格取数;取不到就标「原图数据待核」,绝不编 |
| 大文件解析慢/超长 | 133MB 的 PDF 全文几十 KB 文本 | 只读必要篇目,摘录时按章节截断 |
| 同库重复文件 | 水印版/发布版两份 | 按 Step 3 规则归一,一次只读一份 |
| 年份混淆 | 拿 2018 白皮书当现状 | 2018–2020 数据必须显式标年份,且只当历史/预测用 |
速查
KB ID 7473010407663050
FOLDER ID folder_7473010818705629 (「CSHIA Research往期报告」,23 份)
主入口 search_knowledge(库内语义检索,无 limit 参数)
深读 fetch_media_content(media_id)
清单 get_knowledge_list(可带 folder_id + sort_type=UPDATE_TS_DESC_SORT_TYPE)
产出目录 ~/.workbuddy/outputs/智能家居行业报告/<日期>_<主题>/
中间件目录 ~/.workbuddy/outputs/_work/智能家居报告_<日期>/