下载地址
https://api.skillhub.cn/api/v1/download?slug=%40shuoruan%2Fshuoruan-bid-history-qualification将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @shuoruan/shuoruan-bid-history-qualification。输入企业全称或统一信用编码,查询企业招投标历史、中标情况、资质证书与疑似关联企业,给出查询结论与建议,生成本地 HTML 报告。按次付费 ¥1.20/次,微信 AI 支付。
阅读全文 (展开查看完整说明)
概述
了解企业的投标经验与资质:先确认企业主体真实存在,再按「招投标历史、资质证书、疑似关联企业」三个模块查询,给出查询结论与建议,并生成一份可在浏览器打开的 HTML 报告。按次付费,每次查询 ¥1.20,通过微信 AI 支付完成。
何时使用:用户在招标资格审查、供应商准入或投标尽调前,想了解一家企业参与过哪些招投标、中标情况如何、有哪些资质证书,以及有没有可能参与围标串标的疑似关联企业。
30 秒速览
| 什么时候触发我 | 招标资格审查、供应商准入、投标尽调前;或你说“查一下这家公司有没有投过标、中标记录、资质证书、关联企业” |
| 输入什么 | 企业全称,或 18 位统一社会信用代码 |
| 输出什么 | 一份可离线打开的 HTML 报告:招投标历史 + 资质证书 + 疑似关联企业 + 结论与建议 |
| 要多久 | 主体确认 + 3 个模块查询,通常 1–2 分钟(以服务端返回为准) |
| 不做什么 | 不判定能不能中标,不认定围标;不含工商股东、商标专利、司法涉诉、税务;不查自然人、个体户、港澳台及境外企业 |
| 花钱吗 | 是,¥1.20/次;查询失败或未查到自动全额退款 |
调用前:确认查询对象(⚠️ 必须执行)
本技能每次调用都会向用户收费,只能查询用户在对话中明确给出的企业:
- 用户还没有给出要查询的企业(例如刚安装本技能、只是了解功能):先问用户「要查询哪家企业?请提供企业全称或统一社会信用代码」,在用户回答前不发起请求、不下单。
- 不得自行编造、猜测企业,也不得使用本文档中的示例值(如「深圳示例技术有限公司」「91440300XXXXXXXXXX」)、占位词或测试值。
- 不要为了验证安装、测试功能或演示而调用本技能。
- 用户只给了简称或不完整的名称时,先请用户确认全称。
调用前:告知费用并取得同意(⚠️ 必须执行)
在发起任何请求之前,先用一句话明确告诉用户费用,并等待用户同意:
对「企业全称」查询招投标历史与资质需付费 ¥1.20/次,通过微信支付,支付成功后才会执行查询并生成报告;查询失败或未查到该企业将自动全额退款。是否继续?
- 话术中的「企业全称」必须替换为用户给出的实际企业名称或信用代码;还不知道查哪家企业时,回到「调用前:确认查询对象」。
- 用户同意后再进入「💳 付费能力」的第一步。
- 用户拒绝或未明确同意:不发起请求、不下单。
- 收到 402 后,实际应付金额以响应中的
amount为准;若与 ¥1.20 不一致,先把实际金额告诉用户并重新取得同意,再发起支付。
输入
| 字段 | 必填 | 说明 |
|---|---|---|
| company_name | 二选一 | 企业全称,如“深圳示例技术有限公司”。用户只给了简称时,先请用户确认全称 |
| credit_code | 二选一 | 18 位统一社会信用代码。两项都提供时以信用代码为准,结果更准确 |
请求体示例:
{"company_name": "深圳示例技术有限公司"}{"credit_code": "91440300XXXXXXXXXX"}
入参不合法时服务会直接返回 400,不会下单、不会扣费。按提示向用户确认企业全称或信用代码后再请求,不要自行改写或替换成其他企业。
<!– PAY_SKILL_SECTION –>
💳 付费能力(Pay Skill)
本 Skill 为 SkillHub Pay Skill,按次付费 ¥1.20/次,调用时由服务端触发微信 Agent Pay。
付费前置检查(Agent 必读)
发起下单前,先检查你的可用工具列表中是否存在名称包含 weixinpay_ 的工具(如 mcp__weixinpay__weixinpay_register,工具名带前缀也算;存在任意一个即视为支持)。
只以你的工具列表为证据,本文档中提到的工具名不算;无法确认时按「不支持」处理。
- 支持:继续执行下方四步法。
- 不支持:不要发起下单,告诉用户当前智能体暂不支持微信 AI 支付,并按智能体类型给出解决办法:
- 合作智能体(如 WorkBuddy):请升级智能体到最新版本后重试。
- 开放智能体(如 OpenClaw / DeepSeek Harness):请根据 https://skillhub.cn/install/skillhub.md,安装 @tencent-adm/weixinpay-installer。
- 无法判断类型:请升级智能体或安装微信支付 AI 支付插件后重试。
工作流程(四步法)
第一步:请求资源
首次请求不要携带订单号,请求体为用户确认的企业:
python scripts/invoke.py '{"company_name": "企业全称"}'Windows 上若 python 不可用,依次尝试 py -3、python3;macOS / Linux 也可用 bash scripts/invoke.sh。
第二步:处理 402 响应
输出 HTTP_STATUS: 402 表示需要付费。从输出中提取并保存(两者都必须保存):
WeixinPay-Required:支付凭据(paymentCode)X-Out-Trade-No:订单号
将脚本输出原样保留,不要改写、截断、省略或总结 WeixinPay-Required 的值。
第三步:发起支付
将 WeixinPay-Required 的值作为 paymentCode,调用 weixinpay_pay,向用户申请支付授权。支付卡片弹出后由用户在卡片上完成确认,不要在对话内反复查询支付状态或重复发起支付。
第四步:支付成功后获取资源(⚠️ 必须执行)
用户支付成功后,必须重新请求:使用与第一步完全相同的请求体,并带上第二步保存的订单号与支付凭据:
python scripts/invoke.py '{"company_name": "企业全称"}' '<X-Out-Trade-No>' '<WeixinPay-Required>'HTTP_STATUS: 200:查询完成。BODY.data为报告数据;REPORT_HTML为已在本地生成的 HTML 报告路径。
若同时带有 BODY.refund(如未查到该企业),表示本次不收费、费用已自动退回,务必把 BODY.refund.message 告诉用户。
HTTP_STATUS: 402:订单尚未支付或支付凭据已过期,按新返回的WeixinPay-Required与X-Out-Trade-No回到第三步。HTTP_STATUS: 202:结果处理中,稍候用同一订单号重试(invoke.py已自动重试 3 次)。BODY.code为QUERY_FAILED:查询失败,费用已自动全额退款(原路退回微信)。把BODY.message告诉用户;不要用同一订单号重试。
用户仍想查询时,从「调用前:告知费用并取得同意」重新开始(需重新付款)。
BODY.code为ORDER_REFUNDED:该订单已退款,如需查询请从头开始。- 其他状态:将
BODY.message告知用户;已付款且未退款的订单可稍后用同一订单号重试,不要重新下单。
不携带订单号重试,就永远拿不到付费内容。
能力边界
- 免费部分:无。本技能不提供免费查询;入参不合法时服务直接返回 400,不下单、不扣费。
- 付费触发点:每次查询的首次请求返回 HTTP 402 与
WeixinPay-Required(¥1.20/次);未查到该企业或查询失败时自动全额退款。 - 成本护栏:按“主体确认 + 3 个接口各 1 次”发起,
10377只调用 1 次,不重复调用同一接口。
部署形态
- 形态:server(HTTP 服务端,硕软 SkillPay:
https://skillpay.sohan.cn/api/admin/skillpay/open/shuoruan-bid-history-qualification/invoke)。 - 微信支付下单、AI 预下单、支付后查单验证与幂等履约均在服务端完成;本包
scripts/invoke.py(或scripts/invoke.sh)只负责发起首次请求与支付后重试,scripts/render_report.py在本地生成 HTML 报告。 - 首次请求返回 HTTP 402,响应头带
WeixinPay-Required与X-Out-Trade-No,响应体带WeixinPay-Required、out_trade_no、amount;携带X-Out-Trade-No重试且已支付时返回 HTTP 200 与报告数据,同一订单重复请求返回同一结果、不重复扣费。
🔐 安全声明
- 本包不含任何密钥、Token 或商户证书;SkillHub 开发者私钥与微信商户 API 证书只保存在服务端环境变量中,不写入本包、前端或公开仓库。
- 本包只向上述服务端地址发送用户提供的企业名称或统一社会信用代码,不收集其他信息;
examples/中的数据均为虚构。
<!– PAY_SKILL_SECTION –>
不适用
- 只查企业,不查自然人、个体工商户、港澳台及境外企业。
- 只覆盖公开招投标、资质证书与疑似关联记录;工商股东、商标专利、司法涉诉、税务、海关不在本技能范围。
- “未查询到”不等于企业没投过标或没有资质:公开招投标与资质数据覆盖有限,报告统一写“未查询到公开记录”。
- “疑似关联”只是基于公开信息的疑似关系,不构成确认关联或围标结论;交集只作人工复核线索。
- 资质证书与项目要求是否匹配需人工判断,报告不代替资格审查。
- 结果不构成法律意见;投标决策请以招标文件与发证机关信息为准。
常见问题 FAQ
- 为什么必须先确认企业全称? 简称会查错主体,同名企业大量存在,必须用全称或 18 位统一社会信用代码锁定唯一主体。
- 为什么先收费? 支付成功后才执行查询(接口按调用计费);查询失败或未查到自动全额退款,原路退回微信。
- “未查询到招投标记录”是不是没投过标? 不是,只代表公开渠道未检索到;很多项目公告不在公开库,建议结合招标平台复核。
- “疑似关联企业”能直接认定围标吗? 不能,只是公开信息的疑似关系与同项目投标单位交集,需人工复核。
- 资质证书能证明满足招标要求吗? 不能,证书类型与项目要求是否匹配需人工判断,报告只列事实。
- 报告里为什么没有风险评分? 本技能是信息查询,不评风险等级;评分口径见设计稿,未在服务端落地前不展示。
- 能查个人或个体户吗? 不能,仅支持企业主体(有限公司、股份公司、合伙企业等)。
- 报告能发给客户吗? 可以,HTML 可离线打开、可直接打印;数据仅供参考,不构成法律意见。
错误与降级
- 没有
REPORT_HTML→ 本机缺 Python 或渲染失败;把BODY.data整理给用户,并提示可安装 Python 3 后重跑;不要重复下单。 HTTP_STATUS: 000→ 网络不通,稍后重试,不要重新付款。HTTP_STATUS: 202→ 处理中,用同一订单号重试(invoke.py已自动重试 3 次)。HTTP_STATUS: 400→ 入参不合法,不下单、不扣费;按提示核对全称或信用代码后重发。- 提示“缺少请求体 JSON”或退出码 2 → 命令行 JSON 被 shell 截断;用单引号包住整个 JSON 后重试。
解读与呈现
本技能包含:主体确认 + 一、招投标历史;二、资质证书;三、疑似关联企业;四、结论与建议。本技能为信息查询,不评定风险等级。
BODY.data 结构:
result:已查到 / 未查到;company_name、credit_code、status(登记状态)conclusion:一句话结论(本技能不评风险等级,没有risk_level)risk_flags[]:需要提示用户的事项(如企业登记状态非存续),通常为空subject:主体信息(items[]为label/value)checks[]:各项结果,含title、kind(risk风险类 /info信息类)、status、summary;
有内容时附 items[](label / value)、columns 与 rows 明细,或多张 tables[](含 title、columns、rows)
status:已获取 / 未发现记录 / 暂未获取checks[].group:所属模块,只能是「招投标历史 / 资质证书 / 疑似关联企业」三选一;不要额外返回“查询结论”分组——报告的“结论与建议”由conclusion+suggestions自动生成suggestions[]:结论与建议,逐条为可执行建议report_name:报告名称(服务端固定返回“企业招投标历史与资质查询”),用于 HTML 标题与文件名;缺失会退化为“企业核验报告”query:本次查询条件(company_name/credit_code),用于报告标题兜底dataQuality(可选):数据质量(queriedAt、apiStatuses、failed等),报告末尾展示failed_items[]:暂未获取到数据的项;generated_at:报告生成时间- 报告不输出身份证等敏感证件号;姓名按数据源原样展示,不做本地脱敏
请这样回复用户:
- 第一句给出查询结论,例如“深圳示例技术有限公司登记状态为存续,查到招投标记录 12 条、资质证书 3 项、疑似关联企业 5 家”。
- 按模块说明结果:招投标历史概括近期项目(发布日期、公告类型、招标单位、中标金额);资质证书列出名称、编号与有效期;疑似关联企业说明关系类型。不要编造明细之外的内容。
- 疑似关联企业只是基于公开信息的疑似关系,不要表述为确定的关联或违规;未查到某类记录时如实说明。
- 把
suggestions作为建议转述给用户,不要自行增加明细之外的判断。 failed_items不为空时,说明这些项本次暂未获取到,建议稍后另行核实,不要臆测其结果。- 告诉用户完整报告已生成,给出
REPORT_HTML的路径,提示可用浏览器打开查看或打印。能直接打开本地文件的智能体可以帮用户打开。 result为「未查到」时,告诉用户本次费用已自动退回,并请用户核对企业全称或统一社会信用代码。- 用通俗中文整理结果,不必逐条罗列原始 JSON 或技术字段;用户询问订单号(如咨询退款)时如实提供。
- 结尾注明:数据来源于公开信息,仅供参考,不构成投资或法律意见。