网淘吧来吧,欢迎您!

返回首页 微信
微信
手机版
手机版

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"
}

代理行为:默认日历选择

当创建任务或日历事件时,如果用户未指定日历:

  1. 首次(未设置默认值):

    • 运行calendars list --type tasks(针对任务)或calendars list --type events(针对事件)
    • 询问用户从列表中选择哪个日历
    • 询问是否希望将其设置为未来操作的默认值
    • 在内存中记住他们的选择
  2. 如果用户设置了默认值:

    • 记住default_task_calendar和/或default_event_calendar
    • 在后续操作中自动使用,无需询问
  3. 如果用户拒绝设置默认值:

    • 下次他们在创建任务/事件且未指定日历时再次询问
  4. 用户始终可以覆盖:

    • 明确指定`--calendar`总是优先于默认值

记忆键

  • `default_task_calendar`:任务的默认日历名称(VTODO)
  • `default_event_calendar`:事件的默认日历名称(VEVENT)

代理行为:默认通讯录选择

创建联系人时,如果用户未指定通讯录:

  1. 首次(未设置默认值):

    • 运行`addressbooks list`
    • 询问用户从列表中选择使用哪个通讯录
    • 询问是否要将其设置为未来操作的默认值
    • 在记忆中记住他们的选择
  2. 如果用户设置了默认值:

    • 记住default_addressbook
    • 后续操作自动使用,无需询问
  3. 如果用户拒绝设置默认值:

    • 下次他们在创建联系人时未指定通讯录,再次询问
  4. 用户始终可以覆盖:

    • 明确指定--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

相关文章

您是本站第301716名访客 今日有102篇新文章/评论