CaiMingshen/dsh-icloud-calendar ↗★ 1

dsh-icloud-calendar

通过CalDAV读写苹果iCloud日历 适合需要授权AI智能体直接管理和同步其iCloud日程表的用户。

套件
dsh-icloud-calendar
相容性
待驗證
Harness 依賴範圍
0.2.0-rc.2
Cordis 依賴範圍
~4.0.4
版本
0.1.0
授權
MIT
最近更新
2026年10月1日

安裝

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:CaiMingshen/dsh-icloud-calendar

配置

插件是 bundle:dsh.bundle.patch → cordis.patch.yml 插入两行。

行作用
dsh-icloud-calendar/host连接、缓存、策略:注册 ctx.icloudCalendar 服务
dsh-icloud-calendar/tools把服务暴露成 5 个模型可见的工具

只装 host 行不装 tools 行,日历就能被代码使用但对模型不可见 —— 这是一个有用的开关。

完整可复制的配置见 examples/cordis.patch.example.yml。常用项:

- insert:
    - id: icloud-calendar-host
      name: 'dsh-icloud-calendar/host'
      config:
        account: 'you@example.com'      # 也可留空,用 $ICLOUD_ACCOUNT
        secretEnv: ICLOUD_APP_PASSWORD  # 密码所在的环境变量名
        secretSource: auto              # auto | env | store
        allowWrites: true
        allowDeletes: false             # 默认关闭删除
        maxDeletesPerCall: 1
        timeoutMs: 30000
        retries: 2
        proxyUrl: ''                    # 例:http://127.0.0.1:7890
    - id: icloud-calendar-tools
      name: 'dsh-icloud-calendar/tools'

配置里没有密码字段,这是故意的:profile 补丁是磁盘上的文件,把 App 专用密码写进去就等于绕过了系统凭据存储。改配置需要重载 profile(这些字段没有标 .volatile(),因此不会出现在设置页表单里)。

serverUrl 的取值规则:远程主机必须 HTTPS;只有 127.0.0.1 / ::1 / localhost 允许明文 HTTP —— 自建 CalDAV(Radicale、Nextcloud、Baikal)经常就在本机跑明文,而凭据仍走 Authorization 头,所以只对回环开这个口子。想连局域网里的自建服务,请给它配上 HTTPS。