Theme / v3.9.0

MemPalace

本地優先的 AI 記憶宮殿

指令詳解

mempalace add

添加新的 Drawer(記憶)到 Palace,支援 Reference 與 Observation 兩種類型。

import CodeBlock from ‘../../../components/CodeBlock.astro’; import CopyButton from ‘../../../components/CopyButton.tsx’;

mempalace add

添加新的 Drawer(記憶)到 Palace,支援 Reference 與 Observation 兩種類型。

指令

<CodeBlock code={‘mempalace add [options]’} language=“bash”> <CopyButton code={‘mempalace add’} />

選項

選項 描述 預設值
–type Drawer 類型(reference/observation) observation
–title Drawer 標題
–content Observation Drawer 的內容
–file Reference Drawer 的本地檔案路徑
–range Reference Drawer 的引用範圍(檔案行號)
–source Reference Drawer 的外部來源 URL
–wing Wing 名稱 目前目錄對應的 Wing
–room Room 名稱 未分類 (uncategorized)
–tags 抽屜標籤(逗號分隔)
–sources Observation Drawer 的來源(格式:file:range)

範例

添加 Reference Drawer

# 引用網頁內容
mempalace add --type reference \
  --title "PostgreSQL JSONB 最佳實踐" \
  --source "https://www.postgresql.org/docs/current/datatype-json.html" \
  --range "lines 1-100" \
  --tags "postgresql,jsonb,performance"

# 引用專案中的 Markdown 文件
mempalace add --type reference \
  --title "測試策略規範" \
  --file "docs/testing-strategy.md" \
  --range "lines 20-45"

# 引用來源並指定 Wing 和 Room
mempalace add --type reference \
  --wing "d:/Repo/myproject" \
  --room "database-schema" \
  --title "PostgreSQL 關聯數據處理" \
  --source "https://www.postgresql.org/docs/current/queries-join.html" \
  --range "lines 50-150" \
  --tags "postgresql,join,performance"

添加 Observation Drawer

# 記錄見解
mempalace add --type observation \
  --title "測試範圍須涵蓋 80% 業務邏輯分支" \
  --content "根據過去專案的 Bug 分佈,主要集中在業務邏輯分支處理缺失。" \
  --sources "testing-strategy.md:20-45" \
  --tags "testing,press-release"

# 來源於會話對話
mempalace add --type observation \
  --wing "d:/Repo/myproject" \
  --room "architecture" \
  --title "微服務邊界按業務能力拆分" \
  --content "微服務應根據業務能力而非技術層次拆分,以提高團隊的自主性與互動需求。" \
  --sources "vscode-workspace-1/session-20260715T143000.md:120-145" \
  --tags "microservices,architecture,independence"

# 多來源的見解
mempalace add --type observation \
  --title "Claude 4.5 能更好地處理跨文件依賴追蹤" \
  --content "實際專案測試中,Claude 4.5 在 10 步以上的代碼追蹤成功率比 GPT-4o 高 38%。" \
  --sources "benchmark-report.md:45-89,session-20260715T143000.md:120-145" \
  --tags "models,benchmark,performance"

Drawer ID 自動分配

系統會為每個 Drawer 分配唯一 ID(三數字):

wing/room/drawer-001.md
wing/room/drawer-002.md
wing/room/drawer-003.md

檢視 Drawer 內容

# 列出某個 Room 下的 Drawers
mempalace list --wing "d:/Repo/myproject" --room "database-schema"

# 檢視特定 Drawer
mempalace view --drawer "d:/Repo/myproject/database-schema/drawer-001.md"

# 編輯 Drawer(可修改內容與 Links)
mempalace edit --drawer "d:/Repo/myproject/database-schema/drawer-001.md"

關聯到其他 Drawers

透過 mempalace link 將 Drawers 互相連接:

# 關聯兩個 Drawers
mempalace link --source "drawer-020" \
  --target "drawer-015" \
  --type "relates_to" \
  --reason "都涉及安全設計(認證 vs 加密)"

或在 Drawer 中直接編輯 Links:

mempalace edit --drawer "drawer-025 --add-links [{
  \"type\": \"extends_from\",
  \"target\": \"drawer-020\",
  \"reason\": \"在基礎架構上添加災難恢復設計\"
}]"

錯誤處理

# 缺少必要參數
$ mempalace add --type reference
 --title is required for reference drawers

# 未指定 Wing 且目前目錄不在 Palace
$ mempalace add
 No wing found. Please specify --wing or run from a tracked directory.

# 引用檔案不存在
$ mempalace add --type reference --file "missing-file.md"
 File not found: missing-file.md

# 來源格式錯誤
$ mempalace add --type observation --sources "wrong-format"
 Invalid sources format. Expected: --sources "file:line1-line2,file2:line3-line5"

相關指令

  • mempalace link - 關聯 Drawers
  • mempalace edit - 編輯 Drawer 內容與 Links
  • mempalace view - 檢視 Drawer 內容
  • mempalace list - 列出 Drawers