cozi
与 Cozi Family Organizer 互动(购物清单、待办事项清单、项目管理)。用于家庭组织的非官方 API 客户端。
安装 / 下载方式
TotalClaw CLI推荐
totalclaw install totalclaw:totalclaw~angusthefuzz-cozicURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/totalclaw%3Atotalclaw~angusthefuzz-cozi/file -o angusthefuzz-cozi.md# Cozi Skill
Unofficial client for Cozi Family Organizer API. Manage shopping lists and todo lists.
⚠️ **Important:** This uses an unofficial API (reverse-engineered). Cozi may change it at any time.
## Environment Variables
Set these in your agent's `.env` (`~/.openclaw/.env`) or create a skill-level `.env` at `~/.openclaw/skills/cozi/.env`:
- `COZI_EMAIL` — Your Cozi account email
- `COZI_PASSWORD` — Your Cozi account password
The script only reads `COZI_EMAIL` and `COZI_PASSWORD` from `.env` files — other variables are ignored.
## Commands
```bash
# Lists
node ~/.openclaw/skills/cozi/scripts/cozi.js lists # Show all lists
node ~/.openclaw/skills/cozi/scripts/cozi.js list <listId> # Show specific list
node ~/.openclaw/skills/cozi/scripts/cozi.js add <listId> "item text" # Add item
node ~/.openclaw/skills/cozi/scripts/cozi.js check <listId> <itemId> # Mark complete
node ~/.openclaw/skills/cozi/scripts/cozi.js uncheck <listId> <itemId> # Mark incomplete
node ~/.openclaw/skills/cozi/scripts/cozi.js remove <listId> <itemId> # Remove item
node ~/.openclaw/skills/cozi/scripts/cozi.js new-list "title" [type] # Create list (shopping|todo)
node ~/.openclaw/skills/cozi/scripts/cozi.js delete-list <listId> # Delete list
# Calendar
node ~/.openclaw/skills/cozi/scripts/cozi.js calendar [year] [month] # Show month (defaults to current)
node ~/.openclaw/skills/cozi/scripts/cozi.js cal [year] [month] # Alias
node ~/.openclaw/skills/cozi/scripts/cozi.js add-appt YYYY-MM-DD HH:MM HH:MM "subject" [location] [notes]
node ~/.openclaw/skills/cozi/scripts/cozi.js remove-appt <year> <month> <apptId>
```
## Examples
```bash
# See all lists and their items
node ~/.openclaw/skills/cozi/scripts/cozi.js lists
# Add milk to the shopping list
node ~/.openclaw/skills/cozi/scripts/cozi.js add abc123 "Organic milk"
# Mark item as bought
node ~/.openclaw/skills/cozi/scripts/cozi.js check abc123 item456
# Create a new todo list
node ~/.openclaw/skills/cozi/scripts/cozi.js new-list "Weekend chores" todo
# View this month's calendar
node ~/.openclaw/skills/cozi/scripts/cozi.js cal
# View specific month
node ~/.openclaw/skills/cozi/scripts/cozi.js cal 2026 3
# Add an appointment
node ~/.openclaw/skills/cozi/scripts/cozi.js add-appt 2026-02-20 14:00 15:30 "Doctor appointment" "Rochester General"
```
## Session Caching
The script caches your session token in `~/.openclaw/skills/cozi/.session.json` to avoid re-authenticating every call. Tokens expire — it will re-auth when needed.
## API Details
- Base URL: `https://rest.cozi.com/api/ext/2207`
- Auth: Bearer token from username/password login
- Lists endpoint: `/api/ext/2004/{accountId}/list/`
Based on [cozi-api-client](https://github.com/BrandCast-Signage/cozi-api-client) and [py-cozi](https://github.com/Wetzel402/py-cozi).
---
## 中文说明
# Cozi Skill
Cozi Family Organizer API 的非官方客户端。管理购物清单和待办清单。
⚠️ **重要:** 此技能使用非官方 API(逆向工程得来)。Cozi 可能随时更改它。
## 环境变量
在你的代理的 `.env`(`~/.openclaw/.env`)中设置这些变量,或在 `~/.openclaw/skills/cozi/.env` 创建一个技能级 `.env`:
- `COZI_EMAIL` — 你的 Cozi 账户邮箱
- `COZI_PASSWORD` — 你的 Cozi 账户密码
脚本仅从 `.env` 文件读取 `COZI_EMAIL` 和 `COZI_PASSWORD` — 其他变量会被忽略。
## 命令
```bash
# Lists
node ~/.openclaw/skills/cozi/scripts/cozi.js lists # Show all lists
node ~/.openclaw/skills/cozi/scripts/cozi.js list <listId> # Show specific list
node ~/.openclaw/skills/cozi/scripts/cozi.js add <listId> "item text" # Add item
node ~/.openclaw/skills/cozi/scripts/cozi.js check <listId> <itemId> # Mark complete
node ~/.openclaw/skills/cozi/scripts/cozi.js uncheck <listId> <itemId> # Mark incomplete
node ~/.openclaw/skills/cozi/scripts/cozi.js remove <listId> <itemId> # Remove item
node ~/.openclaw/skills/cozi/scripts/cozi.js new-list "title" [type] # Create list (shopping|todo)
node ~/.openclaw/skills/cozi/scripts/cozi.js delete-list <listId> # Delete list
# Calendar
node ~/.openclaw/skills/cozi/scripts/cozi.js calendar [year] [month] # Show month (defaults to current)
node ~/.openclaw/skills/cozi/scripts/cozi.js cal [year] [month] # Alias
node ~/.openclaw/skills/cozi/scripts/cozi.js add-appt YYYY-MM-DD HH:MM HH:MM "subject" [location] [notes]
node ~/.openclaw/skills/cozi/scripts/cozi.js remove-appt <year> <month> <apptId>
```
## 示例
```bash
# See all lists and their items
node ~/.openclaw/skills/cozi/scripts/cozi.js lists
# Add milk to the shopping list
node ~/.openclaw/skills/cozi/scripts/cozi.js add abc123 "Organic milk"
# Mark item as bought
node ~/.openclaw/skills/cozi/scripts/cozi.js check abc123 item456
# Create a new todo list
node ~/.openclaw/skills/cozi/scripts/cozi.js new-list "Weekend chores" todo
# View this month's calendar
node ~/.openclaw/skills/cozi/scripts/cozi.js cal
# View specific month
node ~/.openclaw/skills/cozi/scripts/cozi.js cal 2026 3
# Add an appointment
node ~/.openclaw/skills/cozi/scripts/cozi.js add-appt 2026-02-20 14:00 15:30 "Doctor appointment" "Rochester General"
```
## 会话缓存
脚本会将你的会话令牌缓存在 `~/.openclaw/skills/cozi/.session.json` 中,以避免每次调用都重新认证。令牌会过期 — 需要时它会重新认证。
## API 详情
- 基础 URL:`https://rest.cozi.com/api/ext/2207`
- 认证:通过用户名/密码登录获取的 Bearer 令牌
- 清单端点:`/api/ext/2004/{accountId}/list/`
基于 [cozi-api-client](https://github.com/BrandCast-Signage/cozi-api-client) 和 [py-cozi](https://github.com/Wetzel402/py-cozi)。