TensorFlow-Object-Detection-on-the-Raspberry-Pi
TensorFlow-Object-Detection-on-the-Raspberry-Pi 是一份详尽的实战教程,旨在指导用户如何在树莓派这一低成本硬件上部署谷歌的 TensorFlow 对象检测 API。它主要解决了在资源受限的边缘设备上配置复杂深度学习环境的技术难题,让用户能够轻松利用树莓派配合摄像头,实现对实时视频流中特定物体的自动识别与追踪。
这份指南非常适合嵌入式开发者、AI 爱好者以及希望将智能视觉功能融入物联网项目的研究人员。无论是想监控花园里的动物、检测停车场空位,还是构建个性化的宠物监测器,用户都能从中找到落地的解决方案。其独特的技术亮点在于紧跟技术迭代,简化了原本繁琐的安装流程:现在只需通过简单的 pip 命令即可安装 TensorFlow,并利用系统包管理器直接编译 Protobuf,大幅降低了入门门槛。此外,项目还附带了实用的示例代码(如宠物检测脚本),展示了从环境搭建到实际应用的完整闭环,帮助用户快速将创意转化为现实。
使用场景
一位社区花园管理者希望自动监控菜园,防止兔子偷吃珍贵蔬菜,同时避免全天候人工蹲守。
没有 TensorFlow-Object-Detection-on-the-Raspberry-Pi 时
- 管理者必须每隔几小时亲自巡视菜园,耗费大量体力且无法覆盖夜间时段。
- 若尝试购买商用智能监控设备,不仅价格昂贵,还难以针对“兔子”这一特定目标进行定制化识别。
- 自行在树莓派上从零配置 TensorFlow 环境和编译依赖库极其复杂,极易因版本冲突导致项目搁浅。
- 即使勉强运行模型,缺乏优化的代码往往导致帧率过低,无法实时捕捉快速移动的动物。
- 发现侵害时通常为时已晚,蔬菜已被啃食,只能事后补救而非事前预警。
使用 TensorFlow-Object-Detection-on-the-Raspberry-Pi 后
- 利用该工具提供的详细指南,管理者轻松在低成本的树莓派上部署了实时检测系统,实现 24 小时无人值守监控。
- 通过集成教程中提到的自定义训练方法,系统能精准识别“兔子”而非误报风吹草动,专物专用。
- 借助更新后的简化安装步骤(如直接 pip 安装 TensorFlow),原本繁琐的环境搭建过程缩短至几小时内完成。
- 系统运行流畅,能实时分析摄像头画面,一旦检测到兔子进入即刻触发警报或发送通知到手机。
- 管理者可及时远程干预驱赶动物,有效保护了作物,将被动损失转变为主动防御。
核心价值在于它将高门槛的 AI 视觉技术转化为低成本、易部署的树莓派解决方案,让普通人也能轻松构建定制化的智能安防系统。
运行环境要求
- Linux (Raspbian Stretch v9 或更新版本)
不需要 GPU,专为树莓派 CPU 运行设计
最低未说明,推荐树莓派 3B 或以上型号(通常配备 1GB RAM)

快速开始
在树莓派上设置 TensorFlow 对象检测 API 的教程
更新日期:2019年10月13日: 现在在树莓派上设置 TensorFlow 对象检测 API 已经容易得多!有两个主要更新:1) 可以直接使用“pip3 install tensorflow”来安装 TensorFlow。2) 可以使用“sudo apt-get install protobuf-compiler”来安装 Protocol Buffers 编译器(protoc)。我已经更新了步骤 3 和步骤 4,以反映这些变化。
额外福利:我编写了一个宠物检测程序(Pet_detector.py),当它检测到我的猫想出去时,会给我发送一条短信!该程序运行在树莓派上,并使用 TensorFlow 对象检测 API。你可以将此代码作为自己对象检测应用的示例。更多信息请参见本自述文件的底部。
简介
本指南提供了在树莓派上设置 TensorFlow 对象检测 API 的分步说明。按照本指南中的步骤操作,你将能够使用树莓派对来自 Picamera 或 USB 网络摄像头的实时视频流进行对象检测。将本指南与我的关于如何训练自己的神经网络来识别特定物体的教程结合使用,你就可以利用树莓派实现各种独特的检测应用,例如:
- 检测花园里是否有兔子正在吃你珍贵的蔬菜
- 告诉你公寓楼前是否还有空闲停车位
- 蜂箱蜜蜂计数器
- 二十一点牌桌上的算牌机器人
- 以及你能想到的任何其他用途!
这里有一段我制作的 YouTube 视频,详细介绍了本指南的内容!
本指南将逐步介绍以下步骤:
- 更新树莓派
- 安装 TensorFlow
- 安装 OpenCV
- 编译并安装 Protocol Buffers
- 设置 TensorFlow 目录结构和 PYTHONPATH 环境变量
- 开始检测对象!
- 额外福利:宠物检测器!
该仓库还包含 Object_detection_picamera.py 脚本,这是一个 Python 脚本,用于加载 TensorFlow 中的对象检测模型,并利用它在 Picamera 视频流中检测对象。本指南是基于 TensorFlow v1.8.0,在运行 Raspbian Stretch v9 的 Raspberry Pi Model 3B 上编写的。它很可能也适用于较新版本的 TensorFlow。
步骤
1. 更新树莓派
首先,需要将树莓派完全更新。打开终端并执行以下命令:
sudo apt-get update
sudo apt-get dist-upgrade
根据你上次更新树莓派的时间长短,升级过程可能需要一分钟到一小时不等。
2. 安装 TensorFlow
更新日期:2019年10月13日:说明已更改为直接使用“pip3 install tensorflow”,而不是从 lhelontra 的仓库获取。旧的说明已被移至本指南的附录。
接下来,我们将安装 TensorFlow。下载文件较大(超过 100MB),因此可能需要一些时间。执行以下命令:
pip3 install tensorflow
TensorFlow 还需要 LibAtlas 包。通过执行以下命令来安装它。(如果此命令不起作用,请先执行“sudo apt-get update”,然后再试一次)。
sudo apt-get install libatlas-base-dev
顺便说一下,我们还需要安装 TensorFlow 对象检测 API 所需的其他依赖项。这些依赖项列在 TensorFlow 对象检测 GitHub 仓库中的安装说明中。执行以下命令:
sudo pip3 install pillow lxml jupyter matplotlib cython
sudo apt-get install python-tk
好了,TensorFlow 所需的一切都准备好了!接下来是 OpenCV。
3. 安装 OpenCV
TensorFlow 的对象检测示例通常使用 matplotlib 来显示图像,但我更喜欢使用 OpenCV,因为它更容易使用且出错的可能性更小。本指南 GitHub 仓库中的对象检测脚本就使用了 OpenCV。因此,我们需要安装 OpenCV。
要在树莓派上运行 OpenCV,需要通过 apt-get 安装许多依赖项。如果以下任何一条命令无法执行,请先执行“sudo apt-get update”,然后再试一次。执行以下命令:
sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install qt4-dev-tools libatlas-base-dev
现在所有依赖项都已安装完毕,我们可以安装 OpenCV。执行以下命令:
sudo pip3 install opencv-python
好了,OpenCV 现已安装!
4. 编译并安装 Protocol Buffers
TensorFlow 对象检测 API 使用 Protocol Buffers,这是一种实现 Google Protocol Buffer 数据格式的软件包。过去你需要从源代码编译它,但现在可以直接轻松安装!我已将以前从源代码编译和安装的说明移到了本指南的附录中。
sudo apt-get install protobuf-compiler
完成后,运行 protoc --version 来验证是否已成功安装。你应该会看到类似 libprotoc 3.6.1 的输出。
5. 设置 TensorFlow 目录结构和 PYTHONPATH 环境变量
现在我们已经安装了所有必要的包,接下来需要设置 TensorFlow 的目录结构。首先回到你的主目录,然后创建一个名为“tensorflow1”的目录,并进入该目录:
mkdir tensorflow1
cd tensorflow1
通过以下命令从 GitHub 下载 TensorFlow 仓库:
git clone --depth 1 https://github.com/tensorflow/models.git
接下来,我们需要修改 PYTHONPATH 环境变量,使其指向刚刚下载的 TensorFlow 仓库中的某些目录。为了让每次打开终端时 PYTHONPATH 都能正确设置,我们需要编辑 .bashrc 文件。使用以下命令打开该文件:
sudo nano ~/.bashrc
将光标移动到文件末尾,在最后一行添加:
export PYTHONPATH=$PYTHONPATH:/home/pi/tensorflow1/models/research:/home/pi/tensorflow1/models/research/slim
保存并退出文件。这样每次打开新终端时都会执行“export PYTHONPATH”命令,确保 PYTHONPATH 变量始终正确设置。关闭并重新打开终端。
现在,我们需要使用 Protoc 编译对象检测 API 所使用的 Protocol Buffer (.proto) 文件。这些 .proto 文件位于 /research/object_detection/protos 目录下,但我们必须在 /research 目录中执行该命令。输入以下命令:
cd /home/pi/tensorflow1/models/research
protoc object_detection/protos/*.proto --python_out=.
该命令会将所有的“name”.proto 文件转换为“name_pb2”.py 文件。接下来,进入 object_detection 目录:
cd /home/pi/tensorflow1/models/research/object_detection
现在,我们将从 TensorFlow 检测模型库 下载 SSD_Lite 模型。该模型库是 Google 提供的一系列预训练的对象检测模型,它们在速度和精度上各有不同。由于树莓派的处理器性能较弱,我们需要选择一个对计算资源要求较低的模型。虽然这样的模型运行速度更快,但其精度可能会有所降低。在本教程中,我们将使用 SSDLite-MobileNet 模型,这是目前最快的可用模型。
Google 不断发布速度和性能更优的新模型,因此建议您经常查看模型库,以了解是否有更适合的模型。
通过以下命令下载并解压 SSDLite-MobileNet 模型:
wget http://download.tensorflow.org/models/object_detection/ssdlite_mobilenet_v2_coco_2018_05_09.tar.gz
tar -xzvf ssdlite_mobilenet_v2_coco_2018_05_09.tar.gz
现在,该模型已位于 object_detection 目录中,可以投入使用了。
6. 进行对象检测!
好了,现在一切准备工作都已完成,可以在树莓派上进行对象检测了!此仓库中的 Python 脚本 Object_detection_picamera.py 可以检测来自 Picamera 或 USB 网络摄像头的实时视频流中的物体。基本上,该脚本会设置模型和标签映射文件的路径,将模型加载到内存中,初始化 Picamera,然后开始对 Picamera 捕获的每一帧视频进行对象检测。
如果您使用的是 Picamera,请确保已在树莓派的配置菜单中启用它。
通过以下命令将 Object_detection_picamera.py 文件下载到 object_detection 目录中:
wget https://raw.githubusercontent.com/EdjeElectronics/TensorFlow-Object-Detection-on-the-Raspberry-Pi/master/Object_detection_picamera.py
然后运行该脚本:
python3 Object_detection_picamera.py
该脚本默认使用连接的 Picamera。如果您使用的是 USB 网络摄像头,则需要在命令末尾添加 --usbcam 参数:
python3 Object_detection_picamera.py --usbcam
脚本初始化完成后(可能需要最多 30 秒),您将看到一个窗口显示来自摄像头的实时画面。画面中的常见物体将被识别,并在其周围绘制矩形框。
使用 SSDLite 模型时,树莓派 3 的表现相当不错,帧率可超过 1 FPS。对于大多数实时对象检测应用来说,这已经足够快了。
您也可以使用自己训练的模型(这里有一份指南介绍如何训练自己的模型),只需将冻结的推理图放入 object_detection 目录,并在脚本中更改模型路径即可。您可以使用我的扑克牌检测模型来测试这一功能,该模型基于 ssd_mobilenet_v2 模型训练而成,使用 TensorFlow v1.5 版本,可通过此 Dropbox 链接下载。下载并解压模型后,将其文件夹放入 object_detection 目录,并将 label_map.pbtxt 文件放入 object_detection/data 目录。
然后用文本编辑器打开 Object_detection_picamera.py 脚本。找到设置 MODEL_NAME 的那一行,将字符串改为新模型文件夹的名称;再找到设置 PATH_TO_LABELS 的那一行,将标签映射文件名改为新的标签文件名。最后,将 NUM_CLASSES 变量修改为您模型能够识别的类别数量。
现在,当您运行脚本时,它将使用您提供的模型,而不是 SSDLite_MobileNet 模型。如果您使用的是我的模型,它将能够检测并识别摄像头前出现的任何扑克牌。
注意:如果您计划长时间运行此程序(超过 5 分钟),请务必在树莓派的主 CPU 上安装散热片!大量的计算会使 CPU 温度过高,如果没有散热片,CPU 将因过热而自动关机。
感谢您阅读本教程,希望对您有所帮助。祝您在树莓派上顺利开展对象检测项目!
附录:宠物检测器!
说明
Pet_detector.py 脚本是一个使用 API 进行目标检测的示例应用,当检测到特定物体时会向用户发出警报。我父母家养了两只室内外活动的宠物:一只猫和一只狗。它们经常站在门口耐心地等待主人开门让它们进屋或出门。这款宠物检测器使用 TensorFlow 的 MobileNet-SSD 模型来检测宠物是否靠近门口。它在图像中定义了两个区域:“室内”区域和“室外”区域。如果宠物在任一区域内连续出现至少 10 帧,脚本就会通过 Twilio 向我的手机发送一条短信。
这里有一段 YouTube 视频,展示了宠物检测器的工作原理并进行了详细说明!
使用方法
要运行宠物检测器,请将 Pet_detector.py 下载到您的 /object_detection 目录下,然后执行以下命令:
python3 Pet_detector.py
使用 Pet_detector.py 程序需要先注册一个 Twilio 账户 (请参阅此处的教程)。此外,程序运行前还需要设置四个环境变量:TWILIO_ACCOUNT_SID、TWILIO_AUTH_TOKEN、MY_DIGITS 和 TWILIO_DIGITS。这些变量可以通过 “export” 命令进行设置,如下所示。有关为 Twilio 设置环境变量的更多信息,请参阅 这里。
export TWILIO_ACCOUNT_SID=[sid_value]
export TWILIO_AUTH_TOKEN=[auth_token]
export MY_DIGITS=[您的手机号码]
export TWILIO_DIGITS=[Twilio 账户的电话号码]
其中,sid_value、auth_token 以及 Twilio 账户的电话号码等信息,均会在注册 Twilio 账户时提供。
如果您不想费心设置 Twilio 以便宠物检测器能够给您发送短信,也可以直接注释掉代码中使用 Twilio 库的部分。这样,当您的宠物想要进出时,检测器仍然会在屏幕上显示消息。
此外,您还可以通过调整 TL_inside、BR_inside、TL_outside 和 BR_outside 这四个变量来移动“室内”和“室外”框的位置。
附录
安装 TensorFlow 的旧版说明
这些说明展示了如何使用 lhelontra 的仓库安装 TensorFlow。不过,它们已在 2019 年 10 月 13 日的更新中被替换。我仍将其保留在此处,因为它们正是我在 视频 中所使用的步骤。
在 /home/pi 目录下创建一个名为 ‘tf’ 的文件夹,用于存放 TensorFlow 和 Protobuf 的所有安装文件,并进入该目录:
mkdir tf
cd tf
最新版本的 TensorFlow 已经有一个针对树莓派优化的预编译 wheel 文件,可在 “TensorFlow for ARM” GitHub 仓库 中找到。每当有新的 TensorFlow 版本发布时,GitHub 用户 lhelontra 都会更新该仓库中的预编译安装包。感谢 lhelontra!您可以通过以下命令下载 wheel 文件:
wget https://github.com/lhelontra/tensorflow-on-arm/releases/download/v1.8.0/tensorflow-1.8.0-cp35-none-linux_armv7l.whl
撰写本教程时,最新的 TensorFlow 版本是 1.8.0。如果仓库中提供了更新的版本,您可以下载那个版本,而不是 1.8.0。
或者,如果您希望从源代码编译 Python 包以获得实践经验,也可以观看我的视频教程:如何在树莓派上从源代码安装 TensorFlow,该视频将指导您如何在树莓派上从源代码构建并安装 TensorFlow。
现在我们已经下载好了文件,接下来就可以通过以下命令安装 TensorFlow:
sudo pip3 install /home/pi/tf/tensorflow-1.8.0-cp35-none-linux_armv7l.whl
TensorFlow 还需要 LibAtlas 包。您可以通过以下命令安装它(如果此命令无法执行,请先运行 “sudo apt-get update”,然后再试一次):
sudo apt-get install libatlas-base-dev
顺便说一下,我们还可以安装 TensorFlow 对象检测 API 所需的其他依赖项。这些依赖项列在 TensorFlow 对象检测 GitHub 仓库的 安装说明 中。请执行以下命令:
sudo pip3 install pillow lxml jupyter matplotlib cython
sudo apt-get install python-tk
至此,TensorFlow 已经成功安装并准备就绪!
旧版从源码编译并安装 Protobuf 的说明
以下是第 4 步中的旧版说明,展示了如何从源码编译并安装 Protobuf。这些说明已在本指南的 2019 年 10 月 13 日更新中被替换。
TensorFlow 对象检测 API 使用 Protobuf,这是一个实现 Google Protocol Buffer 数据格式的软件包。遗憾的是,目前在树莓派上并没有简单的方法来安装 Protobuf。我们必须自行从源码编译它,然后进行安装。幸运的是,已经有一篇指南介绍了如何在树莓派上编译和安装 Protobuf。感谢 OSDevLab 编写了这篇指南!
首先,获取编译 Protobuf 源码所需的软件包。执行以下命令:
sudo apt-get install autoconf automake libtool curl
然后从其 GitHub 仓库下载 Protobuf 发布版本:
wget https://github.com/google/protobuf/releases/download/v3.5.1/protobuf-all-3.5.1.tar.gz
如果有更新的 Protobuf 版本可用,请下载该版本。解压文件并进入解压后的目录:
tar -zxvf protobuf-all-3.5.1.tar.gz
cd protobuf-3.5.1
通过运行以下命令配置构建环境(大约需要 2 分钟):
./configure
接着编译软件包:
make
在我的树莓派上,编译过程耗时约 61 分钟。编译完成后,执行:
make check
这个步骤耗时更长,在我的树莓派上花费了 107 分钟。根据我看到的其他指南,此命令可能会报错退出,但 Protobuf 仍然可以正常工作。如果出现错误,暂时可以忽略。编译完成后,通过以下命令进行安装:
sudo make install
然后进入 Python 目录并导出库路径:
cd python
export LD_LIBRARY_PATH=../src/.libs
接下来依次执行以下命令:
python3 setup.py build --cpp_implementation
python3 setup.py test --cpp_implementation
sudo python3 setup.py install --cpp_implementation
随后设置以下环境变量:
export PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=cpp
export PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION_VERSION=3
最后执行:
sudo ldconfig
至此,Protobuf 已成功安装在树莓派上。可以通过运行以下命令验证安装是否正确,并确保输出默认的帮助信息:
protoc
由于某种原因,完成上述步骤后需要重启树莓派,否则 TensorFlow 将无法正常工作。请执行以下命令重启树莓派:
sudo reboot now
现在,Protobuf 应该已经成功安装!
常见问题
相似工具推荐
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 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器


