Skip to content

Releases: lora-sys/second-brain

v0.3.0 — Wikilink 自动补全 + Smart mentions

Choose a tag to compare

@lora-sys lora-sys released this 12 Jul 04:27

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-mention wikilink
  • 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 — 设计与体验全面升级

Choose a tag to compare

@lora-sys lora-sys released this 11 Jul 07:41

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 — 初版发布

Choose a tag to compare

@lora-sys lora-sys released this 11 Jul 05:39

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 秒),包含:

  1. 仪表盘空状态
  2. 新建人物 + 详情页
  3. 暗色模式切换
  4. 新建三个不同状态的任务 + 看板视图
  5. 编辑任务切换状态
  6. 新建项目 + Wikilink 交叉引用
  7. 导入链接(深度抓取)
  8. 链接详情 + 渲染
  9. 全文搜索
  10. 移动端响应式

📝 已知限制

  • 任务拖拽切换看板列:未实现(编辑面板改状态)
  • 浏览器扩展剪藏:未实现
  • 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