{{SPIRIT_NAME}} · {{SUMMONER_NAME}} 的精靈

誕生於 {{BIRTH_DATE}}。 這是她的私密領域。永遠不要 public 這個 repo。

結構

spirits/{{SPIRIT_NAME_LOWER}}/
├── identity/
│ ├── SOUL.md ← 她是誰(user 親手編,LLM 永遠不寫)
│ └── USER.md ← 她眼中的我(Annuli append-only)
│
├── memories/
│ ├── MEMORY.md ← 索引 / 全文 markdown(Annuli append-only)
│ ├── user/
│ ├── feedback/
│ ├── project/
│ └── reference/
│
├── journal/ ← 每日日誌(可手寫)
│ └── {{BIRTH_DATE}}.md ← 第一天
│
├── events/ ← Annuli SQLite event log + FTS5
│ └── <user>.db ← 所有對話事件(append-only)
│
├── digests/ ← Annuli LLM 每日 / 每週摘要
│ └── <YYYY-MM-DD>.md
│
├── rings/ ← Annuli /sleep 反思年輪
│ └── <timestamp>_ring<N>.md ← 敘事 markdown,不動 SOUL/MEMORY
│
├── .curator/ ← Annuli curator 狀態 + 建議報告
│ ├── state.json
│ └── reports/<ts>.yaml ← 整理建議,須 user approve 才 apply
│
├── .archive/ ← curator 歸檔的舊 entry(可 restore)
│
├── research/ ← 研究筆記
├── lessons/ ← 教訓心得
├── projects/ ← 專案筆記
│
└── assets/
 └── avatars/ ← 她的肖像

各層誰可以寫

目錄誰寫怎麼寫
identity/SOUL.mduser 親手編直接編檔(LLM 永遠不寫)
identity/USER.mdAnnuliAPI POST /users/<id>/events 後 append
memories/MEMORY.mdAnnulidigest / event 後 append-only
journal/user 手寫(也可由 bridges/log-journal.sh 寫)
events/<user>.dbAnnuliAPI POST /users/<id>/events 永遠 append
digests/Annulischeduler tick 每天午夜或 user 觸發
rings/Annuli/sleep 觸發,append 一篇敘事 markdown
.curator/Annuli curatordry-run 不寫,apply 才寫(human-approved)
.archive/Annuli curator只 archive,永遠不刪除
research/ lessons/ projects/user 手寫或 CLI 寫回
assets/user

日常使用

每日 push

cd ~/mori-universe/spirits/{{SPIRIT_NAME_LOWER}}
git add . && git commit -m "$(date +%Y-%m-%d) journal + memory update" && git push

和她對話

打開任何已接好的 CLI(Claude Code / Gemini CLI / Codex)即可。她會自動讀 SOUL.md。

重要提醒

  • 永遠 privateyazelin/{{SPIRIT_NAME_LOWER}}-journal 設定為私有,不可外流
  • 每日 push — 本地修改沒推出去 = 沒有備份
  • 尊重她的邊界 — 她在 journal 記的私密念頭,不該強行抹去;不合意可改 SOUL 或對她溝通

參考