rails
公開
llm
knowledge-management
rails
vibe-coding
postgresql
ai
在 Rails 部落格上以 Vibe Coding 實作 LLM 知識管理系統(取代 Obsidian)
利用 Claude Code 與 LLM,於 Rails 部落格快速建置 Vibe Coding 知識庫,取代 Obsidian,支援中英全文搜尋與多管道輸入。
|
匯入於 2026-04-06
|
已複製連結
背景與靈感
受 Andrej Karpathy 的 LLM Knowledge Base 工作流啟發,將 Vibe Coding 方法應用於自己的 Rails 部落格,打造一套完整的個人知識管理系統,完全取代 Obsidian。
- 核心概念:LLM 作為知識管理員,三層架構
Raw Sources → Wiki → Schema。 - 靈感來源:Vannevar Bush 1945 年的 Memex 概念。
此實作與 rails-vibe-coding-llm-obsidian 的案例相似,皆以 Rails 為基底,利用 LLM 完成筆記結構化。
系統概觀
- WikiEntry 模型:儲存 markdown、分類、標籤、交叉連結(backlinks)以及 private/published 狀態。
- 全文搜尋:PostgreSQL
tsvector+ILIKE,支援中英文混合搜尋與關鍵字高亮。 - LLM Ingest:將雜亂筆記送入 LLM,自動產生標題、摘要、分類、標籤與交叉連結。
- REST API:
POST /api/wiki/ingest– 上傳原始素材。GET /api/wiki/search?q=...– 關鍵字搜尋,返回高亮結果。
- i18n:完整的中英雙語支援。
技術架構
graph LR
A[Raw Sources] --> B[LLM Ingest]
B --> C[WikiEntry (PostgreSQL)]
C --> D[REST API]
D --> E[Frontend (Rails Views)]
C --> F[Full‑text Search]
- 模型:
WikiEntry包含title:string,content:text,category:string,tags:string[],backlinks:string[],status:enum。 - 搜尋:使用
to_tsvector('simple', content)建立tsvector欄位,配合ILIKE處理中文。 - 部署:單一 Rails 應用,Docker 化部署,資料庫使用 PostgreSQL。
此架構與 nicklecheng-project-architecture 中提到的模組化設計理念相呼應。
多管道輸入
| 管道 | 說明 |
|---|---|
| Admin 後台 | 完整編輯介面 + 「LLM 匯入」按鈕 |
| Terminal CLI | curl -X POST … 或自訂 shell function 一行指令 |
| Claude Code skill | /wiki-add 指令,可在任何目錄新增筆記 |
| 手機 iOS Shortcut | 透過 API 呼叫,隨時隨地上傳素材 |
為何不需要 Obsidian
- 多 vault 切換問題 → 單一資料庫、單一搜尋框。
- 安裝成本 → 只要瀏覽器即可使用。
- 結構維護 → LLM 自動整理筆記結構。
- 同步費用 → 部落格本身即為線上同步平台。
- 中文搜尋 → PostgreSQL ILIKE 直接支援中英文。
Vibe Coding 體驗與心得
- 流程:從討論 Karpathy 的理念 → 分析痛點 → AI 產生提案 → 設計 spec → 實作程式碼 → 撰寫測試 → 部署上線。
- 關鍵:不是 AI 能否寫程式,而是使用者能否清晰表達需求、在適當時機做決策。
- 成果:一個下午完成 22 個任務、37 個測試、2585 行程式碼,全部由 Claude Code 協助。
- 價值:大幅降低從想法到成品的摩擦力,讓知識管理與程式開發同時進行。
部署與測試
# 建立資料庫
rails db:create db:migrate
# 執行測試
bundle exec rspec spec/models/wiki_entry_spec.rb
# 啟動伺服器
rails server -e production
參考連結
- Karpathy 原始推文與 Gist: https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f
- 本實作的完整程式碼與部署腳本(GitHub repo 連結)
本文即為在 Rails 部落格上以 Vibe Coding 完成的 LLM 知識管理系統說明,已成功取代 Obsidian。