caldav-sync — CalDAV 同步
v1.0.2通过CalDAV协议实现日历和任务管理。支持查询、创建、编辑和删除日历事件和todos。包括空闲/繁忙查询和多账户支持。
运行时依赖
安装命令
点击复制技能文档
CalDAV 同步工具 通过 CalDAV 协议管理日历事件和待办事项。支持 Google Calendar、iCloud、Nextcloud、Fastmail、NetEase(163/126/yeah.net)和任何标准 CalDAV 服务器。
配置 运行设置脚本以安装依赖项并配置您的 CalDAV 账户: bash setup.sh 如果手动运行命令而不使用 setup.sh,请先安装依赖项: npm install --production 配置存储在 ~/.config/mail-skills/.env(与 imap-smtp-email 技能共享)。如果没有找到共享配置,则技能将回退到技能目录中的 .env 文件。 配置文件格式 # 默认账户 PROVIDER=163 USERNAME=your@163.com PASSWORD=your_password CALDAV_DEFAULT_CALENDAR= PROVIDER 预设自动填充 CalDAV 服务器 URL。对于自定义服务器: PROVIDER=custom USERNAME=your@email.com PASSWORD=your_password CALDAV_SERVER_URL=https://your-caldav-server.com/ 多账户 您可以在同一个配置文件中配置额外的账户。每个账户使用一个名称前缀(大写)对所有变量进行命名。 # 工作账户(WORK_ 前缀) WORK_PROVIDER=gmail WORK_USERNAME=me@company.com WORK_PASSWORD=app_password WORK_CALDAV_DEFAULT_CALENDAR=work 在命令前添加 --account : node scripts/caldav.js --account work list-calendars node scripts/caldav.js --account work list-events --start 2026-01-01 --end 2026-12-31 支持的提供商 提供商 服务器 URL 身份验证 Google Calendar https://calendar.google.com/calendar/dav/ 应用密码 iCloud https://caldav.icloud.com/ 应用特定密码 Nextcloud https:///remote.php/dav/calendars// 用户名/密码 Fastmail https://caldav.fastmail.com/dav/ 用户名/密码 NetEase (163/126/yeah.net) https://caldav.163.com/ 授权码 NetEase 企业(北) https://caldav.qiye.163.com/ 用户名/密码 NetEase 企业(东) https://caldavhz.qiye.163.com/ 用户名/密码 命令 list-calendars 列出所有可用的日历。 node scripts/caldav.js [--account ] list-calendars list-events 查询时间范围内的事件。 node scripts/caldav.js [--account ] list-events --start --end [--calendar ] get-event 获取指定事件的 UID。 node scripts/caldav.js [--account ] get-event --uid [--calendar ] create-event 创建新的日历事件。 node scripts/caldav.js [--account ] create-event --summary --start --end \ [--description ] [--location ] [--calendar ] update-event 更新现有的事件。 node scripts/caldav.js [--account ] update-event --uid [--summary ] [--start ] \ [--end ] [--description ] [--location ] [--calendar ] delete-event 删除事件。 node scripts/caldav.js [--account ] delete-event --uid [--calendar ] list-todos 列出所有待办事项/任务。 node scripts/caldav.js [--account ] list-todos [--status ] [--calendar ] create-todo 创建新的待办事项/任务。 node scripts/caldav.js [--account ] create-todo --summary [--due ] \ [--description ] [--priority <1-9>] [--calendar ] update-todo 更新现有的待办事项。 node scripts/caldav.js [--account ] update-todo --uid [--summary ] [--due ] \ [--status ] [--calendar ] delete-todo 删除待办事项。 node scripts/caldav.js [--account ] delete-todo --uid [--calendar ] freebusy 查询时间范围内的空闲/繁忙信息。 node scripts/caldav.js [--account ] freebusy --start --end [--calendar ] list-accounts 列出所有配置的 CalDAV 账户。 node scripts/caldav.js list-accounts 安全注意事项 配置存储在 ~/.config/mail-skills/.env 中,权限为 600(所有者读写)。 对于 Google:请生成应用密码(https://myaccount.google.com/apppasswords),而不是使用常规密码。 对于 NetEase:请使用授权码(而不是账户密码)。 故障排除 连接失败:请验证服务器 URL 是否正确且可访问。 身份验证失败:对于 Google,请使用应用密码(而不是常规密码)。 对于 NetEase,请使用授权码(而不是账户密码)。 对于 iCloud,请使用应用特定密码。 未找到日历:请验证 CalDAV 服务是否在您的账户设置中启用。 请检查服务器 URL 是否包含正确的路径。 相关技能 imap-smtp-email - 通过 IMAP/SMTP 读取、搜索、管理和发送电子邮件。支持 Gmail、Outlook、NetEase(163/126/188)和任何标准 IMAP/SMTP 服务器。 安装:npx skills add https://github.com/gzlicanyi/mail-skills -s imap-smtp-email 反馈 问题和拉取请求均可在 github.com/gzlicanyi/mail-skills 中提交。