ObsidianとWordPressの自動投稿フローを整備した話|仕組みを知ることで広がる可能性

ObsidianとWordPressの自動投稿フローを整備した話|仕組みを知ることで広がる可能性

概要

Obsidianの特定フォルダにMarkdownファイルを置くだけで、WordPressに自動で予約投稿される仕組みを整備した。その過程で発覚した問題の解決と、「仕組みを知ることで可能性が広がる」という気づきの記録。

フロー全体像

Obsidian(13_投稿する記事)にファイルを置く
 ↓
obsidian_to_wp.py が検知(LaunchAgentで常時起動)
 ↓
WordPressのAPIに予約投稿
 ↓
_posted フォルダに移動
 ↓
WordPress管理画面がブラウザで自動表示

発覚した問題:全フォルダが監視対象だった

当初の設定ではObsidianのルートフォルダ全体を監視していた。学習ノートや個人メモも含めたあらゆる .md ファイルがWordPressに自動投稿される状態だった。

# 修正前
WATCH_FOLDER = ".../Documents"

# 修正後
WATCH_FOLDER = ".../Documents/13_投稿する記事"

_postedフォルダが繰り返し出現した原因

新しいファイルを保存するたびに _posted フォルダが作られる謎の現象が続いた。

調査の流れ:

  1. Obsidianのコミュニティプラグインを確認 → なし
  2. iPhoneのObsidianも動画で確認 → プラグインなし
  3. ファイル作成から 3秒で移動 されることを計測 → ローカルが原因
  4. macOSのLaunchAgentを確認 → com.casio.obsidian-to-wp.plist を発見
  5. スクリプトを読むと「投稿完了後に _posted へ移動」する処理を確認

学習ノートを保存するたびにWordPressへ投稿され、_posted に移動されていた。

削除スクリプトの整備

投稿確認後に一括処理できる wp-delete.sh を作成。

# WordPressの最新予約投稿を削除
curl -X DELETE "https://.../wp/v2/posts/${ID}?force=true"

# _postedフォルダも削除
rm -rf ".../13_投稿する記事/_posted"

# ブラウザをリロード(osascript)
osascript -e 'tell application "Google Chrome" to reload active tab of front window'

osascriptとは?

osascript はmacOSに標準搭載のAppleScript実行コマンド。ローカルのChromeアプリに直接「リロードして」と命令できる。

ネットワーク越しにサーバーを操作するのではなく、Mac上のChromeアプリそのものに話しかけているイメージ。SafariやFinderなど他のアプリも同様に操作できる。

仕組みを知ることで広がる可能性

今回の作業を通じて実感したこと。

osascriptの仕組みを知ると「ブラウザを自動操作できる」という可能性が見えてくる。LaunchAgentを知ると「常時起動の自動化」が見えてくる。仕組みを理解するほど「できること・できないこと・やりたいこと」が具体的にイメージできるようになる。

これを知っているかどうかが、AIと協働する上での大きな差になる。 仕組みへの理解を育て続けることが、AI時代における人間側の重要な素養ではないかと感じた。

対処内容まとめ

  • 監視フォルダを 13_投稿する記事 のみに変更
  • 古いプロセスをkillして再起動
  • 意図せず投稿された記事を 69件削除
  • 投稿後にWordPress管理画面を自動表示する機能を追加
  • 削除・リロード・_posted削除を一括処理するスクリプトを整備

関連記事

ブログ

BLOG

PAGE TOP