Openclaw Nextcloud
2026-03-29
新闻来源:网淘吧
围观:14
电脑广告
手机广告
OpenClaw Nextcloud 技能
此技能提供了与 Nextcloud 实例的集成。它支持访问笔记、任务(待办事项)、日历、文件和联系人。
配置
该技能需要以下环境变量:
NEXTCLOUD_URL:您的 Nextcloud 实例的基础 URL(例如,https://cloud.example.com)。NEXTCLOUD_USER:您的 Nextcloud 用户名。NEXTCLOUD_TOKEN:一个应用密码(推荐)或您的登录密码。
功能
1. 笔记(读/写)
- 列出、获取、创建、更新和删除笔记。
- API:
index.php/apps/notes/api/v1/notes
2. 任务 / 待办事项(读/写)
- 列出、创建、更新、删除和完成任务。
- API:CalDAV (VTODO)。
3. 日历(读/写)
- 列出、创建、更新和删除事件。
- API:CalDAV (VEVENT)。
4. 文件(读写)
- 列出、搜索、上传、下载和删除文件。
- API:WebDAV。
5. 联系人(读写)
- 列出、获取、创建、更新、删除和搜索联系人。
- API:CardDAV。
使用方法
通过捆绑的脚本运行该技能。
node scripts/nextcloud.js <command> <subcommand> [options]
命令
笔记
笔记列表获取笔记 --id <id>创建笔记 --title <t> --content <c> [--category <cat>]编辑笔记 --id <id> [--title <t>] [--content <c>] [--category <cat>]删除笔记 --id <id>
任务
任务列表 [--calendar <c>]创建任务 --title <t> [--calendar <c>] [--due <d>] [--priority <p>] [--description <d>]tasks edit --uid <u> [--calendar <c>] [--title <t>] [--due <d>] [--priority <p>] [--description <d>]tasks delete --uid <u> [--calendar <c>]tasks complete --uid <u> [--calendar <c>]
日历事件
calendar list [--from <iso>] [--to <iso>](默认为未来7天)calendar create --summary <s> --start <iso> --end <iso> [--calendar <c>] [--description <d>]calendar edit --uid <u> [--calendar <c>] [--summary <s>] [--start <iso>] [--end <iso>] [--description <d>]calendar delete --uid <u> [--calendar <c>]
日历(列出可用日历)
calendars list [--type <tasks|events>]
文件
files list [--path <路径>]files search --query <q>files get --path <路径>(下载文件内容)files upload --path <路径> --content <内容>files delete --path <路径>
联系人
联系人列表 [--addressbook <ab>]获取联系人 --uid <u> [--addressbook <ab>]搜索联系人 --query <q> [--addressbook <ab>]创建联系人 --name <n> [--addressbook <ab>] [--email <e>] [--phone <p>] [--organization <o>] [--title <t>] [--note <n>]编辑联系人 --uid <u> [--addressbook <ab>] [--name <n>] [--email <e>] [--phone <p>] [--organization <o>] [--title <t>] [--note <n>]删除联系人 --uid <u> [--addressbook <ab>]
通讯录(列出可用通讯录)
通讯录列表
输出格式
所有输出均为JSON格式。
任务列表输出
{
"status": "success",
"data": [
{
"uid": "unique-task-id",
"calendar": "Calendar Name",
"summary": "Task title",
"status": "NEEDS-ACTION",
"due": "20260201T153000Z",
"priority": 0
}
]
}
截止日期:CalDAV格式日期(YYYYMMDDTHHmmssZ)或null优先级:0-9(0 = 未定义,1 = 最高,9 = 最低)或null
日历事件列表输出
{
"status": "success",
"data": [
{
"uid": "unique-event-id",
"calendar": "Calendar Name",
"summary": "Event title",
"start": "20260205T100000Z",
"end": "20260205T110000Z"
}
]
}
联系人列表输出
{
"status": "success",
"data": [
{
"uid": "unique-contact-id",
"addressBook": "Address Book Name",
"fullName": "John Doe",
"name": "Doe;John;;;",
"phones": ["+1234567890"],
"emails": ["john@example.com"],
"organization": "ACME Inc",
"title": "Developer",
"note": "Met at conference"
}
]
}
电话:电话号码数组或null电子邮件:电子邮件地址数组或空值姓名:vCard格式的结构化姓名(姓氏;名字;中间名;前缀;后缀)
通用格式
{
"status": "success",
"data": [ ... ]
}
或
{
"status": "error",
"message": "Error description"
}
代理行为:默认日历选择
当创建任务或日历事件时,如果用户未指定日历:
-
首次(未设置默认值):
- 运行
calendars list --type tasks(针对任务)或calendars list --type events(针对事件) - 询问用户从列表中选择哪个日历
- 询问是否希望将其设置为未来操作的默认值
- 在内存中记住他们的选择
- 运行
-
如果用户设置了默认值:
- 记住
default_task_calendar和/或default_event_calendar - 在后续操作中自动使用,无需询问
- 记住
-
如果用户拒绝设置默认值:
- 下次他们在创建任务/事件且未指定日历时再次询问
-
用户始终可以覆盖:
- 明确指定
`--calendar`总是优先于默认值
- 明确指定
记忆键
`default_task_calendar`:任务的默认日历名称(VTODO)`default_event_calendar`:事件的默认日历名称(VEVENT)
代理行为:默认通讯录选择
创建联系人时,如果用户未指定通讯录:
-
首次(未设置默认值):
- 运行
`addressbooks list` - 询问用户从列表中选择使用哪个通讯录
- 询问是否要将其设置为未来操作的默认值
- 在记忆中记住他们的选择
- 运行
-
如果用户设置了默认值:
- 记住
default_addressbook - 后续操作自动使用,无需询问
- 记住
-
如果用户拒绝设置默认值:
- 下次他们在创建联系人时未指定通讯录,再次询问
-
用户始终可以覆盖:
- 明确指定
--addressbook始终优先于默认值
- 明确指定
记忆键
default_addressbook:联系人的默认通讯录名称
代理行为:呈现信息
向用户显示数据时,请以可读的方式格式化。输出可能会发送到不支持Markdown渲染的消息平台(如Telegram、WhatsApp等),因此避免使用Markdown格式。
通用指南
- 使用表情符号使输出易于浏览且友好
- 不要使用Markdown格式(不使用加粗,*斜体*,
*代码*, 表格,或使用 - 或 * 的列表) - 使用带换行符的纯文本进行结构组织
- 将技术格式(如 CalDAV 日期)转换为人性化可读格式
- 将相关项目按逻辑分组
表情符号参考
任务:✅ (已完成), ⬜ (待办), 🔴 (高优先级), 🟡 (中优先级), 🟢 (低优先级) 日历:📅 (事件), ⏰ (时间), 📍 (地点) 笔记:📝 (笔记), 📁 (分类) 文件:📄 (文件), 📂 (文件夹), 💾 (大小) 联系人:👤 (人员), 📧 (电子邮件), 📱 (电话), 🏢 (组织) 状态:✨ (已创建), ✏️ (已更新), 🗑️ (已删除), ❌ (错误)
示例展示
任务:
📋 Your Tasks
⬜ 🔴 Buy groceries — Due: Tomorrow 3:30 PM
⬜ 🟡 Review PR #42 — Due: Feb 5
✅ Send email to client
日历事件:
📅 Upcoming Events
🗓️ Team Standup
⏰ Mon, Feb 3 • 10:00 AM - 10:30 AM
📍 Zoom
🗓️ Project Review
⏰ Wed, Feb 5 • 2:00 PM - 3:00 PM
联系人:
👤 John Doe
📧 john@example.com
📱 +1 234 567 890
🏢 ACME Inc — Developer
文件:
📂 Documents/
📄 report.pdf (2.3 MB)
📄 notes.txt (4 KB)
📂 Archive/
日期/时间格式
将 CalDAV 格式 20260205T100000Z 转换为可读格式,如 周三,2月5日 • 上午 10:00 在有用时显示相对日期:"明天"、"下周一"、"3天后" 尽可能使用用户的本地时区
文章底部电脑广告
手机广告位-内容正文底部
上一篇:Weekly Report Generator
下一篇:Elevenlabs


微信扫一扫,打赏作者吧~