Skip to content

HaveNiceDa/My-Notion

Repository files navigation

My-Notion

定制化个人版 Notion。它不是单纯的编辑器 demo,而是一套把 Web 文档编辑、移动端工作区、AI Agent、RAG/Memory、CLI/Skills/MCP Agent 生态放在同一个 pnpm monorepo 里的完整工程。

线上体验: https://notion-j9zj.vercel.app/

项目概览

  • 产品闭环完整:Web 编辑器、移动端工作区、AI 侧边栏、文档树、发布、收藏、归档、回收站都在同一个业务系统里。
  • Agent 工程化充分:Web Agent 已覆盖 ReAct Loop、RAG、Memory、文档读写 dry-run、确认式写入、Plan、流式续跑和 tool result 契约。
  • 外部 Agent 可用@mynotion/cli@mynotion/mcp 和 Skills 已形成独立使用链路,支持外部 Agent 安全读写 My-Notion 文档。
  • 跨端架构清晰:Web 和 Mobile 共享 AI、业务状态、Convex schema 与文档逻辑,移动端正在补齐 Agent Stream、弱网恢复和编辑器深水区。

快速入口

关注方向 文档
项目全貌和当前状态 本 README、AGENTS.mdmilestones/README.md
Web Agent / RAG / Memory apps/web/README.mddocs/ai-chat-refactor-plan.mddocs/agent-stream-resume-protocol.md
Mobile 客户端路线 apps/mobile/README.mddocs/web-mobile-gap-analysis.md
CLI / MCP / Skills packages/my-notion-cli/README.mdpackages/my-notion-mcp/README.mdpackages/my-notion-skills/README.md

项目入口

核心能力

  • Web 文档编辑:Next.js + Convex + Clerk + BlockNote,支持文档树、编辑器 AI、公开预览、收藏、归档、回收站和设置页。
  • Web Agent:ReAct Loop、结构感知 RAG、Memory MVP、联网搜索、网页抽取、文档读写 dry-run、确认式写入、task_plan、受控 MCP adapter、tool-result-v1 契约和流式续跑可用闭环。
  • Mobile 工作区:Expo + React Native,支持移动文档树、文档编辑、AI Chat、会话管理、模型选择、深度思考展示和安全代理。
  • CLI / Skills / MCP@mynotion/cli@latest 负责浏览器 Device Flow 登录、文档 CRUD、导入导出和随包发布的 Agent Skills;@mynotion/mcp 独立提供 MCP STDIO 工具。
  • 共享包packages/aipackages/businesspackages/convex 收敛 AI、业务状态、i18n、Convex schema 和文档逻辑。
  • 验证链路:覆盖 Web typecheck/build/lint、Agent 单测、AI smoke、CLI E2E、MCP E2E、Skills 漂移检查和 npm pack/publish 验证。

架构总览

用户 / Agent
  ├─ Web UI: apps/web
  ├─ Mobile UI: apps/mobile
  ├─ CLI: @mynotion/cli / packages/my-notion-cli
  ├─ MCP: @mynotion/mcp / packages/my-notion-mcp
  └─ Skills: packages/my-notion-skills

共享包
  ├─ packages/ai        # RAG、Embedding、Agent、AI 配置
  ├─ packages/business  # Zustand、i18n、共享类型和工具函数
  ├─ packages/convex    # Convex schema、文档、Chat、CLI Token 逻辑
  └─ packages/my-notion-agent-tools # CLI/MCP 内部共享 Machine API client 和 Agent 工具契约

后端与服务
  ├─ Convex             # 实时数据库 + HTTP Actions / Machine API
  ├─ Clerk              # 登录认证
  ├─ Qdrant             # 向量数据库
  ├─ DashScope          # LLM、Embedding、工具调用
  └─ EdgeStore          # 文件与图片存储

目录结构

My-Notion/
├── apps/
│   ├── web/                    # Next.js Web 应用
│   └── mobile/                 # Expo 移动应用
├── packages/
│   ├── ai/                     # AI、RAG、Embeddings、Agent 服务端逻辑
│   ├── business/               # Zustand Stores、i18n、类型、工具函数
│   ├── convex/                 # Convex Schema、Documents、Chat、CLI Token 逻辑
│   ├── my-notion-agent-tools/  # CLI/MCP 内部共享 Machine API client 和 Agent 工具契约
│   ├── my-notion-cli/          # @mynotion/cli 源码与 npm 包内容
│   ├── my-notion-mcp/          # @mynotion/mcp 独立 MCP STDIO server
│   └── my-notion-skills/       # Agent Skills 源文件
├── docs/                       # 当前方案、发布检查、AI 外部文档索引
├── milestones/                 # 稳定阶段结论
├── progress/                   # 压缩后的阶段进展记录
├── scripts/                    # E2E、skills sync、发布辅助脚本
└── .trae/skills/               # 同步后的本地 Agent Skills

快速开始

pnpm i

# Web
pnpm start:web

# Mobile
pnpm start:mobile

# 本地 RAG / Agent 调试通常需要先启动 Qdrant
docker compose -f my-notion-go/docker-compose.yml up -d qdrant

CLI / MCP Quick Start

CLI 已发布到 npm latest:@mynotion/cli

npm install -g @mynotion/cli@latest
npm install -g @mynotion/mcp@latest
npx skills add @mynotion/cli -y -g
my-notion install --check
my-notion config init
my-notion auth login

Agent 场景使用:

my-notion auth login --no-open
my-notion config init --check --format json
my-notion docs create --title "Agent Doc" --content-file /tmp/doc.md --format json
my-notion-mcp --transport stdio

约定:Agent 必须把授权 URL 以 Markdown 可点击链接发给用户;写入已有文档优先使用 append;MCP 写工具默认保持 dryRun: true

常用验证

# Web
pnpm --filter @notion/web typecheck
pnpm --filter @notion/web lint
pnpm --filter @notion/web build
pnpm ci:ai-smoke

# CLI / MCP / Skills
pnpm --filter @mynotion/cli test
pnpm --filter @mynotion/cli typecheck
pnpm --filter @mynotion/cli build
pnpm e2e:cli
pnpm e2e:cli:errors
pnpm e2e:mcp
pnpm e2e:mcp:client
pnpm sync:skills
pnpm sync:skills:package
pnpm sync:skills:check

# 全局
pnpm test
pnpm exec playwright test

当前主线

  • P0:Web Agent 基础操作闭环已完成,覆盖 ReAct、RAG、Memory、文档读写 dry-run、确认式写入、Plan 模式、受控 MCP adapter、tool-result-v1、强类型 sources 和流式续跑;续跑协议见 Agent Stream Resume Protocol
  • P0:Agent 交互治理已收口,包含生成中禁用确认型 tool 操作、发送后滚动收口、Memory 保存反馈、document_write 空白文档预览、MCP docs_fetch ID 防护,以及 Convex/Clerk 短时不可用时的主链路降级。
  • P0:独立 @mynotion/mcp 已拆出并发布,CLI 保留兼容入口;CLI/MCP 默认线上 prod,本地调试必须显式 --local
  • P1:Mobile 已接入 Agent Stream、checkpoint/resume 基础链路和当前文档上下文;下一步聚焦真机验证、正文图片上传、弱网恢复和移动编辑器复杂 block 降级。
  • P2:Harness、Trace Replay、Storybook、Memory/RAG 真实质量评估继续后置。
  • 发布:@mynotion/cli@0.1.2@mynotion/mcp@0.1.3 已发布到 latest;稳定版发布前参考 CLI Release ChecklistMCP Release Checklist

Releases

No releases published

Packages

 
 
 

Contributors