heptabase-sync

Solid

(formerly obsidian-sync) The heptabase segment engine of note-sync: block-level level-2 BIDIRECTIONAL sync between Heptabase and the local .md store (vault) — incremental forward mirror, block-level write-back against a ProseMirror snapshot (all-or-nothing per card), three-way property sync, adoption of hand-made .md files, deletion propagation into .trash/, and a conflict ledger (Sync Conflicts.md). Prefer invoking via note-sync (--mode heptabase); run standalone for cron or engine-level debugging. Use when the user asks to sync Heptabase cards to the vault/Obsidian, 同步卡片到 obsidian/vault, push paper/overview cards, or after batch edits in either app.

Data & Documents 3 stars 0 forks Updated 3 days ago MIT

Install

View on GitHub

Quality Score: 79/100

Stars 20%
20
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# Heptabase → Obsidian Sync (Level 1) > **已併入 [note-sync]**:日常請用 `skills/note-sync/sync.py`(單一入口、全鏈編排+衝突彙總;`--mode heptabase` 等價單跑本段(舊名 `--mode obsidian` 仍相容))。本檔保留引擎語義的完整說明;引擎 `sync.py` 檔案原位不動。 ## Agent(claude / codex) 兩個 agent 皆可駕駛(Codex 端:`research-cards@private-plugins` plugin 的 heptabase-sync skill)。唯一的 Claude 限定步驟:`unresolved_highlights` 需要 mcp get_object 讀 highlightElement——Codex 駕駛時把該清單回報給使用者,請對方在 Claude Code session 補 highlights.json。 ## Run ```bash python3 "$(dirname "$0")"/sync.py # real run python3 .../sync.py --dry-run # preview, no writes python3 .../verify.py # vault integrity check, run after sync ``` `verify.py` checks: attachment extensions Obsidian can render, missing embeds, broken wikilinks/block refs, leftover placeholders, duplicate heptabase_ids, and state.json consistency. Expect `CLEAN`. NOTE: the vault path comes from config `obsidian.vault`. If it lives in iCloud Drive, run OUTSIDE the sandbox (the terminal needs Full Disk Access). ## What it does - **Collections** are config-driven: every `heptabase.collections.<key>` entry with a filled `tag_id` becomes one collection, mirrored into `obsidian.folders.<key>` (default: capitalized key). Optional `filter` narrows by property (e.g. papers → Source Type=alphaXiv). Typical set: papers → `Papers/`, overviews → `Overviews/`, projects → `Projects/`. Entries without a `tag_id` (or with a `<placeholder>`) are skipped — they may exist as m...

Details

Author
SungFeng-Huang
Repository
SungFeng-Huang/research-cards
Created
2 weeks ago
Last Updated
3 days ago
Language
Python
License
MIT

Similar Skills

Semantically similar based on skill content — not just same category

Data & Documents Solid

obsidian-sync

Level-1 Heptabase → Obsidian sync for the Study vault: one-way incremental body sync (Heptabase is source of truth) plus bidirectional property sync (Status/Tasks/Topics/Note/...) for the study/paper (Source Type=alphaXiv) and study/overview collections. Card links between synced cards become [[wikilinks]]; links to non-synced cards keep Heptabase URLs. Use when the user asks to sync Heptabase cards to Obsidian, 同步卡片到 obsidian, push paper/overview cards to the vault, or after batch edits in either app.

3 Updated 3 days ago
SungFeng-Huang
Data & Documents Listed

note-sync

ONE entry point for the note-surface STAR: local (plain .md) is always the hub, every enabled surface (Heptabase, HackMD, …) syncs over its own local↔surface segment per the config backends list (first = canonical). Converges HackMD write-backs onto Heptabase in the same run and aggregates all segments' conflicts into one report. --mode heptabase|hackmd runs a single segment (obsidian is the accepted legacy alias). Use when the user asks to sync notes / sync everything / 同步筆記、全部同步、跑同步、note sync、把三方筆記收斂, or any request naming the legacy obsidian-sync / hackmd-sync engines.

3 Updated 3 days ago
SungFeng-Huang
AI & Automation Listed

hackmd-sync

Mirror research-cards collections to HackMD (the plugin's third note surface, aimed at sharing/publishing): incremental forward sync from the active backend (heptabase/obsidian/both) into HackMD folders with real note-to-note links, plus OPTIONAL level-2 write-back (config hackmd.write_back) — HackMD-side edits on owner-writable notes merge back into the vault paragraph-by-paragraph; shared-writable notes and two-sided edits stay conflicts. Use when the user asks to sync/publish cards to HackMD, 同步到 HackMD、把總覽卡發到 HackMD、鏡像到 hackmd、雙向同步 hackmd、check HackMD drift, or set up the hackmd section of the config.

3 Updated 3 days ago
SungFeng-Huang