软件介绍
评论列表

目录

DiceBear的定位很清晰:给需要用户头像的产品一个轻量、可重复、不依赖图片存储的解决方案。它的核心逻辑是确定性生成——你提供一个种子值,它用内置的伪随机数生成器决定头像的每个细节,发型、眼睛、肤色、背景色等等。同一个种子,不管在哪台设备、哪个时间、用哪种语言的库来跑,出来的头像一模一样。

这意味着什么?用户注册时你不需要让他上传照片,直接拿他的用户ID当种子生成一个头像,以后每次显示都拿同一个ID去生成,头像永远不会变。你不需要存图片文件,不需要CDN,也不需要处理上传审核这些事情。对于新用户默认头像、聊天应用里的参与者标识、论坛社区的用户头像来说,这套逻辑很省事。

它不是单一风格的头像库。官网目前列出了61种风格,由不同的艺术家绘制,有手绘涂鸦、可爱角色、机器人、像素艺术、抽象几何、首字母组合等等。你可以根据产品调性选一个合适的风格,换风格只需要改URL里的一个单词。

官网入口地址

https://www.dicebear.com/

下载地址

DiceBear本身不需要“下载安装”。它有三种使用方式,对应不同的获取途径:

直接调HTTPAPI:什么都不用下,在<img>标签的src里填一个URL就行。比如https://api.dicebear.com/10.x/lorelei/svgseed=Alice。

用包管理器安装库:前端用npm装@dicebear/core和对应的风格包;PHP、Python、Rust、Go、Dart、C#也都有对应的库可以装。适合想在本地生成、不经过外部请求的场景。

命令行工具:npxdicebear可以在脚本里批量生成头像。

开源项目地址在GitHub:https://github.com/dicebear/dicebear

功能介绍

确定性生成是整个工具的基础。种子可以是任意字符串,用户名、邮箱、UUID、数字ID都行。DiceBear内部用这个字符串驱动伪随机数生成器,决定头像的每个可选项。同一个种子配合同一个风格,输出永远一致。这在多端场景下特别有用:Web端、iOS端、Android端拿同一个用户ID去生成,头像不会各显示各的。

风格库目前有61种。按大类分,有角色类(Adventurer、Lorelei、Micah、OpenPeeps、Personas)、像素类(PixelArt)、机器人(Bottts)、抽象类(Identicon、Rings、Shapes)、手绘涂鸦(Croodles、Cutouts)、首字母(Initials)、表情(FunEmoji)等等。每种风格有自己的可调选项,比如角色类可以改发型、发色、眼睛、嘴巴、眼镜、肤色;抽象类可以调颜色和形状参数。风格之间的选择只需要改URL里的一段路径。

可定制选项分两层。一层是所有风格通用的,比如背景色、翻转、缩放、尺寸。另一层是风格专属的,比如Lorelei风格有hair、eyes、mouth这些参数,每个参数接受一个值数组来限定可选范围。通过URL的查询参数或者库的options对象传进去。

多语言库支持做得比较全。官方维护了JavaScript/TypeScript、PHP、Python、Rust、Go、Dart、C#的库,行为一致,同一个种子在不同语言里生成的SVG是字节级相同的。前端框架方面,React、Vue、Svelte、Angular都可以直接用HTTPAPI当图片源,也可以用JS库在本地渲染。

无需代码的编辑器面向非开发者。官网的AvatarMaker点选式操作,选风格、调颜色和配件、下载PNG,不用写一行代码。Figma插件则让设计师可以在设计稿里直接配置头像风格,导出成可用的包。

自托管支持。如果你不想依赖DiceBear的公共API,可以把HTTPAPI部署到自己的服务器上,数据不出你的基础设施。对于有数据合规要求的项目来说,这个选项比较关键。

应用场景

用户注册默认头像:新用户还没上传照片时,拿用户ID当种子生成一个专属头像,取代灰色剪影。不需要存储空间,不需要审核,用户一注册就有“脸”。

聊天与协作工具:聊天列表、光标位置、提及列表里需要快速识别不同的人。用用户ID生成头像,同一个人在每台设备上看起来都一样,识别成本低。

论坛与社区:新用户发第一帖时就有头像,社区氛围更友好。不想让用户自己选头像的产品,可以直接用这套方案统一视觉风格。

游戏与虚拟身份:NPC、机器人、玩家标识都可以用种子批量生成。同一个角色ID每次进游戏看到的是同一张脸。

开发与测试占位图:写UI的时候需要一批不一样的头像做占位,用不同的种子批量生成一批SVG,比手动找图快得多。

使用方法

最快的方式是直接用URL。在HTML里写一个<img>标签,src填DiceBear的API地址,seed参数填你想用的种子字符串:

<img src="https://api.dicebear.com/10.x/lorelei/svgseed=Alice" alt="avatar" />

换风格就把lorelei改成bottts、adventurer、pixel-art等等。加选项就在URL后面继续拼查询参数,比如&backgroundColor=b6e3f4改背景色。

用JavaScript库在本地生成的话,先装包:npminstall@dicebear/core@dicebear/styles,然后:

import { Style, Avatar } from '@dicebear/core';
import lorelei from '@dicebear/styles/lorelei.json' with { type: 'json' };
const style = new Style(lorelei);
const avatar = new Avatar(style, { seed: 'Alice' });
const svg = avatar.toString();

生成的SVG字符串可以直接嵌到页面里,不需要任何网络请求。

不想写代码的话,打开官网的AvatarMaker,点选风格和选项,调好了直接下载PNG。

服务支持与定价

DiceBear的核心库是MIT协议,免费,包括商业项目。公共HTTPAPI也是免费提供的,官方说每天处理数百万请求,走CDN分发。没有付费套餐,没有会员等级,没有功能限制。

需要留意的只有一点:代码是MIT,但每种头像风格的设计版权由各自的艺术家决定,授权协议不全是MIT。比如Croodles风格的设计是CCBY4.0,Adventurer也是CCBY4.0。用在商业项目里之前,建议在官网的授权总览页面确认一下你选的那款风格的具体条款。大部分风格允许商用,但署名要求有差别。

遇到问题可以看官网文档,写得比较细,从快速上手到各语言集成都有覆盖。没有官方客服,但GitHub仓库可以提issue。

源码反馈/咨询 (共有 条反馈)
验证码:

DiceBear常见问题

本文标签
上一篇:兔子二维码
下一篇:TextToSVG