返回市场
内容核心

内容核心

作者:lfnovo88 星标更新:2025-11-01

项目介绍

内容核心

许可证:MIT PyPI版本 下载量 月度下载量 GitHub星标 GitHub分支 GitHub问题 代码风格:black Ruff

内容核心 是一个强大的、基于人工智能的内容提取和处理平台,能够将任何来源转换成干净、结构化的文本。从网站中提取文本、转录视频、处理文档,并生成人工智能摘要——所有这些功能都通过统一的界面和多种集成选项实现。

🚀 你可以做什么

从任何地方提取内容:

  • 📄 文档 - PDF, Word, PowerPoint, Excel, Markdown, HTML, EPUB
  • 🎥 媒体 - 视频(MP4, AVI, MOV)自动转录
  • 🎵 音频 - MP3, WAV, M4A 转换为文本
  • 🌐 网络 - 任何 URL 的智能内容提取
  • 🖼️ 图像 - JPG, PNG, TIFF 光学字符识别
  • 📦 归档文件 - ZIP, TAR, GZ 内容分析

使用 AI 处理:

  • 自动清理和格式化 提取的内容
  • 📝 生成摘要 可定制样式(项目符号、执行摘要等)
  • 🎯 上下文感知处理 - 向儿童解释、技术总结、行动项
  • 🔄 智能引擎选择 - 自动选择最佳提取方法

🛠️ 使用方式多样

🖥️ 命令行(零安装)

# 从任何来源提取内容
uvx --from "content-core" ccore https://example.com
uvx --from "content-core" ccore document.pdf

# 生成 AI 摘要
uvx --from "content-core" csum video.mp4 --context "项目符号"

🤖 Claude 桌面集成

一键设置 Model Context Protocol (MCP) - 直接在 Claude 对话中提取内容。

🔍 Raycast 扩展

智能自动检测命令:

  • 提取内容 - 完整界面带格式选项
  • 总结内容 - 9 种摘要样式可选
  • 快速提取 - 即时剪贴板提取

🖱️ macOS 右键集成

右键点击 Finder 中的任何文件 → 服务 → 立即提取或总结内容。

🐍 Python 库

import content_core as cc

# 从任何来源提取
result = await cc.extract("https://example.com/article")
summary = await cc.summarize_content(result, context="向儿童解释")

⚡ 关键特性

  • 🎯 智能自动检测:根据内容类型和可用服务自动选择最佳提取方法
  • 🔧 智能引擎选择
    • URL:Firecrawl → Jina → BeautifulSoup 回退链
    • 文档:Docling → 增强版 PyMuPDF → 简单提取回退
    • 媒体:OpenAI Whisper 转录
    • 图像:支持多引擎的 OCR
  • 📊 增强 PDF 处理:高级 PyMuPDF 引擎,带有质量标志、表格检测和可选 OCR 数学公式
  • 🌍 多种集成:CLI、Python 库、MCP 服务器、Raycast 扩展、macOS 服务
  • ⚡ 零安装选项:使用 uvx 实现即时访问无需安装
  • 🧠 AI 功能处理:LLM 集成用于内容清理和摘要生成
  • 🔄 异步:使用 asyncio 构建以实现高效处理
  • 🐍 纯 Python 实现:无需系统依赖 - 在所有平台上简化安装

开始使用

安装

使用 pip 安装 Content Core - 无需系统依赖!

# 基本安装(PyMuPDF + BeautifulSoup/Jina 提取)
pip install content-core

# 带增强文档处理(添加 Docling)
pip install content-core[docling]

# 带 MCP 服务器支持(现在默认包含)
pip install content-core

# 完整安装(带增强文档处理)
pip install content-core[docling]

注意:与许多内容提取工具不同,Content Core 使用纯 Python 实现,不需要像 libmagic 这样的系统库。这确保了在 Windows、macOS 和 Linux 上一致且无麻烦的安装。

或者,如果你正在本地开发:

# 克隆仓库
git clone https://github.com/lfnovo/content-core
cd content-core

# 使用 uv 安装
uv sync

命令行接口

Content Core 提供三个 CLI 命令来提取、清理和总结内容:ccore、cclean 和 csum。这些命令支持从文本、URL、文件或管道数据(例如,通过 cat 文件 | 命令)输入。

零安装使用 uvx:

# 提取内容
uvx --from "content-core" ccore https://example.com

# 清理内容
uvx --from "content-core" cclean "混乱的内容"

# 总结内容
uvx --from "content-core" csum "长文本" --context "项目符号"

ccore - 提取内容

从文本、URL 或文件中提取内容,可选格式化。 用法:

ccore [-f|--format xml|json|text] [-d|--debug] [内容]

选项:

  • -f, --format:输出格式(xml, json 或 text)。默认:text。
  • -d, --debug:启用调试日志。
  • 内容:输入内容(文本、URL 或文件路径)。如果省略,则从标准输入读取。

示例:

# 从 URL 提取文本
ccore https://example.com

# 从文件提取 JSON
ccore -f json document.pdf

# 从管道文本提取 XML
echo "示例文本" | ccore --format xml

cclean - 清理内容

通过删除不必要的格式、空格或碎片来清理内容。接受文本、JSON、XML 输入、URL 或文件路径。 用法:

cclean [-d|--debug] [内容]

选项:

  • -d, --debug:启用调试日志。
  • 内容:要清理的输入内容(文本、URL、文件路径、JSON 或 XML)。如果省略,则从标准输入读取。

示例:

# 清理文本字符串
cclean "  混乱   文本   "

# 清理管道 JSON
echo '{"内容": "  混乱   文本   "}' | cclean

# 清理 URL 内容
cclean https://example.com

# 清理文件内容
cclean document.txt

csum - 总结内容

使用可选上下文引导摘要风格来总结内容。接受文本、JSON、XML 输入、URL 或文件路径。

用法:

csum [--context "上下文文本"] [-d|--debug] [内容]

选项:

  • --context:总结上下文(例如,“向儿童解释”)。默认:无。
  • -d, --debug:启用调试日志。
  • 内容:要总结的输入内容(文本、URL、文件路径、JSON 或 XML)。如果省略,则从标准输入读取。

示例:

# 总结文本
csum "AI 正在改变行业。"

# 使用上下文总结
csum --context "以项目符号形式" "AI 正在改变行业。"

# 总结管道内容
cat article.txt | csum --context "一句话"

# 总结 URL 内容
csum https://example.com

# 总结文件内容
csum document.txt

快速开始

你可以快速将 content-core 整合到你的 Python 项目中,从各种来源提取、清理和总结内容。

import content_core as cc

# 从 URL、文件或文本中提取内容
结果 = await cc.extract("https://example.com/article")

# 清理混乱的内容
清理后的文本 = await cc.clean("...混乱的文本带有[括号]和额外的空格...")

# 使用可选上下文总结内容
摘要 = await cc.summarize_content("长文章文本", context="向儿童解释")

# 使用自定义语音转文字模型提取音频
from content_core.common import ProcessSourceInput
结果 = await cc.extract(ProcessSourceInput(
    文件路径="采访.mp3",
    音频提供商="openai",
    音频模型="whisper-1"
))

文档

有关如何使用 Content Core 库的更多信息,包括 AI 模型配置和自定义的详细信息,请参阅我们的 使用文档

MCP 服务器集成

Content Core 包含一个 Model Context Protocol (MCP) 服务器,使与 Claude 桌面和其他 MCP 兼容应用程序的无缝集成成为可能。MCP 服务器通过标准化协议公开 Content Core 强大的提取能力。

<a href="https://glama.ai/mcp/servers/@lfnovo/content-core"> <img width="380" height="200" src="https://gips3.baidu.com/it/u=779974769,3591589486&fm=3081&app=3081&f=PNG?w=760&h=400" /> </a>

使用 Claude 桌面快速设置

# 安装 Content Core(包含 MCP 服务器)
pip install content-core

# 或者直接使用 uvx(无需安装)
uvx --from "content-core" content-core-mcp

添加到你的 claude_desktop_config.json

{
  "mcpServers": {
    "content-core": {
      "命令": "uvx",
      "参数": [
        "--from",
        "content-core",
        "content-core-mcp"
      ]
    }
  }
}

对于详细的设置说明、配置选项和使用示例,请参阅我们的 MCP 文档

增强 PDF 处理

Content Core 特别优化了 PyMuPDF 提取引擎,对科学文档和复杂 PDF 有显著改进。

主要改进

  • 🔬 数学公式提取:增强的质量标志消除 <!-- 公式未解码 --> 占位符
  • 📊 自动表格检测:表格转换为 Markdown 格式供 LLM 消费
  • 🔧 质量文本渲染:更好的连字、空白和图文整合
  • ⚡ 可选 OCR 增强:选择性 OCR 对于公式密集页面(需要 Tesseract)

科学文档配置

对于含有大量数学内容的文档,启用 OCR 增强:

# 在 cc_config.yaml 中
提取:
  pymupdf:
    enable_formula_ocr: true      # 启用公式密集页面的 OCR
    formula_threshold: 3          # 每页最小公式数触发 OCR
    ocr_fallback: true            # OCR 失败时优雅回退
# 运行时配置
from content_core.config import set_pymupdf_ocr_enabled
set_pymupdf_ocr_enabled(True)

OCR 增强需求

# 安装 Tesseract OCR(可选,用于公式增强)
# macOS
brew install tesseract

# Ubuntu/Debian
sudo apt-get install tesseract-ocr

注意:OCR 是可选的 - 你可以在没有任何额外设置的情况下获得改进的 PDF 提取。

macOS 服务集成

Content Core 提供强大的 Finder 右键集成,允许你从任何文件中提取和总结内容,无需安装。提供剪贴板或 TextEdit 输出以实现最大灵活性。

可用服务

创建 4 个方便的服务 以适应不同的工作流程:

  • 提取内容 → 剪贴板 - 快速复制立即粘贴
  • 提取内容 → TextEdit - 审查后再使用
  • 总结内容 → 剪贴板 - 快速摘要复制
  • 总结内容 → TextEdit - 带标题的格式化摘要

快速设置

  1. 安装 uv(如果尚未安装):

    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  2. 手动创建服务 使用 Automator(5 分钟设置)

使用

右键点击任何受支持的文件 在 Finder 中 → 服务 → 选择你的选项:

  • PDFs, Word 文档 - 立即文本提取
  • 视频、音频文件 - 自动转录
  • 图像 - OCR 文本识别
  • 网络内容 - 清洁文本提取
  • 多个文件 - 批量处理支持

特点

  • 零安装处理:使用 uvx 进行隔离执行
  • 多种输出选项:剪贴板或 TextEdit 显示
  • 系统通知:完成时的视觉反馈
  • 广泛的格式支持:支持 20 多种文件类型
  • 批量处理:一次处理多个文件
  • 键盘快捷键:为高级用户分配热键

完整的设置说明和复制粘贴脚本,请参阅 macOS 服务文档

Raycast 扩展

Content Core 提供了一个强大的 Raycast 扩展,具有智能自动检测功能,可以无缝处理 URL 和文件路径。直接从 Raycast 接口提取和总结内容,无需切换应用程序。

快速设置

从 Raycast 商店(即将推出):

  1. 打开 Raycast 并搜索“Content Core”
  2. 安装由 luis_novo 提供的扩展
  3. 在偏好设置中配置 API 密钥

手动安装

  1. 从仓库下载扩展
  2. 打开 Raycast → “导入扩展”
  3. 选择 raycast-content-core 文件夹

命令

🔍 提取内容 - 智能 URL/文件检测,带完整界面

  • 实时自动检测 URL 与文件路径
  • 多种输出格式(文本、JSON、XML)
  • 支持拖放文件
  • 带元数据的丰富结果视图

📝 总结内容 - AI 功能摘要,可定制样式

  • 9 种不同的摘要样式(项目符号、执行摘要等)
  • 实时自动检测源类型并提供视觉反馈
  • 一键创建摘录和快速链接

⚡ 快速提取 - 即时提取到剪贴板

  • 输入 → Tab → 粘贴来源 → Enter
  • 无需界面,直接从命令栏操作
  • 适用于快速工作流

特点

  • 智能自动检测:即时识别 URL 与文件路径
  • 零安装:使用 uvx 执行 Content Core
  • 丰富的集成:键盘快捷键、剪贴板操作、Raycast 摘录
  • 所有文件类型:文档、视频、音频、图像、归档
  • 实时反馈:实时类型检测图标

详细的设置、配置和使用示例,请参阅 Raycast 扩展示文档

使用 Langchain

对于集成 Langchain 框架的用户,content-core 提供了一组兼容工具。这些工具位于 src/content_core/tools 目录中,允许你在 Langchain 代理和链中直接利用 content-core 提取、清理和总结功能。

你可以像使用其他 Langchain 工具一样导入和使用这些工具。例如:

from content_core.tools import extract_content_tool, cleanup_content_tool, summarize_content_tool
from langchain.agents import initialize_agent, AgentType

工具 = [extract_content_tool, cleanup_content_tool, summarize_content_tool]
代理 = initialize_agent(工具, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True)
代理.run("从 https://example.com 提取内容然后总结它。")

参考 src/content_core/tools 中的源代码以获取特定工具实现和使用详情。

基本使用

核心功能围绕 extract_content 函数展开。

import asyncio
from content_core.extraction import extract_content

async def main():
    # 从原始文本提取
    文本数据 = await extract_content({"内容": "这是我的样本文本内容。"})
    print(文本数据)

    # 从 URL 提取(默认使用 'auto' 引擎)
    URL 数据 = await extract_content({"url": "https://www.example.com"})
    print(URL 数据)

    # 从本地视频文件提取(获取转录,默认引擎为 'auto')
    视