dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
AI 日报封面工作台 | DeepSeek Harness 全页插件:169 个 AI 模型图标、无限画布拖拽编辑、RSS 生成、TTS 配音、HyperFrames 视频渲染
AI 日报封面工作台 — DeepSeek Harness 全页插件 + 完整 CLI。
用 AI 模型图标、分类卡片、数据块拼出像素级对齐 AI 日报 Skill 版式的封面与新闻页。 三种驱动方式:图形界面、命令行、Agent 工具,走的是同一套渲染引擎,输出完全一致。
能力 · 说明 封面工作台 · 无限画布、多画板、拖拽缩放旋转、吸附对齐 16 种元素 · 日期水印 / 顶栏 / 元信息行 / 大标题 / 副标题 / 分隔线 / 分类卡 / 眉标 / 强调条 / 正文 / 导语 / 要点列表 / 数据块 / 字幕 / 标签带 / 页脚 图标库 · 171 个 AI 模型、1432 个变体、109 个厂商分组 打散排布 · 正方形 / 长方形 / 圆形 / 菱形混合随机排布 像素级对齐 · 字号、字距、行高、内边距全部取自 AI 日报 Skill 的样式表 导出 · 单页 HTML、多页 HTML、PNG(2×/3×/4×) CLI · 全部功能可在终端调用,退出码可组合进流水线 Agent 工具 · 5 个 DSH 工具,Agent 无需 shell、无需浏览器即可驱动
cp -r dsh-cover-studio ~/.dsh/profiles/desktop/node_modules/@local/dsh-cover-studio
# 重启 DSH,侧边栏出现「封面工作台」# 从仓库直接运行
node dsh-cover-studio/lib/cli.js doctor
# 或全局安装
cd dsh-cover-studio && npm link
cover-studio doctor依赖 · 必需 · 说明 Node.js ≥ 22 · ✅ · 用了 ESM 和 fetch Chrome / Edge · 仅导出 PNG · 自动探测;找不到时设 CHROME_PATH
DSH 侧边栏 → 封面工作台。
┌─────────────┬──────────────────────────┬─────────────┐
│ 模型图标 │ │ 属性 │
│ 文字 │ 无限画布 │ 位置尺寸 │
│ 排布 │ (多画板 / 吸附 / 缩放) │ 外观 │
│ 图层 │ │ 文字 │
└─────────────┴──────────────────────────┴─────────────┘框选规则(两套互不干扰):
鼠标落点 · 框选对象 · 判定方式 封面卡片内 · 卡片里的图标和文字 · Photoshop 语义:碰到图形的不透明像素就选中 画布点状背景 · 画布上的卡片节点 · 相交判定
图标的透明边距不算命中——这是通过采样 alpha 通道实现的,见 架构。
# 检查环境
cover-studio doctor
# 列出图标库
cover-studio icons --vendor deepseek
# deck → 单页 HTML + PNG
cover-studio build deck.json --png cover.png --scale 2
# deck → 多页滚动 HTML(封面 + 每页新闻 + 片尾)
cover-studio deck deck.json -o all.html
# 打散排布
cover-studio layout scene.json --mode scatter --jitter 0.5
# 查看场景几何
cover-studio inspect scene.json插件启动时向 DSH 注册 5 个工具,Agent 可以直接调用:
cover_studio_build deck → HTML,返回元素数与路径
cover_studio_deck deck → 多页 HTML
cover_studio_layout 重新排布 scene(scatter/grid/row/align)
cover_studio_inspect scene 几何摘要
cover_studio_icons 查询图标库Agent 调用示例:
const r = await tools.cover_studio_build({
deck: { brand: 'AI 日报', date: '2026-10-23', news: [...] },
out: '/tmp/cover.html'
});
// → { ok: true, elements: 14, path: '/tmp/cover.html', bytes: 8721 }cover-studio <command> [options]
COMMANDS
list [--dir templates] 列出内置 HTML 模板
icons [--vendor <name>] [--json] 列出 AI 模型图标库
build <deck.json> [-o out.html] deck → scene → 单页 HTML
[--png out.png] [--scale 2] …并用无头 Chrome 栅格化
render <deck.json> -o out.png deck → PNG
deck <deck.json> [-o out.html] deck → 多页滚动 HTML
layout <scene.json> --mode <m> 重新排布场景
mode: scatter | grid | row | align
scatter: --shapes square,rect,circle,diamond --jitter .3 --rotate 12
grid: --cols 3 --gap 24
row: --gap 24
align: --how left|centerX|right|top|centerY|bottom
inspect <scene.json> 打印元素几何表
doctor 报告能力状态退出码:成功 0,失败 1。可直接用于 && 链或 CI。
{
"brand": "AI 日报",
"brandLatin": "DAILY AI",
"date": "2026-10-23",
"tone": "paper",
"topic": "模型 · 产品 · 安全 · 政策",
"cover": { "headline": "彭博社:DeepSeek 融资约 1000 亿元人民币" },
"news": [
{
"category": "要闻",
"timecode": "09:14",
"headline": "彭博社:DeepSeek 融资约 1000 亿元人民币",
"entity": "DeepSeek",
"summary": "导语段落…",
"bullets": ["要点一", "要点二"],
"metrics": [{ "value": "816", "unit": "B", "label": "总参数量" }]
}
]
}固定分类顺序:要闻 / 模型发布 / 开发动态 / 产品应用 / 技术与洞察 / 行业动态。
参数 · 类型 · 必需 · 说明 deck · object · ✅ · deck 对象 out · string · · 输出 HTML 路径 ratio · 16:9 / 9:16 / 3:4 · · 画布比例
返回:{ ok, elements, path, bytes, ratio }
参数 · 类型 · 说明 deck · object · deck 对象 out · string · 输出路径 gap · number · 页间距,默认 24
返回:{ ok, pages, path, bytes }
参数 · 类型 · 说明 scene · object · 含 elements 数组 mode · scatter / grid / row / align · 排布方式 shapes · string[] · scatter 专用 jitter · number · scatter 专用,0 整齐 … 0.5 混乱 rotate · number · scatter 专用,最大旋转角度 cols / gap / how · · 其他模式
返回:{ ok, mode, moved, scene }(scene 已就地更新)
返回:{ ok, count, bounds, elements[] }
参数 · 说明 query · 按模型名模糊匹配
返回:{ ok, models, icons: { 模型名: [变体…] } }
正方形 / 长方形 / 圆形 / 菱形混合,带随机旋转。
171 个模型 · 1432 个图标 · 109 个厂商分组每个模型带 7–20 个变体:
变体 · 用途 symbol-color · 彩色标志,浅色底 symbol-black / symbol-white · 单色标志 symbol-trans-color / -black · 透明底 wordmark-color / -black · 字标 tile-light / tile-dark · 方形磁贴
cover-studio icons # 全部
cover-studio icons --vendor deepseek # 按厂商
cover-studio icons --json # 机器可读lib/
├── index.js Host 半:工具注册 + HTTP 路由 + Skill 桥
├── client.js Browser 半:完整编辑器(含内联图标)
├── cli.js 命令行入口
└── shared/ 两侧共用的纯函数
├── layout.js boundsOf / alignBoxes / gridArrange / scatterArrange
├── scene.js deckToScene / buildPageElements
└── render.js renderPage / renderDeck(静态 HTML)关键设计:lib/shared/ 是纯函数,不碰 DOM、不碰 React、不碰 Node API。 浏览器、CLI、Agent 工具三条路径都调用它,所以同样的 deck 永远得到同样的几何。
图标的 `` 包围盒大部分是透明边距。实测 DeepSeek 图标:
尺寸 128×128
实际图形: x 9.4%..90.6% y 19.5%..78.9%
有效像素: 仅占包围盒 25.4%所以命中测试不用包围盒,而是把图标画到 64×64 canvas 上、扫描 alpha 通道、 求出紧致矩形,缓存成 { x0, y0, x1, y1 } 分数。这样擦到图形边缘就选中, 擦到透明边距不选中——和 Photoshop 一致。
全部取自 AI 日报 Skill 的样式表,不是估算值:
变量 · 值 · 用途 --pad-x · 116px · 左右页边距 --pad-t · 64px · 上边距(封面 72px) --strip-h · 52px · 标签带高度 --cap-h · 62px · 字幕牌高度 --strip-b · 44px · 标签带距底 --cap-b · 116px · 字幕距底 --foot-b · 204px · 页脚距底 --body-b · 258px · 正文区距底
字体栈:
--f-serif: "Noto Serif SC","Source Han Serif SC",Georgia,serif
--f-display: "Playfair Display","Noto Serif SC",Georgia,serif
--f-sans: "Noto Sans SC",system-ui,sans-serif
--f-mono: "IBM Plex Mono","JetBrains Mono",Consolas,monospacenpm run check # 语法检查全部模块
npm run doctor # 环境自检
npm run cli -- icons --vendor openai文件 · 说明 lib/client.js · 编辑器主体,图标库内联于此 lib/shared/layout.js · 排布算法,可独立测试 lib/shared/scene.js · deck → 元素列表 lib/shared/render.js · 元素列表 → HTML
MIT