A project-centered personal workspace built around daily logs. 让项目落在每天,让每天沉淀进项目。
ProjectDay 是一个可以用 Obsidian 打开的个人工作台:在 Project 中管理项目、版本和任务,在 Daily 中记录每天的实际推进,再通过 Review 复盘。本仓库提供虚构项目和日志样例,下载后可以先试用,再换成自己的内容。
- 项目仓库:Amethyst-blog / ProjectDay
- 图文使用说明:ProjectDay 使用教程
- 本文按 2026-09-12 的项目功能整理。首次使用请从下面的“下载后直接使用”开始,具体操作以本 README 为准。
**直接使用请到 Releases 下载完整包,选择 Assets 中的 ProjectDay-vault.zip。**本项目采用“源码区提供笔记和代码,Release 提供含插件的完整 vault”的发布方式。源码区不包含 .obsidian,因此 Code → Download ZIP 和自动生成的 Source code (zip) 均不包含开箱使用所需的插件及配置。
安装 Obsidian 1.13.0 或更高版本。当前内置 QuickAdd 声明的最低要求是 1.13.0;下载地址:Obsidian 官网。
首次使用建议在电脑上完成。无需安装 Node.js、Python,也无需运行构建或打包命令。
打开本项目的 Releases 页面,选择最新正式版本,在 Assets 中点击 ProjectDay-vault.zip 下载,然后完整解压。旁边的 .sha256.txt 用于校验,普通使用者可以不下载。
请使用名称准确为 ProjectDay-vault.zip 的附件,避免误选 GitHub 自动提供的 Source code (zip) 或 Source code (tar.gz)。如果 Releases 暂时没有这个附件,说明完整包尚未发布,需要等待维护者上传。
找到解压后的 ProjectDay 文件夹,确认其中同时包含以下内容:
ProjectDay/
├── .obsidian/ 插件、主题和启用配置,必须保留
├── _system/ 首页及各页面功能
├── Daily/
├── Project/
├── Review/
├── Models/
├── Travel/
├── ProjectDay.md 首页
└── README.md
.obsidian 在部分文件管理器中是隐藏目录,请开启“显示隐藏文件”检查。若下载后确实没有 .obsidian/plugins/,说明该份文件不完整,需要重新获取包含它的完整版本。不要只复制 Markdown 文件,也不要把外层还套着一层文件夹的目录误选成 vault。
在 Obsidian 的仓库管理器中选择 “打开本地仓库 / 打开文件夹作为仓库”,选择上一步包含 ProjectDay.md 和 .obsidian 的文件夹。
ProjectDay 本身就是一个完整 vault,直接打开它即可,无需先创建空 vault 或手动迁移配置。
按 Obsidian 的提示信任作者并允许社区插件。若仍处于受限模式,进入 设置 → 第三方插件 / 社区插件,关闭受限模式,确认以下四个插件已启用:
| 插件 | 内置版本 | 用途 |
|---|---|---|
| Dataview | 0.5.68 | 渲染首页、项目页和统计数据 |
| Tasks | 8.4.0 | 管理任务状态和日期 |
| QuickAdd | 2.24.2 | 提供添加任务、日志等输入表单 |
| ProjectDay Task Shortcut | 1.0.0 | 添加或编辑项目版本任务 |
**插件运行文件、启用列表、Dataview JavaScript 查询设置和 Border 主题已经随完整 vault 提供。**无需再到插件市场逐个下载,无需创建 QuickAdd 宏、配置 API Key 或额外安装 Templater。按本文提供的首页按钮创建笔记时,模板由项目内置逻辑处理。
首次信任确认由 Obsidian 自身管理,仍需使用者操作。Obsidian 官方插件说明
在左侧文件列表中打开根目录的 ProjectDay.md,切换到 阅读视图,等待插件完成索引和页面渲染。
正常情况下,首页会显示项目总览、月历、临时任务、执行日志等卡片,笔记窗格右侧中间会显示 ☰ 悬浮目录。发布包不携带原使用者的窗口布局,因此第一次打开需要自己点开首页。
- 在首页点击 “+ 添加临时任务”,填写任务名称,保留今天的创建和开始日期,选择截止日期后保存。它会写入对应 Daily 的“杂事”,并出现在临时任务卡片中。
- 点击月历中的今天,查看当天任务;再点击同一天或“显示全部”,取消日期筛选。尝试 Daily / Project 开关,查看不同来源。
- 勾选刚才创建的任务,可填写完成备注。保存后任务从未完成列表中消失,原笔记中保留完成状态、完成日期及备注。
- 点击 “+ 添加项目”,创建自己的项目;再使用 “添加项目任务” 创建一条普通任务。新项目会同时创建第一个版本,无需自己建立文件结构。
- 点击 “填写工作日志”,选择可执行任务、填写实际耗时和产出。回到首页查看执行日志与投入统计,也可以打开对应日期的 Daily 查看原始记录。
仓库中的历史样例固定在 2026 年 9 月。首页按使用当天筛选,下载时间不同时,“最近 5 天”可能没有样例日志;保存一条今天的日志即可看到结果,不代表插件失效。
月历位于任务区域左侧,显示当前月份,与临时任务、执行日志组成三栏。桌面宽屏下卡片等高,长列表在卡片内滚动;窄屏时改为纵向排列。
- **日期角标:**表示所选来源中,在该日开始至截止区间内、目前仍未完成的临时任务数;无截止日期的任务从开始日起计入。
- **点击日期:**中间的临时任务列表只显示覆盖该日的任务。可以点击当前月份中的未来日期,查看已安排的任务。
- **取消日期筛选:**再次点击同一天,或点击“显示全部”。取消日期筛选后,来源开关仍保持当前选择。
- **Daily / Project:**两个开关分别控制来源,可以同时显示,也可以只显示其中一类。角标与任务列表会一起更新。
这里的月历用于筛选任务,不会创建或打开 Daily;打开每日笔记请使用下方的投入热力图。
首页读取 Daily 和 Project 及其子文件夹中的 Markdown 任务,不限于 Daily。任务需要带有 #task 或 #tasks 标签,以及 2026-09-01 或之后的创建日期。
未选择日期时,默认显示已经开始、尚未完成且未暂停、取消或归档的任务,按截止日期从近到远排序,无截止日期的排在最后。已逾期但未完成的任务也会保留在默认列表中。
选择日期后,按该日是否在任务的开始至截止区间内筛选。角标反映的是当前仍未完成的任务,不是过去某一天的历史快照;完成任务后,列表和角标会同步减少。
两种添加方式:
- **添加到 Daily:**点击首页“+ 添加临时任务”,填写内容、创建日期、开始日期和截止日期。保存位置固定为
Daily/创建日期.md的“杂事”下;该日文件不存在时会自动创建。 - **添加到 Project:**打开项目主页或 Project 下的其他笔记,在编辑视图中添加带标签和日期的任务行。首页会自动读取,无需另设查询。
例如,在项目笔记的“临时任务”标题下写入以下内容,并按实际安排修改日期:
# 临时任务
- [ ] 整理项目测试反馈 #task ➕ 2026-09-12 🛫 2026-09-12 📅 2026-09-16➕ 是创建日期,🛫 是开始日期,📅 是截止日期。开始和截止日期可选;未填写开始日期时,会依次尝试计划日期、创建日期或每日笔记日期。保留创建日期和任务标签,首页才能按当前规则识别。
可直接查看仓库中的两条样例:
| 来源 | 文件 | 示例任务 |
|---|---|---|
| Daily | 2026-09-08.md | 【Daily 示例】整理本周待办清单 |
| Project | 测试项目-公开工作台.md | 【Project 示例】整理公开工作台的测试反馈 |
点击任务正文可打开原文件;勾选复选框可完成任务并填写备注。Daily 任务写回对应 Daily,Project 任务写回对应项目笔记。
右侧执行日志显示**最近 5 天(含今天)**的工作记录,按日期分组,并按日期、记录时间倒序排列。每条记录展示任务、实际分钟数、记录时间(如已填写)、产出或目标,以及已有备注;数量任务还会显示增量。
日志较多时在卡片内滚动。点击任务链接可打开保存该条日志的 Daily。月历的日期和来源筛选只影响临时任务,不改变执行日志的五天范围。
☰ 按钮固定在当前笔记窗格右侧中间,滚动长页面时仍保持可见。
- 鼠标悬停可展开目录;点击按钮可固定展开,再次点击收起。
- 点击条目跳转到对应区域,目录随后收起;当前位置会高亮。
- 键盘可用 Tab 移动焦点、Enter 操作按钮、Escape 收起目录。
目录包含七个入口:灵感入口、今日目标、任务清单、项目概览、技能日课、看世界、漫游。
- 今日目标:“今日重点”和“最小行动”读取昨天 Daily 的“明日todo”中填写的“研究主线”和“最小行动”。可在每天结束时填写,第二天首页会显示。
- **项目概览:**按项目查看目标、当前版本、阶段状态、任务分类和进度。项目任务中的前置关系会影响任务是否可执行。
- **项目用时:**可切换今日和本周,按执行日志汇总投入。
- **技能日课:**展示技能和长期日课的当前状态及可执行任务;数量任务通过增量日志累计。
下方的投入热力图按执行日志中的实际用时着色,项目与日课分别统计,技能计入日课。点击过去日期或今天:已有 Daily 就打开;没有则按 Models/Daily.md 创建后打开。未来日期不可点击。
旅行足迹读取本 vault 的 Travel 文件夹中带 trip 标签且 到访: true 的城市记录,并将到访地区标红。地图数据保存在本地。
知识库漫游从当前 vault 中抽取笔记,点击可打开原文,“换一组”可重新抽取。“看世界”提供北京地区双选会公开信息看板,该外部看板需要联网;本地项目、任务、日志及地图功能无需依靠该看板运行。
在首页点击 “+ 添加项目”,填写名称、首页分组、类型、优先级和日期。系统会创建项目主页、第一个 version/version1.0.md,以及 asset、work 文件夹。
首页分组中,project 用于项目,routine 用于日课,skill 用于技能,auto 根据名称和属性判断。
在项目页点击 “+ 新版本” 可继续迭代。设为当前版本时,原先的 active 版本会转为 paused,项目的当前版本链接会同步更新。
在首页点击 “添加项目任务”,或打开版本笔记的阅读视图,在 Tasks 下点击 “+ 添加任务”。
- **普通任务:**可以填写预计分钟,完成后勾选。
- **数量任务:**设置目标数量,通过“填写增量日志”累计,达到目标后显示完成。
- **容器任务:**组织子任务,进度随子任务汇总。
- **前置关系:**前置任务未完成时,后续任务不会进入可执行任务选择器。
编辑已有任务或建立父子关系时,在版本笔记的编辑视图中将光标放到相应任务行,通过命令面板运行 “ProjectDay Task Shortcut: 添加或编辑任务(自动识别版本和父任务)”。在空白行运行可新增任务,在已有任务行运行可编辑任务。快捷键不是必需步骤,可按个人习惯设置。
项目版本任务用于跟踪项目进度;首页临时任务按 #task / #tasks 标签读取。普通项目任务无需为了显示项目进度而额外添加这些标签。
| 入口 | 操作 | 保存位置 |
|---|---|---|
| 首页 | “填写工作日志”或“填写增量日志”,选择可执行任务和日期 | 所选日期的 Daily |
| 项目页 | “+ QuickAdd 添加执行日志”,选择项目中的可执行任务 | 所选日期的 Daily |
| Daily 阅读视图 | “今日记录”下的“+ Work Log”或“+ 增量日志” | 当前这篇 Daily,日期固定为文件名 |
普通日志记录实际用时、目标和产出等信息;数量日志记录本次完成数量和实际用时。日志保存在 Daily 中,首页和项目页从同一份记录汇总,不需要再复制到项目文件。
首页灵感入口可快速记录内容。灵感按“工具技巧、认知感悟、科普”写入 Review/灵感.md 对应标题;各篇 Daily 的灵感区按日期聚合,不需要重复粘贴。
Review 下有 Weekly、Monthly、Quarterly 和 Yearly。周复盘中的“首页概览”会显示在首页,包括本周推进、主要卡点、下周主线和下一步。Models 保存各类模板,后续新建笔记会使用对应模板。
仓库中有四个项目样例:测试项目-公开工作台、测试项目-城市散步指南、日课-阅读、技能-信息可视化;另有 2026-09-06 至 2026-09-08 的三篇 Daily,以及北京、上海、成都的旅行样例。
先创建自己的项目并记录一次推进,确认流程正常后,再按需删除或替换上述样例及 Review 中的示例内容。保留 .obsidian、_system、Project/_system 和 Models,它们提供页面功能、插件和模板。
| 现象 | 检查与处理 |
|---|---|
| 下载后完全看不到四个插件 | 确认下载的是 Release 附件 ProjectDay-vault.zip。源码区下载包不含插件;再检查是否选错解压目录,以及 .obsidian/plugins/ 是否完整保留。 |
| 插件存在但首页没有卡片 | 确认 Obsidian 版本满足要求、社区插件已允许且四个插件已启用,再打开 ProjectDay.md 的阅读视图。 |
| 页面提示 JavaScript 查询未启用 | 在 Dataview 设置中启用 JavaScript Queries。完整包已预设,通常仅在配置被覆盖时需要处理。 |
| 新增的临时任务没有显示 | 检查文件是否在 Daily / Project 中,是否带 #task / #tasks 与 2026-09-01 或之后的创建日期,是否已开始且未完成;再检查来源开关和日期筛选。 |
| 某个日期没有任务角标 | 该日没有符合当前来源、状态及日期区间的任务,或相关任务已经完成。 |
| 执行日志为空 | 只展示最近 5 天。历史样例不在范围内时,添加一条今天的工作日志。 |
| 任务列表数量与“今日推进质量”不同 | 列表按日期、来源和当前状态筛选;“今日推进质量”的临时任务统计另使用截止日在今天前后七天内的范围,并包含已完成任务。 |
| 没看到悬浮目录或更新后仍是旧页面 | 在 ProjectDay.md 阅读视图中查看笔记窗格右侧中间;关闭再打开该笔记以重新渲染,仍未更新时重启 Obsidian。 |
| 更新后设置丢失 | 原有 vault 的配置可能覆盖了随包提供的 .obsidian;可先把完整包解压到新目录并独立打开核对。 |
以下步骤只在发布或更新项目时使用,下载者不需要执行。
当前采用网页上传:将 Daily、Project、Models、Review、Travel、_system、ProjectDay.md、README 和其他项目文档上传到仓库源码区。源码区可以不上传 .obsidian;dist 中的压缩包放到 Release 附件区。README 保持引导使用者到 Releases 获取完整包。
**本地用于打包的 vault 必须保留 .obsidian 及其中的全部必需插件。**网页上传时不选择该文件夹即可,不要在本地删除或改名。完整插件会通过 ZIP 附件分发。
Windows 下双击根目录的 打包发布.cmd。工具不需要 Node.js,也不会下载依赖,输出:
dist/ProjectDay-vault.zip
dist/ProjectDay-vault.zip.sha256.txt
工具会检查四个必需插件的版本、文件和启用设置,保留当前主题及必要配置,排除工作区布局、缓存等内容,并移除包内 QuickAdd 的 AI provider 配置。每个打包文件均进行 SHA-256 校验。
- 登录有该仓库写入权限的 GitHub 账号,打开 新建 Release 页面。也可以从仓库右侧 Releases → Create a new release / Draft a new release 进入。
- 点击 Choose a tag,输入新版本号,例如首次正式发布用
v1.0.0,然后点击 Create new tag;Target 选择已上传最新源码和 README 的main分支。 - Release title 填写
ProjectDay v1.0.0 — 含插件完整使用包,描述中说明主要功能、Obsidian 版本要求,以及应该下载哪个附件。 - 在描述框下方的附件上传区域,选择或拖入
dist/ProjectDay-vault.zip和dist/ProjectDay-vault.zip.sha256.txt。上传 ZIP 文件本身,不用解压,也不用单独上传.obsidian。 - 等待两个附件上传完成。正式发布不勾选 This is a pre-release;如有 Set as latest release 选项,可将本次设为最新版本。
- 点击 Publish release。若暂时不发布,点击 Save draft 保存草稿。
- 发布后展开 Assets,确认有自己上传的
ProjectDay-vault.zip,再下载一次检查其中包含.obsidian/plugins/。将该 Release 页面链接分享给使用者。
Release 描述可填写:
ProjectDay 完整使用包,内置 Dataview、Tasks、QuickAdd、自定义任务插件及配置。
包含月历筛选、Daily / Project 双来源临时任务、执行日志和悬浮目录。
请下载 Assets 中的 ProjectDay-vault.zip,完整解压后,用 Obsidian 1.13.0 或更高版本打开其中的 ProjectDay 文件夹。首次按提示允许社区插件,再打开 ProjectDay.md 的阅读视图即可使用,无需单独下载插件。
Source code (zip) 为源码,不包含插件。详细操作见 README。
GitHub 的 Release 发布流程见 官方说明。
修改功能后先更新 README 和源码区,再重新打包,以新的版本号(例如 v1.0.1)创建 Release 并上传新 ZIP。升级插件后,同时更新 _system/bundled-plugins.json 的版本清单。源码区无需重复尝试网页上传 .obsidian,但每次完整包都必须包含它。
ProjectDay 使用 MIT License。内置插件、主题和地图数据遵循各自的许可证,见 第三方组件说明 和 地图来源说明。
公开发布前,按 隐私检查清单 检查新增内容。只发布 vault 本身,不要打包 Obsidian 应用的全局账号数据。