1
0

Add complete ai.card Rust implementation

- Implement complete Rust API server with axum framework
- Add database abstraction supporting PostgreSQL and SQLite
- Implement comprehensive gacha system with probability calculations
- Add JWT authentication with atproto DID integration
- Create card master data system with rarities (Normal, Rare, SuperRare, Kira, Unique)
- Implement draw history tracking and collection management
- Add API endpoints for authentication, card drawing, and collection viewing
- Include database migrations for both PostgreSQL and SQLite
- Maintain full compatibility with Python API implementation
- Add comprehensive documentation and development guide

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-06-07 17:43:10 +09:00
parent ef907660cc
commit 0b34568585
57 changed files with 3469 additions and 422 deletions

143
DEVELOPMENT.md Normal file
View File

@ -0,0 +1,143 @@
# ai.card プロジェクト固有情報
## プロジェクト概要
- **名前**: ai.card
- **パッケージ**: aicard
- **タイプ**: atproto基盤カードゲーム
- **役割**: ユーザーデータ主権カードゲームシステム
## 実装状況
### 現在の状況
- **ai.bot統合**: ai.botの機能として実装済み
- **カード取得**: atproto accountでmentionすると1日1回カード取得可能
- **データ管理**: ai.api (MCP server) でユーザー管理
### 独立MCPサーバーai.gpt連携
- **場所**: `/Users/syui/ai/gpt/card/`
- **サーバー**: FastAPI + fastapi_mcp (port 8000)
- **統合**: ai.gptサーバーからHTTP連携
## アーキテクチャ構成
### 技術スタック
- **Backend**: FastAPI + MCP
- **Frontend**: React Web UI + SwiftUI iOS app
- **Data**: atproto collection recordユーザー所有
- **Auth**: OAuth 2.1 scope実装待ち
### データフロー
```
ユーザー → ai.bot mention → カード生成 → atproto collection → ユーザー所有
↑ ↓
← iOS app表示 ← ai.card API ←
```
## 移行計画
### Phase 1: 独立化
- **iOS移植**: Claude担当予定
- **Web UI**: React実装
- **API独立**: ai.botからの分離
### Phase 2: データ主権実装
- **atproto collection**: カードデータをユーザー所有に
- **OAuth 2.1**: 不正防止機能実装
- **画像ファイル**: Cloudflare Pages最適化
### Phase 3: ゲーム機能拡張
- **ガチャシステム**: 確率・レアリティ管理
- **トレード機能**: ユーザー間カード交換
- **デッキ構築**: カードゲーム戦略要素
## yui system適用
### 唯一性担保
- **カード効果**: アカウント固有の効果設定
- **改ざん防止**: ハッシュ・署名による保証
- **ゲームバランス**: 唯一性による公平性維持
### ai.verse連携
- **ゲーム内アイテム**: ai.verseでのカード利用
- **固有スキル**: カードとキャラクターの連動
- **現実反映**: カード取得がゲーム内能力に影響
## ディレクトリ構成
```
/Users/syui/ai/gpt/card/
├── api/ # FastAPI + MCP server
├── web/ # React Web UI
├── ios/ # SwiftUI iOS app
└── docs/ # 開発ドキュメント
```
## MCPツールai.gpt連携
### カード管理
- **card_get_user_cards**: ユーザーカード取得
- **card_draw_card**: ガチャ実行
- **card_analyze_collection**: コレクション分析
- **card_check_daily_limit**: 日次制限確認
- **card_get_card_stats**: カード統計情報
- **card_manage_deck**: デッキ管理
## 開発状況
### 完成済み機能
-**基本カード生成**: ai.bot統合での1日1回取得
-**atproto連携**: mention機能
-**MCP統合**: ai.gptからの操作
### 開発中機能
- 🔧 **iOS app**: SwiftUI実装
- 🔧 **Web UI**: React実装
- 🔧 **独立API**: FastAPI server
### 将来機能
- 📋 **OAuth 2.1**: 不正防止強化
- 📋 **画像最適化**: Cloudflare Pages
- 📋 **ゲーム拡張**: トレード・デッキ戦略
## ai.botからの移行詳細
### 現在のai.bot実装
- **Rust製**: seahorse CLI framework
- **atproto連携**: mention機能でカード配布
- **日次制限**: 1アカウント1日1回取得
- **自動生成**: AI絵画Leonardo.AI + Stable Diffusion
### 独立化の理由
- **iOS展開**: モバイルアプリでの独立した体験
- **ゲーム拡張**: デッキ構築・バトル機能の追加
- **データ主権**: ユーザーによる完全なデータ所有
- **スケーラビリティ**: サーバー負荷分散
## 技術的課題と解決策
### データ改ざん防止
- **短期**: MCP serverによる検証
- **中期**: OAuth 2.1 scope実装待ち
- **長期**: ブロックチェーン的整合性チェック
### スケーラビリティ
- **画像配信**: Cloudflare Pages活用
- **API負荷**: FastAPIによる高速処理
- **データ保存**: atproto分散ストレージ
### ユーザー体験
- **直感的UI**: iOS/Webでの統一UX
- **リアルタイム更新**: WebSocketでの即座反映
- **オフライン対応**: ローカルキャッシュ機能
## ai.game連携構想
### Play-to-Work統合
- **カードゲームプレイ → 業務成果変換**: ai.gameデバイスでの労働ゲーム化
- **デッキ構築戦略 → 企業戦略思考**: カード組み合わせが戦略思考を鍛練
- **トレード交渉 → ビジネススキル**: 他プレイヤーとの交渉が実務能力向上
### メタバース展開
- **ai.verse統合**: 3D世界でのカードバトル
- **アバター連動**: 所有カードがキャラクター能力に影響
- **配信コンテンツ**: カードゲームが配信可能なエンターテイメント