基于纯文本与AI代理的本地优先人生操作系统实践
1. 项目概述一个本地优先的AI驱动人生操作系统如果你和我一样厌倦了数据被锁在云端、界面花哨但核心功能孱弱的效率工具那么今天聊的这个项目“LifeOS Local”可能会让你眼前一亮。它不是什么新上线的SaaS服务而是一个完全运行在你本地电脑上的“人生操作系统”框架。核心哲学极其简单一切皆纯文本Markdown一个文件管一天today.md让AI代理来处理那些繁琐的归档、迁移和提醒工作。你可以把它理解为你数字生活的“命令行界面”通过最基础的文本编辑器和几个预设的AI指令就能构建一个高度个性化、完全受你控制的生产力系统。这个项目完美契合了当下“本地优先”Local-First和“纯文本生产力”Plain Text Productivity的潮流。它不依赖任何云服务你的所有日记、任务、想法都安静地躺在你自己的硬盘里用最通用的.md格式保存未来几十年都能无障碍读取。而AI特别是像Cursor这类深度集成代码助手的编辑器的引入则解决了纯文本系统最大的痛点手动维护的繁琐。你不再需要自己记住把昨天的未完成任务挪到今天或者定期整理归档——告诉AI“帮我开始新的一天”/start或“结束今天的工作”/finish它就会像一位尽职的私人助理一样帮你打理好一切。2. 核心设计哲学与架构解析2.1 为什么是“纯文本”与“本地优先”在深入操作之前有必要先理解这个项目背后的设计选择。这决定了它是否适合你。纯文本Plain Text作为基石项目所有数据都以Markdown文件存储。这带来了几个无可替代的优势永恒性与可移植性.txt或.md文件是计算机世界最基础的数据格式几乎任何设备、任何操作系统、任何软件甚至是最简单的记事本都能打开。这意味着你的数据永远不会因为某个服务倒闭、格式过时而丢失。十年后你依然能轻松访问今天写下的内容。极致的灵活性与可控性没有固定的字段、没有复杂的数据库结构。你想记录什么就直接写什么。你可以用#创建标题用-列清单用**加粗重点结构完全由你定义。这种自由是任何结构化笔记软件如Notion的数据库难以比拟的。强大的工具生态纯文本可以与无数现有工具无缝协作。你可以用git进行版本管理用grep或ripgrep进行全局搜索用任何文本编辑器VSCode, Vim, Sublime Text进行编辑甚至用脚本Python, Bash进行批量处理和分析。本地优先Local-First作为原则你的数据首先且主要存储在你的本地设备上。这与“云同步优先”的Evernote、Notion等有本质区别。隐私与安全你的日记、任务清单、项目构思从未离开你的电脑。你不需要担心服务商的隐私政策也不需要担心数据泄露。离线可用无论网络是否通畅你的系统始终可用。性能与响应所有操作都在本地完成速度极快没有网络延迟。当然这带来了同步的挑战。但解决方案非常成熟你可以使用git配合GitHub、Gitee或自建Git服务器进行跨设备同步或者使用Syncthing、iCloud Drive/Dropbox的文件夹同步功能。同步的主动权完全在你手中。2.2 AI代理的角色从“记录系统”到“执行系统”传统的Bullet Journal子弹笔记或PKM个人知识管理系统核心是“记录”。你需要花费大量心智在“维护系统”本身上迁移任务、归档日志、分类信息。LifeOS Local引入AI代理通过AGENTS.md文件定义旨在将系统升级为“执行系统”。AI在这里不是用来生成空洞内容的而是扮演一个系统管理员或执行引擎的角色。它的核心职责是自动化流程执行/start,/finish,/review等命令自动完成日期更新、文件归档、任务迁移等重复性工作。理解上下文通过读取你的user.md偏好设置和today.md当日上下文提供更具个性化的建议例如在/unstuck命令中根据你当前阻塞的任务类型给出启动建议。处理半结构化信息虽然数据是纯文本但AI可以理解其中的结构如任务列表- [ ]标签#tag优先级(A)等并据此进行智能操作。这本质上是一种“人机协作”的新模式你负责思考、决策和创造内容人类擅长的AI负责处理规则明确、流程固定的维护性工作机器擅长的。3. 环境准备与项目初始化实操3.1 核心工具选型为什么是Cursor项目推荐使用Cursor编辑器这并非强制但能获得最佳体验。Cursor的核心优势在于深度集成了AI类似ChatGPT的模型到编辑界面并支持运行自定义的“AI代理命令”即项目中的/setup-private,/onboard等。这些命令本质上是一系列预设的提示词Prompts和脚本AI会按照提示词一步步引导你操作或自动执行任务。如果你不使用Cursor还有哪些选择Cursor CLICursor的命令行版本同样可以执行代理命令。任何支持AGENTS.md协议的编辑器/CLIAGENTS.md是一个正在兴起的标准用于定义AI代理的指令集。未来可能会有更多工具兼容。手动模式即使没有任何AI工具你也可以完全手动操作这些Markdown文件。项目的价值在于提供了一套经过验证的文件结构和工作流模板你可以借鉴这个模板用你熟悉的任何编辑器如VS Code Copilot来管理。我的选择与建议对于想要体验完整自动化工作流的用户我强烈建议从Cursor开始。它的集成度最高开箱即用。对于更极客的用户可以研究AGENTS.md文件将其中的指令适配到你喜欢的AI编码助手如Claude Code、Windsurf等。3.2 一步步搭建你的LifeOS让我们开始实际操作。假设你选择了Cursor。步骤一获取项目代码打开终端命令行导航到你希望存放LifeOS的目录例如~/Documents执行git clone https://github.com/sanjeed5/life-os-local.git my-life-os cd my-life-os这会将官方的项目模板克隆到本地一个名为my-life-os的文件夹中。注意此时你拥有的是一个“模板仓库”。直接在这里记录个人数据并推送到GitHub是公开的。下一步就是解决这个问题。步骤二创建你的私有数据仓库关键步骤这是保证你数据隐私的核心操作。在Cursor中打开项目文件夹后你应该能在编辑器内看到一个类似聊天框的“AI指令输入框”。在这里输入/setup-privateAI代理会被触发。它通常会做以下几件事引导你在GitHub上创建一个新的、私有的仓库例如命名为my-life-os-private。将当前模板仓库的内容推送到这个新的私有仓库。将你的本地仓库的远程地址切换到这个新的私有仓库。可能会删除原模板仓库的远程链接确保你的工作完全基于私有库。这个过程完成后你的所有后续操作提交、推送都只与你的私有仓库相关原始模板仓库的更新不会影响你你的数据也完全保密。步骤三初始化个人配置文件继续在AI指令框中输入/onboard这个命令会引导你完成初始化设置。AI会问你一系列问题例如你的名字你希望如何称呼你的系统如“我的指挥中心”你的核心关注领域如“健康”、“家庭”、“项目A”你希望每日回顾的时间如“每晚9点”根据你的回答AI会在项目中生成一个user.md文件。这个文件是你的个人偏好中心后续AI代理在执行各种命令时会参考这里的设置来提供更贴心的服务。4. 核心文件系统与每日工作流深度解析4.1 文件系统结构每个文件的使命初始化完成后你的项目目录结构会变得清晰。理解每个文件的作用是高效使用系统的前提。文件/目录核心使命与使用逻辑today.md系统的核心今天的驾驶舱。每天早晨由/start命令生成或重置。它应该包含今日日期、主要目标Top 3、任务清单、会议安排、随机灵感区。它的特点是“临时性”和“聚焦性”只关心今天。inbox.md全系统的收集箱和总仓库。这是一个“冷存储”所有未分类、未安排的想法、任务、项目雏形、未来可能想培养的习惯都先扔到这里。它的结构相对稳定按区域划分如## Projects,## Someday/Maybe。/start命令会从这里提取相关任务到today.md。wins.md你的成就日志与能量补给站。记录任何你觉得值得庆祝的事情无论大小。完成了项目、学会了一个小技巧、坚持运动了一周、帮助了别人……都可以记下来。定期回顾这个文件是对抗自我怀疑、建立自信的绝佳方式。/finish命令会提示你记录今日小胜。journal/目录系统的历史档案馆。每天执行/finish时today.md会被归档到此目录下按年/月/日期.md的层级存放如journal/2024/05/2024-05-27.md。这是你个人历史的纯文本数据库可用于年度回顾或搜索过去某天的记录。user.md系统的配置文件。由/onboard生成存放你的个人偏好。AI代理会读取它来个性化其行为。你可以手动编辑它增加更多自定义偏好。AGENTS.mdAI代理的“工作手册”。这个文件定义了所有命令/start,/finish等的具体执行步骤和逻辑。高级用户可以修改这个文件来定制自动化流程。普通用户只需知道它的存在即可。4.2 每日工作流实战从清晨到日暮这套系统的精髓在于其每日工作流它模拟了GTDGetting Things Done和Bullet Journal的核心循环。场景一清晨启动——执行/start当你开始一天的工作时在Cursor中输入/start。AI代理会做以下事情归档昨日检查是否存在昨天的today.md如果存在会将其移动到journal/目录下对应的日期文件夹中。这相当于为昨天画上句号。创建今日文件生成一个新的today.md文件顶部是今天的日期。迁移未完成任务它会扫描昨天归档的文件找出所有未完成的任务标记为- [ ]的项并询问你是否要将它们迁移到今天的文件中。你只需回答“是”或“否”。从收集箱提取任务它会读取inbox.md特别是## Projects下的相关任务根据你的user.md设置或上下文建议一些任务添加到今日清单。引导制定计划最后AI会提示你“今天最重要的三件事是什么” 引导你聚焦核心目标。这个过程在1分钟内完成你无需手动复制粘贴、创建文件、梳理任务一个清晰、承上启下的今日计划页面就准备好了。场景二日间记录——维护today.md一天中today.md是你的主战场。你可以在任务列表中添加新任务- [ ] 准备会议材料。记录临时会议笔记或灵感在文件底部随便找个地方写。完成任务后将- [ ]改为- [x]。用##标题划分上午、下午等时间段。关键技巧不要追求完美记录。把它当作草稿纸快速捕捉。结构可以稍后整理。场景三晚间收尾——执行/finish一天结束时输入/finish。AI代理会引导日回顾问你一些简单的问题如“今天有什么值得庆祝的小胜利”鼓励你更新wins.md“今天有什么感悟或学习”归档今日将当前的today.md文件重命名并移动到journal/2024/05/目录下。清理与迁移将今日未完成的任务- [ ]收集起来询问你是想将它们移回inbox.md还是直接安排到明天的待办中。生成明日占位符创建一个空的tomorrow.md或直接在inbox中标记用于临时存放睡前想到的明天要做的事。这个过程完成了“记录-回顾-清理”的闭环让你的数字桌面每天都能清空重启。4.3 进阶命令/review与/unstuck/review每周回顾这是系统长期健康运行的关键。通常在周末执行。AI会引导你回顾过去一周的journal/总结主要事件和进展。清空和整理inbox.md将模糊的想法转化为明确的项目或任务或直接删除。审视wins.md给自己积极的反馈。基于以上规划下一周的总体方向和高阶目标。这相当于为接下来七天的/start命令提供了战略背景。/unstuck解困助手当你面对today.md一片空白毫无头绪或者某个任务卡住无法推进时运行此命令。AI会分析你当前的文件和任务可能提供以下帮助将一个大任务拆解成几个5分钟内可执行的下一步行动。建议你换个环境或先做点简单的任务热身。根据inbox.md和过往记录提醒你一些被遗忘但相关的事项。5. 高级集成与个性化定制指南5.1 利用MCP连接外部世界可选但强大LifeOS本身是自包含的但通过模型上下文协议MCP它可以与外部工具连接变得更具感知力和行动力。MCP可以理解为AI代理的“插件系统”允许AI安全地访问外部数据和执行操作。如何集成项目提到了Google Workspace的MCP服务器。假设你想连接Google日历安装MCP服务器你需要按照google_workspace_mcp项目的指南配置OAuth认证等。这通常涉及在Google Cloud创建项目、获取凭证等开发操作有一定门槛。配置Cursor在Cursor的设置中配置其AI使用你安装的MCP服务器。效果配置成功后当你运行/start时AI不仅可以读取你的本地文件还可以通过MCP查询你今天的Google日历事件并自动将其插入到today.md的“会议安排”部分。同样/finish时AI或许能帮你将完成的任务同步到某个外部项目管理工具。我的建议对于大多数用户初期完全可以忽略MCP。先专注于用好本地纯文本工作流。当你对这个系统非常熟悉且确实有强烈的自动化需求如每日自动拉取日历、同步待办事项到TickTick等时再研究MCP。社区github.com/modelcontextprotocol/servers提供了越来越多的服务器未来可玩性很高。5.2 深度个性化你的系统AGENTS.md和user.md是你进行个性化定制的两个杠杆。定制user.md你可以手动编辑这个文件添加任何你认为AI应该知道的关于你的信息。例如## 工作习惯 - 我习惯在上午处理深度工作。 - 我容易在下午3点后精力分散。 ## 项目缩写 - PA: 项目阿尔法 - PB: 项目贝塔 ## 常用标签 - #健康 #阅读 #财务这样当AI在/review时看到#健康的条目可能会给出更相关的总结。高级定制AGENTS.md这个文件定义了每个命令的具体步骤。例如你可以修改/start命令的流程让它除了问“最重要的三件事”再额外问一句“今天有什么让你感到焦虑或担心的事”并将其记录在一个专门区域用于后续反思。注意修改前请备份原文件并确保你理解其基本结构它本质上是给AI看的详细指令集。6. 常见问题与故障排查实录在实际使用中你可能会遇到以下情况。这里是我和社区用户遇到的一些典型问题及解决思路。问题现象可能原因排查与解决思路运行/setup-private或/onboard无反应或报错1. Cursor的AI功能未正确启用或订阅。2. 项目路径包含中文或特殊字符。3. Git未安装或配置错误。1. 确认Cursor已登录且AI功能可用尝试在文件中问个简单问题。2. 将项目克隆到纯英文路径下如C:\Users\YourName\Documents\lifeos。3. 在终端运行git --version确认Git已安装。运行git config --global user.name和git config --global user.email确认信息已配置。/start命令没有正确迁移昨天的任务1. 昨天的today.md文件已被手动移动或删除。2. 文件命名或格式不符合预期。1. 检查journal/目录下是否存在昨天的归档文件。如果没有手动从备份或回收站恢复。2. 确保today.md的任务项使用标准的Markdown任务列表格式- [ ] 任务内容。AI靠这个模式识别任务。/finish归档后想查看昨天的记录找不到不熟悉归档目录结构。归档路径是journal/年/月/年-月-日.md。例如2024年5月27日的日记路径是journal/2024/05/2024-05-27.md。直接在文件管理器中导航或使用编辑器内的文件搜索功能。想在手机或平板上查看/编辑文件纯文本系统的跨设备同步需要自行设置。方案A推荐使用Git。在移动端安装如Working CopyiOS或MGitAndroid的Git客户端克隆你的私有仓库。编辑后提交推送。这需要一定的Git操作知识。方案B简单使用云盘同步文件夹。将整个my-life-os文件夹放入iCloud Drive、Dropbox或OneDrive的同步文件夹中。然后在移动端使用支持Markdown的编辑器如iA Writer、Obsidian Mobile打开该文件夹内的文件。注意确保不同设备编辑同一文件时不要产生冲突。AI代理的命令执行结果不符合预期AGENTS.md中的指令可能被更新或AI理解有偏差。1. 首先检查项目仓库是否有更新git pull有时作者会优化代理指令。2. 直接打开AGENTS.md查看对应命令如## Command: /start的原始指令是什么这有助于你理解AI“应该”做什么。3. 在运行命令时可以在指令后添加更明确的描述例如/start 请忽略inbox中的低优先级任务为AI提供额外上下文。数据量大了之后如何快速搜索历史记录纯文本文件的优势所在。在项目根目录打开终端使用grep -r 关键词 journal/命令可以快速在所有归档日记中搜索包含该关键词的文件。对于更复杂的搜索如搜索某个标签#阅读可以结合正则表达式grep -r #阅读 journal/。你也可以使用任何本地全文搜索工具如VS Code的全局搜索、ripgrep(rg) 等速度极快。最后一点个人心得这个系统的力量不在于工具的复杂而在于流程的坚持和数据的积累。最初几周你可能会觉得手动运行命令有点刻意但一旦形成习惯你会发现大脑被极大地解放了。你不再需要记住“那个想法记在哪了”、“昨天的任务今天要不要做”系统会成为你可靠的外部大脑。最关键的是所有数据都在你自己手里以一种最朴素、最持久的方式保存着。这种掌控感和安全感是任何云端服务都无法给予的。