关于 First Light
First Light 是面向需要统筹任务、日历和习惯的用户的自托管任务管理器。标语提到原生 MCP 服务,但现有产品范围文档未说明其 MCP 能力。
主要功能
- 01任务列表、标签和四档优先级
- 02自然语言录入任务并解析日期
- 03支持拖动改期的日历视图
- 04番茄钟和习惯追踪器
- 05搜索和命令面板
- 06跨标签页和设备实时同步
适用场景
- 01按项目和优先级整理任务
- 02在日历中安排任务并调整日期
- 03记录专注时段和习惯
- 04在不同设备间同步任务变更
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
当前产品范围
托管式 AI 和语义搜索已于 2026-10-18 停用。请参阅 docs/PUBLIC_CONTENT_FACTS.md 和 src/lib/product-availability.ts。以下较早的 AI 配置说明仅供参考。
First Light
云工程、隔离检查和发布门禁:运维工作流 | 优先级待办事项。
一个能让你安心完成任务的地方。任务、日历、习惯、番茄钟——随处同步。具备任务管理器级别的功能,可自托管,完全由你掌控。优先支持 Web;架构可自然扩展至移动端(Capacitor)和桌面端(Tauri / Electron),无需更改核心代码。
v1 包含的功能
- 身份验证 — 通过 Supabase 支持电子邮件/密码和魔法链接
- 智能视图 — 今天、明天、未来 7 天、收件箱
- 列表(项目),支持设置颜色
- 标签,从快速添加内容中自动提取(
#tag) - 快速添加,支持自然语言解析 —
"Email Sam tomorrow 9am #work !1 ~Inbox" - 优先级(4 个级别)
- 日历视图,支持拖动调整日程
- 番茄钟计时器,支持专注、短休息、长休息,并记录时段
- 习惯追踪器,带每周网格视图
- 艾森豪威尔矩阵(紧急程度 × 重要程度)
- 搜索 + 命令面板(
⌘K/Ctrl K) - 通过 Supabase Realtime 在标签页/设备间实时同步
- 深色 / 浅色主题
- PWA(可安装;离线外壳)
技术栈
- Next.js 14(App Router)+ TypeScript
- Tailwind CSS
- Supabase(Postgres + Auth + Realtime)
- TanStack Query(服务端状态)+ Zustand(UI 状态)
- @dnd-kit(拖放)
- date-fns + chrono-node
- lucide-react 图标
- next-themes、sonner
开始使用
1. 先决条件
- Node.js 18+ 和 npm
- 一个免费的 Supabase 项目
2. 安装
npm install
3. 创建 Supabase 数据库
- 前往 Supabase 项目 → SQL 编辑器
- 打开此仓库中的
supabase/migrations/0001_init.sql - 将其粘贴到 SQL 编辑器中并点击 Run
这将创建所有表、索引、RLS 策略,以及在新用户注册时创建个人资料和默认列表的触发器。还会为相关表启用 Realtime。
4. 配置环境
将 .env.example 复制为 .env.local 并填写:
NEXT_PUBLIC_SUPABASE_URL=https://YOUR-PROJECT.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=YOUR-ANON-KEY
# Optional — enables AI features (Daily Edition, Weekly Retro, LLM quick-add,
# Smart Eisenhower). The app works without this; AI features are skipped.
ANTHROPIC_API_KEY=sk-ant-...
你可以在 Supabase → Project Settings → API 下找到 Supabase 密钥。在 https://console.anthropic.com/ 获取 Anthropic 密钥。
AI 功能
设置 ANTHROPIC_API_KEY 后,应用将启用以下功能:
- 每日简报 — 在“今天”页面以沉静的杂志风格呈现每日晨间编辑简报。按用户和本地日期在服务端缓存。
- 每周回顾(
/app/retro)— 上周回顾:完成了什么、哪些计划延误了,以及哪些事情值得放弃。 - 大模型快速添加解析器 — 提交时,快速添加和每一行内嵌的“添加任务”都会运行 Claude Haiku 解析;如果解析失败,则回退到现有的 chrono-node 解析器。可理解更丰富的自然语言(“外出活动前的那个星期五”“看完牙医后、接孩子前”)。
- 智能艾森豪威尔矩阵 — 矩阵页面上的
AI · suggest按钮会为看起来归类不当的任务建议调整;支持一键应用。 - 语音录入 — 每个“添加任务”输入框上都有麦克风按钮。使用浏览器内置的
webkitSpeechRecognition(无需 API 密钥,也不会与服务器往返通信)。 - 防止过载横幅 — 如果当天任务超出每日容量(默认 4h),“今天”视图会明确提醒,并提供将优先级最低的任务延期的选项。
成本经过控制:解析和象限分类使用 Haiku,编辑简报使用 Sonnet;每日和每周输出均会缓存。
5. 运行
npm run dev
打开 http://localhost:3000 — 注册后即可开始使用。
键盘快捷键
| 快捷键 | 操作 |
|---|---|
⌘K / Ctrl K | 命令面板 / 搜索 |
q | 快速添加任务 |
Esc | 关闭任何已打开的对话框 |
快速添加语法
Email Sam tomorrow 9am #work !1 ~Inbox
| 标记 | 含义 |
|---|---|
| 自由文本 | 任务标题 |
tomorrow 9am、next monday、in 2 days | 截止日期/时间(chrono-node) |
#tag | 添加标签(不存在时会创建) |
!1–!4 | 优先级:1 = 高,2 = 中,3 = 低,4 = 无 |
~ListName | 路由到列表(不存在时会创建) |
部署到 Vercel
- 将此文件夹推送到 GitHub。
- 在 Vercel 中导入 → 设置相同的环境变量。
- 将生产环境 URL 添加到 Supabase → Authentication → URL Configuration:
- 站点 URL:
https://yourdomain.com - 重定向 URL:
https://yourdomain.com/auth/callback
- 站点 URL:
就这么简单——任何能打开此 URL 的设备都能实现流畅的云同步。
添加 PWA 图标(可选,但建议添加)
在 public/icons/ 中放入两张 PNG 图片:
icon-192.png(192 × 192)icon-512.png(512 × 512)
任何图案都可以——清单文件会引用它们。(你可以使用 realfavicongenerator.net 等工具,根据任意徽标快速生成图标。)
路线图 — 待开发功能
这是一个强大的 v1 版本。仍有一些重要的任务管理功能待开发:
- 循环任务(接入 RRULE——数据库列已存在;还需 UI 编辑器和完成时生成任务)
- 提醒/推送通知(Web Push + Service Worker 调度)
- 子任务 UI(数据表列已存在)
- 每个列表的看板视图(
projects.view_mode已存在) - 时间线/Gantt 视图
- 共享与协作者(添加
members表 + RLS) - 附件(Supabase Storage)
- 智能列表/已保存筛选器
- 批量编辑、多选
- 便笺小组件、专注统计仪表板
- 从 TickTick / Todoist / Apple Reminders / Google Tasks 导入
- 从电子邮件快速捕获(Postmark 入站解析)
扩展到其他设备
你选择了“以后再决定”——准备好时,可以轻松按以下方式扩展:
- PWA — 已启用。在移动版 Chrome / iOS Safari 中访问 →“添加到主屏幕”。完成。
- 原生 iOS/Android — 使用 Capacitor 封装:
npx cap init && npx cap add ios && npx cap add android。Web 应用可在封装中原样运行;你只需为推送通知等功能添加原生插件。 - 原生桌面应用 — 使用 Tauri 或 Electron 封装。使用相同的 Web 包。
- 纯原生重写 — 重写后会替换此 UI,但 Supabase、架构、RLS 和实时通道布局都会保持原样。
项目布局
first-light/
├── middleware.ts
├── next.config.mjs
├── package.json
├── tailwind.config.ts
├── tsconfig.json
├── public/
│ ├── manifest.webmanifest
│ ├── sw.js
│ └── icons/ # add icon-192.png and icon-512.png
├── supabase/
│ └── migrations/0001_init.sql
└── src/
├── app/
│ ├── layout.tsx
│ �
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。