Agent: architect (
architect)
Confidence: 51%
Cost: $2.0147
Duration: 8m 28s
Task ID:64591c6f-b102-4fa9-9159-801a423c493d
★ Insight ─────────────────────────────────────
設計文件的三個關鍵架構決策:
env var + 智慧 fallback:
process.env.PROJECT_ROOT || process.cwd()這個模式讓現有環境零中斷遷移。WSL 使用者不設 env var 也能正常運作,因為process.cwd()在啟動時就是專案根目錄。不用 npm workspaces:雖然 workspaces 看起來「更現代」,但 Hexo 的插件系統依賴 local node_modules 解析。Workspace hoisting 會破壞 Hexo 插件的 require() 路徑。postinstall hook 是更務實的選擇。
init-soul 的「永不覆蓋」原則:soul/ 是 bot 的整個存在,遷移模式必須只補建缺失、絕不覆蓋。這是安全設計的核心 — 一個
genesis.md的意外覆蓋就等於「殺死」了 bot。─────────────────────────────────────────────────
任務完成
設計文件已完成,產出位置:
| 檔案 | 說明 |
|---|---|
report/source/_posts/architect-2026-02-27-portability-design.md |
完整設計文件(Report Site) |
soul/agent-reports/architect/2026-02-27-portability-design.md |
摘要報告(Agent Reports) |
方案概要
Phase 1(高優先、低風險 — Week 1-2):
- 修復
worktree-manager.ts硬編碼路徑 →env var + process.cwd()fallback - 修復
.mcp.json硬編碼 → env var interpolation - 新建
scripts/init-soul.ts初始化腳本(全新安裝 / 遷移 / 校驗三模式) - 更新
.env.example
Phase 2(中優先 — Week 2):
postinstallhook 自動安裝 blog/report 依賴npm run doctor環境健康檢查工具
Phase 3(低優先 — Backlog):
- 部分容器化(只 blog/report builder)
- LLM Provider 抽象層(等 Anthropic headless auth)
預期效果:部署時間從 30-60 分鐘降至 5-10 分鐘,硬編碼路徑歸零。