下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/shuoruan--shuoruan-tax-risk-report.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @shuoruan/shuoruan-tax-risk-report。当用户想确认一家企业是否一般纳税人、能否正常开票,有没有欠税、偷税漏税、重大税收违法、税务非正常户,或要在供应商准入、授信、财务尽调、合同签署前核查税务合规时使用。仅覆盖税务公开记录,不含财务报表、纳税信用等级、发票明细。按次付费 ¥0.50/次,微信 AI 支付。
阅读全文 (展开查看完整说明)
概述
硕软·企业税务风险报告
核查企业的税务合规状况:先确认企业主体真实存在,再按「纳税身份、欠税、税收违法、非正常户」四个模块查询一般纳税人资格、欠税公告、重大税收违法案件和税务非正常户,给出综合风险等级、结论与建议,并生成一份可在浏览器打开的 HTML 报告。按次付费,每次查询 ¥0.50,通过微信 AI 支付完成。
何时使用:用户在供应商准入、授信、财务尽调或签合同前,想确认对方是不是一般纳税人、能否正常开票,有没有欠税、重大税收违法或被认定为税务非正常户。
30 秒速览
| 什么时候触发我 | 你说"查一下这家公司能不能开票 / 是不是一般纳税人 / 有没有欠税 / 税务风险",或要做供应商准入、授信、财务尽调、合同签署 |
| 输入什么 | 企业全称,或 18 位统一社会信用代码 |
| 输出什么 | 一份可离线打开的 HTML 报告:风险等级 + 分模块结果 + 结论与建议 |
| 要多久 | 主体确认 + 4 项查询,通常 1–2 分钟(以服务端返回为准) |
| 不做什么 | 不查自然人、个体工商户、港澳台企业;不含财务报表、纳税信用等级、发票明细;不构成税务意见 |
| 花钱吗 | 是,¥0.50/次;查询失败或未查到自动全额退款 |
调用前:确认查询对象(⚠️ 必须执行)
本技能每次调用都会向用户收费,只能查询用户在对话中明确给出的企业:
- 用户还没有给出要查询的企业(例如刚安装本技能、只是了解功能):先问用户「要查询哪家企业?请提供企业全称或统一社会信用代码」,在用户回答前不发起请求、不下单。
- 不得自行编造、猜测企业,也不得使用本文档中的示例值(如「深圳示例技术有限公司」「91440300XXXXXXXXXX」)、占位词或测试值。
- 不要为了验证安装、测试功能或演示而调用本技能。
- 用户只给了简称或不完整的名称时,先请用户确认全称。
调用前:告知费用并取得同意(⚠️ 必须执行)
在发起任何请求之前,先用一句话明确告诉用户费用,并等待用户同意:
对「企业全称」生成税务风险报告需付费 ¥0.50/次,通过微信支付,支付成功后才会执行查询并生成报告;查询失败或未查到该企业将自动全额退款。是否继续?
- 话术中的「企业全称」必须替换为用户给出的实际企业名称或信用代码;还不知道查哪家企业时,回到「调用前:确认查询对象」。
- 用户同意后再进入「💳 付费能力」的第一步。
- 用户拒绝或未明确同意:不发起请求、不下单。
- 收到 402 后,实际应付金额以响应中的
amount为准;若与 ¥0.50 不一致,先把实际金额告诉用户并重新取得同意,再发起支付。
输入
| 字段 | 必填 | 说明 |
|---|---|---|
| company_name | 二选一 | 企业全称,如“深圳示例技术有限公司”。用户只给了简称时,先请用户确认全称 |
| credit_code | 二选一 | 18 位统一社会信用代码。两项都提供时以信用代码为准,结果更准确 |
请求体示例:
{"company_name": "深圳示例技术有限公司"}{"credit_code": "91440300XXXXXXXXXX"}
入参不合法时服务会直接返回 400,不会下单、不会扣费。按提示向用户确认企业全称或信用代码后再请求,不要自行改写或替换成其他企业。
<!– PAY_SKILL_SECTION –>
💳 付费能力(Pay Skill)
本 Skill 为 SkillHub Pay Skill,按次付费 ¥0.50/次,调用时由服务端触发微信 Agent Pay。
付费前置检查(Agent 必读)
发起下单前,先检查你的可用工具列表中是否存在名称包含 weixinpay_ 的工具(如 mcp__weixinpay__weixinpay_register,工具名带前缀也算;存在任意一个即视为支持)。
只以你的工具列表为证据,本文档中提到的工具名不算;无法确认时按「不支持」处理。
- 支持:继续执行下方四步法。
- 不支持:不要发起下单,告诉用户当前智能体暂不支持微信 AI 支付,并按智能体类型给出解决办法:
- 合作智能体(如 WorkBuddy):请升级智能体到最新版本后重试。
- 开放智能体(如 OpenClaw / DeepSeek Harness):请根据 https://skillhub.cn/install/skillhub.md,安装 @tencent-adm/weixinpay-installer。
- 无法判断类型:请升级智能体或安装微信支付 AI 支付插件后重试。
工作流程(四步法)
第一步:请求资源
首次请求不要携带订单号,请求体为用户确认的企业。优先(Windows / macOS / Linux 通用):
python scripts/invoke.py '{"company_name": "企业全称"}'无可用 Python 时的备选(仅 macOS / Linux):
bash scripts/invoke.sh '{"company_name": "企业全称"}'第二步:处理 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>'Windows 上若 python 不可用,依次尝试 py -3、python3。
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:结果处理中,稍候用同一订单号重试。BODY.code为QUERY_FAILED:查询失败,费用已自动全额退款(原路退回微信)。把BODY.message告诉用户;不要用同一订单号重试。
用户仍想查询时,从「调用前:告知费用并取得同意」重新开始(需重新付款)。
BODY.code为ORDER_REFUNDED:该订单已退款,如需查询请从头开始。- 其他状态:将
BODY.message告知用户;已付款且未退款的订单可稍后用同一订单号重试,不要重新下单。
不携带订单号重试,就永远拿不到付费内容。
能力边界
- 免费部分:无。本技能不提供免费查询;入参不合法时服务直接返回 400,不下单、不扣费。
- 付费触发点:每次查询的首次请求返回 HTTP 402 与
WeixinPay-Required(¥0.50/次);未查到该企业或查询失败时自动全额退款。
部署形态
- 形态:server(HTTP 服务端,硕软 SkillPay:
https://skillpay.sohan.cn/api/admin/skillpay/open/shuoruan-tax-risk-report/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 可离线打开、可直接打印;数据仅供参考,不构成税务意见。
- 为什么没有评分/只有等级? 按服务端返回的
risk_level呈现;如需 0–100 分,需先在服务端补充score与分项再展示。
错误与降级
- 输出没有
REPORT_HTML→ 本机缺 Python 或渲染失败;把BODY.data整理给用户,并提示可安装 Python 3 后重跑;不要重复下单。 HTTP_STATUS: 000→ 网络不通,稍后重试,不要重新付款。HTTP_STATUS: 202→ 处理中,用同一订单号重试(invoke.py 已自动重试 3 次)。
解读与呈现
本技能包含:主体确认 + 一、纳税身份(一般纳税人资格);二、欠税(欠税公告);三、税收违法(重大税收违法);四、非正常户(税务非正常户);五、结论与建议。
BODY.data 结构:
result:已查到 / 未查到;company_name、credit_code、status(登记状态)risk_level:综合风险等级(高 / 中 / 低 / 未发现风险);conclusion:一句话结论risk_flags[]:需要提示用户的风险事项,为空表示未发现当前风险记录subject:主体信息(items[]为label/value)checks[]:各项结果,含title、kind(risk风险类 /info信息类)、status、summary;
有内容时附 items[](label / value)、columns 与 rows 明细,或多张 tables[](含 title、columns、rows)
- 风险类
status:发现风险 / 未发现记录 / 暂未获取,或表示非当前记录的状态(如有历史记录、均已结案、已终止注销等) - 信息类
status:已获取 / 未发现记录 / 暂未获取,只用于展示,不计入风险等级 checks[].group:所属模块(纳税身份 / 欠税 / 税收违法 / 非正常户)- 「纳税人资格」为信息类:查到时
summary为纳税人资格与状态(如“增值税一般纳税人,状态正常”);status为「未发现记录」表示未查到一般纳税人资格登记 suggestions[]:结论与建议,逐条为可执行的处置建议failed_items[]:暂未获取到数据的项;generated_at:报告生成时间
请这样回复用户:
- 第一句给结论与风险等级,例如“深圳示例技术有限公司登记状态为存续,综合风险等级:未发现风险,为增值税一般纳税人,未发现欠税、税收违法与非正常户记录”。
- 先说明纳税身份(是否为增值税一般纳税人),再逐个模块说明;有
risk_flags时逐条醒目提示,并概括关键明细(如公布日期、欠税税种与金额、违法案件性质、认定机关),不要编造明细之外的内容。 - 非当前记录(如历史非正常户)如实说明,不要描述为当前风险;未查到一般纳税人资格不等于违法,只说明可能为小规模纳税人。
- 把
suggestions作为建议转述给用户,不要自行增加明细之外的判断。 failed_items不为空时,说明这些项本次暂未获取到,建议稍后另行核实,不要臆测其结果。- 告诉用户完整报告已生成,给出
REPORT_HTML的路径,提示可用浏览器打开查看或打印。能直接打开本地文件的智能体可以帮用户打开。 result为「未查到」时,告诉用户本次费用已自动退回,并请用户核对企业全称或统一社会信用代码。- 用通俗中文整理结果,不必逐条罗列原始 JSON 或技术字段;用户询问订单号(如咨询退款)时如实提供。
- 结尾注明:数据来源于公开信息,仅供参考,不构成税务意见。