line-harness-oss
Open-source LINE Official Account CRM — free alternative to paid tools. Step delivery, broadcasts, forms, rich menus, scoring, automation, and more.
LINE公式アカウントの顧客管理(CRM)をCloudflare無料枠で運用できる、ステップ配信・セグメント配信・フォーム・スコアリングなどを備えた完全オープンソースのマーケティングツールです。
・企業:LINE公式アカウントでのステップ配信やセグメント配信、リッチメニュー切替、CV計測を月額0円で運用でき、マーケティングコストを大幅に削減できます。 ・スタートアップ:IF-THENルールによる自動化やWebhook連携で、少人数でもLINEを活用した顧客獲得・育成の仕組みを素早く構築できます。 ・個人事業主・フリーランス:フォームやカレンダー予約、自動返信を無料で導入でき、LINE上での集客から予約・フォローアップまでを一人で完結できます。
Lステップ(月額21,780円〜)やUtage(月額10,000円〜)と同等のステップ配信・セグメント配信・スコアリング機能を備えながら、サーバー代0円で運用でき、全機能のAPIが公開されているためClaude Codeや外部サービスとの自由な連携も可能です。
LINE Harness
LINE で無料体験する 👈
LINE公式アカウントの完全オープンソース CRM。L社 / U社 の無料代替。
Cloudflare 無料枠で動く。サーバー代 0 円。Claude Code から全操作可能。
なぜ LINE Harness?
| L社 | U社 | LINE Harness | |
|---|---|---|---|
| 月額 | 2万円〜 | 1万円〜 | 0円 |
| ステップ配信 | ✅ | ✅ | ✅ |
| セグメント配信 | ✅ | ✅ | ✅ |
| リッチメニュー切替 | ✅ | ✅ | ✅ |
| フォーム | ✅ | ✅ | ✅ |
| スコアリング | ✅ | ❌ | ✅ |
| IF-THEN 自動化 | 一部 | 一部 | ✅ |
| API 公開 | ❌ | ❌ | 全機能 |
| AI (Claude Code) 対応 | ❌ | ❌ | ✅ |
| BAN 検知 & 自動移行 | ❌ | ❌ | ✅ |
| マルチアカウント | 別契約 | 別契約 | 標準搭載 |
| ソースコード | 非公開 | 非公開 | MIT |
全機能一覧
配信
- ステップ配信 — delay_minutes で分単位制御、条件分岐、ステルスモード
- 即時配信 — ブロードキャスト即時送信、個別メッセージ即時送信
- ブロードキャスト — 全員/タグ/セグメント配信、即時 or 予約配信、バッチ送信
- リマインダー — 指定日からのカウントダウン配信(セミナー3日前、1日前、当日)
- テンプレート — メッセージテンプレートの管理・再利用
- テンプレート変数 —
{{name}},{{uid}},{{auth_url:CHANNEL_ID}}で友だちごとにパーソナライズ - 配信時間帯制御 — 9:00-23:00 JST のみ配信、ユーザー別の好み時間設定
CRM
- 友だち管理 — Webhook 自動登録、プロフィール取得、カスタムメタデータ
- タグ — セグメント分け、配信条件、シナリオトリガー
- スコアリング — 行動ベースのリードスコア自動計算
- オペレーターチャット — 管理画面から直接 LINE 返信
マーケティング
- リッチメニュー — ユーザー別・タグ別のメニュー切替
- トラッキングリンク — クリック計測 + 自動タグ付け + シナリオ開始
- フォーム (LIFF) — LINE 内で完結するフォーム、回答→メタデータ自動保存
- カレンダー予約 — Google Calendar 連携の予約システム (LIFF)
自動化
- IF-THEN ルール — 7種のトリガー × 6種のアクション
- 自動返信 — キーワードマッチ(完全一致/部分一致)
- Webhook IN/OUT — 外部サービス連携(Stripe, Slack 等)
- 通知ルール — 条件付きアラート配信
安全性
- BAN 検知 — アカウントヘルスの自動監視(normal/warning/danger)
- アカウント移行 — BAN 時のワンクリック移行(友だち・タグ・シナリオ引き継ぎ)
- ステルスモード — 送信ジッター、バッチ間隔ランダム化
- マルチアカウント — 1 Worker で複数アカウント管理、Webhook 署名で自動ルーティング
- クロスプロバイダー UUID 統合 —
?uid=パラメータで別プロバイダー間の同一人物を自動リンク - 管理画面アカウント切替 — サイドバーでアカウント切替、全ページがアカウント別にフィルタ
分析
- CV 計測 — コンバージョンポイント定義 → イベント記録 → レポート
- アフィリエイト — コード発行、クリック追跡、報酬計算
- 流入元追跡 —
/auth/line?ref=xxxで友だち追加経路を自動記録
技術スタック
LINE Platform ──→ Cloudflare Workers (Hono) ──→ D1 (SQLite)
↑ ↑
Cron (5分毎) 42 テーブル
↓
LINE Messaging API
Next.js 15 (管理画面) ──→ Workers API ──→ D1
LIFF (Vite) ──→ Workers API ──→ D1
TypeScript SDK ──→ Workers API ──→ D1
Claude Code ──→ Workers API ──→ D1
| レイヤー | 技術 |
|---|---|
| API / Webhook | Cloudflare Workers + Hono |
| データベース | Cloudflare D1 (SQLite) — 42 テーブル |
| 管理画面 | Next.js 15 (App Router) + Tailwind CSS |
| LIFF | Vite + TypeScript |
| SDK | TypeScript (ESM + CJS, 41 テスト) |
| 定期実行 | Workers Cron Triggers (5分毎) |
| CI/CD | GitHub Actions → 自動デプロイ |
Cloudflare 無料枠で 5,000 友だちまで運用可能。サーバー代 0 円。
クイックスタート
前提条件
- Node.js 20+, pnpm 9+
- Cloudflare アカウント
- LINE Developers アカウント
1. セットアップ
git clone https://github.com/Shudesu/line-harness-oss.git
cd line-harness-oss
pnpm install
2. LINE チャネル設定
LINE Developers Console で 2つのチャネル を作成:
- Messaging API チャネル — メッセージ送受信用
- LINE Login チャネル — UUID 自動取得用(必須)
⚠️ LINE Login チャネルがないと
/auth/line経由の友だち追加で UUID が取れません。 UUID がないとマルチアカウント統合・流入追跡が機能しません。
3. D1 データベース作成
npx wrangler d1 create line-crm
# → 出力される database_id を apps/worker/wrangler.toml に記入
npx wrangler d1 execute line-crm --file=packages/db/schema.sql
4. シークレット設定
npx wrangler secret put LINE_CHANNEL_SECRET
npx wrangler secret put LINE_CHANNEL_ACCESS_TOKEN
npx wrangler secret put API_KEY
npx wrangler secret put LINE_LOGIN_CHANNEL_ID
npx wrangler secret put LINE_LOGIN_CHANNEL_SECRET
5. デプロイ
pnpm deploy:worker
# → https://your-worker.your-subdomain.workers.dev
6. LINE Webhook 設定
LINE Developers Console → Messaging API → Webhook URL:
https://your-worker.your-subdomain.workers.dev/webhook
7. 動作確認
# 友だち追加URL(これを LP や SNS に貼る)
https://your-worker.your-subdomain.workers.dev/auth/line?ref=test
# API 疎通確認
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://your-worker.your-subdomain.workers.dev/api/friends/count
プロジェクト構成
line-harness-oss/
├── apps/
│ ├── worker/ # Cloudflare Workers API (Hono)
│ ├── web/ # Next.js 15 管理画面
│ └── liff/ # LINE ミニアプリ (Vite)
├── packages/
│ ├── db/ # D1 スキーマ + クエリ (42テーブル)
│ ├── sdk/ # TypeScript SDK (41テスト)
│ ├── line-sdk/ # LINE Messaging API ラッパー
│ └── shared/ # 共有型定義
├── docs/
│ └── wiki/ # 全23ページのドキュメント
└── .github/
└── workflows/ # GitHub Actions 自動デプロイ
API エンドポイント(抜粋)
25 のルートファイル、100+ エンドポイント。全一覧は Wiki: API Reference を参照。
# 友だち一覧
GET /api/friends?limit=20&offset=0&tagId=xxx
# シナリオ作成
POST /api/scenarios
{ "name": "ウェルカム", "triggerType": "friend_add" }
# ステップ追加
POST /api/scenarios/:id/steps
{ "stepOrder": 0, "delayMinutes": 0, "messageType": "text", "messageContent": "ようこそ!" }
# ブロードキャスト予約
POST /api/broadcasts
{ "title": "セール", "messageType": "text", "messageContent": "50% OFF!", "targetType": "all", "scheduledAt": "2026-04-01T10:00:00+09:00" }
# 自動化ルール作成
POST /api/automations
{ "name": "友だち追加→ウェルカム", "eventType": "friend_add", "actions": [{"type": "add_tag", "params": {"tagId": "xxx"}}] }
ドキュメント
| カテゴリ | ページ |
|---|---|
| はじめに | Home · Getting Started · Architecture · Configuration |
| 配信 | Scenarios · Broadcasts · Reminders |
| CRM | Friends · Tags · Scoring · Chat |
| マーケ | Rich Menus · Tracked Links · Forms & LIFF · CV & Affiliates |
| 自動化 | Automation · Webhooks |
| 安全性 | Multi-Account & BAN |
| 開発 | SDK Reference · API Reference · Deployment · Operations · Claude Code |
コスト
| 友だち数 | 月額コスト |
|---|---|
| 〜5,000 | 無料(Cloudflare 無料枠) |
| 〜10,000 | 約 $10/月(D1 + Workers 有料プラン) |
| 50,000+ | 約 $25/月 + Queues 推奨 |
L社: 月額 21,780円〜。LINE Harness: 0円〜。
ローカル開発
pnpm dev:worker # → http://localhost:8787
pnpm dev:web # → http://localhost:3001
pnpm db:migrate:local
コントリビュート
Issue・PR 歓迎。Wiki を読んでからの参加を推奨。
ライセンス
MIT