DeepSeek HarnessDSH插件:把 pptwise 的 DSH 原生前端IR v5、24…
31.4/100
综合分
2
GitHub 星标
1,078
npm 周下载
—/5
用户评分
数据截至 2026/10/9 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-ppt-flashmadenpm 源 · dsh-ppt-flashmade 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · tool
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 26 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-ppt-flashmade @ 0.7.1
✓Node 引擎要求 >=22.19 · 基线 Node 22.19 满足
✓dsh CLI 依赖要求 >=0.1.2-rc.1 <0.1.3 || >=0.1.3-rc.1 <0.1.4 || >=0.1.4-rc.1 <0.1.5 || >=0.1.5-rc.1 <0.1.6 || >=0.1.6-rc.1 <0.1.7 || >=0.1.7-rc.1 <0.1.8 || >=0.1.8 <0.2.0-0 || >=0.2.0-rc.1 <0.3.0-0 · 最新 0.2.1-rc.2 兼容
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/20 00:16:29
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 65 处,展示前 45 条)
- 读取本地文件dsh/index.js:95
skill = parseSkillMarkdown(readFileSync(SKILL_FILE_URL, 'utf8')) - 发起网络请求dsh/client.js:734
fetch('/dsh-ppt/preview/' + props.previewId + '/pptx') - 发起网络请求dsh/client.js:1071
fetch(previewBundleUrl(previewId)) - 发起网络请求dsh/client.js:1138
fetch(previewBundleUrl(previewId)) - 发起网络请求dsh/client.js:1449
fetch(PROPOSE_ROUTE + '/' + id) - 执行外部命令来自配置/变量dist/cli.js:138
const result = spawnSync(command, [...args], { - 读取本地文件dist/cli.js:351
exists: (path) => existsSync(path), - 读取本地文件dist/cli.js:354
return statSync(path).isDirectory(); - 读取本地文件dist/cli.js:361
return readdirSync(path); - 读取本地文件dist/cli.js:368
return readFileSync(path, "utf8"); - 写入本地文件dist/cli.js:373
writeText: (path, text) => writeFileSync(path, text, "utf8"), - 读取本地文件dist/cli.js:376
return readFileSync(path); - 写入本地文件dist/cli.js:381
writeBytes: (path, bytes) => writeFileSync(path, bytes), - 写入本地文件dist/cli.js:382
rename: (from, to) => renameSync(from, to), - 删除本地文件递归dist/cli.js:383
removeTree: (path) => rmSync(path, { recursive: true, force: true }), - 写入本地文件dist/cli.js:384
mkdirp: (path) => mkdirSync(path, { recursive: true }) - 读取本地文件dist/cli.js:407
const readText = options.readText ?? ((path) => readFileSync(path, "utf8")); - 写入本地文件dsh/preview-tool.js:670
await mkdir(root, { recursive: true, mode: 0o700 }) - 写入本地文件dsh/preview-tool.js:671
await mkdir(dir, { mode: 0o700 }) - 写入本地文件dsh/preview-tool.js:673
await writeFile(join(dir, OWNER_MARKER), JSON.stringify({ tool: TOOL_NAME, created: Date.now() })) - 删除本地文件递归dsh/preview-tool.js:684
await rm(dir, { recursive: true, force: true }).catch(() => {}) - 删除本地文件递归dsh/preview-tool.js:700
await rm(dir, { recursive: true, force: true }).catch(() => {}) - 写入本地文件dsh/preview-tool.js:810
await writeFile(scratch, JSON.stringify(record)) - 写入本地文件dsh/preview-tool.js:811
await rename(scratch, join(dir, RECORD_FILE)) - 写入本地文件dsh/preview-tool.js:825
await mkdir(dir, { recursive: true, mode: 0o700 }) - 读取本地文件dsh/preview-tool.js:844
raw = await readFile(path, 'utf8') - 读取本地文件dsh/preview-tool.js:940
return (await stat(path)).isDirectory() ? 'directory' : 'other' - 读取本地文件dsh/preview-tool.js:961
return (await stat(path)).isDirectory() - 读取本地文件dsh/preview-tool.js:969
return (await stat(path)).isFile() - 读取本地文件dsh/preview-tool.js:1019
const manifest = JSON.parse(await readFile(join(toDir, MANIFEST_FILE), 'utf8')) - 读取本地文件dsh/preview-tool.js:1035
const raw = await readFile(target, 'utf8') - 读取本地文件dsh/review-tool.js:160
text = await readFile(path, 'utf8') - 写入本地文件dsh/review-tool.js:259
await mkdir(dirname(reviewFile), { recursive: true }) - 写入本地文件dsh/review-tool.js:260
await writeFile(reviewFile, `${JSON.stringify(record, null, 2)}\n`) - 读取本地文件dsh/review-tool.js:272
const manifest = JSON.parse(await readFile(join(deckDir, '.dsh-ppt', 'render', engine.engine, 'manifest.json'), 'utf8')) - 读取本地文件dsh/review-tool.js:281
const data = await readFile(file) - 写入本地文件dsh/propose-tool.js:250
await mkdir(home, { recursive: true }) - 写入本地文件dsh/propose-tool.js:251
await writeFile(payloadPath(id), `${JSON.stringify(payload, null, 2)}\n`) - 读取本地文件dsh/propose-tool.js:297
payload = JSON.parse(await readFile(payloadPath(id), 'utf8')) - 读取本地文件dsh/propose-tool.js:319
const bytes = await readFile(file) - 读取本地文件dsh/pptx-viewer.js:93
const info = await stat(path) - 读取本地文件dsh/pptx-viewer.js:96
const digest = createHash('sha256').update(await readFile(path)).digest('hex') - 写入本地文件dsh/pptx-viewer.js:98
await mkdir(root, { recursive: true }) - 读取本地文件dsh/pptx-viewer.js:188
const bytes = await readFile(join(rendered.root, rendered.engine, `page-${String(index).padStart(4, '0')}.png`)) - 执行外部命令来自配置/变量dsh/spawnHidden.js:21
return spawn(command, args, { ...options, windowsHide: true })
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh@deepseek-ai/dsh-client-ui-tool@deepseek-ai/dsh-skill@deepseek-ai/dsh-tools给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 融合DSH原生前端
最近更新
在 GitHub 查看全部 →v0.7.12026-10-08
v0.7.1 — 真实使用反馈硬化(V12 C1)
补丁只改两处正确性,均为实测反馈驱动:
· chrome 契约不再连坐(F1,ADR-100):chrome.pageNumber.show:false(或 skipRoles)现在只关页码,footer / section / logo 各自按声明生效。审计同步改为逐组件:chrome-skip 只在"跳页码的页仍带页码域或页码形状"时报错,chrome-footer-text / chrome-section 在页码关闭时照常运行。此前"为规避 LibreOffice 不渲染 slidenum 域而关页码"会把页脚一起丢掉。
· PowerPoint COM 导出不再截断/陈旧(F7,ADR-101):每页导出后校验完整 PNG(签名 + IHDR 尺寸 ±2 px + 结尾 IEND),不完整最多重试 3 次(60→480 ms 退避),仍失败则报 EngineExit 并指引 --engine libreoffice;每次运行打开 deck 的唯一副本,避免 PowerPoint 按路径复用旧内存副本(实测反馈中 16 页有 10 页是旧渲染)。renderpages 对所有引擎的页图都做完整性校验:不完整的文件以 ContractViolation 指名文件与引擎,而不是记成该页渲染。
· 夹具:fixtures/hello 重录为 fixtureVersion 9(封面与结束页从此带上本该有的页脚),fixtures:verify 三个产物 canonical 相等。
· 实机验证(S53,PowerPoint 16.0):同一路径先导出 5 页的 merged、覆盖成 2 页的 deep 再导出 —— 第二次两页与"唯一路径 deep"导出逐字节一致、与第一次不同,全部页图完整无截断。
安装:dsh plugin --profile add -w dsh-ppt-flashmade@0.7.1
门禁:typecheck / lint / 73 test files / fixtures:verify / matrix:verify / prepack / skill audit 全绿;CI 五 job(三腿兼容 + ubuntu + windows)。
v0.7.02026-10-01
v0.7.0 — DSH 0.2.0 兼容里程碑(V11 Track A)
插件行为与 v0.6.1 相同;这个版本把 0.2.0 线从"能装"变成"全门守护"。
· CI 第三条腿(ADR-089):dsh-compat 现在跑三条线 —— 0.1.2-rc.1(无 peer gate,只证明安装与组装)、0.1.7-rc.2 与
0.2.0-rc.2(强制执行运行时自带的 peer gate)。兼容 smoke 先用运行时自身的 evaluatePluginCompatibility 判定已装插件:
--dump-config 里能组装不算准入;--exempt 演练 compatibility.json 精确版本豁免;--expect 钉住被测运行时版本。
· 0.2.0 四场景实测(ADR-092):@deepseek-ai/dsh@0.2.0-rc.2 scratch runtime 上 eval:run 4/4 全绿,每场景 17/17、
0 失败调用、0 门禁失败;reference-quality 在 1800 s 上限处被截断但交付包全门通过(designProfileOk=true)。与 0.1.7 基线
对比,V10 那次 reference-quality 的 16/17 判定为模型方差。
· peer union 生成化(ADR-090):scripts/runtime-lines.mjs 是唯一源(实测线 + 安装带 + 覆盖的 peer),
scripts/gen-peer-union.mjs 写入/校验 package.json,pnpm peers:check 与 prepack 首步强制一致;加一条支持线不再手改 4×8 个 range。
· Windows 沙箱矩阵(ADR-091):pnpm sandbox:probe 在 0.2.0 自带 ACL 沙箱上跑四行 × 七探针;按插件实际形态(自 spawn、
用户 token)在带常驻授予的工作区上全通过;受限 token 下的三条受阻点(python 链、渲染引擎、插件 home 写入)与适配方向见
docs/compat/windows-sandbox.md。
· 四线支持矩阵(A5):docs/compat/dsh-versions.md 记录 0.2.0-rc.2 / 0.1.7-rc.2(first-class)、0.1.5-rc.2(支持,无专属 CI 腿)、
0.1.2-rc.1(legacy,v0.8 后 EOL 候选)与各自证据。
安装:dsh plugin --profile add -w dsh-ppt-flashmade@0.7.0(或 GitHub Release 的 tarball)。
门禁:580+ tests、typecheck、lint、fixtures:verify、matrix:verify、prepack(含 peers:check)、skill audit 全绿;CI 五 job(三腿兼容 + ubuntu + windows)。
v0.5.02026-09-26
v0.5.0 — 渲染级 QA + 模型看图自评(V10 Part A + B)
新命令
· dsh-ppt renderpages [-o ] [--file ] [--engine powerpoint|libreoffice|both] [--scale 1|2] [--max-pages ] [--max-pixels ] [--required] [--force] [--json]:
逐页 PNG 快照(PowerPoint COM / LibreOffice Kit),每引擎 manifest(引擎版本、源 sha256、scale/dpi、限额、逐页尺寸与 sha256)+ pages.json 索引;缓存键 = 源字节 + 引擎 + 引擎版本 + scale + 限额;单引擎重渲不再抹掉另一引擎的记录。
· dsh-ppt text-measure [text...] --size [--box ] [--family ] [--weight ] [--json]:引擎 DrawingML 估算器,批量单行或按盒换行,输出 fits / overflow(x|y)。
· dsh-ppt audit --rendered [--require-rendered]:render-page-count / render-content-loss / render-off-page / render-overlap / render-contrast / render-chrome / render-tofu / render-overflow / render-parity,阈值集中在 RENDER_THRESHOLDS。
DSH 插件
· dsh_ppt_review 工具(scoped attachments 注入):inspect 把渲染页图作为图片附件 + rubric 交给模型;record 校验 findings 并写 .dsh-ppt/review/review.json;无附件/无图片能力路由时报 image-input-unavailable,不假装看过图。
· SKILL 相位 5.5:DSH_PPT_REVIEW=pixel|model|subagent,≤2 轮收敛,approve 只归用户;subagent critic 可选、默认关。
夹具与门禁
· fixtures/rendered/reference-quality.json(双引擎逐页基线)+ pnpm rendered:record + pnpm fixtures:verify --rendered(无 deck 时显式 skipped)。
· 本机基线:renderpages 双引擎 12 页(PowerPoint 16.0 24s / LibreOffice Kit 0.1.1 native 11s,二次 cached);audit --rendered ok=true 仅 2 条 parity warning。
质量事实(校准记录,ADR-082)
· LibreOffice 对 wrap="none" 文本框按其自身锚点绘制(比声明框高 30–100px),PowerPoint 严格按框;渲染门禁因此用"所属卡片面板"作采样窗口、tofu 仅对 PowerPoint 跑。
门禁:516 tests / 66 files、typecheck、lint、fixtures:verify(fixtureVersion 8)、prepack 21 files、matrix:verify 6/6、skill audit 25 files / 112,405 tokens · 0 error。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。
README
由 DeepSeek 最新模型翻译生成dsh-ppt-fusion
DeepSeek Harness(DSH)插件:把 pptwise 的 DSH 原生前端(IR v5、24 套主题、审计、预览)与 ppt-master 的深度引擎(SVG→DrawingML、原生图表/表格/公式、动画/旁白)融合成一条 dsh-ppt 命令链。
- 上游:@liustack/pptwise@0.35.0(npm,MIT)· ppt-master==0.1.128(PyPI,MIT)
- 本包:dsh-ppt-flashmade,MIT,Node >= 22.19,bin dsh-ppt
- 下载:npm dsh-ppt-flashmade@0.7.1 · GitHub Release v0.3.1(附件 dsh-ppt-flashmade-0.6.0.tgz 与 npm 包字节一致)
- 交付物:out/<name>.pptx —— 原生可编辑 PPTX(原生形状/图表/表格)。preview --html 与卡片里的 HTML 只是评审查看器,不代表交付物形态。
状态:CI 双平台全绿(ADR-055);v0.7.1 已按 §8 双渠道发布(npm + GitHub Release,ADR-056…
展开完整文档(README 剩余 1 节)
dsh-ppt-fusion DeepSeek Harness(DSH)插件:把 pptwise 的 DSH 原生前端(IR v5、24 套主题、审计、预览)与 ppt-master 的深度引擎(SVG→DrawingML、原生图表/表格/公式、动画/旁白)融合成一条 dsh-ppt 命令链。 - 上游:@liustack/pptwise@0.35.0(npm,MIT)· ppt-master==0.1.128(PyPI,MIT) - 本包:dsh-ppt-flashmade,MIT,Node >= 22.19,bin dsh-ppt - 下载:npm dsh-ppt-flashmade@0.7.1 · GitHub Release v0.3.1(附件 dsh-ppt-flashmade-0.6.0.tgz 与 npm 包字节一致) - 交付物:out/<name>.pptx —— 原生可编辑 PPTX(原生形状/图表/表格)。preview --html 与卡片里的 HTML 只是评审查看器,不代表交付物形态。 状态:CI 双平台全绿(ADR-055);v0.7.1 已按 §8 双渠道发布(npm + GitHub Release,ADR-056…092);0.2.0 线为第一支持线(CI 三腿 + 四场景实测 + 沙箱矩阵,ADR-089/090/091/092):渲染快照与渲染门禁 + dsh_ppt_review 看图自评;DSH 0.1.2-rc.1 / 0.1.5-rc.2 / 0.1.7-rc.2 / 0.2.0-rc.2 四线可安装(v0.6.1 起,ADR-079 更新):design profile 提取/套用(ADR-061/066)、素材三通道与 svg/flat 背景(ADR-067)、audit --profile 符合性审计(ADR-062)、设计施加 pass 与 reference-quality 基准(ADR-069)、可选图像生成(ADR-064)。 v0.2 的 storyboard/role→layout/内容预算(ADR-059)、旁白自动翻页(ADR-060)、Q4 模型评估 3/3(docs/v02-model-eval.md)仍有效。 V11(0.2.0 线)进行中:CI 已加 0.2.0-rc.2 腿(ADR-089),支持线 = 0.1.2-rc.1 / 0.1.5-rc.2 / 0.1.7-rc.2 / 0.2.0-rc.2。 架构(S2:Node 驱动 Python,无 FFI、无共享内存) DSH 会话(模型) │ 遵循 skills/dsh-ppt-fusion/SKILL.md(M6 落地) ▼ dsh-ppt CLI Node >= 22.19 │ src/cli.ts → src/commands/* ├── src/frontend.ts ─────────────► node node_modules/@liustack/pptwise/dist/cli.js │ IR v5 进,pptx 出 npm 依赖 0.35.0(JS API 已封,只走 CLI) │ └── src/engine/master.ts ────────► <venv>/Scripts/ppt-master.exe SVG 进,pptx 出 PyPI 依赖 0.1.128(uv venv,无 pip) ▲ └── src/engine/venv.ts 建/查/修 venv;uv 解析不走 PATH render 主链(已落地):pptwise render --draft(deep 页=占位)→ deep render(ppt-master 四步门控流水线)→ slide 级合并(layout 重映射到 base 母版 + 闭包导入)→ OPC/delivery 门 → 原子发布 out/<name>.pptx + out/manifest.json。 deck/ ├── deck.fusion.json 页级路由表 + post 配置(schema v1) ├── deck.ir.json 标准页 IR v5;deep 页 placeholder:true ├── theme.json/tokens.json/master-design.json 主题桥产物 ├── deep/pNN-/ 每 deep 页一目录:page.svg(七条作者契约见 contracts.md) ├── out/ 产物 + manifest(sha256、slide 数、导出回执、merge 报告) └── .dsh-ppt/ 缓存、临时 master 项目、诊断日志、render 中间产物 层与职责 | 模块 | 职责 | 不得 | | dsh/index.js(M7) | DSH 插件注册、skill 注册、preview 工具/路由 | 含生成逻辑 | | src/cli.ts + src/commands/ | argv、退出码、接线 | 渲染 | | src/frontend.ts | 定位并驱动 pptwise CLI、解析 JSON、其失败分类 | import pptwise 内部 | | src/bridge/theme.ts | ThemeFile v2(style.)→ tokens → master 调色板 | 改上游主题 | | src/bridge/merge.ts | slide 级合并:内容感知复用、layout remap、单一母版、creationId 去重 | 解析 shape 语义 | | src/bridge/post.ts(M4 第 2 部分 ✅) | 合并后统一施加动画/切换/旁白 | 在合并前运行 | | src/bridge/compat.ts(M4 第 2 部分 ✅) | 兼容 pass:scan/transform/stamp/lint,对照 src/compat/registry.json | 注册表之外的隐式改写 | | src/commands/audit.ts(M4 第 2 部分 ✅) | 八源统一审计门:validate / pptwise / 引擎门 / OPC+P1 / compat / ΔE | 吞失败门、缺产物静默跳过 | | src/engine/contracts.ts | 引擎命令白名单 + 参数枚举 + 输出文件契约 | 放行未登记命令 | | src/engine/venv.ts | venv 生命周期、uv 解析、锁文件安装/修复 | 启动路径联网 | | src/engine/master.ts | 唯一 Python spawn 点;超时、错误分类、路径白名单 | 接受白名单外命令 | | src/engine/runner.ts | 子进程原语 + 默认拒绝的 env 白名单 | 默认继承凭据 | | src/logging.ts | <deck>/.dsh-ppt/logs/<ts>-<cmd>.log | 删改 deck 数据 | | src/audit.ts | 多来源审计聚合(随 M4/M5 扩展) | 吞失败门 | 不变式 - P1 单一母版:merged deck 恰好 1 个 slideMaster,所有 layout 指向它;scripts/opc-invariants.mjs --single-master 硬门(M0/M4 均已验证)。 - deep 页绝对定位:deep 页走 --pptx-structure flat,layout remap 不动内容。 - 确定性三级:T1 语义确定性 = 硬门(tests/support/canonicalize.ts 递归进 ppt/embeddings/,pnpm fixtures:verify 在 CI 执行);T2 本包字节稳定 = 目标(merge 步骤已达成,且每个 zip entry 含目录项都钉死在固定时间戳,ADR-041);T3 全链字节一致 = 非 v1 门(master 输出时间戳不稳定)。 - 兼容性被声明、不靠假设:src/compat/registry.json 登记每个版本敏感标记的最低 Office/WPS 支持与降级规则;render --compat safe|standard|max 覆盖 manifest 的 compat 字段,默认 standard(Office 2016+/WPS 2019+);报告写 out/compat-report.json,哈希进 out/manifest.json(ADR-034)。 - 失败分类:每个错误是 src/engine/errors.ts 的封闭枚举,CLI 打印 dsh-ppt: <message>。 - 交付门:dsh-ppt audit 聚合八源(validate、pptwise、引擎门、OPC+P1、delivery、compat、可选 ΔE);缺产物是 error 并把跳过的源记入 skipped(ADR-035)。 - 渲染级 QA(v0.5.0 起):dsh-ppt renderpages 把发布包渲染成逐页 PNG(PowerPoint COM / LibreOffice Kit 双引擎、哈希缓存、页数与像素限额),供 audit --rendered 与模型看图自评使用(ADR-081)。 - 素材署名:images search 的每个下载项都进 assets/image_sources.json,缺许可或缺署名文本即失败;--strict-no-attribution 直接拒绝需署名的许可(ADR-040)。 - 动效单一 owner:post/animations.json 的 entrance/emphasis/path 由 bridge/post.ts 写;emphasis/路径必须按 PowerPoint 自己的包装结构书写,否则 COM 读回 behaviours=0(ADR-042)。 - 非目标不可达:image-gen、video-、gemini-watermark-remove 不在 contracts 白名单(ADR-013)。 已实现的命令 version · doctor [--repair --no-self-test] · init · plan [--from --confirm] · resume [--write] · validate · audit [--strict --pixels --file] · preview [--html] · theme ensure|list|new|fork|try · tokens export [--master] · brand extract [--bind] · source · images search · deep render [--page] · deep template create|apply|register · deep native roundtrip · post animate · narrate [--sync --list-voices] · render [-o] [--compat <level>] · compat lint <file> · skill audit(全部命令支持 --json) - doctor 八项:Node / uv / Python / engine venv / ppt-master / png-renderer(本机红=设计使然,B7 用 Node sharp 兜底)/ pptwise / PowerPoint COM / self-test。 - render 的动画/切换由 bridge/post.ts 在合并后单一施加(ADR-032);选择器匹配不到时是硬失败 ContractViolation,不静默忽略。 - 完整命令面与 Planned 表见 docs/cli.md。 开发 pnpm install # pnpm 8.15.9 + npmmirror(本机纪律) pnpm typecheck && pnpm lint && pnpm test pnpm build # tsup → dist/cli.js node dist/cli.js doctor # 八项体检 + self-test pnpm themes:verify # 24 主题快照(脚本门,CI 独立步骤) pnpm opc:check # P1/OPC 不变式 pnpm fixtures:verify # T1 黄金门 + 三档 compat 快照 + ΔE pixel(需要 ffprobe 在 PATH) pnpm matrix:verify # 6 代表主题的 validate/render/audit 快照(ADR-052) pnpm compat:matrix # python-pptx 重开 + compat 三档(有 soffice 时含 LibreOffice 转换) pnpm capacity:run # 60 页标准 deck 的容量探针(ADR-052) pnpm eval:run # M6 三场景模型评估(需要 DSH_HARNESS_ROOT 或 PATH 里的 dsh) pnpm prepack # build + files/tarball 清单校验 - 引擎 venv:%DSH_HOME%/ppt-fusion/venvs/ppt-master-0.1.128,由 doctor --repair 从 python-assets/requirements.lock(uv pip compile --generate-hashes,含 cairosvg)重建。 - 机器纪律(本仓库开发机):dsh plugin add 带 -w;PS 5.1 下生成文件用 Node 写(无 BOM);[Content_Types].xml 路径必须 -LiteralPath;子进程管道可用但大产物走文件契约。 目录 src/ CLI、frontend、engine、bridge、schema、compat registry dsh/ DSH 插件入口 + dsh_ppt_preview 工具 + 预览卡片(ADR-049/050) skills/ dsh-ppt-fusion 的中英 SKILL 与预算 manifest scripts/ opc-invariants、win-com-smoke、probe/测量工具、compat-matrix、engine-provision fixtures/ hello deck(golden 输入:含 deep//notes.md 与 narration/.mp3)、master deep 项目、golden(base/deep/merged + golden-manifest.json + compat-levels.json)、M0 夹具 m0-fixtures.json python-assets/ requirements.in/.lock、上游 SHA manifest、vendor 文档位 docs/ architecture / cli / contracts / decisions(ADR) / guide.zh / install / licensing / acceptance-report / quality / capacity / m6-model-eval / upstream-drill / m0-* / compat/ tests/ vitest 单元与契约回放;themes:record/verify、fixtures:record/verify(T1 黄金门) 文档索引 - 架构与边界:docs/architecture.md - 全部命令与退出码:docs/cli.md - 引擎/主题/IR/工作区契约:docs/contracts.md - 中文用户指南:docs/guide.zh.md - 安装与卸载:docs/install.md;许可清单:docs/licensing.md - 发布清单:docs/release.md - M6 模型评估结论:docs/m6-model-eval.md;验收报告 S1–S17:docs/acceptance-report.md;质量基线:docs/quality.md - 兼容矩阵与 WPS 记录:docs/compat/matrix.md、docs/compat/wps-report.md - ADR 裁决记录:docs/decisions.md(ADR-001…053) - M0 决策门与兼容探针:docs/m0-decision.md、docs/compat/probe.md - 权威计划:仓库外的 PPT-FUSION-PLAN.md(v5,本机保留) License MIT。上游版权与依赖许可清单在 NOTICE 与 docs/licensing.md。引擎 venv 含 PyMuPDF(AGPL-3.0):它只在用户机器上由 doctor 安装,不随本包分发;分发 venv 的一方需自行满足 AGPL。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Bingtang1019/dsh-ppt-fusion
DeepSeek HarnessDSH插件:把 pptwise 的 DSH 原生前端IR v5、24…
相关插件 · 工具 / 效率
破甲管控台kingcharleslzy-ai/dsh-purge
dsh-purge Community · DeepSeek Harness 社区维护版:宿主兼容、状态诊断、提示词管理、更新与本机备份回滚。基于小杨 / YuJunZhiXue 的 dsh-purge。
★ 4,330已汉化DeepSeek 客户端
74.5
网文长卷lingfengQAQ/webnovel-writer
基于 Claude Code 的长篇网文辅助创作系统,解决 AI 写作中的「遗忘」和「幻觉」问题,支持 200…
★ 7,636已汉化DSH
72.2
多智能体协作HKUDS/AutoSwarm
AutoSwarm: Unify Your Agents. Unify Your Context (Codex · Claude Code · DeepSeek Harness · Muse · Grok · WorkBuddy· nanobot · and more)
★ 2,349已汉化DSH
71.6
Vox 拼贴视频生成Alisa0808/vox-director
🎬 Vox Director拼贴动效导演
★ 2,129已汉化DSH
71.4
Agent 演化引擎Q00/ouroboros
智能体 OS:智能体自己变聪明,我们只守住底线:面试准入、分阶段评估、带预算的进化循环。MCP 服务器,14 种运行时:Claude Code、Codex CLI、Gemini CLI、OpenCode、Copilot、Kiro 等。
★ 6,311已汉化DSH
71.4
智能体运行框架路由HarnessRouter/harnessrouter
智能体 harness 的统一接口。
★ 3,984已汉化DSH
71.3
这是你的仓库?认领条目