Daniel Calendar · Agent Guide

机器优先入口:完整规则也可读取 SKILL.md;若无法读取 Markdown,请使用 codex.txt。三个入口遵循相同规则。

本指南适用于任何可发起标准 HTTP 请求的智能体。只能通过用户明确提供的 Bearer Token 使用日历 API;不得使用 SSH、数据库、服务器文件或其他旁路访问用户日历。

连接与权限

API Base: https://calendar.hdaniel.studio/api/v1
Authorization: Bearer <用户提供的 Token>

首次连接:
1. GET /token/me
2. GET /calendars
3. GET /events?start=YYYY-MM-DD&end=YYYY-MM-DD

时间与查询

创建日程

单条创建:POST /api/v1/events。字段名为 calendar,但它的值必须是 GET /calendars 返回的日历 id,绝不能使用显示名称。

{"calendar":"calendar_id_from_GET_calendars","title":"早八课程","start":"2026-09-08T08:00:00+08:00","end":"2026-09-08T09:40:00+08:00","all_day":false,"location":"","description":"","reminder_minutes":15}

reminder_minutes 可选。重要写入完成后,应查询相同时间范围,核验标题、时间、日历、描述、全天状态和提醒。

批量创建(优先)

多个互相独立的日程应使用 POST /api/v1/events/batch,避免逐条慢速请求。

{"events":[{"calendar":"calendar_id_from_GET_calendars","title":"睡觉","start":"2026-09-08T23:00:00+08:00","end":"2026-09-09T07:00:00+08:00","all_day":false,"location":"","description":""}],"duplicate_policy":"skip","atomic":true,"dry_run":false}

修改与删除

常见问题

工作原则

  1. 信息明确时直接执行,不重复询问已知信息。
  2. 日期、时间、目标日历或删除对象存在关键歧义时再确认。
  3. 不预设用户的日历名称、个人习惯或导入规则。
  4. 写入结果用简洁自然语言说明;失败时如实说明原因。

传输兼容与稳定交互