mcpField
S
summarize

summarize

github.com/steipete生产力6.8k95 次安装3 天前更新
代码仓库

关于 summarize

summarize 是用于提取或总结网页、文档及音视频内容的命令行技能,涵盖服务就绪检查、格式与语言选项,以及供自动化使用的 JSON 输出。

主要功能

  1. 01总结网页和文件
  2. 02提取文本或转录媒体
  3. 03支持音频、视频和 YouTube 输入
  4. 04提供语言、长度和提示词选项
  5. 05输出供自动化处理的 JSON

适用场景

  1. 01总结网页文章或 PDF
  2. 02提取音频或视频转录文本
  3. 03将结构化结果传递给其他命令
  4. 04仅提取内容而不生成摘要

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/steipete/summarize --skill summarize

安装后在 Claude Code 中输入/summarize确认已加载。

附带文件agents/openai.yaml

详细介绍

摘要

使用 summarize CLI 作为标准接口。优先使用 PATH 中已发布的二进制文件;在此仓库中,使用 pnpm -s summarize 运行当前检出版本。

开始

  1. 确认命令和当前约定:

    summarize --version
    summarize --help
    
  2. 当摘要需要大模型时,检查模型和提供方是否就绪:

    summarize status
    summarize status --json
    
  3. 运行下方范围最窄的工作流。为 URL 和路径加引号。处理响应较慢的远程输入或媒体输入时,添加 --timeout 2m。

切勿打印、索取或复制 API 密钥值。summarize status 会报告可用性,但不会泄露机密信息。

摘要

网页或远程文档:

summarize "https://example.com/article"
summarize "https://example.com/report.pdf" --length short

本地文件或 stdin:

summarize "./report.pdf"
summarize "./recording.m4a"
printf '%s\n' "Long text to summarize" | summarize -

使用 --plain 输出未经渲染的 Markdown/文本。仅在任务需要覆盖默认设置时,才使用 --language、--length、--prompt 或 --prompt-file。当用户指定使用某个提供方,或未配置直接 API 提供方时,使用 --cli codex、--cli claude 或其他已安装的 CLI 提供方。

提取但不生成摘要

使用 --extract 在提取或转录后停止:

summarize "https://example.com/article" --extract --format md
summarize "./report.pdf" --extract --format md
summarize "https://youtu.be/VIDEO_ID" --extract --format md

--extract 不支持 stdin。提取过程仍可能调用已配置的转录、OCR、Firecrawl 或 Markdown 服务;它只会跳过最终的摘要调用。--markdown-mode llm 也会调用大模型来重塑提取出的文本。

YouTube、音频和视频

默认转录内容选择:

summarize "https://youtu.be/VIDEO_ID"
summarize "https://youtu.be/VIDEO_ID" --extract --format md --timestamps

使用 --youtube web 强制使用网页字幕,或使用 --youtube yt-dlp 强制使用下载/转录路径。除非用户需要特定来源,否则保留 auto。

本地或远程音频/视频:

summarize "./interview.mp3" --extract
summarize "./interview.mp4" --extract --timestamps
summarize "./interview.mp3" --extract --diarize

--transcriber auto 是默认设置。仅在用户指定或诊断提供方时,才明确指定转录器。说话人分离可能需要已配置的 ElevenLabs 或 OpenAI 访问权限。说话人识别是单独的可选步骤;没有证据时,不要推断身份。

处理幻灯片:

summarize "https://youtu.be/VIDEO_ID" --slides
summarize "./talk.mp4" --slides --extract

提取幻灯片可能需要 yt-dlp;OCR 需要 tesseract。

用于自动化的 JSON

当其他命令或 Agent 将解析结果时,使用 JSON:

summarize "https://example.com" --json --metrics off > result.json
jq -r '.summary // .extracted.content // empty' result.json

稳定的顶层结构包含 input、env、extracted、prompt、llm、metrics 和 summary。如果输入由提取流程或无模型路径处理,summary 或 llm 可能为 null。在 --extract --json 模式下,从 .extracted.content 读取提取出的文本。

JSON 输出到 stdout。进度、警告和完成指标输出到 stderr。解析前不要将 stderr 合并到 stdout。只有任务需要用量详情时,才使用 --metrics detailed。

配置和依赖项

优先级:CLI 标志、进程环境、~/.summarize/config.json、内置默认值。单次运行优先使用标志;只有用户要求设置持久默认值时,才更改配置。

实用诊断:

summarize status --verbose
summarize status --probe
summarize "INPUT" --verbose

普通网页摘要不需要媒体工具。媒体路径可能会使用 ffmpeg、yt-dlp、本地 Whisper/ONNX,或已配置的云端转录服务。网站回退方案可能会使用 Firecrawl。安装工具或更改配置前,先根据错误确认具体缺失的功能。

输入可能会发送到所选模型、提取、OCR 或转录提供方。对于机密材料,运行命令前请确认获准使用的提供方,或使用获准的本地路径。

验证

每次运行后:

  • 要求退出状态为 0。
  • 要求摘要或提取内容非空。
  • 对于 JSON,使用 jq 或其他 JSON 解析器解析 stdout。
  • 对于来源敏感的任务,检查 extracted、llm 和 stderr 诊断信息,而不要想当然地认为所选路径已生效。
  • 更改提供方、配置或标志后,重新运行最终命令。

如需了解当前选项的详细信息,请运行 summarize --help 并阅读仓库文档:

所有权

此文件是 Summarize 产品的规范 Agent 工作流。通用 Agent 工作流应保存在 openclaw/agent-skills 中;Summarize CLI 行为应保存在此处。下游集成应链接到已发布的标签或固定提交中的此文件,并仅保留其打包或集成专用说明。不要在下游维护第二份涵盖范围广泛的命令指南。

评论

支持 Markdown