前言¶
在 DSH(DeepSeek Harness)里做插件或工具仓库时,发布环节往往要手工整理 hero 图、特性列表和双语文案。README 里容易混入星标、性能倍数、「企业级」等无法在仓库内核实的表述,一旦写进对外素材,后续很难追溯哪句来自哪一行。
下面介绍的 dsh-launch-card(维护者 dingchenhui0618-arch)把输入限定为本地的 README.md、package.json 与可选截图,生成 SVG、HTML 与中英文案;写出前用规则表删掉无法从本仓库产物证实的断言。它同时提供 CLI 与 DSH 插件形态:Web GUI 对话视图里多一个「发布卡片」面板,可在会话里重新生成并查看判定。分类为工作流;社区目录见 SkillHub 插件页(与 DeepSeek / 幻方无官方从属关系,仅为社区收录站点)。
这是什么¶
dsh-launch-card 是一个发布卡片生成器:从指定本地仓库目录读取真实产物,渲染 hero 图、特性网格与双语发布文案,并在输出前对断言做 lint。核心约束是事实优先——项目名、版本、license、简介、特性、安装片段均来自 README.md 与 package.json;缺失字段不渲染、不补占位。图像产物为 SVG 与自包含 HTML,不合成 PNG;package.json 的 dependencies 为空,仅使用 Node 内置模块。当前版本 0.1.0,许可证 MIT,要求 Node >= 20。
核心功能¶
生成产物¶
一次运行可得到下表所列文件(支持 --theme dark,light):
| 文件 | 内容 |
|---|---|
hero.dark.svg / hero.light.svg |
项目名、版本、一句话简介、license |
features.dark.svg / features.light.svg |
特性网格,逐条带来源行号 |
copy.zh.md / copy.en.md |
卖点、特性、安装片段、行动号召与来源标注 |
card.html |
自包含预览:hero、特性网格、事实表、安装片段、截图引用、来源表、双语文案 |
lint-report.json |
命中规则的条目及被删内容,含 why |
manifest.json |
输入与输出文件的 sha256、生成时间、工具版本 |
summary.json |
结构化事实与统计,供脚本消费 |
可追溯与双语¶
summary.json 中每条特性为 {text, source:{file,line}};文案里跟「来源: README.md#L42」形式标注;card.html 含来源表。没有来源的句子不会被渲染——渲染器只消费带来源的结构化模型。
copy.zh.md 与 copy.en.md 由同一份模型渲染,条目数一致;骨架文案(小节标题、表头等)中英各写一份,事实文本从仓库原样引用,不做机翻。英文文件中的正文仍保持仓库原文语言(中文仓库则正文仍为中文),仅框架为英文——这是 README 中写明的产出边界。
断言 lint¶
规则实现在 src/lint.js。无法从本仓库产物证实的说法在写出前被拦下,命中整行不写入产物,理由写入 lint-report.json,措辞统一为「无法从本仓库产物证实」。规则摘要如下:
| rule | 拦什么 |
|---|---|
stars |
星标 / 收藏量 |
popularity |
用户量、下载量、MAU 等 |
sla |
SLA、uptime、可用性百分比(除非存在 SLA.md 等约定文件) |
performance-claim / performance-numbers / latency-claim |
性能对比、带数字的耗时、吞吐 / RPS(须有本仓库 benchmark 产物) |
ranking |
#1、leading、第一 等排名表述 |
endorsement |
奖项、媒体报道等背书 |
business-claim |
融资、营收、定价承诺 |
readiness-claim |
production-ready、battle-tested、企业级(须满足 CI+测试目录或 Docker/Makefile 等条件才放行) |
MIT、版本号、dependencies 为空、测试目录里可数的用例数等能在仓库内找到依据的内容不会被拦。README 注明两处固定放宽:标题行若点名某条规则则整行跳过;以及元语句标记后的行跳过——正常要写进产物的文案不走这两条路径。
可复现输出¶
manifest.json 记录每个输入与输出的 sha256。使用 --now <ISO> 或环境变量 SOURCE_DATE_EPOCH 可使整次输出字节一致。
DSH 插件形态¶
- host 半区:挂载
/dsh-launch-card路由。 - client 半区:在对话视图注册「发布卡片」Tab,便于在 GUI 里重新生成并查看判定。
插件骨架参考本地 dsh-warden 的布局与构建方式;本插件无 LLM、无 tools/pre-execute 钩子,实质为纯函数生成器加 lint 规则表。
安装与启用¶
CLI 未发布到 npm,可在克隆仓库后直接运行(资料原文如此说明)。
仅 CLI:
node scripts/launch-card.mjs . --out examples
作为 DSH 插件加入 profile:
dsh plugin --profile <你的 profile> add <本仓库路径或 github:dingchenhui0618-arch/dsh-launch-card>
安装前请自行阅读仓库源码与 LICENSE,确认符合你的合规要求。插件在 当前 dsh 进程权限 下运行,添加路径或远程引用等同于信任该代码。
典型用法¶
命令行接口:
node scripts/launch-card.mjs <仓库目录> --out <输出目录> [--lang zh,en] [--theme dark,light] [--now <ISO>]
对本插件仓库自身生成示例产物(开发文档中的可复现命令):
node scripts/build.mjs
node --test
node scripts/launch-card.mjs . --out examples --now 2026-01-01T00:00:00.000Z
examples/ 为对上述仓库跑一次 CLI 的真实输出,非手写静态页。
适用场景与注意¶
适合: 需要为 Git 仓库快速产出可 diff、可复现的发布素材(SVG + Markdown + HTML),且希望对外文案与 README / package.json 对齐、并自动剔除无法在仓库内证实的营销句式的团队或个人。
不适合或需知悉的边界(均来自 README「它不做什么」):
- 不合成 PNG;截图仅从 README 或
screenshots.json引用进card.html。 - SVG 换行依赖字符宽度估算,未承诺跨浏览器字体效果。
- 不替你核实仓库外的真实世界事实,只保证产物内不出现「本仓库无法证实」的断言。
- 不保证英文正文地道;若要英文事实译文,需在仓库
docs/等位置由人提供(当前工具未实现该流程)。
链接与许可¶
- 社区目录:https://www.skillhub.cn/plugins/dingchenhui0618-arch/dsh-launch-card
- 源码与文档:https://github.com/dingchenhui0618-arch/dsh-launch-card
- 许可证:MIT
经过上面的步骤,你可以在 DSH 工作流里把「发布卡片」和本地仓库事实绑在一起:生成、预览、lint 报告同目录落盘,减少手工攒素材时混入无法追溯断言的风险。