boxfill:DSH 装柜测算插件

前言

在 DeepSeek Harness(DSH)里做外贸或物流相关的 Agent,常见需求是:这票货要几个柜、运费怎么估、多单能不能拼在一起省柜。若把体积粗算和真实排柜混用,网页算一套、会话里 Agent 算另一套,结论会对不上。boxfill 把装柜、运费、拼单等逻辑收在同一套引擎里,并通过 DSH 插件把其中一部分能力直接暴露给会话内的 Agent;H5 网页端与 MCP 服务端共用 h5/js/core/ 下的实现,DSH 插件同样跑这份代码,三端在相同输入下应对齐。

下面介绍插件定位、能调哪些工具、如何安装,以及和完整 MCP 服务的分工。

这是什么

boxfill(装柜数量计算器)由维护者 01men 开源,许可证 MIT。项目一句话定位是:集装箱装载方案测算,并附带 MCP 服务——算清楚要几个柜、运费多少、怎么拼单更省。社区目录分类为「客户端」,目录页见 skillhub.cn/plugins/01men/boxfill,源码在 github.com/01men/boxfill。

仓库 README 标明:H5 给人用,MCP Server 给 Agent 用;同一套装箱算法、两个入口。DSH 通过仓库内声明的 dsh.bundle(cordis.patch.yml)作为插件安装,会话里可用的是带 boxfill_ 前缀的一组工具,底层与网页、MCP 服务端一致。线上体验地址为 boxfill.ybkkasi.com,工具页在 boxfill.ybkkasi.com/app.html。

核心功能

装柜与约束

装箱引擎采用分层码放加矩形块,面向「从柜门往里码、一层铺满再往上堆」的真实操作,而非通用 3D Bin Packing。README 列出多起点策略(体积优先、重量优先、整除优先、混装亲和等)及门框、限重、配重等硬约束;限重取箱型、航线、船司、拖车四层最小值并在方案中留痕。

主入口工具 plan_containers(MCP)在 DSH 中对应 boxfill_plan_containers,返回柜型、柜数、每柜 SKU 分布、体积与重量利用率、甩单(spill)、违规(violations)等。单位约定为 cm / kg / CBM,与 H5 一致,不要自行换成 mm。

运费、拼单与校验

  • calc_freight → boxfill_calc_freight:四个重量、渠道比价、箱型比选、附加费等。
  • suggest_consolidation → boxfill_suggest_consolidation:拼单建议与费用分摊。
  • check_fits → boxfill_check_fits:箱规能否装进指定柜型、门框与超长等。
  • list_containers → boxfill_list_containers:柜型库、内尺寸、限重等。

订单与箱规查询

  • list_orders → boxfill_list_orders
  • get_order_boxes → boxfill_get_order_boxes:订单展开为箱规清单,汇总体积与抛比。

完整 MCP 服务还提供 gen_docs(单据)、upsert_sku / import_pi(建档与 PI/CSV 导入)、list_skus、analyze_photo(实验性识图)等共 12 个工具;仓库测试为 299 条通过。DSH 插件只开放纯计算与查询的 7 个工具,不开放建档类:upsert_sku、import_pi 会写库,README 说明主数据应通过 MCP 服务端持久化,而不是在单次 DSH 会话里写入内存库后丢失。

安装与启用

DSH 生态理念是「一切皆插件」;skillhub.cn 上的插件目录是社区站点,与 DeepSeek / 幻方无官方从属关系。安装前建议浏览仓库源码与 MIT 许可证:插件以当前 DSH 进程权限运行,只安装你信任的来源。

官方安装命令(来自仓库 README「装进 DeepSeek Harness」一节):

dsh plugin add github:01men/boxfill

若需本地跑完整 MCP 或 H5,README 要求 Node.js ≥ 22.5(使用 node:sqlite),在克隆后的仓库内:

npm install
npm test
npm start

npm start 后本地工具页为 http://localhost:5173/h5/app.html。MCP stdio 接入示例:

{"mcpServers":{"boxfill":{"command":"node","args":["<仓库绝对路径>/server/stdio.js"]}}}

装好后可用 npm run mcp:probe 自检 12 个 MCP 工具;远程或多端共享可用 npm run mcp:http(默认 127.0.0.1:8787/mcp)。

典型用法

在 DSH 会话中,可按 README 给出的 MCP 工作流程的查询与计算部分操作(建档与导入改走 MCP 服务端):

  1. 先 boxfill_list_containers 查柜型与限重。
  2. 再 boxfill_plan_containers 排柜——柜数、利用率、甩单与违规以该结果为准。
  3. 需要运费时用 boxfill_calc_freight;合并订单用 boxfill_suggest_consolidation。
  4. 已有订单数据时用 boxfill_list_orders、boxfill_get_order_boxes 展开箱规。

plan_containers 类返回的结构在 README 中有实测 JSON 示例,包含 boxType、containers、strategy、totals、perContainer、spill、violations 等字段,便于 Agent 直接解析。

需要人类核对或演示时,可打开 H5「算 / 单 / 数」三屏流程(另有一屏实验性「测」);拼单建议可一键跳回「算」做真实排布。Agent 侧与 H5 共用引擎,应避免在插件外再做一套体积估算替代 boxfill_plan_containers。

适用场景与注意

适合谁:在 DSH 里做装柜数量、利用率、运费粗算、拼单可行性、箱规是否可装等对话式测算的开发者;需要和 boxfill.ybkkasi.com/app.html 或自建 MCP 结论一致的场景。

注意:

  • 尺寸或毛重缺失时,入口会拦截并提示补齐,不要猜测填入。
  • 完整 MCP 里的 analyze_photo 为实验能力,输出仅供人工核对,不宜作为结算依据;DSH 插件未暴露该工具。
  • 主数据持久化、PI 导入、单据生成等,请使用仓库 MCP 服务端或 H5「数」屏,而非仅依赖 DSH 插件的 7 个工具。
  • H5 为 ES 模块,不能用 file:// 直接打开;需 npm start 或静态服务器。

结尾

boxfill 把装柜测算收进同一套 h5/js/core/ 引擎,DSH 插件通过 dsh plugin add github:01men/boxfill 接入后,会话内 Agent 可调用 7 个 boxfill_* 工具完成排柜、运费、拼单与查询,并与网页端、MCP 服务端在相同约定下保持一致。更多说明与 12 个 MCP 工具表见 GitHub README,目录页见 skillhub.cn/plugins/01men/boxfill。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜