返回 Skill 列表
extension
分类: 效率与办公无需 API Key

local-tariff-monitor

外贸企业(尤其跨境电商、出口制造)每天都在承受关税政策变动带来的成本冲击,有以下几个痛点: 1、信息分散:关税公告散落在各个主要目的国(美国联邦公报、欧盟 EUR-Lex等)的官方站点。 2、命中难:公告里的 HS 编码成千上万,真正影响企业的可能只有几个,需要拿「企业自己的报关商编」去逐条比对。 3、分析缺:需要量化「每件产品成本涨多少、利润率跌多少」,并给出「提前出货还是换供应商」的行动建议。 市面上没有现成的、开箱即用的、纯本地运行的关税监控 Skill。于是我把「政策抓取 → HS 编码提取 → 企业编码匹配 → 成本影响计算 → 本地 AI 分析 → 钉钉推送」打包成一个可被 Agent 反复调用的自包含 Skill,并严格遵循 [local-ai-skill-authoring]参考标准。

person作者: tofree1208hubgithub

关税监控 Skill(local-tariff-monitor)

监控全球 6 个主要目的国(美国/欧盟/日本/加拿大/澳洲/英国)关税政策变动,提取 HS 编码、税率、生效日期、涨跌方向,仅当变动命中企业 HS 编码时才推送,并用本地 OpenVINO 大模型生成影响分析与行动建议。全流程本地运行,无需云端模型。

架构

Client/Server 模型服务部署(符合 local-ai-skill-authoring 参考标准):

Host (Qoder / WorkBuddy / TRAE Work 等)
   │ 调用 scripts\run.ps1
   ▼
run.ps1 ──► client.py ──(named pipe \\.\pipe\local-tariff-monitor)──► server.py
                                                                      │ 常驻 Qwen2.5-3B-INT4
                                                                      ▼
                                                              关税分析(本地推理)

Usage

scripts\run.ps1唯一对外入口——不要直接调用其他脚本。

关税监控跑批

| 意图 | 命令 | | --- | --- | | 首次建立基线(不推送) | scripts\run.ps1 --baseline | | 干运行验证 | scripts\run.ps1 --dry-run | | 正常运行(抓取→匹配→推送) | scripts\run.ps1 | | 运行并生成日报 | scripts\run.ps1 --report | | 配置向导 | scripts\run.ps1 --setup |

本地模型服务(Client/Server)

| 意图 | 命令 | | --- | --- | | 查看服务状态 | scripts\run.ps1 status | | 直接对话(测试本地模型) | scripts\run.ps1 chat "请解释什么是关税" | | 分析命中变动(JSON) | scripts\run.ps1 analyze <changes.json> | | 关闭服务 | scripts\run.ps1 shutdown |

Important:

  • scripts\run.ps1 是唯一受支持的接口。
  • 首次调用会加载本地模型(冷启动约 30~60 秒,取决于 GPU/CPU);加载完成后常驻,后续调用秒回。
  • 模型加载超时(默认 600s)会返回退出码 3,稍后重试或先 scripts\run.ps1 status 确认。
  • 本 skill 不依赖云端模型,永不回退到云服务
  • 模型需已本地下载(见下方「模型下载」)。

输出解读

  • 推送文本含:目的国 / 标题 / HS 编码 / 命中我方编码 / 税率(涨跌方向)/ 生效日期 / 涉及 SKU / 成本影响 / 🤖 AI分析 / 🎯 AI行动建议。
  • data/changes/push_*.txt 为落盘推送原文;data/reports/report_*.txt 为日报/周报。

失败处理

| 退出码 | 含义 | | --- | --- | | 0 | 成功 | | 1 | 一般错误(参数错误 / 模型初始化失败) | | 2 | 连接/通信错误 | | 3 | 模型加载中(稍后重试) |

配置

config/config.yaml(从 config.example.yaml 复制)关键项:

  • datasource.typemysqlexcel(企业 HS 编码数据源)
  • notify.modecli_user / webhook / none(钉钉推送)
  • ai.enabled:是否启用本地 AI 分析
  • ai.model_path:本地模型目录(留空用 info.json 的默认路径)
  • ai.deviceGPU / CPU / 留空自动

环境变量可覆盖:TARIFF_DS_TYPE / TARIFF_MODEL_PATH / TARIFF_AI_ENABLED / TARIFF_AI_DEVICE / TARIFF_NOTIFY_MODE 等。

模型下载

本地模型为 OpenVINO IR 格式(Qwen2.5-3B-Instruct INT4 对称量化,约 1.8GB):

huggingface-cli download EmbeddedLLM/Qwen2.5-3B-Instruct-int4-sym-ov `
  --local-dir C:\ai\OpenVINO\qwen2.5-3b-int4-ov

info.jsonmodels[0].model_path 指向该目录;亦可用环境变量 TARIFF_MODEL_PATH 覆盖。

定时运行

建议每天早晚各跑一次(cron / Windows 计划任务),见 SKILL.md 旧版示例;入口统一为 scripts\run.ps1

注意事项

  • 首次运行先 --baseline 建立基线,避免推送全部历史变动。
  • 所有数据文件(seen.json / raw/ / changes/ / reports/)都在 skill 的 data/ 目录内。
  • 本地模型加载需约 6GB 内存(info.jsonmem_need_gb)。