Daily TODO CLI:Markdown 日程 + LLM 生成/更新/总结
Project description
Daily TODO
Daily TODO CLI:在环境变量指定的目录下管理按日期命名的 Markdown 文件,并用 LLM 生成当日计划、理解自然语言更新任务、做日/周总结。
功能
- 管理 Markdown:在
DAILY_TODO_DIR指定的文件夹下按YYYY-MM-DD.md管理每日文件。 - 生成当日日程:基于「昨天」的 Markdown 内容,用 LLM 生成「今天」的任务列表并写入当日文件。
- 查看与更新:查看任务列表与状态;用自然语言更新(完成、新增、废弃、改描述),由 LLM 解析意图并写回文件。
- 总结:对单日或过去一周的日程做 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。 |
本地测试:用 .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 daily-todo
uv sync
uv pip install -e .
或使用 pip:
cd 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 daily-todo
uv sync
uv run python main.py <子命令> [选项]
方式三:安装依赖
pip install daily-todo
# 或
uv tool install daily-todo
daily-todo --help
命令示例
# 根据昨天生成今天的任务并写入今日文件(默认今天)
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 总结与生成下一日参考。
示例
# 2026-02-20
## 任务
- [x] 开发CLI
- [ ] 发布到PyPI
## 日总结
今日完成开发任务。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file daily_todo-0.2.0.tar.gz.
File metadata
- Download URL: daily_todo-0.2.0.tar.gz
- Upload date:
- Size: 8.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
15e23d33adea680a4a136edac8c52e06dbd1f988d09d2b37b141303c51398db4
|
|
| MD5 |
80ca1758fd43586a591a24311a766ab2
|
|
| BLAKE2b-256 |
39edd854df5a6599aa4a1aaf6ff87b66a05e34c1235dc913042da940921c5a00
|
File details
Details for the file daily_todo-0.2.0-py3-none-any.whl.
File metadata
- Download URL: daily_todo-0.2.0-py3-none-any.whl
- Upload date:
- Size: 10.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9988835932687b7ac30b7d40924a28049ebd322f2dedbfa0d039f90f23278f3a
|
|
| MD5 |
043d8a227a4d05706d315ee8cb15383c
|
|
| BLAKE2b-256 |
550392e538023c590248e531b2e832f9d123a7ffc861aded6ad732c0e1411641
|