Edi Life OS – 支持 AI 的 MCP 服务器的自托管个人仪表板
TL;DR
Edi Life OS 提供了一个用于管理习惯、目标、财务、看板和专注力的单一自托管仪表板,并附带一个可选的 Model Context Protocol (MCP) 服务器,允许 Claude 等 AI 助手通过受令牌保护的 HTTP API 与您的数据进行交互。
一个仪表板,十个工作区——一切尽在掌握
Edi Life OS 将大多数人使用的碎片化工具(待办事项列表、习惯追踪器、预算电子表格、番茄钟、笔记)整合为十个共享单一登录和数据库的协作工作区:
| 工作区 | 核心功能 |
|---|---|
| 概览 | 实时生产力评分、习惯趋势、目标进度、财务状况、天气预报 |
| 成长 | 与长期和 SMART 目标挂钩的六个生活维度,包含周/月/季度回顾 |
| 专注 | 番茄钟、休息时间安排、专注背景音、会话历史记录 |
| 财务 | 以 Toman 为单位的收入、支出、预算、债务/信贷,分类账视图 |
| 习惯 | 每日习惯清单、连续打卡追踪、7 天一致性图表 |
| 看板 | 拖放式卡片、标签、优先级、截止日期、清单、评论、附件 |
| 日历 | 卡片截止日期和财务到期日的统一视图 |
| 目标 | 带有衡量标准、截止日期、优先级的 SMART 目标,可选习惯驱动的进度 |
| 记事本 | 支持实时预览和导出的 Markdown 笔记 |
| 笔记 | 带有颜色、字体和连接功能的便签 |
所有数据均存储在您自己的 MySQL 数据库中;没有第三方 SaaS,没有追踪,且您保留完全的所有权。
支持 AI 的 MCP 服务器扩展了仪表板的覆盖范围
可选的 MCP 服务器(需要 Node.js 22.9+)公开了 26 个工具,这些工具直接映射到仪表板操作。AI 客户端可以使用自然语言发出指令,例如:
"Show me my LifeOS dashboard."
"Create a SMART goal called Build a home studio, due in three months, and add Buy acoustic panels as a task."
"Mark Reading complete for today."
"Log a 450,000 Toman food expense and show my balance."
MCP 服务器仅通过受 bearer 令牌保护的 HTTP API 与 PHP 应用程序通信;它从不访问原始数据库或凭据。这种设计在保持 AI 集成轻量化的同时,保护了数据隐私。
部署选项 – Docker、共享主机或本地 PHP
Edi Life OS 可以通过三种简单的方式安装:
- Docker(推荐) – 克隆仓库,将
.env.example复制到.env,然后运行docker compose up -d。每个组件(MySQL、应用程序、附件)都位于其自己的 Docker 卷中,从而可以通过docker compose up -d --build实现轻松升级。 - 共享主机 – 下载最新的 zip 发行版,解压到
public_html/,使用 MySQL 凭据配置config.php,并按照 Apache 重写的部署指南进行操作。 - 本地 PHP 服务器 – 使用 PHP 8.1+ (pdo_mysql, mbstring) 和 MySQL 8+ (或 MariaDB 10.4+),运行
php -S localhost:8000 -t public_html server.php。数据库架构将在首次启动时创建。
这三种方法都将凭据排除在版本控制之外(.env 和 config.php 已被 git 忽略)。
HTTP API – 对每个领域的程序化访问
私有的 /api/v1 端点镜像了 UI 功能。身份验证使用在 config.php (api_token) 中设置的随机 256 位 bearer 令牌,或通过 LIFEOS_API_TOKEN 环境变量设置。curl 请求示例:
curl -H "Authorization: Bearer $LIFEOS_API_TOKEN" https://your-host/api/v1/dashboard
该 API 支持对仪表板、目标、任务、习惯、财务和便签进行 CRUD 操作,并具有基于事务的写入和行级锁定功能,以避免竞态条件。
安全模型 – 单用户所有者焦点
Edi Life OS 假设为单用户。API 令牌授予完全的读/写访问权限;没有细粒度的作用域或内置的速率限制。部署者应强制执行 HTTPS,将令牌排除在 URL 和日志之外,并依靠主机层防火墙进行请求限流。秘密笔记默认对 API 读取隐藏,但不会在静态存储时加密。
来自 Hacker News 的社区反馈
该项目引起了适度的讨论(15 条评论,39 个赞)。主要观点:
@hmyn 质疑为什么这个解决方案不是一个 Notion 模板,强调了自定义自托管堆栈与灵活的 SaaS 工作区之间的权衡。 — @hmyn
@ceejayoz 警告称代码表现出“设计反模式”,并建议使用 Claude 对其进行批评,这表明代码库可能受益于现代架构审查。 — @ceejayoz
@GaiusCoffee 称赞了这个想法,但认为执行“还有很多不足之处”,呼应了对完善度和可用性的担忧。 — @GaiusCoffee
@onaclov2000 提到为个人健康数据构建了一个类似的系统,建议该平台的可扩展性可以服务于利基领域。 — @onaclov2000
总的来说,社区认为这个概念很扎实,但期待进一步的改进,或许需要更现代的代码结构。
何时考虑使用 Edi Life OS
- 您想要一个单一的、自托管的地方来存放所有个人生产力数据。
- 您重视数据所有权,并且乐于管理 MySQL 数据库。
- 您计划集成一个可以通过 MCP 读取/写入仪表板的AI 助手。
- 您更喜欢以 PHP 为中心的堆栈,而不需要繁重的 JavaScript 框架或构建管道。
如果其中任何一点符合您的工作流程,Edi Life OS 提供了一个现成的、MIT 许可的基础,您可以对其进行分叉和扩展。
入门指南
# 克隆并使用 Docker 启动(最快路径)
git clone https://github.com/edrisranjbar/lifeos.git && cd lifeos
cp .env.example .env # 编辑凭据
docker compose up -d
访问 http://localhost:8080,创建您的第一个帐户,并探索十个工作区。启用 MCP 服务器 (cd mcp && npm ci && cp .env.example .env && npm start) 以连接 Claude 或任何兼容 MCP 的客户端。
许可证
Edi Life OS 在 MIT 许可证下发布(© 2026 Edris Ranjbar)。您可以自由使用、修改和重新分发它。
Sources
相关
- 项目
- 项目
- 项目
- 项目
- 项目