Data & Files
Huabu stores each Space as a directory of plain files inside the Home folder you choose.
Home layout
Each Space is a self-contained directory inside your Home. Its content, attachments, AI memory, and conversation history stay together.
text
<home>/
├── <space-title>/ # one folder per Space
│ ├── space.json # this Space's topology
│ ├── nodes/<node-title>.md
│ ├── .artifacts/<artifactId>.<ext>
│ ├── .memory/space.md # Space memory
│ └── .history/ # conversation and event history
└── setting/
├── user.md # User memory
└── skills/<id>/SKILL.md # user-authored skillsPer-Space files
| Item | Format | Notes |
|---|---|---|
space.json | JSON (atomic writes) | Topology — nodes, edges, geometry, version. Each save writes a .tmp then renames. |
nodes/<title>.md | Markdown + YAML frontmatter | One file per node (Note / Text / Web / PDF / Image / Video / Frame). Don't edit the id field. |
.artifacts/ | Raw binaries | PDF / image / video originals; each filename is based on its artifact ID. |
.memory/space.md | Markdown | Space-level memory the AI writes. |
.history/ | JSON / JSONL | Conversation threads and event timeline. |
Home settings & skills
The setting/ directory contains information shared across Spaces: user.md stores user memory, while skills/<id>/SKILL.md stores user-authored skills and their supporting files.
Hand-editing files
| File | Hand-editable? |
|---|---|
space.json | ❌ Don't edit — Huabu manages this file automatically. |
nodes/<title>.md body | ✅ Yes — next Space load picks it up. |
nodes/<title>.md frontmatter id | ❌ Never — node references rely on it. |
nodes/<title>.md filename | ✅ Renaming the file renames the node on next load. |
.artifacts/ filenames | ❌ Don't change — filename = artifactId, used by the node's src. |
.history/.../*.json | Not recommended — but deletions only lose conversation context, not Space content. |
setting/user.md | ✅ Edit freely; the AI will respect the 4 KB cap on its next write. |
setting/skills/<id>/SKILL.md | ✅ Author your own skills here. |