Skip to main content

Daily TODO CLI:Markdown 日程 + LLM 生成/更新/总结

Project description

Daily TODO

Daily TODO CLI:在环境变量指定的目录下管理按日期命名的 Markdown 文件,并用 LLM 生成当日计划、理解自然语言更新任务、做日/周总结。

功能

  1. 管理 Markdown:在 DAILY_TODO_DIR 指定的文件夹下按 YYYY-MM-DD.md 管理每日文件。
  2. 生成当日日程:基于「昨天」的 Markdown 内容,用 LLM 生成「今天」的任务列表并写入当日文件。
  3. 查看与更新:查看任务列表与状态;用自然语言更新(完成、新增、废弃、改描述),由 LLM 解析意图并写回文件。
  4. 总结:对单日或过去一周的日程做 LLM 总结。

环境变量

变量 说明
DAILY_TODO_DIR 存放每日 Markdown 的目录;未设置时使用当前目录下的 ./daily-todo
OPENAI_API_KEY 必填。OpenAI 或兼容 API 的密钥(如 DeepSeek、Friday 等)。
OPENAI_BASE_URL 可选。API 地址,例如 https://api.deepseek.com
OPENAI_MODEL 可选。模型名,默认 gpt-4o-mini

本地测试:用 .env 加载配置

在项目根目录(与 main.py 同级)新建 .env,把环境变量写进去即可,启动时会自动加载,无需在 shell 里 export。

# .env 示例
DAILY_TODO_DIR=/path/to/your/daily-notes
OPENAI_API_KEY=sk-xxx
OPENAI_BASE_URL=https://api.deepseek.com
OPENAI_MODEL=deepseek-chat

安装与运行

方式一:本机全局命令(推荐,无需发布)

在项目目录下可编辑安装,之后在任意目录可用 daily-todo 命令:

cd app-demo/daily-todo
uv sync
uv pip install -e .

或使用 pip:

cd app-demo/daily-todo
pip install -e .

安装后可直接使用:

daily-todo list
daily-todo generate
daily-todo update "新增任务xxx"

(依赖当前激活的 Python/venv;若用 uv run 进该项目的 venv,需先 source .venv/bin/activate 或在该目录下用 uv run daily-todo ...。)

方式二:不安装,每次用 uv 运行

cd app-demo/daily-todo
uv sync
uv run python main.py <子命令> [选项]

发布后(可选)

若将项目发布到 PyPI,他人可:

pip install daily-todo
# 或
uv tool install daily-todo

本仓库未发布也可通过 Git 安装(需在仓库根目录或指定子路径):

pip install -e 'git+https://github.com/你的用户名/ai-demo-collection.git#subdirectory=app-demo/daily-todo'

命令示例

# 根据昨天生成今天的任务并写入今日文件(默认今天)
uv run python main.py generate
uv run python main.py generate --date 2025-02-21

# 查看今日任务列表与状态
uv run python main.py list
uv run python main.py list --date 2025-02-20

# 用自然语言更新当日任务
uv run python main.py update "完成第1项"
uv run python main.py update "新增写周报、废弃第3项" --date 2025-02-20

# 日总结(指定日期,默认今天)
uv run python main.py summary daily
uv run python main.py summary daily --date 2025-02-20

# 周总结(过去 7 天,默认到今天)
uv run python main.py summary weekly
uv run python main.py summary weekly --date 2025-02-20

每日文件格式

  • 文件名为 YYYY-MM-DD.md
  • 建议结构:
    • # 日期 或简短标题
    • ## 任务:每行 - [ ] / - [x] / - [~] 表示未完成 / 已完成 / 已废弃。
    • 可选:## 进展## 备注 等自由文本,供 LLM 总结与生成下一日参考。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

daily_todo-0.1.0.tar.gz (8.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

daily_todo-0.1.0-py3-none-any.whl (10.3 kB view details)

Uploaded Python 3

File details

Details for the file daily_todo-0.1.0.tar.gz.

File metadata

  • Download URL: daily_todo-0.1.0.tar.gz
  • Upload date:
  • Size: 8.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for daily_todo-0.1.0.tar.gz
Algorithm Hash digest
SHA256 03d7fb5a7d29b5f2ecf4b0945a36678655d87157f7ef7e810557ed8f8d75b811
MD5 d42c2f1061e217633ecd6686583868ff
BLAKE2b-256 a70707fc96e99dce9b3442879c89be708e054620d590a86d220515b9b01502bc

See more details on using hashes here.

File details

Details for the file daily_todo-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: daily_todo-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 10.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for daily_todo-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0c3d431ef3dd9e651d7422f8beca586f687844c8bfaae6069c54897f6a33ef2f
MD5 2253d5deacff95c74f4010b679316ead
BLAKE2b-256 2f28b5cdf45824dec334a8ce50876180dc289cec115f4d68e908376c79d43f0e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page