dsh-web-search-ddg
aooyoo
Zero-token DuckDuckGo search provider for the DeepSeek Harness (DSH) web seam — local headless browser, no API key, no m…
PROJECT TOPICS
PROJECT README
把一张参考图片重建为真正可编辑的 PowerPoint:标题和正文仍是文本框,卡片、线条和箭头仍是原生形状,复杂图标与插画则作为独立、安全的图片资产保留。
它不是简单地把整张图片铺到幻灯片上,而是帮助 Agent 分析页面结构、选择正确的重建方式、生成 PPTX、渲染预览,并验证文字与对象是否真的可编辑。
左侧是原创参考图片,右侧是生成的可编辑 PowerPoint 实际渲染结果。标题、说明、编号和结论均为原生文本,卡片、面板和闭环贝塞尔曲线为原生 PowerPoint 对象;13 个具有渐变、阴影和立体细节的图标则从原图独立裁切。整个页面没有使用整页截图,也没有把含正文的卡片栅格化。
视觉相似不等于整页栅格化。这个示例中的文字、卡片、面板、编号和基础连接线仍可在 PowerPoint 中逐个编辑。
把下面这句话直接发给 Codex 或其他能够安装本地 Skill、运行 Python 和 Node.js 的 Agent:
请从 https://github.com/yjm110517/visual-to-editable-ppt-skill 安装
image-to-editable-pptSkill,自动安装其 Python 与 Node.js 依赖,并运行 Skill 校验。
安装完成后可以直接说:
使用
$image-to-editable-ppt,把我上传的图片重建为可编辑 PPT;复杂图标优先从原图独立裁切,文字、卡片、线条和箭头保持原生可编辑。
最新的预打包版本也可以从 GitHub Releases 下载。
默认排版交互模式为 ask:缺失时一次性询问标题字体、标题字号、正文字体和正文字号。如果你说“直接做”“按原图”或“不要问”,则按原图推断。
visual-to-editable-ppt-skill/
├─ README.md
├─ LICENSE
├─ NOTICE
└─ image-to-editable-ppt/
├─ SKILL.md # Skill 入口与工作流
├─ LICENSE / NOTICE # 随安装包分发的许可证与归属声明
├─ agents/ # Planner / Reviewer 角色与提示词
├─ references/ # 分类、构建、审核和交付契约
├─ schemas/ # 运行时 JSON Schema
└─ scripts/ # 资产、PPT、渲染、QA 与交付脚本
公开仓库除 README 演示素材外,只包含安装和运行 Skill 所需的内容。工程测试、资格评估、历史规格和发布审计工具保存在独立的私有验证仓库,不会随 Skill 安装。
flowchart LR
A["① 上传参考图<br/>填写转换要求"]
B["② Planner 分析<br/>生成布局与资产规格"]
C["③ 确定性流水线<br/>处理资产 · 构建 PPT"]
D["④ 实机渲染<br/>结构 QA"]
E["⑤ 独立 Reviewer<br/>视觉对比审核"]
F["⑥ 确定性评估<br/>Pass / Revise / Fail"]
G["⑦ 交付门禁<br/>校验状态与哈希"]
H["可编辑 PPT<br/>及审核报告"]
A --> B --> C --> D
D -->|"结构通过"| E
E --> F
F -->|"通过"| G --> H
D -.->|"结构失败"| R["生成修订意见"]
F -.->|"需要修订"| R
R -.->|"创建下一轮<br/>最多 3 轮"| B
D -->|"不可恢复"| X["终止并保留诊断"]
F -->|"审核失败"| X
classDef input fill:#EAF3FF,stroke:#2474E5,color:#123B70;
classDef agent fill:#F0EBFF,stroke:#7657D6,color:#35236B;
classDef process fill:#EAFBF5,stroke:#21A675,color:#145640;
classDef review fill:#FFF4DD,stroke:#F0A020,color:#714600;
classDef delivery fill:#E9F8FF,stroke:#1687B8,color:#0B4C68;
classDef failure fill:#FFF0F0,stroke:#D84A4A,color:#741F1F;
class A input;
class B,E agent;
class C,D process;
class F,R review;
class G,H delivery;
class X failure;
确定性脚本负责路径、Schema、哈希、资产安全、PPT 构建、渲染和结构 QA;多模态 Agent 负责理解参考图、规划版式和视觉审核。这样的职责分离让结果既能接近原图,也能被机器检查。
独立 Reviewer 会重点检查内容准确性、关键比例、连接拓扑、箭头端点、字体层级、裁图边界、背景接缝和视觉层次。结构 QA 通过只代表页面可以进入视觉审核,不代表已经可以交付。
这是还原质量最关键的判断:
Skill 明确禁止用 Unicode 字符或粗糙多边形冒充精细图标,也禁止用整页截图、整卡片截图或整表截图绕过可编辑性要求。
通过交付门禁后,输出目录包含:
<name>_editable.pptx
<name>_assets.zip
<name>_preview.png
<name>_qa_report.json
<name>_review_report.json
<name>_review_evaluation.json
<name>_delivery_decision.json
PPTX 是主要交付物;其余文件用于说明资产来源、结构完整性、视觉审核结果和最终接受轮次。
asset_id 引用,构建器不接受任意路径。基础运行需要:
image-to-editable-ppt/scripts/requirements.txt 中的 Python 依赖image-to-editable-ppt/scripts/package.json 中的 Node.js 依赖严格的 PowerPoint 渲染和结构验收需要 Windows 与 Microsoft PowerPoint。LibreOffice 可以作为回退渲染器,但不是基础安装的硬性要求。
依赖安装和环境探测可以交给宿主 Agent 自动完成;普通使用者不需要理解仓库中的每个脚本。
当前版本聚焦于高质量单页重建,支持 text、shape、line 和 image 四类元素。多页母版推断、图表、表格对象、原生分组和复杂自由路径不属于当前稳定范围;密集表格会使用原生矩形、分隔线和文本框重建。
本项目的源码、Schema、Prompt 和项目文档采用 Apache License 2.0 发布,版权归 yjm110517 及相应贡献者所有。
Apache-2.0 允许商业使用、修改、分发和私有使用,并提供明确的贡献者专利授权。分发修改版本时,请保留 LICENSE 与 NOTICE,并标明所作修改。
项目许可证不会自动授予对以下内容的权利:
这些内容继续适用其各自的版权、商标和许可证要求。发布包不捆绑 node_modules 或 Python 第三方包,安装得到的依赖仍遵循各自许可证。
如果你发现某类页面、图标或字体处理得不理想,欢迎提交 Issue,并附上可公开的参考图、渲染结果和期望行为。
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。