前言¶
在 DeepSeek Harness(DSH)里做内容或出图类技能时,文件落盘后往往还要回答一个问题:这张图能不能发到指定平台、差在哪一项。平台报错常只说「不符合要求」,不给出像素差多少;AI 出图默认尺寸(例如 1024×1024)也常达不到小红书等渠道的宽度下限。另有一类问题更隐蔽:dpi 元数据达标,但按公式算出的实际印刷宽度仍不够——改 dpi 数字不会增加像素。
下面介绍社区插件 publish-size-check(维护者 Stephen-pc):用内置规格库对照目标平台的几何要求,输出能否发布、哪一项过不了,以及可执行的修法结论。判定逻辑在 Python 脚本中,DSH 侧通过技能 provider 挂载同一份 SKILL.md,与命令行共用一套检查。
这是什么¶
publish-size-check 的定位是「发布尺寸检查」:对照目标平台规格,检查图片能不能发、哪一项参数过不了。实现上强调零依赖(Python 端纯标准库,不依赖 Pillow)、原件只读、结果确定;只查几何参数,不查内容合规、版权、二维码等。
规格库覆盖 10 个平台 / 20 个槽位 / 46 个可解析名称(含微信公众号、小红书、哔哩哔哩、知乎、微博、抖音、微信视频号、学术投稿、印刷交付、甲方交付等)。平台名支持 id、中文名、别名与模糊匹配(如 红书 → 小红书)。每条规格在数据里标注可信度三级:verified(已交叉印证)、community(社区共识)、experience(经验值,需复核)。
核心功能¶
单图对照平台规格¶
对指定文件读取像素尺寸、宽高比、dpi、文件体积与格式等几何相关项,与目标槽位要求比对。输出分三级:[X] 错误、[!] 警告、[i] 提示;每条带具体修法,并给出一句行动结论,例如「救不了:像素不足,必须从源文件按更大尺寸重新导出(放大无效)」或「能救:转换格式即可」。
dpi 与实际印刷宽度¶
除像素宽高外,按 像素数 ÷ dpi × 25.4 = 实际印刷宽度(mm) 判定是否满足印刷类要求,避免「dpi 字段合格但印出来尺寸不够」被误放行。
多图连发与组级一致性¶
一次传入 ≥2 个文件时,在单张检查之外追加「整组是否整齐」:例如尺寸不统一时会点出与多数不一致的那一张,而不是笼统说「多张不一致」。
在 DSH 中作为技能¶
安装后技能名为 publish-check。触发方式与仓库内 Agent Skill 一致:用户给出文件并问到发布尺寸、会不会糊、平台要多大、dpi 是否够等;或在出图流程落盘且上下文提到发布平台时,可按 SKILL.md 中的协议做寄生自检——通过则简短带过,有问题再展开并建议按规格重出。
宿主执行检查时,实际命令由 scripts/spec.py 完成;DSH 的 lib/index.js 仅负责把技能挂到 ctx.skills,并在 get() 时处理 {skill_base} 占位符与 dsh 的 resourceBase 约定,使模型看到的是可执行的相对路径,例如:
python scripts/spec.py --check cover.png --target 小红书
安装与启用¶
在已安装 DeepSeek Harness 的环境中,按仓库 README 给出的 dsh 安装方式添加插件(web profile 示例):
dsh plugin --profile web add github:Stephen-pc/publish-size-check
装好后 publish-check 会出现在技能目录,触发方式与直接复制 SKILL.md 到本地 skills 目录相同;插件形态便于后续升级与团队通过配置分发。npm 包声明 engines.node 为 >=18;运行 spec.py 需要本机 Python 3.8+,脚本本身不安装第三方 Python 包。
插件以当前 dsh 进程权限运行,安装前建议在 GitHub 查看源码与 MIT 许可证,确认规格库与调用方式符合你的环境。社区目录页:skillhub.cn 插件页(独立社区站点,与 DeepSeek / 幻方无官方从属关系)。
也可从 dsh-market 侧的一键安装流程安装(列表收录于 awesome-dsh-plugin),与上述 GitHub 源指向同一仓库。
典型用法¶
下列示例来自项目 README,可在克隆或安装后的包根目录执行(DSH 内由技能引导时,工作目录应对齐包的 resourceBase)。
查看某平台要求:
python scripts/spec.py --spec 小红书
检查单张并指定平台:
python scripts/spec.py --check cover.png --target 小红书
不指定平台时扫描全部社媒相关槽位:
python scripts/spec.py --check cover.png
多图与 JSON 输出:
python scripts/spec.py --check 1.png 2.png 3.png --target 小红书
python scripts/spec.py --check cover.png --target 小红书 --json
列出规格库收录的平台:
python scripts/spec.py --list
一键演示五种典型场景:
python demo.py
若将项目作为 Python 包安装,也可使用入口命令 publish-size-check;自定义规格库可用环境变量 PUBLISH_SIZE_CHECK_SPEC 指向本地 JSON。
插件包自检(验证 dsh 接线与路径):
node tools/dsh-selftest.mjs
适用场景与边界¶
适合:自媒体与多平台发稿前的尺寸/dpi/比例/体积/格式自检;学术或印刷交付前的几何参数核对;在 DSH 工作流里出图后自动或按需体检,减少发出去才被平台拒绝的往返。
不适合:内容审核、侵权、联系方式、行业资质等——工具在 README 中明确列出的「不查」项,范围刻意收窄以保持零依赖与确定性。
维护者 README 中举例:常见 AI 出图尺寸 1024×1024 投小红书方版封面会因宽度低于 1080px 不通过;这类结论依赖内置 references/platforms.json,其中 verified 项要求填写来源,其余级别需结合你的实际发布渠道自行判断。
结尾¶
publish-size-check 把「能不能发、差哪一项、现在该干什么」收敛到一条可复现的检查命令和一套技能触发协议,DSH 侧只做薄接线,判定始终落在 scripts/spec.py。需要规格细节或二次开发时,以仓库文档与源码为准。