/install carddav-contacts
CardDAV Contacts (vdirsyncer + khard)
vdirsyncer syncs CardDAV contacts to local .vcf files. khard reads and manages them via CLI.
Sync First
Always sync before querying to ensure you have the latest contacts:
vdirsyncer sync
Quick Search (Smart)
If configured with default_action = list (standard), you can search directly without subcommands:
khard "john" # Search for "john" in all fields
khard "pilar" # Search for "pilar"
List & Search (Explicit)
Use list if you need specific flags or if the implicit search doesn't match your config.
khard list # List all contacts
khard list "john" # Search explicitly
khard list -a work # List only from 'work' address book
khard list -p # Parsable output (tab-separated)
View Contact Details
khard show "john doe" # Show details (pretty print)
khard show --format yaml "john" # Show as YAML (good for editing)
Quick Field Lookup
Extract specific info (great for piping):
khard email "john" # List emails only
khard phone "john" # List phone numbers only
khard postaddress "john" # List postal addresses
Management
khard new # Create new contact (interactive editor)
khard edit "john" # Edit contact (interactive editor)
khard remove "john" # Delete contact
khard move "john" -a work # Move to another address book
Configuration Setup
1. Configure vdirsyncer (~/.config/vdirsyncer/config)
[pair google_contacts]
a = "google_contacts_remote"
b = "google_contacts_local"
collections = ["from a", "from b"]
conflict_resolution = "a wins"
[storage google_contacts_remote]
type = "carddav"
url = "https://www.googleapis.com/.well-known/carddav"
username = "[email protected]"
password.fetch = ["command", "cat", "~/.config/vdirsyncer/google_app_password"]
[storage google_contacts_local]
type = "filesystem"
path = "~/.local/share/vdirsyncer/contacts/"
fileext = ".vcf"
2. Configure khard (~/.config/khard/khard.conf)
Critically, set default_action = list to enable quick search.
[addressbooks]
[[google]]
path = ~/.local/share/vdirsyncer/contacts/default/
[general]
default_action = list
editor = vim
merge_editor = vimdiff
[contact table]
display = formatted_name
sort = last_name
3. Initialize
mkdir -p ~/.local/share/vdirsyncer/contacts
vdirsyncer discover google_contacts
vdirsyncer sync
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install carddav-contacts - 安装完成后,直接呼叫该 Skill 的名称或使用
/carddav-contacts触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
CardDAV Contacts 是什么?
Sync and manage CardDAV contacts (Google, iCloud, Nextcloud, etc.) using vdirsyncer + khard. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 1200 次。
如何安装 CardDAV Contacts?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install carddav-contacts」即可一键安装,无需额外配置。
CardDAV Contacts 是免费的吗?
是的,CardDAV Contacts 完全免费(开源免费),可自由下载、安装和使用。
CardDAV Contacts 支持哪些平台?
CardDAV Contacts 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(linux)。
谁开发了 CardDAV Contacts?
由 jcromero(@jcromero)开发并维护,当前版本 v1.0.2。