联系人 (cardamum)¶
Hermes 通过 cardamum 管理联系人。cardamum v0.2.0 由镜像从源码构建(rev 771879c)——唯一的二进制发行版 v0.1.0 仍是旧的 $EDITOR 式 cards create 流程,不可用。
使用 vdir 本地存储(QQ 邮箱和 DLUT/Coremail 均不支持 CardDAV 远程同步)。联系人以 vCard 4.0 格式存储,每个联系人一个 .vcf 文件。
自动配置¶
首次启动时 entrypoint 自动创建:
- 配置文件:
~/.hermes/home/.config/cardamum/config.toml - 联系人数据:
~/.hermes/.contacts/(vdir,联系人以 UUID 命名的.vcf文件存放在按通讯录 ID 命名的子目录下,每个子目录还有一个displayname文件) - 通讯录本身(默认名
contacts):vdir 为空时自动创建,其 ID 被写回配置的[addressbook] default,因此后续card命令无需再传-k/--addressbook
联系人数据通过 hermes/scripts/backup.sh 自动纳入云端备份。
常用命令¶
子命令用单数
addressbook/card(v0.2.0 没有复数别名)。card命令缺省作用于addressbook.default,只有配置里没有默认值时才需要-k <ADDRESSBOOK-ID>。
# 创建通讯录(首次使用;entrypoint 已自动完成,通常不需要手动执行)
docker compose exec hermes cardamum addressbook create "contacts"
# 列出所有通讯录
docker compose exec hermes cardamum addressbook list
# 列出所有联系人
docker compose exec hermes cardamum card list
# 查看联系人详情
docker compose exec hermes cardamum card read <CARD-ID>
# JSON 输出(方便 Hermes 解析)
docker compose exec hermes cardamum card list --json
添加联系人¶
用 card create 喂入 vCard 内容即可(v0.2.0 接受原始 vCard 文本、vCard 文件路径,或 - 表示从 stdin 读取),文件名与 UID 由 cardamum 自行生成,无需手工 uuidgen:
echo 'BEGIN:VCARD
VERSION:4.0
FN:Name
EMAIL:email@example.com
END:VCARD' | docker compose exec -T hermes cardamum card create -
若要绕过 cardamum 直接写文件,注意 vdir 布局:文件放在 ~/.hermes/.contacts/<ADDRESSBOOK-ID>/ 下,文件名用 UUID,vCard 内 UID 与文件名一致,且用 VERSION:4.0(不是 3.0)。