TaskFlow-Agent is an agent-friendly task manager that supports natural language parsing, task storage, and subtask breakdown. It provides stable Python APIs and CLI commands so agents can understand, reason, and schedule tasks reliably.
For the Chinese version, see README_CN.md.
- Run in the project root:
python3 main.py - Enter natural-language tasks or commands.
- Common commands:
listshow all taskstodayshow today’s subtask listtodayadd <task_id|name> <index>add a subtask to todaytodayrm <task_id|name> <index>remove a subtask from todaytodaypick <keyword>pick today’s subtasks by keywordtodaydone <task_id|name> <index>complete a today's subtaskdelete <task_id|name>delete a tasksubadd <task_id|name> <subtask>add a subtasksubrm <task_id|name> <index>remove a subtaskquitexit
Each task is saved as a separate file: tasks/{task_id}.json, with ordering in tasks/index.json. Today’s subtask list is stored in tasks/today.json. Legacy single-file tasks/tasks.json will be migrated on first run.
TaskManager provides stable APIs:
add_task_from_text(text)add and execute a tasklist_tasks()list all taskslist_today_items()list today’s subtask itemsget_task(task_id)get a task by IDupdate_status(task_id, status)update task statussearch_tasks(keyword)search tasksadd_subtask(task_id, subtask)add a subtaskremove_subtask(task_id, index)remove a subtaskdelete_task(task_id)delete a taskmark_today_subtask(task_id, index)mark a subtask for todayunmark_today_subtask(task_id, index)unmark a subtask for todaypick_today_by_keyword(keyword)pick today’s subtasks by keywordcomplete_today_subtask(task_id, index)complete a today's subtask (removes it)
- For agent/tool integration, use the
TaskManagerPython API for structured, reliable automation. - CLI is ideal for terminal workflows.
Reference tool: Gemini CLI
from main import TaskManager
manager = TaskManager()
task = manager.add_task_from_text("Write CHAMP paper sections, next Wednesday, high priority")
manager.add_subtask(task.id, "Organize experiment notes")
manager.add_subtask(task.id, "Complete figures")
today = manager.list_today_items()Default startup prompt (ask the agent to read Agent.md):
"You are the TaskFlow task agent. Initialize now! Default to plan mode. Please read and follow Agent.md first, then run list in the CLI; a successful response means initialization is complete."






