記事一覧

AIにブログ記事を投稿してもらう方法|EmDashのCLIとClaude Codeで下書きから公開まで

EmDashにはAIエージェント向けのCLIがあり、Claude Codeから記事の作成・画像登録・公開までできます。実際に設定した手順と、表が崩れる・画像の指定方法などの注意点をまとめました。

原稿が処理のゲートを通って公開ページになる流れを描いたイラスト

はじめに

このブログは、記事の下書きや投稿の作業をAI(Claude Code)に手伝ってもらっています。

「AIに文章を書いてもらう」だけなら、ChatGPTなどにコピー&ペーストで済みます。ただ、毎回、管理画面に貼り付けて整形するのは意外と手間です。

EmDash(このブログで使っているCMS)には、AIエージェントが使うことを想定したコマンド(CLI)が用意されています。これを使うと、AIが記事を直接ブログに書き込めます。

この記事では、実際に設定した手順と、やってみて分かった注意点をまとめます。

全体の流れ

図解:AIに記事を投稿してもらう流れ
  1. パソコンからEmDashの管理画面にログインする(最初の1回だけ)
  2. AIが記事の原稿を作る
  3. AIがCLIで記事を投稿する(下書きか公開かを選べる)
  4. 管理画面や実際のページで表示を確認する

手順1:CLIでログインする

ブログのフォルダーで、次のコマンドを実行します。

pnpm emdash login --url https://あなたのブログのアドレス

すると、ブラウザで開くページと、8文字のコードが表示されます。

  1. 表示されたページ(/_emdash/admin/device)を、管理者としてログインした状態で開く
  2. コードを入力する
  3. 許可する

これでパソコン側にログイン情報が保存され、以降のコマンドが使えるようになります。パスワードをAIに教える必要はありません。

手順2:記事を投稿する

原稿を下書きから確認の場へ、さらに公開へと手で渡すイラスト

記事は、タイトル・本文・抜粋などをまとめたJSONファイルとして渡します。

{
  "title": "記事のタイトル",
  "content": "## 見出し\n\n本文をMarkdownで書きます。",
  "excerpt": "一覧や検索結果に出る要約"
}

投稿は次のコマンドです。

pnpm emdash content create posts --file post.json --slug 記事のURL名 --draft --url https://あなたのブログのアドレス
  • --draft を付けると 下書き として保存されます。付けないと、すぐに公開されます
  • --slug は記事のURLの末尾になります(例:/posts/emdash-blog-setup)
  • 本文はMarkdownで渡すと、EmDashの本文形式に自動で変換されます

最初は --draft で入れて、管理画面で確認してから公開するのが安心です。

手順3:投稿した記事を直す

修正には content update を使います。ここで少し注意点があります。

# まず現在の状態を取得(_rev という値が出てくる)
pnpm emdash content get posts 記事ID --url https://あなたのブログのアドレス

# _rev を指定して更新
pnpm emdash content update posts 記事ID --rev 取得した_revの値 --file 修正内容.json --url https://あなたのブログのアドレス

--rev は「どの版を元に直したか」を示す値です。管理画面で誰かが先に編集していた場合、古い版を元にした上書きを防いでくれます。

また、JSONに入れた項目だけが更新され、入れなかった項目はそのまま残ります。たとえば画像だけを差し替えたいときは、画像の項目だけを渡せば、本文には触れずに済みました。

やってみて分かった注意点

図解:投稿でつまずいた2つの注意点

注意点①:表(テーブル)は崩れる

Markdownの表をそのまま渡したところ、表の各行がバラバラの段落になってしまいました。EmDashの本文形式(Portable Text)に、Markdownの表がそのまま変換されなかったためです。

対策: 比較などは箇条書きで書くようにしました。

注意点②:画像は「文字列」ではなく「オブジェクト」で指定する

アイキャッチ画像は、画像のURLを文字列で渡すのではなく、先にメディアとして登録し、その情報をまとめて渡す必要がありました。

pnpm emdash media upload ./cover.png --alt "画像の説明" --url https://あなたのブログのアドレス

登録すると、画像のIDや保存先(storageKey)が返ってきます。記事にはそれを次の形で指定します。

{
  "featured_image": {
    "id": "メディアID",
    "src": "/_emdash/api/media/file/保存先のファイル名",
    "alt": "画像の説明",
    "provider": "local",
    "meta": { "storageKey": "保存先のファイル名" }
  }
}

注意点③:Windowsでは文字化けに注意

WindowsのPowerShellでJSONファイルを作ると、ファイルの先頭に目に見えない印(BOM)が付くことがあり、「Invalid JSON」というエラーになりました。日本語を含むファイルは、BOMなしのUTF-8で保存すると通ります。

AIに任せるときに決めたルール

便利な反面、AIが書いた文章をそのまま出すのは不安もあります。このブログでは、次のルールで運用しています。

  • 自分が実際に経験していないことを、体験談として書かない
  • 性能や収益など、確認していない数字を書かない
  • 公開前に、リンク・画像・スマホとパソコンでの表示を確認する
  • 公開した記事は、タイトル・URL・日時を記録に残す

まとめ

EmDashのCLIを使うと、AIが記事の作成から投稿、画像の設定まで一通りこなせます。

一方で、表が使えない、画像の指定方法が独特、Windowsでは文字コードに注意、といったクセもありました。最初は下書きで投稿して、表示を確認してから公開するのがおすすめです。

前回の記事では、このブログ自体の開設手順をまとめています。

Cloudflare×EmDashで無料ブログを開設する手順

次に読む:AIに作業を任せると、危ない操作の手前で止まることがあります → AIに作業を任せたら「それは止めます」と言われた3つの場面

コメント

まだコメントはありません