エンターテイメント向けAIチャットボットアプリケーション。Anthropic Claudeを使用した、シンプルで使いやすい会話インターフェースを提供します。
- 💬 シンプルなチャットインターフェース: 直感的なUI/UX
- 🤖 Claude AI統合: Anthropic Claude 3.5 Sonnet搭載
- 💾 会話履歴の永続化: MongoDBで会話を保存
- 🎨 モダンなUI: shadcn/ui + Tailwind CSS
- 🚀 簡単デプロイ: Google Cloud Run対応
- 🔄 リセット機能: ワンクリックで会話をクリア
- Next.js 14+ (App Router)
- TypeScript
- Hono (API Layer)
- React 18+
- Tailwind CSS + shadcn/ui
- MongoDB (Prisma ORM)
- Anthropic Claude API (@anthropic-ai/sdk)
- Google Cloud Run
- Docker
- Node.js 20.x以上
- npm または yarn
- MongoDB Atlas アカウント(または MongoDB インスタンス)
- Anthropic API Key (取得はこちら)
- Google Cloud アカウント(デプロイ時)
git clone <your-repository-url>
cd claude_mcp_teestmake install
# または
npm install.env.exampleを.env.localにコピーし、必要な値を設定します:
cp .env.example .env.local.env.localを編集:
# MongoDB接続文字列
DATABASE_URL="mongodb+srv://<username>:<password>@<cluster>.mongodb.net/<database>?retryWrites=true&w=majority"
# Anthropic API Key
ANTHROPIC_API_KEY="sk-ant-api-key-here"
# オプション設定
CLAUDE_MODEL="claude-3-5-sonnet-20241022"
CLAUDE_MAX_TOKENS=4096
CLAUDE_TEMPERATURE=1.0- MongoDB Atlasにアクセス
- 無料クラスターを作成
- データベースユーザーを作成
- ネットワークアクセス設定で、IPアドレスを許可(開発時は
0.0.0.0/0) - 接続文字列を取得し、
DATABASE_URLに設定
- Anthropic Consoleにアクセス
- アカウント作成・ログイン
- API Keysセクションで新しいキーを作成
- キーを
ANTHROPIC_API_KEYに設定
make db-push
# または
npx prisma db pushmake dev
# または
npm run devブラウザで http://localhost:3000 にアクセス
/
├── src/
│ ├── app/ # Next.js App Router
│ │ ├── page.tsx # メインページ
│ │ ├── layout.tsx # ルートレイアウト
│ │ └── api/
│ │ └── [[...route]]/ # Hono API routes
│ ├── components/
│ │ ├── chat/ # チャット関連コンポーネント
│ │ └── ui/ # shadcn/ui コンポーネント
│ ├── lib/
│ │ ├── prisma.ts # Prisma client
│ │ ├── claude.ts # Claude API client
│ │ └── utils.ts # ユーティリティ
│ └── types/
│ └── index.ts # TypeScript型定義
├── prisma/
│ └── schema.prisma # Prismaスキーマ
├── Dockerfile # Cloud Run用
├── Makefile # 開発コマンド
└── CLAUDE.md # プロジェクト仕様書
メッセージを送信し、Claudeの応答を取得
Request:
{
"message": "こんにちは"
}Response:
{
"success": true,
"userMessage": { "id": "...", "role": "user", "content": "こんにちは", ... },
"assistantMessage": { "id": "...", "role": "assistant", "content": "こんにちは!", ... }
}会話履歴を取得
会話履歴をクリア
ヘルスチェック
make studio
# または
npx prisma studioブラウザで http://localhost:5555 にアクセス
# ビルド
make docker-build
# 実行
make docker-run
# ビルド→実行(テスト用)
make test-local推奨: GitHub Actionsによる自動デプロイが設定されています。
mainブランチにプッシュすると、自動的に以下が実行されます:
- Dockerイメージのビルド
- Google Container Registryへのpush
- Cloud Runへのデプロイ
# 通常の開発フロー
git add .
git commit -m "feat: 新機能を追加"
git push origin main
# GitHub Actionsが自動実行(約2-3分)
# デプロイ完了後、本番環境に反映されます# GitHub CLIで確認
gh run list --repo furuboko/ai-chatbot
gh run watch --repo furuboko/ai-chatbot
# またはブラウザで確認
https://github.com/furuboko/ai-chatbot/actions# GitHub CLIで手動実行
gh workflow run deploy.yml --repo furuboko/ai-chatbot詳細は OPERATIONS.md を参照してください。
緊急時やローカルテスト時に使用します。
# GCP CLIのインストール確認
gcloud --version
# ログイン
gcloud auth login
# プロジェクト作成(または既存プロジェクト選択)
gcloud projects create PROJECT_ID
gcloud config set project PROJECT_ID
# Cloud Run APIを有効化
gcloud services enable run.googleapis.com
gcloud services enable cloudbuild.googleapis.com# シークレットを作成(対話形式)
make create-secrets
# または手動で作成
echo -n "sk-ant-..." | gcloud secrets create anthropic-api-key --data-file=-
echo -n "mongodb+srv://..." | gcloud secrets create database-url --data-file=-Makefileを使用(推奨):
# Makefileの変数を環境に合わせて変更
# PROJECT_ID=your-gcp-project-id
# フルデプロイ
make deploy PROJECT_ID=your-project-id
# または手動で段階的に
make deploy-build PROJECT_ID=your-project-id # Docker imageビルド
make deploy-run PROJECT_ID=your-project-id # Cloud Runデプロイ
# Secret Manager使用の場合
make deploy-secrets PROJECT_ID=your-project-id手動デプロイ:
# Docker imageをビルドしてGCRにpush
gcloud builds submit --tag gcr.io/PROJECT_ID/ai-chatbot
# Cloud Runにデプロイ
gcloud run deploy ai-chatbot \
--image gcr.io/PROJECT_ID/ai-chatbot \
--platform managed \
--region asia-northeast1 \
--allow-unauthenticated \
--set-env-vars DATABASE_URL=mongodb+srv://... \
--set-env-vars ANTHROPIC_API_KEY=sk-ant-... \
--max-instances 2 \
--min-instances 0 \
--memory 512Mi \
--cpu 1 \
--timeout 300デプロイが完了すると、URLが表示されます:
Service [ai-chatbot] deployed to [https://ai-chatbot-xxx.a.run.app]
ブラウザでアクセスして動作を確認してください。
make install # 依存関係のインストール
make init # プロジェクト初期化(install + prisma generate)
make db-push # Prismaスキーマの適用make dev # 開発サーバー起動
make build # プロダクションビルド
make start # プロダクションモード起動
make studio # Prisma Studio起動make docker-build # Dockerイメージビルド
make docker-run # Dockerコンテナ起動
make test-local # ローカルDockerテストmake deploy # フルデプロイ(build + deploy)
make deploy-build # Docker imageビルド
make deploy-run # Cloud Runデプロイ
make deploy-secrets # Secret Manager使用デプロイ
make create-secrets # Secret Manager作成make clean # ビルド成果物削除
make fresh # クリーンインストール
make help # ヘルプ表示| 変数名 | 説明 | 例 |
|---|---|---|
DATABASE_URL |
MongoDB接続文字列 | mongodb+srv://user:pass@cluster.mongodb.net/db |
ANTHROPIC_API_KEY |
Anthropic API Key | sk-ant-api-... |
| 変数名 | デフォルト | 説明 |
|---|---|---|
CLAUDE_MODEL |
claude-3-5-sonnet-20241022 |
使用するClaudeモデル |
CLAUDE_MAX_TOKENS |
4096 |
最大トークン数 |
CLAUDE_TEMPERATURE |
1.0 |
応答のランダム性(0.0-1.0) |
NODE_ENV |
development |
実行環境 |
エラー: Error: @prisma/client did not initialize yet
解決方法:
npx prisma generateエラー: MongoServerError: bad auth
解決方法:
DATABASE_URLの認証情報を確認- MongoDB Atlasでユーザーのパスワードをリセット
- ネットワークアクセス設定を確認
エラー: Claude API Error: 401
解決方法:
ANTHROPIC_API_KEYが正しいか確認- Anthropic ConsoleでAPIキーの有効性を確認
- API使用量制限を確認
エラー: Error: Cannot find module 'next'
解決方法:
# node_modules削除して再インストール
make clean
make install
make docker-buildエラー: ERROR: (gcloud.run.deploy) PERMISSION_DENIED
解決方法:
# 必要なAPI有効化
gcloud services enable run.googleapis.com
gcloud services enable cloudbuild.googleapis.com
# 権限確認
gcloud projects get-iam-policy PROJECT_ID開発環境:
.env.localファイルが存在するか確認- ファイル名が正確か確認(
.envではなく.env.local)
本番環境(Cloud Run):
- Secret Managerまたは環境変数設定を確認
- Cloud Runコンソールで環境変数を確認
確認項目:
- ブラウザのコンソールでエラーを確認
- ネットワークタブでAPIリクエストを確認
- サーバーログを確認
# 開発環境 ターミナルのログを確認 # Cloud Run gcloud run logs read ai-chatbot --region asia-northeast1
本番環境の運用に関する詳細情報は、以下のドキュメントを参照してください:
-
OPERATIONS.md - システム構成・運用マニュアル
- システム構成図とアーキテクチャ
- インフラ構成とIAM設定
- デプロイメント手順
- 監視とログ管理
- トラブルシューティングガイド
- コスト管理
- セキュリティ対策
- バックアップとリカバリ
-
CLAUDE.md - プロジェクト仕様書
- システム要件
- API設計
- データベーススキーマ
- 開発ガイドライン
- Next.js Documentation
- Hono Documentation
- Prisma Documentation
- Anthropic Claude API
- Google Cloud Run
- shadcn/ui
MIT
プルリクエストを歓迎します!
問題が発生した場合は、Issueを作成してください。
- 本番環境: https://ai-chatbot-3n4ot7ouma-an.a.run.app
- GitHubリポジトリ: https://github.com/furuboko/ai-chatbot
- Cloud Runコンソール: https://console.cloud.google.com/run?project=crypto-reality-367506
開発者: Claude Code 最終更新: 2026-02-18