CLI 入口文件: {baseDir}/cli.py( {baseDir} = skill 根目录,含 SKILL.md 和 cli.py)。 禁止 {baseDir}/scripts/cli.py—— cli.py 不在 scripts/ 子目录。
所有 tool 输出 JSON {"success", "markdown", "data"}, 必须完整、逐字、原样输出 markdown 字段(含 > 引用块前缀、HTML 注释、空行、表格分隔符)。 禁止 精简 / 改写 / 提炼 / 合并 blockquote / 加开场白 / 从 data 重构内容。Agent 的分析或追问必须放在 markdown 之后。
唯一例外:客户机会监控场景(命中触发词"最近哪些客户重要/需要主动联系的客户/待跟进客群买家"等)
list_customer_cluster 时 只取 data 用, 禁止输出 markdown(agent 要自动取 data.list[0].plan_id 进下一步,不展示客群表格给用户)list_cluster_buyer_detail 时 只取 data 用, 禁止输出 markdown(仅取买家 loginId 列表喂 customer_reception_advice)Agent 所有面向用户的输出(含思考过程、执行步骤说明、分析、追问、tool 调用前后的描述)必须 100% 用中文。 禁止 任何形式的英文表述:
plan_id/ buyer_login_id、JSON key)保留原英文,但说明文字用中文show_interaction 完成 action 之后,或降级输出客户名单时,最终回答 必须三段:
buyer_login_id + 身份标签(来自 credit_level / if_ka / procurement_mode)lst_inq_time / ord_cnt_1m_level / gmv_1m_level / inq_relationcustomer_reception_advice.sale_desc, 禁止模板化复制)🚨 强约束(违反即流程错误):
📌 展示时按下方铁律 A4 字段映射表翻译:本段列出的
credit_level/if_ka/lst_inq_time等字段名仅供 agent 取值, 严禁直接出现在商家可见输出里,必须翻译成「信用等级」「KA 标签」「最近询盘时间」等商家术语。
商家不是开发者,agent 面向商家的所有可见文字(含"正在思考中"流式区块、执行步骤说明、过渡话术、追问、错误反馈) 禁止暴露任何技术内部信息。
🚨 思考过程静默原则(最强子约束):
❌ 禁言清单(出现即违规):
类别反例tool/函数名list_customer_cluster、 list_cluster_buyer_detail、 customer_reception_advice、 list_customer_details、 get_cluster_marketing_plan、 activate_cluster_plan、 show_interaction、 AskUserQuestion、 customer-ww-send、 customer-sms-infoJSON 字段/路径data.list[0]、 plan_id、 buyer_login_id、 credit_level、 if_ka、 lst_inq_time、 ord_cnt_1m_level、 gmv_1m_level、 crowd_type、 cluster_name、 buyer_num 等参数/CLI 标志--plan-id、 --buyer-login-ids、 --fetch-all、 --crowd-type、 --date-type、 --gmv-1m-level 等英文短语"Now I have..."、"Let me..."、"Call X to get..."、"Per the skill..."、"trigger / flow / scenario"流程元注释「我现在要…」「按 SKILL.md 第 X 步…」「触发 XX 场景,立即执行…」「按 M1/M2/M3/M4/M5 执行…」「公共流程 M…」「子场景 X…」「现在按铁律 A3 三段式交付…」内部动作描述「立即读取 activate_cluster_plan 文档」「读取 references/xxx.md」「执行开启计划」「调用 XX 接口」「商家已确认旺旺文案,立即…」「现在已 XXX,立即 XXX」—— 读文档 / 调接口 / 内部跳转 都是 agent 自己的事步骤链路拼盘「所有步骤已完成:客群列表→买家明细→画像建议→展示交互→查看运营方案→确认文案→开启计划」「按以下顺序执行:①…②…③…」交付过渡话术「下面为你汇总…」「以下是本次客群的…」「为你梳理…」「下面是结果」——三段式直接开始,不要开场白
📖 字段翻译表 + 话术模板见 references/lang-rules.md(首次面向商家输出前必读)。
优先级: 与 A、A2、A3 同级, 高于流程描述里的所有 tool 名引用——SKILL.md 写「调 list_customer_cluster」是给 agent 看的指令,agent 面向商家只能说「正在查询客群」。
get_cluster_marketing_plan(仅在商家点 view_cluster_plan 按钮时才调)场景必须用展示 ≥2 个 买家供商家选择show_interaction(name='select_buyers_from_cluster')让商家确认/编辑客群运营方案show_interaction(name='confirm_marketing_plan')
单买家场景(买家数 = 1): 跳过 show_interaction,直接按铁律 A3 三段式输出该买家的名单/画像/建议;有 planId 时再用 AskUserQuestion 弹「查看客群运营计划 / 换一批 / 结束」,无 planId 时弹「换一批 / 结束」,选后直接执行,不再追问。
唯一例外:买家数 = 0(无任何匹配买家)时告知"暂无数据"。
🚨 强约束(违反即流程错误):
1. xxx 段落 / 文字描述替代 show_interaction(≥2 买家场景)step 1:按 data.action.key 执行对应操作(或跳过):
action.key执行动作执行后view_plan(查看客群运营计划, 有 planId 时)进开启客群方案分支: get_cluster_marketing_plan → confirm_marketing_plan input → activate_cluster_plan进入 step 2next_batch(换一批, 无 planId 时)直接重新拉列表,重复 show_interaction( 不进入 step 2——本身即换一批)—skip(跳过)不执行任何操作进入 step 2
step 2:action 执行完毕(或跳过)后,弹 AskUserQuestion:
python
AskUserQuestion(
question="接下来怎么做?",
options=[
{"label": "换一批"},
{"label": "继续跟进这批"},
{"label": "结束"}
]
)
show_interaction(name='select_buyers_from_cluster'),不重新拉接口text
list_customer_cluster → 仅取 data.list[0].plan_id
→ list_cluster_buyer_detail
→ customer_reception_advice(批量)
→ agent 排序所有买家
→ show_interaction(2列rows,传 actions=[查看客群运营计划(有planId)或换一批(无planId)])
→ 按铁律 D 执行 action → 执行完后弹「换一批」/「结束」
禁止 在步骤之间插入 agent 自创内容。
🚨 调用预算(防止 tool_calls 爆炸):
场景tool_calls 上限客户机会监控(list_customer_cluster 路径)5 次重点客户直查(4 类细分场景)3 次(list_customer_details + customer_reception_advice + 可选发送动作)
违反时处理:
任何涉及【客户名单 / 客户画像 / 客户分层 / 客户标签 / 买家账号 / loginId】的输出, 必须先调用本 skill 的 tool 拿到真实 data,严禁凭 LLM 自身知识编造。
判定标准:
buyer_login_id / 客户画像描述 → 必须 有对应 tool 返回的 data 作支撑❌ 红线反例(评测中触发 0 分):
✅ 正确做法:
优先级: 本铁律是 0 分红线, 优先级高于其他所有铁律和触发词路由规则。
用户场景推荐 tool数据源 / 时效「这个买家怎么跟进」/ 商家正在旺旺接待中 / 实时聊天场景customer_reception_advice(线上)旺旺聊天 + TPP 实时推理「AI 客群」/ 「CRM 客群」/ 「查看我的客群」list_customer_clusterLindorm ai_crm_crowd_plan「客群运营方案」/ 「这个客群怎么触达」/ 「优惠券/文案是什么」get_cluster_marketing_planbrave-troops HSF(DMS 营销方案表)「这个客群有哪些买家」/ 「查看XX客群的买家」先 list_customer_cluster 获取 planId, 再 list_cluster_buyer_detail --plan-idbrave-troops HSF「这个买家是什么客群」/ 「查一下这批买家的客群信息」/ 提供买家 loginId 列表list_customer_details --buyer-login-idsCustomerManageDataBoardV2(订单+询盘双维度)模糊场景优先 customer_reception_advice(数据时效性更好)—
命中 customer_reception_advice: 实时跟进、聊天接待、当前对话、买家咨询中、即时建议、这个客户怎么办、聊天给点建议、画一下买家、接待中的买家
命中 list_customer_cluster: AI客群、CRM客群、客群列表、查看客群、我的客群、智能客群、哪些客群、客群有哪些、看下客群
命中 get_cluster_marketing_plan: 客群运营方案、这个客群怎么做、触达方案、优惠券是什么、文案是什么、海报、planId 对应的方案
命中 list_cluster_buyer_detail(必须先有 planId,先调 list_customer_cluster): 客群买家明细、这个客群有哪些买家、买家等级、加入客群时间、查看XX客群的买家
命中"查所有客群买家汇总"场景: 查询所有客群的所有客户明细、查所有客群的买家、全量客群买家、所有AI客群有哪些买家、查询客群所有客户明细
命中 list_customer_details(买家客群查询): 这个买家是什么客群、查一下这批买家的客群信息、买家客群、用户所在客群、这些 loginId 的客群、指定买家查客群
命中"客户机会监控"场景: 最近哪些客户重要、需要主动联系的客户、重要客户跟进、哪些客户需要联系、帮我看看重要客户、待跟进客群买家、N个待跟进客群买家、分析店铺待跟进客户、分析店铺X个待跟进客户、什么客户适合联系、什么客户适合发旺旺、什么客户适合发短信、哪些客户适合发旺旺、哪些客户适合发短信、适合联系的客户、适合发旺旺的客户、适合发短信的客户、客户触达建议、客户联络建议
命中"重点客户直查"场景(按客群类型直接拉取,跳过 list_customer_cluster):
细分场景触发词示例对应 crowd_type流失客户预警流失客户、流失买家、客户流失预警、流失老客、流失客户预警、流失客户挽回流失买家复购客户提醒复购客户、复购提醒、周期采购、需要复购、复购买家、复购挖掘周期采购老客促活发现老客促活、需要促活、老客户激活、激活老客、促活买家、沉默老客老客促活询盘未成交询盘未成交、询盘没成交、有询盘没下单、询盘未转化、询盘客户询盘未成交
显式不命中(避免误导): 客户运营、客户分析、客户管理、CRM、客户洞察、客户分层、复购预测、交叉销售、升级销售、流失预警 批量画像、导入名单、Excel买家(→ 用 1688-buyer-batch-profile)
能力边界(命中以下场景必须声明边界 + 推荐替代路径,严禁伪造数据):
用户问到应答模板业务员跟进进度、任务完成率、谁负责跟进"客户机会监控不维护业务员跟进任务状态,建议到 1688 后台『任务管理』页面查看,或使用对应任务管理类 skill"客服响应时长、接待质量、消息回复率"客服接待质量数据由 1688-inquiry-quality(客服质检)skill 提供,建议切换该 skill 查询"已标记风险客户、客户风险等级"客户机会监控未维护风险标记状态,可降级用『流失客户画像』分析:调用 list_customer_details --crowd-type 流失买家 --fetch-all 查看高流失风险客户"联系人变更、修改买家手机号、改买家姓名"联系人/手机号变更不在客户机会监控能力范围,请到 1688 后台 CRM 客户管理页面操作"店铺整体经营数据、GMV 趋势、流量来源"店铺整体经营分析由 1688-shop-operate skill 提供,建议切换该 skill 查询"
🚨 强约束(违反即流程错误):
❗ 命中"重点客户直查"4 类细分触发词时禁止走 list_customer_cluster 流程:
list_customer_details --crowd-type {对应 crowd_type} --date-type RECENT_30 --fetch-allCLI 入口文件: {baseDir}/cli.py
命令参数说明configure``YOUR_AK配置 AKlist_customer_cluster无参数查老客 AI 客群列表(含 planId / 客群特征)get_cluster_marketing_plan``--plan-id PLAN_ID查客群运营方案(优惠券/文案/海报)list_cluster_buyer_detail``--plan-id PLAN_ID查客群买家明细(触达状态)list_customer_details``--buyer-login-ids '["nick1","nick2"]'查指定买家的客群信息(订单+询盘双维度)customer_reception_advice``--buyers '<对象数组 JSON>'批量实时画像 + 跟进建议(统一对象数组入参;详见下方「customer_reception_advice 入参示例」)activate_cluster_plan``--plan-json '<JSON>'开启 AI 客群运营计划
--buyers 是对象数组 JSON,每个对象 通过字段名 声明类型—— login_id 或 phone 二选一,Java 端自动识别并转 userId。一手机号可能对应多账号,会拆成多条结果。
bash
# 场景 1:纯 loginId(最常见,从客群明细 / 客户列表拿到的都是 loginId)
python cli.py customer_reception_advice --buyers '[{"login_id":"alice"},{"login_id":"bob"}]'
# 场景 2:纯 phone(用户上传通讯录、外部名单只有手机号时)
python cli.py customer_reception_advice --buyers '[{"phone":"13800138000"},{"phone":"13900139000"}]'
# 场景 3:loginId + phone 混合(用户名单同时含两种身份信息)
python cli.py customer_reception_advice --buyers '[{"login_id":"alice"},{"phone":"13800138000"},{"login_id":"bob"}]'
# 场景 4:单买家(仍走数组)
python cli.py customer_reception_advice --buyers '[{"login_id":"nick"}]'
python cli.py customer_reception_advice --buyers '[{"phone":"13800138000"}]'
禁止:
["alice","bob"](旧格式,已废弃)login_id 和 phone 字段(会被收集到 invalid_entries,不阻断其他条目处理)login_id 和 phone 的对象(行为:优先 login_id, phone 被忽略;建议拆成两条)🚨 禁止向用户索取主账号 user_id / login_id。调用方身份由后端通过 AK 自动解析。Agent 只需收集买家身份(login_id / phone)作为业务参数。
线下批量场景(分析单个/多个客户的客群信息):
list_customer_details --buyer-login-ids '["loginId1","loginId2"]',获取每个买家的客群归属order_list[].procurement_mode = "periodic" → 周期采购order_list[].procurement_mode = "old_buyer" → 老客促活inquiry_list 中有数据 → 询盘未成交customer_crowd_analysis——crowd_type 必须来自 list_customer_details 的返回,不可猜测customer_crowd_analysis --buyers '[...]' -t {crowd_type}(同一组内线程池并发)线上实时场景:
customer_reception_advice通用:
python cli.py configure YOUR_AK老客机会挖掘场景(统一入口):
触发任一买家挖掘/客群相关触发词时, 禁止询问用户想做什么、立即执行。
🚨 M1-M5 / 子场景 X / 公共流程 M 均为 SKILL.md 内部步骤编号,仅供 agent 自己路由用, 严禁出现在面向商家的任何可见文字里(含思考过程流式区块、过渡话术、追问、复盘),按铁律 A4 禁言清单"流程元注释"分类处理。
Step动作关键约束M1拉买家 loginId 列表(数据源见下方场景表)—M2取所有 loginId 一次性批量调 customer_reception_advice --buyers '[{"login_id":"..."},...]' 拿画像 + 建议❌ 禁止逐个循环、禁止询问选哪位M3agent 按成单机会从高到低排序:a. 近期聊天+采购意向 > b. 有询盘未成交 > c. 历史下单近期静默 > d. 无互动;同级保持 API 顺序—M4按 2 列 rows 构造( buyer_login_id + 「画像:xxx\n建议:xxx」各 ≤50 字),调 show_interaction(name='select_buyers_from_cluster'); actions:有 planId → [view_plan];无 planId → [next_batch]❌ 严禁 Markdown 表格替代、严禁 view_plan 与 next_batch 同时出现、严禁展示 userIdM5按铁律 D 处理 action.key,执行完弹 AskUserQuestion「换一批 / 继续跟进这批 / 结束」—
单买家(loginId 数=1):跳过 M4,按铁律 A3 三段式输出,弹 AskUserQuestion「换一批 / 结束」;有 planId 追加「查看客群运营计划」。 空数据:告知「暂无待跟进客户,可以尝试其他客群场景」。
调 list_customer_cluster, 完整、逐字、原样 输出返回的 markdown(铁律 A,含 > 引用块前缀、空行、HTML 注释;禁加开场白、禁从 data 重构)
markdown 渲染完成后 才能弹 AskUserQuestion 两题( 禁止在表格渲染前弹出):
"{cluster_name}({buyer_num}人)", 禁用"第1个客群"序号文案取答案匹配 data.list[].plan_id,进入对应子场景
子场景触发条件M1 数据源planId差异点2. 展开客群明细子场景 1 选「展开客群买家明细」list_cluster_buyer_detail --plan-id PLAN_ID → data.list[].buyer_login_id✅—3. 查所有客群汇总买家明细子场景 1 选「查看所有客群汇总买家明细」 或 prompt 命中"所有客群买家/全量客群买家"对子场景 1 已有的全部 plan_id 并行 调 list_cluster_buyer_detail,按 loginId 合并去重❌禁止重新调 list_customer_cluster;告知"共 X 客群,去重后 Y 位"4. 客户机会监控-有 AI 客群"客户机会监控" 触发词 + cluster_count > 0调 list_customer_cluster( 只取 data,禁输 markdown)→ 取 data.list[0].plan_id → list_cluster_buyer_detail(同禁输 markdown)✅M5「换一批」用 AskUserQuestion 列剩余客群( data.list[1:],同问题一格式),选中后取对应 plan_id 重复 M1-M55. 客户机会监控-无 AI 客群(按优先级)"客户机会监控" 触发词 + cluster_count = 0按优先级 逐级 执行( 禁止并行、禁止跨级跳转):① list_customer_details --gmv-1m-level 高 ② list_customer_details --ord-cnt-1m-level 高 ③ list_customer_details --user-label-list '["B类买家"]'❌M5「换一批」选项:当前级「下一批」+ 切下一级;③ 仅「下一批」无切换6. 客户机会监控-无 AI 客群-所有客群汇总"客户机会监控" + "所有客群买家/全量客群买家" + cluster_count = 0并行 3 条 list_customer_details( --gmv-1m-level 高 / --ord-cnt-1m-level 高 / --user-label-list '["B类买家"]'),按 loginId 合并去重❌告知"暂无 AI 客群数据,将为你从全部老客中筛选高价值买家"7. 重点客户直查4 类细分触发词(流失/复购/老客促活/询盘未成交)list_customer_details --crowd-type {crowd_type} --date-type RECENT_30 --fetch-all; {crowd_type} = 流失买家/ 周期采购/ 老客促活/ 询盘未成交❌禁止 调 list_customer_cluster / list_cluster_buyer_detail; 禁输 list_customer_details markdown;M5「换一批」重拉同一 crowd_type 全量
⚠️
list_cluster_buyer_detail和get_cluster_marketing_plan都必须先有 planId。planId 只能来自list_customer_cluster的返回, 禁止猜测。
view_plan 或子场景 1 选「查询运营方案」时进入)#调 get_cluster_marketing_plan --plan-id PLAN_ID 拿方案详情( 忽略 offer_list)
调 show_interaction(name='confirm_marketing_plan') 让商家确认/修改旺旺文案(按 references/interaction-specs.md §2 构造 questions), 禁止用 AskUserQuestion 文字交互替代
🚨 input 完成强红线:回传中 selectionType="确认客群运营计划" 且 data.questions[0] 含答案—— 这是 input 已完成的唯一信号,agent 必须 同一 turn 内静默 执行步骤 4( 读 activate_cluster_plan.md / 构造 JSON / 调 tool 全部是 agent 内部动作,禁止对商家用任何过渡话术,如「商家已确认旺旺文案,立即读取 activate_cluster_plan 文档并执行开启计划」这类描述属于铁律 A4「内部动作描述」违规), 禁止:
list_customer_cluster 或重新展示 AI 客群列表confirm_marketing_plan 或任何 AskUserQuestion 二次确认activate_cluster_plan取 data.questions[0] 答案作 saleDescription,按 references/capabilities/activate_cluster_plan.md 构造 JSON( 不传 coupon 字段),调 activate_cluster_plan --plan-json '<JSON>'
成功后直接展示命令输出的 markdown(含 CRM 链接), 禁止调用 open_tab,由用户自行点击链接
展示规范见 references/display-rules.md(agent 初始化时会读取)
show_interaction 前:先完整阅读 references/interaction-specs.mdconfigure 前:先完整阅读 references/capabilities/configure.mdlist_customer_cluster 前:先完整阅读 references/capabilities/list_customer_cluster.mdlist_customer_details 前:先完整阅读 references/capabilities/list_customer_details.mdlist_cluster_buyer_detail 前:先完整阅读 references/capabilities/list_cluster_buyer_detail.mdcustomer_reception_advice 前:先完整阅读 references/capabilities/customer_reception_advice.mdcustomer_crowd_analysis 前:先完整阅读 references/capabilities/customer_crowd_analysis.mdactivate_cluster_plan 前:先完整阅读 references/capabilities/activate_cluster_plan.mdget_cluster_marketing_plan 前:先完整阅读 references/capabilities/get_cluster_marketing_plan.mdreferences/display-rules.md