https://github.com/haveniceda/my-notion
基于现代前端与 AI 技术栈构建的个性化 Notion 应用
https://github.com/haveniceda/my-notion
agent ai blocknote convex langchain mcp monorepo nextjs node notion playwright pnpm rag react reactnative shadcn-ui tailwindcss typescript vercel vitest
Last synced: about 22 hours ago
JSON representation
基于现代前端与 AI 技术栈构建的个性化 Notion 应用
- Host: GitHub
- URL: https://github.com/haveniceda/my-notion
- Owner: HaveNiceDa
- License: mit
- Created: 2026-01-17T12:50:45.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2026-07-03T03:31:26.000Z (4 days ago)
- Last Synced: 2026-07-05T20:03:35.157Z (about 23 hours ago)
- Topics: agent, ai, blocknote, convex, langchain, mcp, monorepo, nextjs, node, notion, playwright, pnpm, rag, react, reactnative, shadcn-ui, tailwindcss, typescript, vercel, vitest
- Language: TypeScript
- Homepage: https://notion-j9zj.vercel.app/
- Size: 10.3 MB
- Stars: 11
- Watchers: 0
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README
# My-Notion
定制化个人版 Notion。它不是单纯的编辑器 demo,而是一套把 Web 文档编辑、移动端工作区、AI Agent、RAG/Memory、CLI/Skills/MCP Agent 生态放在同一个 pnpm monorepo 里的完整工程。
**线上体验:**
## 项目概览
- **产品闭环完整**: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.md](./AGENTS.md)、[milestones/README.md](./milestones/README.md) |
| Web Agent / RAG / Memory | [apps/web/README.md](./apps/web/README.md)、[docs/ai-chat-refactor-plan.md](./docs/ai-chat-refactor-plan.md)、[docs/agent-stream-resume-protocol.md](./docs/agent-stream-resume-protocol.md) |
| Mobile 客户端路线 | [apps/mobile/README.md](./apps/mobile/README.md)、[docs/web-mobile-gap-analysis.md](./docs/web-mobile-gap-analysis.md) |
| CLI / MCP / Skills | [packages/my-notion-cli/README.md](./packages/my-notion-cli/README.md)、[packages/my-notion-mcp/README.md](./packages/my-notion-mcp/README.md)、[packages/my-notion-skills/README.md](./packages/my-notion-skills/README.md) |
## 项目入口
- [Web 应用说明](./apps/web/README.md):Next.js Web 端、BlockNote 编辑器、AI Agent、CLI 授权页和机器 API。
- [Mobile 应用说明](./apps/mobile/README.md):Expo 移动端、文档工作区、移动 AI Chat 和跨端共享架构。
- [My-Notion CLI](./packages/my-notion-cli/README.md):已发布 npm 包 [`@mynotion/cli`](https://www.npmjs.com/package/@mynotion/cli),提供 `my-notion` 命令。
- [My-Notion MCP Server](./packages/my-notion-mcp/README.md):独立 MCP STDIO server,提供 Agent 文档工具和 `my_notion_readme`。
- [My-Notion Skills](./packages/my-notion-skills/README.md):供 Agent 调用 CLI/MCP 的 Skills 源文件与同步规则。
- [里程碑索引](./milestones/README.md):稳定阶段结论和下一步路线。
- [Docs 索引](./docs/README.md):当前维护方案、操作手册、发布检查和外部 AI 参考入口。
- [Web / Mobile 差距](./docs/web-mobile-gap-analysis.md):当前双端能力差距和后续 backlog。
## 核心能力
- **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/ai`、`packages/business`、`packages/convex` 收敛 AI、业务状态、i18n、Convex schema 和文档逻辑。
- **验证链路**:覆盖 Web typecheck/build/lint、Agent 单测、AI smoke、CLI E2E、MCP E2E、Skills 漂移检查和 npm pack/publish 验证。
## 架构总览
```text
用户 / 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 # 文件与图片存储
```
## 目录结构
```text
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
```
## 快速开始
```bash
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`](https://www.npmjs.com/package/@mynotion/cli)。
```bash
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 场景使用:
```bash
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`。
## 常用验证
```bash
# 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](./docs/agent-stream-resume-protocol.md)。
- 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`](https://www.npmjs.com/package/@mynotion/cli) 与 [`@mynotion/mcp@0.1.3`](https://www.npmjs.com/package/@mynotion/mcp) 已发布到 `latest`;稳定版发布前参考 [CLI Release Checklist](./docs/my-notion-cli-release-checklist.md) 和 [MCP Release Checklist](./docs/my-notion-mcp-release-checklist.md)。