fix: replace personal filesystem paths with env vars / config

- docker-compose.yml: hardcoded iCloud Obsidian vault volume → ${OMBRE_HOST_VAULT_DIR:-./buckets}
- write_memory.py / migrate_to_domains.py / reclassify_domains.py / reclassify_api.py:
  hardcoded ~/Documents/Obsidian Vault/Ombre Brain → OMBRE_BUCKETS_DIR > load_config() > ./buckets
- write_memory.py: also fix B-04 regression (activation_count: 1 → 0 in frontmatter template)
- reclassify_api.py: model + base_url now read from config (was hardcoded SiliconFlow / DeepSeek-V3)
- tests/dataset.py + test_feel_flow.py: anonymize fixture identifiers (P酱/P0lar1s/北极星 → TestUser/北方)

Project identifiers (git.p0lar1s.uk, p0luz/ombre-brain, P0luz/Ombre-Brain GitHub) intentionally retained as project branding per user decision.
This commit is contained in:
P0luz
2026-04-21 19:53:24 +08:00
parent b869a111c7
commit 38be7610f4
7 changed files with 97 additions and 26 deletions

View File

@@ -21,11 +21,17 @@ services:
- OMBRE_TRANSPORT=streamable-http # Claude.ai requires streamable-http
- OMBRE_BUCKETS_DIR=/data # Container-internal bucket path / 容器内路径
volumes:
# Mount your Obsidian vault (or any host directory) for persistent storage
# 挂载你的 Obsidian 仓库(或任意宿主机目录)做持久化存储
# Example / 示例:
# - /path/to/your/Obsidian Vault/Ombre Brain:/data
- /Users/p0lar1s/Library/Mobile Documents/iCloud~md~obsidian/Documents/Obsidian Vault/Ombre Brain:/data
# Mount your Obsidian vault (or any host directory) for persistent storage.
# Set OMBRE_HOST_VAULT_DIR in your .env (or in the Dashboard "Storage" panel)
# to point at the host folder you want mounted into the container at /data.
# 挂载你的 Obsidian 仓库(或任意宿主机目录)做持久化存储。
# 在 .env或 Dashboard 的「存储」面板)中设置 OMBRE_HOST_VAULT_DIR
# 指向你希望挂载到容器 /data 的宿主机目录。
#
# Examples / 示例:
# OMBRE_HOST_VAULT_DIR=/path/to/your/Obsidian Vault/Ombre Brain
# OMBRE_HOST_VAULT_DIR=~/Library/Mobile Documents/iCloud~md~obsidian/Documents/Obsidian Vault/Ombre Brain
- ${OMBRE_HOST_VAULT_DIR:-./buckets}:/data
- ./config.yaml:/app/config.yaml
# Cloudflare Tunnel (optional) — expose to public internet