核心用法
gcalcli-calendar 是一个纯 Markdown 文档型 Skill,通过本地安装的 gcalcli 命令行工具操作 Google Calendar。核心设计原则是低工具调用、最小化输出,针对对话式个人助理场景优化。
读取与搜索:
- agenda:默认返回今日日程,支持自定义时间窗口。优先用于事件定位(语义匹配而非精确文本)
- search:仅作为后备方案,用于大时间窗口或用户明确要求搜索时
创建事件:
add子命令:一次性事件,支持定时/全天、提醒设置importvia stdin:复杂需求(循环事件、空闲/忙碌状态),直接管道 ICS 内容,不写入临时文件- 创建前强制跨日历冲突检测,有重叠时询问确认
删除与编辑:
- 唯一匹配且时间窗口明确时直接执行,无需确认
- 多候选或不确定时询问用户
- 删除后必须验证,失败时自动重试
--refresh - 编辑采用「删除+重建」模式(因
gcalcli edit为交互式)
命令语法关键点:全局标志(--nocolor、--calendar)必须在子命令之前;子命令专用标志(--iamaexpert、--noprompt 等)必须在子命令之后。
显著优点
1. 效率优先:单一日程查询默认 today-only,避免冗余输出;语义匹配减少用户精确记忆负担
2. 安全删除:--iamaexpert 非交互删除 + 强制事后验证 + 自动刷新重试,形成完整闭环
3. 冲突感知:创建事件前扫描所有非忽略日历,防止跨日历日程冲突
4. 无文件 IO:复杂事件通过 stdin 管道导入,避免沙箱工作目录不可靠问题
5. 工具调用极简:默认 --nocolor 减少格式噪声,TSV 仅在必要时使用
潜在缺点与局限性
1. 依赖外部 CLI:必须预先安装并配置 gcalcli(含 OAuth 认证),零配置开箱体验不足
2. 无原生编辑:修改事件属性需删除重建,原子性较弱,事件 ID 会变更
3. 删除确认策略偏激进:单匹配直接删除,虽提升 UX 速度,但用户误表达时无挽回机会
4. 搜索窗口局限:语义扫描依赖 agenda,超大窗口(>30 天)仍可能 token 密集
5. 时区与国际化:依赖 gcalcli 本地配置,Skill 层面未额外处理多时区场景
适合人群
- 已使用
gcalcli的终端/开发者用户,希望在对话界面快速管理日历 - 追求操作速度、愿意接受「明确意图即执行」交互模式的效率型用户
- 单日历或少量日历管理,跨日历冲突检测需求明确的个人助理场景
常规风险
- OAuth 令牌管理:敏感凭证完全委托给
gcalcli,需确保本地~/.gcalcli_oauth文件权限安全 - 误删风险:虽然验证环节存在,但
--iamaexpert模式跳过交互,用户意图识别错误时无法撤销 - gcalcli 版本兼容:Skill 未锁定 gcalcli 版本,未来 CLI 行为变更可能导致命令失效
- 沙箱环境限制:依赖本地二进制,若部署环境无 gcalcli 则功能完全不可用
安全认证亮点
T-MD 纯 Markdown 分类,无可执行代码;依赖 T1 级可信来源(gcalcli 5200+ stars,活跃维护);GDPR 数据最小化合规;外部网络请求完全由 gcalcli 代理至 Google 官方 API。