DeepSeek Harness Hub
← 返回列表

日历管理工具paulalesius/dsh-radicale

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

让 agent 增删改查本地日历事件并支持取消归档

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/31 · 已提供中文文档

DeepSeek Harness 插件:一个 radicale 工具,让你的 agent 管理本地 Radicale CalDAV 服务器——列出、读取、创建、更新和搜索事件,创建空日历,以及取消/取消取消事件,并带有完整的溯源信息。

综合分
28.3
GitHub 分
28.3
用户评分
★ Stars
0
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add paulalesius/dsh-radicale
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-plugin-radicale

一个用于 DeepSeek Harness(dsh)的插件,为你的 agent 提供一个 radicale
工具,用于管理你本地的 Radicale 日历服务器。你可以向你的
agent 提出诸如“我的日历上有什么?”、“在周四 10 点添加一个会议”、“为我的工作事务新建一个日历”,或者“取消牙医预约”之类的请求,它就会为你列出、读取、创建、更新和搜索你的事件。

该工具包含八个操作:

- list - 服务器上的集合,或其中某个集合内的事件
- read - 完整读取一个事件(agent 也是通过这种方式获取更新前所需的新鲜度戳记)
- create - 通过简单字段(标题、开始时间、结束时间……)创建新事件
- update - 修改现有事件,同时保留其身份
- search - 查找内容与某段文本匹配的事件
- createCollection - 一个可按名称请求的新的空日历
- cancel - 将某个事件从你的日历移入一个专用的
归档(见下文)
- uncancel - 将已取消的事件放回它原来的位置

该插件从不删除。 它没有删除操作,并且它能够发送给服务器的任何内容都无法移除某个条目。取消事件不是
删除:事件被移入一个归档集合(默认是
/caldav/cancelled,可配置),并且它自己的文件会添加两行小小的
X-DSH- 记录,记下它被取消的时间以及它来自哪里。
这就是可追溯性:事件仍然存在、可读、可恢复,而 uncancel 会逆转这次移动并去掉那些行。如果
该事件确实应该消失,请在你的日历客户端中执行该操作。

安装插件

使用 dsh 命令,在包含此检出内容的目录中执行:

dsh plugin --profile web add /path/to/radicale

从源码运行 dsh 时:

pnpm dsh plugin --profile web add /path/to/radicale

安装是无害的:该插件行以禁用状态提供。在以下两个位置之一启用它(选一个,绝不要两个都用):

每个会话。 在你配置文件的补丁层中
(~/.dsh/profiles/web/cordis.patch.yml,追加到你现有的文件):

- id: radicale
disabled: false

仅一个预设。 在该预设自己的文件中
(~/.dsh/.agent-presets//agent.cordis.yml,追加):

- id: radicale
name: dsh-plugin-radicale

对于按以下默认设置安装的服务器,不需要其他配置——该插件和 Radicale 开箱即用,都使用相同的默认
地址。如果你的服务器监听在其他位置,请添加一个
config 块,并将 baseUrl 设置为你的服务器地址,例如:

- id: radicale
disabled: false
config:
baseUrl: http://

然后重启服务器。

配置

| 键 | 默认值 | 含义 |
| --- | --- | --- |
| baseUrl | 默认本地地址(与按默认设置安装的 Radicale 服务器匹配) | 你的 Radicale 服务器地址,如果它监听在其他位置。主机和端口放在一个值中,例如 http://:。 |
| maxItems | 100 | 一次 list 或 search 调用可以获取多少个事件。达到上限的列表会被标记为 truncated。 |
| cancelledCollection | /caldav/cancelled | cancel 将事件移入的归档集合。裸名称(cancelled)会在 /caldav 下解析;显式路径则按原样保留。它会在第一次取消某些内容时自动创建。 |

config 块会整体替换插件的默认值——列出所有你想保留的键。

该插件假定服务器无需密码即可访问。对于本地服务器(见下文)来说,这是正确的设置;它本身不携带任何凭据配置。

安装 Radicale

Radicale 是一个小型、自包含的 Python 程序。你可以使用 uv 将它安装到一个专用的虚拟环境中:

uv venv ~/venv-caldav
source ~/venv-caldav/bin/activate
uv pip install radicale

这一条命令也会引入它唯一的运行时依赖(vobject),因此无需安装其他任何东西。

配置文件

创建一个配置文件(例如 ~/.radicale-config),内容如下:

[storage]
日历数据存放的位置:每个事件一个普通的 .ics 文件,
通过复制文件夹即可轻松备份。
type = multifilesystem
filesystem_folder = ~/.radicale

[rights]
允许所有者写入。如果没有这一行,服务器就是只读的,
代理可以列出事件,但无法创建或更新事件。
type = owner_write

[auth]
无密码:dsh 插件无需凭据即可连接。
type = none

运行它

radicale -c ~/.radicale-config

就是这样:服务器会启动,打印一行包含其地址的信息,并持续运行,直到你停止它(Ctrl-C)。要让它开机启动,可以在 systemd、tmux 或你已经在使用的任何服务管理器下运行它。

启动后,打开一个会话,让你的代理列出集合——它应该会报告你的日历,或者在首次运行时报告一个空列表。

开发该插件:参见 AGENTS.md。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

同作者(paulalesius)的其他插件

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群