mcpField
B
Bagel Robotics MCP Server

Bagel Robotics MCP Server

远程服务
trybagel.com数据与分析4001 周前更新

关于 Bagel Robotics MCP Server

Bagel Robotics MCP Server 面向机器人、无人机和 IoT 团队,通过自然语言分析记录数据。它以可审计的 DuckDB SQL 执行计算,并提供事件驱动的数据缩减;LLM 不进入机器人的控制回路。

主要功能

  1. 01自然语言分析日志
  2. 02可审计的 DuckDB SQL 计算
  3. 03基于事件的边缘数据缩减
  4. 04支持 ROS、飞行日志和 IoT 格式
  5. 05写入前预览数据管道

适用场景

  1. 01排查传感器或机器人健康状况
  2. 02概述 ROS 和飞行日志
  3. 03保留事件窗口并丢弃其他数据

MCP 相关

通过 MCP 服务向 MCP 客户端提供机器人数据分析和缩减能力。记录数据可通过 stdio 运行,Docker 部署则可使用 SSE 端点。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"bagel": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/extelligence-ai/bagel/ros2-kilted:2.4.1"
]
}
}
}
启动命令docker run -i --rm ghcr.io/extelligence-ai/bagel/ros2-kilted:2.4.1

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocighcr.io/extelligence-ai/bagel/ros2-kilted:2.4.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

README 配图

比特化为原子。
原子化为比特。

如果你还留着一个名为 parse_bag_final_v7.py 的脚本,我们得聊聊。

README 配图 README 配图 README 配图 README 配图 README 配图 README 配图

README 配图

Extelligence 推出的 Bagel,让你可以用日常语言询问机器人、无人机和 IoT 数据。 针对消息数据执行的所有计算都使用 DuckDB SQL,而不是依赖模型猜测;Bagel 还会展示查询语句,方便你审查。

我的 IMU 传感器是不是过热了?

Bagel 还配备了智能边缘数据缩减流水线:描述一个事件,Bagel 就会在机器人上运行检测,只保留重要的时间窗口,丢弃其余数据。MCP 服务让你可以通过大模型使用这一切:Claude Code、Gemini、 Cursor,或完全本地运行的模型。

Bagel 是首个为机器人数据提供真正分析工具包的 MCP 服务,它让大模型待在该待的位置:查看你的日志,而不是进入机器人的控制回路。

📦 安装

Bagel 已在 PyPI 上发布,包名为 bagel-mcp。分析录制的数据无需 Docker 或安装 ROS。

Claude Code,一行命令(需要 uv):

claude mcp add bagel -- uvx --from "bagel-mcp[ros]" bagel-mcp --transport stdio

pip,安装到任意 Python 3.10 到 3.12 环境中:

pip install "bagel-mcp[ros]"

然后,将 MCP 客户端指向它安装的 bagel-mcp 命令(Claude Desktop、Cursor 和 Codex 的配置方法见快速入门)。 打开你的 Agent 并询问:

总结一下数据包 "~/logs/run_42.mcap"。

ros extra 可读取 ROS 1 和 ROS 2 数据包。飞行日志、CAN / MDF4、实时 MQTT 等也都可以通过额外组件安装。实时 ROS 机器人(rosbridge)以及机群/边缘流水线则通过 Docker 运行。

🥯 主要功能
  • 用自然语言提问:无需深厚的领域专业知识。
  • 计算过程透明:使用确定性的 SQL 查询,不靠黑盒大模型计算。
  • 自然语言流水线:“在每次急刹车前后保留 10 秒,删除其余数据”: 一句话即可生成可审计的流水线:写入任何数据前先预览,然后可运行一次、应用于整个机群,或在边缘端持续运行。
  • 广泛支持大模型:Claude Code、Gemini、Cursor、Codex 等。
  • 按需安装:处理录制数据可使用 pip / uvx,处理实时机器人和边缘端数据可使用 Docker 镜像。
  • 可扩展的能力:Bagel 可以学会新本领。
  • 广泛支持多种格式:不支持你的数据格式?提交工单。

🥯 60 秒快速体验

无需 MCP 客户端、无需大模型、无需配置:对捆绑的示例日志运行同样的确定性检查,并直接在终端中查看机器人健康状况报告。

docker run -it --rm ghcr.io/extelligence-ai/bagel/px4:latest demo
sample.ulg - 41.5s, 2018 messages, 77 topics

Power      ⚠️  min 21.07V, largest drop 2.37V at ~t=+4.8s, end 23.45V (battery_status_0)
IMU        ✅  accel_z stddev 1.6x the log baseline at ~t=+36.8s (sensor_combined_0)
GPS        —  skipped: no GPS topic
Data gaps  ✅  no gap > 1.05x median interval (checked battery_status_0, sensor_combined_0)
...

ROS2 镜像(ros2-kilted、ros2-jazzy、ros2-iron、ros2-humble)也能以相同方式运行 demo,使用较精简的捆绑示例(只有随附飞行日志的 px4 示例足够丰富,能展示所有检查项)。使用 demo /path/to/log 指定你自己的日志(先用 -v 挂载),或者继续阅读下方的完整 MCP 配置说明。

⚡️ 快速入门

运行 Bagel 有两种方式,按数据类型选择:

你拥有的数据运行 Bagel 的方式
录制数据:ROS 1 .bag 和 ROS 2 .db3 / .mcap 数据包、飞行日志(PX4、ArduPilot、Betaflight)、CAN / MDF4、CSV / JSON / Parquet、ROS 文本日志;实时 MQTT 机器人uvx 或 pip,见下文:无需 Docker,也无需安装 ROS
实时 ROS 机器人(rosbridge)、机群和边缘部署Docker,见下文:镜像内含 ROS 技术栈和持续运行流水线的运行时
🐍 使用 uvx 或 pip 安装(无需 Docker)

MCP 客户端会通过 stdio 自行启动服务,因此无需手动启动或保持运行。选择 uvx(无需管理:首次使用时会获取并缓存 Bagel)或 pip(由你控制的常规安装)。

使用 uvx。 安装 uv (在 macOS 和 Linux 上运行 curl -LsSf https://astral.sh/uv/install.sh | sh),然后:

Claude Code:

claude mcp add bagel -- uvx --from "bagel-mcp[ros]" bagel-mcp --transport stdio

适用于任何接受 JSON MCP 配置的客户端(Claude Desktop、Cursor、Codex 等):

{
  "mcpServers": {
    "bagel": {
      "command": "uvx",
      "args": ["--from", "bagel-mcp[ros]", "bagel-mcp", "--transport", "stdio"]
    }
  }
}

使用 pip。 Python 3.10 至 3.12;使用虚拟环境可以保持整洁:

python3 -m venv ~/.bagel-venv
~/.bagel-venv/bin/pip install "bagel-mcp[ros]"
claude mcp add bagel -- ~/.bagel-venv/bin/bagel-mcp --transport stdio

对于 JSON 配置,将完整路径用作命令: "command": "/Users/you/.bagel-venv/bin/bagel-mcp", "args": ["--transport", "stdio"]。

**Apple Silicon Mac:**请使用 ARM 版 Python,而不是通过 Rosetta 运行的 Intel 版 Python。运行 python3 -c "import platform; print(platform.machine())" 检查;输出应为 arm64。如果输出为 x86_64,请创建单独的原生环境:

uv venv --seed --python cpython-3.12-macos-aarch64-none ~/.bagel-arm-venv
~/.bagel-arm-venv/bin/python -m pip install "bagel-mcp[ros]"
claude mcp add bagel -- ~/.bagel-arm-venv/bin/bagel-mcp --transport stdio

这样可以避免从源码构建 cryptography:上游已在版本 49 中移除对 Intel macOS 的支持。 目前,全新安装会选择 MCP 1.30.0,其依赖链为 bagel-mcp → mcp → pyjwt[crypto] → cryptography。这适用于基础包和 bagel-mcp[ros],即使不安装 upload extra 也是如此。 在 Intel Mac 上,如果安装时构建 cryptography 失败,请使用下方的 Docker 方案。请勿降级 cryptography 来恢复旧版 wheel;旧版本缺少安全修复。

格式支持通过 extras 提供,因此 PX4 用户不会下载汽车解析器。请用逗号分隔列出所需项: uvx --from "bagel-mcp[ros,px4,automotive]" bagel-mcp --transport stdio,或 pip install "bagel-mcp[ros,px4,automotive]"。如果你请求的格式缺少对应 extra,Bagel 会在错误信息中给出添加它所需的确切命令。

Extra添加内容
rosROS 1 .bag 和 ROS 2 .db3 包(读取,以及 reduce / snippet 写入器),使用纯 Python 实现
px4PX4 .ulg
ardupilotArduPilot .bin
betaflightBetaflight .bbl / .bfl
automotiveCAN 采集文件(.blf、.asc + DBC)和 ASAM MDF4
iot实时 MQTT(包括 Sparkplug B)和 InfluxDB 数据源
vizRerun 导出
uploadGCS 和 Azure Blob 上传任务
cloudiniCloudini 点云任务

MCAP、CSV / JSON / Parquet、ROS 文本日志、PlotJuggler / Lichtblick / LeRobot 导出和 S3 上传均无需 extra。

PX4 日志解析不需要 Git。Git 和网络访问仅用于获取可选的字段说明;在工具的 args 中传入 download_description: false 即可跳过获取这些说明。

升级时,请重复指定已安装的 extras,以便同时更新其依赖项。uvx 会自动获取新版本(使用 uvx --refresh --from "bagel-mcp[ros,px4]" bagel-mcp --help 强制刷新);使用 pip 时,运行 pip install -U "bagel-mcp[ros,px4]",并换成你自己的 extras 列表。

然后输入提示词,指向你自己的文件:

总结 MCAP 包 "~/logs/run_42.mcap" 的元数据。

说明

读取 bag 文件无需安装 ROS:ros extra 使用纯 Python rosbags 库进行读写 (支持 sqlite3 和 MCAP 存储、zstd / bz2 / lz4 压缩,以及来自 bag 本身或 Humble 及之后各发行版捆绑接口定义的消息类型)。实时 ROS 话题(rosbridge)以及 fleet / edge 运行时仍通过 Docker 提供。

🐳 使用 Docker 运行(实时机器人、fleet 和 edge、特定发行版的 ROS)

提示

**已经在使用 Claude Code?**只需粘贴此仓库的链接,并告诉 Claude 你需要的环境:

为 ROS2 Kilted 设置 https://github.com/Extelligence-ai/bagel。

Claude 会克隆仓库、启动 Docker,并为你配置 MCP 连接。

📋 前置条件

安装 Docker Desktop 和 Claude Code(或其他支持 MCP 的大模型)。

说明

**arm64 主机(Apple Silicon、Raspberry Pi、Jetson、Graviton):**默认服务 ros2-kilted (也是 server.json 固定使用的服务)提供多架构镜像,因此 Docker 会拉取原生 arm64 构建版本。无需额外设置。

其他服务仅发布 amd64 版本。Docker Desktop 会自动进行模拟,因此它们也能在 Apple Silicon 上运行(速度较慢,但可用)。在使用纯 Docker Engine 的 arm64 Linux 上,默认不提供模拟功能,这些服务会立即因 exec format error 而失败——请先安装 QEMU/binfmt:

docker run --privileged --rm tonistiigi/binfmt --install amd64
1. 克隆并启动 Bagel
git clone https://github.com/Extelligence-ai/bagel.git && cd bagel
docker compose run --service-ports ros2-kilted

提示

端口 8000 已被占用?将 MCP_SERVER_PORT 设为其他值,例如 MCP_SERVER_PORT=8100 docker compose run --service-ports ros2-kilted,并在第 2 步使用 该端口。

选择与你的环境匹配的服务:

服务用途
ros2-kiltedROS2 Kilted(最新)
ros2-jazzyROS2 Jazzy
ros2-jazzy-jevROS2 Jazzy + 机器人端决策模型(GPU,测试版)
ros2-ironROS2 Iron
ros2-humbleROS2 Humble
ros1-noeticROS1 Noetic
ros1-noetic-cvROS1 Noetic + CV
px4PX4 飞行日志
ardupilotArduPilot 飞行日志
betaflightBetaflight 飞行日志
iotIoT / MQTT(实时)

-jev 镜像(测试版)添加了 PyTorch,用于在机器人上运行决策模型 (在异常检测门控中设置 backend: local)。其他服务也可以通过相同方式构建,只需使用 --build-arg JEV_MODE=true。仅使用 CPU 的机器人不需要此镜像:托管 Jev 后端可在所有镜像中使用。

提示

如需让 Bagel 访问本地文件,请在启动 Docker 前编辑 compose.yaml: 取消注释并更新所选服务下的 volumes 部分。

等待出现以下输出:

INFO:     Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
2. 连接 Claude Code

在新的终端中:

claude mcp add --transport sse bagel http://localhost:8000/sse

说明

出于安全考虑,MCP 端点仅绑定到 localhost(不会暴露在局域网中)。 如需与其他机器共享,请从 compose.yaml 中移除 127.0.0.1 前缀, 并在前面配置经过身份验证的代理:请参阅 SECURITY.md。

3. 提示词
claude

总结 ROS2 bag "./data/sample/ros2/mcap" 的元数据。

就是这样:现在你可以与数据对话了。

🔒 想要完全离线使用?

将第 2 步替换为本地模型:你的数据和大模型都留在本机上:

brew install ollama && ollama serve &                                  # or ollama.com
ollama pull qwen3:8b
uvx ollmcp --mcp-server-url http://localhost:8000/sse --model qwen3:8b

模型选择、预期情况和故障排除:参阅本地大模型指南。

📚 使用其他大模型?

Bagel 适用于任何支持 MCP 的大模型。以下是经过测试的替代方案设置指南:

找不到你的大模型?提交工单。

## 🔌 Agent 插件(Claude Code 和 Codex)

Bagel 附带一个 Agent 插件:其中包含四项技能,教 Agent 何时以及如何驱动服务(日志分诊、管线编写、实时接收端、可视化导出),并自动配置 MCP 连接。Claude Code 和 OpenAI Codex 共用同一个 plugin/ 目录。

/plugin marketplace add Extelligence-ai/bagel
/plugin install bagel@bagel

Codex 和 ChatGPT 用户:从 OpenAI 插件目录一键安装 bagel,或克隆仓库并将其添加为插件市场(仓库中包含 .agents/plugins/marketplace.json)。从目录安装只会打包技能(该目录仅接受公开的 HTTPS MCP 服务,而 Bagel 运行在你的机器上),因此还需通过 codex mcp add bagel --url http://localhost:8000/mcp 连接一次服务,或者在 ~/.codex/config.toml 中配置:

[mcp_servers.bagel]
url = "http://localhost:8000/mcp"

从仓库市场和 Claude Code 安装时,会自动配置此连接。维护者可使用 uv run python scripts/package_codex_directory.py 构建目录 ZIP。

然后启动适用于你的数据格式的容器(参见 Quickstart):插件默认连接到 http://localhost:8000/mcp。其他任何 MCP 客户端都可以通过 list_agent_capabilities 工具,在服务端发现相同的工作流。

留下重要数据,丢弃其余部分

机器人记录的数据远超你能负担得起的传输量。Bagel 将问题转化为检测器,在数据记录位置运行检测器,并且只传输真实事件周围的数据窗口。

README 配图

下面是一次对话中的操作:

README 配图

如果事先不知道事件是什么?异常门控 *(测试版)*会在机器人上学习正常状态,让 Jev为异常情况命名,并且只保留这些切片;每个切片都带有一个 JSON 标签,支持任意存储桶:S3、GCS、Azure、MinIO 或 R2。

上面的会话:一段 20 分钟(1,200 s)的录制,提示词为 “保留每次减速度超过 −10 m/s² 时前后各 10 秒的数据”。预览检测到 7 个事件,将它们合并为 4 个窗口,并从 1,200 s 中保留 92 s(7.6%);运行后,2.1 GB 的 bag 缩减至 161 MB。这些数字是示例演示输出,并非实测基准:该比例为事件窗口时长与总时长之比,因此完全取决于你的工作负载。

✅ 支持的数据格式
行业格式
机器人技术ROS1、ROS2、MCAP(任意配置文件)、Copper(通过 MCAP 导出)、ROS 文本日志(~/.ros/log)
机器人学习Gantry Bench 证据包——数据集判定的工作产物(每个片段的信号检查、机器人测试阶梯、发现项),以可查询的表格形式提供
无人机PX4、ArduPilot、Betaflight
汽车ASAM MDF4(.mf4)、CAN 记录(.blf/.asc + DBC) · 测试版
物联网MQTT(实时、Sparkplug B)、PostgreSQL / TimescaleDB、InfluxDB 3
硬件状态WaffleForm 快照(.waffleform.yaml),由 waffle-iron 自动检测 · 测试版

🆚 Bagel 与你已经在使用的工具

你已经有了 ros2 *、PlotJuggler 和 grep。Bagel 不会取代它们:它能回答那些需要你费力才能找到答案的问题,然后把结果交给它们:

你现在的做法改为询问 Bagel
用 ros2 bag info 查看元数据“总结这个 bag”:同一个提示词也适用于 PX4、ArduPilot、MCAP、MQTT、Postgres
用 ros2 topic echo /imu 查看原始数值“/imu 中的 z 轴减速度峰值是多少?5 s 内的运行平均值呢?” · 底层使用真正的 SQL:峰值、运行平均值、百分位数、跨主题关联
在 PlotJuggler 时间线上来回拖动,寻找事件“找出所有小于 −10 m/s² 的减速度,并截取前后各 30 s 的片段”:然后用 预设好视图的布局 在 PlotJuggler 中打开结果
使用 rqt_console,或 grep ~/.ros/log“读取 ~/.ros/log 中的 ERROR,并告诉我出了什么问题”:包含回溯信息,无需 bag
在两个终端中分别查看两个主题,再用电子表格进行关联“电流和电压之间的相关性是多少?”:所有主题都位于同一个 SQL 关系中,因此联接和 corr() 只需一个问题
使用 ros2 bag record -a,还得盯着磁盘空间一个常驻边缘管道:持续录制,只保留事件窗口,丢弃其余数据
用 bash 循环处理 200 个 bag“在文件夹中的每个 bag 上运行这个管道”:一个管道,覆盖整个机群,并生成一份汇总报告
编写 scp/aws s3 sync 脚本,将数据从机器人传出将数据上传到 S3、GCS 或 Azure,作为管道步骤;对已存在的文件跳过校验和传输
每种格式都用不同的查看器:PX4 用 FlightPlot,ArduPilot 用 MAVExplorer,Betaflight 用 Blackbox Explorer用同一段对话处理所有这些格式,还包括 ROS、MCAP、MQTT、Postgres、InfluxDB
每个问题都写一个临时的 pandas 脚本直接提问;Bagel 会编写并运行查询

用一句通俗的话,就能获得一个答案,不必执行一连串命令,也不用编写一段明天就会删除的脚本。

💬 我可以提什么问题?

你几乎可以问 Bagel 任何问题。例如:

/spot/status/battery_states 主题中,电流和电压之间的相关性是多少?

我觉得机器人撞上了一个坑。能检查一下 z 轴是否出现突然减速来确认吗?

每当无人机的减速度大于 10 m/s² 时,保留前后各 10 秒。丢弃其余所有数据。

自上周以来,这台机器人有什么变化吗?

是时候让 Bagel 接受考验了:它能发现正在做横滚动作的无人机吗?剧透:🎉 完全可以。

README 配图

## 💡 Bagel 的工作原理

当你提出问题时,Bagel 会分析数据源的元数据和主题,以建立高层次的理解。

README 配图

根据你的提示词,如果需要进一步检查,Bagel 会找出最相关的主题,并解读其含义和结构。随后,Bagel 会将相关主题消息写入 Apache Arrow 文件,并使用 DuckDB 生成和执行查询。

README 配图

根据需要重复这一过程,运行新的查询,直到 Bagel 找到问题的最佳答案。

大模型擅长语言,但不擅长数学。Bagel 通过生成确定性的 DuckDB SQL 查询来弥补这一不足。这些查询会显示出来供你审查,你也可以引导 Bagel 修正错误。

🐶 教 Bagel 新技能

Bagel 通过 POML 文件学习新能力:一组结构化指令,用于描述某项“技能”,例如计算延迟统计数据。

✍️ 创建 .poml 文件

例如,我们来定义 ./bagel_mcp/agent/examples/woof.poml。

<poml>
    <task>
        Count the topics in the data source.
        If the count is odd, say "woof", else say "meow".
    </task>

    <output-format>
        Return the sound, the topic count, and a few cute emojis. Nothing else.
    </output-format>
</poml>
🗣️ 使用该能力

向 Bagel 提示:

对 ROS2 包 "./data/sample/ros2/mcap" 运行 POML 能力 "./bagel_mcp/agent/examples/woof.poml"。

结果:

meow 🐱 4 topics 🐱💤🎯
教它你自己的技能(无需重新构建)

Bagel 会从 ~/.bagel/capabilities/ 中发现你自己的能力:

  • 在对话中: 先执行一次工作流,然后说 “将它保存为名为 battery-triage 的能力” — Claude 会调用 save_agent_capability,之后便可在任何未来会话中重复使用。
  • 作为文件: 将包含步骤的 Markdown 文件(如果需要参数化模板,也可以使用 POML 文件 — 房间内的格式示例请参见 bagel_mcp/agent/compose/pipeline.poml)放入 ~/.bagel/capabilities/。

无论哪种方式,它都会以 user/<name> 的形式显示在 list_agent_capabilities 中,并可通过 run_poml_capability 运行 — 无论是在 Claude Code、Claude Desktop 还是任何 MCP 客户端中。团队使用时:将该目录保存在自己的 git 仓库中,并同步到每台机器人;它只是一些文件。在 Linux 上,请在启动容器前运行一次 mkdir -p ~/.bagel/capabilities,这样挂载目录便归你所有,而不是 root。

📚 指南

📦 集成

  • Rerun · “在 Rerun 中显示该事件”:将任意时间窗口转换为可直接打开的录制文件
  • Lichtblick / Foxglove · 将事件窗口转换为 MCAP,并为任一查看器预先配置布局
  • PlotJuggler · 直接打开 Bagel 的 MCAP 输出;提供一句话即可生成预先配置的会话,并导出扁平化的 CSV/Parquet 文件
  • Cloudini · 解码经过 cloudini 压缩的点云,或将 bag 中的 PointCloud2 主题压缩为 CompressedPointCloud2
  • Slack · 流水线触发时会向你的运维频道发送消息:“🚨 {asset} 急刹车”
  • LeRobot (测试版) · 将检测到的事件转换为训练回合:LeRobotDataset v3.0

🚧 限制

我们已知的一些不足,提前告知,免得你亲自踩坑:

  • 两种格式仍处于 beta 阶段。 汽车领域的 MDF4/CAN 读取器已使用生成这些文件的同一批库(asammdf、python-can)进行验证;真实的 CANape/INCA/Vector 生成的记录尚未经过我们的测试。 LeRobot 导出文件已使用真实的 lerobot 软件包通过加载测试,但尚未使用 Bagel 导出文件训练过策略。
  • Jev 集成处于 beta 阶段;在我们从真实部署中积累经验之前,它会一直保持 beta。 这包括 anomaly 和 decide 门控(记录日志和实时订阅)、preview_anomalies、机器人端的 local 后端以及 ros2-jazzy-jev 镜像。其 Jev 后端已在真实行驶过程中,通过 Vercel AI Gateway 对接实时 Jev 运行,也已针对合成故障日志和实时 MQTT 流运行;尚未测试直接使用 TypeSafe 密钥的情况,也尚未在包含已知事件的日志上评估检测质量。对于实时订阅,带标记的时间窗口会保存为 Parquet(write_topics_to_file);MCAP/rosbag 片段需要使用记录日志,因此在此场景下会被拒绝。基线按每次运行学习,并会随进程重启,因此在屏幕模式下,每次运行开始后的几分钟内都不会标记异常。标签、设置和默认值可能会在不同版本间发生变化。
  • 数据缩减比例取决于工作负载,且尚未经过基准测试。 比例为事件时间窗口时长除以总时长:安静的记录会大幅缩减,事件较多的记录缩减幅度则小得多。本 README 中的数值是演示输出示例,并非实测基准数据。
  • MCP 端点没有身份验证。 按设计,它只绑定到 localhost;请像对待数据库套接字一样谨慎处理,并在将其共享到本机之外之前查看 SECURITY.md。
  • 小型本地模型难以应对多步骤管道。 4-8B 模型可以处理工具选择和简单 SQL;事件时间窗口缩减和多主题联接则需要更大的模型。请参阅本地 LLM 指南。
  • 实时数据库端到端测试在 CI 之外运行。 InfluxDB 和 Postgres 测试套件中的纯测试会在 CI 中运行;其实时端到端测试仅会针对你指定的实例执行。其他所有测试(包括 ROS 包写入路径)都会在 CI 中运行。

🫶 参与贡献

欢迎你来帮忙!支持本项目最简单的方式是在 GitHub 上点个 ⭐。

其他很棒的贡献方式:

  • 请求新功能
  • 报告错误
  • 改进文档
  • 添加新能力

贡献之前,请先查看指南。

欢迎加入我们的 Discord 服务器参与讨论。 我们经常在那里交流。

📄 许可证

Bagel 是基于 Apache License 2.0 开源的。

Agent 发现与可复现工作流

维护者请参阅:发现审查与评估、 列表维护以及 可复现的用户报告。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。