内容核心
 ](https://badge.fury.io/py/content-core) ](https://pepy.tech/project/content-core) ](https://pepy.tech/project/content-core) ](https://github.com/lfnovo/content-core) ](https://github.com/lfnovo/content-core) ](https://github.com/lfnovo/content-core/issues) 
通过统一的异步Python API、CLI或MCP服务器从URL、文件和文本中提取、处理和汇总内容。
支持格式
| 类别 | 格式 |
|---|---|
| Web | URL、HTML页面、YouTube视频、Reddit帖子 |
| 文档 | PDF、DOCX、PPTX、XLSX、EPUB、Markdown、纯文本 |
| 媒体 | MP3、WAV、M4A、FLAC、OGG(音频);MP4、AVI、MOV、MKV(视频) |
快速开始
pip install content-coreimport content_core
result = await content_core.extract_content(url="https://example.com")
print(result.content)或者零安装:
uvx content-core extract "https://example.com"CLI使用情况
Content Core提供了一个统一的 content-core 命令,带有用于提取、摘要和MCP服务器的子命令。
提取
# From a URL
content-core extract "https://example.com"
# From a file
content-core extract document.pdf
# With JSON output
content-core extract document.pdf --format json
# With a specific engine
content-core extract "https://example.com" --engine firecrawl
# From stdin
echo "some text" | content-core extract总结
# Summarize text
content-core summarize "Long article text here..."
# With context
content-core summarize "Long text" --context "bullet points"
# From stdin
cat article.txt | content-core summarize --context "explain to a child"MCP服务器
content-core mcp配置
# Set persistent config
content-core config set llm_provider anthropic
content-core config set llm_model claude-sonnet-4-20250514
# List current config
content-core config list
# Delete a config value
content-core config delete llm_provider配置存储在 ~/.content-core/config.toml优先级:命令标志>环境变量>配置文件>默认值。
使用uvx进行零安装
所有命令无需安装即可使用 uvx:
uvx content-core extract "https://example.com"
uvx content-core summarize "text" --context "one sentence"
uvx content-core mcpPython API
提取
import content_core
# From a URL
result = await content_core.extract_content(url="https://example.com")
# From a file
result = await content_core.extract_content(file_path="document.pdf")
# From text
result = await content_core.extract_content(content="some text")
# With engine override
from content_core import ContentCoreConfig
config = ContentCoreConfig(url_engine="firecrawl")
result = await content_core.extract_content(url="https://example.com", config=config)摘要
import content_core
summary = await content_core.summarize("long article text", context="bullet points")配置
from content_core import ContentCoreConfig
config = ContentCoreConfig(
url_engine="firecrawl",
document_engine="docling",
audio_concurrency=5,
)
result = await content_core.extract_content(url="https://example.com", config=config)MCP集成
Content Core包括一个模型上下文协议(MCP)服务器,用于与Claude Desktop和其他MCP兼容的应用程序一起使用。
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"content-core": {
"command": "uvx",
"args": ["content-core", "mcp"],
"env": {
"OPENAI_API_KEY": "sk-..."
}
}
}
}MCP服务器公开了两个工具: extract_content 和 summarize_content。两者都返回纯文本。
有关详细设置,请参阅 MCP文件.
克劳德代码技能
内容核心包括 SKILL.md 它教导AI代理如何使用它从外部源提取内容。要使其在Claude Code项目中可用,请将其复制到技能目录中:
# Download the skill
curl -o .claude/skills/content-core/SKILL.md --create-dirs \
https://raw.githubusercontent.com/lfnovo/content-core/main/SKILL.md安装后,Claude Code可以通过CLI使用内容核心从URL、文档和媒体文件中提取内容(uvx content-core)或MCP(如果已配置)。
AI提供商
内容核心使用 世界语 以支持多个LLM和STT提供商。通过更改配置来切换提供程序——无需更改代码:
# Use Anthropic for summarization
content-core config set llm_provider anthropic
content-core config set llm_model claude-sonnet-4-20250514
# Use Groq for transcription
content-core config set stt_provider groq
content-core config set stt_model whisper-large-v3支持的提供商包括OpenAI、Anthropic、谷歌、Groq、DeepSeek、Ollama等。请参阅 世界语文档 查看完整列表。
配置
内容核心使用 ContentCoreConfig 由pydantic设置供电。设置按优先级顺序解析:构造函数args>环境变量(CCORE_*)>配置文件(~/.content-core/config.toml)>默认值。
环境变量
| 变量 | 描述 | 默认值 |
|---|---|---|
CCORE_URL_ENGINE | URL提取引擎(auto, simple, firecrawl, jina, crawl4ai) | auto |
CCORE_DOCUMENT_ENGINE | 文档提取引擎(auto, simple, docling) | auto |
CCORE_AUDIO_CONCURRENCY | 并发音频转录(1-10) | 3 |
CRAWL4AI_API_URL | Crawl4AI Docker API URL(本地浏览器模式省略) | - |
FIRECRAWL_API_URL | 自托管实例的自定义Firecrawl API URL | - |
CCORE_FIRECRAWL_PROXY | Firecrawl代理模式(auto, basic, stealth) | auto |
CCORE_FIRECRAWL_WAIT_FOR | 提取前的等待时间(毫秒) | 3000 |
CCORE_LLM_PROVIDER | LLM摘要提供者 | - |
CCORE_LLM_MODEL | LLM总结模型 | - |
CCORE_STT_PROVIDER | 语音转文本提供程序 | - |
CCORE_STT_MODEL | 语音转文本模型 | - |
CCORE_STT_TIMEOUT | 语音转文本超时(秒) | - |
CCORE_YOUTUBE_LANGUAGES | 首选YouTube文字记录语言 | - |
用于外部服务的API密钥经由它们的标准环境变量(例如。, OPENAI_API_KEY, FIRECRAWL_API_KEY, JINA_API_KEY).
代理配置
内容核心阅读标准 HTTP_PROXY / HTTPS_PROXY / NO_PROXY 环境变量自动。不需要额外的配置。
可选依赖关系
# Docling for advanced document parsing (PDF, DOCX, PPTX, XLSX)
pip install content-core[docling]
# Crawl4AI for local browser-based URL extraction
pip install content-core[crawl4ai]
python -m playwright install --with-deps
# LangChain tool wrappers
pip install content-core[langchain]
# All optional features
pip install content-core[docling,crawl4ai,langchain]与LangChain一起使用
当与一起安装时 langchain 此外,Content Core提供了与LangChain兼容的工具包装器:
from content_core.tools import extract_content_tool, summarize_content_tool
tools = [extract_content_tool, summarize_content_tool]文档
发展
git clone https://github.com/lfnovo/content-core
cd content-core
uv sync --group dev
# Run tests
make test
# Lint
make ruff许可证
该项目根据 MIT许可证.
贡献
欢迎投稿!请查看我们的 贡献指南 了解详情。
