← Back to skills
extension
Category: Data & AnalyticsNo API key required

物流决策看板

货代择优决策看板生成器。本技能实行"白名单式"强约束,只有在【用户上传了数据表 Excel】且【用户指令精确等于字符串"请生成对应决策看板"(一字不差,不模糊匹配)】这两个条件同时成立时才运行;任一不满足必须停止并仅输出报错文案"请输入标准指令:"数据表"+"请生成对应决策看板""。生成逻辑:按 Sheet 分页,以总时效天数/是否查验/单价三指标(权重前端实时调节,合计100%)加权择优,输出自包含 HTML 看板。

personAuthor: user_b189b08bhubcommunity

货代择优决策看板生成器

最终用户使用方式:安装本技能后,在对话中上传你的发货汇总表 Excel,并发送精确指令 请生成对应决策看板(一字不差),AI 会自动调用本技能脚本为你生成 HTML 看板。无需写代码、无需配置。

⚠️ 强制触发约束(最高优先级,必须先于任何读取/生成动作执行)

本技能实行白名单式强约束:只有同时满足下面两个必要条件才允许运行;任一不满足,必须立即停止、禁止执行任何读取或生成逻辑,且仅输出指定的报错文案。

关键规则——不可跨轮叠加:两个必要条件必须在同一轮对话中同时成立。每次提问均须独立满足两个条件;前序对话中已上传的文件不延续、不累积到本轮。例如:上一轮已上传 Excel 但提示词不符而报错,本轮仍须重新上传 Excel 并同时发送精确提示词,仅补发提示词(不再上传文件)同样判为不满足。

必要条件 1 —— 数据表(必须上传)

用户必须在本轮对话中上传 / 提供一个数据文件(Excel,.xlsx / .xls)。没有上传文件即视为不满足。前序对话已上传的文件不计入本轮——每轮都必须重新提供。

必要条件 2 —— 精确提示词(一字不差)

用户发送的纯文本指令必须精确等于字面字符串(不含外侧引号):

请生成对应决策看板
  • 不模糊匹配、不同义改写、不翻译、不增减任何字符。
  • 不允许前后空格、全角/半角差异、多字、少字、错别字。
  • 与上面字符串有任何差异(含多一个空格、少一个字、把"看板"换成"仪表盘"、结尾多一个句号等),一律视为不满足。
  • 判定方式:取用户指令文本后不做 trim / 不归一化,直接与 请生成对应决策看板 做 === 全等比较。
  • 反例(均不匹配,必须报错):请基于这个文件生成决策看板、帮我生成货代看板、请生成对应决策看板。(多句号)、 请生成对应决策看板(前有空格)、请生成决策看板、请生成对应的决策看板。
  • 跨轮叠加反例:上一轮已上传 Excel,本轮仅发送 请生成对应决策看板 而未重新上传文件 → 仍判为不满足(缺少本轮数据表),必须报错。

执行前校验流程(严格按顺序,每次提问独立判定)

每次提问都必须从第 1 步重新校验;前序对话已上传的文件不延续到本轮,不可"累积"满足条件。

  1. 本轮是否收到用户上传的数据文件?→ 否:跳到【报错】。
  2. 用户指令文本是否 === 精确等于 请生成对应决策看板?→ 否:跳到【报错】。
  3. 两者皆满足:方可调用 build_forwarder_dashboard.py 生成看板。

【报错】(任一条件不满足时,仅输出此句;禁止输出其他任何内容、禁止尝试生成)

请输入标准指令:"数据表"+"请生成对应决策看板"

何时使用

  • 用户提供跨境物流发货汇总表 Excel(每个 Sheet 代表一个渠道/国家分组,如 US-美森正班船卡派、CA-空运)。
  • 需求关键词:货代择优、渠道择优、按 Sheet 对比、权重实时调节、决策看板、老板看板。
  • 与通用 logistics-forwarder-dashboard 的区别:本技能按 Sheet 分页切换(不复合并所有数据)、以"船名+起飞日+到港日"一致为公平对比批次、三指标权重前端实时可调、货代/渠道双层择优。

输入数据格式

Excel 各 Sheet 需含以下列(列名允许被单引号包裹,脚本会自动剥离;列名支持常见别名模糊匹配,无需严格等于下表):

标准列(与常见别名对照):

  • 货代名称(别名:物流商 / 承运商 / 供应商 / 运输商 / 物流公司…)
  • 单号(别名:运单号 / 物流单号 / 提单号 / 跟踪号 / 订单号…)
  • 渠道(别名:运输渠道 / 运输方式 / 物流方式 / 发货方式…)
  • 船名(别名:船公司 / 航班号 / 车次 / 航线…)
  • 亚马逊仓库(别名:目的仓库 / FBA仓库 / 仓库…)
  • 起飞/开船/开车日(别名:起飞日 / 开船日 / 发货日 / 起运日…)
  • 到港日期(别名:到港日 / 到达日 / 入仓日 / 到货日…)
  • 签收入仓日(别名:签收日 / 签收时间 / 入仓签收日…)
  • 总时效天数(别名:时效天数 / 运输天数 / 时效 / 天数…)
  • 单价(别名:单价/kg / 价格 / 报价 / 运费单价 / 每千克价格…)
  • 是否查验(别名:查验 / 查验状态 / 清关状态…)
  • 目的国家(别名:国家 / 目的国 / 收货国家…)

匹配逻辑:先精确匹配标准名/别名,再按关键词包含兜底(如"运输方式"匹配渠道、"价格/kg"匹配单价)。至少含"货代名称"或"单号"之一才会处理该 Sheet。

执行步骤

运行本技能目录下的生成脚本(优先用 WorkBuddy 托管的 Python venv;若不存在则回退系统 python3/python,脚本会自动 pip install pandas openpyxl):

PY="$USERPROFILE/.workbuddy/binaries/python/envs/default/Scripts/python.exe"
[ -f "$PY" ] || PY="$(command -v python3 || command -v python)"
"$PY" "<技能目录>/build_forwarder_dashboard.py" "<Excel路径>" --output "<输出HTML路径>"
  • 不传 --output 时,默认输出到 Excel 同目录,文件名 <原名>_货代择优决策看板.html。
  • 可选 --template <模板路径>,默认用技能目录下的 dashboard_template.html。

脚本自动完成

  1. 读取所有 Sheet(跳过"说明/README/目录/索引"等非数据页)。
  2. 剥离列名外层引号,按"精确别名 + 关键词模糊"两层匹配所需列(支持常见别名,无需严格等于标准列名)。
  3. 清洗单价(提取首个数字,支持 11.88/kg、11.88元/kg 等)、解析日期。
  4. 总时效天数缺失时,依次用 签收入仓日-起飞日、到港日-起飞日 推算。
  5. 是否查验空值视为"否"。
  6. 以 Sheet 国家前缀决定"公平对比批次"分组键(货代/渠道择优即基于此):
    • CA / US:亚马逊仓库|船名|起飞日|到港日
    • UK / DE / FR / AU:亚马逊仓库|起飞日
    • 其他(无国家前缀):船名|起飞日|到港日
    • 同批次含 ≥2 个不同货代记为"可比批次"。
  7. 序列化 JSON 嵌入自包含 HTML 模板(无外部 CDN,纯 SVG 图表,离线可用)。

看板功能(前端实时计算)

  • 顶部 Sheet 分页标签,逐一手动切换,每个 Sheet 独立分析(与源 Excel 标签页一致)。
  • 三指标权重滑块(总时效天数 / 是否查验 / 单价),自动平衡合计 100%,拖动即重算所有得分与排名。
  • "样本数≥2才参与排名"开关(默认关):开启时仅让样本数≥2的货代/渠道进入排名,过滤小样本虚高;关闭则正常显示。
  • 推荐结论:综合给出本页最优货代、最优渠道,并内嵌趋势可视(时效 vs 单价散点按货代着色、各货代平均时效/单价柱状图)。
  • 货代择优:加权平均分排名 + 平均时效/单价/查验率,条形图直观对比。
  • 渠道择优:对每个货代比较其各渠道得分,★ 标最优渠道,条形图对比各渠道平均得分。
  • 对比批次明细:逐批次列出同船同起飞同到港的货代直接对比,★ 标批次得分最高者。
  • 明细数据:源数据全量呈现,可搜索/按货代/仓库筛选,得分随权重实时变化。

评分口径(务必向用户说明)

  • 得分 = 三指标加权(权重实时);每个指标在当前 Sheet 内做最小-最大归一化,方向均为"越低越好 → 得分越高"(时效低、查验少、单价低 = 得分高)。
  • 某条记录若缺失某指标(如时效为空),该指标不参与其加权,得分由其余可用指标按比例折算。
  • 公平对比前提:同船名 + 同起飞/开船/开车日 + 同到港日期,且同批次 ≥2 家货代才构成可比批次。

注意事项

  • 输出 HTML 完全自包含,浏览器直接打开即可,无需服务器;图表用原生 SVG,无 CDN 依赖,可长期离线使用。
  • 后续换新版 Excel:把新文件交给助手(或自行跑上面的命令)即可重新生成,无需改动模板。
  • 若某指标在某 Sheet 内全部相同(无法区分),该指标对所有人得分相同,不造成误判。