[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-83040":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":8,"htmlUrl":8,"language":9,"languages":8,"totalLinesOfCode":8,"stars":10,"forks":11,"watchers":12,"openIssues":13,"contributorsCount":13,"subscribersCount":13,"size":13,"stars1d":13,"stars7d":13,"stars30d":13,"stars90d":13,"forks30d":13,"starsTrendScore":13,"compositeScore":14,"rankGlobal":8,"rankLanguage":8,"license":15,"archived":16,"fork":16,"defaultBranch":17,"hasWiki":18,"hasPages":18,"topics":19,"createdAt":8,"pushedAt":8,"updatedAt":20,"readmeContent":21,"aiSummary":22,"trendingCount":13,"starSnapshotCount":13,"syncStatus":23,"lastSyncTime":24,"discoverSource":25},83040,"my-second-brain1","Takalahiro\u002Fmy-second-brain1","Takalahiro",null,"Svelte",102,32,25,0,4.56,"MIT License",false,"main",true,[],"2026-06-12 02:04:30","# My Second Brain\n\n[English README](.\u002FREADME.en.md) · [技术文档](.\u002Fdocs\u002FTECHNICAL_REPORT.md)\n\n个人知识库静态站点：将 Obsidian vault 发布为可浏览、可搜索的 Web 应用，并叠加 **桌面 OS 壳**（壁纸、小组件、控制中心）与 **浏览器内交互工具**（Python、数学实验室、神经网络、关系图谱等）。\n\n**在线演示：** [my-second-brain1.pages.dev](https:\u002F\u002Fmy-second-brain1.pages.dev)  \n**当前版本：** 1.5.0 · **协议：** [MIT](.\u002FLICENSE)\n\n---\n\n## 目录\n\n- [项目概述](#项目概述)\n- [功能一览](#功能一览)\n- [技术栈](#技术栈)\n- [系统架构大纲](#系统架构大纲)\n- [快速开始](#快速开始)\n- [仓库结构](#仓库结构)\n- [路由与页面](#路由与页面)\n- [核心模块说明](#核心模块说明)\n- [UI 皮肤（13 套）](#ui-皮肤13-套)\n- [桌面小组件](#桌面小组件)\n- [常用命令](#常用命令)\n- [部署](#部署-cloudflare-pages)\n- [模型与体积约束](#模型与体积约束)\n- [文档索引](#文档索引)\n- [复现所需知识](#复现所需知识)\n- [开源协议](#开源协议)\n- [贡献](#贡献)\n\n---\n\n## 项目概述\n\n本项目采用 **静态站点生成（SSG）+ 客户端岛屿（Islands）** 架构：\n\n| 维度 | 方案 |\n|------|------|\n| 内容 | Obsidian vault（git submodule）在 **构建期** 编译为 HTML |\n| 交互 | Svelte 5 组件在浏览器 **按需加载**（图谱、ML、Pyodide、3DGS 等） |\n| 后端 | **无自建后端**；运行时只读 JSON + localStorage |\n| 部署 | Cloudflare Pages 静态托管 |\n\n与常见静态博客或 3D 演示站的区别：\n\n- **知识库 + 个人 OS 壳** 共用同一域名与状态持久化\n- **3D Gaussian Splatting** 作为全屏环境壁纸，而非独立漫游查看器\n- **13 套 UI 皮肤**，其中 11 套沉浸式主题带 NASA-punk 风格任务 chrome（状态条、CLI 搜索、滚动高度计）\n- **统一设计系统**：语义 CSS 变量 + 子页面与首页 mac 皮肤对齐（配色 \u002F 字体 \u002F 间距 \u002F 圆角 \u002F 阴影）\n- 多种 GPU \u002F Worker 计算栈在同一 SPA 内通过 Tab 级与 visibility 级 **资源仲裁** 共存\n\n---\n\n## 功能一览\n\n### 知识库（PKM）\n\n- Obsidian Markdown → 静态笔记页（`\u002Fnotes\u002F*`）\n- Wiki 双链 `[[page]]`、Callout、`![[image]]` 嵌入\n- KaTeX 数学、Mermaid 图表、GFM 表格\n- 反向链接、大纲、标签 \u002F 文件夹浏览\n- 构建期双链图 → 关系图谱 Explorer\n\n### 桌面 OS 壳\n\n- 可拖拽、可缩放、状态持久化的小组件层\n- 三模互斥壁纸：**视频 \u002F 海报 \u002F 3DGS 点云**\n- HUD 专属 Canvas 实时壁纸（星场、星云、视差）\n- 控制中心：小组件开关、壁纸设置、UI 皮肤切换、Spotlight 搜索\n- 氛围层：雨滴、樱花、白噪音、全局静音\n\n### 浏览器内工具\n\n| 工具 | 路径 | 技术要点 |\n|------|------|----------|\n| Python IDE | `\u002Fpython` | Pyodide + `sys.settrace` + AST 逐步解释 |\n| 数学计算器 | `\u002Fmatlab` | 矩阵 \u002F 微积分 \u002F 离散 \u002F 统计 \u002F 表达式 |\n| 神经网络实验室 | `\u002Fdigits` | TF.js MNIST + Three.js 3D 可视化 |\n| 公式 OCR + 求解 | `\u002Fdigits?demo=formula` | Transformers.js FormulaNet + Pyodide SymPy |\n| 关系图谱 | `\u002Fgraph` | Cytoscape.js 多视图布局 |\n| 白板 | `\u002Fwhiteboard` | Excalidraw 嵌入 |\n| 教学中心 | `\u002Fteaching` | 微积分等课程模块入口 |\n\n### 笔记页工具（独立于桌面）\n\n在 `\u002Fnotes\u002F*`、`\u002Ffolder\u002F*`、`\u002Ftags\u002F*` 可通过 FAB 侧栏启用 Python、MATLAB、白板，状态键 `second-brain:notes-tools` 与桌面小组件分离。\n\n---\n\n## 技术栈\n\n### 核心框架\n\n| 层级 | 技术 | 版本 \u002F 说明 |\n|------|------|-------------|\n| 元框架 | [Astro](https:\u002F\u002Fastro.build\u002F) | 6.x — SSG、Content Collections、MDX |\n| 交互 UI | [Svelte](https:\u002F\u002Fsvelte.dev\u002F) | 5.x — Runes（`$state` \u002F `$derived` \u002F `$effect`） |\n| 样式 | [Tailwind CSS](https:\u002F\u002Ftailwindcss.com\u002F) | 4.x — `@tailwindcss\u002Fvite` |\n| 语言 | TypeScript | 6.x |\n| 包管理 | pnpm | 11.x（见 `packageManager` 字段） |\n| 运行时 | Node.js | ≥ 22.12（`.nvmrc` → 22.22.0） |\n\n### 内容与 Markdown 管道\n\n| 能力 | 依赖 \u002F 模块 |\n|------|-------------|\n| Wiki 双链 | `remark-wiki-link` |\n| Obsidian Callout | `remark-obsidian-callout` |\n| 图片嵌入 `![[…]]` | 自研 `remark-obsidian-image.mjs` |\n| 数学公式 | `remark-math` + `remark-normalize-math.mjs` + `rehype-katex` |\n| Mermaid | `remark-mermaid.mjs` + `mermaid@11` |\n| 标题锚点 | `rehype-slug` + `rehype-autolink-headings` |\n| 表格外包 | `rehype-wrap-tables.mjs` |\n| 代码高亮 | Astro 内置 Shiki |\n\n### 交互、可视化与计算\n\n| 模块 | 技术 |\n|------|------|\n| 关系图谱 | Cytoscape.js、自研多视图布局（力导向 \u002F 径向 \u002F 聚类 \u002F 领地地图） |\n| 矩阵 \u002F 表达式 | `mathjs`、`fraction.js`、自研分步行化简引擎 |\n| 手写数字 CNN | TensorFlow.js、Three.js（3D 可视化） |\n| 3DGS 环境壁纸 | `@mkkellogg\u002Fgaussian-splats-3d`、Three.js、`spatial-camera.ts` |\n| HUD Canvas 壁纸 | 自研 `hud-wallpaper-engine.ts`（Canvas 2D） |\n| 公式 OCR | `@huggingface\u002Ftransformers`（FormulaNet）、Web Worker |\n| 符号求解 | Pyodide + SymPy（`formula-solver.py`） |\n| Python IDE | Pyodide + `sys.settrace` + Python `ast` |\n| 白板 | Excalidraw（嵌入） |\n| 图标 | Lucide + 自研 PixelIcon（字体绑定双图标） |\n| 国际化 | 自研 i18n（`zh` \u002F `en`） |\n\n### 部署与运维\n\n| 项目 | 方案 |\n|------|------|\n| 托管 | Cloudflare Pages → `dist\u002F` |\n| 缓存 | `public\u002F_headers`（HTML 短缓存 \u002F 静态资源长缓存） |\n| 笔记源 | Git Submodule `obsidian-vault` |\n| 体积审计 | `pnpm check:25mib`（单文件 ≤ 25 MiB） |\n| 路由自检 | `pnpm check:self`（Playwright 冒烟） |\n\n---\n\n## 系统架构大纲\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│  路由层：pages\u002F（Astro）— index \u002F notes \u002F graph \u002F tools …    │\n├─────────────────────────────────────────────────────────────┤\n│  布局层：layouts\u002F — BaseLayout \u002F DesktopLayout \u002F ToolLayout │\n│  设计系统：theme-tokens.css + design-system.css + ui\u002F 组件   │\n├─────────────────────────────────────────────────────────────┤\n│  UI 层：WidgetHost \u002F NotesToolHost \u002F 笔记组件 \u002F 工具页       │\n├─────────────────────────────────────────────────────────────┤\n│  皮肤层：features\u002Fui — 13 skins + Skin Chrome 任务 chrome    │\n├─────────────────────────────────────────────────────────────┤\n│  状态层：localStorage — widgets \u002F notes-tools \u002F ui-skin \u002F bg │\n├─────────────────────────────────────────────────────────────┤\n│  壁纸层：BackgroundLayer — video | poster | 3DGS | HUD      │\n├─────────────────────────────────────────────────────────────┤\n│  构建期数据：wikilinks.json \u002F stats.json \u002F media-manifest    │\n├─────────────────────────────────────────────────────────────┤\n│  内容源：obsidian-vault（git submodule）→ Content Collections │\n└─────────────────────────────────────────────────────────────┘\n```\n\n**构建流水线（每次 `dev` \u002F `build` 前）：**\n\n```\npnpm prepare:vault\n  → 校验 obsidian-vault submodule\n  → 同步 vault-assets → public\u002Fvault-assets\u002F\n  → 生成 notes-mtime.json \u002F stats.json \u002F wikilinks.json \u002F media-manifest.json\n  → Astro Content Layer 读取 **\u002F*.md → remark\u002Frehype → 静态 HTML\n```\n\n详细设计见 **[docs\u002FTECHNICAL_REPORT.md](.\u002Fdocs\u002FTECHNICAL_REPORT.md)**。\n\n---\n\n## 快速开始\n\n```bash\ngit clone --recursive https:\u002F\u002Fgithub.com\u002FTakalahiro\u002Fmy-second-brain1.git\ncd my-second-brain1\npnpm install\npnpm dev    # http:\u002F\u002Flocalhost:4321\n```\n\n```bash\npnpm build          # 生产构建 → dist\u002F\npnpm preview        # 本地预览\npnpm check:25mib    # 校验 git 跟踪文件 ≤ 25 MiB\npnpm check:self http:\u002F\u002Flocalhost:4321   # 路由自检（需 preview 运行中）\n```\n\n> **注意：** 必须使用 `--recursive` 克隆以拉取 `obsidian-vault` 子模块；Cloudflare Pages 部署需开启 **Include git submodules**。\n\n---\n\n## 仓库结构\n\n```\nmy-second-brain\u002F\n├── astro.config.mjs          # Markdown 插件链、Vite manualChunks 分包\n├── package.json              # v1.5.0\n├── obsidian-vault\u002F           # git submodule — 笔记源\n├── public\u002F\n│   ├── models\u002Fmnist\u002F         # TF.js LeNet 权重（~879 KB）\n│   ├── ply\u002F                  # 3DGS 场景（*.sog 入库；*.ply 部署时放入）\n│   ├── video\u002F picture\u002F music\u002F # 壁纸与媒体资源\n│   ├── vault-assets\u002F         # 构建期从 vault 同步的图片\n│   └── _headers              # Cloudflare 缓存策略\n├── scripts\u002F                  # 构建、vault 同步、3DGS 转换、自检\n├── docs\u002F                     # 技术文档、Vault 同步、双链报告\n└── src\u002F\n    ├── content.config.ts     # notes Content Collection\n    ├── pages\u002F                # Astro 路由\n    │   ├── index.astro       # 桌面首页\n    │   ├── notes\u002F folder\u002F tags\u002F\n    │   ├── graph\u002F python\u002F matlab\u002F digits\u002F whiteboard\u002F teaching\u002F\n    │   └── data\u002F             # JSON API（notes \u002F wikilinks \u002F media）\n    ├── layouts\u002F              # BaseLayout \u002F DesktopLayout \u002F ToolLayout\n    ├── components\u002F\n    │   ├── ui\u002F               # UiButton \u002F UiCard \u002F UiTag \u002F UiInput\n    │   ├── ThemeBoot.astro   # 主题\u002F字体预水合（全站子页）\n    │   ├── widgets\u002F          # WidgetHost、18 种小组件、控制中心\n    │   ├── desktop\u002F          # MacMenuBar、SkinMissionStatus、MobileDock\n    │   ├── Notes\u002F graph\u002F python\u002F calculus\u002F matrix\u002F statistics\u002F discrete\u002F\n    │   ├── wallpaper\u002F        # HudWallpaper \u002F BackgroundPlyLayer\n    │   └── teaching\u002F         # TeachingHub\n    ├── features\u002F\n    │   ├── ui\u002F               # 皮肤注册、apply、chrome、effects\n    │   └── wallpaper\u002F        # GS3 渲染器、legacy AM15、mode 状态\n    ├── design-system\u002F        # pixel + structural 双轨 widget 实现\n    ├── lib\u002F                  # 引擎、ML、Markdown 插件、i18n、draggable\n    │   ├── theme\u002F            # readCssVar 等主题工具\n    │   ├── matrix\u002F calculus\u002F statistics\u002F discrete\u002F\n    │   ├── formula-recognizer\u002F python\u002F components\u002FDigitRecognizer\u002F\n    │   └── remark-*.mjs rehype-*.mjs\n    ├── data\u002F                 # 构建期生成的 JSON（wikilinks 等）\n    └── styles\u002F\n        ├── globals.css site-nav.css graph-canvas.css\n        ├── theme-tokens.css design-system.css\n        └── ui\u002F               # HUD chrome、skin-chrome、13 套 skins\u002F*.css\n```\n\n### 设计系统与主题\n\n子页面（笔记、工具、图谱等）与首页 mac 皮肤共用语义变量与组件类：\n\n| 层级 | 文件 | 说明 |\n|------|------|------|\n| 语义 Token | `src\u002Fstyles\u002Ftheme-tokens.css` | `--bg` \u002F `--surface` \u002F `--text` \u002F `--accent-*` \u002F 成功\u002F错误色 |\n| 布局与组件类 | `src\u002Fstyles\u002Fdesign-system.css` | `--space-*` \u002F `--shadow-*` \u002F `.ui-input` \u002F `.subpage-shell` |\n| 预水合 | `ThemeBoot.astro` | 深浅色、字体、`data-ui` 首屏前写入 |\n| Svelte 封装 | `src\u002Fcomponents\u002Fui\u002F` | UiButton \u002F UiCard \u002F UiTag \u002F UiInput |\n| 布局 | `BaseLayout` \u002F `ToolLayout` | `subpage-shell`、`tool-shell`；`wide` 全宽模式 |\n\n详见 [docs\u002Fsubpage-design-sync.md](docs\u002Fsubpage-design-sync.md) · [docs\u002Ftheme-color-audit.md](docs\u002Ftheme-color-audit.md)。\n\n---\n\n## 路由与页面\n\n| 路径 | 功能 |\n|------|------|\n| `\u002F` | 桌面首页（WidgetHost + MacMenuBar） |\n| `\u002Fnotes` | 笔记索引 |\n| `\u002Fnotes\u002F*` | 笔记详情（双链、大纲、反向链接） |\n| `\u002Ffolder\u002F*` | 按文件夹浏览 |\n| `\u002Ftags` `\u002Ftags\u002F*` | 标签索引与标签页 |\n| `\u002Fgraph` | 关系图谱 Explorer |\n| `\u002Fpython` | Python IDE（逐步解释） |\n| `\u002Fmatlab` | 数学计算器（矩阵 \u002F 微积分 \u002F 离散 \u002F 统计） |\n| `\u002Fdigits` | 神经网络实验室（MNIST） |\n| `\u002Fdigits?demo=formula` | 公式 OCR + SymPy 求解 |\n| `\u002Fformula` | 公式识别独立页 |\n| `\u002Fwhiteboard` | Excalidraw 白板 |\n| `\u002Fteaching` | 教学中心 |\n| `\u002Fdata\u002Fnotes.json` | 笔记元数据 API |\n| `\u002Fdata\u002Fwikilinks.json` | 双链图数据 API |\n| `\u002Fdata\u002Fmedia.json` | 媒体清单 API |\n\n---\n\n## 核心模块说明\n\n### 1. 笔记与 WikiLink\n\n```\nobsidian-vault\u002F**\u002F*.md\n  → remark-wiki-link（[[page]] → \u002Fnotes\u002F{slug}）\n  → remark-obsidian-image（![[img]] → \u002Fvault-assets\u002F…）\n  → remark-normalize-math → rehype-katex\n  → remark-mermaid → 静态 HTML + Backlinks\n```\n\n已存在笔记 → 蓝色链接；未创建目标 → 红色「待建链」。\n\n### 2. Python IDE（`\u002Fpython`）\n\n```\n用户代码 → Pyodide run_traced()\n  → sys.settrace 捕获 line\u002Fcall\u002Freturn\n  → ast.parse 按语句类型生成中文说明（非 LLM）\n  → JSON steps → PythonStepPanel 逐步播放\n```\n\n### 3. 神经网络实验室（`\u002Fdigits`）\n\n**MNIST：** 280×280 画板 → 双路预处理 → TF.js LeNet → SVG \u002F 2D \u002F Three.js 3D 可视化  \n**FormulaNet：** Web Worker + Transformers.js OCR → LaTeX → Pyodide SymPy 求解  \n**资源仲裁：** 切换 Formula Tab 时释放 TF.js GPU，避免与 OCR Worker 争抢 WebGPU。\n\n### 4. MATLAB 计算器（`\u002Fmatlab`）\n\n| Tab | 实现 |\n|-----|------|\n| 矩阵 | 分步行化简（`src\u002Flib\u002Fmatrix\u002F`）+ KaTeX |\n| 微积分 | 符号步进 + Canvas 2D 曲线 |\n| 离散数学 | 逻辑表达式 + 真值表 |\n| 统计学 | 分布采样、假设检验步骤 |\n| 表达式 | `mathjs` 求值与函数绘图 |\n\n### 5. 关系图谱（`\u002Fgraph`）\n\n构建期 `build-wikilinks.mjs` 扫描全部 `[[wikilink]]` → `wikilinks.json`。  \n`GraphExplorer` 提供力导向、径向、聚类、领地地图等视图，纯前端渲染。\n\n### 6. 三模壁纸 + 3DGS\n\n| 模式 | 表现 |\n|------|------|\n| `video` | 循环 MP4（可选雨天变体） |\n| `poster` | 静态场景海报 |\n| `ply` | 3D Gaussian Splatting 全屏环境壁纸 |\n\n```\npublic\u002Fply\u002F{scene}.sog（manifest 索引）\n  → splatAssetUrl() 映射 .ply\n  → @mkkellogg\u002Fgaussian-splats-3d Viewer\n  → spatial-camera（陀螺仪 \u002F 鼠标视差）\n  → gs-wallpaper.css（羽化 \u002F 柔焦 \u002F visionOS 毛玻璃联动）\n```\n\n大 PLY（~63 MiB）不入 git；部署时放入 `public\u002Fply\u002F`。详见 [docs\u002FTECHNICAL_REPORT.md §5](.\u002Fdocs\u002FTECHNICAL_REPORT.md)。\n\n---\n\n## UI 皮肤（13 套）\n\n控制中心 → **UI 切换** 可即时预览并持久化到 `second-brain:ui-skin`。\n\n| ID | 名称 | 类型 | 特征 |\n|----|------|------|------|\n| `mac` | Classic Mac | 经典 | SF 风格圆角、原生菜单栏 |\n| `glass` | Liquid Glass | 经典 | visionOS 毛玻璃、半透明 |\n| `pixel` | Game Boy | 沉浸式 | 像素绿、RPG 式状态条与 XP 高度计 |\n| `hud` | NASA-punk HUD | 沉浸式 | Canvas 实时壁纸、任务状态条、日全食 intro |\n| `blueprint` | 工程蓝图 | 沉浸式 | 蓝图网格、hover 尺寸标注 |\n| `scholar` | 学院手稿 | 沉浸式 | 羊皮纸、Garamond、装订线 |\n| `terminal` | 终端 CLI | 沉浸式 | 磷光绿、`:open` 搜索前缀 |\n| `crt` | CRT 复古 | 沉浸式 | 琥珀扫描线、轻微闪烁 |\n| `observatory` | 天文台 | 沉浸式 | 午夜星图、DEC 高度计 |\n| `herbarium` | 博物图鉴 | 沉浸式 | 标本网格、墨绿 |\n| `ink` | 水墨古籍 | 沉浸式 | 宣纸、印章标题 |\n| `rpg` | RPG 面板 | 沉浸式 | 金边技能框、XP 条 |\n| `spacecraft` | 太空舱 | 沉浸式 | ISS 舷窗、仪表蓝 |\n\n**沉浸式皮肤（11 套）** 共享 **Skin Chrome** 体系：\n\n- 22px 顶栏状态条（`SkinMissionStatus` — 每套独立 telemetry 文案）\n- 44px 完整菜单栏（导航 \u002F 主题 \u002F 语言 \u002F 时钟全保留）\n- 右侧滚动高度计（`SkinScrollIndicator`）\n- CLI 风格搜索前缀\n- 控制中心固定锚定在 **右侧**（`skin-chrome-layout.css`）\n\n源码：`src\u002Ffeatures\u002Fui\u002F`、`src\u002Fstyles\u002Fui\u002Fskins\u002F`、`src\u002Fstyles\u002Fui\u002Fskin-chrome-*.css`\n\n---\n\n## 桌面小组件\n\n由 `WidgetHost.svelte` 统一管理，持久化键 `second-brain:widgets`。\n\n| 小组件 | 说明 |\n|--------|------|\n| background | 壁纸层（video \u002F poster \u002F 3DGS） |\n| clock | 像素时钟（可拖拽、可固定） |\n| music | 本地音乐播放器 |\n| notes \u002F todo \u002F calendar | 笔记快捷、待办、日历 |\n| pomodoro \u002F weather \u002F stats | 番茄钟、天气、站点统计 |\n| world | 世界时钟 |\n| graph \u002F territory | 关系图谱、文件夹地图 |\n| calculator \u002F python \u002F whiteboard | MATLAB、Python、白板 |\n| whitenoise \u002F network | 白噪音、网络信息 |\n\n---\n\n## 常用命令\n\n| 命令 | 说明 |\n|------|------|\n| `pnpm dev` | 开发服务器（含 `prepare:vault`） |\n| `pnpm build` | 生产构建 → `dist\u002F` |\n| `pnpm preview` | 本地预览构建结果 |\n| `pnpm prepare:vault` | 单独运行 vault 同步与 JSON 生成 |\n| `pnpm vault:sync \"msg\"` | 提交并推送 vault 子模块 |\n| `pnpm vault:pull` | 拉取 vault 更新 |\n| `pnpm vault:audit` | vault 健康审计 |\n| `pnpm model:export-mnist` | 训练并导出 MNIST TF.js 模型 |\n| `pnpm check:25mib` | git 跟踪文件体积审计 |\n| `pnpm check:self \u003Curl>` | 路由与 JSON 端点自检 |\n\nVault 同步详见 [docs\u002FVAULT_SYNC.md](docs\u002FVAULT_SYNC.md)。\n\n---\n\n## 部署（Cloudflare Pages）\n\n| 配置项 | 值 |\n|--------|-----|\n| Build command | `pnpm build` |\n| Output directory | `dist` |\n| Node version | 22.x |\n| **Include git submodules** | **必须开启** |\n| 大 PLY 文件 | 部署后手动上传至 `public\u002Fply\u002F*.ply` |\n\n---\n\n## 模型与体积约束\n\n| 资产 | 位置 | 说明 |\n|------|------|------|\n| MNIST LeNet | `public\u002Fmodels\u002Fmnist\u002F` | 入库，~879 KB |\n| 3DGS PLY | `public\u002Fply\u002F*.ply` | **不入库**（~63 MiB\u002F场景），部署时上传 |\n| 3DGS SOG | `public\u002Fply\u002F*.sog` | manifest 索引，~10 MiB\u002F场景 |\n| FormulaNet | Hugging Face CDN | 运行时下载，~77 MiB |\n| SymPy | Pyodide CDN | 首次求解 ~10–20 MB |\n\n单文件 git 跟踪限制 **≤ 25 MiB**（Cloudflare Pages）。见 `scripts\u002Fcheck-25mib.mjs`。\n\n---\n\n## 文档索引\n\n| 文档 | 内容 |\n|------|------|\n| [docs\u002FTECHNICAL_REPORT.md](.\u002Fdocs\u002FTECHNICAL_REPORT.md) | 完整架构、模块设计、源码索引 |\n| [docs\u002Fsubpage-design-sync.md](.\u002Fdocs\u002Fsubpage-design-sync.md) | 子页面设计语言同步验收清单 |\n| [docs\u002Ftheme-color-audit.md](.\u002Fdocs\u002Ftheme-color-audit.md) | 硬编码色审计与迁移进度 |\n| [docs\u002FVAULT_SYNC.md](.\u002Fdocs\u002FVAULT_SYNC.md) | Obsidian vault 子模块同步 |\n| [docs\u002FWIKILINKS_REPORT.md](.\u002Fdocs\u002FWIKILINKS_REPORT.md) | 双链图构建报告 |\n| [docs\u002FI18N_NOTES.md](.\u002Fdocs\u002FI18N_NOTES.md) | 国际化说明 |\n\n---\n\n## 复现所需知识\n\n### 必备\n\nHTML\u002FCSS\u002FJS（ES2022+）、TypeScript、Git（含 submodule）、pnpm、Markdown（GFM + Front Matter）\n\n### 框架\n\nAstro（路由、Content Collections、`client:*`）、Svelte 5 Runes、Tailwind CSS 4、remark\u002Frehype Unified 管道\n\n### 按模块深入\n\n| 模块 | 建议背景 |\n|------|----------|\n| 笔记 \u002F WikiLink | Obsidian 语法、slug 归一化 |\n| 关系图谱 | 图论、力导向布局 |\n| MATLAB 计算器 | 线性代数、微积分、概率论 |\n| Python IDE | CPython、`sys.settrace`、AST |\n| MNIST | CNN、TensorFlow.js |\n| 公式 OCR | Encoder-Decoder OCR、LaTeX |\n| 3DGS 壁纸 | WebGL、Gaussian Splatting 基础 |\n| UI 皮肤 | CSS 变量、`data-ui` 属性切换 |\n\n### 环境\n\n- **Python 3.10+** — `pnpm model:export-mnist`（tensorflow、Pillow）\n- **Obsidian**（可选）— 编辑 vault\n- 现代浏览器 — WebGL、Web Worker、ES Module\n\n---\n\n## 致谢\n\n| 项目 | 用途 |\n|------|------|\n| [Astro](https:\u002F\u002Fastro.build\u002F) \u002F [Svelte](https:\u002F\u002Fsvelte.dev\u002F) | 站点框架与交互 UI |\n| [Three.js](https:\u002F\u002Fthreejs.org\u002F) \u002F [@mkkellogg\u002Fgaussian-splats-3d](https:\u002F\u002Fgithub.com\u002Fmkkellogg\u002FGaussianSplats3D) | 3D 渲染与 3DGS 壁纸 |\n| [Cytoscape.js](https:\u002F\u002Fjs.cytoscape.org\u002F) | 关系图谱 |\n| [TensorFlow.js](https:\u002F\u002Fwww.tensorflow.org\u002Fjs) | MNIST 推理 |\n| [@huggingface\u002Ftransformers](https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Ftransformers.js) | FormulaNet OCR |\n| [Pyodide](https:\u002F\u002Fpyodide.org\u002F) | 浏览器 Python \u002F SymPy |\n| [KaTeX](https:\u002F\u002Fkatex.org\u002F) \u002F [Mermaid](https:\u002F\u002Fmermaid.js.org\u002F) | 公式与图表 |\n| [Lucide](https:\u002F\u002Flucide.dev\u002F) \u002F [Tailwind CSS](https:\u002F\u002Ftailwindcss.com\u002F) | 图标与样式 |\n\n笔记内容来自 Obsidian 工作流；`obsidian-vault` 为独立 git submodule，许可以该仓库为准。\n\n---\n\n## 开源协议\n\n本项目采用 **[MIT License](.\u002FLICENSE)** 发布。\n\n**你可以：** 自由使用、复制、修改、合并、发布、再许可和\u002F或销售本软件副本。  \n**你需要：** 在所有副本或重要部分中保留版权声明与许可全文。  \n**免责声明：** 软件按「原样」提供，不提供任何明示或暗示担保。\n\n---\n\n## 贡献\n\n欢迎通过 [Issue](https:\u002F\u002Fgithub.com\u002FTakalahiro\u002Fmy-second-brain1\u002Fissues) 或 Pull Request 参与贡献。\n\n- 作者：Takahiro\n- 仓库：[Takalahiro\u002Fmy-second-brain1](https:\u002F\u002Fgithub.com\u002FTakalahiro\u002Fmy-second-brain1)\n","My Second Brain 是一个将 Obsidian 笔记库转化为可浏览、可搜索的 Web 应用，并结合桌面操作系统壳和多种浏览器内交互工具的个人知识库项目。它基于 Svelte 框架构建，采用静态站点生成（SSG）+ 客户端岛屿架构，内容在构建期编译为 HTML，交互组件按需加载，支持 KaTeX 数学公式、Mermaid 图表等功能。该项目适合需要在线展示和管理个人笔记、进行数学计算、神经网络实验等场景使用。此外，其提供了丰富的 UI 皮肤选择和桌面小组件功能，增强了用户体验。",2,"2026-06-11 04:09:58","CREATED_QUERY"]