【学习工作】NotebookHM - 国产鸿蒙笔记应用

# 【学习工作】NotebookHM - 国产鸿蒙笔记应用

> 标签:学习工作

## 1. Demo 简介

**是什么**:NotebookHM 是一款复刻 Obsidian 核心体验的****国产本地优先笔记应用****,Web 版 Demo 可在浏览器直接体验,后续将推出鸿蒙原生版。

**面向谁**:知识工作者、学生、研究者——有大量笔记需求、重视数据自主权、受困于 Obsidian 云服务国内访问不便的用户。

**核心功能**

1. **纯文本 Markdown + 双链引用**

- 与 Obsidian 格式完全兼容,可直接导入已有笔记库

- `[[笔记名]]` 语法创建双链,实时自动补全

- 反向链接面板,查看谁引用了当前笔记

2. **本地优先存储**

- 所有数据存在本地 IndexedDB,不强制联网

- 支持导入/导出标准 Markdown 文件夹

3. **模拟云同步**

- 演示多端同步流程:同步状态标记(已同步/待同步/冲突)

- 冲突解决 UI:保留本地 / 采用云端

- "模拟另一设备修改"按钮可演示冲突场景

【配图:应用界面截图 - 三栏布局展示编辑+预览+反链】

## 2. Demo 创作思路

### 灵感来源

作为 Obsidian 重度用户,我长期受困于两个痛点:

1. **同步贵且国内不便**:Obsidian 官方 Sync 服务 $96/年,且国内访问速度不稳定,经常超时。iCloud 同步在国内也时好时坏。

2. **鸿蒙生态缺位**:随着华为鸿蒙设备量快速增长,我发现鸿蒙生态里****没有一个国产的生产力笔记应用****能对标 Obsidian。市面上的笔记应用要么是云端笔记(数据不在本地),要么是小众工具(不支持双链)。

### 想解决的问题

- **数据自主权**:用户完全拥有自己的笔记数据,纯文本存储,不被任何云服务锁定

- **国内同步体验**:基于华为云 OBS,国内节点速度快、信任度高

- **鸿蒙原生体验**:利用鸿蒙的分布式能力实现多设备协同(后续规划)

- **Obsidian 平滑迁移**:格式完全兼容,现有 Obsidian 用户可零成本迁移

### 为什么做这个方向

我的判断和取舍:

1. **市场机会明确**:鸿蒙生态补位 + Obsidian 国内痛点,两个需求叠加

2. **技术可行**:华为云 OBS 已有鸿蒙原生 SDK(公测),ArkTS 开发效率高

3. **差异化清晰**:不是简单复刻 Obsidian,而是"国产 + 鸿蒙原生 + 华为云"三位一体

**关键取舍**:参赛 Demo 先做 Web 版(浏览器可体验),鸿蒙原生版作为赛事后的产品演进。核心逻辑(Markdown 解析、双链解析)设计为共享层,后续可直接移植到 ArkTS。

## 3. Demo 体验地址

app-demo.zip (11.6 KB)

> 解压后打开 `app-demo.html` 即可在浏览器中体验全部功能,无需安装、无需联网。

## 4. TRAE 实践过程

### 开发流程概览

整个 Demo 使用 TRAE IDE 从零开发,全程借助 AI 辅助:

1. **需求澄清**:通过 brainstorming 流程,与 AI 协作明确了 10 个关键决策(项目定位、技术栈、双轨策略等)

2. **技术调研**:AI 并行调研了华为云 OBS 鸿蒙 SDK、鸿蒙文件系统能力、Markdown 生态三个方向

3. **设计规格**:产出完整的 10 节设计文档,涵盖架构、数据模型、组件交互、错误处理、测试策略

4. **实现编码**:按 writing-plans 产出的任务清单,分 14 个 Task 逐步实现

5. **测试验证**:核心逻辑(双链解析、frontmatter)单元测试覆盖

### 关键步骤截图

【截图 1:brainstorming 阶段 - AI 提出三方案对比并给出推荐】

1950985615850592:0ade9a4eb5bc4313d27327667ce4223d_6a48a14b92d76008d063e8d2.6a48a1b192d76008d063e91a.6a48a1b192d76008d063e918:TRAE Work CN.0.1.29.no_sid.no_ppe.T(2026/7/4 14:01:21)

【截图 2:技术调研阶段 - AI 并行调研 OBS 鸿蒙 SDK 的结论】

1950985615850592:234267308c8a108c56288931b7f3a95b_6a48a14b92d76008d063e8d2.6a48a3b692d76008d063e949.6a48a3b692d76008d063e947:TRAE Work CN.0.1.29.no_sid.no_ppe.T(2026/7/4 14:09:58)

【截图 3:架构设计阶段 - AI 绘制的三端协同架构图】

1950985615850592:74727571d5a55df14525fba106e36d86_6a48a14b92d76008d063e8d2.6a48a96a92d76008d063ea18.6a48a96a92d76008d063ea16:TRAE Work CN.0.1.29.no_sid.no_ppe.T(2026/7/4 14:34:18)

【截图 4:编码实现阶段 - 三栏布局运行效果】

### 关键任务对话 Session ID

1. Session ID: 1950985615850592:0ade9a4eb5bc4313d27327667ce4223d_6a48a14b92d76008d063e8d2.6a48a1b192d76008d063e91a.6a48a1b192d76008d063e918:TRAE Work CN.0.1.29.no_sid.no_ppe.T(2026/7/4 14:01:21)(brainstorming 需求澄清阶段)

2. Session ID:1950985615850592:234267308c8a108c56288931b7f3a95b_6a48a14b92d76008d063e8d2.6a48a3b692d76008d063e949.6a48a3b692d76008d063e947:TRAE Work CN.0.1.29.no_sid.no_ppe.T(2026/7/4 14:09:58)(技术调研与方案选择阶段)

3. Session ID:1950985615850592:735db08f734fe8da170c394848883341_6a48a14b92d76008d063e8d2.6a48bab092d76008d063ed12.6a48baaf92d76008d063ed10:TRAE Work CN.0.1.29.no_sid.no_ppe.T(2026/7/4 15:48:00)(编码实现阶段)

## 5. 经验总结(额外)

### 本地优先架构设计心得

“本地优先"不是"不要云”,而是"本地是主,云是辅"。核心设计:

- 所有读写先发生在本地(IndexedDB),保证离线可用

- 云同步是第二层,失败不影响本地使用

- 双链索引在内存中构建,编辑时增量更新,避免每次全库扫描

### 双轨策略思考

"先 Web 后鸿蒙"的关键在于****共享层****的划分:

- `shared/` 层(类型、Markdown 解析、双链解析)不依赖任何 UI 框架

- ArkTS 是 TypeScript 超集,纯逻辑代码可移植

- 真实增量只在 UI 层和系统能力层

这样鸿蒙版赛事后启动时,不用重写核心逻辑,只重写 UI 组件和存储适配层。

### 国产化的意义

做"国产"笔记应用,不是简单的民族情绪,而是:

- 数据主权:笔记是最私密的数据之一,国产服务受国内法律保护

- 同步体验:华为云国内节点延迟 < 50ms,远优于海外服务

- 生态补位:鸿蒙用户需要一个原生适配的生产力工具

今年端侧大模型快速普及——AI 手机渗透率已达 45%,手机 NPU 算力突破 50–100 TOPS,已能本地运行 7B–13B 参数模型。更具决定性的是,华为 6 月 HDC 发布的鸿蒙 7.0 把盘古大模型塞进了系统底层,成为首个完成 AI 化改造的操作系统。

这使 NotebookHM 的"本地优先"与 AI 从原来的取舍关系变为天然同构:端侧推理全程在设备本地完成,零延迟、零隐私泄露,AI 不再是外挂插件,而是系统级原生能力的自然延伸。目前已将"原生智能"写入设计规格第 11 章,定义了三层能力架构:

L1 端侧核心(离线可用):智能摘要、自动双链建议、语义搜索、智能标签、语音转笔记
L2 云端增强(用户授权):对话式知识库(RAG)、跨笔记复杂推理
L3 系统协同(后续演进):多端知识接力、与小艺助手打通
APP demo 也同步加入了 AI 能力可视化:首页搜索栏升级为语义搜索(带 AI 徽章),编辑器页新增智能摘要卡和 AI 推荐关联笔记(带语义相似度百分比)。每张 AI 卡片都标注运行位置(端侧/云端),让隐私边界一眼可见。

差异化很直接:Obsidian 的 AI 是插件式外挂,需自配 API Key、承担云端调用费用与隐私风险;NotebookHM 调用鸿蒙 7.0 内置盘古,无需配置、零额外成本、离线可用。

app-demo.html (56.9 KB)