Chatty Chatty # Chatty by PersonaliAI

English · 简体中文 · 日本語 · Español

Deploy to Render   Deploy on Railway

**オープンソース AI カスタマーサポート:Web チャットウィジェット + 7 チャネル・オムニチャネルハブ + 完全な FastMCP サーバー、独自のナレッジベースに基づいて動作。** Chatty は、AI チャットウィジェット、ビジュアル会話フロー自動化、および有人オペレーター引き継ぎ(ヒューマンテイクオーバー)対応の共有受信トレイを必要とするチームのための、オープンソースかつセルフホスト可能な **Zendesk 代替** および **Intercom 代替** プラットフォームです。Chatty は独立したプロジェクトであり、Zendesk や Intercom との提携・推奨関係はありません。 Supabase Auth、Postgres、Storage、Realtime をマネージド環境に保ちながら、独自のホスト上でアプリケーションコンテナを実行できます。VPS、Railway、Render、その他の Docker ホスト環境で、稼働中の Supabase プロジェクトに影響を与えることなく動作します。 [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) [![CI](https://github.com/PersonaliAI/chatty/actions/workflows/ci.yml/badge.svg)](https://github.com/PersonaliAI/chatty/actions/workflows/ci.yml) [![GDPR Compliant](https://img.shields.io/badge/GDPR-100%25%20Compliant-003399?logo=shield&logoColor=ffcc00)](#-gdpr--エンタープライズデータプライバシー) [![Next.js](https://img.shields.io/badge/Next.js-15-black?logo=next.js)](frontend) [![FastAPI](https://img.shields.io/badge/FastAPI-Python%203.11%20%2F%203.13-009688?logo=fastapi&logoColor=white)](backend) [![Supabase](https://img.shields.io/badge/Database-Supabase-3ECF8E?logo=supabase&logoColor=white)](https://supabase.com) [![MCP](https://img.shields.io/badge/FastMCP-81%20Tools-8b5cf6)](#mcp-サーバーとエージェント制御) [![Docker](https://img.shields.io/badge/Deploy-Docker%20Compose-2496ED?logo=docker&logoColor=white)](docker-compose.yml) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](CONTRIBUTING.md) [Chatty Cloud (ホスト版)](https://chatty.personaliai.com) · [ドキュメント](https://docs.chatty.personaliai.com) · [データ処理契約 (DPA)](frontend/src/app/(legal)/dpa/page.tsx) · [再委託先リスト](frontend/src/app/(legal)/subprocessors/page.tsx) · [パフォーマンス・スコアカード](https://docs.chatty.personaliai.com/guides/scorecard) · [フロービルダー](https://docs.chatty.personaliai.com/guides/flow-architect) · [ウィジェット埋め込み](https://docs.chatty.personaliai.com/guides/embed-widget) · [安全な顧客アイデンティティ](https://docs.chatty.personaliai.com/guides/human-takeover) · [クイックスタート](#-クイックスタート-docker-compose) · [セルフホスト運用手順書](https://docs.chatty.personaliai.com/guides/self-hosting) · [MCP サーバー](#mcp-サーバーとエージェント制御) · [AI プラグイン](https://docs.chatty.personaliai.com/guides/ai-coding-plugins) · [オムニチャネル](https://docs.chatty.personaliai.com/guides/omnichannel) · [WooCommerce](https://docs.chatty.personaliai.com/guides/woocommerce)

Chatty Executive Overview & Live Telemetry

--- ## 目次 - [Chatty を選ぶ理由](#chatty-を選ぶ理由) - [本番ダッシュボード 4K 高解像度プレビュー](#-本番ダッシュボード-4k-高解像度プレビュー) - [機能](#-機能) - [7 チャネル・オムニチャネルハブ](#-7-チャネルオムニチャネルハブ) - [ビジュアル会話フロービルダー & 条件付きランタイム](#️-ビジュアル会話フロービルダー--条件付きランタイム) - [WooCommerce ストア連携 & マルチモーダル RAG](#-woocommerce-ストア連携--マルチモーダル-rag) - [LiveKit リアルタイム音声エージェント & SDK](#-livekit-リアルタイム音声エージェント--sdk) - [アーキテクチャ](#アーキテクチャ) - [動作要件](#-動作要件) - [クイックスタート (Docker Compose)](#-クイックスタート-docker-compose) - [MCP サーバーとエージェント制御](#mcp-サーバーとエージェント制御) - [ローカル開発 (Docker を使わない場合)](#-ローカル開発-docker-を使わない場合) - [テストと CI](#-テストと-ci) - [GDPR & エンタープライズデータプライバシー](#-gdpr--エンタープライズデータプライバシー) - [セキュリティ](#-セキュリティ) - [コントリビューション](#-コントリビューション) - [ライセンス](#-ライセンス) --- ## Chatty を選ぶ理由 多くの商用チャットボット SaaS は、シート単位やメッセージ数に応じた高額な課金を行い、顧客との会話データを自社サーバーに囲い込みます。Chatty はオープンコアです。インフラ運用の手間をかけずに即座に利用したい場合は [Chatty Cloud](https://chatty.personaliai.com) を選び、自社のセキュリティ要件やコスト削減を重視する場合は無料で完全にセルフホストできます。どちらを選んでも、同一のエンタープライズ機能を利用できます。 | 項目 | クローズドソースの SaaS チャットボット | **Chatty** | |---|---|---| | **会話データの保管先** | 常にベンダー側のサーバーに保持 | あなた自身の Supabase プロジェクト(セルフホストまたは Chatty Cloud のどちらでも) | | **料金体系** | シート単位/メッセージ課金、無料枠なし | 無料でセルフホスト可能、または分かりやすい定額の Chatty Cloud ホストプラン | | **利用可能な LLM** | ベンダー指定のモデルに固定 | **BYOK (モデル持ち込み)** — デフォルトは Gemini、または OpenAI / Anthropic / OpenRouter を選択可能 | | **オムニチャネル統合** | 高額な追加料金または Web のみ | **7つの主要チャネルを標準統合**: WhatsApp, Messenger, IG, TikTok, Telegram, SMS, Email | | **自動化・AI エージェント連携** | 通常は利用不可、または高額な追加機能 | **完全な FastMCP サーバーを標準同梱** — 81 種類のツール、OAuth 2.0 & API キー保護 | | **ソースコードの透明性** | 非公開 (Closed) | **MIT ライセンス** — 監査、フォーク、カスタマイズ、自由な環境での運用が可能 | --- ## 🖥️ 本番ダッシュボード 4K 高解像度プレビュー 主要な 22 モジュールすべてが本番稼働中の環境 ([`chatty.personaliai.com/dashboard`](https://chatty.personaliai.com/dashboard)) から鮮明な **4K Retina (3840×2160)** 解像度で収録されており、実際のデータ状態を確認できます。
オムニチャネル受信トレイ & SLA 管理
オムニチャネル受信トレイ & SLA 管理
リアルタイム訪問者スレッド、SLA 違反警告、ワンクリック有人引き継ぎ
ナレッジベース & ベクトル検索
ナレッジベース & ベクトル検索
マルチフォーマット文書取り込み、Web クローラー、186k+ 文字をインデックス化
LiveKit WebRTC 音声スタジオ
LiveKit WebRTC 音声スタジオ
500ms 未満の超低遅延双方向音声、動的ビジュアライザー、マルチプラットフォーム SDK
ビジュアル会話フロービルダー
ビジュアル会話フロービルダー
対話型デシジョンツリー、AI Flow Copilot、循環検出バリデーション
ライブウィジェット・カスタマイザー
ライブウィジェット・カスタマイザー
WYSIWYG リアルタイムプレビュー、WCAG AA/AAA 自動コントラスト判定エンジン
解決率 & deflection 分析
解決率 & deflection 分析
会話ボリューム推移、100% の自己解決率、トークン消費ヒートマップ
📸 全 22 種類の高解像度本番ダッシュボード画面一覧を展開
| # | モジュール | 説明 | 4K 画像 | | :---: | :--- | :--- | :--- :| | **01** | **エグゼクティブ概要** | 5 つの柱の健全性スコア、自己解決率、30 日間リアルタイム KPI | [4K 画像を表示](screenshots/real-01-overview.png) | | **02** | **チャットボット・ワークスペース** | 複数ボットの一括管理、LLM モデル切り替え (GPT-4o, Claude, Gemini) | [4K 画像を表示](screenshots/real-02-workspace.png) | | **03** | **ウィジェット・カスタマイザー** | 6 部構成のスタイルパレット、ブランドロゴ、WCAG コントラスト判定 | [4K 画像を表示](screenshots/real-03-customizer.png) | | **04** | **ナレッジベース** | 52 以上のソース、186k 文字のインデックス化、HNSW ベクトル検索 | [4K 画像を表示](screenshots/real-04-knowledge-base.png) | | **05** | **AI プレイグラウンド** | 出典(引用)検証ドロワーを備えたサンドボックス・シミュレーター | [4K 画像を表示](screenshots/real-05-playground.png) | | **06** | **オムニチャネル受信トレイ** | 統合ヘルプデスク、訪問者の在席状況、SLA 違反カウントダウンタイマー | [4K 画像を表示](screenshots/real-06-inbox.png) | | **07** | **プロアクティブ・キャンペーン** | ポップアップ案内、離脱検知 (Exit-Intent)、スクロール連動トリガー | [4K 画像を表示](screenshots/real-07-campaigns.png) | | **08** | **フロービルダー** | ドラッグ&ドロップ式の会話設計キャンバス、AI Flow Copilot | [4K 画像を表示](screenshots/real-08-flow-builder.png) | | **09** | **訪問者リード CRM** | 自動リード抽出、GeoIP による国・都市の判定、CSV エクスポート | [4K 画像を表示](screenshots/real-09-leads.png) | | **10** | **フィードバック & CSAT** | チャット後の満足度評価、センチメント分析、不満タグ分類 | [4K 画像を表示](screenshots/real-10-feedback.png) | | **11** | **訪問者マップ** | 地域別アクセス状況を可視化する Leaflet インタラクティブ世界地図 | [4K 画像を表示](screenshots/real-11-map.png) | | **12** | **ミーティング予約** | Google Calendar との双方向 OAuth 同期 & Google Meet リンク自動発行 | [4K 画像を表示](screenshots/real-12-meetings.png) | | **13** | **受信専用メールボックス** | Resend による受信メールのチケット自動変換ルーティング | [4K 画像を表示](screenshots/real-13-mailbox.png) | | **14** | **チーム通知** | Slack、Email、SMS へのインシデント・アラート通知ポリシー | [4K 画像を表示](screenshots/real-14-notifications.png) | | **15** | **監査ログ** | IP アドレスと操作者メールを記録する追記専用の監査トレイル | [4K 画像を表示](screenshots/real-15-audit-log.png) | | **16** | **アナリティクス** | チケット自己解決率、応答速度、トークン消費ヒートマップ | [4K 画像を表示](screenshots/real-16-analytics.png) | | **17** | **埋め込み & 連携** | React、Next.js、WordPress 向け埋め込みコード & 許可ドメイン設定 | [4K 画像を表示](screenshots/real-17-embed-integrate.png) | | **18** | **音声エージェント** | LiveKit WebRTC スタジオ、動的ビジュアライザー & 各種 SDK コード | [4K 画像を表示](screenshots/real-18-voice-agent.png) | | **19** | **FastMCP サーバーハブ** | Claude Desktop、Cursor、Antigravity 向けの 81 ツール & 8 リソース | [4K 画像を表示](screenshots/real-19-mcp.png) | | **20** | **開発者 API** | スコープ付き API キー (`chatty_sk_...`) & 多言語 SDK スニペット | [4K 画像を表示](screenshots/real-20-developer-api.png) | | **21** | **請求 & クォータ** | Stripe ポータル、クォータ台帳、アフィリエイト・紹介プログラム | [4K 画像を表示](screenshots/real-21-billing.png) | | **22** | **エージェント設定** | 厳格なベクトル回答制限、PII 自動マスキング、BYOK 暗号化保管 | [4K 画像を表示](screenshots/real-22-agent-settings.png) |
--- ## ✨ 機能 - 🔌 **7 チャネル・オムニチャネルハブ** — WhatsApp Cloud API、Facebook Messenger、Instagram Direct、TikTok ビジネスメッセージ、Telegram Bot、Twilio 双方向 SMS(TCPA 配信停止自動処理付き)、サポート受信用メール(引用履歴自動トリミング付き)による実用レベルのネイティブメッセージング。 - 🗺️ **ビジュアル会話フロービルダー** — ドラッグ&ドロップ対応キャンバス(`@xyflow/react`)による時間帯条件分岐(例:午後 6:00 前と午後 6:00 以降で動的にオファーを変更)、リード獲得、カレンダー予約、HTTP Webhook、プラットフォーム判定、および AI Flow Copilot。 - ⚡ **リアルタイム有人引き継ぎ (ヒューマンテイクオーバー) & 受信トレイ** — Server-Sent Events (SSE) によるリアルタイムストリーミング受信トレイ。オペレーターはワンクリックで AI ボットを停止し、WhatsApp、Instagram、TikTok、SMS へ直接チャット返信可能。 - 🛒 **WooCommerce & マルチモーダル RAG** — WooCommerce ストアとの直接同期(注文状況照会、在庫リアルタイム確認、カートリンク生成)に加えて、PDF、DOCX、CSV、TXT の取り込み、Web クローリング、画像のマルチモーダルコンテキスト解釈に対応。 - 🎙️ **LiveKit リアルタイム音声エージェント** — WebRTC による超低遅延双方向音声会話、5 種類の動的オーディオビジュアライザー(`wave`, `bar`, `grid`, `radial`, `aura`)、リアルタイム文字起こし、パイプラインおよびリアルタイム直接音声モデル、全プラットフォーム向けネイティブ SDK(Web, React, iOS, Android, Flutter, React Native)。 - 💬 **埋め込み可能チャットウィジェット** — `` | `window.Chatty.openVoice()` | | **React / Next.js** (`@personaliai/react-widget`) | `` または `` | `useChatty().openVoice()` | | **iOS** (SwiftUI) | `ChattyVoiceView(botId: "...")` | `ChattyClient.createVoiceToken(...)` | | **Android** (Compose) | `ChattyVoiceScreen(botId = "...")` | `ChattyApi.createVoiceToken(...)` | | **Flutter** | `ChattyVoiceScreen(botId: '...')` | `ChattyClient.createVoiceToken(...)` | | **React Native** | `` | `ChattyClient.createVoiceToken(...)` | | **Iframe 埋め込み** | `` | 独立したブラウザホスト画面 | ### 音響エンジニアリングとエコー抑制 - **ハードウェア加速 WebRTC AEC**:ブラウザおよびモバイルクライアント側で音響エコーキャンセラー(AEC)、ノイズ抑制、自動ゲイン制御を最適化ネゴシエーション。 - **サーバー側二重フィルタリングの排除**:LiveKit ワーカーランタイムから不要なサーバー側 AEC フィルターを削除し、不快な金属音、コムフィルタリング、ロボット声アーティファクトを完全に防止。 - **セッションメモリのリセット**:専用リセットエンドポイント(`POST /api/widget/voice/reset`)により、過去の会話履歴を DB から消去し、ルーム Nonce を再生成してコンテキスト汚染を完全に遮断。 --- ## アーキテクチャ 公開リポジトリは標準的な構成を採用しています。`frontend/` には Next.js による管理ダッシュボード、埋め込みウィジェット、ビジュアルフロービルダーが含まれ、`backend/` には FastAPI API、オムニチャネルアダプター、バックグラウンドワーカー、およびデータベースマイグレーションが含まれます。 ### 全チャネル統合・デュアルエンジンアーキテクチャ ```mermaid flowchart TB subgraph INBOUND["オムニチャネル受信 & クライアント"] direction LR WIDGET["Web ウィジェット & LiveKit 音声"] WA["WhatsApp Cloud API"] META["Messenger & Instagram Direct"] TT["TikTok ビジネスメッセージ"] TG["Telegram Bot"] SMS["Twilio 双方向 SMS"] MAIL["サポート受信用メール"] end subgraph GATEWAY["セキュリティ & Webhook 受信ゲートウェイ"] direction TB HMAC["暗号署名検証 (HMAC-SHA256 / トークン)"] ACK["40ms 未満の HTTP 200 OK 即時応答"] QUEUE["非同期重複排除 & イベントパイプライン"] DLP["リアルタイム PII / 機密データ自動マスキング"] end subgraph CORE["デュアルエンジン実行コア"] direction LR subgraph FLOW["ビジュアルフロービルダー・ランタイム"] FNODES["フローノード (@xyflow/react)"] FCOND["時間帯 & 条件付き分岐"] FLEAD["リード獲得 & CRM 同期"] FBOOK["カレンダー予約リンク発行"] end subgraph BRAIN["マルチモーダル RAG & AI 推論"] VECT["pgvector ハイブリッドセマンティック検索"] KB["ナレッジドキュメント (PDF/DOCX/CSV/TXT)"] WOO["WooCommerce ストア & 注文 API"] LLM["BYOK LLM (Gemini / Claude / GPT / Groq)"] end end subgraph TAKEOVER["有人オペレーター管理デスク"] direction TB SSE["リアルタイム SSE イベントストリーム"] INBOX["統合ヘルプデスク & SLA 受信トレイ"] HUMAN["ワンクリック有人エージェント引き継ぎ"] end subgraph OUTBOUND["チャネル UI 正規化 & 配信"] direction LR OUT_WA["WhatsApp 24h ウィンドウ & テンプレート"] OUT_TT["TikTok クイックリプライ (最大3件)"] OUT_TG["Telegram 動的インラインキーボード"] OUT_SMS["SMS 番号選択肢 & TCPA 配信停止処理"] OUT_MAIL["引用文自動除去・スレッドメール返信"] OUT_WEB["ウィジェット・ストリーム表示 & リッチカード"] end INBOUND --> GATEWAY HMAC --> ACK ACK --> QUEUE QUEUE --> DLP DLP --> CORE CORE <--> TAKEOVER CORE --> OUTBOUND TAKEOVER --> OUTBOUND ``` ### コンポーネント & データアーキテクチャ ```mermaid flowchart TB classDef actor fill:#f8fafc,stroke:#64748b,color:#0f172a classDef edge fill:#eff6ff,stroke:#2563eb,color:#1e3a8a classDef app fill:#ecfdf5,stroke:#059669,color:#064e3b classDef data fill:#f0fdfa,stroke:#0f766e,color:#134e4a classDef integration fill:#fff7ed,stroke:#ea580c,color:#7c2d12 classDef deploy fill:#f5f3ff,stroke:#7c3aed,color:#4c1d95 subgraph clients["クライアント & チャネル"] direction LR visitor(("Web サイト訪問者")):::actor operator(("サポートオペレーター")):::actor omni["WhatsApp · Messenger · IG · TikTok · TG · SMS · Email · MCP"]:::actor end subgraph edge["パブリックエッジ"] direction LR tls["TLS · ドメイン許可リスト · レートリミット"]:::edge web["Next.js 15+ フロントエンド (App Router)"]:::app end subgraph runtime["Chatty ランタイム"] direction LR api["FastAPI バックエンド · フローエンジン · RAG · Webhook"]:::app mcp["FastMCP 81ツール サーバー (OAuth 2.0 / API キー)"]:::app end subgraph managed["マネージド Supabase レイヤー"] direction LR auth["Supabase Auth"]:::data postgres["Postgres + pgvector · JSONB 設定 · RLS"]:::data storage["Supabase Storage (ドキュメント & 音声)"]:::data realtime["Supabase Realtime"]:::data end subgraph integrations["外部サービス連携"] direction TB llm["LLM プロバイダー (Gemini / OpenAI / Anthropic / Groq)"]:::integration calendar["Google Calendar & Microsoft 365"]:::integration wooCommerce["WooCommerce ストア API"]:::integration voiceLiveKit["LiveKit WebRTC 音声メッシュ"]:::integration end subgraph targets["デプロイ先ターゲット"] direction LR docker["Docker Compose / VPS"]:::deploy railway["Railway"]:::deploy render["Render Blueprint"]:::deploy cloudrun["Google Cloud Run"]:::deploy end visitor --> tls operator --> web omni --> api tls --> web web -->|HTTPS| api api --> auth api --> postgres api --> storage api --> realtime api --> llm api --> calendar api --> wooCommerce api --> voiceLiveKit targets -. 実行 .-> runtime linkStyle default stroke:#64748b,stroke-width:1.5px ``` ``` chatty/ ├── frontend/ Next.js - ダッシュボード、埋め込みウィジェット、widget.js ローダー ├── backend/ FastAPI - チャット/RAG/予約/チャネル連携/OAuth/MCP API │ ├── app/ ルーター、コアモジュール (認証/セキュリティ/DBヘルパー)、スキーマ │ ├── plugins/ Google/Microsoft連携、RAG、ウィジェットオーケストレーション │ ├── supabase/ データベーススキーマおよびマイグレーション (順次適用) │ ├── scripts/ apply_migrations.py などの運用スクリプト │ └── tests/ pytest スモークテストおよびユニットテスト └── docker-compose.yml ``` --- ## 📋 動作要件 | ツール / サービス | 必要バージョン | 用途 | |---|---|---| | [Docker](https://docs.docker.com/get-docker/) + Docker Compose | 24+ | クイックスタートおよび標準デプロイ(推奨環境) | | [Python](https://www.python.org/downloads/) | 3.11+ / 3.13+ | Docker を使用しない場合のバックエンド開発環境 | | [Node.js](https://nodejs.org/) | 20+ | Docker を使用しない場合のフロントエンド開発環境 | | [Supabase](https://supabase.com) アカウント | 無料枠 (Free tier) | データベース (Postgres + Auth + Storage + Realtime) | | [Google AI Studio](https://aistudio.google.com/apikey) API キー | 無料枠 (Free tier) | デフォルト LLM (Gemini) | --- ## ⚡ ワンクリック・クラウドデプロイ (Render & Railway) サーバーを自前で用意することなく、ワンクリックで Chatty をクラウド上にデプロイできます:

Deploy to Render   Deploy on Railway

Chatty は **マネージド Supabase アーキテクチャ** を採用しています(アプリケーションコンテナは Render / Railway で動作し、認証・Postgres データベース・ベクトル検索・ストレージは Supabase で管理されます)。デプロイボタンをクリックする前、または直後に以下の 3 つのステップを完了してください: 1. **無料の Supabase プロジェクトを作成:** [supabase.com](https://supabase.com) で無料プロジェクトを作成し、Project Settings から **Project URL**、**`anon` 公開キー**、**`service_role` 秘密キー**、および **データベース接続文字列** を取得します。 2. **データベースマイグレーションの実行:** マイグレーションスクリプトを 1 回実行して、67 以上のテーブルとベクトルインデックスを初期化します: ```bash cd backend && pip install psycopg2-binary python scripts/apply_migrations.py "postgresql://postgres:YOUR_PASSWORD@YOUR_HOST:5432/postgres" ``` *(または Supabase SQL Editor で `backend/supabase/migrations/` 内の SQL ファイルを直接実行)*。 3. **無料の Gemini API キー取得と環境変数の設定:** [aistudio.google.com/apikey](https://aistudio.google.com/apikey) から無料キーを取得します。Render または Railway で環境変数を求められたら、`SUPABASE_URL`、`SUPABASE_SECRET_KEY`、`GEMINI_API_KEY`、`NEXT_PUBLIC_SUPABASE_URL`、`NEXT_PUBLIC_SUPABASE_ANON_KEY` を設定してください。 --- ## 🚀 クイックスタート (Docker Compose) リポジトリのクローンからインスタンス起動までの最短手順です。 ```bash git clone --recurse-submodules https://github.com/PersonaliAI/chatty.git cd chatty # 1. 作成済みの Supabase プロジェクトにデータベースマイグレーションを適用 cd backend && pip install psycopg2-binary python scripts/apply_migrations.py "postgresql://postgres:YOUR_PASSWORD@YOUR_HOST:5432/postgres" cd .. # 2. 環境変数の設定 cp backend/.env.example backend/.env # Supabase と Gemini の認証情報を入力 cp frontend/.env.example frontend/.env # Supabase URL と anon キーを入力 cp .env.example .env # Docker ビルド用の NEXT_PUBLIC_* 値を設定 # 3. コンテナの起動 docker compose up --build backend frontend ``` - **管理ダッシュボード**: `http://localhost:3000` — アカウント登録してボットを作成すると、ウィジェット埋め込みコードが即時発行されます。 - **バックエンド API**: `http://localhost:8000`(対話型ドキュメント: `http://localhost:8000/docs`)。 --- ## MCP サーバーとエージェント制御 Chatty には [Model Context Protocol (FastMCP)](https://modelcontextprotocol.io) 仕様に完全準拠した公式サーバーが組み込まれており、Claude Desktop、Cursor、Codex、Antigravity から自然言語の対話のみでシステム全体を自律運用可能です。 - **認証**: PKCE(RFC 7636)必須の OAuth 2.0 認可コードフローおよび Scoped API キー (`chatty_sk_...`) に対応。 - **81 種類のツール**(12 カテゴリ):ボットライフサイクル、デザインカスタマイズ、ビジュアルフロービルダー、プロアクティブキャンペーン、ナレッジベース & RAG、受信トレイ & 有人引き継ぎ、カレンダー予約、分析、BYOK ガードレール設定、および LiveKit 音声スタジオ。 - **リアルタイムリソース & プロンプト**: `chatty://bots/{bot_id}/voice-config` でリアルタイムな音声設定状態を取得し、`chatty://dashboard/screenshots` でダッシュボード画面を取得可能。 MCP クライアントの設定例: ```json { "mcpServers": { "chatty": { "url": "https://your-backend-domain/mcp" } } } ``` --- ## 💻 ローカル開発 (Docker を使わない場合) **バックエンド:** ```bash cd backend python -m venv .venv && .venv\Scripts\activate # macOS/Linux: source .venv/bin/activate pip install -r requirements.txt uvicorn main:app --reload --port 8000 ``` **フロントエンド:** ```bash cd frontend npm install npm run dev ``` --- ## 🧪 テストと CI `.github/workflows/ci.yml` が `main` ブランチへのプッシュおよびプルリクエストごとに自動実行されます: - **バックエンド**: `python -m compileall` による構文チェック、`pytest` による全テストケース実行 (`backend/tests/`)。 - **フロントエンド**: TypeScript 型検査、ESLint、ビルドチェック。 --- ## 🇪🇺 GDPR & エンタープライズデータプライバシー Chatty は **EU 一般データ保護規則 (GDPR / Regulation (EU) 2016/679)** および **ePrivacy 指令 (2002/58/EC)** に厳格に準拠して設計されています: * **リアルタイム個人情報保護 (DLP):** PII スクラバー (`backend/app/services/pii_service.py`) が、Luhn アルゴリズム検証済みクレジットカード番号、米社会保障番号 (SSN)、漏洩 Bearer トークン、欧州 IBAN 銀行口座番号 (ISO 7064) を自動検知し、Web ウィジェットおよび全オムニチャネル(WhatsApp、Instagram、Telegram、SMS、Email)上で即座にマスキングします。 * **忘れられる権利 (削除権 / 第17条):** - 管理者エンドポイント `DELETE /api/admin/inbox/contacts/{id}` により、PostgreSQL ストアドプロシージャ `chatty_erase_contact()` を実行し、会話履歴、リード、セッション情報を安全に完全消去します。 - Web サイト訪問者は、チャットウィジェット内のゴミ箱アイコンから自身のセッションとローカルストレージをいつでも自主消去可能です。 * **暗号化とテナント分離 (第32条):** - 機密性の高い BYOK API キーや OAuth トークンは、Fernet (AES-128-CBC + HMAC-SHA256) により保管時に暗号化されます。 - すべての通信は TLS 1.3 で保護され、Supabase の Row-Level Security (RLS) によりテナントデータが厳密に分離されます。 * **AI 基盤モデル学習不使用の保証:** 顧客の会話やアップロードされた文書データは、リアルタイム推論のためだけに一時メモリ内で処理され、パブリックな AI 基盤モデルの再学習に利用されることは一切ありません。 * **法的合意文書:** - 欧州委員会標準契約条項 (SCC) を組み込んだ [データ処理契約 (DPA)](frontend/src/app/(legal)/dpa/page.tsx)。 - 国際転送セーフガードと SOC 2 / ISO 27001 認証を明記した公開 [再委託先レジストリ](frontend/src/app/(legal)/subprocessors/page.tsx)。 --- ## 🔒 セキュリティ セキュリティ上の脆弱性を発見された場合は、**公開の Issue を作成しないでください**。GitHub の脆弱性非公開報告窓口(リポジトリの **Security** タブ → **Report a vulnerability**)をご利用ください。迅速に対応いたします。 --- ## 🤝 コントリビューション イシューの起票やプルリクエストを歓迎します。[CONTRIBUTING.md](CONTRIBUTING.md) を参照して、開発環境のセットアップや注力領域(STT / TTS プロバイダー、新しい外部チャネル連携、ドキュメント改善など)をご確認ください。 --- ## 📄 ライセンス 本プロジェクトは [MIT ライセンス](LICENSE) の下で公開されています。商用利用、フォーク、改変、自社ホストなど自由に利用可能です。 ---
⭐ **Chatty がお役に立ちましたら、GitHub リポジトリのスターをお願いいたします**