mcpField
D
doca-public-knowledge-map

doca-public-knowledge-map

github.com/nvidia开发3.8k138 次安装今天更新
代码仓库

关于 doca-public-knowledge-map

面向需要查找 NVIDIA DOCA 权威资料的用户,提供按问题类型路由到官方文档、安装路径、示例和目录条目的知识地图。它侧重定位信息而非教程,并在环境相关建议前要求确认硬件、系统和目标。

主要功能

  1. 01按意图定位官方资料
  2. 02路由到安装指南与版本说明
  3. 03查找 API、示例和本地文件
  4. 04首次咨询的环境信息检查
  5. 05区分文档查询与实操技能

适用场景

  1. 01查找 DOCA 库对应的安装包
  2. 02定位某个库的示例或 API
  3. 03寻找版本更新与兼容资料
  4. 04为安装或开发建议确认环境

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/nvidia/skills --skill doca-public-knowledge-map

安装后在 Claude Code 中输入/doca-public-knowledge-map确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

BENCHMARK.md
skill-card.md
skill.oms.sig
evals/
evals.json
references/
external-dpu.md
external-fabric.md
libraries.md
map.md
services.md
tools.md

详细介绍

DOCA 公共知识地图

从何处开始: 每当问题是“权威答案在哪里?”时,都可以使用此技能——答案可能位于文档页面、磁盘上的安装目录、示例或 NGC 目录条目中。先阅读 ## Public documentation entry points,然后跳转到与用户意图相符的路由表章节。

如何使用此技能。 阅读此文件,然后在配套文件中搜索问题所需的 ## <name> 标题,并通读该章节。仅引用其中的符号和命令,据此完整作答。不要浏览文档;请使用 doca-public-knowledge-map 中的入口点。将环境检查作为命令提供,让用户在自己的 DOCA 主机上运行。对于超出范围的请求,指出负责处理该请求的技能,然后停止。

何时加载此技能

每当用户询问有关 NVIDIA DOCA 的内容,且 Agent 需要在无法访问 DOCA 源代码树的情况下查找权威信息时,都应加载此技能。这包括有关安装 DOCA、构建示例、学习 DOCA 库(Flow、DPA、Comm Channel、GPUNetIO 等)、调试错误、查找 API 或错误参考、查找示例、发行说明或开发者论坛的文档路由问题。此技能用于查找权威答案;实际安装、构建、教程和调试请求应转交给 frontmatter 和 ## Related skills 中列出的工作流专属技能。

此技能特意设计为路由表,而非教程。选择与用户意图相符的条目,获取 URL 或检查本地安装路径,然后再作答。

初次交流引导——深入了解前要先问的四个问题

当用户以开放式的入门问题开场(“我是 DOCA 新手,该如何开始?”、“能指导我吗?”、“尝试 DOCA 最简单的方法是什么?”)时,Agent 掌握的信息还不足以选择合适的路径。在深入了解前先问这四个问题,可以避免给出用户在其环境中实际上无法执行的建议。将它们作为一条简短消息一起询问;不要一次只问一个问题。

问题重要原因对应路径
1. 你使用的是什么操作系统? macOS、Windows、Linux 笔记本电脑、云 VM、实验室 Linux 主机,还是 BlueField OS 本身?DOCA 只能原生安装在受支持的 Linux 发行版上;macOS / Windows 用户根本无法安装。从 doca-setup ## no-install(doca-setup/TASKS.md#no-install)中的四种 DOCA 获取路径里选择。macOS / Windows / 没有 Linux → 路径 0(NGC 容器)。受支持的 Linux → 根据安装指南选择路径 A 或 B。
2. 你有什么硬件? 没有 NVIDIA 硬件、ConnectX SmartNIC、作为主机中 SmartNIC 使用的 BlueField、作为独立 DPU 使用的 BlueField,还是不确定?要运行真实流量需要真实网卡;构建 / 阅读 / 学习则不需要。用户的硬件决定了哪些 DOCA 库可能相关。确定运行方式(没有硬件时,容器只能用于构建)。筛选适合学习的库(Flow 需要真实端口才能产生可见效果;Comch 需要一对主机 ↔ DPU)。
3. 你的目标是什么? 只是探索、基于特定库(Flow / RDMA / Comch / Telemetry / GPUNetIO / DPA / …)构建第一个小型应用、运行现有参考应用、运维某项服务(DMS / DTS / BlueMan / Firefly),还是其他?该软件包的首个应用工作流(doca-programming-guide ## modify)从随附的 C 示例开始,再逐步修改。应该使用哪个示例,取决于用户的目标库。确定接下来要加载哪个库技能(如果有)。如果用户还不知道要用哪个库——这本身就是路径选择的依据(参见上方的库和模块专属指南表格,让用户选择)。
4. 你计划用哪种语言编写程序? C / C++、Rust、Go、Python,还是其他?DOCA 的公共接口是 C ABI。非 C 语言的使用者需要通过 FFI / 语言绑定接入(doca-programming-guide CAPABILITIES.md ## Capabilities and modes 和相应的库技能)。即使用户使用的不是 C,C 示例仍然是参考实现。确定 Agent 对首个应用的指导应采用直接构建 C 程序,还是通过 FFI / 绑定使用 C ABI。不会改变 Agent 首先推荐哪个示例。

当开放式的入门、安装、构建或运行建议取决于用户的环境时,必须先通过这四个问题的筛选。对于这类情况,在获得问题 1–3 的答案前,切勿推荐具体的安装路径、容器标签或可运行示例(首个应用工作流需要问题 4 的答案,但入门引导本身不需要)。仅查找文档——例如 URL、API 参考、示例位置、版本信息或失效链接的替代位置——无需经过此筛选,可直接引导用户前往相应内容。 如果用户无法或不愿回答必需的问题,请说明哪些依赖环境的建议无法提供,仅给出安全且不依赖版本的概括性文档路径,并且不要猜测缺失的信息。在此之前主动提供具体命令,是 DOCA 入门引导中最常见的失误。

如果用户已在首条消息中主动提供了部分信息,就将相应问题标记为已回答,只询问剩余问题。不要重复询问用户已经告知的信息。

按主题确定“首先查看哪里”的路由表

用户提出问题时,按以下方式路由:

用户意图首先查看的位置
“如何安装 DOCA?”安装指南 + 下载页面(公共文档入口)。
“如何开始使用 DOCA——第一步是什么?”如果用户有 BlueField + 主机硬件,则查看开发者快速入门指南;否则查看 doca-setup ## no-install(doca-setup/TASKS.md#no-install)路径 0(NGC 容器)。使用 首次接触时的信息收集 中的四个问题来选择。
“我需要 BlueField、SmartNIC,还是只需要 DOCA-Host?”概览页面(doca-overview/index.html)以及安装指南中的 DOCA 安装配置 部分。软件包不会替用户选择硬件——这两个页面会给出答案。
“哪个软件包包含库 X?”查看安装指南中的软件包矩阵部分;然后在用户的系统上使用 pkg-config --list-all 验证。
“给我看看使用库 X 的示例。”如果已安装,则查看 /opt/mellanox/doca/samples/doca_<X>/;否则查看 docs.nvidia.com/doca/sdk/ 上对应的库指南(每份库指南都会介绍随库提供的示例)。
“如何构建 DOCA 示例?”查看库指南 + /opt/mellanox/doca/samples/... 中示例自己的 meson.build。
“X 的 API 是什么?”查看库指南;通过检查 $(pkg-config --variable=includedir doca-common) 下的头文件来确认(DOCA 3.3+ 通常位于 /opt/mellanox/doca/include/;旧版 / 拆分配置安装通常位于 /opt/mellanox/doca/infrastructure/include/)。
“我的构建因 pkg-config 找不到 doca-... 而失败,为什么?”查看“已安装 DOCA 软件包的目录结构”(PKG_CONFIG_PATH),然后加载 doca-setup/SKILL.md 以准备和调试环境;不要悄悄修改环境。
“最新版本是什么 / 有哪些变化?”发行说明。
“有没有更新的 DOCA——我应该升级 / 降级 / 回滚吗?”查看 doca-upgrade/SKILL.md,遵循检测 → 报告 → 询问 → 引导升级的流程(绝不自动升级);查看发行说明,了解目标版本包含的内容。
“我依赖的组件是否即将停止维护 / 已弃用?”查看发行说明(生命周期 / 弃用通知),并通过 doca-upgrade/SKILL.md 中的停止维护意识检查找到相关内容;不要凭记忆断言某组件已弃用。
“DOCA 版本号是什么意思?LTS 仍受支持吗?”兼容性政策(公共文档入口表)。
“如何在 Kubernetes 上运行 DOCA / 配置 DPU?”GitHub 上的 DOCA Platform Framework。
“我遇到了无法解释的行为。”首先查看发行说明(已知问题);然后再查看 DOCA 开发者论坛。切勿首先前往论坛。
以上未涵盖的任何意图从 DOCA SDK 索引以及 references/map.md 中的 Libraries / Services / Tools 总览页面(公共文档入口)开始。如果仍无法确定权威信息的查找路径,请如实说明并使用开发者论坛;不要编造 URL 或组件名称。

本技能有意不涵盖的内容

此文件有意作为地图而非教程。它不包含:

  • DOCA 库教程(请参阅各库指南)。
  • API 参考(请参阅头文件和各库指南)。
  • 构建系统深入说明(请参阅安装指南和示例的 meson.build 文件)。
  • 性能调优、驱动级设置、OFED 交互(请参阅安装指南和特定库指南)。

当 Agent 需要这些内容时,应获取对应的公共文档,或阅读对应的已安装文件。随着更多专项技能加入,它们应列在软件包的 SKILLS.md 中,并链接回此处,以便查询“首先查看哪里”。

相关技能

对于环境准备——安装验证、构建环境 (pkg-config、头文件、大页、devlink)、env-class 调试,以及 尚未安装的情况:在目录 Tags 页面使用公开的 NGC DOCA 容器, 作为任何使用 macOS、Windows 或 Linux 且尚未安装 DOCA 的用户 通用的 Stage-1 回退方案——请加载 doca-setup/SKILL.md。该技能到“安装状态良好且环境已就绪” 为止。

对于适用于所有库的通用 DOCA 编程模式——标准的 pkg-config doca-<library> 构建模式(C/C++ 直接调用,或非 C 语言通过 FFI)、通用的“从随附示例派生自定义首个应用”工作流、 通用生命周期(cfg-create → init → start → use → stop → destroy)、跨库 DOCA_ERROR_* 分类体系,以及程序端调试顺序——请加载 doca-programming-guide/SKILL.md。每个库的技能都会扩展其 ## modify(派生首个应用)部分,并加入该库特有的覆盖内容。

对于 DOCA Flow 内部机制——端口和 representor 设置、pipe 创建、 匹配/操作规范、硬件编程前的 pipe 验证、Flow 计数器和跟踪、 Flow 版本兼容性,以及调试 Flow API 中的 DOCA_ERROR_* 故障——请加载 doca-flow/SKILL.md。该技能假定 本技能可用于通用文档路由和安装布局查询、doca-setup 可用于 环境准备,以及 doca-programming-guide 可用于其叠加其上的 跨库编程模式。

对于针对运行中系统的具体本地调试循环——在已安装的主机上 复现构建、链接或运行时故障,将问题缩小到某个组件,并对其 反复迭代——由 doca-debug/SKILL.md 负责编辑、运行、观察 循环,应与本技能一同加载。移交该循环并不意味着可以不提供 关键信息:调试答复仍需包含本技能负责的两项内容,并应在同一 条答复中一并给出——说明示例、库和 pkg-config 文件实际位置的 /opt/mellanox/doca/... 安装布局,以及相关库对应的标准 docs.nvidia.com 页面。例外情况:如果用户表示自己已有文档, 只需要本地调试循环,则路由到 doca-debug 和对应的组件技能 即可,然后停止;不要让他们也加载本技能。

示例

本技能负责路由的问题类型见 references/map.md。

说明

请先加载此文件。然后只打开 references/ 下匹配的配套文件—— 一个文件,而非整个目录。同一答复不要再查看第二个配套文件。

问题类别在 references/ 下打开此文件
示例问题类型;GitHub 来源;磁盘布局;版本;URL 审核;基本规则;文档入口map.md
各库的公开指南libraries.md
套件内的 DOCA 服务services.md
套件内的 DOCA 工具tools.md
外部产品化的 DPU、服务、网络结构、编排或固件产品external-dpu.md

这些文件各自包含一份三部分的“路由而非回答”约定(识别类别、 说明边界、提供公开 URL)。不要打开所有配套文件。对于网络 结构、编排、固件和交换机产品,请从 external-dpu.md 开始, 并从其最后一节继续。

公开文档入口

公开文档入口表位于 references/map.md 的最后一节。

公开源代码:GitHub

公开的 GitHub 源代码位置见 references/map.md ## Public source code: GitHub。 不要编造仓库 URL。

已安装 DOCA 软件包的布局

磁盘上的 /opt/mellanox/doca 布局表见 references/map.md ## Layout of an installed DOCA package。 请加载该配套文件;不要凭记忆编造安装路径。

在哪里查找版本

版本检测路由位于 references/map.md ## Where to find the version。 然后加载 doca-version/SKILL.md,查看四来源链。

URL 审查

内联 URL 审查历史位于 references/map.md ## URL audit。 过时链接的恢复信息应保留在该处,而非本文件中。

特定库和模块的指南

各库的公开指南条目位于 references/libraries.md。 如需单个库的文档路由,请打开该配套文件。

DOCA 服务

本资料包内的 DOCA 服务指南条目位于 references/services.md。 如需 DMS / Firefly / Argus / UROM-service 的文档路由,请打开该配套文件。

大规模部署 DOCA 服务

集群 / Kubernetes 编排不属于本资料包的 SDK 范围。 按角色 / 规模划分的入口位于 references/services.md。 在此规模下,不要自行编写逐主机执行 bfb-install 的循环。

DOCA 工具

本资料包内的 DOCA 工具指南条目位于 references/tools.md。 如需 caps / bench / tune / tracer 的文档路由,请打开该配套文件。

外部产品化的 DOCA 软件——不在本资料包中,但可从此处查找路由

26 款产品的路由(不回答)表从 references/external-dpu.md 开始,并在其最后一节继续列出 fabric、orchestration、firmware 和 switch 产品。 识别其类别,说明 monorepo 边界,并提供公开 URL 及 Developer Forum 搜索提示。不要根据训练知识编造这些产品的信息。

评论

支持 Markdown