返回技能库

Todoist 任务管理器

通过 `todoist` CLI 管理 Todoist 任务(列出、添加、修改、完成、删除)。支持筛选器、项目、标签和优先级。

作者:2mawi2 · 最新版本:1.0.0

收藏:1 · 下载:1.6k

说明文档

# Todoist CLI

Use `todoist` to manage Todoist tasks directly from the terminal.

## Setup

1. Install: `brew install todoist-cli`
2. Get your API token from https://app.todoist.com/app/settings/integrations/developer
3. Create config:
```bash
mkdir -p ~/.config/todoist
echo '{"token": "YOUR_API_TOKEN"}' > ~/.config/todoist/config.json
```
4. Sync: `todoist sync`

## List Tasks

```bash
todoist list                           # All tasks
todoist list --filter "today"          # Due today
todoist list --filter "overdue"        # Overdue tasks
todoist list --filter "p1"             # Priority 1 (highest)
todoist list --filter "tomorrow"       # Due tomorrow
todoist list --filter "@work"          # By label
todoist list --filter "#Project"       # By project
todoist list --filter "(today | overdue) & p1"  # Combined filters
```

## Add Tasks

```bash
todoist add "Buy milk"                                    # Simple task
todoist add "Call mom" --priority 1                       # With priority (1=highest, 4=lowest)
todoist add "Meeting" --date "tomorrow 3pm"               # With due date
todoist add "Report" --project-name "Work"                # To specific project
todoist add "Review" --label-names "urgent,review"        # With labels
todoist quick "Buy eggs tomorrow p1 #Shopping @errands"   # Natural language
```

## Modify Tasks

```bash
todoist modify TASK_ID --content "New title"
todoist modify TASK_ID --priority 2
todoist modify TASK_ID --date "next monday"
```

## Complete Tasks

```bash
todoist close TASK_ID              # Complete a task
todoist close TASK_ID TASK_ID2     # Complete multiple tasks
```

## Delete Tasks

```bash
todoist delete TASK_ID
```

## View Details

```bash
todoist show TASK_ID               # Show task details
todoist projects                   # List all projects
todoist labels                     # List all labels
```

## Sync

```bash
todoist sync                       # Sync local cache with Todoist
```

## Output Formats

```bash
todoist list --csv                 # CSV output for scripting
todoist list --color               # Colorized output
todoist list --namespace           # Show parent tasks as namespace
todoist list --indent              # Indent subtasks
```

## Filter Syntax

Todoist CLI supports the [official Todoist filter syntax](https://todoist.com/help/articles/introduction-to-filters-V98wIH):

| Filter | Description |
|--------|-------------|
| `today` | Due today |
| `tomorrow` | Due tomorrow |
| `overdue` | Past due date |
| `no date` | No due date |
| `p1`, `p2`, `p3`, `p4` | Priority level |
| `@label` | By label |
| `#Project` | By project |
| `assigned to: me` | Assigned to you |
| `7 days` | Due in next 7 days |

Combine with `&` (and), `|` (or), `!` (not):
```bash
todoist list --filter "(today | overdue) & p1"
todoist list --filter "#Work & !@done"
```

## Notes

- Run `todoist sync` after making changes in the web/mobile app
- Task IDs are numeric (e.g., `12345678`)
- Config stored in `~/.config/todoist/config.json`
- Cache stored in `~/.config/todoist/cache.json`