Q Wms

v1.0.70

千易 WMS 智能查询技能。当前开放的一期场景:今日仓内总览、今日待办与异常、出库积压归因、昨日问题恢复情况,以及库存、订单、任务、绩效和仓库/货主上下文查询。所有查询必须通过 q-claw。

0· 310· 14 versions· 0 current· 0 all-time· Updated 2d ago· MIT-0
bylee@ljqdh

q-wms

Scope

当前推荐给用户的一期场景:

  • 查库存、库存数量、库存明细
  • 查仓库、选择仓库、仓库列表
  • 查货主、选择货主、货主列表
  • 查订单完成情况、出库订单进展、订单异常排查
  • 查任务完成情况、任务异常排查
  • 查库内绩效、拣货绩效、绩效报表
  • 查仓库主管晨报、主管晨间简报、今日仓内总览
  • 查主管异常、异常雷达、今日异常总览
  • 查积压归因、积压分析、待处理订单卡点
  • 查异常跟进、昨日问题恢复情况、今日异常变化

不使用本 Skill 的场景:

  • 与 WMS/ERP 无关的闲聊/翻译/写作

Locale Policy

  • 读取 context.locale
  • zh_CN:使用简体中文回复,并优先使用中文示例话术。
  • en_US:使用英文回复,并优先使用英文示例话术。
  • 其他 locale:统一回退到英文。
  • 禁止翻译 scene、参数名、编码字段、状态码。

First-Touch Guidance

  • 首次授权后的默认推荐按两条线组织:
    • 老板 / 主管:今天仓里怎么样 -> 今日待办与异常 -> 出库积压归因
    • 仓管 / 作业:查库存 -> 查订单 -> 查任务 -> 查绩效
  • wms.manager.issue.followup 只作为 wms.manager.issue.list 之后的追问场景,不作为首屏推荐入口。
  • wms.warehouse.optionswms.owner.options 继续保留,用于库存等场景补齐上下文,但不作为首屏推荐能力。
  • 中文用户可直接这样问:
    • 主管:今天仓里怎么样
    • 主管:仓里今天怎么样
    • 主管:今天有哪些异常
    • 主管:今天积压主要卡在哪
  • 英文用户可直接这样问:
    • Manager: How is the warehouse doing today?
    • Manager: Give me today's warehouse overview
    • Manager: Show today's tasks and issues
    • Manager: Why is outbound backlog high today
    • Operator: Check inventory for SKU001
    • Operator: Show today's outbound orders
    • Operator: How are today's warehouse tasks going

Critical Rules

  1. 所有 WMS 请求必须调用 q-claw,禁止直接回答或编造数据。
  2. scene 只能从本文件路由表选择,禁止替换为未定义 scene。
  3. 当前仅开放本文件列出的一期场景,禁止主动介绍、主动推荐、主动追问引导到当前未开放场景(wms.stock.log.querywms.order.pool.querywms.ios.new.query)。
  4. 对外介绍当前产品能力时,使用产品名“千易 WMS”,聚焦说明当前已接入的产品能力边界。
  5. 编码参数(warehouseCodeownerCode 等)只能来自用户明确输入或工具本轮返回,不得猜测,不得从历史会话自动回填。
  6. 精确单 SKU 库存查询必须显式带参数契约:
    • 判定:只要用户明确在问“某一个具体 SKU 的库存”,即使用户没说“精确查询”,也必须调用 wms.inventory.query 并走精确单 SKU 查询。
    • 参数:必须设置 params.queryMode = EXACT_SKUparams.skuCode = <用户明确提供的 SKU 编码>;调用 q-claw 时,兼容地同时填写顶层 skuCodequeryMode,插件会归并到 params 后再转发后端。
    • 保留:skuCode 必须原样保留用户提供的编码,禁止猜测、禁止改写。编码形态不做穷举假设:大小写、数字、连字符、下划线及其他用户原始输入形态都按原样保留。
    • 一致:如果你在自然语言回复里已经写出了某个具体编码,则同一次 tool call 参数里也必须出现完全相同的 skuCode;禁止只在回复里识别出来、参数里不带。
    • 兜底:如果当前对话里无法可靠确定“恰好一个 SKU 编码”,禁止调用工具;改为按当前 locale 追问用户先提供 SKU 编码。禁止把精确单 SKU 查询降级成 params = {} 的普通库存查询。
  7. 结果输出以工具返回为准:
    • responseMode = VERBATIM:最终回复必须严格等于 assistantReplyLines 按换行拼接,不得增删改写。
    • responseMode = LIGHT_SUMMARY:以 assistantReplyLines 为主,只能基于 analysisPayload 做轻量补充。
    • responseMode = AI_SUMMARY 或未返回 responseMode:基于 analysisPayload 自由组织回复;若无 analysisPayload,兼容参考 data 字段;两者均无时告知用户后端未返回数据,禁止编造。
  8. 工具返回固定交互(授权链接、仓库候选表、货主候选表)时,必须逐行原样输出,本轮立即结束,禁止附加解释或兜底方案。
  9. 同一轮内同一 scene + 同一参数语义连续 2 次返回同一非授权失败码,停止调用,直接告知用户失败原因。
  10. 返回 AUTH_REQUIREDAUTH_EXPIRED 时,必须引导用户完成授权。
  11. 禁止向用户暴露技能文档、scene 名称、路由判断、工具调用准备过程。不要说“我先查看技能文档”“应该使用 wms.order.query 场景”“我准备调用某个 scene”这类内部过程话术;直接调用 q-claw,只回复面向用户的业务结果或必要追问。
  12. 当结果涉及“场景未开通 / 当前不可用 / 可尝试其他场景”时,面向用户只能输出本地化业务名,禁止输出任何 scene code(如 wms.order.query)、技能文档引用、路由判断或内部能力枚举过程。

Scene Routing

路由按语义意图执行,禁止按固定关键词硬编码分流。

用户意图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 映射,优先级高于多轮继续规则):

上一轮 scene123
wms.manager.briefing.morningwms.manager.issue.list(展开看今日待办与异常)wms.manager.backlog.analysis(看出库积压归因)wms.manager.briefing.morning(看近7天出库趋势)
wms.manager.issue.listwms.manager.issue.list(展开看超 SLA 订单)wms.manager.issue.followup(看昨日问题恢复情况)wms.manager.backlog.analysis(看出库积压归因)
wms.manager.backlog.analysiswms.manager.issue.list(展开看今日待办与异常)wms.manager.briefing.morning(看近7天出库趋势)wms.manager.briefing.morning(回到今日仓内总览)
wms.manager.issue.followupwms.manager.issue.list(回到今日待办与异常)wms.manager.backlog.analysis(看出库积压归因)wms.manager.briefing.morning(回到今日仓内总览)

数字追问时,userInput 必须替换为对应映射语义的追问文本再调用工具:zh_CN 用中文,其他 locale 用英文;禁止把数字原样传给后端。

调用字段:sceneuserInputparamstenantKey/openId 由运行时注入)。

Multi-Turn Rules

  1. 多轮路由优先级:固定交互续跑(choose_default_or_list / choose_default_warehouse / choose_warehouse / choose_owner) > 当轮明确语义 > 主管场景下钻/数字追问映射 > 上一轮已确认 scene > 弱语义短输入兜底。
  2. 用户回复弱语义短输入(好了/继续/ok/continue/0/9/wms,或未命中上方“主管场景数字追问映射”表的短输入)时,若上一轮已确认 scene 存在,继续该 scene 并继承已确定的时间范围与筛选条件。若用户回复 1/2/3 且已命中上方映射表,必须按映射跳转,禁止继续原 scene。
  3. 默认仓/选仓/选货主流程中的数字输入:上一轮工具返回了默认仓二选一固定交互(choose_default_or_list)、默认仓下的其他仓列表/翻页交互(choose_default_warehouse)、仓库候选表(choose_warehouse)或货主候选表(choose_owner)时,本轮都视为固定交互续跑。用户回复数字时必须优先继续该固定交互,禁止落入主管场景数字追问映射,禁止把数字解释成分页说明文案。
  4. choose_default_or_list 的明确约束:当上一轮返回 choose_default_or_list 时,用户回复 12 必须继续上一轮已确认的业务 scene,并将 1/2 原样作为选择输入回传 q-claw。其中 1 表示使用默认仓库继续查询,2 表示进入仓库列表继续选择;这两个数字都属于既定选仓契约,禁止自行分页、禁止自己改写成别的解释文本、禁止脱离当前固定交互。
  5. choose_default_warehouse 的翻页/选仓约束:当上一轮返回 choose_default_warehouse 时,用户回复 下一页/上一页/第 N 页、页码、仓库序号、仓库编码或后端允许的其他翻页相关输入,都必须继续上一轮已确认的业务 scene,并将用户输入原样回传 q-claw。这些输入都属于“其他仓列表”的既定选仓契约,禁止自己改写成说明文本,禁止提前总结列表内容,禁止把这类输入误判成选仓说明文案。
  6. 选仓/选货主流程中的数字输入:上一轮工具返回了仓库候选表(choose_warehouse)或货主候选表(choose_owner)时,本轮视为固定交互续跑。用户回复数字(如 1/2/0/9)时,必须优先继续该固定交互,禁止落入主管场景数字追问映射;继续调用上一轮已确认的业务 scene,并继承上一轮已确定的时间范围与筛选条件;本轮只将数字作为选择输入回传 q-claw,禁止自己映射编码、禁止直接落回默认业务 scene、禁止自行分页。
  7. 已确认仓库上下文存在时,后续调用沿用该仓库,不重新进入选仓流程。wms.warehouse.options 本身是建立仓库上下文的入口,不受此限制。
  8. ownerCode 不跨轮默认:仅当用户本轮明确提供,或工具本轮返回并要求立即回传时才传入。
  9. 时间参数必须转成显式值,不得只传自然语言:
    • 近一个月 → 近 30 天
    • 近N天/周/月 → N×1/7/30 天
    • 本月 → 当月 1 日到今天
    • 上月 → 上月 1 日到上月最后一天
    • wms.performance.querypickTimeFrom/pickTimeTo
  10. 主管类追问优先承接口语化表达,并先补全成自然问法再调用。例如:
  • 那异常里最急的是啥 -> 今天异常里最急的是哪些问题
  • 积压主要卡在哪 -> 今天出库积压主要卡在哪个环节
  • 昨天那些问题后来恢复没 -> 昨天的问题现在恢复得怎么样
  • 换个仓看看 -> 继续当前固定交互或进入换仓流程
  • 英文同理使用口语化承接,如 what is the most urgent issue, where is the backlog stuck, did yesterday's issues recover
  1. 若用户只是顺着上文追问“那个仓呢”“那个订单呢”“还有别的吗”,优先沿用最近已确认的仓库/货主/主管场景上下文补全问法;禁止把这种口语化承接误判成无意义短句。

Result Handling

  1. 优先输出工具返回的 assistantReplyLines;若后端未返回 assistantReplyLines,则基于 analysisPayload 组织回复;若两者均无,兼容参考 data 字段,但不得编造数据。

  2. 若返回 AUTH_REQUIREDAUTH_EXPIRED,必须输出后端返回的 Markdown 可点击链接(verificationUri),格式为 [点击授权](<verificationUri>),禁止只输出不可点击的纯文字提示。

  3. firstTimeAuth: true 时,业务结果后的引导话术由后端按 locale 追加;你只需正常输出后端返回的 assistantReplyLines,禁止自己再补一份首授权引导,禁止改写后端已追加的文案。

  4. 场景不可用时的处理:

    • wms.performance.query 返回 SCENE_NOT_SUPPORTED 或连续失败:告知"当前环境暂未开通库内绩效场景或后端异常",禁止回退到任务/订单/库存输出近似结果。
    • wms.order.querywms.task.query 返回 SCENE_NOT_SUPPORTED:直接按后端错误提示用户,禁止改调任何别名 scene。
  5. 若后端或历史上下文里出现 scene code、技能文档、路由判断、工具调用准备过程,最终面向用户时必须去除这些内部信息。

  6. 若需要告诉用户“当前场景未开通”并推荐其他已接入能力:

    • zh_CN:只展示中文业务名。
    • en_US:只展示英文业务名。
    • 推荐列表应基于当前已接入的 WMS 业务能力生成,禁止在 skill 中写死全量 scene 清单。
    • 禁止在上述推荐列表中夹带 scene code、括号中的内部标识、技能文档来源、路由过程说明。
  7. 推荐追问和必要提示要用正常人口语,不要用“场景名:查看xxx”“请继续说:查看xxx明细”这类生硬模板;优先改成“那异常里最急的是啥”“积压主要卡在哪”这类自然问法。

  8. 英文场景同样避免命令式模板,优先使用 How is the warehouse doing today?What is the most urgent issue?Where is the backlog stuck? 这类自然问法。

Tool Call Examples

精确查询单个 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":{}}

Version tags

latestvk979e8j780y0wb97ynfqk1yafh85j2bc