AI 工具三剑客:文件处理、软件控制、内容生成的完整工作流

MarkItDown + CLI-Anything + HTML-Anything 三个开源工具,恰好覆盖了一个完整 Agent 工作流的三个环节:输入、操作、输出。

作为一名 AI 工具开发者和教育者,我经常被问到同一个问题:

"Agent 到底能帮我做什么?"

答案不在抽象的"AI 能写代码"里,而在具体的工具链中。最近我内化了三个开源项目,它们恰好覆盖了一个完整工作流的三个环节:

  1. MarkItDown(微软,123k★)—— 把任何文件变成 Markdown,给 Agent 读
  2. CLI-Anything(港大 HKUDS)—— 让任何软件变成 Agent 可用的 CLI
  3. HTML-Anything(nexu-io,open-design 团队)—— 让 Agent 生成精美 HTML,给人类读

这三个工具合在一起,构成了一条 Agent 原生工作流

原始文件 → MarkItDown 提取 → LLM 处理 → HTML-Anything 生成 → 精美文档
                                              ↓
                                      CLI-Anything 自动化
                                          后续软件操作

让我逐一介绍。

1. MarkItDown:文件 → Markdown(给 AI 读)

项目地址github.com/microsoft/markitdown

MarkItDown 是微软 AutoGen 团队开发的轻量级 Python 工具,能将各种文件转换为 Markdown:

markitdown document.pdf > output.md

支持格式

格式说明
PDF / Word / PPT / Excel办公文档全覆盖,保留标题、列表、表格结构
图片EXIF 元数据 + OCR(可用 LLM Vision 增强)
音频EXIF + 语音转写(WAV/MP3)
HTML / CSV / JSON / XML格式识别
ZIP自动遍历内部文件
YouTube URL视频字幕提取
EPub电子书内容提取

我的使用场景

  • 课程资料处理:课程 PDF → Markdown → 存入 Obsidian 知识库
  • 合同/报告分析:PDF → Markdown → AI 分析总结
  • YouTube 学习笔记:视频字幕 → Markdown → 整理为笔记
  • 批量文件提取:一堆文件放 ZIP 里,自动遍历转换

高级用法:LLM Vision OCR

from markitdown import MarkItDown
from openai import OpenAI

client = OpenAI()
md = MarkItDown(llm_client=client, llm_model="gpt-4o")
result = md.convert("document_with_images.pdf")
print(result.text_content)

PDF 中的图片会被 LLM 视觉模型描述为文字,直接嵌入 Markdown 输出。

安全提醒

MarkItDown 以当前进程权限执行 I/O,类似 open()不要传入不可信输入,只处理本地文件时用 convert_local()

2. CLI-Anything:软件 → CLI(让 Agent 控制)

项目地址github.com/HKUDS/CLI-Anything

核心理念:今天的软件为人服务,明天的用户将是 Agent。

任何软件(GUI 应用、Web 服务、API)都有 AI Agent 难以直接使用的问题。CLI-Anything 通过 7 阶段自动化流水线,将软件源码分析后生成结构化 CLI:

  1. 🔍 分析 → 扫描源码,映射 GUI 操作到 API
  2. 📐 设计 → 设计命令分组、状态模型、输出格式
  3. 🔨 实现 → 构建 Click CLI,含 REPL + JSON 输出
  4. 📋 测试规划 → 创建单元 + E2E 测试计划
  5. 🧪 编写测试 → 实现全面测试套件
  6. 📝 文档 → 记录测试结果
  7. 📦 发布 → 创建 setup.py,安装到 PATH

已支持的软件(35+)

领域示例
创意工具GIMP, Blender, Inkscape, Kdenlive, Shotcut, Audacity, OBS
办公LibreOffice, Zotero, MuseScore
AI/MLComfyUI, Ollama, UniMol Tools, Exa
开发Godot, s&box, LLDB, Nsight Graphics
可视化Draw.io, FreeCAD, QGIS
企业Zoom, n8n, Mailchimp, AdGuard Home

我的使用场景

  • 自动化工作流:把 LibreOffice 变成 Agent 可用的 CLI,批量生成文档
  • GUI 替代:比截图+点击更可靠,纯命令行操作 GIMP/Blender
  • 工具生态:通过 CLI-Hub 让 Agent 自主发现并安装合适的软件

设计原则

  1. 真实软件集成 — 调用真正的 Blender/FFmpeg,不是玩具实现
  2. 统一 REPL — 所有 CLI 共享交互式界面(ReplSkin)
  3. JSON 输出 — 每条命令支持 --json,Agent 原生消费

3. HTML-Anything:内容 → HTML(给人类读)

项目地址github.com/nexu-io/html-anything

核心理念:Markdown 是草稿,HTML 才是人类阅读的最终形态。

这与 Karpathy 的观点(HTML 是 AI 输出的新默认格式)高度一致。在 Agent 时代,你不再手动编辑文档,所以输出格式应该是读者真正想看的——HTML。

核心能力

能力说明
8 种编码 AgentClaude Code / Cursor / Codex / Gemini / Copilot / OpenCode / Qwen / Aider
75 个技能模板PPT / 海报 / 简历 / 公众号 / 小红书 / Web 原型 / 视频帧
零 API Key复用已有 Agent 登录会话,边际成本 $0
一键导出微信公众号 / 知乎 / X / 小红书 / 下载 HTML/PNG
SSE 流式渲染实时看到 HTML 生成过程,随时中断重生成

9 种交付形式

  • 演讲稿(20 种风格)—— 瑞士国际、归藏编辑、小红书、产品发布会
  • Web 原型(25 种)—— SaaS 落地页、仪表盘、定价页、手机原型
  • 社交卡片(8 种)—— X/Twitter、小红书、Spotify、轮播图
  • 视频帧(12 种)—— 液态流体、故障风标题、Logo 结尾
  • 办公文档(10 种)—— PRD、运维手册、财务报告、OKR、周报
  • 编辑文档 —— 羊皮纸风格、数据报告、实时仪表盘

我的使用场景

  • AI 课程课件 —— 用 deck-course-module 生成精美课件 PPT
  • 公众号文章排版 —— 告别手动调格式,Agent 生成即完美
  • 小红书内容创作 —— 图文卡片批量生成
  • 商业计划书 —— deck-pitch 生成投资人路演

反 AI 八股

每个技能模板硬编码约束,阻止模型生成千篇一律的 AI 味内容:

  • CJK 优先字体栈(Noto Sans/Serif SC 中文,Inter 英文)
  • 8px 基线网格
  • 圆角 + 柔和阴影 + 禁止纯黑/纯白
  • 颜色对比度 ≥ 4.5
  • 必须使用真实数据,禁止 lorem ipsum

三工具联动:完整工作流演示

场景一:课程资料处理

课程 PDF 文件
    ↓
[MarkItDown] → 提取为 Markdown
    ↓
[LLM 分析] → 总结、翻译、生成课件大纲
    ↓
[HTML-Anything] → 生成课程 PPT(deck-course-module)
    ↓
[aliyun-deploy] → 部署到 agentstash.me

场景二:公众号文章

原始素材(Word/PDF/笔记)
    ↓
[MarkItDown] → 提取为 Markdown
    ↓
[LLM 改写] → 调整语气、结构、配图建议
    ↓
[HTML-Anything] → 公众号排版(juice 内联 CSS)
    ↓
[一键导出] → 粘贴到微信公众号编辑器

场景三:软件自动化

需要自动化的软件(如 LibreOffice)
    ↓
[CLI-Anything] → 生成 Agent 可用的 CLI
    ↓
[Agent 操作] → 批量生成文档/处理数据
    ↓
[MarkItDown] → 提取处理结果为 Markdown
    ↓
[HTML-Anything] → 生成数据报告 HTML

为什么是这三个工具?

它们恰好覆盖了一个完整的信息处理循环:

工具方向受众解决什么问题
MarkItDown文件 → 文本AI Agent提取文件内容,让 Agent 能读
CLI-Anything软件 → CLIAI Agent让 Agent 能操作专业软件
HTML-Anything内容 → 文档人类读者让 Agent 的输出人类能看懂

MarkItDown 解决"输入"问题,CLI-Anything 解决"操作"问题,HTML-Anything 解决"输出"问题。三者合在一起,就是一条完整的 Agent 原生工作流

总结

这三个项目的共同特点是:

  1. 开源免费 —— MIT / Apache 2.0 协议
  2. Agent 原生 —— 不是为了人类设计的,而是为 Agent 设计的
  3. 零锁定 —— 不依赖特定平台,可以本地运行
  4. 社区活跃 —— 持续迭代,每天都有新贡献

作为一名 AI 工具开发者,我相信:未来的工作不是"人用 AI",而是"人指挥 Agent,Agent 调用工具"。这三个工具,就是这条链路的基础设施。

← 返回博客列表

想一起合作?

无论是项目咨询、技术合作还是 AI 学习,都欢迎联系我

发邮件