跳到主要內容
專案索引 · 03 原始碼公開 2026

三個專案,
解三種完全不同的癢。

Setlist 與 Fennevia 是我的兩個主要專案:一個是公開的音樂搜尋服務,另一個是為原版 Firefox 製作的模組化四邊介面。Dial Canvas 則是並行的小型 Firefox-first 實驗。三個專案都公開,也都還在持續發展。

Setlist 的歌曲搜尋介面,畫面顯示 VTuber Karaoke 搜尋結果
Search · Music Data · Self-hosted 服務運作中

Setlist

Setlist 是自行託管的 VTuber Karaoke 搜尋索引。它會找出公開的 YouTube 存檔,從留言擷取附有時間標記的歌單,並讓每筆搜尋結果直接連到演出開始的位置。

  • 快速搜尋歌曲,也能依 Channel、內容類型與日期篩選
  • 每首歌都有 YouTube timestamp,可直接跳到演出位置
  • 支援英文、繁體中文與日文 UI

Architecture

Setlist 從搜尋介面一路做到資料匯入、關聯式資料模型,以及我自己維運的部署環境。

Frontend

  • React 19
  • TypeScript
  • TanStack
  • Vite

Backend

  • FastAPI
  • Python
  • SQLAlchemy
  • yt-dlp

Data

  • PostgreSQL 18
  • Flyway
  • LLM cleanup

Deployment

  • Docker
  • Nginx
  • GitHub Actions
  • GHCR
Fennevia Browse Your Way 品牌主視覺,呈現模組化四邊瀏覽器介面與 widget 放置參考線
Firefox 介面 · 模組化 UI · Windows 公開測試版

Fennevia

Fennevia 是為原版 Firefox 製作、以網頁內容為中心的實驗性瀏覽器介面。它把 browser chrome 變成模組化的四邊工作區,幾乎每個可見控制項都能移動、巢狀組合或改變方向。受限且會驗證資料的橋接層讓安全敏感流程留在 Firefox,必要時可回復保留的原生介面。Windows 預發行版跟隨目前 Firefox Release,建議搭配專用設定檔使用。

  • 幾乎所有可見控制項都能在四邊面板間拖放,並以巢狀 Row 與 Column 組出版面
  • 分頁、書籤、下載與網址啟動器會配合水平或垂直位置調整
  • 受限且會驗證資料的橋接層讓敏感流程留在 Firefox,故障時則回復保留的原生介面
Dial Canvas 新分頁示意圖,畫面包含可移動的捷徑與小工具
瀏覽器擴充套件 · Firefox 優先 已上架 Firefox

Dial Canvas

把新分頁變成自由排列的 Speed Dial 畫布。捷徑與小工具都能移動、縮放,不必被固定格線綁住;資料預設留在本機,需要時才開啟 Firefox Sync。

  • 捷徑可以自由移動、縮放、分頁整理,不必被固定格線限制
  • 包含時鐘、天氣、筆記、待辦、日曆、假期與桌布資訊等小工具
  • 預設只存本機,也可以自行選擇開啟 Firefox Sync
  • Svelte 5
  • WXT
  • TypeScript
  • Firefox

共同點

我會做使用者碰得到的部分,也會顧它能不能撐得久。

每個專案長得不一樣,但標準很接近:介面要清楚、系統要能復原,半年後回來維護時也應該還看得懂。

認識我