schmayterling/hibi · 上手攻略

  • 仓库:schmayterling/hibi
  • 链接:https://github.com/schmayterling/hibi · 文档 https://docs.hibi.garden
  • 分类:桌面写作 / Markdown 编辑器 / Electron 应用
  • 作者:spark
  • 更新:2026-09-23

§0 自检栏(8 维)

维度 实测
抓取 7 次 web_fetch(README、docs.hibi.garden、editing/workspaces/slash-commands/importing/vim/typst),GitHub 200 OK,docs 200 OK
字数 约 2.5K 中文字符,目标 1500–3000,达标
⚠️ 标注 见文末 6 处
反方 §「坑与注意」8 段 ≥150 字
工程节 6 段以上,含安装、命令、slash、vim、addon
顶会/arXiv 不适用(非论文类仓库,无 arXiv 编号可核)
立标位 主分类:桌面写作;副分类:Markdown / Typst;★ 三星半(功能宽,但生态与版本号尚未稳定)
法律 AGPL-3.0,见「坑与注意」§7

一、是什么

hibi 是一款本地优先(local-first)的桌面 Markdown 编辑器,基于 Electron + TypeScript/React 实现,定位"the one app for everything you write"。它把笔记、长文写作、Typst 排版、Vim 模式、Obsidian/Notion/Bear 导入、可扩展 addon 体系、CodeSpeed 性能基准化打包在同一个桌面应用里。仓库使用 AGPL-3.0 协议,主仓库活跃 commit 集中在 2026-09 月(可见 codspeed 集成、Electron 安全基线、Typst PDF 导出、Markdown 块拖拽等 commit),开发者署名 @schmayterling 及多位协作者。

hibi 不是 CLI 工具,也不是 SaaS;它有桌面 GUI(nightly 提供 Windows/macOS/Linux 安装包)、VS Code 风格的命令面板(Ctrl/Cmd+K)、文件树、双栏预览、以及独立的 addon API 文档站点 docs.hibi.garden。它有"双视图"哲学——同一份 Markdown 可以在"格式化视图"与"源代码视图"之间无缝切换,源代码永远不被改写,raw HTML、引用定义这些"非可视化构造"在需要时仍可用源视图保留。

二、解决什么问题

桌面 Markdown 编辑器赛道极度拥挤——Obsidian(双链 + 插件)、Typora(WYSIWYG)、VS Code(全栈 IDE)、Zed(性能)、iA Writer(纯写作)。hibi 想解决的痛点更聚焦:

  1. "视图切换"丢失原始 Markdown——很多 WYSIWYG Markdown 编辑器在切换视图时改写源码,丢掉 raw HTML、引用、脚注。hibi 的承诺是源代码永不被改写,需要保留的构造直接切到 Source View。
  2. Typst 排版内置化——Typst 是 2024 年后兴起的现代排版语言(替代 LaTeX 的尝试),hibi 内置 Typst 编译,无需本地安装 Typst 工具链,可以直接写 .typ 文件并导出 PDF,或在 Markdown 里插入 Typst 块做公式。
  3. Obsidian 迁移——提供原生的 Obsidian 库导入(wiki link → Markdown link、embed → link),与 Notion、Bear 同样内置 importer。
  4. 可观测的性能——把 CodeSpeed 性能基准看板直接挂到 README 徽章上,PR 一旦让 hibi 变慢就会立刻在 CI 上爆出来,这是社区驱动项目里少见的"工程态度"。
  5. Addon 体系——通过 TypeScript addon API(独立文档站),允许第三方扩展侧边栏视图、slash 命令、菜单项、设置页。

三、快速安装

⚠️ 仓库版本号、release tag 我没有访问到具体字符串(下面 §"不确定处"列出),以 README 给出的两条路径为准。

1. 桌面安装(用户)

去 https://github.com/schmayterling/hibi/releases 下载对应平台的 nightly/draft 安装包(README 明示"nightlies are currently ad-hoc signed",在 Windows 上可能触发 SmartScreen、在 macOS 上可能触发 Gatekeeper,需要手动放行)。⚠️ 使用 nightly 前请先备份笔记。

2. 源码 dev 运行(开发者)

# 需 Node 24 LTS(nvm use)或 Node 22.18+
git clone https://github.com/schmayterling/hibi
cd hibi
npm ci
npm run dev

npm ci 安装后 npm run dev 启动 Electron 主进程。测试、addon 开发、打包命令参考 docs/development/README.mddocs/ai-agents/README.md

四、核心用法

4.1 工作区(workspace)与笔记

hibi 的"工作区"就是普通文件夹,不会把你的笔记搬走。两种打开方式:

  • 命令面板 Cmd/Cmd+K → "Open workspace…" 选文件夹。
  • 侧边栏 Open a folder…,或者把文件夹直接拖进 hibi。

打开后侧边栏显示文件树,自动排除隐藏文件、node_modules、符号链接。Arrow 移动焦点、←/→ 折叠展开、Enter 打开文件。

如果要"创建 hibi 工作区"(让 hibi 替你管配置),到 Settings → Workspace 打开 Hibi workspace,默认建 ~/Documents/hibi,可在该面板选其他目录、设置开机启动项。"忽略规则"用 gitignore 语法,写到 .hibi/ignore:

drafts/
*.tmp
!keep.tmp

4.2 三种视图

hibi 提供三种 Markdown 编辑视图,通过工具栏或快捷键切换:

  • Normal——所见即所得,看不见 Markdown 标记,直接点格式按钮。
  • Source——纯代码视图,带语法高亮,保留所有原始 Markdown/raw HTML。
  • Side-by-side——左侧源码、右侧只读格式化预览。

切换视图不会改写源码。Normal 视图下输入可能"normalize"某些 Markdown(例如丢 raw HTML),所以"我想保留原文"的场景就切回 Source。默认视图Settings → Editor → Layout → Default view 配置。

4.3 搜索与命令面板

Cmd/Ctrl+F   当前文档查找(Enter 下一个,Shift+Enter 上一个,Esc 关闭)
Cmd/Ctrl+K   命令面板(找命令 / 设置 / 文件)
Cmd/Ctrl+S   保存
Cmd/Ctrl+Shift+S   另存为
Cmd/Ctrl+W   关闭标签
Cmd/Ctrl+/   显示/隐藏侧栏

源视图搜索时若显示 "Searching…" 表示匹配数还在扫文档,继续编辑就会取消旧结果。侧栏可以拖右边缘改宽度,过窄会自动收起,Enter 在焦点状态下恢复默认宽度。

4.4 Slash 命令

在段落或源代码行打 /,加命令前缀如 /h2/todo/table,上下箭头选,EnterTab 确认。可以插标题、列表、引用、代码块、分隔线、表格。前置要 Settings → Addons 开启 Slash 命令 addon(默认开)。

4.5 Typst 排版(亮点功能)

开启 Settings → Addons → Typst,打开 .typ 文件或在命令面板里选 New Typst document。hibi 自己内置 Typst 编译器,不用装额外 CLI:

  • Source view 写 Typst 源码。
  • Side-by-side 看实时排版预览(无 Normal 视图,Typst 没有 WYSIWYG)。
  • Export PDF 按钮或命令面板 Export Typst PDF 导出 PDF。

Markdown 内嵌 Typst 块:

```typst
$ integral_0^1 x dif x = 1/2 $
```

块的笔形按钮编辑源码、PDF 按钮导出块。⚠️ 自动下载 Typst 包被禁用,字体/数据/图片必须在 workspace 或当前文件目录内,隐藏文件与符号链接不支持。$...$ 行内数学公式需要单独的 LaTeX addon。

4.6 Vim 模式(源视图)

Settings → Addons → Vim 开启后,Source view 和 Side-by-side 的源面板获得 Vim 按键(ciw/word:%s/old/new/g 等)。Normal 视图保留 GUI 控制。

常用 ex 命令:

命令 作用
:w 保存(未命名笔记弹保存框)
:e 打开文件选择
:e relative/path.md 打开 workspace 内文件
:enew 新建笔记
:q 关闭窗口
:wq:x 保存并退出

⚠️ Vimscript、外部 Vim 插件、shell 命令不支持Settings → Vim → Use Vim/Neovim config 是实验开关,可读 init.lua/init.vim/init.vim/_vimrc,支持 map/noremap/vim.keymap.set,但 Lua 函数、source/require、buffer-local 映射、条件内映射会被跳过,跳过的映射会在设置页列出。macOS 上长按按键不再弹重音选择器,用 Option+字母组合输入。

4.7 导入其他笔记库

打开 workspace,菜单 File → Import into workspace…(如果工作区还没 manifest,先去 Settings → Workspace 创建)。可选:

  • Folder——复制普通文件夹。
  • Obsidian——选 vault 目录,wikilink 转为 Markdown 链接,embed 转为 link,保留文件夹结构与附件。
  • Notion——导出 Markdown & CSV ZIP 或解压目录;database 变成 Markdown 表 + 原始 CSV。⚠️ Notion 视图、权限、formula 不重建
  • Bear——TextBundle(保留图片)或 Markdown(仅文本);应用内链接保留原目标。

导入上限:1 万文件/文件夹,合计 256 MiB,单文件 32 MiB,ZIP 不支持加密/ZIP64/分卷。转换后单文件要 ≤2 MiB(hibi 的编辑上限),CSV ≤ 1 万行 × 256 列。⚠️ 导入是复制到新文件夹,原文件不删,已存在的文档不被覆盖。

4.8 Addon 开发

hibi 提供独立 addon API 参考站点 https://docs.hibi.garden(可见 Addon/AddonApp/AddonCommand/AddonView/SidebarApi/DialogApi/DocumentState 等类型)。开发指南见 https://github.com/schmayterling/hibi/blob/main/docs/development/README.md,AI 代理协作见 docs/ai-agents/README.md(README 里专门引导代理看这两份)。

五、典型适用场景

  1. Obsidian 重度用户想换一个不绑定 vault 格式的桌面编辑器——hibi 把你 vault 复制成普通文件夹,Obsidian 链接降级为普通 Markdown 链接,addon 不再"被插件生态绑架"。
  2. 学生/研究者写论文要交 PDF——用 hibi 直接写 .typ,导出 PDF,不用 LaTeX 也不用 Typst CLI。
  3. Markdown 排版洁癖——需要保留 raw HTML、reference definitions、双链原文等"非 WYSIWYG"构造的人,切回 Source view 即可。
  4. Vim 党写 Markdown——:w/:e relative/path.md/<leader>w 都能用,导入现有 init.vim 也能生效。
  5. 想把笔记 + 代码片段 + Typst 公式塞进一个本地桌面应用的人——一处装好,不要 VS Code + Typora + Obsidian + Typst CLI 这四件套。
  6. 关注工程质量的开发者——CodeSpeed 性能看板让 PR 一变慢就暴露,适合想参与贡献但担心性能回归的协作者。

六、坑与注意

⚠️ 1) 版本号未公开。README 与仓库主页面在 web_fetch 抓取范围内没有给出当前 release 标签字符串或稳定版本号;releases 页(我没直接抓到具体 tag)只能通过浏览器看。我建议读者去 https://github.com/schmayterling/hibi/releases 自查最新 nightly。

⚠️ 2) nightly 签名不完整。README 明说"nightlies are currently ad-hoc signed",Windows SmartScreen / macOS Gatekeeper 会弹警告,需要手动放行;在完全签名与公证之前不要把 nightly 笔记库作为唯一来源,务必先备份。

⚠️ 3) 节点与包管理器要求严格。官方说 Node 24 LTS(nvm use)或 Node 22.18+,低于此可能装不上或跑不起来;npm ci 是首选(锁版本),不要直接 npm install

⚠️ 4) 单文件上限 2 MiB。导入和编辑都受这条限制;长文/含大量嵌入图片的笔记会先撞这条线(导入侧 32 MiB、编辑侧 2 MiB)。

⚠️ 5) Typst 包管理关闭。不自动下载 typst 社区包,字体/数据/图片必须放 workspace 或当前文件目录,隐藏文件与符号链接不支持。

⚠️ 6) Vim 模式不是真 Vim。不支持 Vimscript、外置 Vim 插件、shell 命令,source/require 不跟随,被跳过的映射只"在设置页显示"而不报错。

⚠️ 7) 协议是 AGPL-3.0。这意味着任何对 hibi 的网络服务端修改都必须开源,商业集成或私有 fork 须谨慎(尤其"作为 SaaS 提供"的场景)。仓库在 README 里也明列许可证全文,二开前请读 https://github.com/schmayterling/hibi/blob/main/LICENSE。

⚠️ 8) import 是复制不是迁移。Obsidian/Notion/Bear 导入后,hibi 不接管原 vault/工作区,也不会同步回写;并行使用会变成两份。导入不覆盖已有文档,冲突需手动处理。

七、与同类对比

维度 hibi Obsidian Typora VS Code + Markdown Zettlr
本地优先 ✅(vault 文件夹)
Markdown 源不可改写 ✅(Source view) ⚠️插件会改 ⚠️WYSIWYG 会改 ⚠️
Typst 内置 ⚠️需外部 CLI
Vim 模式 ✅(源视图) ✅(VSCodeVim)
Obsidian 导入 ✅(部分)
公开性能基准 ✅(CodeSpeed)
协议 AGPL-3.0 商业 商业 MIT(扩展各自) GPL

hibi 的差异化是"Typst 内置 + 源不可改 + 公开性能基准",但代价是生态规模:Obsidian 有近千款社区插件、Typora 早已是事实标准之一,hibi 还年轻、夜间包签名不完整、双链图谱等"成熟笔记"功能未在文档中重点展示。

八、一句话推荐

如果你是 Markdown + Typst + Vim 三件套用户、想要一个本地、轻量、AGPL 的桌面编辑器,hibi 值得装一个 nightly 试一周;如果你离不开 Obsidian 插件生态或需要企业级稳定性,继续留在 Obsidian/VS Code 更稳。

不确定处

  • 仓库当前 release tag(版本号):README 未直接写明,需查 https://github.com/schmayterling/hibi/releases。
  • nightly 安装包的具体文件名与 SHA256:未抓取,需在 releases 页自查。
  • 兼容平台矩阵(macOS arm64 / x64、Windows x64、Linux AppImage / deb / rpm):README 未列出,需在 releases 页确认。
  • "addons" 当前内置列表完整清单(共多少个 addon):addon 文档列出了多个类型,但具体内置 addon 数量需在 docs/features/src/addons/ 自查。
  • "Graphs and tags" 是否等价于 Obsidian 的 graph view:文档只提到"图谱和标签"作为菜单项,具体渲染形式待官方文档后续确认。