dsh-calendar
支持 CalDAV、iCalendar 与 RRULE 的 DSH 日历集成插件,具备中文偏好适配与冲突检测。
AI 分析
核心用途是让 Agent 能够读写和管理个人日历日程,支持农历、节假日及冲突检测。适合需要 Agent 协助管理日程、安排会议的个人助理任务。
安裝
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:JohnXu22786/calendar說明文件
閱讀完整 README ↗Configuration
Configuration goes through the bundle's Config schema (set in the patch /
profile overlay):
- insert:
- id: calendar
name: dsh-calendar
config:
defaultTimezone: Asia/Shanghai
serverUrl: https://nextcloud.example.com/remote.php/dav/
# or calendarUrl: https://nextcloud.example.com/remote.php/dav/calendars/me/personal/
authMode: basic # basic | google
or via environment variables / the dsh credential service (see below).
Credentials (never logged)
| secret | meaning |
|---|---|
CALDAV_URL | full calendar collection URL (Basic) |
CALDAV_USERNAME / CALDAV_PASSWORD | Basic credentials |
GOOGLE_CLIENT_ID | Google OAuth client id |
GOOGLE_CALDAV_REFRESH_TOKEN | long-lived refresh token (see below) |
Set them in the environment, or store them in the dsh credential service
(credentialRef names match the table above, e.g.
credentialRef('CALDAV_PASSWORD')), or, for the CLI, in the local
.calendar-credentials.json (mode 0600). The resolver checks environment →
dsh credential service → local store.
Google OAuth (device flow)
dsh-calendar auth google --device --client-id
opens a URL to authorize; the refresh token is saved to the secure store. The server-side client refreshes the access token automatically when near expiry.