DiceBear:面向设计师与开发者的开源头像库
DiceBear 是一个开源头像库,可将用户名、邮箱等种子字符串稳定地转换为 63 种风格的 SVG 头像,并提供 JavaScript、PHP、Python、Rust、Go、Dart、C# 原生库、HTTP API、CLI 和编辑器。
社区作者 · zZz
它解决什么问题
DiceBear Avatar Library 是一个开源头像库,面向设计师与开发者。它可将任意种子字符串(例如用户名或邮箱地址)转换为 63 种风格之一的 SVG 头像,风格涵盖手绘角色到抽象图案。相同种子始终生成相同头像,因此应用只需存储字符串而不是图片,也无需让用户上传头像。头像可通过样式选项定制,包括颜色、背景、旋转以及头发、眼镜等单个特征。
DiceBear 10 提供 JavaScript、PHP、Python、Rust、Go、Dart 和 C# 原生库。每个移植版本都通过共享测试套件,要求输出与 JavaScript 参考实现字节级一致的 SVG。因此可以在浏览器生成头像,之后在 Go 或 PHP 后端重新生成,并得到相同字节。
仓库为 monorepo,包含七个核心库、CLI、SVG 转栅格转换器、文档站点(dicebear.com)和编辑器。相关项目位于独立仓库:dicebear/styles(官方头像样式定义)、dicebear/schema(定义与选项背后的 JSON Schema)、dicebear/api(可自托管 HTTP API)、dicebear/studio(供样式作者使用的 Figma 插件)。欢迎贡献,CONTRIBUTING.md 说明设置和每类变更应放置的位置。
配图 1 为项目 README 中检测到的标识;配图 2 为赞助商 bunny.net 的标识。
适用对象:需要在应用、网站或后端中生成用户头像、占位头像、随机但可复现头像的开发者、设计师和产品团队;也适合希望自托管 API 以更好控制隐私的团队。
— 本文由 AI 根据公开来源辅助整理,命令、版本与许可证请在使用前到原始页面复核。
安装 / 开始使用
安装与使用指南(依据来源整理):
- 环境准备
选择目标语言并准备对应运行时与包管理器:JavaScript/TypeScript 使用 Node.js/npm;PHP 使用 Composer;
Python 使用 pip;Rust 使用 Cargo;
Go 使用 Go modules;Dart 使用 pub;C# 使用 dotnet。
- 如果只使用 HTTP API,无需安装库,也无需账号。
- 如果需要自托管 HTTP API,可准备 Docker 环境,来源说明可用单个 Docker 容器自托管。
- 安装核心库
JavaScript / TypeScript:
npm install @dicebear/core- PHP:composer require dicebear/core
Python
pip install dicebear-coreRust:
cargo add dicebear-coreGo
go get github.com/dicebear/dicebear-go/v11- Dart:dart pub add dicebear_core
- C#:dotnet add package DiceBear.Core
import { Avatar , Style } from '@dicebear/core' ; import definition from '@dicebear/styles/lorelei.json' with { type : 'json' } ;
- JavaScript 首次运行示例
const avatar = new Avatar ( new Style ( definition ) , { seed : 'John' , size : 128 , } ) ;
avatar . toString ( ) ; // SVG string avatar . toDataUri ( ) ; // data:image/svg+xml;charset=utf-8,...
文档提供每种语言的等效写法。
- 使用官方样式或创建自定义样式
- 63 个头像样式是来自 dicebear/styles 仓库的普通 JSON 定义,并以每种语言的包形式提供。
- 也可以使用 Figma 或从零创建自己的样式。
- 不写代码的用法
- HTTP API:通过普通 URL 返回头像,免费且无需账号,例如 https://api.dicebear.com/10.x/lorelei/svg?seed=Felix 。如需完整控制和隐私,可用单个 Docker 容器自托管。
- CLI:将头像打印到终端或批量生成文件,例如 npx dicebear create lorelei -o ./avatars --count 10 。
- 编辑器:手工组装单个头像并导出。
- 常见问题与排错要点
- 同一 seed 始终产生同一头像。
- 多语言移植版本通过共享测试套件,要求与 JavaScript 参考实现输出字节级一致的 SVG;跨语言重新生成时应得到相同字节。
- 代码为 MIT 许可证,包括商业使用;头像样式由各自创作者提供并带各自许可证,许多只要求署名,使用前应查看许可证概览。
- 贡献前查看 CONTRIBUTING.md,其中说明设置方式以及不同变更应归属的位置。