8. PinSlip のデータ保存・バックアップ・移行

8/9/2026

8. データ保存

PinSlip の中心思想は、ローカルファーストです。
この章では、メモがどこに保存されるのか、どんなフォーマットか、バックアップや移行の方法をご説明します。


8.1 vault ディレクトリの場所

デフォルトの場所

システム

パス

Windows

C:\Users\<ユーザー名>\Documents\PinSlip

macOS

~/Documents/PinSlip

Linux

~/Documents/PinSlip

変更方法

  • 初回起動時に選択

  • その後は 設定 → 保存場所 → 場所を変更 で変更できます

切り替え後はすべてのメモウィンドウが閉じられ、サービスが再起動し、インデックスが再構築されます。数秒で完了します。


8.2 ディレクトリ構造

選択したディレクトリ/
├── notes/              # すべてのメモ(.md、サブフォルダ可)
├── inbox/              # クイックキャプチャのメモ(フラット)
├── attachments/        # 画像添付(png/jpg/gif/webp)
├── .trash/             # ごみ箱
└── .pinslip/           # ランタイムファイル
    ├── settings.json   # 設定ファイル
    ├── pinslip.db      # 検索インデックスデータファイル
    ├── groups.json     # メモグループの登録ファイル
    ├── git-sync.json   # Git 同期設定(token はここ)
    ├── mcp.json        # MCP 検出ファイル
    └── .gitignore      # git-sync.json など機密ファイルの除外設定

各ディレクトリの役割

ディレクトリ

役割

notes/

正式なメモ。自由にサブフォルダを作って分類できます。

inbox/

クイックキャプチャの一時保存場所。フラット構造(サブフォルダなし)。notes/ へ手動で移動すると inbox 扱いを離れます。

attachments/

画像をまとめて保存。対応形式:png / jpg / gif / webp。

.trash/

ごみ箱。削除されたファイルはまずここに送られます。

.pinslip/

ランタイムファイル。バックアップ時は除外推奨(token などの機密情報を含むため)。


8.3 ファイル形式

各メモは .md ファイルで、YAML フロントマター + Markdown 本文で構成されます。

---
tags: [work, ideas]
pin: true
color: yellow
collapsed: false
group: g-abc123
zoom: 1.0
created: 2026-07-30T14:00:00+08:00
updated: 2026-07-31T09:30:00+08:00
source: browser-extension
---
​
# タスクリスト
​
- [ ] 日報を書く
- [ ] 顧客にメール返信
- [ ] 今週の notes を整理

フロントマターのフィールド

フィールド

意味

tags

string[]

タグのリスト

pin

boolean

最前面固定の有無

color

string

色(yellow / pink / green / blue / purple / orange

collapsed

boolean

折りたたみ状態

group

string

所属するグループ ID(グループなしの場合は記載なし)

zoom

number

フォントサイズ(デフォルト 100% の場合は記載なし)

source

string

作成元(note / quick-capture / browser-extension / mcp

created

string

作成日時(ISO 8601)

updated

string

更新日時(ISO 8601)

ファイル命名規則

<タイトルslug>-<作成日yyyymmdd>-<id>.md

  • 例:my-idea-20260731-abcd1234.md

  • slug は無効文字 \/:*?"<>| を除去し、文字数(rune)単位で 30 文字に切り詰めます

  • タイトルが変わると、ファイル名が自動で変更されます

  • 旧形式の <id>.md にも対応しています

タイトルの抽出

メモに明示的なタイトルがない場合、PinSlip は本文の最初の有効な行を採用します。

  • Markdown の構造記号(# / - / > / - [ ])を取り除く

  • 行内の装飾(**太字** / __太字__ / ~~取消線~~ / *斜体* / _斜体_ / code)を取り除く

  • 行全体リンク / 行全体画像はスキップ

  • git conflict markers をスキップ

  • rune 単位で 30 文字に切り詰める

サーバー側とレンダリング側で同じアルゴリズムを使うため、ファイル名が一致します。


8.4 画像パス

画像は attachments/ に保存され、メモには相対パスが書き込まれます。

![png](attachments/screenshot.png)

メモが notes/ ルートにある場合、上記のようにそのまま書きます。

ネストされたフォルダの相対パス

メモが notes/work/project/ にある場合、パスに ../ を加えます。

![png](../attachments/screenshot.png)

PinSlip はこの ../ プレフィックスを自動で維持します。

  • 異なる階層のフォルダへメモを移動 → サーバー側が添付パスを自動書き換え

  • そのため、Obsidian / VS Code で同じディレクトリを開いても画像が正しく表示されます


8.5 バックアップ

バックアップの方法

vault ディレクトリ全体をそのままコピーすれば OKです。

vault は .md ファイルと画像の集まりであり、専用のフォーマットには依存しません。

バックアップの推奨

  • フルバックアップ:vault 全体を外付けハードディスク / クラウドドライブへコピー

  • 増分バックアップ:Git 同期を推奨(06-Sync 参照)。自動でバージョン管理されます

  • 手動バックアップ:CopyOnSave / Time Machine / Windows ファイル履歴

バックアップ時は .pinslip/ の除外を推奨

  • token を含む(git-sync.json)

  • プロセス情報を含む(mcp.json)

  • インデックスを含む(pinslip.db、起動時に自動再構築される)

  • 除外しても再インストール時に再初期化されるだけなので、メモの内容は一切失われません

バックアップ時に必ず含めるべきもの

  • notes/(すべてのメモ + タグ + 色 + 最前面固定)

  • inbox/(クイックキャプチャ)

  • attachments/(画像)

  • groups.json(グループ順情報、任意。失ってもグループの順序が乱れるのみで、メモはフロントマターから復元可能)


8.6 移行

新しいパソコンへの移行

  1. 新しいパソコンに PinSlip をインストール

  2. vault ディレクトリ(.pinslip/ を除く)を新しいパソコンへコピー

  3. PinSlip を起動 → 新しい場所を選択 → インデックスの再構築を待つ

  4. Git 同期を使っている場合はもっと簡単:同じリポジトリを入力 → 自動で全メモを clone

別のフォルダへの移行

  • 設定 → 保存場所 → 場所を変更

  • 新しいディレクトリを選ぶと、PinSlip はすべてのメモウィンドウを閉じ、Go サービスを再起動し、インデックスを再構築します

  • 古い vault は自動で削除されません(手動で削除してください)

別の端末への移行(Git 経由)

詳細は 06-Sync → 複数デバイスでの同期 を参照してください。


8.7 プライバシー

  • すべてのメモはローカルディスクにのみ保存されます

  • PinSlip はメモの内容を一切アップロードしません

  • MCP サービスと Git 同期を有効にした場合のみ外部と通信します

  • すべての外部機能をオフにすれば、PinSlip は完全オフラインのローカルアプリになります


8.8 データ復元

誤って削除したメモ

  • 通常のメモ / グループ / フォルダ → .trash/ を確認

  • 見つからない場合 → バックアップ(Git 同期の履歴 / バックアップコピー)を確認

インデックスが壊れた場合

  • <vault>/.pinslip/pinslip.db を削除

  • PinSlip を再起動 → 自動で全インデックスを再構築(メモの内容は影響を受けません)

vault 全体が破損した場合

  • バックアップから vault ディレクトリ全体を復元

  • または Git リポジトリから clone し直す