Show HN: Lightwave – 实时笔记应用,3.5 年手写 JavaScript
发布: (2026年2月16日 GMT+8 04:57)
3 分钟阅读
原文: Hacker News
Source: Hacker News
概览
Hi HN!
我已经独自开发 Lightwave 大约三年半了。我尝试过所有新的项目/笔记工具(Notion、Asana、Trello 等),但总是回到纯文本文件。我想要一种在首次触摸时感觉像文本编辑器,但在需要时又能发展出真实结构的工具。
https://lightwave.so – 上面的链接有一个按钮,可一键创建测试账号。
技术栈
- 后端: Laravel、MySQL、Redis
- 客户端: 手写 JavaScript(不使用 React/Vue 等框架)
- 遗留工具: 大约 270 行 jQuery(在 80k+ 行代码中)用于少量 DOM 辅助函数
- 本地持久化: IndexedDB
- 实时协作: 混合方案 – 使用 HTTP/2 POST 进行弹性操作 + 通过 Laravel Reverb 的 WebSocket 实现实时光标、在线状态和编辑
功能
- 粘贴 Markdown,即可得到原生块;复制块出来,则得到 Markdown。
- 具层级结构的文档结构和层级文件管理器。
- 实时协作,支持共享光标、选区和在线状态。
- 代码块支持语法高亮和 LaTeX 数学块。
- 完整数据导出:Markdown、JSON 与附件(无锁定)。
- 完整的撤销/重做,且能够恢复光标位置。
已知的粗糙之处
- 光标和选区系统是从头构建的(类似 VS Code,而不是
contenteditable包装器),因此涉及的表面面积较大。 - 某些键盘快捷键可能缺失。
- 仅限桌面端;可访问性尚未实现。
- 正在实时发布的修复。
反馈
应用内部有一个 “提交错误或反馈” 按钮,如果出现问题可以使用。欢迎随时提问关于架构或其他任何内容。
评论
Comments on Hacker News (Points: 4)
这是一项预发布的压力测试,而非正式上线。Lightwave 将作为付费产品。当前的开放测试旨在收集真实世界的流量反馈。