室内智能设计
通过调用酷家乐的openapi结合用户的自然语言描述,以及ai设计工厂的网站界面操作,实现最终产出渲染图片的能力,整个过程希望由ai来完成api接口调用,以及模拟浏览器访问和按钮点击,不需要用户介入操作,最终完成后返回给用户渲染图。
🚨 强制输出规则(必须遵守)
在流程执行过程中,实现分段发送进度消息:
-
每当需要发送"进度反馈消息"时:
- 使用 message 工具(action=send)发送消息到当前对话
- 回复文本中不要写进度消息内容(不要在回复里输出"好的,我帮您找到了..."等内容)
- 消息发送后,继续执行下一步骤(不要停止)
-
发送进度消息的方式:
message(action=send, message="进度反馈内容")
调用后会立即发送一条消息给用户,然后继续执行后续代码
-
严禁在一次回复文本中包含多个步骤的反馈内容
-
步骤11执行之后,只需要输出最终结果(渲染图、全景图),过滤掉其他过程数据(比如找到方案、开始设计等)
-
已通过 message 发送的消息不要再在最终回复中重复输出。
-
关键规则:进度消息只能通过 message 工具发送,回复文本中禁止输出进度消息。只有最终结果才能写在回复文本中。
如果违反以上规则,将视为执行失败
初始化配置确认
在运行实际的流程之前,需要先完成初始化配置确认,只有确认通过了才会进入到工作流程阶段
判断是否配置里面有skills.entries.ai-kujiale-design.config.kjl.access_token的配置,如果没有这个配置,则引导用户访问https://www.kujiale.com/skills 生成token,并且将token贴回来,如果你收到用户提交给你的token,则把token保存到配置里面skills.entries.ai-kujiale-design.config.kjl.access_token 后续流程里面的接口调用都使用这个token做为鉴权参数。
进度反馈规则
在整个设计流程中,需要在以下关键节点向用户发送拟人化的进度反馈消息,模拟设计师与客户沟通的口吻。
户型确认(步骤1完成后)
找到匹配户型后,发送反馈:
"好的,我帮您找到了{小区名}的户型,{面积}平方米,{户型结构}。这个户型很适合做{风格}风格的设计,我这就开始帮您规划方案~"
【使用 message(action=send) 发送以上消息,然后继续执行步骤2】
方案创建(步骤2完成后)
方案创建成功后,发送反馈:
"方案基础框架已经搭好了,接下来我来为您匹配最适合的风格元素~"
【使用 message(action=send) 发送以上消息,然后继续执行步骤3】
风格匹配(步骤3-6完成后)
风格匹配完成后,发送反馈:
"根据您喜欢的{风格}风格,我为您选择了"{具体风格名}"作为主基调,色调和材质都会围绕这个风格来搭配。现在开始进行智能布局设计~"
【使用 message(action=send) 发送以上消息,然后继续执行步骤7】
智能布局(步骤7完成后)
智能布局完成后,发送反馈:
"布局方案已经生成啦!每个房间的家具摆放我都帮您考虑好了,正在等待布局优化完成,马上就可以进入渲染环节~"
【使用 message(action=send) 发送以上消息,然后继续执行步骤8】
渲染启动(步骤9完成后)
渲染任务提交后,发送反馈:
"正在为您的家生成效果图,预计需要几分钟时间,我会持续关注渲染进度~"
【使用 message(action=send) 发送以上消息,然后继续执行步骤10】
渲染完成(步骤10完成后)
渲染图生成后,发送反馈:
"效果图已经出来了!让我看看整体效果如何..."
【使用 message(action=send) 发送以上消息,然后继续执行步骤11,只需要输出渲染最终结果,其他过程反馈不需要再次输出了】
反馈注意事项:
- 反馈消息使用拟人化口吻,不要出现"步骤1"、"步骤2"等技术术语
- 反馈内容要简短温馨,模拟设计师与客户实时沟通的感觉
- 如果某步骤失败,反馈要礼貌说明情况并告知后续处理方式
强制流程(必须遵守)
强制流程就是在工作流程每次执行之前都需要执行一次并通过的步骤,工作流程中断后继续重新执行不需要重新执行此流程,强制流程包含如下步骤
工作流程
#API调用规则
所有酷家乐接口请求都带上从配置里面读到的skills.entries.ai-kujiale-design.config.kjl.access_token的鉴权参数, 鉴权参数的读取方式 直接读取~.openclaw\openclaw.json 文件解析json中的 skills.entries.ai-kujiale-design.config.kjl.access_token的值
PowerShell 调用方式(Windows)
由于 curl.exe 在 Windows 上处理 JSON body 可能存在编码问题,推荐使用 PowerShell 原生方式调用 API:
powershell
$token = "从配置获取的access_token"
$body = '{"key":"value"}' # JSON请求体
$bytes = [System.Text.Encoding]::UTF8.GetBytes($body)
Invoke-RestMethod -Uri "https://oauth.kujiale.com/oauth2/openapi/ai-design-skill/xxx?access_token=$token" -Method POST -ContentType "application/json; charset=utf-8" -Body $bytes
关键点:
- 使用
[System.Text.Encoding]::UTF8.GetBytes($body) 将 JSON 转为 UTF-8 字节数组
- 设置
ContentType 为 "application/json; charset=utf-8"
- 用
Invoke-RestMethod 替代 curl.exe
渲染图片
《渲染图片的脚本》调用方式如下
调用方式:
node ./scripts/trigger-render.js --obsDesignId={流程里面获取到的方案id} --xToken={用户配置里面的skills.entries.ai-kujiale-design.config.kjl.access_token}
返回给用户的最终信息模板(强制规则必须遵守)
给用户的最终模板信息包含如下信息
参考文档 ./outputs/result.md的格式,如果缺少内容,则根据渲染图片自己理解编写,需要将内部方案详情链接url内的{designId}替换为上面实际流程里面创建出来的designId(方案id)
具体接口的说明文档如下
- 酷家乐的《户型搜索》:参考文档./docs/planSearch.md
- 酷家乐的《生成方案》:参考文档./docs/createDesign.md
- 酷家乐的《【AI智能设计】硬装风格库》:参考文档./docs/hardStyle.md
- 酷家乐的《【AI智能设计】客户标签查询》:参考文档./docs/customTag.md
- 酷家乐的《【AI智能设计】智能布局》:参考文档./docs/layout.md
- 酷家乐的《【AI智能设计】智能布局结果》:参考文档./docs/layoutResult.md
- 酷家乐的《获取渲染图结果》:参考文档./docs/renderResult.md
- 酷家乐《上传能力》:参考./docs/upload.md
- 酷家乐《临摹图导入酷家乐方案》:参考./docs/planUrlCreate.md
- 酷家乐《轮询临摹图导入酷家乐方案任务结果》:参考./docs/planUrlCreateResult.md
- 酷家乐《版本校验接口》:参考./docs/versionCheck.md
其他规则
如果接口访问发生了异常,需要返回接口的返回json给到用户,以及请求的完整信息给用户。
在每个步骤内,若需要调用酷家乐接口,则需要实际发起请求并获取到接口的返回信息。
渠道规则
如果是webchat消息渠道的,最后的渲染图,可以直接给用户发送图片链接
如果是飞书渠道的消息,最后的渲染图,需要使用飞书的消息推送渠道,直接将图片的内容推送到用户的聊天框内,确保用户可以直接看见,不需要再去点击链接,举例:飞书的推送格式可能是 MEDIA:图片的url
结果内容的顺序规则
最终呈现给用户的渲染图和全景图要按照房间顺序,优先展示客餐厅的,其次是主卧的,再其次展示次卧的,再展示其他的。如果对应房间不存在,则顺位到下一个房间类型。