Skip to main content

ai-kujiale-design

室内智能设计skill,分步式对话完成户型确认→风格选择→布局确认→渲染出图。

跳到安装

来源信息

仓库
Jinhong270/AI-Agent
最近来源活动
2026年6月29日 12:28
检测到的 SKILL.md 语言
中文
星标
2
分支
0

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

文件资源管理器
32 个文件

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
ai-kujiale-design
description
室内智能设计skill,分步式对话完成户型确认→风格选择→布局确认→渲染出图。
version
0.0.6
author
ManycoreTech
tags
["aiDesign","kujiale","coohom"]
# 室内智能设计 ## 说明 必须严格根据本文档流程来执行,不能自作主张发散。 ## 初始化配置 首次使用需在项目根目录创建 `.kjlconfig.json` 文件(参考 `.kjlconfig-example.json`),配置 access_token。 若无 token,引导用户访问 https://www.kujiale.com/skills 生成并保存 `.kjlconfig.json`,key 是access_token,value 是用户复制的值,`.kjlconfig.json`要保存在`.kjlconfig-example.json`同一目录下。 ## Token 读取 所有脚本调用前,先从 `.kjlconfig.json` 读取 access_token字段作为 token: ## 版本校验 每次执行前调用:`node ./scripts/versionCheck.js --token=${token} --version=0.0.6` - action=1:继续 - action=2:提示"版本已过时,建议更新" - action=3:终止,提示"版本已废弃,需重新安装" ## 输出规则 - 进度反馈通过 `message(action=send)` 发送 - 最终结果只输出渲染图、全景图和设计亮点,最终结果要严格按照./outputs/result.md输出 - 已发送的消息不重复输出 --- ## 分步流程 ### 阶段1:户型获取与确认 **触发条件**:用户提到要做室内设计/装修设计 **步骤1.1**:询问户型来源 > "请问您有户型信息吗? > - 输入小区名搜索户型 > - 或直接上传户型图" **路径A:文字搜索户型** **步骤1.2a**:询问城市 > "请问房子在哪个城市?" **步骤1.3a**:询问小区 > "请问是哪个小区?户型信息(几室几厅、面积)也可以一起告诉我。" **步骤1.4a**:搜索户型 ``` node ./scripts/searchPlan.js --token=<token> --query=<小区名> --areaId=<城市id> --start=0 --num=20 ``` 展示结果让用户选择: > "找到以下户型,请回复数字选择: > 1. {小区名} {面积}㎡ {户型结构} > 2. ..." 用户选择后获得 planId。 **步骤1.5a**:获取户型图并展示给用户确认 ``` node ./scripts/getFloorplanInfo.js --planId=<planId> ``` 解析返回结果: - 若 `floorplanInfos` 为空数组:提示"户型图获取失败,请重新选择或上传户型图",返回步骤1.4a - 若有数据:取 `floorplanInfos[0].planImage` 展示给用户,直接展示图片 > "户型已生成,请查看户型图: > [展示 planImage 图片] > 面积:{realArea}㎡ > 请确认是否满意? > - 回复「确认」继续创建方案 > - 回复「重新生成」重新搜索户型 > - 回复「上传图片」改为上传户型图" 等待用户回复: - 若用户确认满意 → 进入步骤1.6创建方案 - 若用户不满意 → 根据用户选择重新执行路径A或路径B **路径B:上传户型图** 同时监听 `~\.openclaw\media\inbound` 是否有新图片(每5秒检查)。 **步骤1.2b**:识别户型图 检测到图片后: > "检测到您上传了图片,正在识别户型..." **步骤1.3b**:上传图片 ``` node ./scripts/getUploadToken.js --token=<token> ``` 按 ./docs/upload.md 执行上传获取 url。 **步骤1.4b**:创建临摹任务 ``` node ./scripts/createBitmapTask.js --token=<token> --bitmap=<url> ``` 轮询结果: ``` node ./scripts/getBitmapTaskResult.js --token=<token> --taskId=<taskId> ``` 获得 planId。 **步骤1.5b**:获取户型图并展示给用户确认 ``` node ./scripts/getFloorplanInfo.js --planId=<planId> ``` 解析返回结果: - 若 `floorplanInfos` 为空数组:提示"户型图识别失败,请重新上传或搜索户型",返回步骤1.2b - 若有数据:取 `floorplanInfos[0].planImage` 展示给用户 > "户型已识别生成,请查看户型图: > [展示 planImage 图片] > 面积:{realArea}㎡ > 请确认是否满意? > - 回复「确认」继续创建方案 > - 回复「重新生成」重新上传户型图 > - 回复「搜索户型」改为文字搜索" 等待用户回复: - 若用户确认满意 → 进入步骤1.6创建方案 - 若用户不满意 → 根据用户选择重新执行路径A或路径B **步骤1.6**:创建方案(两种路径合并) ``` node ./scripts/createDesign.js --token=<token> --planId=<planId> ``` 获得 designId。 **步骤1.7**:确认户型 > "已确认户型:{户型信息},接下来选择您喜欢的风格~" --- ### 阶段2:风格选择(标签+硬装风格) **触发条件**:户型已确认 **步骤2.1**:获取标签并展示选项 ``` node ./scripts/getTags.js --token=<token> ``` 解析返回的标签列表,展示给用户: > "请选择您的偏好:(单选,回复数字如'1') > 1. {标签项1名称} > 2. {标签项2名称} > 3. ... > 或直接描述您的喜好" 用户选择后获得 tagItemIds 列表。 **步骤2.2**:查询硬装风格 ``` node ./scripts/getStyles.js --token=<token> --tagItemIds=<id1,id2,...> ``` **步骤2.3**:风格选择 - 若返回多个风格:展示封面图让用户选择 > "以下硬装风格可选,请回复数字选择:" > 展示每个风格的 coverUrl 图片 + styleName,如果非Webchat渠道,直接展示图片 - 若返回单个风格:默认选择 > "已为您匹配{风格名}风格" 获得 styleId,进入下一阶段。 --- ### 阶段3:布局生成与确认 **触发条件**:风格已确认。 **步骤3.1**:跟用户确认本次布局会消耗他账号内的智能布局的额度/核豆,需要用户确认知晓后再执行后续步骤 **步骤3.2**:使用 message(action=send) 发送"开始布局,请稍等" **步骤3.3**:触发智能布局 ``` node ./scripts/triggerLayout.js --token=<token> --designId=<designId> --tagIds=<id1,id2,...> --styleId=<styleId> --applyDecorationStyle=true --buildCeiling=true --autoDesign=true ``` **步骤3.4**:等待并查询布局结果 ``` node ./scripts/getLayoutResult.js --token=<token> --designId=<designId> ``` 若 c!=0 则每10秒重复查询。 **步骤3.5**:展示布局结果并等待用户确认 使用 message(action=send) 发送布局信息: > "布局已生成!以下是各房间的布局情况: > - {房间名1}:{家具列表} > - {房间名2}:{家具列表} > ... 直接进入阶段4渲染出图 --- ### 阶段4:渲染出图 **触发条件**:布局已确认 **步骤4.1**:使用 message(action=send) 发送:"开始渲染,请稍等" **步骤4.2**:触发渲染 ``` node ./scripts/trigger-render.js --obsDesignId=<designId> --xToken=<token> ``` 发送:`"正在生成效果图,预计几分钟..."` **步骤4.3**:等待10秒后查询渲染结果 ``` node ./scripts/getRenderResult.js --token=<token> --designId=<designId> ``` 提取 pictype=0 的 img(渲染图)和 pictype=1 的 panoLink(全景图)。若空则每分钟重试,超5分钟反馈失败。 **步骤4.4**:输出最终结果 发送:`"效果图已生成!"` 严格按 ./outputs/result.md 格式输出: - 设计亮点(根据第一张渲染图总结) - 渲染图(按房间优先级:客餐厅→主卧→次卧→其他) - 全景图链接 - 方案详情链接(https://www.kujiale.com/pcenter/design/{designId}/setting?from=skills) --- ## 渠道规则 - Webchat:直接发送图片链接 - 飞书:推送格式 `MEDIA:图片url`,即直接展示图片 ## 结果排序 客餐厅 → 主卧 → 次卧 → 其他 ## 接口文档 - 户型搜索:./docs/planSearch.md - 户型图信息:./docs/floorplanInfo.md - 生成方案:./docs/createDesign.md - 硬装风格库:./docs/hardStyle.md - 客户标签:./docs/customTag.md - 智能布局:./docs/layout.md - 布局结果:./docs/layoutResult.md - 布局候选:./docs/layoutCandidates.md - 渲染结果:./docs/renderResult.md - 上传:./docs/upload.md - 临摹导入:./docs/planUrlCreate.md - 临摹轮询:./docs/planUrlCreateResult.md - 版本校验:./docs/versionCheck.md
在 GitHub 查看