⏱️ daily-work-planner
科研与复杂任务工作会话规划器
把模糊目标、散落文件和截止时间,转换成可执行、可检查、可恢复的工作会话。
简体中文 · 英文版
快速理解 · 核心能力 · 快速案例 · 安装 · 隐私边界
为什么需要它
很多工作不是从清晰任务开始的。你可能只知道今天要读论文、改 Word、写报告、调代码、做 PPT、清理仓库,但不知道第一步该做什么、到底需要多久、时间不够时应该保住什么。
Daily Work Planner 就用于这个“正式开始工作前”的阶段。
它不是日历软件,也不是普通每日待办清单。它主要回答三个现实问题:
| 问题 | 技能给出的答案 |
|---|---|
| 我现在应该先做什么? | 根据目标、文件、当前任务和可用时间生成第一行动。 |
| 做到什么程度才算完成? | 每个阶段都有验收标准,而不是只写“继续做”。 |
| 时间不够怎么办? | 提前定义最低可交付版本、降级范围、缓冲时间 和 检查点 应对。 |
核心原则
规划必须服务执行。默认规划时间不超过总可用工作时间的 5%,并设置绝对上限:
| 总工作时间 | 规划上限 |
|---|---|
| <= 60 分钟 | 3 分钟 |
| 61-240 分钟 | 8 分钟 |
| 241-480 分钟 | 15 分钟 |
| > 480 分钟或跨天 | 20 分钟 |
如果用户没有告诉 技能要做多久,技能会根据目标、文件、当前任务、本地仓库状态、用户速度、复盘日志和本地记忆估算所需时间。
快速案例
假设你要准备一个 5 分钟论文分享,但你还没想好要做多久,只知道当前有这些任务:
阅读两篇论文摘要
整理 6 页汇报提纲
列出 5 分钟讲稿检查清单
你可以不提供 --minutes,直接让 技能自己估时:
python -m daily_work_planner start --goal "准备一个 5 分钟论文分享" --start 09:00 --window-note "阅读两篇论文摘要`n整理 6 页汇报提纲`n列出 5 分钟讲稿检查清单" --speed normal --output-dir .\work-session
技能会把模糊任务变成一个可执行工作会话:
| 判断项 | 结果 |
|---|---|
| 识别到的任务 | 3 个当前任务 |
| 预计时长 | 约 190 分钟 |
| 可行性 | 高,建议完整完成 |
| 软 / 硬 截止时间 | 约 11:42 / 12:10 |
| 缓冲时间 | 约 28 分钟 |
| 第一动作 | 先扫描材料,确定必读和可跳过部分 |
执行中可以记录 检查点:
python -m daily_work_planner 检查点 --session .\work-session\session.json --now 10:15 --done "阅读两篇论文摘要" --remaining "整理 6 页汇报提纲" --remaining "列出 5 分钟讲稿检查清单"
它会判断延误是轻微、中等还是严重,并建议压缩 缓冲时间、砍掉可选内容,或切换到最低可交付版本。之后可以用 resume 生成续做卡片,用 handoff --remember 生成交接包并记录实际用时,后续估时会更准。
完整案例见:examples/quick-start-case.md。
工作流程
① 检查任务 → ② 估算时间 → ③ 制定计划 → ④ 检查进度 → ⑤ 交接恢复
任务与文件 · 时长与可行性 · 里程碑与缓冲 · 延误调整 · 恢复与本地记忆
能力地图
| 阶段 | 可以做什么 |
|---|---|
| 输入 | 接收目标、文件、截止时间、当前窗口备注、本地仓库状态、复盘日志和本地记忆。 |
| 检查 | 从 PDF、DOC/DOCX、PPTX、XLSX、Markdown、文本和代码文件中提取轻量上下文。 |
| 任务识别 | 从 git status、TODO/FIXME、Markdown 未完成清单和粘贴的任务文本中识别剩余工作。 |
| 自动估时 | 根据任务类型、文件数量、用户速度、复盘历史和本地记忆估算所需时长。 |
| 计划生成 | 生成软硬 截止时间、里程碑、验收标准、缓冲时间 和最低可交付版本。 |
| 计划校验 | 检查 截止时间、里程碑、验收标准、缓冲时间、降级方案和 5% 规划预算是否齐全。 |
| 执行中 | 记录 检查点,判断延误等级,重排剩余任务,生成续做卡片。 |
| 结束后 | 生成 handoff、预计 vs 实际复盘,并写入私有本地任务记忆。 |
工作模式
| 模式 | 重点输出 |
|---|---|
| 深度写作 | 章节结构、论证链条、引用缺口、修改验收标准。 |
| 快速阅读 | 必读范围、跳读边界、结构化笔记、后续可用摘要。 |
| 代码开发 | 最小可运行版本、相关文件、测试方法、调试顺序。 |
| 文档修改 | 主文档、格式规范、参考文献、图表编号、导出检查。 |
| PPT 制作 | 页数控制、汇报逻辑、图表优先级、讲稿 检查点、最低可展示版本。 |
| 考试复习 | 高频考点、薄弱点、背诵轮次、刷题安排、考前保底策略。 |
| 数据整理 | 数据来源、表格结构、命名规范、图表输出、异常值检查。 |
| 研究规划 | 文献优先级、阅读路线、综合输出、证据地图。 |
| 行政材料 | 必填信息、附件清单、提交检查、截止时间 缓冲时间。 |
| 仓库清理 | 未提交文件、TODO、测试、可提交范围、交接状态。 |
输出工作包
默认一个 start 命令会生成一套紧凑工作包:
| 文件 | 用途 |
|---|---|
work_session.txt |
人类可读的会话计划,包含任务、截止时间、里程碑和降级方案。 |
work_session.docx |
Word 版本,方便分享、打印或归档。 |
session.ics |
带时区、提醒和里程碑的日历事件。 |
session.json |
持久状态文件,用于 检查点、resume、reschedule、handoff 和 memory。 |
计划内容本身可以包括:
| 计划元素 | 作用 |
|---|---|
| 规划预算 | 保证规划时间不超过 5% 规则。 |
| 软 / 硬 截止时间 | 区分内部目标时间和最终交付时间。 |
| 文件优先级 | 区分主文件、参考文件、可选文件和暂时忽略文件。 |
| 里程碑 | 每个阶段都有验收标准。 |
| 缓冲时间 和降级方案 | 时间不足时保护最低可交付版本。 |
| 检查点 应对 | 判断延误等级并压缩计划。 |
| 复盘与记忆 | 记录预计 vs 实际用时,但不保存敏感原文。 |
如果还想生成分散的辅助文件,可以加 --split-files,额外输出 session_plan.md、file_context.md、file_priority.md、todo.txt 和 plan_validation.md 等文件。
已支持能力速览
| 能力 | 说明 |
|---|---|
| 当前窗口任务识别 | 通过 --window-note 输入当前任务文本。 |
| 本地仓库任务识别 | 从 git status、TODO/FIXME 和 Markdown 未完成清单中提取任务。 |
| 自动估时 | 将预计所需时间与硬截止窗口分开计算,再根据速度、复盘日志和本地记忆校准。 |
| Office 文件上下文 | 本地读取 PDF、DOC/DOCX、PPTX、XLSX、Markdown、文本和代码的轻量上下文。 |
| 可行性评分 | 判断适合完整完成、可交付完成、保命完成还是重新定义范围。 |
| 执行中 检查点 | 记录已完成和剩余任务,判断延误等级。 |
| resume card | 下次继续时告诉你从哪里开始。 |
| handoff | 结束时生成交接包,并可选写入本地记忆。 |
| 本地任务记忆 | 记录完成内容、实际用时和个人习惯,帮助后续估时更准。 |
智能体兼容性
这个仓库现在提供两个 智能体 入口:
| 智能体类型 | 入口文件 | 说明 |
|---|---|---|
| Codex / OpenAI 兼容 skill loader | daily-work-planner/SKILL.md |
使用标准 Codex skill frontmatter 和 agents/openai.yaml。 |
| 通用本地 智能体 | daily-work-planner/AGENTS.md |
把同一套工作流写成通用 智能体 指令。 |
| 从整个仓库读取指令的 智能体 | AGENTS.md |
指向真正可安装的 skill 文件夹和测试命令。 |
| 只使用命令行 | python -m daily_work_planner --help |
不需要 skill loader,安装 Python 包后即可使用。 |
如果某个 智能体 没有正式的 skill 系统,可以把内层 daily-work-planner/ 当作可移植指令包,让 智能体 读取 daily-work-planner/AGENTS.md。如果 智能体 支持本地工具调用,可以允许它运行 daily-work-planner/scripts/ 下的 Python 脚本。
统一命令行
python -m daily_work_planner --help
安装方式
方式 1:让 Codex 直接从 GitHub 安装
在 Codex 里直接说:
帮我安装这个 skill:https://github.com/Stephen-studying/daily-work-planner/tree/main/daily-work-planner
安装后重启 Codex。
方式 2:克隆仓库后安装到 Codex
Windows PowerShell:
git clone https://github.com/Stephen-studying/daily-work-planner.git
cd daily-work-planner
powershell -ExecutionPolicy Bypass -File .\install.ps1 -Agent codex -Force
macOS / Linux:
git clone https://github.com/Stephen-studying/daily-work-planner.git
cd daily-work-planner
sh ./install.sh --agent codex --force
安装脚本会把内层 技能文件夹复制到:
- Windows 默认:
%USERPROFILE%\.codex\skills\daily-work-planner - macOS/Linux 默认:
~/.codex/skills/daily-work-planner - 如果设置了
CODEX_HOME:$CODEX_HOME/skills/daily-work-planner
方式 3:安装到 Claude Code、Gemini CLI 或其他智能体
安装器会自动选择各客户端能够发现的用户级 skill 目录:
| 智能体 | Windows 命令 | 默认目录 |
|---|---|---|
| Claude Code | powershell -ExecutionPolicy Bypass -File .\install.ps1 -Agent claude -Force |
%USERPROFILE%\.claude\skills |
| Gemini CLI | powershell -ExecutionPolicy Bypass -File .\install.ps1 -Agent gemini -Force |
%USERPROFILE%\.gemini\skills |
| 通用智能体技能客户端 | powershell -ExecutionPolicy Bypass -File .\install.ps1 -Agent generic -Force |
%USERPROFILE%\.agents\skills |
macOS / Linux:
sh ./install.sh --agent claude --force
sh ./install.sh --agent gemini --force
sh ./install.sh --agent generic --force
仍然可以用 -Destination 或 --dest 指定自定义目录。
然后让你的 智能体 读取下面其中一个入口:
| 文件 | 适用情况 |
|---|---|
.agents/skills/daily-work-planner/AGENTS.md |
智能体 支持通用指令文件。 |
.agents/skills/daily-work-planner/SKILL.md |
智能体能够识别技能目录格式。 |
也可以设置 AGENT_SKILLS_HOME,这样就不用每次传 -Destination / --dest。
Windows 下可以这样验证:
Test-Path "$env:USERPROFILE\.codex\skills\daily-work-planner\SKILL.md"
重启 Codex 后可以这样调用:
Use $daily-work-planner to plan my next 2-hour work session.
如果还想使用命令行工具,可以在仓库根目录执行:
python -m pip install .
python -m daily_work_planner --help
python -m daily_work_planner --version
需要更可靠的 PDF 文本提取时,可以安装可选依赖:python -m pip install ".[pdf]"。
如果系统缺少 IANA 时区数据库,可安装 python -m pip install ".[calendar]";local、UTC 和 floating 不需要额外依赖。
识别当前仓库仍存在的任务并估时:
python -m daily_work_planner inspect --repo . --goal "完成当前仓库清理" --speed normal
传入当前窗口或当前任务文本:
python -m daily_work_planner inspect --window-note "修复登录 bug`n更新 README`n运行测试" --goal "完成当前代码任务"
不提供 --minutes,让 技能自动估算时长并生成工作包:
python -m daily_work_planner start --goal "完成当前代码任务" --start 09:00 --scan-repo --repo . --speed normal --output-dir .\work-session
如果提供了 --hard-截止时间 但没有提供 --minutes,技能会把开始时间到硬截止时间之间的窗口作为真实可用时间,并把预计所需时间单独用于判断完整版、可交付版、最低版或延期。
先判断任务是否可行:
python -m daily_work_planner feasibility --goal "完成最终报告" --available-minutes 90 --estimated-minutes 150 --mode writing
执行中记录 检查点:
python -m daily_work_planner 检查点 --session .\work-session\session.json --now 10:30 --done "更新 README" --remaining "运行测试" --remaining "提交改动"
下次继续时生成续做卡片:
python -m daily_work_planner resume --session .\work-session\session.json
结束时生成交接包:
python -m daily_work_planner handoff --session .\work-session\session.json --completed "完成任务识别优化" --remaining "发布 v1.3 标签" --actual-minutes 145 --remember
提供明确时长时仍然可以按原方式使用:
python -m daily_work_planner start --goal "阅读两篇论文并完成汇报提纲" --start 14:00 --minutes 240 --hard-截止时间 18:00 .\paper1.pdf .\notes.docx --output-dir .\work-session
默认工作包会生成:
work_session.txtwork_session.docxsession.icssession.json
如果还想生成分散的辅助文件,可以加 --split-files。
查看 session 状态:
python -m daily_work_planner session status --session .\work-session\session.json
延误后基于 session 重排:
python -m daily_work_planner reschedule --session .\work-session\session.json --now 15:40 --minutes-late 25 --output .\work-session\rescheduled_plan.md
任务结束后写入本地记忆:
python -m daily_work_planner remember --session .\work-session\session.json --actual-minutes 145 --completed "生成综合工作包" --habit "代码清理通常需要额外测试时间"
默认会写入:
.daily-work-planner/memory.jsonl.daily-work-planner/MEMORY.md
这个目录默认加入 .gitignore,因为它可能包含个人使用习惯和任务历史,不应默认上传到 GitHub。
记忆可以直接查看、删除、清理和导出:
python -m daily_work_planner remember --list
python -m daily_work_planner remember --forget-id ENTRY_ID
python -m daily_work_planner remember --purge-before 2026-01-01
python -m daily_work_planner remember --export .\private-memory-export.json
隐私边界
Daily Work Planner 默认本地优先:
- 不主动上传用户文件;
- 不把完整文档、论文、代码或当前窗口原文写入记忆;
- 记忆字段会限制长度并脱敏,只保存文件名而不是完整路径,同时支持查看、删除、过期清理和导出;
.daily-work-planner/默认不提交到 Git。
后续路线
- 为扫描 PDF 和旧 Office 文件增加可选 OCR/转换适配器;
- 为不熟悉命令行的用户提供可选 GUI 包装;
- 输出 P50/P80 估时范围,并支持任务依赖和关键路径;
- 增加实验记录、文献综述、基金申请、面试准备等工作模式;
- 在明确授权后双向同步任务管理器和日历系统。
不做什么
它不试图替代日历软件、长期项目管理工具或深度文档总结器。它的目标是让你更快开始工作,让进度可检查,并在计划延误时保住核心产出。
贡献与安全
开发与测试要求见 CONTRIBUTING.md,漏洞报告方式见 SECURITY.md,版本变化见 CHANGELOG.md。
许可证
MIT 许可证。
No comments yet
Be the first to share your take.