怎么用AI辅助写命令行待办事项工具?Python+OpenAI实战教程

  “我每天要处理几十个任务,整理清单就要花半小时。”“工具换了一个又一个,还是没解决‘记了但不做’的问题。”——这是很多人在效率管理上的真实困扰。GTD(Getting Things Done)方法论提供了很好的框架:把所有待办事项从大脑中“倒出来”,然后分类、分级处理。但分类靠主观判断容易误判,优先级分配随意,容易做“舒服的事”而不是“重要的事”。如果把AI引入这个流程呢?它可以快速分析文本、识别任务特性、评估重要性并智能排序。本文将带你从零到一,用Python和OpenAI API构建一个命令行待办事项工具,实现“AI帮你排优先级”的智能任务管理。

  一、为什么要在命令行里做这件事?

  很多人问:为什么不做成网页或App,非要搞命令行?有三个理由。第一,命令行是“无干扰环境”——没有浏览器标签页的诱惑,没有微信消息的打断,你面对的就是纯粹的任务清单。第二,命令行天然适合与AI工具集成——你可以直接在终端里调用API,不需要额外的前端开发工作。第三,命令行的工作流最“程序员友好”——用起来顺手,改起来方便,还能轻松集成到其他自动化脚本中。

  Codex CLI正是这类工具的代表——它可以在终端中根据自然语言描述生成代码、解释代码、修复Bug、重构建议,甚至可以生成shell命令来自动化操作。下面我们将借鉴这种思路,构建一个专属的AI待办事项助手。

  二、环境准备与项目初始化

  首先,确保你的Python版本在3.9以上。然后创建项目目录并安装依赖:

  bash

  mkdir ai-todo-cli

  cd ai-todo-cli

  pip install openai python-dotenv

  这里需要说明:openai是官方Python包,用于调用OpenAI的各种模型API;python-dotenv用于从.env文件读取环境变量,避免把API密钥硬编码在代码里。

  接下来,在项目根目录创建.env文件:

  OPENAI_API_KEY=你的API密钥

  千万注意:不要把包含真实API密钥的.env文件上传到GitHub或其他公开仓库,否则密钥会被泄露。

  三、实现基础的任务管理功能

  首先构建核心的任务管理类。数据用JSON文件存储,方便后续扩展。创建todo_core.py:

  python

  import json

  import os

  f rom datetime import datetime

  class TodoManager:

  def __init__(self, filename=”todos.json”):

  self.filename = filename

  self.todos = self._load()

  def _load(self):

  if os.path.exists(self.filename):

  with open(self.filename, ‘r’, encoding=’utf-8′) as f:

  return json.load(f)

  return []

  def _save(self):

  with open(self.filename, ‘w’, encoding=’utf-8′) as f:

  json.dump(self.todos, f, ensure_ascii=False, indent=2)

  def add(self, text):

  todo = {

  ”id”: len(self.todos) + 1,

  ”text”: text,

  ”status”: “pending”,

  ”created_at”: datetime.now().isoformat()

  }

  self.todos.append(todo)

  self._save()

  return todo

  def list(self, status=None):

  if status:

  return [t for t in self.todos if t[“status”] == status]

  return self.todos

  def complete(self, todo_id):

  for todo in self.todos:

  if todo[“id”] == todo_id:

  todo[“status”] = “done”

  self._save()

  return todo

  return None

  def delete(self, todo_id):

  self.todos = [t for t in self.todos if t[“id”] != todo_id]

  self._save()

  这个类实现了基础的CRUD(增删改查)。数据存储在本地JSON文件中,而不是内存里,所以关了终端再打开,任务清单还在。

  四、接入OpenAI实现智能分析与排序

  这是整个工具的灵魂所在。AI能做什么?把一堆杂乱的任务列表,智能分类成开发类、沟通类、调研类、琐事类等;标注任务是否紧急、是否重要;用爱森豪威尔矩阵(紧急-重要矩阵)自动划分优先级。简单来说,AI会告诉你:先做哪件事,哪件事可以往后放。

  创建ai_planner.py:

  python

  import openai

  import os

  f rom dotenv import load_dotenv

  load_dotenv()

  openai.api_key = os.getenv(“OPENAI_API_KEY”)

  def classify_and_prioritize(tasks_text):

  prompt = f”””

  你是一个专业的任务管理助手。请分析以下待办事项列表,为每个任务:

  1. 分类(开发类/沟通类/调研类/琐事类/学习类)

  2. 标注是否紧急(是/否)

  3. 标注是否重要(是/否)

  4. 给出建议处理顺序(数字越小越优先)

  最后输出优先级排序后的完整清单。

  任务列表:

  {tasks_text}

  请以JSON格式返回结果,结构如下:

  [

  {{“task”: “…”, “category”: “…”, “urgent”: true/false, “important”: true/false, “order”: 1}},

  …

  ]

  ”””

  response = openai.chat.completions.create(

  model=”gpt-3.5-turbo”,

  messages=[{“role”: “user”, “content”: prompt}],

  temperature=0.3

  )

  return response.choices[0].message.content

  这里的关键是提示词(Prompt)设计。通过明确指定输出格式(JSON),我们可以直接解析AI的返回结果,避免处理乱七八糟的自然语言回复。temperature=0.3让AI的回答更确定、更一致,减少“胡说八道”的概率。

  五、构建命令行交互界面

  最后,把所有功能整合到一个命令行入口。创建main.py:

  python

  import sys

  import json

  f rom todo_core import TodoManager

  f rom ai_planner import classify_and_prioritize

  def main():

  manager = TodoManager()

  if len(sys.argv)

  print(“用法:”)

  print(” python main.py add “)

  print(” python main.py list”)

  print(” python main.py done “)

  print(” python main.py delete “)

  print(” python main.py plan ← AI智能排序”)

  return

  cmd = sys.argv[1]

  if cmd == “add”:

  text = ” “.join(sys.argv[2:])

  todo = manager.add(text)

  print(f”✓ 已添加: {todo[‘text’]} (ID: {todo[‘id’]})”)

  elif cmd == “list”:

  todos = manager.list()

  print(“n待办事项:”)

  for todo in todos:

  status = “✓” if todo[“status”] == “done” else “○”

  print(f”[{status}] #{todo[‘id’]} {todo[‘text’]}”)

  elif cmd == “done”:

  todo_id = int(sys.argv[2])

  updated = manager.complete(todo_id)

  if updated:

  print(f”✓ 已完成: {updated[‘text’]}”)

  else:

  print(“未找到该任务”)

  elif cmd == “delete”:

  todo_id = int(sys.argv[2])

  manager.delete(todo_id)

  print(f”✓ 已删除 ID: {todo_id}”)

  elif cmd == “plan”:

  pending = [t for t in manager.list() if t[“status”] == “pending”]

  if not pending:

  print(“没有待办任务”)

  return

  tasks_text = “n”.join([f”- {t[‘text’]}” for t in pending])

  result = classify_and_prioritize(tasks_text)

  print(“nAI智能规划结果:”)

  print(json.dumps(json.loads(result), indent=2, ensure_ascii=False))

  else:

  print(f”未知命令: {cmd}”)

  if __name__ == “__main__”:

  main()

  六、测试与使用示例

  添加几个任务试试:

  bash

  python main.py add “给后端开接口文档”

  python main.py add “下午开需求评审会”

  python main.py add “提交项目日报”

  python main.py add “看AI技术大会直播”

  python main.py add “优化登录模块代码”

  然后运行AI智能规划:

  bash

  python main.py plan

  AI会返回一个排好序的清单,告诉你哪个任务最紧急、最重要,应该先做哪个。参考示例输出:

  json

  [

  {“task”: “给后端开接口文档”, “category”: “开发类”, “urgent”: true, “important”: true, “order”: 1},

  {“task”: “下午开需求评审会”, “category”: “会议”, “urgent”: true, “important”: true, “order”: 2},

  {“task”: “优化登录模块代码”, “category”: “开发类”, “urgent”: false, “important”: true, “order”: 3},

  {“task”: “提交项目日报”, “category”: “汇报类”, “urgent”: false, “important”: true, “order”: 4},

  {“task”: “看AI技术大会直播”, “category”: “学习类”, “urgent”: false, “important”: false, “order”: 5}

  ]

  常见问答(Q&A)

  Q1:这个工具必须联网才能用吗?

  是的,因为需要调用OpenAI的API。如果你希望完全离线运行,可以考虑使用本地部署的模型(如Ollama + Llama),但需要调整代码中的API调用部分。

  Q2:API调用会不会很贵?

  GPT-3.5-turbo的价格非常便宜,处理几十个任务的成本可以忽略不计。如果每天用几次,一个月可能花不到1块钱。

  Q3:AI排序的结果一定准确吗?

  不一定。AI基于“通用最优实践”来判断,但你的个人情况可能特殊。如果你对排序结果有异议,可以通过修改prompt来引导AI(比如加上“我当前的项目重点是XXX”)。

  Q4:数据是存在本地的,AI会不会把我的任务内容上传到云端?

  会。当你运行plan命令时,任务文本会被发送到OpenAI的服务器进行推理。如果你处理的是敏感数据(如商业机密),建议不要使用这个功能,或者换用本地模型。

  Q5:可以用其他模型代替GPT吗?

  可以。OpenAI Python包支持多种模型,你也可以换成Claude、Gemini等,只要修改model参数就行。甚至可以用兼容OpenAI格式的第三方网关。

  Q6:这个工具能和其他软件集成吗?

  可以。你可以把任务数据导出,通过脚本同步到Notion、Todoist等工具。也可以扩展AI能力,让它自动把总结报告发邮件或写入Google Docs。

  当你理清了AI编程的完整路径,却因时间紧张、API集成经验不足或需要更专业的AI Agent开发支持,而无法快速将这套方案落地时,不必独自从零啃文档。途傲科技网汇聚了百万级专业技术服务商,无论你需要的是精通Python+OpenAI的AI应用开发工程师、能帮你搭建完整任务管理系统的全栈开发者,还是擅长CLI工具设计的软件架构师,这里都能快速找到对的人。你可以直接在任务大厅发布你的AI应用开发需求,清晰描述功能目标和交付标准,等待各路技术大牛带案例来投标;也可以走进人才大厅,根据服务商的技术标签、项目经验和客户评价,筛选出最契合你需求的合作伙伴;若你还在纠结技术选型,服务大厅的海量商铺案例库就是最好的参考,看看优秀的AI工具是如何从想法到成品的。通过威客攻略学习高效沟通与需求拆解的技巧,借助V客优享服务获得优先推荐和专业诊断,途傲科技正在用平台的力量改变技术协作的方式。别再让“没时间写代码”成为你的效率瓶颈,立即登录途傲科技网,让专业的人帮你把AI助手变成现实。

联系我们

联系我们

18678836968

在线咨询: QQ交谈

邮箱: tooaotech@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息
关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部