用途
DigiKey 技能用于在 DigiKey(电子元器件分销商)上搜索元件并下载数据手册。在相关技能体系中,它是原型订单的主要来源(Mouser 为次要来源),同时因为其 API 能返回直接的数据手册 PDF 链接,被指定为数据手册的首选获取方式。量产订单另见 lcsc/jlcpcb,BOM 管理与导出流程另见 bom 技能。
关联技能:kicad(原理图分析,提取 MPN 用于数据手册同步)、bom(BOM 管理,协调各分销商采购)、spice(使用 DigiKey 参数数据构建行为级 SPICE 模型)。
主要能力
DigiKey Product Information API v4 是该技能推荐使用的搜索方式,返回结构化 JSON,包含完整产品信息、价格、库存、数据手册与参数数据。主要端点包括:
POST /products/v4/search/keyword:主搜索端点,按 MPN、DigiKey 料号、描述或关键词搜索。支持 Limit(1-50)、Offset 分页,SearchOptions(InStock、HasDatasheet、RoHSCompliant、NormallyStocking、Has3DModel、HasCadModel、HasProductPhoto、NewProduct),SortOptions(Price、QuantityAvailable、Manufacturer、ManufacturerProductNumber、DigiKeyProductNumber、MinimumQuantity),MarketPlaceFilter(NoFilter、ExcludeMarketPlace、MarketPlaceOnly)。GET /products/v4/search/{productNumber}/productdetails:获取单个元件的完整信息,可用 manufacturerId 限定多厂商重名 MPN。- 其它端点:productpricing(含 MyPricing 的定价)、media(全部图片与数据手册)、manufacturers、categories、alternatepackaging(替代封装)、substitutions(替代件)、recommendedproducts(推荐/关联件)。
KeywordSearch 响应中的关键字段包括 ManufacturerProductNumber、Manufacturer、Description、UnitPrice、QuantityAvailable、ProductUrl、DatasheetUrl、PhotoUrl、ProductVariations(含 DigiKeyProductNumber、PackageType、StandardPricing 价格阶梯、MinimumOrderQuantity、StandardPackage)、Parameters(参数表)、ProductStatus、Category、Classifications、Discontinued、EndOfLife、NormallyStocking。
认证与使用方式
API 使用 OAuth 2.0 客户端凭据(2-legged)流程。配置步骤:在 digikey.com 创建账号;在 developer.digikey.com 注册 API 应用(选择 "Product Information v4",OAuth 类型选 Client Credentials,Callback URL 填 https://localhost);记录 Client ID 与 Client Secret;运行时设置环境变量:
export DIGIKEY_CLIENT_ID=your_client_id_here export DIGIKEY_CLIENT_SECRET=your_client_secret_here
如果凭据存放在集中式 secrets 文件(如 ~/.config/secrets.env),可先加载:
export $(grep -v '^#' ~/.config/secrets.env | grep -v '^$' | xargs)
获取 token(有效期 10 分钟,建议缓存复用):
curl -s -X POST https://api.digikey.com/v1/oauth2/token
-H "Content-Type: application/x-www-form-urlencoded"
-d "client_id=${DIGIKEY_CLIENT_ID}&client_secret=${DIGIKEY_CLIENT_SECRET}&grant_type=client_credentials"
每次调用都需带请求头:X-DIGIKEY-Client-Id: ${DIGIKEY_CLIENT_ID} 与 Authorization: Bearer <access_token>。可选本地化头:X-DIGIKEY-Locale-Language(en 默认,另支持 ja、de、fr、ko、zhs、zht、it、es)、X-DIGIKEY-Locale-Currency(USD 默认,另支持 CAD、EUR、GBP、JPY 等)、X-DIGIKEY-Locale-Site(US 默认,另支持 CA、UK、DE 等)。Base URL 为 https://api.digikey.com。
数据手册同步(主要工作流)使用 sync_datasheets_digikey.py,在 KiCad 工程旁维护 datasheets/ 目录:
python3 <skill-path>/scripts/sync_datasheets_digikey.py <file.kicad_sch>
常用参数:--dry-run(预览)、--force(重试此前失败的下载)、-o ./my-datasheets(自定义输出目录)、--parallel 3(并行下载)、--delay(调整 API 调用间隔,默认 1 秒)。也可传入分析器输出的 JSON,或使用 --mpn-list mpns.txt --output ./datasheets 的纯 MPN 列表批次模式(无需 KiCad 工程)。该脚本会自动运行 kicad 原理图分析器提取元件与 MPN,跳过没有真实 MPN 的通用无源件(如 "100nF"、"10K"),优先尝试原理图符号中内嵌的数据手册 URL 以节省 API 调用,写入 manifest.json(映射 MPN 到 PDF 文件、厂商、描述、下载状态与 URL),记录失败详情,并在 --force 前不重试。脚本增量保存进度,中断后已下载文件保留。
单份下载使用 fetch_datasheet_digikey.py:
python3 <skill-path>/scripts/fetch_datasheet_digikey.py --search "TPS61023" -o datasheet.pdf python3 <skill-path>/scripts/fetch_datasheet_digikey.py "https://www.ti.com/lit/gpn/tps61023" -o datasheet.pdf python3 <skill-path>/scripts/fetch_datasheet_digikey.py --search "ADP1706" --json
该脚本跨操作系统(基于 Python requests,缺失时回退 urllib);规范化重定向 URL(处理 TI 部件的 JS 跳转页与 //mm.digikey.com/... 协议相对链接);设置浏览器 User-Agent;校验 PDF 头以拒绝伪装的 HTML 错误页或 Cloudflare 挑战页;在 Microchip 主 URL 失败时回退到已知 URL 模式;若安装了 playwright,则使用无头 Chromium 作为最后兜底。退出码:0 成功、1 下载失败、2 搜索/API 错误。依赖:pip install requests(强烈推荐);pip install playwright && playwright install chromium(可选)。
API 不可用时可通过抓取网页结果回退:https://www.digikey.com/en/products/result?keywords=<url-encoded-query>,但页面 JS 较重,结果可能噪声较多或为空,建议按精确 MPN 而非关键词搜索。
适用场景
- 为原型设计查找元件并获取参数、库存与价格阶梯
- 为 KiCad 工程批量同步数据手册,并在设计评审时与原理图交叉比对
- 为 BOM 采购流程提供 DigiKey 侧的选型与定价信息
- 为 SPICE 模型提供参数化数据
- 批量种子化器件库(通过 MPN 列表批次模式)
- 查找替代件、替代封装与推荐关联件
限制与注意事项
- API 有每分钟与每日配额限制,超出返回 HTTP 429 并带 Retry-After 头;错误统一返回 DKProblemDetails(type、title、status、detail、correlationId)。
- access_token 有效期 10 分钟,会话中途出现 401 需重新认证。
- 部分厂商站点(Lattice、TDK InvenSense)需要交互式登录、cookie 或验证码,即使无头浏览器也无法处理;Broadcom 与 Espressif 需安装 Playwright 才能自动下载。下载失败(退出码 1)时应把 URL 提供给用户手动下载。
- 脚本在 8 个开源 KiCad 工程的 240 个元件上测试通过:下载成功率 96%,未安装 Playwright 时为 94%。可兼容的厂商包括 TI、ADI/Analog、STMicro、Nexperia、Lite-On、Molex、Renesas、ON Semi、NXP、Diodes Inc、Microchip、YAGEO、Samsung、Murata 等;Broadcom 与 Espressif 需 Playwright;Lattice 表现不一。
- 使用提示:DigiKey 料号后缀 -ND 为标准、-1-ND 为切带、-2-ND 为 digi-reel、-6-ND 为整卷;使用 ExcludeMarketPlace 过滤第三方卖家;在选型前检查 ProductStatus 与 Discontinued/EndOfLife 字段。
数据手册分析要点
在 KiCad 设计评审中分析数据手册时,关注:绝对最大额定值(电压、电流、温度)、推荐工作条件、引脚定义与说明(对照 KiCad 符号)、封装尺寸(对照 KiCad 封装)、典型应用电路(对照用户原理图)、热特性(θJA、θJC,用于功耗计算)以及关键电气参数(Vout、Iq、PSRR 等)。