Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

ai-kujiale-design

v0.0.3

通过用户的自然语言需求,自动调用酷家乐AI设计工厂(OpenAPI+网页操作)完成室内住宅方案的户型获取/临摹导入、风格匹配、智能布局与渲染,最终返回多张效果图与全景图,并提供拟人化进度反馈;当用户表示要做房子/室内设计、提到小区/户型/风格(如北欧、现代)、或要求生成效果图/全景图/使用酷家乐时触发。适用于住宅...

4· 163·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for wuweiqi1993/ai-kujiale-design.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "ai-kujiale-design" (wuweiqi1993/ai-kujiale-design) from ClawHub.
Skill page: https://clawhub.ai/wuweiqi1993/ai-kujiale-design
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install ai-kujiale-design

ClawHub CLI

Package manager switcher

npx clawhub@latest install ai-kujiale-design
Security Scan
Capability signals
Requires OAuth tokenRequires sensitive credentials
These labels describe what authority the skill may exercise. They are separate from suspicious or malicious moderation verdicts.
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
high confidence
!
Purpose & Capability
The skill claims to call KuJiale APIs and render images — that requires an access token and the ability to upload user images, which is consistent. However, the skill does not declare any required env vars/credentials yet its SKILL.md explicitly requires storing/reading skills.entries.ai-kujiale-design.config.kjl.access_token inside ~\.openclaw\openclaw.json. The omission of that declared credential (or a documented input method) is an incoherence. Also the SKILL.md requires scanning and uploading local files (from ~\.openclaw\media\inbound), which is broader local access than the description warns about.
!
Instruction Scope
Runtime instructions instruct the agent to: read and parse ~\.openclaw\openclaw.json to get/save the access_token; poll ~\.openclaw\media\inbound every 5 seconds and, if new images appear, read and upload them; compute MD5 and split files for upload. These actions read arbitrary local files and periodically poll the filesystem — scope creep beyond a simple API client. The SKILL.md also mandates use of a message(action=send) tool for progress messages, and to not include progress text in replies; these are behavioral constraints but not security issues by themselves.
Install Mechanism
No install spec — instruction-only with a helper script included. This is lower install risk because nothing is automatically downloaded from unknown URLs. The included Node script looks like legitimate API-calling code for triggering render jobs.
!
Credentials
The skill needs a KuJiale access_token (used as bearer auth) but does not declare it in requires.env or primary credential metadata. Instead it reads/writes the token from/to ~\.openclaw\openclaw.json. Reading that config file could expose other stored credentials if mishandled; saving a token into the agent config without declaring it is unexpected. The upload flow also requires reading arbitrary local file paths and computing MD5s — reasonable for uploads but sensitive and not scoped tightly in the metadata.
!
Persistence & Privilege
always:false (normal). However, runtime behavior asks the agent to poll a local media folder every 5 seconds while waiting for user input, and to write the access_token into the agent config file. Continuous polling of the filesystem and modifying agent config constitute elevated runtime privileges (persistence-like behavior) even though the skill does not set always:true.
What to consider before installing
This skill appears to implement KuJiale API flows, but there are notable mismatches you should consider before installing: 1) The skill uses a KuJiale access_token stored in ~\.openclaw\openclaw.json but does not declare it as a required credential—confirm how you will supply the token and avoid pasting long-lived credentials unless you trust the skill owner. 2) The SKILL.md instructs the agent to poll and read files in ~\.openclaw\media\inbound and to read local files provided by users; that means the agent will access your filesystem and could read unintended files if the inbound folder contains them. 3) The skill writes the token into your agent config file — verify you are comfortable with it modifying ~\.openclaw\openclaw.json and that the file does not contain other secrets you don’t want accessed. Recommended actions: a) Ask the author to declare the required credential in metadata (so the platform can gate access) or to provide a secure token-provisioning flow; b) Prefer to paste a short-lived token at runtime instead of allowing the skill to scan or modify your config; c) Run the skill in an isolated environment (or sandbox) if you must test it; d) Inspect the included scripts (scripts/trigger-render.js) and docs thoroughly (they appear legitimate) and confirm endpoints are correct for your region. If you are not comfortable with automatic filesystem polling or config writes, do not enable the skill.

Like a lobster shell, security has layers — review code before you run it.

latestvk9795qq68wkqknz8enaj2d2hf985cx2n
163downloads
4stars
3versions
Updated 5d ago
v0.0.3
MIT-0

室内智能设计

通过调用酷家乐的openapi结合用户的自然语言描述,以及ai设计工厂的网站界面操作,实现最终产出渲染图片的能力,整个过程希望由ai来完成api接口调用,以及模拟浏览器访问和按钮点击,不需要用户介入操作,最终完成后返回给用户渲染图。

🚨 强制输出规则(必须遵守)

在流程执行过程中,实现分段发送进度消息:

  1. 每当需要发送"进度反馈消息"时:

    • 使用 message 工具(action=send)发送消息到当前对话
    • 回复文本中不要写进度消息内容(不要在回复里输出"好的,我帮您找到了..."等内容)
    • 消息发送后,继续执行下一步骤(不要停止)
  2. 发送进度消息的方式:

    message(action=send, message="进度反馈内容")
    

    调用后会立即发送一条消息给用户,然后继续执行后续代码

  3. 严禁在一次回复文本中包含多个步骤的反馈内容

  4. 步骤11执行之后,只需要输出最终结果(渲染图、全景图),过滤掉其他过程数据(比如找到方案、开始设计等)

  5. 已通过 message 发送的消息不要再在最终回复中重复输出。

  6. 关键规则:进度消息只能通过 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"等技术术语
  • 反馈内容要简短温馨,模拟设计师与客户实时沟通的感觉
  • 如果某步骤失败,反馈要礼貌说明情况并告知后续处理方式

强制流程(必须遵守)

强制流程就是在工作流程每次执行之前都需要执行一次并通过的步骤,工作流程中断后继续重新执行不需要重新执行此流程,强制流程包含如下步骤

  • 步骤 0:完成版本校验,提取当前skill元信息里面的version字段的值,调用酷家乐《版本校验接口》,如果返回的action是1就继续往下执行业务步骤,如果返回的action是2就输出提示信息"您的skill版本已过时,可以安装最新的skill获取更优体验!",如果action是3,则终止执行工作流程,并提示"你的skill版本已废弃,需要重新安装最新版本skill"

工作流程

  • 步骤 0:校验用户输入信息,必须包含城市信息,小区信息,风格信息,户型信息(例如三室一厅、两室两厅、120㎡等)。若未包含必有信息,通过对话的形式询问用户偏好。如果用户输入了偏好描述信息,则往下执行其他步骤1。在此等待用户输入的过程中,每隔5秒检查外部媒体~.openclaw\media\inbound文件夹下面的文件是否有新增图片格式的文件,如果有则识别图片是否为户型图,如果是户型图则获取文件的绝对地址,然后使用酷家乐的《上传能力》把文件上传上去,然后拿到最后返回的url,并使用url去完成调用酷家乐《临摹图导入酷家乐方案》接口获得taskid然后去轮询《轮询临摹图导入酷家乐方案任务结果》接口获取到最终的palnid,然后直接跳过步骤1和步骤2进入到步骤3,此处的planid就是后面使用的designid
  • 步骤 1:分析用户的描述,如果用户的描述里面有小区户型相关的信息,请调用酷家乐的《户型搜索》接口,去查找户型,获取接口返回的json数据,传参要求:start=0,num=20,query根据用户输入的小区名,area_id根据用户输入的城市信息去./docs/city.json里面匹配(用户描述内无城市信息或者无法匹配则传175),调用接口搜索后去匹配最佳的户型对象获取到planid。若用户描述里面没有小区户型相关信息的,则使用默认值planid = "3FO3R8NJAMRF"。在匹配小区户型的过程中,如果和用户输入的信息无法做到匹配,则需要跟用户二次确认是否基于这个户型进行设计。同时把搜索出来相近的同小区的户型选项列给用户让用户选择。完成后发送户型确认反馈。
  • 步骤 2:调用酷家乐的《生成方案》接口,根据planid当作入参,生成方案获取一个返回的designid。完成后发送方案创建反馈。
  • 步骤 3:调用酷家乐的《【AI智能设计】客户标签查询》获取所有客户自定义的标签,以及每个自定义标签内的tagItemId对象。
  • 步骤 4:根据用户描述匹配所有标签项,将所有与用户描述匹配的标签项的tagItemId整理成一个json列表
  • 步骤 5:调用酷家乐的《【AI智能设计】硬装风格库》接口,传入步骤4的风格标签tagItemId列表,获取风格可选项的json,解析json内的cmd结构内d的内容,获取风格对象的数组信息,
  • 步骤 6:根据用户的描述去匹配步骤5内返回的json的对象的styleName字段,找到用户描述的风格最佳匹配风格对象,若用户没有描述过对应风格相关的信息,则选择第一个风格信息,得到对应的唯一的styleId。步骤3-6完成后发送风格匹配反馈。
  • 步骤 7:调用酷家乐的《【AI智能设计】智能布局》接口,将步骤2获取的deisgnid塞到body的designid字段内,将步骤6获取的styleId塞到body内的styleId字段内,将步骤4获取到的tagItemId的列表json塞到body内的tagIds字段内,其他字段applyDecorationStyle设置为true,buildCeiling设置为true,autoDesign设置为true,调用接口获取返回的cmd内的d的值,作为designid。完成后发送智能布局反馈。
  • 步骤 8:等待10秒钟,调用酷家乐接口《【AI智能设计】智能布局结果》传入步骤9获取到的designid,查询结果,若结果的cmd的c的值不为0,则继续重复步骤10,直到c的值为0.
  • 步骤 9:触发《渲染图片的脚本》,脚本调用方式参考下面的渲染图片的内容,如果脚本访问失败,则直接跳过当前步骤进入到下一个步骤。完成后发送渲染启动反馈。
  • 步骤 10:等待10秒钟后调用酷家乐的接口《获取渲染图结果》接口,提取result列表内的所有对象数据,将pictype=0的所有对象内的img链接提取出来,整理出渲染图片,将所有pictype=1的对象内的panoLink字段链接整理出来,当作全景图列表。将渲染图列表的原图内容直接发送给用户,将全景图链接发送给用户。如果result内为空,则再等待1分钟后重试,若等待时间大于5分钟,则直接反馈失败。完成后发送渲染完成反馈。
  • 步骤 11:最后根据第一张渲染图写一小段本次室内设计的设计亮点,按照《返回给用户的最终信息模板》组织内容返回给用户。

#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

关键点:

  1. 使用 [System.Text.Encoding]::UTF8.GetBytes($body) 将 JSON 转为 UTF-8 字节数组
  2. 设置 ContentType"application/json; charset=utf-8"
  3. 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

结果内容的顺序规则

最终呈现给用户的渲染图和全景图要按照房间顺序,优先展示客餐厅的,其次是主卧的,再其次展示次卧的,再展示其他的。如果对应房间不存在,则顺位到下一个房间类型。


Comments

Loading comments...