成就追踪服务

一个通过AI助手自动记录日常微成就并将其游戏化的MCP服务器服务。

  • by lgscvb
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 lgscvb/levelup-log

使用说明

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
  1. 在AI工具中安装MCP服务器
  2. 首次使用会触发Google OAuth登录
  3. 你的人工智能助手记录你工作和生活中的成就
  4. 访问您的个人资料页面查看您的进度

成就类别

类别 重要的是什么
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 + Vercel

MCP工具

工具 说明
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密钥)

许可证

麻省理工学院