「公式LINEに追加機能つけたり、自動化したいな・・」
「Lステップ、月2万円か・・・続けるかどうか迷ってる」
そう思って検索してきたあなたへ、結論からお伝えします。
2026年4月、解約してもいい時代が来ました。
OSSの「LINE Harness」というLINE CRMが登場し、Lステップ・エルメと機能はほぼ同等。
さらに月額0円で動きます(=Cloudflareの無料枠)。

僕(アラン)は今日、
Claude Codeと一緒に丸1日でこのCRMをまるごと組んでみました。
スマホでも動く本番URLまで確保済みです。
みけえっ、Lステップって月2万でしょ?
それが0円?
怪しくない・・・?



みけ、怪しくないんだ。
OSS(オープンソース)で、ソースコードが全部公開されてる。
誰でも自分のサーバーに置いて使える仕組みだよ!



L社の月額21,780円 vs 0円。
機能はほぼ同等。
これは見過ごせない構造変化だな。
この記事は、実際に丸1日でLINE Harnessを組んだ作業ログです。
- L社を解約したい(or 加入を迷ってる)人
- LINE公式アカウントでステップ配信を組みたい人
- Claude Codeで何ができるか実例で見たい人
このどれかに当てはまるなら、最後まで読む価値があります。
スクショで写真を共有しながら解説しますね。
\今ならAIプロンプト5選配布中!/
LINE Harness とは?Lステップ/エルメの完全代替・MIT・無料


まず「LINE Harness って何?」から3分で説明します。
LINE Harnessは、LINE公式アカウントの完全オープンソースCRMです。GitHubで全ソースコードが公開されていて、MITライセンス(=商用利用OK)。
ざっくりした立ち位置はこうです。
| 項目 | L社(Lステップ) | U社(エルメ) | LINE Harness |
|---|---|---|---|
| 月額 | 21,780円〜 | 10,780円〜 | 0円 |
| ステップ配信 | ○ | ○ | ○ |
| セグメント配信 | ○ | ○ | ○ |
| リッチメニュー切替 | ○ | ○ | ○ |
| フォーム(LIFF) | ○ | ○ | ○ |
| スコアリング | ○ | × | ○ |
| API公開 | × | × | 全機能 |
| AI(Claude Code)対応 | × | × | ○ |
| ソースコード | 非公開 | 非公開 | MIT(全公開) |
| 運用コスト目安 | 年26万円 | 年13万円 | 年0円〜 |
機能はLステップとほぼ同等。
さらに「APIが全部公開されてる」「AI(Claude Code)で操作できる」という、Lステップにない武器が乗っている。
なぜ「無料」で動くのか?
(=Cloudflare無料枠の威力)
仕組みは単純です。
LINE HarnessはCloudflareという会社の無料枠に乗っかって動きます。
- Cloudflare Workers(=APIサーバー):1日10万リクエストまで無料
- Cloudflare D1(=データベース):500万行/日まで無料
- Cloudflare R2(=画像ストレージ):10GB/月まで無料
- Cloudflare Pages(=管理画面のホスティング):月500ビルドまで無料
5,000友だちまでなら、本当に1円もかかりません。
1万友だち超えたら月10ドルくらい(=Cloudflare有料プラン)。
それでもLステップの1/15です。



うわ、Cloudflareってそんな太っ腹なの?



太っ腹に見えるけど、彼らのビジネス構造的に大量配信が前提だから、
個人開発者が小さく使う分には無料で配ってる方が広告として強いんだ。
賢いマーケティングだよ。
\今ならAIプロンプト5選配布中!/
何ができたか?完成したもの3つ(=結論を先に見せます)
手順の前に、「実際に何が出来上がったか」を先に見せます。これが見えないと、「どうせ動かないんでしょ?」と疑いながら読むことになるので。
完成形①:管理画面(PC)— 緑が眩しいダッシュボード
これがLINE Harnessの管理画面です。
Lステップを使ったことがある人なら、見慣れたUIに見えるはず。


左サイドバーに「友だち管理 / 個別チャット / シナリオ配信 / 一斉配信 / テンプレート / リマインダー / 流入経路 / CV計測 / スコアリング / フォーム回答 / オートメーション / Webhook / 通知 / スタッフ管理」と並びます。
Lステップにある主要機能はほぼ網羅されています。
完成形②:スマホからもアクセス可能(=本番URL付き)
同じ管理画面に、スマホからもアクセスできます。HTTPS化済み。
Wi-Fiの場所を選びません。


カフェからでも、移動中の電車でも、シナリオ配信の予約や友だち管理ができます。
Lステップの管理画面と同じ感覚です。
完成形③:月額$0(=Cloudflareの請求画面)
そして、肝心のコスト。
Cloudflareの請求画面です。


合計支払い額:$0.00。月あたりの支払い額も $0.00。
クレジットカードの登録は必要ですが、無料枠を超えない限り課金されません。
「LステップからLINE Harnessに乗り換えたら、年26万円が手元に残る」と言うと、ちょっと話が大きく聞こえますか?
数字としては事実です。



26万円か。
それで広告予算を組んだ方が、はるかにROIが高い。
Phase A:アカウント周りの準備
(=所要30分・誰でもできる)
ここからは、実際の構築手順です。
Phase A〜Dの4段階に分けて進めます。
- Phase A:アカウント周りの準備(=30分・ブラウザ操作のみ)
- Phase B:Claude Codeに任せて構築(=60〜90分・コマンド実行)
- Phase C:管理画面を起動・ログイン(=10分・動作確認)
- Phase D:スマホからもアクセス可能にする(=10分・公開URL確保)
合計で2時間〜2時間半。
土曜の午後で完結します。
Step 1:Cloudflare アカウント作成(=10分)
URL:https://dash.cloudflare.com/sign-up
手順は3ステップだけです。
- メールアドレス + パスワードで登録
- メール認証(届いたメールのリンクをクリック)
- ダッシュボードに入る → ここでは何も設定せずOK
言語設定で日本語も選べます。英語のままでもGoogle翻訳で十分読めます。


Step 2:LINE Developers Console セットアップ
(=20分・ここが最重要)
ここがPhase A最大の山場です。
2つのチャネルを作る必要があります。
- Messaging APIチャネル(=メッセージの送受信用)
- LINE Loginチャネル(=友だちのUUID自動取得用、必須)
LINE Loginチャネルがないと、流入経路の追跡やマルチアカウント統合が機能しません。「Messaging APIだけあれば動くんでしょ?」は罠。
両方必要。
URL:https://developers.line.biz/


手順:
- LINEアカウントでログイン(=普段使いのLINEでOK)
- プロバイダー作成:任意名(例:「worldmoney」「あなたの屋号」)
- Messaging APIチャネル作成(Bot用)
※2024年以降、LINE公式アカウント側から作成する仕様に変わっています。「LINE公式アカウントを作成する」ボタンから先にOAアカウントを作り、Messaging APIを有効化する流れ - LINE Loginチャネル作成(プロバイダー内に2つ目のチャネルとして作成)








取得すべき情報(=メモ必須・5つ)
後でCloudflareに登録するので、メモ帳に5つコピペしておきます。
- Messaging APIのチャネルアクセストークン(長期、設定で発行)
- Messaging APIのチャネルシークレット(基本情報)
- LINE LoginのチャネルID
- LINE Loginのチャネルシークレット
- API_KEY(=自分で決める長いランダム文字列、後で生成方法を解説)


重要設定:応答機能の切り替え
LINE公式アカウントマネージャー(LINE Official Account Manager)側で、応答設定を切り替えます。
- 自動応答メッセージ:OFF(=Webhookで動かすため)
- あいさつメッセージ:OFF(=同上)
- Webhook:ON


★ Webhook URLは「自動応答をOFFにする」ためにON設定が必要ですが、まだ本番URLが決まっていないので仮で https://example.com/ を入れておくのが裏ワザ。
Phase Bの最後に本物のURLに差し替えます。
\今ならAIプロンプト5選配布中!/
Step 3:GitHubアカウント
(=不要、スキップしてOK)
「GitHubアカウントを作らないとダメ?」とよく聞かれますが、LINE Harnessでは必須ではありません。
- publicリポジトリのcloneだけなら、GitHubアカウント不要
- フォークして自分で管理したい場合のみ必要(=今は不要)
- 本家が更新されても、自動で反映はされない(=自分で
git pullするときだけ取り込む)
Phase Bでcloneする時、何も準備せずに動きます。
Phase B:Claude Codeに任せて構築(=60〜90分・ここが本番)
ここからがClaude Codeとの協業ゾーンです。
コマンドを打ちながら進めますが、ほぼClaude Codeが指示してくれます。



コマンド・・・苦手なんだけど大丈夫?



大丈夫。
Claude Codeが「次これ打って」って指示してくれるから、コピペするだけで進めるよ。
分からない単語があったら「これ何?」って聞けば全部解説してくれるんだ。
全体の流れ(=8ステップの分担表)
Phase Bは8ステップ。
あなた(=自分側)とClaude Codeの分担はこんな感じです。
| Step | 内容 | 誰がやる |
|---|---|---|
| 1 | Homebrew + Node.js インストール | Claude Code(コマンド指示) |
| 2 | LINE Harnessリポジトリ clone | Claude Code |
| 3 | 依存関係インストール(pnpm install) | Claude Code |
| 4 | Cloudflare CLIログイン | あなた(ブラウザ認証) |
| 5 | D1データベース作成 + R2バケット作成 | Claude Code |
| 6 | wrangler.toml 編集(database_id差し替え) | Claude Code |
| 7 | 5つのシークレットをCloudflareに登録 | あなた(対話型・機密情報) |
| 8 | マイグレーション + デプロイ + Webhook URL差し替え | Claude Code → あなた |
ポイントは、機密情報(LINEのトークンなど)はあなた自身が打ち込むこと。
Claude Codeに見せる必要はありません。
(秘匿情報ですしね)
Step 1〜3:Homebrew → Node.js → clone → install
まずHomebrew(=Macのパッケージ管理ツール)があるか確認します。
brew -v
「command not found」と出たらHomebrewが入っていないので、公式サイトからインストール。
すでに入っていたらNode.jsへ。
brew install node
所要時間:2〜5分(Mac速度・回線次第)。
完了したらClaude CodeがリポジトリをcloneしてくれてpnpmでJS依存関係をインストールします。
Step 4:Cloudflare CLIにログイン(=あなたの作業)
Claude Codeが「これ打って」と指示してくれます。
npx wrangler login
ブラウザが自動で開いて、Cloudflare(=Phase A Step 1で作ったアカウント)にログインを求められます。
「Allow」をクリックすると、ターミナル側で認証完了。
これだけです。
Step 5:D1データベース + R2バケット作成
D1(=データベース)はそのまま動きますが、R2(=画像ストレージ)は初回だけCloudflareダッシュボードで「有効化」が必要です。
R2はクレジットカードの登録が必要(=サブスクリプション扱い)。
ただし無料枠を超えない限り課金されません($0/month)。
怖がらず登録してOK。






有効化が終わったら、Claude CodeがD1データベースとR2バケットを作ります。
npx wrangler d1 create line-crm
npx wrangler r2 bucket create line-harness-images
Step 6:wrangler.toml 編集 + サブドメイン登録
D1作成時に出てくるdatabase_idをwrangler.tomlに貼ります。これはClaude Codeが自動でやってくれます。
続いて、workers.devのサブドメイン登録です。あなたのWorkerは https://line-harness.{あなたのサブドメイン}.workers.dev でアクセス可能になります。
サブドメインは1アカウント1つ・後から変更不可。
(変更できるがドメインが変わるとリンクアクセスできなくなる)
今後Workerを増やす予定なら、法人名や事業名など汎用的な名前にする


Step 7:5つのシークレットを投入
(=あなたの作業・5分)
Phase A Step 2でメモした5つの値を、Cloudflareに1つずつ登録します。
Claude Codeが指示するコマンドをコピペで実行。
★ コマンドの「# 〜」のコメント行は実行しない。
コピペするときに「# Enter a secret value: ●●●」まで一緒に貼ると、コメント行がコマンドとして実行されてエラーになる罠。1行ずつ貼る。
# 1. Messaging APIのチャネルシークレット
npx wrangler secret put LINE_CHANNEL_SECRET
# 2. Messaging APIのアクセストークン
npx wrangler secret put LINE_CHANNEL_ACCESS_TOKEN
# 3. API_KEY(=任意の長い文字列、自分で決める)
npx wrangler secret put API_KEY
# 4. LINE LoginのチャネルID
npx wrangler secret put LINE_LOGIN_CHANNEL_ID
# 5. LINE Loginのチャネルシークレット
npx wrangler secret put LINE_LOGIN_CHANNEL_SECRET
各コマンドを実行すると、ターミナルが「Enter a secret value:」と聞いてくるので、そこにメモしておいた値を貼り付けてEnter。
これを5回繰り返します。
API_KEYの作り方(=ランダム32文字)
「3. API_KEY」は自分で決めるランダム文字列です。
ターミナルで以下を実行すると、暗号学的に強い64文字の16進文字列が出ます。
openssl rand -hex 32
出力された文字列をコピーして、API_KEYのシークレットに貼り付けます。
後で管理画面ログイン時に使うので、メモ必須。
Step 8:マイグレーション → デプロイ → Webhook URL差し替え
ここまで来たら、最後の3コマンドです
(Claude Codeが順番に実行してくれます)。
# データベース構造をD1に投入
npx wrangler d1 execute line-crm --file=packages/db/schema.sql --remote
# Workerデプロイ(=本番URL確保)
pnpm --filter worker run deploy
# 完了!Worker URLが出力される
# → https://line-harness.{あなたのサブドメイン}.workers.dev
このURLが手に入ったら、LINE Developers側のWebhook URLを差し替えます。
LINE Developers Console → Messaging APIチャネル → Webhook URL に以下を入れて保存。
https://line-harness.{あなたのサブドメイン}.workers.dev/webhook
「検証」ボタンを押してSuccessと出たら、Phase B完了です。
お疲れ様でした!



えっ、もう動くの?



動くんだ。
あとは管理画面で操作するだけ。
次のPhase Cで「自分の管理画面」に初ログインするよ!
Phase C:管理画面を起動・初ログイン(=10分)
Workerは動いていますが、まだ「管理画面のUI」がありません。
これをローカル(=自分のPC)で起動します。
pnpm dev:web
ターミナルに http://localhost:3001 と出るので、ブラウザで開きます。
緑色の眩しいログイン画面が出てきたら成功です。


「API Key」の入力欄に、Phase B Step 7で投入したAPI_KEY(=openssl rand -hex 32で生成した64文字)を貼り付けて「ログイン」をクリック。
すると、こんなダッシュボードに到達します。


この瞬間が一番気持ちいい!
「自分のCRMが動いてる」という感覚は、Lステップを使ってる時には絶対に味わえない種類の達成感です。



僕も正直に言うと、ここまで来た瞬間に「できたー!!!」って声出ました。
コードを1行も書かずにここまでできるのは感動です。
Phase D:スマホからもアクセス可能にする(=Cloudflare Pagesデプロイ・10分)
Phase Cまでで「ローカルでは動く」状態になりました。
でも、ローカル(localhost:3001)は同じMacからしかアクセスできません。



えっ、スマホからは見れないの?



そう、ローカルだけだとMacを開いてないと管理画面にアクセスできない。
カフェで思いついたシナリオをスマホで仕込みたい時、困るよね。
だからCloudflare Pagesに公開して、HTTPSで世界中からアクセスできる本番URLを確保するんだ。
手順(=Claude Codeに任せて10分)
Claude Codeに「管理画面をCloudflare Pagesにデプロイして」と頼むと、こういう手順で進めてくれます。
pnpm --filter web build で24ページが純粋なHTML+JSに変換される。所要1分。
npx wrangler pages project create line-harness-admin 一発。Cloudflareダッシュボードを一切触らず、CLIだけで完結する。
npx wrangler pages deploy out --project-name=line-harness-admin。80ファイルが3秒でアップロード。本番URLが確定する(例:https://line-harness-admin-xxx.pages.dev)。
本番URLをスマホのブラウザで開いて、API_KEYを入力するだけ。同じダッシュボードがスマホで動く。


セキュリティの仕組み
「管理画面を世界に公開して大丈夫?」と心配になるかもしれませんが、構造的に安全です。
- API_KEYはJSバンドルに含まれない(自分がブラウザに手入力する)
- 入力されたAPI_KEYはブラウザのlocalStorageに保存される(=端末ごと)
- API_KEYを知らない人はログインできない(=Workerが認証拒否)
つまり、URLを知られても、API_KEYを知られなければ何もできない仕組み。
Lステップの管理画面と同じセキュリティモデルです。
\今ならAIプロンプト5選配布中!/
ハマりポイント7選(=実際に詰まった全リスト)
2時間半でスムーズに完走したように見えますが、途中で7回詰まりました。
同じ罠を踏まないよう、全部公開します。
罠1:R2バケット作成失敗(=R2有効化が必要)
症状:npx wrangler r2 bucket createでcode: 10042エラー。
原因:R2のサブスクリプションがまだ有効化されていない。
解決:Cloudflareダッシュボード → ストレージとデータベース → R2オブジェクトストレージ → 「サブスクリプションを追加」をクリック → クレカ登録(=$0/month)。
罠2:workers.devサブドメイン未登録
症状:Workerデプロイ時に「workers.dev subdomain not registered」エラー。
原因:アカウント全体で1度もサブドメインを登録してない。
解決:Cloudflareダッシュボード → Workers & Pages → 右下の「Account Details」→ 「サブドメイン」のところで任意の名前を登録(=後から変更不可、慎重に)。
罠3:pnpm deploy:worker が通らない
症状:pnpm deploy:workerでERR_PNPM_INVALID_DEPLOY_TARGET。
原因:pnpmのdeployコマンドはモノレポ内のサブパッケージをデプロイ用にコピーする別のコマンド。
解決:pnpm --filter worker run deployと書く(=「workerパッケージのdeployスクリプトを実行」の意)。
罠4:secret put のときコメント行を実行
症状:複数行コピペすると、# Enter a secret value: ●●●のコメント行までターミナルが実行してエラー。
解決:1コマンドずつコピペ。シークレット値だけ貼って Enter。
罠5:LINE_CHANNEL_SECRET と LINE_LOGIN_CHANNEL_SECRET の混同
症状:5つのシークレットを投入したあとWebhook検証で「署名不一致」。
原因:Messaging APIのシークレットをLINE_LOGIN_CHANNEL_SECRETに貼ってしまった(=逆も多い)。
解決:LINE Developers Console画面で2つのチャネルを並べて見比べる。Messaging APIとLINE Loginは別物。
罠6:Cloudflare Pagesデプロイ前にプロジェクト作成必須
症状:いきなりwrangler pages deployを打つと「Project not found」エラー。
解決:先にnpx wrangler pages project create line-harness-adminでプロジェクトを作る → その後デプロイ。
罠7:localhost:3001 はスマホから見えない
症状:スマホで http://192.168.x.x:3001 を試しても開けない。
原因:同じWi-Fi内ならローカルIPで見える可能性はあるが、HTTPS化されてないのでブラウザによっては拒否される。
解決:Phase Dの「Cloudflare Pagesにデプロイ」が唯一の正解。本番URLでHTTPSアクセスする。



7つ全部踏んだ?



うん、全部踏んだ。
でもClaude Codeに「これエラー出た」って貼るだけで、毎回30秒で原因特定して直してくれた。
専属エンジニアに聞いてる感覚なんだ。
まとめ:Claude Code = 専属エンジニアを雇った感覚
僕がやったことを、もう一度整理します。
- Lステップ・エルメと同等機能のCRMを0円で構築
- PC + スマホで動く本番URLを確保(HTTPS化済み)
- 所要時間2時間半(=ハマりポイント込みで)
- コードを1行も書いていない
(=Claude Codeが全部やった)
2026年は、「月2万円のSaaSを契約する」と「OSSを自分で組む」が同じ時間コストになった年。
Claude Codeのおかげで、選択肢が一気に広がりました。
次にやること:診断フォーム + 5日間ステップ配信
器(=LINE Harness)はできたので、次は中身を作ります。
- 5問×4択の現在地診断フォーム(=LIFF)
- 4タイプ判定スコアリング(A:バランス/B:時間あり・お金なし/C:時間なし・お金あり/D:両方なし)
- 5日間×4タイプ=20通のステップ配信
これが完成したら、また記事にします。



「自分で組める」って選択肢を持ってるだけで、
SaaSの月額交渉力が変わるんだ。
「組めるけど契約してる」と「組めないから契約してる」は別世界だよ。


\今ならAIプロンプト5選配布中!/
関連記事
- 事業を始める前の時間とお金の考え方
→ 事業を始めたい人へ|時間とお金の考え方3つ - FC加盟金5000万を払う前に読む記事
→ 【元SV300店舗】FC加盟金5000万を払う前に知るべき3つの真実 - 事業の現在地を測る
→ 今、何ヶ月生きれますか?|貯金÷生活費=事業の残り時間
無料の現在地診断(LINE登録)
あなたに向いてる事業/投資は?
5問・1分の現在地診断で、あなたのタイプが分かります。
診断後はアランから5日間、個別フォローが届きます。
60分体験セッション(SVコンサル)
元ファミマSV300店舗 × 10業種起業経験の僕が、あなたの事業の「最初の壁」を一緒に整理します。
このテーマをもっと深く学ぶ本
\おすすめ書籍/
YouTubeでも解説中
同じテーマを動画で見たい人は、YouTubeチャンネルもどうぞ。
→ @nitiban-worldmoney
この記事は「事業の教科書」事業ツール編
事業を始めるための6つのSTEPを
体系的に学びたい方はこちら。









