LINE公式アカウントのCRM運用にかかる月額2万円を0円にする。LINE Harness OSSは、Lステップ・Utageと同等の機能をCloudflare無料枠で実現するオープンソースCRMだ。GitHub Stars 365、MITライセンス。2026年3月の公開からわずか3週間でv0.10まで到達しており、開発は非常に活発。コミットメッセージには「Co-Authored-By: Claude Opus 4.6」が多数含まれており、Claude Codeで開発されていることも特徴的だ。
- コスト: 5,000友だちまで完全無料(Cloudflare無料枠内)
- 技術スタック: Cloudflare Workers + Hono + D1(SQLite)+ Next.js 15
- 機能: ステップ配信・スコアリング・BAN検知・IF-THEN自動化・マルチアカウント
- API: 100+エンドポイント全公開、TypeScript SDK・Claude Code対応
- バージョン: v0.10.2(2026年4月14日リリース)
この記事ではClaude Codeに特化して解説します。Claude Code全般は Claude Code完全ガイド2026:インストールから本番運用まで をご覧ください。
なぜLINE Harness OSSが注目されるのか:SaaS CRMの課題
LINE公式アカウントのCRM運用において、SaaS型ツールの月額コストは無視できない負担だ。L社(Lステップ)は月額21,780円〜、U社(Utage)は月額10,000円〜。友だち数の増加に伴いプランが上がるため、アカウント規模が大きくなるほどコスト負担は膨らむ。
さらにSaaS型には構造的な課題がある。
- ブラックボックス問題 — ソースコードが非公開のため、細かいカスタマイズや独自機能の追加ができない。APIも非公開または限定的で、外部ツールとの連携に制約がある
- ベンダーロックイン — 蓄積した友だちデータ・シナリオ・配信履歴をエクスポートする手段が限られており、他サービスへの移行コストが高い
- BAN対策の不在 — LINE公式アカウントのBAN(利用停止)は事業上の大きなリスクだが、SaaS型CRMにはBAN検知や自動移行機能を備えたものがほぼない
LINE Harness OSSはこれら3つの課題を「OSS化」というアプローチで解決する。「コスト0円 + 完全カスタマイズ + BAN対策」を同時に実現できる選択肢は現状ほかに存在しない。
コスト比較:SaaSと何が違うのか
LINE Harness OSSとSaaS型CRMのコスト構造を詳細に比較する。
| 項目 | LINE Harness OSS | Lステップ | Utage |
|---|---|---|---|
| 月額費用(〜5,000友だち) | 0円 | 21,780円〜 | 10,000円〜 |
| 月額費用(〜10,000友だち) | 約$10(Cloudflare有料プラン) | 上位プラン要 | 上位プラン要 |
| 月額費用(50,000友だち〜) | 約$25 | 要見積 | 要見積 |
| 初期費用 | 0円(セットアップ工数は発生) | 0円 | 0円 |
| 年間コスト(5,000友だち) | 0円 | 261,360円 | 120,000円 |
年間コスト差は最大26万円。3年運用すれば80万円近い差額になる。技術チームのセットアップ工数を加味しても、中長期的にはLINE Harness OSSが圧倒的にコスト効率が良い。
ただし、このコスト差は「技術チームが内製で運用・保守できること」が前提条件だ。Cloudflare Workers・D1・LINE APIの知識がなければ、SaaS型の方がトータルコストは低くなる可能性がある。
機能比較:SaaS型CRMとの差異
| 機能 | LINE Harness | Lステップ | Utage |
|---|---|---|---|
| ステップ配信 | 分単位制御・条件分岐 | あり | あり |
| セグメント配信 | タグ/メタデータベース | あり | あり |
| ブロードキャスト | 全員/タグ/セグメント | あり | あり |
| リマインダー | カウントダウン配信 | あり | あり |
| リードスコアリング | 行動ベース自動計算 | 一部 | なし |
| IF-THEN自動化 | 7トリガー×6アクション | 一部 | 一部 |
| フォーム | LIFF内完結 | あり | あり |
| リッチメニュー切替 | ユーザー/タグ別 | あり | あり |
| カレンダー予約 | Google Calendar連携 | なし | あり |
| アフィリエイト | コード発行・追跡・報酬計算 | なし | なし |
| オペレーターチャット | 管理画面から直接返信 | あり | なし |
| テンプレート変数 | ,等 |
一部 | なし |
| 配信時間帯制御 | 9:00-23:00 JST限定 | なし | なし |
| BAN検知・自動移行 | 3段階監視+ワンクリック移行 | なし | なし |
| マルチアカウント | 標準搭載(1 Worker) | 別契約 | 別契約 |
| API全面公開 | 100+エンドポイント | 非公開 | 非公開 |
| Claude Code対応 | TypeScript SDK提供 | なし | なし |
| ソースコード公開 | MIT | 非公開 | 非公開 |
機能面ではSaaS型と同等以上。特にBAN検知・マルチアカウント・API全面公開の3点は、LINE Harness OSS独自の強みだ。
システムアーキテクチャ:Cloudflareスタック統一の設計思想
LINE Harness OSSの設計思想は「Cloudflareスタックに一本化することで、複数のIaaSベンダー管理の複雑さを排除する」ことにある。AWS・GCP・Azureのような複合構成ではなく、Cloudflareの無料枠だけで完結する設計が特徴だ。
Webhook"] --> B["Cloudflare Workers
Hono フレームワーク"] B --> C["Cloudflare D1
SQLite(42テーブル)"] B --> D["Cron Triggers
5分毎の定期実行"] B --> E["REST API
100+ エンドポイント"] E --> F["Next.js 15 管理画面
App Router + Tailwind"] E --> G["TypeScript SDK
Claude Code対応"] E --> H["LIFF アプリ
Vite + TypeScript"] style A fill:#06c755,color:#fff style B fill:#f48120,color:#fff style C fill:#f48120,color:#fff
各レイヤーの役割
| レイヤー | 技術 | 役割 | 特記事項 |
|---|---|---|---|
| APIレイヤー | Cloudflare Workers + Hono | LINE Webhook受信・REST API・Cron処理 | Webhook署名による自動アカウント判別 |
| データレイヤー | Cloudflare D1(SQLite) | 友だち・シナリオ・配信履歴・スコア | 42テーブル、5GB上限(無料枠) |
| UIレイヤー | Next.js 15 + Tailwind CSS | マルチアカウント管理・オペレーターチャット | App Router、サイドバーでアカウント切替 |
| LIFFアプリ | Vite + TypeScript | LINE内完結のフォーム・予約システム | LINE Front-end Framework |
| SDK | TypeScript (ESM + CJS) | 外部ツール連携・Claude Code対応 | 41テスト、全APIをラップ |
| 定期実行 | Workers Cron Triggers | ステップ配信・リマインダー処理 | 5分間隔 |
1つのWorkerで複数のLINE公式アカウントを管理できるマルチテナント設計が特徴的だ。Webhook署名によるルーティング機能で、受信したWebhookのChannel Secretから自動的にアカウントを判別し、適切なテーブルにルーティングする。
プロジェクト構成(monorepo)
apps/worker/ — Cloudflare Workers API(Hono)
apps/web/ — Next.js 15 管理画面
packages/db/ — D1スキーマ + クエリ(42テーブル)
packages/sdk/ — TypeScript SDK(41テスト)
packages/line-sdk/ — LINE Messaging API ラッパー
packages/shared/ — 共有型定義
packages/mcp-server/ — MCP Server(実験的)
docs/wiki/ — 全23ページのドキュメント
配信機能の詳細:ステップ配信からBAN検知まで
ステップ配信(シナリオ配信)
LINE Harness OSSのステップ配信はdelay_minutesによる分単位制御が特徴だ。L社やU社では「1日後」「3日後」のような日単位が基本だが、LINE Harnessでは「30分後」「2時間後」のような細かいタイミング制御が可能。
さらに条件分岐も標準搭載。タグの有無、スコアの閾値、フォーム回答の内容に応じてシナリオを分岐させることができる。
BAN検知と自動移行
LINE公式アカウントのBAN(利用停止)は事業継続上の最大のリスクだ。友だちリスト・シナリオ・配信履歴がすべて失われるため、BAN後の復旧コストは計り知れない。
LINE Harness OSSは3段階のヘルスモニタリングでこのリスクに対処する。
| ヘルス状態 | 判定基準 | アクション |
|---|---|---|
| normal | 正常な配信・受信状態 | 通常運用 |
| warning | 配信エラー率の上昇・応答遅延 | 管理者に通知、配信頻度の自動調整 |
| danger | 高エラー率・API制限検知 | ワンクリックで別アカウントへ移行(友だち・タグ・シナリオを引き継ぎ) |
ステルスモードを有効にすると、配信時にジッター(ランダムな時間差)を挿入し、バッチ間隔をランダム化する。大量の一斉配信がLINEのスパム検知に引っかかるリスクを低減する仕組みだ。ただしステルスモードは配信速度を犠牲にするため、速報性が重要なキャンペーンでは注意が必要。
IF-THEN自動化ルール
7種のトリガーと6種のアクションを組み合わせて、マーケティング自動化を実現する。
トリガー(7種): 友だち追加、タグ付与、フォーム送信、キーワード受信、スコア閾値到達、URL クリック、カレンダー予約
アクション(6種): タグ追加/削除、シナリオ開始/停止、メッセージ送信、リッチメニュー切替、Webhook OUT、通知ルール発火
たとえば「フォームで『セミナー参加』を選択した友だちに自動でセミナータグを付与し、リマインダーシナリオを開始する」といった自動化が、管理画面からGUIで設定できる。
管理画面のUI

ダッシュボードには友だち数・アクティブコンテンツ数・配信数・テンプレート数・アクティブルール数・スコアリングルール数の統計カードが配置される。左サイドバーに全機能が整理されており、「配信」セクション(シナリオ配信・一斉配信・テンプレート・リマインダー)、「分析」セクション(流入経路・CV計測・スコアリング・フォーム回答)、「管理」セクション(オートメーション・Webhook・通知・スタッフ管理・BAN検知・緊急コントロール)に分かれている。

シナリオ詳細画面では、友だち追加をトリガーに複数ステップの配信フローを設計できる。各ステップの配信タイミング(分単位)・メッセージタイプ(テキスト/Flex Message)・条件分岐が一覧で確認でき、「ステップ追加」ボタンでフローを拡張する。管理画面はデータの可視化と設定に特化しており、実際の配信操作はAPI経由で実行される設計思想だ。
インストール手順:ゼロからのセットアップ
前提条件
| 要件 | 詳細 |
|---|---|
| Node.js | 20以上 |
| pnpm | 9以上 |
| Cloudflareアカウント | 無料プランで可 |
| LINE Developersアカウント | 無料で作成可 |
| LINEチャネル | Messaging API + LINE Login の2つが必要 |
Messaging APIチャネルだけではWebhook受信はできるが、友だちのUUID(LINE内部ID)を取得できない。LINE Loginチャネルを作成し、
/auth/line経由で友だち追加させることで、クロスプロバイダーUUID統合・流入元追跡・マルチアカウント間の同一人物リンクが実現する。この設計はLINE公式のLIFF(LINE Front-end Framework)を活用している。
セットアップ手順
# 1. ソースコード取得とパッケージインストール
git clone https://github.com/Shudesu/line-harness-oss.git
cd line-harness-oss
pnpm install
# 2. Cloudflare D1データベース作成
npx wrangler d1 create line-crm
# → 出力される database_id を wrangler.toml に記入
# 3. スキーマ適用(42テーブル作成)
npx wrangler d1 execute line-crm --file=packages/db/schema.sql
# 4. シークレット設定(5項目)
npx wrangler secret put CHANNEL_SECRET # Messaging APIのChannel Secret
npx wrangler secret put ACCESS_TOKEN # Messaging APIのアクセストークン
npx wrangler secret put API_KEY # 管理画面認証用(任意の文字列)
npx wrangler secret put LOGIN_CHANNEL_ID # LINE LoginのChannel ID
npx wrangler secret put LOGIN_CHANNEL_SECRET # LINE LoginのChannel Secret
# 5. Cloudflare Workersにデプロイ
pnpm deploy:worker
デプロイ後、LINE Developers ConsoleでWebhook URLを https://your-worker.workers.dev/webhook に設定する。
セットアップ後の確認手順
| ステップ | 確認方法 | 期待される結果 |
|---|---|---|
| Webhook疎通 | LINE Developers Console → Webhook設定 → 「検証」ボタン | 成功メッセージ |
| 友だち追加テスト | /auth/line?ref=test URLでLINEアプリから追加 |
管理画面の友だち一覧に表示 |
| 配信テスト | 管理画面からテストメッセージ送信 | LINEアプリでメッセージ受信 |
| API疎通 | curl https://your-worker.workers.dev/api/friends -H "X-API-Key: your-key" |
JSON形式で友だちリスト返却 |
GitHub Actions連携による自動デプロイにも対応しており、pnpm deploy:workerをCI/CDパイプラインに組み込むことで、コードプッシュ時の自動デプロイが実現する。
TypeScript SDKとClaude Code連携
LINE Harness OSSの全API(100+エンドポイント)はTypeScript SDKでラップされている。このSDKはESM/CJS両対応で41のテストが整備されており、Claude CodeのようなAIコーディングエージェントから直接呼び出すことを想定した設計だ。
(Cloudflare Workers)"] B --> C["ステップ配信
作成・編集"] B --> D["ブロードキャスト
実行"] B --> E["友だち管理
タグ・スコア"] B --> F["分析データ
CV・流入元"] style A fill:#cc785c,color:#fff style B fill:#f48120,color:#fff
SDKの利用例として、Claude Codeから「新規友だち向けウェルカムシナリオを作成して」と指示するだけで、APIを通じてシナリオ定義・ステップ追加・トリガー設定が自動実行される。管理画面を開かずにCLIからCRM運用を完結させる使い方が可能だ。
さらにpackages/mcp-server/にはMCP Server(実験的)が含まれており、MCPサーバーの作り方ガイドで紹介されている標準的なパターンに沿った実装がされている。将来的にはClaude CodeのMCPツールとしてLINE配信を直接操作できるようになる可能性がある。
リリース履歴と開発の活発さ
| バージョン | 日付 | 主な変更 |
|---|---|---|
| v0.10.2 | 2026-04-14 | Cron重複配信バグの重大修正(バッチロック・楽観ロック・UNIQUE制約) |
| v0.10.1 | 2026-04-07 | キャンペーン別報酬アトリビューション |
| v0.10.0 | 2026-04-07 | トラッキングリンクのイントロ/報酬テンプレート、プール配信 |
| v0.9.0 | 2026-04-02 | カレンダー予約機能、Google Calendar連携 |
| v0.8.0 | 2026-03-29 | アフィリエイト機能、コード発行・クリック追跡・報酬計算 |
3週間で5つのマイナーバージョンがリリースされており、直近のv0.10.2はCron重複配信という本番運用レベルのバグ修正。実際に運用されているプロダクトであることが伺える。Wikiも全23ページ整備されており、Claude Code連携の専用ページ(Wiki/23-Claude-Code-Integration)も用意されている。
ユースケース別の運用パターン
パターン1:個人事業主・小規模ビジネス(〜1,000友だち)
友だち追加→ウェルカムメッセージ→ステップ配信(3日間)→リッチメニュー切替の基本フローを構築。月額0円でLステップと同等の自動配信が実現する。技術的なセットアップは最初の1回だけで、あとは管理画面からGUI操作。
パターン2:マーケティングチーム(1,000〜5,000友だち)
セグメント配信・リードスコアリング・IF-THEN自動化を活用。友だちの行動(URLクリック・フォーム回答・キーワード送信)に応じてスコアを自動計算し、スコアが閾値に達したら営業チームに通知するパイプラインを構築できる。
パターン3:複数アカウント運営(代理店・フランチャイズ)
マルチアカウント機能を活用し、1つのCloudflare Workers環境で複数のLINE公式アカウントを一元管理。アカウントごとの配信実績・CV計測・友だち推移をダッシュボードで横断比較できる。SaaS型では別契約が必要な運用が、追加コスト0で実現する。
制限事項・注意点
- 技術スキルが必須条件 — Cloudflare Workers・D1・LINE APIの知識が運用の前提。SaaSと異なりセットアップ・運用・障害対応をすべて内製で行う必要がある。エンジニアリソースがない組織にはSaaS型を推奨
- Cloudflare無料枠の制限を把握する — 1日10万リクエスト・D1は5GBストレージが上限。5,000友だち超は有料プラン(月$5〜)への移行が必要。ただしそれでもSaaS型の10分の1以下のコスト
- セキュリティは自己責任 — OSSのため脆弱性対応はコミュニティベース。Channel Secretの厳格管理、定期的なパッチ適用、アクセスログの監視が重要
- 既存ツールからのデータ移行は手動 — ゼロからの構築が設計前提。Lステップ等からの自動インポート機能は未提供。大規模移行にはカスタムスクリプト開発が必要
- v0.10.2時点のプロダクト — 活発に開発中だが、v0.10.2で修正されたCron重複配信バグのように、本番運用での予期せぬ不具合は発生しうる。ステージング環境でのテストを推奨
- LIFFアプリは別途デプロイが必要 — フォーム・予約機能を使う場合、apps/liff/のLIFFアプリを別途ビルド・デプロイする必要がある
関連ツールとの連携
LINE Harness OSSはAPI全面公開のため、外部ツールとの連携が容易だ。
- AIエージェントフレームワークで紹介されているDifyやn8nと連携すれば、LINE上のチャットボット構築を視覚的に設計できる
- Agent ハーネスの基本構造を理解すると、LINE HarnessのAPI設計思想をより深く把握できる
- Claude Codeベストプラクティスガイドで紹介されているCLAUDE.mdとSKILL.mdのパターンを応用すれば、LINE配信の自動化スキルを定義できる
関連記事: Claude Code完全ガイド2026:インストールから本番運用まで
まとめ:LINE Harness OSSを選ぶべきケース
| 条件 | LINE Harness OSS | SaaS型CRM |
|---|---|---|
| 技術チームがいる | ✅ 最適 | 使えるがコスト高 |
| 技術チームがいない | ❌ 運用困難 | ✅ 最適 |
| 月額コストを抑えたい | ✅ 0円〜 | ❌ 1〜2万円/月 |
| BAN対策が必要 | ✅ 3段階検知+自動移行 | ❌ 未対応 |
| 複数アカウント管理 | ✅ 標準搭載 | ❌ 別契約 |
| 独自機能が必要 | ✅ ソースコード改変可 | ❌ 非公開 |
| API連携が重要 | ✅ 100+エンドポイント | ❌ 非公開 |
技術チームを持つ組織にとって、LINE Harness OSSは「SaaS月額費用ゼロ + 完全カスタマイズ + BAN対策」を同時に実現する唯一の選択肢だ。v0.10.2時点でステップ配信・スコアリング・IF-THEN自動化・マルチアカウント・アフィリエイトと、商用CRMと同等の機能が揃っている。
一方で、エンジニアリソースがない組織はSaaS型を素直に選ぶべきだ。「無料」の代償として運用・保守・障害対応を内製する必要がある点を理解した上で導入を判断してほしい。
参照ソース
- GitHub: Shudesu/line-harness-oss — ソースコード・Issue・Wiki(全23ページ)
- LINE Developers Console — チャネル作成・Webhook設定
- Cloudflare Workers ドキュメント — Workers・D1・Cron Triggers
- LINE Messaging API リファレンス — Webhook・メッセージ送信API