Manage Obsidian tasks via the TaskNotes plugin HTTP API.
.env file at vault root (if using auth):```
TASKNOTES_API_PORT=8080
TASKNOTES_API_KEY=your_token_here
```
If TaskNotes has no auth token set, you don't need a .env file.
# List all tasks
uv run scripts/tasks.py list
# List by status (use your configured status values)
uv run scripts/tasks.py list --status "in-progress"
# List by project
uv run scripts/tasks.py list --project "My Project"
# Create task
uv run scripts/tasks.py create "Task title" --project "My Project" --priority high
# Create task with scheduled time
uv run scripts/tasks.py create "Meeting prep" --scheduled "2025-01-15T14:00:00"
# Update task status
uv run scripts/tasks.py update "Tasks/task-file.md" --status done
# Add/update task description
uv run scripts/tasks.py update "Tasks/task-file.md" --details "Additional context here."
# Delete task
uv run scripts/tasks.py delete "Tasks/task-file.md"
# Get available options (statuses, priorities, projects)
uv run scripts/tasks.py options --table
# Human-readable output (add --table)
uv run scripts/tasks.py list --table
Status and Priority values: Configured in your TaskNotes plugin settings. Run options command to see available values:
uv run scripts/tasks.py options --table
Other fields:
projects - Array of project links, e.g. ["[[Project Name]]"]contexts - Array like ["office", "energy-high"]due - Due date (YYYY-MM-DD)scheduled - Scheduled date/time (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS)timeEstimate - Minutes (number)tags - Array of tagsdetails - Task description (writes to markdown body, not frontmatter)Base URL: http://localhost:8080/api
| Method | Endpoint | Description |
|---|---|---|
| -------- | ---------- | ------------- |
| GET | /tasks | List tasks (supports filters) |
| POST | /tasks | Create task |
| GET | /tasks/{id} | Get single task |
| PUT | /tasks/{id} | Update task |
| DELETE | /tasks/{id} | Delete task |
| GET | /filter-options | Available statuses, priorities, projects |
status - Filter by statusproject - Filter by project namepriority - Filter by prioritytag - Filter by tagoverdue - true/falsesort - Sort fieldlimit - Max resultsoffset - Pagination offset# Morning: Check what to work on
uv run scripts/tasks.py list --status in-progress --table
uv run scripts/tasks.py list --limit 5 --table
# Create task linked to project
uv run scripts/tasks.py create "Finish landing page" \
--project "Website Redesign" \
--priority high
# Complete a task
uv run scripts/tasks.py update "Tasks/finish-landing-page.md" --status done
共 1 个版本