基于 Todoist API 的任务管理工具,提供清晰的任务状态可视化。
| 状态 | Section | Emoji |
|---|---|---|
| ------ | --------- | ------- |
| in_progress | 进行中 | 🟡 |
| waiting | 等待中 | 🟠 |
| done | 已完成 | 🟢 |
使用前需要设置环境变量:
# Todoist API Token
export TODOIST_TOKEN="your-api-token"
# 项目 ID
export TODOIST_PROJECT_ID="your-project-id"
# Section IDs(需要在 Todoist 中创建对应的 section)
export SECTION_IN_PROGRESS="section-id-for-in-progress"
export SECTION_WAITING="section-id-for-waiting"
export SECTION_DONE="section-id-for-done"
# 获取所有项目
./scripts/todoist_api.sh GET projects
# 获取项目的 sections
./scripts/todoist_api.sh GET "sections?project_id=123"
# 获取项目的任务
./scripts/todoist_api.sh GET "tasks?project_id=123"
# 创建任务
./scripts/todoist_api.sh POST tasks '{"content": "新任务", "project_id": "123"}'
# 创建进行中的任务
./scripts/sync_task.sh create '{
"content": "完成任务",
"description": "任务详细描述",
"status": "in_progress"
}'
# 更新任务状态为已完成
./scripts/sync_task.sh update '{"status": "done"}' 12345
# 更新任务状态为等待中
./scripts/sync_task.sh update '{"status": "waiting"}' 12345
# 添加进度日志
./scripts/add_comment.sh 12345 "已完成数据收集"
# 记录问题和进度
./scripts/add_comment.sh 12345 "遇到问题:API 超时,正在重试"
对于复杂任务:
add_comment.sh 记录# 列出所有项目
./scripts/todoist_api.sh GET projects | jq '.[] | {id, name}'
在 Todoist 项目中创建三个 section:
然后获取 section IDs:
# 列出项目的所有 sections
./scripts/todoist_api.sh GET "sections?project_id=YOUR_PROJECT_ID" | jq '.[] | {id, name}'
curl 和 jq 工具共 1 个版本