Releases: lora-sys/second-brain
Releases · lora-sys/second-brain
Release list
v0.3.0 — Wikilink 自动补全 + Smart mentions
v0.3.0 — Wikilink 自动补全 + Smart mentions
主菜:编辑器里输入 [[ 触发浮层,模糊搜索所有实体,回车插入 — 知识库的灵魂体验。
✨ 新功能
Wikilink 自动补全(主菜)
- 在 body 字段输入
[[触发浮层 - 浮层显示所有实体(按 label / slug / type 模糊匹配)
- 键盘 ↑/↓ 选择,Enter/Tab 插入
[[type/slug|label]],Esc 关闭 - 打开编辑 modal 时自动预加载实体索引
- 新增
public/lib/wikilink.js作为独立模块(window.__wikilinkAutocomplete.init())
Smart mentions(配菜)
- 渲染 Markdown 时把认识的人名/标题自动转成
.auto-mentionwikilink - DOM walker 安全避开
<a>/<code>/<pre> - 词边界检测避免误匹配
- 视觉上虚线下划线区分于显式 wikilink 的实色胶囊
任务卡片 inline 状态切换(小菜)
- hover 状态徽章变成可点击
- 点击弹 popover 选择 4 种状态
- 乐观更新 + API 同步 + 失败回滚
标签筛选(甜点)
- 人物 / 项目 / 链接列表页顶部 tag chip 多选
- AND 逻辑
- "清除"按钮一键还原
🛠 内部
state.allEntities索引 +preloadAllEntities()函数renderEntity也预加载实体以支持 smart mention- 创建 / 更新 / 删除后自动失效缓存
.gitignore增加.playwright-cli/缓存屏蔽
🐛 修
- wikilink 模块独立 IIFE 作用域,定义本地
escapeHtml避免 ReferenceError
📊 数字
- 13 张新截图
- 56 秒新 demo 视频
- 1 个新文件(
public/lib/wikilink.js,220 行) - 4 个 v0.3 功能
- 0 个破坏性改动
🛣 接下来
v0.4 候选:
- Backlinks(在详情页显示"被哪些实体引用")
- 关系图(人物 / 任务 / 项目之间的网络视图)
- 时间线视图(按时间看一个人 / 项目的发展)
- 全文搜索升级(FTS5)
- 浏览器扩展(一键剪藏网页)
v0.2.0 — 设计与体验全面升级
v0.2.0 — Design + UX overhaul
最大的视觉和交互升级。所有功能保留并优化,新增 ⌘K 命令面板和拖拽看板。
✨ 视觉重设计
- 类型配色系统 — 4 种实体类型各自专属颜色:人物橘 / 任务蓝青 / 项目紫 / 链接翡翠绿。卡片左侧色条、wikilink 胶囊、详情页 hero 边线统一用 type-color
- 字体升级 — Fraunces serif 显示字体(标题)+ Inter sans(UI)+ JetBrains Mono(代码/slug)
- 品牌标识 — 4 象限彩色方块,对应 4 种实体类型
- 程序化头像 — 基于名字 hash 选 12 种渐变之一,同名永远一致
- Dashboard 改版 — hero 区 + 渐变光晕、类型化统计卡、2 列布局(主区 + 右侧 widgets)、任务进度条
- 空状态插画 — 5 种几何 SVG + 友好文案
- Modal 顶部色条 — 按 type 上色,标题前有小写 label
🆕 新功能
- ⌘K / Ctrl+K 命令面板 — 模糊搜索所有实体 + 快捷命令(新建 / 切主题 / 打开设置)
- 看板拖拽 — 拖动任务卡片到其他列 = 切换状态,带乐观更新 + API 同步 + 失败回滚
- 列内添加 — 每列底部
+ 添加任务按钮,预选该列状态 - 搜索键盘导航 — ↑/↓ 移动高亮,Enter 跳转,Esc 关闭
- 三套主题 — 浅色 / 深色 / 复古,右上角 toggle 一键切换
🛡 健壮性提升
- 服务端加
uncaughtException兜底,单个请求错误不再让整个进程崩溃 - 容错的 frontmatter 解析(v0.1.0 修过,这次保留)
📊 对照
v0.2.0 相对 v0.1.0:
- 新增 10 张截图,全部按新设计重拍
- 新增 demo 视频 60 秒,覆盖核心流程
- README + CHANGELOG 同步更新
- 文档完整:架构、数据模型、设计升级方案保留在
docs/
🔧 技术细节
- 后端代码
lib/server.mjs仅 +9 行(错误兜底),其余所有改动都在前端 public/style.css从 700+ 行扩到 1500+ 行,token + 组件完整重构public/app.js从 1200+ 行扩到 1500+ 行,新增命令面板、拖拽、SVG 空状态
🙏 已知限制(待办)
- 浏览器扩展(一键剪藏网页)
- 任务依赖 / 提醒
- PDF / Office 预览
- 移动端看板手势
- 主题系统自定义 accent color
详见 CHANGELOG.md。
v0.1.0 — 初版发布
v0.1.0 — 初版发布
第一个公开版本。所有核心功能跑通,可以日常使用。
✨ 主要功能
- 人物 / 任务 / 项目 / 链接 四大模块,每个实体存为 Obsidian Vault 里的
.md文件 - 任务看板:四列状态(待办 / 进行中 / 已完成 / 已取消),优先级 + 截止日期
- 链接导入:轻量(仅元信息)或深度(抓取全文转 Markdown 入库)
- Wikilink 双向引用:
[[人物/张三]]渲染为可点击的紫色胶囊 - Obsidian 双向同步:网页和 Obsidian 编辑同一份 Markdown 文件
- 全文搜索:跨四个模块
- 暗色 / 亮色主题
- 移动端响应式
- 容错的 frontmatter 解析:用户在 Obsidian 里手编辑文件也能正确读回
📦 安装
git clone https://github.com/lora-sys/second-brain.git
cd second-brain
npm install
npm start打开 http://127.0.0.1:3939 即可。
🎬 演示视频
附件 demo.webm 是端到端演示(90 秒),包含:
- 仪表盘空状态
- 新建人物 + 详情页
- 暗色模式切换
- 新建三个不同状态的任务 + 看板视图
- 编辑任务切换状态
- 新建项目 + Wikilink 交叉引用
- 导入链接(深度抓取)
- 链接详情 + 渲染
- 全文搜索
- 移动端响应式
📝 已知限制
- 任务拖拽切换看板列:未实现(编辑面板改状态)
- 浏览器扩展剪藏:未实现
- PDF / Office 预览:未实现
- 提醒 / 循环任务:未实现
- 全文搜索目前是子串匹配;大规模数据建议接 SQLite FTS5
🛠 技术栈
- 后端:Node.js (vanilla HTTP) · js-yaml · jsdom
- 前端:原生 HTML / CSS / JavaScript · marked
- 数据:Markdown + YAML frontmatter
- 端口:
127.0.0.1:3939(仅本地) - 依赖:3 个 npm 包
🙏 反馈
发现 bug 或有想法?开 Issue。
详细更新日志见 CHANGELOG.md。