import CodeBlock from ‘../../../components/CodeBlock.astro’; import CopyButton from ‘../../../components/CopyButton.tsx’;
mempalace init
初始化新的 Palace,建立第一個 Wing 並設定後端存儲。
指令
<CodeBlock code={‘mempalace init [options]’} language=“bash”> <CopyButton code={‘mempalace init’} />
選項
| 選項 | 描述 | 預設值 |
|---|---|---|
| -p, –path | Palace 根目錄 | 目前目錄 (.mempalace/) |
| –wing | 第一個 Wing 名稱 | 自動偵測 git 儲存庫 |
| –backend | 後端存儲類型 | chromadb (推薦) |
| –skip-backend | 跳過後端設定 | false |
範例
# 在當前目錄初始化
mempalace init
# 指定 Palace 根目錄
mempalace init --path ~/.mempalace
# 指定第一個 Wing
mempalace init --wing "d:/Repo/myproject"
# 選擇 ChromaDB 後端(推薦)
mempalace init --backend chromadb
建立的檔案結構
.mempalace/
├── palace/ # Palace 根目錄
│ ├── palace.yaml # Palace 配置
│ └── wings.yaml # Wings 列表
├── db/ # 後端存儲(ChromaDB)
│ └── chroma.db
└── config.yaml # MemPalace 配置
palace.yaml 範例
version: "3.6.0"
palace_path: ".mempalace/palace"
backend:
type: "chromadb"
path: ".mempalace/db/chroma.db"
timestamp_format: "2006-01-02T15:04:05Z07:00"
default_language: "zh-TW"
迴避情況
第一次執行 mempalace add 時,若 Palace 尚未初始化,系統會自動執行 mempalace init。
錯誤處理
# Palace 已存在
$ mempalace init
✗ Palace already initialized at .mempalace
# 後端初始化失敗
✗ Failed to initialize backend: chromadb error
# Wing 名稱無效
✗ Invalid wing name: wing-01 (should be concrete identifier like repository path)
相關指令
mempalace add- 添加 Drawermempalace list- 列出 Palace 結構mempalace graph- 檢視知識圖譜