替店裡改網站,前一版別被蓋掉:用 Orca 留兩份方案再選
重點摘要
- 2026-10-27 以 Orca 建立兩個工作副本,手動把自製首頁改藍與改紅,兩份修改各自保留。
- 同一測試中,原始首頁內容未變。
- 額外把互斥配色合併時,index.html 同一行發生衝突,Git 回傳 1。
- 本次沒有測 AI 生成、手機配對或遠端功能。
- 結論: 工作副本能保留不同方案;最後採用哪種設計仍需自行選擇。
- 適合: 已用AI或自己修改網站、需要保留多個方案比較的人
- 不適合: 希望完全不碰網站檔案或版本選擇、按一下就自動完成設計的人
| 實測項目 | 結果 |
|---|---|
| 手動改色 | 2/2 版本保留 |
| 原始首頁 | 內容未變 |
| 雙版合併 | index.html 同一行衝突;回傳1 |
替店裡改首頁,藍色看起來清爽,紅色又很醒目。兩種都想看看,直接改同一份檔案,上一個配色就不見了;想比較,還得改回去。真正需要的不是「把兩個顏色混起來」,而是先保留兩份可以各自修改的方案,等看過再決定。
Orca 給使用 AI 寫程式、改網站的人集中管理不同工作。這篇只驗證其中的工作副本功能:它在同一個專案裡,替不同任務安排各自的位置,像分開的工作桌。影片裡的店家是帶入用途的情境,實測材料則是自製的單行首頁,不是聲稱替某家真實店面完成網站。
我們用 Orca 開兩個副本,手動把同一個標題分別改藍、改紅。結果兩份修改各自留下,原始首頁也沒被動到。再刻意把兩個互斥配色合進第三份,才出現衝突。這是兩個不同問題:分開保留可以成功;同一位置最後用哪種設計,還是要由人選。沒有登入 AI 訂閱,沒有測 AI 生成品質,下面不把改色結果當成 AI 協作效率。
版本、設備與安裝
測試日期是 2026 年 10 月 27 日,使用 Orca 1.4.214、原始碼版本 ce4e0579。測試設備為 Mac mini M4 Pro(12 核、64GB);受測執行環境是 Debian arm64,Node 24.22.1、pnpm 12.14.0。這次從原始碼編譯 CLI 與應用程式,沒有另測桌面下載版。
一般使用者可從官方下載頁取得安裝程式,開啟 Orca,依設定頁的 Orca CLI 選項註冊命令。官方文件指出 Linux 安裝版命令叫 orca-ide,以免與螢幕閱讀器撞名。下面保留本次編譯版的 orca-dev 名稱;安裝版請換成對應命令,並先確認 Orca 已在執行。
從原始碼安裝時,我們先遇到 Node 版本不符;補到 Node 24 後,原生模組檢查又因缺少 libnspr4.so 失敗。補齊 NSPR、NSS、GTK 等系統相依套件後,重新安裝通過,CLI 與應用程式建置也成功。這是本次執行環境的安裝問題,不能據此認定所有使用者都會遇到。
建立兩個工作副本
以下在新的示範資料夾執行,Python 3 只用來讀取 CLI 回傳的 JSON。實際測試的首頁只有一行標題,讓結果容易核對:
mkdir demo-shop
cd demo-shop
git init
git config user.name Demo
git config user.email [email protected]
printf '<h1>Shop</h1>\n' > index.html
git add index.html
git commit -m initial
orca-dev repo add --path "$PWD" --json > repo.json
RID=$(python3 -c 'import json;print(json.load(open("repo.json"))["result"]["repo"]["id"])')
orca-dev worktree create --repo "id:$RID" --name blue-page --no-parent --json > blue.json
orca-dev worktree create --repo "id:$RID" --name red-page --no-parent --json > red.json
兩份 JSON 裡的 result.worktree.path 是各自的工作位置,不要把示範機的絕對路徑照抄到自己的電腦。接著在兩個副本寫不同配色,並保留原始首頁供比較:
python3 - <<'PY'
import json
from pathlib import Path
a = Path(json.load(open('blue.json'))['result']['worktree']['path'])
b = Path(json.load(open('red.json'))['result']['worktree']['path'])
(a/'index.html').write_text('<h1 style="color:blue">Shop</h1>\n')
(b/'index.html').write_text('<h1 style="color:red">Shop</h1>\n')
print('BLUE:', (a/'index.html').read_text())
print('RED:', (b/'index.html').read_text())
print('ORIGINAL:', Path('index.html').read_text())
PY

分開修改通過,合併還要選版
| 實測項目 | 結果 |
|---|---|
| 藍、紅副本的修改 | 2/2 各自保留 |
| 原始首頁 | 仍是未加配色的 Shop |
| 兩版合併 | index.html 同一行發生衝突 |
我們把兩份修改各自提交,再於第三個工作副本先合藍版、再合紅版。第二次合併出現 CONFLICT (content),Git 回傳 1,衝突檔案是 index.html。若要重現,第三副本需從原始提交建立,並使用 worktree create 回傳的分支名稱;本次分支是 Demo/blue-page 與 Demo/red-page:
BLUE=$(python3 -c 'import json;print(json.load(open("blue.json"))["result"]["worktree"]["path"])')
RED=$(python3 -c 'import json;print(json.load(open("red.json"))["result"]["worktree"]["path"])')
for DIR in "$BLUE" "$RED"; do
git -C "$DIR" add index.html
git -C "$DIR" commit -m color
done
orca-dev worktree create --repo "id:$RID" --name integration --no-parent --json > integration.json
INTEGRATION=$(python3 -c 'import json;print(json.load(open("integration.json"))["result"]["worktree"]["path"])')
cd "$INTEGRATION"
git merge Demo/blue-page --no-edit
git merge Demo/red-page --no-edit
git diff --name-only --diff-filter=U

遇到這個結果,先打開 index.html,決定採用哪個顏色、整理衝突標記,再提交;若只是練習,可用 git merge --abort 放棄本次合併。分支名稱、工作路徑會依自己的設定不同,不要把範例當成固定值。
比較完,怎樣才算收尾?
先打開藍版與紅版的首頁比較,決定採用哪個設計;不要因為兩個方案都保留下來,就把它們全部往主稿合。上面的第二次合併是刻意測邊界,並不是選版的必經步驟。這份示範只有一個標題,兩邊對同一行提出不同改法,因此 Git 不會替使用者判斷哪個比較好看。
練習遇到衝突時,最容易理解的處理方式,是把 index.html 整理成你選定的那一版,刪除 <<<<<<<、=======、>>>>>>> 這些衝突標記,再檢查預覽。確認內容後,執行 git add index.html 及 git commit -m "choose homepage color" 完成這次合併;不想繼續則執行 git merge --abort。這一段是後續操作指引,本次保存的收據只到衝突出現,沒有冒稱另外完成解衝突或公開上線。請先在練習專案熟悉流程,別拿正式首頁當第一個測試。
我會用它保留幾個網站方案再比較,尤其是已經用 AI 改程式、同時試不同方向的人。只改一小段文字,不一定需要多開工作;完全不熟悉網站檔案與 Git 的人,也不能把 Orca 當成按一下就完成設計的工具。這次確定的是兩份修改沒有互相覆蓋;沒有量到節省多少時間,也沒有測手機配對、遠端連線、大型專案與付費服務。
專案:stablyai/orca,MIT 授權。本文依 2026-10-27 留存的 README、CLI 說明與原始實測收據整理;官方 CLI 說明列出完整命令。本篇是舊片退修後的教學重整,沒有為了錄影重新執行外部操作。