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、OpenAI 等)。
OPENAI_BASE_URL 可选。API 地址,例如 https://api.deepseek.com
OPENAI_MODEL 可选。模型名,默认 gpt-4o-mini

安装使用

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

配置 env 到 .zshrc,完成后执行一次 source ~/.zshrc

cat >> ~/.zshrc << 'EOF'

# daily-todo
alias dcli=daily-todo
export OPENAI_BASE_URL=http://localhost:11434/v1
export OPENAI_API_KEY=ollama
export OPENAI_MODEL=qwen2.5:7b-instruct
export DAILY_TODO_DIR="$HOME/.daily-todos"
EOF

source ~/.zshrc
daily-todo --help

# use alias
dcli --help

命令示例

# 根据昨天生成今天的任务并写入今日文件(默认今天)
dcli generate
dcli generate --date 2025-02-21

# 查看今日任务列表与状态
dcli list
dcli list --date 2025-02-20

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

# 日总结(指定日期,默认今天)
dcli summary daily
dcli summary daily --date 2025-02-20

# 周总结(过去 7 天,默认到今天)
dcli summary weekly
dcli summary weekly --date 2025-02-20

每日文件格式

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

示例:

# 2026-02-20

## 任务

- [x] 开发CLI
- [ ] 发布到PyPI

## 日总结

今日完成开发任务。

Development

本机调试

cd daily-todo
uv sync

cp env.example .env

uv run python main.py generate   # 或 list / update / summary 等

内容参考项目根目录 env.example,按需改成本地路径与 API 配置即可。

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.3.0.tar.gz (8.5 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.3.0-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: daily_todo-0.3.0.tar.gz
  • Upload date:
  • Size: 8.5 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.3.0.tar.gz
Algorithm Hash digest
SHA256 1a0754268ab89bbfa66e6c1a82d708dd523bf2cb9e153cb8fd39e676be9ac60e
MD5 41f77ca62b52a99c00b4b77cabe6da58
BLAKE2b-256 2d559fc0c619b091087270210311c41d0ace58cf8ef60c769247dd09c405aeee

See more details on using hashes here.

File details

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

File metadata

  • Download URL: daily_todo-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 10.0 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ac2443e6b2bc640dba308c698e863ff34b1385632a0f61af79b46ed06f5bfe23
MD5 7601e9d7dbf21c6b13f984fe963d96e0
BLAKE2b-256 0af140f0e142179c757986e0803e88c16ceb8dc915c77ae2b90210619dc848c5

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