返回作品

Seedbox

本地優先油彩點塗GitHub
問題消費級 AI 聊天應用會把每一條訊息送往別人的雲端。在乎隱私的用戶需要一個本地優先的替代方案,但要把 Ollama、向量資料庫與一個精緻的桌面介面接駁起來,並不是一個週末就能完成的小項目。
角色獨立,設計 + 開發
成果已交付 alpha → beta → alpha-release。在 GitHub 以 source-available 形式公開。
脈絡

隱私優先的本地 LLM,配上精緻介面

消費級 AI 聊天應用會把每一條訊息送往別人的雲端。在乎隱私的用戶需要一個本地優先的替代方案,但要把 Ollama、向量資料庫與一個精緻的桌面介面接駁在一起,並不是一個週末能完成的項目。

Seedbox 把整套技術棧打包成單一可安裝的應用:選一個本地模型、跟它對話、所有東西都留在你自己的機器上。

01 · 介面

把聊天當作一張圖,而非紀錄條

在 React Flow(Xyflow)上開發對話介面。對話不再是線性捲動的訊息串,而是畫布上的節點,你可以分支、並排比較回應、在空間中導覽不同的線索。長時間的探索式對話會變得有結構,而不是沒完沒了。

Seedbox 聊天室與 React Flow 圖
把聊天流程當作一張圖,分支與比較,而非捲動紀錄條。
02 · 技術棧

本地優先的數據,端到端

SQLite 存聊天紀錄,LMDB 存向量嵌入,可選的 Redis 做快取。沒有任何東西離開裝置。

一個 Fastify 伺服器運行在 Electron 主進程裏,透過自訂 `app://` 協定提供給渲染端,介面享有網頁應用的順手,而每一個位元組都留在本地。

Seedbox 主介面,深色主題
主應用介面。一切皆在本地。
03 · 模型

整合 Ollama,附帶設定介面

模型選擇、系統提示設定、取樣控制,全部透過設定面板呈現。預設使用 Llama 3.2;任何相容 Ollama 的模型都能從介面接入。

Seedbox 模型設定畫面
模型與取樣控制。
04 · 手藝

累積起來的細節

一個 Three.js 動態背景,讓應用不像一個現成的 Electron 殼。淺/深主題並記住偏好。支援數學的 Markdown(KaTeX)、GFM 表格與 remark directives,讓技術性的答案能正確渲染。這些單獨都不是甚麼功能,但合起來,正是讓工具顯得用心的地方。

Seedbox 對話進行中
對話畫面,配上 3D 背景與主題。
05 · 交付

跨平台打包

以 electron-builder 設定 Windows(NSIS 安裝程式)、macOS(DMG,程式碼簽署流程就緒)與 Linux(AppImage / Snap / Debian)。一套程式碼,三種發行版。Seedbox 已交付 alpha → beta → alpha-release;在 GitHub 以 source-available 形式公開。

看我如何以代理交付返回作品