(更新:2026年7月24日)
散歩中に思いついたことをLINEで送ると、AI秘書が整理してフォルダに保存してくれます。僕が毎日使っている仕組みを、この記事で全部公開します。コピペで動くファイル一式も配布します。ターミナル操作が初めてでも、手順通りに進められるように書きました。AIを仕事に使う最初の一歩として、ちょうどいい題材だと思います。
何かいいことを思いついても、忘れてしまうことはありませんか。
僕は散歩中に思いつくことが多いです。ただスマホのメモに書くと、そこで終わります。メモは増えるだけで、仕事につながりません。
だからいま、思いついたらLINEで「AI秘書」に送っています。
秘書は自宅のMacの中に住んでいます。メッセージを受け取ると、要点を整理して、会社の作業フォルダに日付つきで保存してくれます。「あれはどこに書いたか」と聞けば、探して答えてくれます。
実際には使いすぎて、LINE無料プランの月間送信上限に達し、返信が止まったことがあります。それほど日常の道具になっている、ということでもあります。
この記事では、この仕組みの作り方を最初から最後まで書きます。使っているファイルは、個人情報を除いてそのまま配布します。手順は自分で進めても、このページをAIに読ませて一緒に進めてもかまいません(後半に案内があります)。
できることは、普段パソコンでAIに頼んでいることと同じです。LINEが入り口になるだけです。
仕組みの全体は、この一本道です。
難しそうに見えますが、部品は4つだけです。LINE公式アカウントと、ngrokと、常駐スクリプトと、Claude Code。ぜんぶ用意する手順を、このあとSTEP1〜6で書きます。
必要なものは4つです。
かかるお金は、Claude Codeのサブスク代だけです。この仕組みのための追加課金はありません。LINE公式アカウントもngrokも、無料枠で動きます。
ただしLINEの無料枠には、月に送れるメッセージ数の上限があります。実際に、僕はこの上限に達したことがあります。くわしくは後半の「つまずきポイント」に書きます。
ここからは手を動かすパートです。ページ最下部で配っている「キット一式」を先にダウンロードしておくと、そのまま進めます。
「LINE公式アカウント」で検索し、LINE Official Account Managerで公式アカウントを新規作成します(無料で作れます)。作成できたら、Official Account Manager内の設定から「Messaging API」の利用を有効にします。これで自動的にMessaging APIチャネルが作られます。
次に「LINE Developers」で検索し、公式アカウントの作成に使ったのと同じアカウントでLINE Developersコンソールにログインします。作成されたチャネルが一覧に出てくるので、それを開きます。
ここで控えるものは2つです。
1つめは「チャネルシークレット」。チャネル基本設定の画面にあります。2つめは「チャネルアクセストークン(長期)」。Messaging API設定の画面で発行します。
最後に、自分のスマホでその公式アカウントを「友だち追加」しておきます。
秘書の仕事場になるフォルダを1つ決めます。ここでは「デスクトップのAI秘書フォルダ」とします。その中に _shared/line というフォルダを作り、キットの中身を入れます。
mkdir -p ~/Desktop/AI秘書/{workspace,_shared/line}
次に、ダウンロードしたzipをFinderでダブルクリックして解凍します。できた kit フォルダを開くと、中に8ファイルが入っています。これを全部選択して、さきほど作った _shared/line フォルダへドラッグ&ドロップしてください。
ターミナルで済ませたい場合は、次のコマンドでも同じことができます(zipがダウンロードフォルダに入っている前提です)。
cp -r ~/Downloads/kit/* ~/Desktop/AI秘書/_shared/line/
workspace は、秘書がメモや会話ログを保存するフォルダです。いっしょに作っておいてください。
置き場所には意味があります。リスナーは「自分の2つ上のフォルダ」を秘書の仕事場として使うからです。この形だけ守ってください。
次に、秘密のトークンを入れるファイルを作ります。
cd ~/Desktop/AI秘書/_shared/line cp トークン.local.json.例 トークン.local.json
作った トークン.local.json をエディタで開いて、STEP1で控えた「チャネルシークレット」と「チャネルアクセストークン」を貼ります。allowed_user_ids はいったん空のままで大丈夫です。
秘書に人格や口調を持たせたい場合は、キットと同じフォルダに 人格.md という名前のファイルを作ります。名前・口調・役割を書いておくと、その人格で応対します。無くても動くので、あとからで大丈夫です。
自宅のMacをLINEのサーバーから呼べるようにします。
brew install ngrok ngrok config add-authtoken <あなたのauthtoken>
authtokenは、ngrokのダッシュボードに書いてあります。あわせてダッシュボードで、無料の「固定ドメイン」を1つ取得してください。固定にしない場合に起きる問題は、つまずきポイントに書きます。
ターミナルを2枚開きます。
# 1枚目:リスナー cd ~/Desktop/AI秘書/_shared/line && python3 line_listener.py # 2枚目:トンネル(固定ドメインを自分のものに) ngrok http --url=https://<固定ドメイン> 8765
両方が立ち上がったら、LINE DevelopersのWebhook URL欄に https://<固定ドメイン>/line/webhook を設定します。「検証」ボタンを押して成功すれば、配線はつながっています。
Webhookの利用はON。あいさつメッセージと応答メッセージはOFFにしておくと、秘書の返事と混ざりません。
この時点では、秘書はまだ誰にも反応しません。安全のためです。
スマホのLINEから、公式アカウントに何かメッセージを送ってみてください。リスナーのログに 🔒 未許可userId: U... という行が出ます。
その U... をコピーして、トークン.local.json の allowed_user_ids に貼ります。リスナーを再起動すれば、「自分にだけ反応する秘書」の完成です。
ここで一度、話しかけて返事が来ることを確認してください。
最後に、リスナーとトンネルをMacの常駐サービスにします。キットのplistファイル2本を使います。
その前に1つだけ作業があります。plist 2本の中の /Users/あなたのユーザー名/... となっている箇所を、自分の環境に書き換えてください。書き換える場所は、各ファイル冒頭のコメントに書いてあります。tunnel側のplistは、ngrokのパスと固定ドメインの書き換えも必要です。
cp com.ai-hisho.line-listener.plist.例 ~/Library/LaunchAgents/com.ai-hisho.line-listener.plist cp com.ai-hisho.line-tunnel.plist.例 ~/Library/LaunchAgents/com.ai-hisho.line-tunnel.plist launchctl load ~/Library/LaunchAgents/com.ai-hisho.line-listener.plist launchctl load ~/Library/LaunchAgents/com.ai-hisho.line-tunnel.plist
止めたいときは launchctl unload で外せます。
これで完成です。散歩に出て、思いついたことを送ってみてください。
「自宅のMacを外部に公開して、AIに作業までさせる」仕組みなので、安全の話は省けません。このキットには、4つの守りが入っています。
allowed_user_ids に入れた人以外には、会話も作業も一切しません。公式アカウントを誰かに友だち追加されても、無反応です。トークン.local.json だけに置きます。フォルダをgitで管理するなら、.gitignore に *.local.json を必ず入れて、gitに上げないでください。もう1つ。キットの初期設定では、AIの権限を「acceptEdits」という安全寄りのモードにしてあります。全自動にしたい人は設定を変えられますが、そこは自己責任でお願いします。
僕が実際にぶつかった順に書きます。
LINE公式アカウントの無料プランは、月に送れるメッセージ数に上限があります。上限に達すると、秘書からの返信が届かなくなります。
僕の場合は、毎日のやり取りでこの上限に達しました。受信は止まらないため、メッセージは届いているのに返信だけが来ない状態になります。
対処は2つです。翌月まで送信をひかえるか、有料プランに変更するかです。毎日使うつもりなら、最初から有料プランを検討するのが現実的です。
ある日突然、返事が来なくなったら、まずこれを疑ってください。Claude Codeのログインが切れると、リスナーは動いていても秘書が起動できません。
ターミナルで claude を起動して、/login でログインし直せば復活します。
ngrokは、固定ドメインを取らずに起動するとURLが毎回変わります。すると、Mac再起動のたびにLINE側のWebhook URLを直すはめになります。
無料枠で固定ドメインを1つ取得できるので、必ず最初に取ってください。STEP3で固定ドメインを前提にしているのは、このためです。
もう1つだけ。常駐化したあとに claude が見つからないエラーが出たら、line_listener.py の CLAUDE_BIN を which claude の結果のフルパスに書き換えてください。
この記事で説明したファイル一式を、そのまま配布します。僕が毎日使っているものから、個人情報とトークンを除いた中身です。
zipは「Finderでダブルクリック」して解凍してください。日本語のファイル名が入っているので、ターミナルのunzipだと名前が崩れることがあります。
中身は8ファイルです。リスナー本体(line_listener.py)、LINE送信ユーティリティ(line_reply.py/line_push.py)、設定ファイル(設定.json)、トークンの雛形(トークン.local.json.例)、常駐用plist 2本、そして手順の要約(SETUP.md)です。
そのまま動かして、自分の業務に合わせて調整してください。
ここまでの手順は、自分で進める前提で書きました。もう1つ、別のやり方があります。
このページをあなたのAI(Claude Codeなど)に読ませて、「この手順でLINE秘書を作って」と頼む方法です。AIがキットを取り寄せて、手順を一緒に進めてくれます。
そのための指示文を、下に用意しました。AIにこのページのURLを渡すか、次のブロックをそのまま貼りつけて使ってください。
【AIへの指示:LINE秘書のセットアップ】 あなたは利用者と一緒に「LINEで動くAI秘書」を作ります。 1. https://oneism.jp/assets/ai-hisho/ai-hisho-line-kit.zip をダウンロードして展開し、 この記事の手順STEP1〜6を、利用者と一緒に順番に進めること。 2. 人間の手が必要な箇所(LINE Developersでのチャネル作成・トークン取得・ ngrokのアカウントと固定ドメインの取得)は、画面の場所を案内しながら、 1個ずつ利用者に頼むこと。 3. 秘書に人格を入れたい場合は、利用者に「どんな人格・口調の秘書がいいですか?」と 質問し、回答をもとに 人格.md をキットと同じフォルダに一緒に作ること(任意)。 4. チャネルシークレット等の秘密は、利用者自身に トークン.local.json へ貼ってもらうこと。 秘密の値をチャットに表示させないこと。 5. 動作確認(STEP4〜5)まで終えたら、常駐化(STEP6)に進むかを利用者に確認すること。
あなたのAIと、一緒に作ってみてください。
かかるお金は、Claude Codeのサブスク代だけです。この仕組みのための追加課金はありません。LINE公式アカウントもngrokも、無料枠で動きます。
4つです。付けっぱなしにできるMac、Claude Code、LINE公式アカウント、ngrok。LINE公式アカウントは無料で作れます。ngrokも無料枠で足ります。
手順通りに進められるように書きました。自分で進めるほかに、このページをAIに読ませて「この手順でLINE秘書を作って」と頼む方法もあります。記事の後半に、そのための指示文を用意しています。
大丈夫です。userIdの許可リストに入れた人以外には、会話も作業も一切しません。許可していない相手には無反応です。
まずLINE無料プランの月間メッセージ上限と、Claude Codeのログイン切れを疑ってください。上限に達すると、受信は続くのに返信だけが届かなくなります。ログイン切れは、ターミナルでclaudeを起動し、/loginでログインし直せば復活します。
常駐化すれば復帰します。キットのplist 2本をLaunchAgentsに置いて、launchctl loadで登録してください。あわせてngrokの固定ドメインを取得しておくと、再起動のたびにWebhook URLを直す必要がなくなります。
8ファイルです。リスナー本体(line_listener.py)、LINE送信ユーティリティ(line_reply.py/line_push.py)、設定ファイル(設定.json)、トークンの雛形(トークン.local.json.例)、常駐用plist 2本、手順の要約(SETUP.md)。毎日使っているものから、個人情報とトークンを除いた中身です。
参考リンク:LINE Developers / ngrok / Claude Code