Skip to content

STARDUSTLC666/dsh-calendar

31Last commit Aug 15, 2026

dsh-calendar DSH plugin

dsh-calendar is a DSH community plugin that enables agents to manage calendar events via CalDAV. It provides five tools (list, create, update, delete, search) and supports Google Calendar, iCloud, Nextcloud, and any CalDAV server. All configuration is done via cordis.patch.yml with no web UI.

How to install the dsh-calendar DSH plugin

dsh plugin --profile web add dsh-calendar

Copying does not run this command. Review the repository and version before installing the dsh-calendar DSH plugin.

dsh-calendar DSH plugin data source

dsh-calendar DSH plugin snapshot date: Aug 16, 2026

discovered

What the dsh-calendar DSH plugin can do

  • List events in a time range with auto-expanded recurring events (max 30 occurrences by default, clampable to 1-200).
  • Create new calendar events with summary, start/end times, description, location, all-day flag, and optional RRULE.
  • Update existing events by UID, preserving fields not provided.
  • Delete events by UID.
  • Search events by keyword in title, description, location, and UID (case-insensitive, limit 50 default, clamp 1-200).

Where the dsh-calendar DSH plugin fits

  • Let an agent schedule a meeting by creating a calendar event.
  • Ask an agent to list all events for the next week.
  • Have an agent update the location or time of an existing event.
  • Find events containing a specific keyword across all calendars.
  • Automatically delete past events or duplicate entries.

Who the dsh-calendar DSH plugin is for

  • DSH users who want their agents to manage calendars.
  • Developers building agent workflows that require calendar integration.
  • Enterprise users using Google Workspace or iCloud with CalDAV access.

dsh-calendar DSH plugin limitations

  • Google and iCloud CalDAV endpoints are not directly reachable from mainland China; a proxyUrl must be configured.
  • Does not support modifying or deleting individual occurrences of a recurring event (no RECURRENCE-ID support).
  • Only supports Basic authentication with app-specific passwords; no OAuth flow.
  • Timezone handling is limited: events with TZID are converted to UTC, and daylight saving rules are not fully processed.
  • iCloud requires manually providing the full calendar collection URL; no automatic calendar discovery.

dsh-calendar DSH plugin: from the repository README

Quoted from the STARDUSTLC666/dsh-calendar README, the upstream source of the dsh-calendar DSH plugin. Copyright remains with the original authors.

> **agent 从此会排期**:CalDAV 读写日历,重复日程自动展开。 ![npm version](https://img.shields.io/npm/v/dsh-calendar?label=npm&color=blue) ![npm downloads](https://img.shields.io/npm/dm/dsh-calendar) ![license](https://img.shields.io/npm/l/dsh-calendar) ![stars](https://img.shields.io/github/stars/STARDUSTLC666/dsh-calendar?style=social) [![Awesome DSH Plugin](https://awesome-dsh-plugin.com/badge.svg)](https://awesome-dsh-plugin.com) DSH 社区插件:通过 CalDAV 读写日历事件。提供 5 个面向模型的工具(calendar_list / calendar_create / calendar_update / calendar_delete / calendar_search),支持 Google / iCloud / Nextcloud 及任意 CalDAV 服务器。本轮为 node 半身,不含设置页 UI,配置全部走 profile 的 cordis.patch.yml。 ## 安装 ```bash dsh plugin --profile web add dsh-calendar ``` 安装后重启 dsh。插件会向 profile 插入一行 id 为 `calendar` 的配置行(见本包的 cordis.patch.yml)。默认 provider 为 custom 且未填任何凭证,此时插件照常加载,但工具在调用时会抛出中文指引错误,提示你补全配置。 ## 配置 所有配置都在你的 profile 的 cordis.patch.yml 里,按 id 覆盖 `calendar` 行(覆盖整行的 config)。通用字段: - `provider`:google | icloud | nextcloud | custom - `caldavUrl`:完整日历集合 URL(custom / icloud 必填;google / nextcloud 也可手填覆盖预设) - `username`:CalDAV 账号(Google / iCloud 为账号邮箱) - `password`:密码;Google / iCloud 请用应用专用密码。推荐用环境变量 `DSH_CALENDAR_PASSWORD`,避免明文入库。 - `proxyUrl`:

Read the full READMEThe repository declares no license. Check with the authors before using it.

dsh-calendar DSH plugin questions

How do I configure Google Calendar with dsh-calendar?

Set the provider to 'google' and provide your Gmail address as username and calendarId. Generate an app-specific password from your Google account security settings (not your regular password). If you are in mainland China, also set the proxyUrl to your local proxy client's port (e.g., http://127.0.0.1:7890).

Can I use dsh-calendar with Outlook or Exchange?

The plugin supports any CalDAV server, so if your Outlook/Exchange provides a CalDAV endpoint, you can use the 'custom' provider with the full caldavUrl. However, many Office 365 tenants do not expose CalDAV; you may need to enable it or use a third-party bridge.

Why do I get a 401 error when calling the tools?

The most common cause is using your regular login password instead of an app-specific password. Both Google and iCloud require app-specific passwords for CalDAV access. Generate one from your account security settings and try again. Also ensure your username and password are correctly spelled.

What is the proxyUrl field for?

The proxyUrl is used to route CalDAV requests through a local proxy client, which is necessary when accessing Google or iCloud CalDAV endpoints from mainland China because they are blocked. Set it to your proxy client's HTTP(S) proxy address, e.g., http://127.0.0.1:7890. If your CalDAV server is directly reachable, leave it empty.

Does dsh-calendar support recurring event modifications?

The plugin can update or delete the entire recurring series by its UID, but it does not support modifying or deleting a single occurrence of a recurring event (no RECURRENCE-ID support). The calendar_list tool can expand recurring events into individual occurrences for viewing, but changes will apply to the whole series.