LevelUp.log
把你的日常琐事变成一场游戏。一个用于人工智能助手的MCP服务器,在对话之间默默地记录你的微成就。
“我今天做了很多,但感觉什么都没做。” --听起来很熟悉?LevelUp.log修复了这个问题。
快速开始
npx @levelup-log/mcp-server init自动检测您的AI工具(Claude Desktop、Claude Code、Cursor、Windsurf),并在一个命令中配置MCP。
这是什么?
LevelUp.log是一个 主控程序 (模型上下文协议)服务器。安装后,您的AI助手会自动将日常活动转化为游戏风格的成就:
- 编写代码+50 XP——“Bug杀手”
- 照顾孩子?+30经验值——“育儿英雄”
- 去跑步了?+25经验值——“晨战士”
- 学到了新东西+40 XP——“知识探索者”
你的年龄就是你的等级(28岁=28级)。XP解锁游戏,爬上排行榜,并为您的年度回顾提供动力。
为什么选择MCP?
传统的习惯追踪器之所以失败,是因为 录制本身就是一件苦差事使用MCP,日志记录是对话的副产品。只需像往常一样与你的人工智能助手交谈——成就会自动下降,就像RPG中的战利品一样。
零摩擦。纯多巴胺。
特性
| 特性 | 描述 |
|---|---|
| 成就 | 15个类别(代码、生活、健康、学习、创意……) |
| XP系统 | 每项成就5-500 XP,累计+每年+季节 |
| 级别系统 | 年龄=级别。生日当天自动“升级” |
| 标题 | 15个标题(常见→ 传奇),满足条件时自动解锁 |
| 条纹 | 每日条纹跟踪。你的AI教练不会让你打破它 |
| 排行榜 | 赛季/月度/历史排名 |
| 公众简介 | /u/yourname --分享你的成就页面 |
| AI教练 | 不是空洞的赞美——对个性的具体认可 |
运作原理
You talk to AI → AI detects an achievement → MCP records it → XP + title check
→ Streak update
→ Leaderboard sync- 在AI工具中安装MCP服务器
- 首次使用会触发Google OAuth登录
- 你的人工智能助手记录你工作和生活中的成就
- 访问您的个人资料页面查看您的进度
成就类别
| 类别 | 重要的是什么 |
|---|---|
code | 编写代码、运输功能 |
fix | Bug修复 |
deploy | 部署、发布 |
test | 编写测试 |
docs | 文件 |
refactor | 代码重构 |
review | 代码审查 |
learn | 学习新东西 |
ops | DevOps,基础设施 |
milestone | 主要里程碑 |
life | 日常生活(育儿、跑腿、家务) |
health | 运动、饮食、医疗 |
finance | 预算、储蓄、投资 |
social | 帮助他人,聚会 |
creative | 写作、绘画、制作视频 |
技术栈
Monorepo (pnpm + Turborepo)
├── MCP Server — TypeScript + @modelcontextprotocol/sdk ^1.27.0 + Zod 4
├── Frontend — Next.js 15 (App Router) + Tailwind CSS v4 + @supabase/ssr
├── Backend — Supabase (PostgreSQL + Edge Functions + Auth)
└── CI/CD — GitHub Actions + VercelMCP工具
| 工具 | 说明 |
|---|---|
record_achievement | 记录成就(类别、标题、描述,XP 5-500) |
get_my_stats | 查看级别、总XP、年度XP、连胜、活动标题 |
get_recent | 最近的成就(按类别/天数/计数筛选) |
check_unlocks | 检查新解锁的标题+下一个标题的进度 |
leaderboard | 根据您的位置排名(季节/每月/历史) |
手动设置
添加到MCP配置文件中:
{
"mcpServers": {
"levelup-log": {
"command": "npx",
"args": ["-y", "@levelup-log/mcp-server@latest", "serve"]
}
}
}配置文件位置:
- 克劳德桌面版:
~/Library/Application Support/Claude/claude_desktop_config.json(macOS) - 克劳德代码:
~/.claude/settings.json - 光标:
~/.cursor/mcp.json - 帆板运动:
~/.windsurf/mcp.json
项目结构
levelup-log/
├── packages/
│ ├── mcp-server/ # npm: @levelup-log/mcp-server
│ │ ├── src/server.ts # 5 MCP tools + 1 prompt
│ │ ├── src/auth/ # OAuth + PKCE + keychain
│ │ ├── src/init/ # npx init setup wizard
│ │ ├── src/utils/ # API, config, rate-limiter, logger
│ │ └── tests/ # 41 Vitest tests
│ └── web/ # Next.js 15 frontend
│ └── src/app/ # 9 routes (home, login, dashboard, leaderboard, profile...)
├── supabase/
│ ├── migrations/ # 9 tables + RLS + Triggers
│ ├── functions/ # 5 Edge Functions
│ └── seed.sql # 15 seed titles
└── .github/workflows/ # CI + npm publish发展
先决条件
- Node.js>=20
- pnpm 10+
- Supabase CLI(用于本地开发)
命令
pnpm install # Install dependencies
pnpm dev # Start all packages in dev mode
pnpm build # Build all packages
pnpm test # Run all tests每个包裹
# MCP Server
cd packages/mcp-server
pnpm dev # tsx watch mode
pnpm test # vitest (41 tests)
pnpm inspect # MCP Inspector
# Frontend
cd packages/web
pnpm dev # next dev --turbopack
pnpm build # next build环境变量
# Frontend (packages/web)
NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJ...
# MCP Server: anon key is hardcoded in config.ts (public key, safe to embed)部署
| 组件 | 平台 |
|---|---|
| 前端 | Vercel(自动构建 packages/web) |
| 后端 | Supabase(托管) |
| MCP服务器 | npm(@levelup-log/mcp-server) |
| CI | GitHub操作 |
npm发布
git tag mcp-server@0.1.0
git push --tags
# GitHub Actions auto-publishes to npm安全
- 三层速率限制:本地60秒冷却→ 边缘功能20/hr→ 数据库RLS
- 认证:谷歌OAuth+PKCE流,令牌存储在本地
~/.levelup/credentials.json - RLS:绑定到的所有数据库操作
auth.uid()--用户只能访问自己的数据 - 消毒:边缘功能在存储前过滤敏感模式(电子邮件、IP、API密钥)
许可证
麻省理工学院
