2025-06-11 「三台電腦的角色分配」+非常精簡的第一個 MVP 步驟

2025-06-11 「三台電腦的角色分配」+非常精簡的第一個 MVP 步驟

好 — 我把「三台電腦的角色分配」+非常精簡的第一個 MVP 步驟(只做最小可驗證的一步,方便你慢慢理解)整理好。每一步都盡量小、可執行、可以立刻驗收。下面內容直接可照做,不用馬上回答我。

三台電腦建議分配(保留你目前的設定)

  • Mac A(已在用做技術文件) — Documentation / 設計機

    • 功能:寫技術文件、畫流程圖、設計 UI、合併 PR、做文字/教材(輕量開發也可以)。
    • 軟體建議:VS Code、Obsidian/Typora、Git(連 GitHub)、瀏覽器(Safari/Chrome)做跨瀏覽器檢查。
    • 理由:你已經在用作技術文件,保留專職寫作能讓其它兩台專注跑服務或開發。
  • Mac B(較舊,目前逐步架構 MCP server) — MCP Server / 測試服務器

    • 功能:當作專用的 MCP server(Node MCP /本地模型 adapter / gateway),放在 LAN 上當「伺服器節點」。也可做為小型測試環境(ngrok / 本機測試)。
    • 注意:如果 Mac 很舊且記憶體/CPU 很小,不要嘗試跑大型容器或本地大型模型;把實際推理交給 OpenAI / DeepSeek 等雲端,Mac B 做 routing、adapter、proxy 與 log。
    • 實務建議:把它設為 headless(關螢幕也能跑)、安裝 Node (18+)、pm2 以守護進程方式啟動 server,設定固定 LAN IP(或路由器 DHCP 保留),方便其他機器連線。
  • Lenovo Windows11 — 主開發機 + DB / CI / 本地 Docker

    • 功能:主要開發環境(VS Code / Visual Studio 2022)、跑 Docker/MySQL(或 Oracle)、整合測試、跑前端 dev server、執行本機 CI 測試。
    • 理由:Windows 機通常對 Docker / Visual Studio / 本地 DB 支援較好(且你曾提到使用 Visual Studio),把重資源工作放這裡可避免把舊 Mac 推垮。
    • 建議:安裝 Docker Desktop、Node、git、Postman、MySQL 或用 Docker 启动資料庫。

第一個 MVP 步驟(一步到位、非常小

目標:建立 repo、啟動最簡單的後端 health endpoint,並確認從其他兩台能存取(驗證網路與角色分配正常)。

為什麼這步?

能立刻驗證三台能互相連通、Git workflow 正常,且 MCP server(Mac B)能連到後端(Windows)或被後端呼叫。這是後面做 AI gateway 的基礎。

要做的具體操作(可直接貼命令)

A. 在 Windows(主開發機)建立後端 skeleton

  1. 建資料夾並初始化:
1
2
3
4
5
# PowerShell (Windows)
mkdir C:\projects\mindsite-backend
cd C:\projects\mindsite-backend
npm init -y
npm i express dotenv
  1. server.mjs(或 server.js)最小內容:
1
2
3
4
5
// server.mjs
import express from 'express';
const app = express();
app.get('/api/health', (req, res) => res.json({ status: 'ok', host: 'windows-dev' }));
app.listen(3000, () => console.log('backend listening on 3000'));
  1. 啟動:
1
2
3
node server.mjs
# 測試(在 Windows)
curl http://localhost:3000/api/health

B. 在 Windows 上(或用 Docker)啟動 MySQL(選項,這步可延後)
若想立刻有 DB 用於下階段,建議用 Docker Compose(把 DB 放在 Windows):

1
2
3
4
5
6
7
8
9
10
11
12
# docker-compose.yml
version: '3.1'
services:
db:
image: mysql:8
environment:
MYSQL_ROOT_PASSWORD: example
MYSQL_DATABASE: mindsite
ports: ["3306:3306"]
volumes: ["db_data:/var/lib/mysql"]
volumes:
db_data:
1
2
# 在 Windows 安裝 docker desktop 後
docker-compose up -d

C. 在 Mac B(MCP server)上:安裝 Node 與 pm2,確保能連到 Windows 的後端

1
2
3
4
5
6
7
8
9
# Mac (bash)
# 假設已安裝 Homebrew
brew install node
npm i -g pm2
# 在 Mac 上測試能否存取 Windows 的 health API:
curl http://<windows-ip>:3000/api/health
# 若可以得到 {status:'ok'} 表示網路通了
# 若想用 pm2 啟動你的 MCP server 程式(server.mjs 為例)
pm2 start server.mjs --name mcp-server

curl 失敗:檢查 Windows 防火牆是否允許 3000 port,兩台是否在同一 Wi-Fi / LAN,或使用路由器的 DHCP 保留設定。

D. Mac A(文件機)

  • 在 Mac A 建 mindsite-docs repo,寫第一份簡短 README(MVP 設計、使用者流程)。把三台都 clone 同一個 GitHub repo(或多個 repo),方便同步。

E. GitHub(跨機同步)

  • 在 GitHub 建兩個 repo:mindsite-frontendmindsite-backend。每台機器 clone / push / pull,這樣你在任一台修改都能同步到其他台。

驗收標準(完成 Step 1 就算 OK)

  1. Windowsnode server.mjs 能返回 GET /api/health => {status:'ok'}
  2. Mac Bcurl http://<windows-ip>:3000/api/health 也能得到相同回應(表示 LAN 可通)。
  3. Mac A、Mac B、Windows 都已 clone 專案到本機,能夠 git pull / git push(GitHub remote 已設)。

如果這三項都 OK,代表基礎網路、repo 與伺服器流程成立,接下來我會給你第二步(MVP Step 2):在後端加入簡單的 POST /api/chat mock(儲存 readings 到 DB)以及前端 Vite 的最小 Ask.vue 範例。那個步驟會同樣拆成很小的 3 個子步驟。


一些實務小撇步(幫你少踩雷)

  • 舊 Mac 性能受限:避免同時在上面跑 Docker + 編輯器 + 本地模型。把「重」的工作放到 Windows 或雲端。Mac B 當 server,盡量 headless、少 GUI。
  • 固定 IP:把 Mac B 設固定 LAN IP(router 設 DHCP 保留或手動在 Mac 設定),方便後端或前端長期測試。
  • pm2 / systemd:伺服器端用 pm2(mac)或 Windows 服務管理器保持 Node 進程存活。
  • 備份 / 同步:用 GitHub 同步程式碼;技術文件額外備份到 Google Drive / OneDrive。
  • 安全:第一次驗證階段使用 LAN 存取;正式對外測試再考慮 ngrok 或在路由器上做 port-forward(並加上基本 auth)。

若你準備好了就從 「在 Windows 建後端並啟動 health API」 開始(直接照上面命令做就好)。
完成後告訴我哪一步成功或哪裡卡住,我立刻給你 Step 2(非常短):建立 POST /api/chat 的 mock、在 Windows 上用 Docker 啟動 MySQL(或我直接給你 SQL),以及簡單的前端 Ask.vue 範例,繼續一步步往 MVP 前進。