TheoremExplainAgent
TheoremExplainAgent 是一款专为大型语言模型(LLM)设计的智能系统,能够自动生成基于 Manim 引擎的长格式数学定理讲解视频。它致力于解决传统纯文本解释在展示复杂数学推理时的局限性:文字往往难以直观呈现动态推导过程,且容易掩盖模型逻辑中的细微漏洞。通过将抽象的定理转化为包含动态图形与语音解说的多模态视频,TheoremExplainAgent 不仅能更清晰地验证模型对数学概念的深度理解,还能有效暴露其推理缺陷。
该工具特别适合 AI 研究人员、教育科技开发者以及数学教育工作者使用。对于研究者而言,项目开源了完整的生成与评估代码,并提供了一套高质量的基准视频数据集,便于进行多模态推理能力的对比研究;对于教育者,它能辅助制作直观的数学教学素材。其核心技术亮点在于构建了从定理文本到动态视觉视频的端到端生成流程,结合了先进的文本到语音(TTS)技术与专业的数学动画渲染能力。作为 ACL 2025 的口头报告论文成果,TheoremExplainAgent 为探索大模型在严谨科学领域的可解释性提供了全新的视角与强有力的工具支持。
使用场景
一位数学教育博主正在制作关于“斯托克斯定理”的深度科普视频,试图向观众直观展示向量场在曲面与边界曲线间的积分关系。
没有 TheoremExplainAgent 时
- 抽象难懂:仅靠口播和静态公式,观众难以在脑海中构建三维空间中曲面法向量与边界切向量的动态关联,导致完播率极低。
- 制作门槛高:若要手动制作高质量动画,博主需精通 Manim 引擎或 After Effects,编写数百行代码逐帧绘制几何变换,耗时数天甚至数周。
- 逻辑隐蔽错误:纯文本推导容易掩盖推理漏洞,博主可能在未察觉的情况下混淆了积分方向或适用条件,直到发布后被专业观众指出。
- 多模态割裂:配音、字幕与画面往往分开制作,难以保证语音讲解的节奏与图形变化的瞬间完美同步,影响学习体验。
使用 TheoremExplainAgent 后
- 视觉化呈现:TheoremExplainAgent 自动生成包含完整推导过程的长视频,动态演示曲面收缩为边界曲线的连续变形过程,让抽象概念一目了然。
- 自动化生产:只需输入定理描述,系统即可调用 Manim 引擎自动编排场景、生成图形并合成 Kokoro 语音,将数天的工作量压缩至分钟级。
- 深度推理验证:系统在生成视频过程中通过多模态对齐自我审视,主动发现并修正了初始提示中关于“右手定则”方向的逻辑瑕疵,确保内容严谨。
- 音画完美同步:生成的视频中,关键公式的高亮、图形的旋转与语音解说严格对应,实现了真正的多模态融合教学。
TheoremExplainAgent 通过将深奥的数学证明转化为直观的动态视频,不仅极大降低了高阶知识的生产成本,更以视觉化的方式揭示了纯文本无法发现的逻辑细节。
运行环境要求
- Linux
- macOS
- Windows
未说明 (主要依赖外部 API 模型如 OpenAI/Gemini,本地仅运行 Kokoro TTS ONNX 模型和 Manim 渲染,通常无需专用 GPU,但视频渲染可能受益于 GPU 加速)
未说明 (建议 16GB+ 以支持多并发场景生成和视频渲染)

快速开始
定理解释代理 (TEA) 🍵
🌐 主页 | 📖 arXiv | 🤗 HuggingFace 数据集 | 🎥视频数据 | ▶️ YouTube
本仓库包含我们论文《TheoremExplainAgent: 面向LLM定理理解的基于视频的多模态解释》的代码库(https://arxiv.org/abs/2502.19400)。
ACL 2025 主会(口头报告)
简介
TheoremExplainAgent 是一种人工智能系统,能够生成长篇的 Manim 视频来直观地解释定理,在展示其深度理解的同时,揭示仅靠文本难以发现的推理漏洞。
https://github.com/user-attachments/assets/17f2f4f2-8f2c-4abc-b377-ac92ebda69f3
📰 新闻
- 2025年6月24日:论文被选为口头报告(前3%)。
- 2025年6月8日:我们发布了生成的视频数据,供研究人员作为基线参考。
- 2025年5月15日:论文被接受至 ACL 2025 主会。
- 2025年3月3日:生成代码和评估代码发布。感谢大家的耐心等待!
下载生成的视频数据
如果您只想试用代码,请跳过本节。 如果您是研究人员,只需要这些基线视频作为对比基准,请在此处下载:
wget --save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate 'https://docs.google.com/uc?export=download&id=18kmzXvbxaFGyJw-g51jnq9m93v_ez4aJ' -O /tmp/gdrive.html && wget --load-cookies /tmp/cookies.txt -O baseline_videos.zip "https://drive.usercontent.google.com/download?id=18kmzXvbxaFGyJw-g51jnq9m93v_ez4aJ&export=download&confirm=$(sed -rn 's/.*name="confirm" value="([^"]+)".*/\\1/p' /tmp/gdrive.html)&uuid=$(sed -rn 's/.*name="uuid" value="([^"]+)".*/\\1/p' /tmp/gdrive.html)" && rm /tmp/gdrive.html /tmp/cookies.txt
安装
如果您遇到任何问题,请查看此 README 文档中的【FAQ】部分
如果仍无法解决,请创建一个 issue
- 设置 conda 环境
conda create --name tea python=3.12.8
conda activate tea
pip install -r requirements.txt
- 您可能还需要安装 LaTeX 和其他 Manim Community 的依赖项。更多详情请参阅 Manim 安装文档。
# 如果您使用的是 Linux Ubuntu,可能需要以下依赖:
sudo apt-get install portaudio19-dev
sudo apt-get install libsdl-pango-dev
- 接着使用以下命令下载 Kokoro 模型和语音文件,以启用 TTS 服务。
mkdir -p models && wget -P models https://github.com/thewh1teagle/kokoro-onnx/releases/download/model-files/kokoro-v0_19.onnx && wget -P models https://github.com/thewh1teagle/kokoro-onnx/releases/download/model-files/voices.bin
- 根据
.env.template文件创建.env文件,并按照您选择使用的模型填写环境变量。 可参考 LiteLLM 文档。
touch .env
然后打开 .env 文件,使用您喜欢的文本编辑器进行编辑。
您的 .env 文件应如下所示:
# OpenAI
OPENAI_API_KEY=""
# Azure OpenAI
AZURE_API_KEY=""
AZURE_API_BASE=""
AZURE_API_VERSION=""
# Google Vertex AI
VERTEXAI_PROJECT=""
VERTEXAI_LOCATION=""
GOOGLE_APPLICATION_CREDENTIALS=""
# Google Gemini
GEMINI_API_KEY=""
...
# Kokoro TTS 设置
KOKORO_MODEL_PATH="models/kokoro-v0_19.onnx"
KOKORO_VOICES_PATH="models/voices.bin"
KOKORO_DEFAULT_VOICE="af"
KOKORO_DEFAULT_SPEED="1.0"
KOKORO_DEFAULT_LANG="en-us"
请根据您要使用的模型填写相应的 API 密钥。
- 配置 Python 路径。请注意,您需要配置 Python 路径才能正常运行。否则可能会遇到导入问题(例如无法导入 src 等)。
export PYTHONPATH=$(pwd):$PYTHONPATH
- (可选)若需设置 RAG,请参阅 https://github.com/TIGER-AI-Lab/TheoremExplainAgent?tab=readme-ov-file#generation-with-rag。
如果您遇到任何问题,请查看此 README 文档中的【FAQ】部分
如果仍无法解决,请创建一个 issue
生成
支持的模型
模型命名遵循 LiteLLM 规范。有关模型命名的详细信息,请参阅 LiteLLM 文档。
单主题生成
python generate_video.py \
--model "openai/o3-mini" \
--helper_model "openai/o3-mini" \
--output_dir "output/your_exp_name" \
--topic "your_topic" \
--context "description of your topic, e.g. 'This is a topic about the properties of a triangle'" \
示例:
python generate_video.py \
--model "openai/o3-mini" \
--helper_model "openai/o3-mini" \
--output_dir "output/my_exp_name" \
--topic "大 O 记号" \
--context "计算机科学中用于衡量最坏情况复杂度最常见的渐近符号" \
批量生成
python generate_video.py \
--model "openai/o3-mini" \
--helper_model "openai/o3-mini" \
--output_dir "output/my_exp_name" \
--theorems_path data/thb_easy/math.json \
--max_scene_concurrency 7 \
--max_topic_concurrency 20 \
使用 RAG 生成视频
在使用 RAG 之前,请从此 Google Drive 链接 下载 RAG 文档。下载后,请解压文件。例如,如果将其解压到 data/rag/manim_docs,则应将 --manim_docs_path 设置为 data/rag/manim_docs。向量数据库将在首次运行 RAG 时创建。
python generate_video.py \
--model "openai/o3-mini" \
--helper_model "openai/o3-mini" \
--output_dir "output/with_rag/o3-mini/vtutorbench_easy/math" \
--topic "大 O 表示法" \
--context "计算机科学中用于衡量最坏情况复杂度的最常见的渐近符号类型" \
--use_rag \
--chroma_db_path "data/rag/chroma_db" \
--manim_docs_path "data/rag/manim_docs" \
--embedding_model "vertex_ai/text-embedding-005"
我们支持更多生成选项,详情如下:
usage: generate_video.py [-h]
[--model]
[--topic TOPIC] [--context CONTEXT]
[--helper_model]
[--only_gen_vid] [--only_combine] [--peek_existing_videos] [--output_dir OUTPUT_DIR] [--theorems_path THEOREMS_PATH]
[--sample_size SAMPLE_SIZE] [--verbose] [--max_retries MAX_RETRIES] [--use_rag] [--use_visual_fix_code]
[--chroma_db_path CHROMA_DB_PATH] [--manim_docs_path MANIM_DOCS_PATH]
[--embedding_model {azure/text-embedding-3-large,vertex_ai/text-embedding-005}] [--use_context_learning]
[--context_learning_path CONTEXT_LEARNING_PATH] [--use_langfuse] [--max_scene_concurrency MAX_SCENE_CONCURRENCY]
[--max_topic_concurrency MAX_TOPIC_CONCURRENCY] [--debug_combine_topic DEBUG_COMBINE_TOPIC] [--only_plan] [--check_status]
[--only_render] [--scenes SCENES [SCENES ...]]
使用 AI 生成 Manim 视频
options:
-h, --help 显示此帮助信息并退出
--model 选择要使用的 AI 模型
--topic TOPIC 要生成视频的主题
--context CONTEXT 主题的背景信息
--helper_model 选择要使用的辅助模型
--only_gen_vid 仅根据现有计划生成视频
--only_combine 仅合并视频
--peek_existing_videos, --peek
查看现有视频
--output_dir OUTPUT_DIR
输出目录
--theorems_path THEOREMS_PATH
定理 JSON 文件的路径
--sample_size SAMPLE_SIZE, --sample SAMPLE_SIZE
要采样的定理数量
--verbose 打印详细输出
--max_retries MAX_RETRIES
代码生成的最大重试次数
--use_rag, --rag 使用检索增强生成
--use_visual_fix_code, --visual_fix_code
使用 VLM 根据渲染后的画面修复代码
--chroma_db_path CHROMA_DB_PATH
Chroma DB 的路径
--manim_docs_path MANIM_DOCS_PATH
Manim 文档的路径
--embedding_model {azure/text-embedding-3-large,vertex_ai/text-embedding-005}
选择要使用的嵌入模型
--use_context_learning
使用示例 Manim 代码进行上下文学习
--context_learning_path CONTEXT_LEARNING_PATH
上下文学习示例的路径
--use_langfuse 启用 Langfuse 日志记录
--max_scene_concurrency MAX_SCENE_CONCURRENCY
可同时处理的最大场景数
--max_topic_concurrency MAX_TOPIC_CONCURRENCY
可同时处理的最大主题数
--debug_combine_topic DEBUG_COMBINE_TOPIC
调试合并视频
--only_plan 仅生成场景大纲和实现计划
--check_status 检查所有定理的规划和代码状态
--only_render 仅渲染场景,不合并视频
--scenes SCENES [SCENES ...]
要处理的具体场景(如果提供了 theorems_path)
评估
请注意,评估需要使用 Gemini 和 GPT4o。
目前,评估需要一个视频文件和一个字幕文件(SRT 格式)。
视频评估:
用法:evaluate.py [-h]
[--model_text {gemini/gemini-1.5-pro-002,gemini/gemini-1.5-flash-002,gemini/gemini-2.0-flash-001,vertex_ai/gemini-1.5-flash-002,vertex_ai/gemini-1.5-pro-002,vertex_ai/gemini-2.0-flash-001,openai/o3-mini,gpt-4o,azure/gpt-4o,azure/gpt-4o-mini,bedrock/anthropic.claude-3-5-sonnet-20240620-v1:0,bedrock/anthropic.claude-3-5-sonnet-20241022-v2:0,bedrock/anthropic.claude-3-5-haiku-20241022-v1:0,bedrock/us.anthropic.claude-3-7-sonnet-20250219-v1:0}]
[--model_video {gemini/gemini-1.5-pro-002,gemini/gemini-2.0-flash-exp,gemini/gemini-2.0-pro-exp-02-05}]
[--model_image {gemini/gemini-1.5-pro-002,gemini/gemini-1.5-flash-002,gemini/gemini-2.0-flash-001,vertex_ai/gemini-1.5-flash-002,vertex_ai/gemini-1.5-pro-002,vertex_ai/gemini-2.0-flash-001,openai/o3-mini,gpt-4o,azure/gpt-4o,azure/gpt-4o-mini,bedrock/anthropic.claude-3-5-sonnet-20240620-v1:0,bedrock/anthropic.claude-3-5-sonnet-20241022-v2:0,bedrock/anthropic.claude-3-5-haiku-20241022-v1:0,bedrock/us.anthropic.claude-3-7-sonnet-20250219-v1:0}]
[--eval_type {text,video,image,all}] --file_path FILE_PATH --output_folder OUTPUT_FOLDER [--retry_limit RETRY_LIMIT] [--combine] [--bulk_evaluate] [--target_fps TARGET_FPS]
[--use_parent_folder_as_topic] [--max_workers MAX_WORKERS]
使用 LLM 自动评估定理解释视频
选项:
-h, --help 显示此帮助消息并退出
--model_text {gemini/gemini-1.5-pro-002,gemini/gemini-1.5-flash-002,gemini/gemini-2.0-flash-001,vertex_ai/gemini-1.5-flash-002,vertex_ai/gemini-1.5-pro-002,vertex_ai/gemini-2.0-flash-001,openai/o3-mini,gpt-4o,azure/gpt-4o,azure/gpt-4o-mini,bedrock/anthropic.claude-3-5-sonnet-20240620-v1:0,bedrock/anthropic.claude-3-5-sonnet-20241022-v2:0,bedrock/anthropic.claude-3-5-haiku-20241022-v1:0,bedrock/us.anthropic.claude-3-7-sonnet-20250219-v1:0}
选择用于文本评估的 AI 模型
--model_video {gemini/gemini-1.5-pro-002,gemini/gemini-2.0-flash-exp,gemini/gemini-2.0-pro-exp-02-05}
选择用于视频评估的 AI 模型
--model_image {gemini/gemini-1.5-pro-002,gemini/gemini-1.5-flash-002,gemini/gemini-2.0-flash-001,vertex_ai/gemini-1.5-flash-002,vertex_ai/gemini-1.5-pro-002,vertex_ai/gemini-2.0-flash-001,openai/o3-mini,gpt-4o,azure/gpt-4o,azure/gpt-4o-mini,bedrock/anthropic.claude-3-5-sonnet-20240620-v1:0,bedrock/anthropic.claude-3-5-sonnet-20241022-v2:0,bedrock/anthropic.claude-3-5-haiku-20241022-v1:0,bedrock/us.anthropic.claude-3-7-sonnet-20250219-v1:0}
选择用于图像评估的 AI 模型
--eval_type {text,video,image,all}
要执行的评估类型
--file_path FILE_PATH
文件或定理文件夹的路径
--output_folder OUTPUT_FOLDER
存储评估文件的目录
--retry_limit RETRY_LIMIT
每次推理的重试次数
--combine 将所有结果合并到一个 JSON 文件中
--bulk_evaluate 一起评估一个定理文件夹
--target_fps TARGET_FPS
视频处理的目标帧率。如果不设置,则使用原始视频的帧率
--use_parent_folder_as_topic
对单个文件进行评估时,将父文件夹名称用作主题名称
--max_workers MAX_WORKERS
并行处理的最大工作线程数
- 对于
file_path,建议传递一个同时包含 MP4 文件和 SRT 文件的文件夹。
杂项:修改 TheoremExplainAgent 中的系统提示
如果您想修改系统提示,您需要:
- 修改
task_generator/prompts_raw文件夹中的文件。 - 运行
task_generator/parse_prompt.py以重新构建__init__.py文件。
cd task_generator
python parse_prompt.py
cd ..
TheoremExplainBench (TEB)
TheoremExplainBench 可以在 https://huggingface.co/datasets/TIGER-Lab/TheoremExplainBench 上找到。
使用方法:
import datasets
dataset = datasets.load_dataset("TIGER-Lab/TheoremExplainBench")
数据集信息:
DatasetDict({
train: Dataset({
features: ['uid', 'subject', 'difficulty', 'theorem', 'description', 'subfield'],
num_rows: 240
})
})
❓ 常见问题解答
常见问题解答应涵盖您可能遇到的最常见错误。如果您遇到新的问题,请在 issues 中报告。
问:错误 src.utils.kokoro_voiceover import KokoroService # 您必须这样导入,因为这是我们的自定义配音服务。 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ModuleNotFoundError: 没有名为 'src' 的模块。
答:请在启动新终端时运行 export PYTHONPATH=$(pwd):$PYTHONPATH。
问:错误 未找到文件。
答:请检查您的 Manim 安装。
问:错误 latex ...。
答:请检查您的 LaTeX 安装。
问:输出日志没有显示响应?
答:这可能是 API 相关的问题。请确保您的 .env 文件配置正确(填写您的 API 密钥),或者您可以启用 litellm 调试模式来找出问题所在。
问:计划 / 场景缺失?
答:这可能是 API 相关的问题。请确保您的 .env 文件配置正确(填写您的 API 密钥),或者您可以启用 litellm 调试模式来找出问题所在。
🖊️ 引用
如果您使用我们的代码、数据、模型或结果,请务必引用我们的论文:
@misc{ku2025theoremexplainagentmultimodalexplanationsllm,
title={TheoremExplainAgent: 向多模态解释迈进——用于 LLM 定理理解},
author={Max Ku 和 Thomas Chong 和 Jonathan Leung 和 Krish Shah 和 Alvin Yu 和 Wenhu Chen},
year={2025},
eprint={2502.19400},
archivePrefix={arXiv},
primaryClass={cs.AI},
url={https://arxiv.org/abs/2502.19400},
}
🎫 许可证
本项目采用 MIT 许可证 发布。
⭐ 星标历史
💞 致谢
我们感谢 Votee AI 捐赠了用于访问闭源模型的 API 密钥。
本代码基于以下仓库构建,我们感谢所有贡献者将其开源:
- Manim Community
- kokoro-manim-voiceover
- manim-physics
- manim-Chemistry
- ManimML
- manim-dsa
- manim-circuit
🚨 免责声明
本作品仅用于研究目的。作者不鼓励也不支持将此代码库用于商业用途。代码按“原样”提供,不提供任何担保,用户需自行承担使用该代码的所有责任。
测试环境:MacOS、Linux
常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

