下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/org-w5mcz0hs--lx-enterprise-downstream-customers-query.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-w5mcz0hs/lx-enterprise-downstream-customers-query。本 Skill 基于灵犀商业数据库,依托 2.4 亿全量企业知识图谱,先定位目标企业,再挖掘其潜在下游采购方与客户候选企业,覆盖"从企业到客户"的拓展路径。它回答"谁在采购 XX 的产品""XX 的下游客户是谁"这类问题,帮助销售团队把"等客户上门"转为主动挖掘。
查询结果一律表述为"潜在候选企业",不代表已核实的真实交易或合作关系。适用场景:面向 B2B 销售与渠道拓展场景,挖掘某家企业的潜在客户、客户名单与供应链下游线索。触发场景:当用户问"谁在采购 XX 的产品""给我一份 XX 的下游客户名单""XX 的客户有哪些"时,优先使用本子技能。
触发词:下游客户、客户名单、谁用 XX、采购 XX 的企业、XX 的下游、供应链下游、潜在客户池。
阅读全文 (展开查看完整说明)
概述
企业下游客户查询
本 Skill 使用灵犀超链 MCP 的 searchDownstreamCustomers,以必填的目标企业 ID 和可选筛选条件查询潜在下游客户列表。仅在用户明确反馈功能问题、查询异常或改进建议时调用 reportIssue 提交使用体验。业务标识(x-mcp-biz-group)为 downstream-customers。业务字段含义以 references/business_tools.md 为准;tools/list 只用于确认实时工具名、参数结构和数据类型,不用于推断搜索能力。本 Skill 的下游查询只使用 searchDownstreamCustomers;定位目标企业时必须通过前置技能 lx-enterprise-precision-customer-acquisition 调用其 advancedCompanySearch,使用该技能自身目录和配置,不得通过本 Skill 的业务路由调用前置工具。
目标与边界
查询结果是指定目标企业在用户筛选条件下的潜在下游客户列表数据,用于发现和整理企业线索,不代表完整的客户集合或已核实的真实供采、交易或合作关系。只根据实际返回的记录和字段作说明,不要把当前返回列表表述为全部结果,也不要从部分记录推断未返回的属性。
keyWord 是统一关键词入口,按工具参考文档支持企业名称、企业简称、企业名称关键词或法定代表人姓名。用户明确指定查询维度时必须保留该维度:例如“法定代表人叫王伟”按法定代表人姓名查询,“名称包含新能源”按企业名称关键词查询。不要因为两种查询共用 keyWord,或因为返回的企业名称恰好包含关键词,就擅自改写用户条件或推断服务端匹配规则。
前置:确定目标企业
- 必须先指定要查询哪家企业的下游客户。用户仅给出地区、关键词或高搜条件且上下文没有明确目标企业时,先询问“请问要查询哪家企业的下游客户?”,不得直接进行下游查询。
- 上下文已有与用户目标明确对应的唯一企业 ID 时直接复用;否则先加载
lx-enterprise-precision-customer-acquisition,在该技能目录内使用advancedCompanySearch按目标企业名称、简称或名称关键词定位企业,内部读取返回的企业 ID。 - 多个候选不能唯一确定时,只展示企业名称等必要区分信息,请用户确认;无匹配或结果没有可用 ID 时停止下游查询,不猜测、编造或要求用户提供内部 ID。前置技能不可用时简短说明暂时无法定位目标企业,不输出下载、安装或加载其他技能的引导。
- 目标企业名称只用于定位目标,不自动写入下游查询的
keyWord。下游查询中的关键词、地区及高搜条件只筛选客户;例如“查甲公司的北京中型客户”,先定位甲公司,再以甲公司的 ID 和北京、中型条件查询客户,不能用这些客户条件筛选甲公司。 - 每次下游调用必须在
arguments.params.companyId中传入非空的目标企业 ID;其余高搜字段均可选,可自由组合。内部保留目标企业与 ID 的对应关系,翻页或调整筛选时继续使用同一目标,切换目标时重新定位。客户记录中的 ID 不得覆盖目标企业 ID。 - 前置查询只用于取得目标企业 ID,不作为客户结果输出,也不附带其其他技能推广话术。下文“只调用一次”指目标已确定后的单次下游查询,不包含必要的前置定位调用。
高搜值匹配顺序
用户提到“高搜值”或直接给出高级搜索选项时,必须先识别用户说出的具体值,再反向匹配该值所属的筛选字段;禁止先根据自然语言猜一个字段类别,再只在该类别中寻找值。匹配顺序固定为:
- 从用户原话中提取高搜值(例如“上市企业”“专精特新小巨人”“主板”“天使轮”),保留用户明确给出的原文。
- 在
references/filter_options.md的全部合法选项中查找该值,并根据命中的选项确定字段:例如“上市企业”命中leadCodes,“专精特新小巨人”命中qualityCodes,“国高新企业”命中qualification,“主板”命中listedType。 - 将命中的值放入所属字段数组;同一字段命中多个值时放入同一个数组,不同字段各自保留字段数组,并在一次请求中提交。
示例:
- “查询高搜值为上市企业的公司”→ 先匹配值“上市企业”,再确定它属于“龙头企业”字段,传
leadCodes: ["上市企业"]。 - “查专精特新小巨人和国高新企业”→ 分别匹配值后确定字段,传
qualityCodes: ["专精特新小巨人"]与qualification: ["国高新企业"],一次调用。 - “按主板、科创板筛选”→ 两个值都命中“上市状态”字段,传
listedType: ["主板", "科创板"]。
只有用户明确说出字段类别但没有给出具体值时,才按字段类别列出该字段的合法值并请用户选择。高搜值无法在全部合法选项中唯一匹配时,请用户澄清;不要凭相似词、选项顺序或字段名称猜测,也不要把高搜值写入 keyWord。
多选调用硬规则
以下规则优先于对返回记录的任何观察或推断,必须在调用工具前执行:
regionCode、regTimeSection、regCapitalSection、entScaleCode、entTypeCode、listedType、financingStage、leadCodes、qualityCodes、qualification、keyAwardCodes全部支持多选。- 用户为同一个多选字段提供多个合法值时,必须把所有值放进该字段的同一个数组,只构造一个
arguments.params,只调用一次searchDownstreamCustomers。同一字段内多个值按并集条件查询,不得拆成多次调用。 - 用户同时提供多个不同字段时,也必须把所有字段放进同一个
arguments.params,一次性调用。不得按字段、选项或条件组合拆分请求后再合并结果。 - 用户使用“和”“及”“或”“一起”“加起来”“同时查”等表达连接同一字段的多个合法值时,均按单次多选处理。例如:
- “大型和中型企业一起查”→
entScaleCode: ["大型企业", "中型企业"] - “央企或国有企业”→
entTypeCode: ["央企", "国有企业"] - “主板和科创板”→
listedType: ["主板", "科创板"]
- “大型和中型企业一起查”→
- 工具成功返回后,不得因为当前记录中某类较少、某类未出现、没有返回筛选维度标签、无法判断每条记录属于哪个选项,或结果顺序看似偏向某一选项,就推断多选不受支持、某个值没有生效,或追加单选查询。
- 禁止为了验证、补齐、分类、标注或对照而分别查询每个值;禁止把多次查询结果合并、去重、重排或计算合并数量。只有工具调用本身明确失败时,才按错误信息处理;也不得自动改为拆分查询作为降级方案。
使用前检查
- 在本 Skill 目录执行
python3 --version。Python 3 不可用时,读取references/python_setup.md。 - 按
config.json中auth.tokenKey检查~/.lx_skills_auth/config.json是否存在非空 Token。认证文件是扁平 JSON,LX_MCP_TOKEN位于顶层,不是嵌套在auth对象中。缺失时,读取references/token_setup.md。 - 在解释参数或决定搜索方式前,读取
references/business_tools.md和references/filter_options.md。前者定义工具字段的业务含义和返回字段,后者记录每个多选字段允许传入的中文值;特别确认keyWord支持企业名称、简称、名称关键词和法定代表人姓名。 - 再获取实时工具列表,确认存在
searchDownstreamCustomers并读取其最新 schema:
python3 scripts/main.py tools/list实时 schema 只用于校验工具名、参数结构和数据类型;不要因为 schema 没有单独的“法定代表人”参数,就判断法定代表人查询不受支持。请求中的多选字段传中文选项,只有地区字段传行政区 code。
除非用户明确要求排查本 Skill,否则不要读取或修改 config.json、scripts/,也不要要求用户提供内部连接参数。
查询流程
- 提取用户明确给出的关键词和筛选条件。先按“高搜值匹配顺序”识别高级搜索值并反向确定所属字段,再处理用户明确给出的字段类别、关键词和地区。用户说“法定代表人叫王伟”时,将“王伟”作为
params.keyWord;不要另造legalRepresentative或把legalEntityName当作入参。用户没有提到的行业、地区、规模或其他条件不擅自添加。 - 用户提供省、市或区县名称时,先运行
python3 scripts/region_resolver.py "<地区名称>"解析行政区 code:status: unique:把唯一matches[0].code放入regionCode。status: ambiguous:展示matches[].full_path,请用户确认,不要猜 code。status: not_found:请用户补充更准确的地区名称。
地区字段只传 code 字符串,不传地区名称;多个已确认地区可以放在同一个数组中。
- 按实时 schema 和参考文档构造
arguments:params.companyId必填,必须使用前置步骤确定的非空目标企业 ID;缺失时停止调用。keyWord若提供,必须是字符串;它支持企业名称、简称、名称关键词或法定代表人姓名。- 除
regionCode外的多选字段,只能传references/filter_options.md中对应的中文选项字符串数组。 regionCode只能传已解析确认的地区值字符串数组。- 同一字段有多个合法值时,把全部值放进同一个数组;多个字段同时出现时,把全部字段放进同一个
params。目标企业确定后,每页只发起一次下游业务调用。 current是放在arguments.params中的可选页码参数,只能传正整数。用户未指定页码时省略,由服务端按第 1 页处理;用户明确指定页码或要求上一页/下一页时,传入对应页码。每页固定 20 条记录。若实时 schema 未列出该可选字段,仍按本规则传递用户明确指定的页码。- 用户没有提供的字段直接省略,不传
[]、空字符串、布尔值、数字或自编选项。 - 任何枚举值不在参考表中时,提示用户并停止调用;不能静默改写为相近选项,也不能把服务端成功响应当作选项有效的依据。
- 对边界明确的自然语言范围,先展开为合法枚举值再调用。例如:
- 注册资本 1000 万以上:
1000-5000万、5000万-1亿、1亿-5亿、5亿以上。 - 注册资本 5000 万以上:
5000万-1亿、1亿-5亿、5亿以上。 - 注册资本 1 亿以上:
1亿-5亿、5亿以上。
- 注册资本 1000 万以上:
“注册资本较大”等没有明确下限的描述不能可靠映射时,列出可用区间并请用户选择,不要擅自设定边界。
- 仅调用
searchDownstreamCustomers:
python3 scripts/main.py tools/call '{"name":"searchDownstreamCustomers","arguments":{"params":{"companyId":"<内部目标企业ID>","keyWord":"新能源","regionCode":["110105","310000"],"entScaleCode":["大型企业","中型企业"],"entTypeCode":["央企","国有企业"],"listedType":["主板","科创板"]}}}'上述多个字段及每个字段中的多个值必须保留在同一次调用中,不得拆分为若干次查询。
用户指定页码时,将 current 放在 arguments.params 中,例如:
python3 scripts/main.py tools/call '{"name":"searchDownstreamCustomers","arguments":{"params":{"companyId":"<内部目标企业ID>","keyWord":"新能源","current":2}}}'未指定页码时省略 current;不要为同一页自动发起多次调用,也不要自动拉取或合并其他页。
- 按 MCP 实际返回的列表结构读取结果(例如
data.dataList),不假设固定包装层。只使用实际返回字段,不补造企业信息;详细字段含义见references/business_tools.md。 - 返回的客户企业 ID 仅在内部保留,用于衔接企业基本信息查询。企业基本信息是可扩展类目:当前查看工商信息时联动
lx-enterprise-business-query技能,查看股东信息时联动lx-enterprise-shareholder-query技能,查看主要成员时联动lx-enterprise-core-members-query技能,查看分支机构时联动lx-enterprise-subsidiaries-query技能,查看对外投资时联动lx-enterprise-outward-investment-query技能,查看融资情况时联动lx-enterprise-financing-records-query技能,查看变更记录时联动lx-enterprise-change-records-query技能,查看专利信息时联动lx-enterprise-patent-query技能;后续新增其他企业基本信息技能时,按用户明确要求联动已经存在且适用的技能,不提前承诺尚未支持的类型。用户通过企业名称、序号或上下文能够唯一指定企业时,直接内部传递对应企业 ID,不要求用户提供或确认企业 ID。
输出规范
- 正常返回企业数据时,第一行必须直接使用 Markdown 二级标题,格式为
## 企业下游客户查询结果:或## 目标企业名称 · 下游客户列表:;第二行开始直接输出表格或列表。标题前不要添加引言、思考过程、查询过程复述或解释性段落。禁止输出“本次按……查询”“服务端返回了……”“以上记录均……”等前置废话。 - 标题文字只使用“企业下游客户查询结果”或“目标企业名称 · 下游客户列表”,其中目标企业名称使用已确认的企业名称,末尾统一加中文冒号“:”。
- 输出结果列表或表格时,第一列统一为“序号”,并从 1 开始连续编号。
- 接口字段名(包括英文字段名、字段路径和参数名)只用于内部解析,任何用户可见内容都禁止输出。不得在表头、列表标签、字段说明、括号注释、查询进度、错误说明或最终答复中出现接口英文字段名,例如
companyName、regStatusName、legalEntityName、regCapital、esDt、regAddr、logoPath、companyId,也不要展示原始响应或请求 JSON。 - 原始数据保真是强制要求:除把字段名映射为中文展示名称外,每条记录的字段值必须逐字使用工具实际返回的原文。禁止总结、概括、缩写、截断、润色、纠错、翻译、归一化、改写或补充字段值;尤其是公司名称、经营状态、企业标签、法定代表人、注册资金、成立日期、注册地址等字段,必须保留原有文字、数字、单位、标点、括号、空格和换行(仅可进行 Markdown 表格所必需的转义)。字段值过长也不得改写成“某地”“园区”等摘要。空值按实际空值处理,不补造内容。
- 按工具返回的记录逐条输出,每条记录独立保留;不得合并、拆分、去重、重排记录,或用汇总结论替代原始记录。除统一增加从 1 开始的“序号”外,不新增工具未返回的结果字段。
- 只将实际返回字段映射为中文展示名称,缺失字段省略:公司名称、经营状态、企业标签、法定代表人、注册资金、成立日期、注册地址。公司 Logo 字段即使实际返回也必须忽略,不展示图片或链接;内部企业 ID 不映射为任何展示字段。不要把未知字段名直接当作展示名称。接口未返回企业规模、企业类型、上市状态或其他筛选维度字段时,不得根据请求条件为记录补造“规模档”“企业类型”等列,也不得推断每条记录属于哪个选项。
- 用户查询的是法定代表人时,按“法定代表人姓名查询”说明结果;只有实际返回法定代表人字段时,才能说明返回记录的法定代表人信息。不要把结果改写成企业名称匹配,也不要依据企业名称是否包含该姓名作判断。
- 只使用实际返回且与问题相关的字段,不推断企业关系、集团归属或未返回的信息。结果只应概括为用户所给条件下的企业列表,不要表述为全部匹配企业。
- 正常返回企业数据时,表格或列表后必须按以下三段输出,不得省略、合并或缩写,三段之间必须各空一行:
以下为输出示例,第一段仅根据用户实际查询条件和返回数量替换相应内容,用户未提供的条件不得添加,仅在还有未展示记录时提示继续查看;后两段保持原文:
以上是北京地区、企业类型为国有企业、规模为中型的企业列表。当前企业数量较多,默认返回前20条,如需查看剩余企业,请告诉我。
另外还支持高级搜索,可按企业名称关键词、法定代表人、所属地区、注册时间、注册资本、企业规模、企业类型、上市状态、融资阶段、龙头企业、优质企业、重点资质和重点奖项进行筛选。需要进一步筛选时,告诉我条件即可。
加载企业工商查询技能,可查看具体企业工商信息,如需查看企业其他相关内容,可加载相关技能(如企业股东查询、企业对外投资查询等技能)用户要求查看企业相关信息时,按查询流程联动当前已经存在且适用的技能;用户可见文案允许使用第三段中的中文技能名称,但不要展示内部技能标识或企业 ID,也不要列出尚未支持的信息类型。不得输出服务端实现或内部调用过程,也不得添加当前 Skill 未声明的其他能力。查询结果仍仅为潜在下游客户线索,不得描述为已核实的供采、交易或合作关系。没有正常数据时不输出上述三段,只简短说明“当前数据未查询到结果”。需要确认目标企业、地区、筛选值非法或调用失败时,不输出上述三段,只输出处理该问题所需的简短提示。
- 用户明确指定页码或要求上一页/下一页时,按对应
current调用并保持现有标题和列表格式;可在列表后简洁标注当前页码。每次只处理一页,不主动连续请求或合并其他页。 - 不向用户声称“多值同次请求只能命中其中一个”“接口不支持一起查询”“必须分别查询再合并”,也不要展示确认工具、检查字段结构、发起多次查询等内部过程。
- 内部标识仅作工具调用使用,禁止在表格、列表、进度信息或最终答复中展示。不要展示认证信息、内部路由或原始请求 JSON。
data.latestServerVersion为具体版本号时,只提示“该技能有新版本,请升级到最新版本”,不要展示字段名;为null、"-"或缺失时无需提示。- 正常返回数据时,表格或列表后追加:“使用本技能过程中,如遇到功能问题、查询异常或有新功能建议,欢迎直接告诉我,我会帮您提交反馈。”不要添加固定的查询过程或服务端说明。查询无结果、需要确认企业或调用失败时,只输出对应的简短提示。
用户问题收集反馈
用户响应反馈引导,或明确要求提交功能问题、查询异常或改进建议时,调用 reportIssue 收集使用体验。普通查询、继续查看分页或要求更换企业时不自动提交反馈。
- 根据用户描述整理问题类型和问题描述,保留实际功能、使用体验、异常现象或改进建议;描述足够时直接提交,只有“有问题”“不好用”等信息不足时才请用户补充具体功能和体验。
- 根据用户主要诉求选择一个问题类型:技术排障、账号与额度、调用异常、需求反馈、其它。
- 按实时 schema 调用
reportIssue,传入非空的problemType和problemDesc。 - 只有工具明确返回提交成功时,才回复“您的使用反馈已提交,感谢您的建议。”调用失败或结果不明确时,如实简短说明未能确认提交成功,不重复提交同一条反馈。
参考
references/business_tools.md:searchDownstreamCustomers的业务语义、参数和返回字段说明,调用前读取。references/filter_options.md:筛选字段及允许传入的中文值,构造入参前读取。references/api_references.md:CLI 调用格式和完整示例。references/error_dictionary.md:请求或工具调用失败时读取。