---
slug: "ai-kujiale-design"
name: "ai-kujiale-design"
version: 0.0.7
displayName: "酷家乐AI室内设计"
summary: "酷家乐室内智能设计,分步对话完成户型确认、风格选择、布局生成与渲染出图。。基于酷家乐(Kujiale)开放能力的室内智能设计技能,通过分步式对话完成 户型确认、风格选择、布局生成、渲染出图全"
summary_zh: "酷家乐室内智能设计,分步对话完成户型确认、风格选择、布局生成与渲染出图。。基于酷家乐(Kujiale)开放能力的室内智能设计技能,通过分步式对话完成 户型确认、风格选择、布局生成、渲染出图全"
license: "MIT"
description: |-
  基于酷家乐(Kujiale)开放能力的室内智能设计技能,通过分步式对话完成
  户型确认、风格选择、布局生成、渲染出图全流程.
  核心能力:
  - 户型获取: 支持小区名搜索与户型图上传两种路径,自动识别并生成可设计户型
  - 风格匹配: 基于偏好标签推荐硬装风格,支持封面图预览与单选确认
  - 智能布局: 自动布置家具,生成各房间布局方案并支持确认
  - 渲染出图: 生成效果图与全景图,按客餐厅、主卧、次卧、其他优先级输出
  适用场景:
  - 业主装修前的方案快速预览与风格试选
  - 室内设计师户型提案与客户沟通辅助
  - 房产经纪人对房源进行户型展示与效果包装
  - 装修公司标准化方案产出与批量出图
tags:
  - Creative
  - 室内设计
  - 装修
  - 设计
  - UI/UX
  - 创意
  - token
  - node
tools:
  - read
  - exec
  - write
homepage: ""
category: "Creative"
---
# 酷家乐 AI 室内设计

基于酷家乐开放能力,通过分步式对话完成户型确认、风格选择、布局生成与渲染出图。必须严格按本文档流程执行,不可自作主张发散.
**范围外**(本技能不做): 户型结构改造与承重墙编辑、水电施工图绘制、施工预算与材料清单、3D 模型导出与本地渲染.
## 输入格式

| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| input | string | 是 | 酷家乐AI室内设计处理的输入数据或指令 |
| options | object | 否 | 附加配置选项,如模式选择、格式偏好等 |
| callback_url | string | 否 | 异步处理完成后的回调通知URL |

## 付费版专享能力

| 能力 | 免费版 | 付费版 |
|:-----|:-----|:-----|
| 基础功能 | 支持 | 支持 |
| 酷家乐AI室内设计布局生成 | 不支持 | 支持 |
| 高清分辨率与无损输出 | 不支持 | 支持 |
| 批量生成与风格预设 | 不支持 | 支持 |
| 自定义模型微调 | 不支持 | 支持 |
| 商用版权授权 | 不支持 | 支持 |

## 依赖说明

### 运行环境
- **Agent平台**: 支持SKILL.md的任意AI Agent（Claude Code / Cursor / Codex / Gemini CLI等）
- **操作系统**: Windows / macOS / Linux

### 依赖项
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---:|---:|---:|---:|
| LLM API | API | 必需 | 由Agent内置LLM提供 |

### API Key 配置
需要配置对应API Key，详见上文环境配置章节

### 可用性分类
- **分类**: MD+EXEC（）

**API Key配置方式**:
```bash
export API_KEY="your_api_key_here"
```
配置后需重启会话或开启新终端生效。API Key应妥善保管,避免泄露到版本控制系统.
## 核心能力

### 输出规则

- 进度反馈通过 `message(action=send)` 发送
- 最终结果只输出渲染图、全景图与设计亮点,严格按 `./outputs/result.md` 格式
- 已发送的消息不重复输出

**输入**: 用户提供输出规则相关的配置参数、输入数据和处理选项.
**处理**: 解析输出规则的输入参数,执行核心处理逻辑,返回结构化结果和执行状态.
### 渠道规则

- **Webchat**: 直接发送图片链接
- **飞书**: 推送格式 `MEDIA:图片url`,直接展示图片

**输入**: 用户提供渠道规则相关的配置参数、输入数据和处理选项.
**处理**: 解析渠道规则的输入参数,执行核心处理逻辑,返回结构化结果和执行状态.
**输出**: 返回渠道规则的处理结果,包含执行状态码、结果数据和执行日志.
### 结果排序

渲染图按房间优先级输出: 客餐厅 → 主卧 → 次卧 → 其他.
**输入**: 用户提供结果排序相关的配置参数、输入数据和处理选项.
**处理**: 解析结果排序的输入参数,执行核心处理逻辑,返回结构化结果和执行状态。- 验证返回数据的完整性和格式正确性
- 参考`结果排序`的配置文档进行参数调优
### 设计流程

**输入**: 用户提供设计流程所需的指令和必要参数.
**处理**: 解析设计流程的输入参数,执行核心处理逻辑,返回结构化结果和执行状态.
**输出**: 返回设计流程的处理结果,包含执行状态码、结果数据和执行日志。- 验证返回数据的完整性和格式正确性
- 参考`设计流程`的配置文档进行参数调优
### 阶段一: 户型获取与确认
触发条件: 用户提到要做室内设计/装修设计.
询问户型来源:
> 请问您有户型信息吗?
> - 输入小区名搜索户型
> - 或直接上传户型图

#### 路径 A: 文字搜索户型

询问城市与小区(可一并告知户型结构、面积),随后搜索:

```bash
node （请参考skill目录中的脚本文件） --token=$TOKEN --query="
# ...
**处理**: 解析设计流程的输入参数,执行核心处理逻辑,返回结构化结果和执行状态.
# ...
**输出**: 返回阶段一: 户型获取与确认的处理结果,包含执行状态码、结果数据和执行日志.
# ...
#
## 快速开始

1. 确认运行环境满足依赖说明中的要求
2. 在AI Agent对话中调用本技能,提供必要的输入参数
3. 检查输出结果,根据需要进行后续处理

> 详细的输入输出格式请参考下方章节说明。

## 使用流程
# ...
1. **环境确认**: 确认Agent平台已加载本skill，检查依赖说明中的环境要求
2. **指令输入**: 向Agent描述需要执行的任务，引用`ai-kujiale-design`的相关能力
3. **执行处理**: Agent按照核心能力章节的指令执行任务
4. **结果验证**: 检查输出结果是否符合预期，参考错误处理章节处理异常
# ...
#
## 初始化配置
# ...
首次使用需在项目根目录创建 `.kjlconfig.json`(参考 `.kjlconfig-example.json`),配置 access_token:
# ...
```json
{
  "access_token": "用户从酷家乐复制的 token"
}
```
# ...
若无 token，引导用户访问 https://www.kujiale.com/skills 生成,并将 `.kjlconfig.json` 保存在 `.kjlconfig-example.json` 同一目录下.
# ...
所有脚本调用前,先从 `.kjlconfig.json` 读取 `access_token` 字段作为 `$TOKEN`.
# ...
## 版本校验
# ...
每次执行前调用版本校验,确认技能版本可用:
# ...
```bash
node （请参考skill目录中的脚本文件） --token=$TOKEN --version=1.0.0
```
# ...
返回 action 含义:
- action=1: 继续
- action=2: 提示"版本已过时,建议更新"
- action=3: 终止,提示"版本已废弃,需重新安装"
# ...
## 输出规则(补充)
# ...
## 渠道规则(补充)
# ...
## 结果排序(补充)
# ...
## 设计流程(补充)
# ...
### 阶段一: 户型获取与确认(补充)
# ...
触发条件: 用户提到要做室内设计/装修设计.
# ...
#### 路径 A: 文字搜索户型(补充)
# ...
```bash
node （请参考skill目录中的脚本文件） --token=$TOKEN --query="小区名" --areaId="城市id" --start=0 --num=20
```
# ...
展示结果供用户选择,获得 planId 后获取户型图:
# ...
```bash
node （请参考skill目录中的脚本文件） --planId=$PLAN_ID
```
# ...
解析返回:
- `floorplanInfos` 为空 → 提示"户型图获取失败,请重新选择或上传户型图",重新搜索
- 有数据 → 取 `floorplanInfos[0].planImage` 展示给用户,附带面积 `realArea`
# ...
#### 路径 B: 上传户型图
# ...
监听 `~/.skill-platform/media/inbound` 是否有新图片(每 5 秒检查)。检测到图片后:
# ...
```bash
# 获取上传凭证
node （请参考skill目录中的脚本文件） --token=$TOKEN

# 按 ./docs/upload.md 执行上传获取 url

# 创建临摹任务
node （请参考skill目录中的脚本文件） --token=$TOKEN --bitmap=$IMAGE_URL

# 轮询临摹结果
node （请参考skill目录中的脚本文件） --token=$TOKEN --taskId=$TASK_ID
```
# ...
获得 planId 后同样调用 `getFloorplanInfo.js` 展示户型图.
# ...
#### 确认户型并创建方案
# ...
向用户展示户型图并询问是否满意:
> 户型已生成,请查看户型图:
> [展示 planImage]
> 面积: {realArea}㎡
> 请确认是否满意?
> - 回复「确认」继续创建方案
> - 回复「重新生成」重新搜索/上传
> - 回复「上传图片」/「搜索户型」切换路径
# ...
用户确认后创建方案:
# ...
```bash
node （请参考skill目录中的脚本文件） --token=$TOKEN --planId=$PLAN_ID
```
# ...
获得 designId，提示用户进入风格选择.
# ...
### 阶段二: 风格选择
# ...
触发条件: 户型已确认.
# ...
获取偏好标签:
# ...
```bash
node （请参考skill目录中的脚本文件） --token=$TOKEN
```
# ...
展示标签列表供用户单选(回复数字),获得 tagItemIds。查询硬装风格:
# ...
```bash
node （请参考skill目录中的脚本文件） --token=$TOKEN --tagItemIds=$TAG_IDS
```
# ...
- 返回多个风格: 展示每个风格的 coverUrl 与 styleName 供用户选择
- 返回单个风格: 默认选择并提示"已为您匹配{风格名}风格"
# ...
获得 styleId,进入布局阶段.
# ...
### 阶段三: 布局生成与确认
# ...
触发条件: 风格已确认.
# ...
先与用户确认本次布局会消耗账号内智能布局额度/核豆,需用户确认知晓后执行.
# ...
发送"开始布局,请稍等"并触发智能布局:
# ...
```bash
node （请参考skill目录中的脚本文件） --token=$TOKEN --designId=$DESIGN_ID \
  --tagIds=$TAG_IDS --styleId=$STYLE_ID \
  --applyDecorationStyle=true --buildCeiling=true --autoDesign=true
```
# ...
查询布局结果,若 `c!=0` 每 10 秒重复查询:
# ...
```bash
node （请参考skill目录中的脚本文件） --token=$TOKEN --designId=$DESIGN_ID
```
# ...
通过 `message(action=send)` 发送各房间布局(房间名 + 家具列表),进入渲染阶段.
# ...
### 阶段四: 渲染出图
# ...
触发条件: 布局已确认.
# ...
发送"开始渲染,请稍等"并触发渲染:
# ...
```bash
node （请参考skill目录中的脚本文件） --obsDesignId=$DESIGN_ID --xToken=$TOKEN
```
# ...
提示"正在生成效果图,预计几分钟..."。等待 10 秒后查询渲染结果:
# ...
```bash
node （请参考skill目录中的脚本文件） --token=$TOKEN --designId=$DESIGN_ID
```
# ...
提取 `pictype=0` 的 `img`(渲染图)与 `pictype=1` 的 `panoLink`(全景图)。若为空每分钟重试,超 5 分钟反馈失败.
# ...
最终结果严格按 `./outputs/result.md` 输出:
- 设计亮点(根据第一张渲染图总结)
- 渲染图(按客餐厅、主卧、次卧、其他优先级)
- 全景图链接
- 方案详情链接: https://www.kujiale.com/pcenter/design/{designId}/setting?from=skills
# ...
## 适用场景
# ...
| 场景 | 典型输入 | 输出内容 | 涉及阶段 |
|:---:|:---:|:---:|:---:|
| 业主装修方案预览 | "帮我设计下我家三居室" | 户型图 + 效果图 + 全景图 | 全流程 |
| 设计师户型提案 | "把这个户型出几套风格效果图" | 多风格渲染图 | 风格 + 渲染 |
| 房源效果包装 | "搜索这个小区户型并渲染" | 户型图 + 渲染图 | 户型搜索 + 渲染 |
| 标准化方案产出 | "按现代风格布局并出图" | 布局方案 + 渲染图 | 布局 + 渲染 |
# ...
**不适用于**: 户型结构改造、施工图绘制、施工预算、3D 模型导出.
# ...
## 案例展示
# ...
### 案例一： 业主三居室全流程设计
**场景**: 业主提供小区名,希望完成从户型到效果图的完整设计
# ...
```bash
# 搜索户型
node （请参考skill目录中的脚本文件） --token=$TOKEN --query="阳光花园" --areaId="330100" --start=0 --num=20

# 用户选定后获取户型图
node （请参考skill目录中的脚本文件） --planId=$PLAN_ID

# 创建方案
node （请参考skill目录中的脚本文件） --token=$TOKEN --planId=$PLAN_ID

# 获取风格标签并选择
node （请参考skill目录中的脚本文件） --token=$TOKEN
node （请参考skill目录中的脚本文件） --token=$TOKEN --tagItemIds=$TAG_IDS

# 触发布局
node （请参考skill目录中的脚本文件） --token=$TOKEN --designId=$DESIGN_ID \
  --tagIds=$TAG_IDS --styleId=$STYLE_ID \
  --applyDecorationStyle=true --buildCeiling=true --autoDesign=true

# 触发渲染
node （请参考skill目录中的脚本文件） --obsDesignId=$DESIGN_ID --xToken=$TOKEN
node （请参考skill目录中的脚本文件） --token=$TOKEN --designId=$DESIGN_ID
```
# ...
**输出**: 户型图、各房间布局说明、渲染图(客餐厅/主卧/次卧)、全景图链接、方案详情链接
# ...
**说明**: 全流程覆盖四阶段,业主仅需在户型确认、风格选择、布局确认三个节点交互,其余由脚本自动完成。渲染图按客餐厅、主卧、次卧优先级输出.
# ...
### 案例二： 上传户型图临摹设计
**场景**: 用户已有户型图照片,希望基于该户型进行设计
# ...
```bash
# 获取上传凭证并上传
node （请参考skill目录中的脚本文件） --token=$TOKEN

# 创建临摹任务
node （请参考skill目录中的脚本文件） --token=$TOKEN --bitmap=$IMAGE_URL

# 轮询临摹结果
node （请参考skill目录中的脚本文件） --token=$TOKEN --taskId=$TASK_ID

# 后续流程同案例1
node （请参考skill目录中的脚本文件） --planId=$PLAN_ID
node （请参考skill目录中的脚本文件） --token=$TOKEN --planId=$PLAN_ID
```
# ...
**输出**: 识别后的户型图、后续风格/布局/渲染结果
# ...
**说明**: 路径 B 适用于小区名搜不到或户型已改造的场景。临摹任务需轮询直至返回 planId,识别失败时引导用户重新上传或改用文字搜索.
# ...
### 案例三： 多风格快速试选
**场景**: 设计师希望快速对比多种硬装风格
# ...
```bash
# 获取风格标签
node （请参考skill目录中的脚本文件） --token=$TOKEN

# 查询硬装风格(可能返回多个)
node （请参考skill目录中的脚本文件） --token=$TOKEN --tagItemIds=$TAG_IDS
```
# ...
**输出**: 多个风格的 coverUrl 封面图与 styleName
# ...
**说明**: getStyles 返回多个风格时,展示每个风格的封面图供用户对比选择,选定后进入布局阶段。适合客户沟通阶段快速锁定风格方向.
# ...
## 异常处理
# ...
# ...
| 错误场景 | 错误信息 | 原因分析 | 处理方式 |
|:------|------:|:------|:------|
| missing_token | `.kjlconfig.json` 缺失或无 access_token | 未完成初始化配置 | 引导用户访问 kujiale.com/skills 生成 token 并写入配置 |
| version_deprecated | versionCheck action=3 | 技能版本已废弃 | 终止流程，提示用户重新安装技能 |
| floorplan_empty | `floorplanInfos` 为空数组 | 户型图获取/识别失败 | 提示重新选择或上传,返回搜索/上传步骤 |
| bitmap_task_failed | 临摹任务超时或失败 | 户型图质量差或不清晰 | 引导重新上传清晰户型图或改用文字搜索 |
| layout_pending | `getLayoutResult` 返回 c!=0 | 布局仍在生成 | 每 10 秒轮询,直至 c=0 |
| render_empty | 渲染结果 img/panoLink 为空 | 渲染仍在进行 | 每分钟超 5 分钟反馈失败 |
| quota_insufficient | 智能布局额度/核豆不足 | 账号额度耗尽 | 提示用户充值或更换账号,不在未确认时扣费 |
| network_error | 接口超时或不可达 | 网络问题 | 
# ...
## 常见问题
# ...
### Q1: 如何获取 access_token?
A: 访问 https://www.kujiale.com/skills 登录酷家乐账号后生成 token,复制后写入项目根目录的 `.kjlconfig.json`,key 为 `access_token`。配置文件需与 `.kjlconfig-example.json` 同目录.
# ...
### Q2: 文字搜索和上传户型图该怎么选?
A: 小区名能在酷家乐户型库中搜到时优先用文字搜索(路径 A),速度快且户型数据准确;若小区搜不到或户型已改造,用上传户型图(路径 B)通过临摹识别,需轮询等待识别结果.
# ...
### Q3: 智能布局会消耗额度吗?
A: 会。布局阶段会消耗账号内智能布局额度/核豆,因此流程中会先与用户确认知晓后再执行,避免误扣。额度不足时会提示 quota_insufficient.
# ...
### Q4: 渲染需要多长时间?
A: 通常需要几分钟。触发渲染后等待 10 秒开始查询,若结果为空每分钟重试,超过 5 分钟反馈失败。期间通过 message(action=send) 向用户发送进度.
# ...
### Q5: 渲染图和全景图有什么区别?
A: 渲染图(pictype=0 的 img)是单张静态效果图;全景图(pictype=1 的 panoLink)是可交互的 360 度全景链接,可在浏览器中环视整个空间。两者均按客餐厅、主卧、次卧、其他优先级输出.
# ...
### Q6: 最终结果输出在哪里?
A: 严格按 `./outputs/result.md` 格式输出,包含设计亮点、渲染图、全景图链接与方案详情链接(https://www.kujiale.com/pcenter/design/{designId}/setting?from=skills)。已发送的进度消息不重复输出.
# ...
## 错误处理
# ...
# ...
| 错误场景 | 原因 | 处理方式 |
|---:|:---|---:|
| LLM响应超时或无响应 | 网络延迟或模型负载过高 | ，请求；确认Agent平台LLM服务正常 |
| 输入内容格式不正确 | 用户输入不符合skill预期格式 | 检查输入是否符合skill使用说明中的格式要求，参考示例章节 |
| 执行结果与预期不符 | 指令描述不够明确或上下文不足 | 提供更详细的指令描述，补充必要的上下文信息 |
| 命令执行失败 | 运行环境不满足要求或权限不足 | 确认运行环境符合依赖说明中的要求；检查命令权限设置 |
# ...
## 已知限制
# ...
1. **需 access_token**: 必须配置酷家乐 token,无 token 无法使用
2. **智能布局消耗额度**: 每次布局会扣减账号额度/核豆,需用户确认
3. **临摹识别依赖图片质量**: 模糊或畸变的户型图可能导致识别失败
4. **渲染耗时较长**: 单次渲染通常需几分钟,大批量出图需串行等待
5. **不支持户型结构改造**: 仅基于已有户型布局与渲染,不编辑承重结构
6. **风格库以酷家乐为准**: 可选风格取决于 getStyles 返回,无法自定义硬装风格
# ...