← チャットに戻る

技術仕様書

Kinobo Monthly v1.1.0 | 株式会社Kinobo

最終更新日: 2026年4月6日

1. サービス概要

項目内容
サービス名Kinobo Monthly(キノボマンスリー)
コンセプトAIチャットボットによるマンスリーマンション案内・物件提案サービス
URLhttps://monthly.horiki-hd.co.jp
運営株式会社Kinobo
ターゲットビジネス出張者、英語/中国語圏の観光客、受験のための母子
対応言語日本語・英語・中国語
物件データ全国3,000件(17エリア・33属性)

2. システムアーキテクチャ

バックエンド

Python 3.12
FastAPI 0.135
uvicorn (ASGI Server)
aiosqlite (非同期DB)

LLMエンジン

Google Gemini API
Model: gemini-2.5-flash
Fallback: gemini-2.0-flash
最終フォールバック: ルールベース応答

データベース

SQLite 3
テーブル: sessions, messages,
recommended_properties, ratings

フロントエンド

Vanilla JavaScript (ES6+)
CSS3 Custom Properties
レスポンシブデザイン
イベント委譲パターン

インフラ

VPS: Ubuntu 24.04 (2GB)
Caddy (Reverse Proxy + TLS)
systemd (Process Manager)
Let's Encrypt (HTTPS)

セキュリティ

CSP / HSTS / X-Frame-Options
Rate Limiting (per IP)
Input Sanitization
Brute-force Protection

3. 機能一覧

機能説明状態
AIチャットGemini APIによる自然言語での物件案内稼働中
選択式入力クイックオプションボタンによる簡易入力稼働中
自由記述入力テキスト入力による自由な質問稼働中
物件検索・提案エリア・予算・間取り等によるフィルタリング稼働中
物件カード表示サムネイル付き物件情報カード稼働中
物件詳細モーダルカードクリックで全属性表示稼働中
エリア情報17エリアの路線・駅・生活情報を3言語で提供稼働中
3言語対応日本語・英語・中国語のUI切替稼働中
連絡先収集チャット終了時に名前・電話・メール取得稼働中
営業用履歴全チャットログ・顧客情報・提案物件の閲覧稼働中
ダッシュボード統計セッション数・言語別・評価・人気物件稼働中
CSVエクスポート顧客リストのCSVダウンロード稼働中
満足度評価5段階星評価稼働中
空室API連携リアルタイム空室確認将来対応
物件画像実際の物件写真表示将来対応

4. API仕様

エンドポイントメソッド説明レート制限
/api/sessionPOST新規チャットセッション作成10回/分
/api/chatPOSTチャットメッセージ送信・AI応答取得20回/分
/api/contactPOST顧客連絡先保存5回/分
/api/ratingPOST満足度評価保存5回/分
/api/areasGETエリア一覧取得30回/分
/api/properties/searchGET物件検索30回/分

5. データベース設計

テーブルカラム用途
sessionsid, language, customer_name, customer_phone, customer_email, status, created_at, updated_atチャットセッション管理
messagesid, session_id, role, content, metadata, created_atチャット履歴
recommended_propertiesid, session_id, property_no, property_name, created_at提案物件記録
ratingsid, session_id, score, created_at満足度評価

6. 物件データ構造(33属性)

カテゴリ属性
基本情報No., 物件名, 所在地, エリア
アクセス最寄り駅1, 徒歩, 最寄り駅2, 徒歩
部屋情報間取り, 面積(㎡), 築年月, 階数
料金1日賃料(税込), 清掃費(税込), 寝具代
通信ネット環境, ネット種別
セキュリティオートロック, TVモニター付, 宅配BOX
設備EV, 独立洗面台, 浴室乾燥, 温水便座, 洗濯機, ガス, コンロ口数, 冷蔵庫, 電子レンジ, 炊飯器, 掃除機
周辺近隣施設, 備考

7. 対応エリア

エリア物件数日額目安
東京都心(六本木・赤坂・銀座)353件¥4,170〜¥18,410
東京城南(品川・目黒)243件¥3,640〜¥16,130
東京城東(浅草・錦糸町)265件¥2,740〜¥12,290
東京城西(渋谷・新宿)158件¥3,520〜¥14,110
東京多摩(立川・吉祥寺)203件¥2,500〜¥11,070
東京城北(池袋)94件¥3,010〜¥12,210
神奈川横浜193件¥2,920〜¥14,270
神奈川川崎144件¥3,060〜¥13,370
神奈川湘南108件¥2,500〜¥9,280
千葉176件¥2,500〜¥11,470
大阪キタ(梅田)147件¥3,330〜¥14,400
大阪ミナミ(なんば)116件¥3,170〜¥14,070
大阪その他156件¥2,590〜¥10,910
京都171件¥2,990〜¥13,160
福岡(博多・天神)162件¥2,520〜¥10,010
仙台151件¥2,500〜¥9,150
北海道札幌160件¥2,500〜¥8,720

8. セキュリティ対策

対策実装内容
HTTPSCaddy + Let's Encrypt 自動証明書管理
セキュリティヘッダーCSP, HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy
レート制限IP別・エンドポイント別の制限(20〜5回/分)
入力サニタイズ最大長制限、制御文字除去、言語バリデーション
ブルートフォース防止管理画面ログイン試行制限(5回/5分)
パス遮断.env, .git, wp-admin等へのアクセスを404
API非公開FastAPI /docs, /redoc 無効化
APIキー管理systemd環境変数で管理(コード内非記載)
noindex全ページに noindex, nofollow 設定

9. LLM設定

項目設定値
プライマリモデルgemini-2.5-flash
フォールバック1gemini-2.5-flash → gemini-2.0-flash
フォールバック2ルールベース応答(API不通時)
temperature0.8
topP0.95
topK40
maxOutputTokens2048
思考モード無効(thinkingBudget: 0)
API料金無料枠: 15 RPM / 従量課金: 低コスト

10. デプロイ構成

項目詳細
VPSxvps.ne.jp / Ubuntu 24.04 / 2GB RAM / 3 vCPU
IP210.131.222.181
ポート8003(内部)→ Caddy経由で80/443公開
systemdサービスmonthly.service(自動起動・自動再起動)
ログ/var/log/caddy/monthly.log(10MB×5ローテーション)
デプロイ方法tar + scp + systemctl restart monthly

11. 同様のサービスを構築する手順

  1. データ準備: 物件データをExcel(33カラム)で整理 → openpyxlでJSON変換
  2. バックエンド: FastAPI + aiosqlite でチャットAPI・履歴管理を実装
  3. LLM統合: Gemini APIのgenerateContentエンドポイントを呼び出し。システムプロンプトに物件データとエリア知識を含める
  4. フロントエンド: 軽量SPAでチャットUI。選択式+自由記述のハイブリッド入力。イベント委譲パターンで動的ボタン対応
  5. 多言語: フロントi18n辞書 + LLMシステムプロンプトの言語別切替
  6. セキュリティ: レート制限・入力サニタイズ・セキュリティヘッダー・HTTPS
  7. デプロイ: VPS + Caddy (HTTPS自動) + systemd (プロセス管理)
  8. 営業連携: パスワード付き履歴ページで営業担当者がチャット内容を確認・CSVエクスポート

12. 開発チーム

役割担当
プロダクトオーナー堀木遼(株式会社Kinobo 代表取締役)
ディレクター / PMClaude Code (AI)
アーキテクトClaude Code (AI)
フロントエンド / バックエンドClaude Code (AI)
デザイン / レビューClaude Code (AI)
営業コンサルタントClaude Code (AI) — エリア知識・接客フロー設計