Install
openclaw skills install @ljqdh/q-wmsopenclaw skills install @ljqdh/q-wms当前推荐给用户的一期场景:
不使用本 Skill 的场景:
context.locale。zh_CN:使用简体中文回复,并优先使用中文示例话术。en_US:使用英文回复,并优先使用英文示例话术。scene、参数名、编码字段、状态码。今天仓里怎么样 -> 今日待办与异常 -> 出库积压归因查库存 -> 查订单 -> 查任务 -> 查绩效wms.manager.issue.followup 只作为 wms.manager.issue.list 之后的追问场景,不作为首屏推荐入口。wms.warehouse.options 和 wms.owner.options 继续保留,用于库存等场景补齐上下文,但不作为首屏推荐能力。今天仓里怎么样仓里今天怎么样今天有哪些异常今天积压主要卡在哪How is the warehouse doing today?Give me today's warehouse overviewShow today's tasks and issuesWhy is outbound backlog high todayCheck inventory for SKU001Show today's outbound ordersHow are today's warehouse tasks goingq-claw,禁止直接回答或编造数据。wms.stock.log.query、wms.order.pool.query、wms.ios.new.query)。warehouseCode、ownerCode 等)只能来自用户明确输入或工具本轮返回,不得猜测,不得从历史会话自动回填。wms.inventory.query 并走精确单 SKU 查询。params.queryMode = EXACT_SKU 与 params.skuCode = <用户明确提供的 SKU 编码>;调用 q-claw 时,兼容地同时填写顶层 skuCode 与 queryMode,插件会归并到 params 后再转发后端。skuCode 必须原样保留用户提供的编码,禁止猜测、禁止改写。编码形态不做穷举假设:大小写、数字、连字符、下划线及其他用户原始输入形态都按原样保留。skuCode;禁止只在回复里识别出来、参数里不带。locale 追问用户先提供 SKU 编码。禁止把精确单 SKU 查询降级成 params = {} 的普通库存查询。responseMode = VERBATIM:最终回复必须严格等于 assistantReplyLines 按换行拼接,不得增删改写。responseMode = LIGHT_SUMMARY:以 assistantReplyLines 为主,只能基于 analysisPayload 做轻量补充。responseMode = AI_SUMMARY 或未返回 responseMode:基于 analysisPayload 自由组织回复;若无 analysisPayload,兼容参考 data 字段;两者均无时告知用户后端未返回数据,禁止编造。AUTH_REQUIRED 或 AUTH_EXPIRED 时,必须引导用户完成授权。q-claw,只回复面向用户的业务结果或必要追问。scene code(如 wms.order.query)、技能文档引用、路由判断或内部能力枚举过程。q-claw 工具返回的 assistantReplyLines。历史会话、session memory、上一轮聊天文本、技能示例、已见过的结果都不能作为本轮业务结果输出;如果本轮还没有 tool result,下一步必须先调用 q-claw,禁止自行复述、重建或推断业务结果。路由按语义意图执行,禁止按固定关键词硬编码分流。
| 用户意图 | scene |
|---|---|
| 查库存 | wms.inventory.query |
| 查仓库 | wms.warehouse.options |
| 查货主 / 货主列表 | wms.owner.options |
| 查订单 / 出库订单 / 订单完成情况 | wms.order.query |
| 查任务完成情况 | wms.task.query |
| 查库内绩效 / 拣货绩效 / 绩效报表 | wms.performance.query |
| 今天仓里怎么样 / 仓里今天怎么样 / 今日仓内总览 / 主管晨报 / 晨间简报 / How is the warehouse doing today? | wms.manager.briefing.morning |
| 今日待办与异常 / 主管异常 / 异常雷达 / 今日异常总览 | wms.manager.issue.list |
| 出库积压归因 / 积压归因 / 积压分析 / 待处理订单卡点 | wms.manager.backlog.analysis |
| 昨日问题恢复情况 / 异常跟进 / 昨日问题恢复 / 今日异常变化 | wms.manager.issue.followup |
主管场景下钻路由(仅在当前没有固定交互态时适用):
| 用户追问 | scene |
|---|---|
| 展开看今日待办与异常 / 展开看异常卡片前三项 | wms.manager.issue.list |
| 看出库积压归因 / 展开看待拣货和待打包压力 | wms.manager.backlog.analysis |
| 看近7天出库趋势 | wms.manager.briefing.morning |
| 看昨日问题恢复情况 | wms.manager.issue.followup |
| 展开看超 SLA 订单 / 看超 SLA 订单 | wms.manager.issue.list |
| 展开看 Hold 订单 / 看 Hold 订单 | wms.manager.issue.list |
| 展开看 API 反馈失败 / 看 API 反馈失败 | wms.manager.issue.list |
| 回到今日待办与异常 | wms.manager.issue.list |
| 回到今日仓内总览 / 给我今天仓库的晨报 | wms.manager.briefing.morning |
主管场景数字追问映射(用户仅回复 1/2/3 时,仅在当前没有固定交互态时适用,按上一轮主管 scene 映射):
| 上一轮 scene | 1 | 2 | 3 |
|---|---|---|---|
wms.manager.briefing.morning | wms.manager.issue.list(展开看今日待办与异常) | wms.manager.backlog.analysis(看出库积压归因) | wms.manager.briefing.morning(看近7天出库趋势) |
wms.manager.issue.list | wms.manager.issue.list(展开看超 SLA 订单) | wms.manager.issue.followup(看昨日问题恢复情况) | wms.manager.backlog.analysis(看出库积压归因) |
wms.manager.backlog.analysis | wms.manager.issue.list(展开看今日待办与异常) | wms.manager.briefing.morning(看近7天出库趋势) | wms.manager.briefing.morning(回到今日仓内总览) |
wms.manager.issue.followup | wms.manager.issue.list(回到今日待办与异常) | wms.manager.backlog.analysis(看出库积压归因) | wms.manager.briefing.morning(回到今日仓内总览) |
主管场景数字追问时,userInput 必须替换为对应映射语义的追问文本再调用工具:zh_CN 用中文,其他 locale 用英文。若当前存在固定交互态(如选默认仓、选仓、选货主、翻页),必须按固定交互规则原样回传用户输入,禁止套用本表。
调用字段:scene、userInput、params(tenantKey/openId 由运行时注入)。
choose_default_or_list / choose_default_warehouse / choose_warehouse / choose_owner) > 当轮明确语义 > 主管场景下钻/数字追问映射 > 上一轮已确认 scene > 弱语义短输入兜底。1/2/3 命中上方主管映射表时,才按映射跳转;固定交互态始终优先。choose_default_or_list)、默认仓下的其他仓列表/翻页交互(choose_default_warehouse)、仓库候选表(choose_warehouse)或货主候选表(choose_owner)时,本轮都视为固定交互续跑。用户回复数字时必须优先继续该固定交互,禁止落入主管场景数字追问映射,禁止把数字解释成分页说明文案。choose_default_or_list 的明确约束:当上一轮返回 choose_default_or_list 时,用户回复 1 或 2 必须继续上一轮已确认的业务 scene,并将 1/2 原样作为选择输入回传 q-claw。其中 1 表示使用默认仓库继续查询,2 表示进入仓库列表继续选择;这两个数字都属于既定选仓契约,禁止自行分页、禁止自己改写成别的解释文本、禁止脱离当前固定交互。choose_default_warehouse 的翻页/选仓约束:当上一轮返回 choose_default_warehouse 时,用户回复 下一页/上一页/第 N 页、页码、仓库序号、仓库编码或后端允许的其他翻页相关输入,都必须继续上一轮已确认的业务 scene,并将用户输入原样回传 q-claw。这些输入都属于“其他仓列表”的既定选仓契约,禁止自己改写成说明文本,禁止提前总结列表内容,禁止把这类输入误判成选仓说明文案。choose_warehouse)或货主候选表(choose_owner)时,本轮视为固定交互续跑。用户回复数字(如 1/2/0/9)时,必须优先继续该固定交互,禁止落入主管场景数字追问映射;继续调用上一轮已确认的业务 scene,并继承上一轮已确定的时间范围与筛选条件;本轮只将数字作为选择输入回传 q-claw,禁止自己映射编码、禁止直接落回默认业务 scene、禁止自行分页。wms.warehouse.options 本身是建立仓库上下文的入口,不受此限制。ownerCode 不跨轮默认:仅当用户本轮明确提供,或工具本轮返回并要求立即回传时才传入。wms.performance.query 用 pickTimeFrom/pickTimeTo那异常里最急的是啥 -> 今天异常里最急的是哪些问题积压主要卡在哪 -> 今天出库积压主要卡在哪个环节昨天那些问题后来恢复没 -> 昨天的问题现在恢复得怎么样换个仓看看 -> 继续当前固定交互或进入换仓流程what is the most urgent issue, where is the backlog stuck, did yesterday's issues recover优先输出工具返回的 assistantReplyLines;若后端未返回 assistantReplyLines,则基于 analysisPayload 组织回复;若两者均无,兼容参考 data 字段,但不得编造数据。
若返回 AUTH_REQUIRED 或 AUTH_EXPIRED,必须输出后端返回的 Markdown 可点击链接(verificationUri),格式为 [点击授权](<verificationUri>),禁止只输出不可点击的纯文字提示。
当 firstTimeAuth: true 时,业务结果后的引导话术由后端按 locale 追加;你只需正常输出后端返回的 assistantReplyLines,禁止自己再补一份首授权引导,禁止改写后端已追加的文案。
场景不可用时的处理:
wms.performance.query 返回 SCENE_NOT_SUPPORTED 或连续失败:告知"当前环境暂未开通库内绩效场景或后端异常",禁止回退到任务/订单/库存输出近似结果。wms.order.query 或 wms.task.query 返回 SCENE_NOT_SUPPORTED:直接按后端错误提示用户,禁止改调任何别名 scene。若后端或历史上下文里出现 scene code、技能文档、路由判断、工具调用准备过程,最终面向用户时必须去除这些内部信息。
若需要告诉用户“当前场景未开通”并推荐其他已接入能力:
zh_CN:只展示中文业务名。en_US:只展示英文业务名。scene code、括号中的内部标识、技能文档来源、路由过程说明。推荐追问和必要提示要用正常人口语,不要用“场景名:查看xxx”“请继续说:查看xxx明细”这类生硬模板;优先改成“那异常里最急的是啥”“积压主要卡在哪”这类自然问法。
英文场景同样避免命令式模板,优先使用 How is the warehouse doing today?、What is the most urgent issue?、Where is the backlog stuck? 这类自然问法。
精确查询单个 SKU 的库存:
{"scene":"wms.inventory.query","userInput":"查询某个具体 SKU 的库存","queryMode":"EXACT_SKU","skuCode":"<用户原样提供的 SKU 编码>","params":{"queryMode":"EXACT_SKU","skuCode":"<用户原样提供的 SKU 编码>"}}
查库存概览:
{"scene":"wms.inventory.query","userInput":"查一下库存","params":{}}
查仓库:
{"scene":"wms.warehouse.options","userInput":"查下仓库列表","params":{}}
查货主:
{"scene":"wms.owner.options","userInput":"查下货主列表","params":{}}
查订单:
{"scene":"wms.order.query","userInput":"查询近一个月出库订单完成情况","params":{}}
查任务:
{"scene":"wms.task.query","userInput":"查询任务完成情况并排查异常","params":{}}
查绩效:
{"scene":"wms.performance.query","userInput":"查询库内绩效","params":{}}
主管晨报:
{"scene":"wms.manager.briefing.morning","userInput":"给我今天晨报","params":{}}
主管异常雷达:
{"scene":"wms.manager.issue.list","userInput":"今天有什么异常","params":{}}
积压归因:
{"scene":"wms.manager.backlog.analysis","userInput":"为什么积压这么高","params":{}}
异常跟进:
{"scene":"wms.manager.issue.followup","userInput":"昨日问题恢复了吗","params":{}}