merge aigpt
This commit is contained in:
416
claude.md
416
claude.md
@ -1,278 +1,168 @@
|
||||
# エコシステム統合設計書
|
||||
# ai.card 開発ガイド (Claude Code用)
|
||||
|
||||
## 中核思想
|
||||
- **存在子理論**: この世界で最も小さいもの(存在子/ai)の探求
|
||||
- **唯一性原則**: 現実の個人の唯一性をすべてのシステムで担保
|
||||
- **現実の反映**: 現実→ゲーム→現実の循環的影響
|
||||
## プロジェクト概要
|
||||
**ai.card** - atproto基盤のカードゲームシステム。iOS/Web/APIで構成され、ユーザーデータ主権を実現。
|
||||
|
||||
## システム構成図
|
||||
## 現在の状態 (2025/01/06)
|
||||
- ✅ MCP Server実装完了
|
||||
- ✅ SQLiteデータベース稼働中
|
||||
- ✅ 基本的なガチャ・カード管理機能
|
||||
- 🔧 atproto連携は一時無効化
|
||||
- 📱 iOS/Web実装待ち
|
||||
|
||||
```
|
||||
存在子(ai) - 最小単位の意識
|
||||
↓
|
||||
[ai.moji] 文字システム
|
||||
↓
|
||||
[ai.os] + [ai.game device] ← 統合ハードウェア
|
||||
├── ai.shell (Claude Code的機能)
|
||||
├── ai.gpt (自律人格・記憶システム)
|
||||
├── ai.ai (個人特化AI・心を読み取るAI)
|
||||
├── ai.card (カードゲーム・iOS/Web/API)
|
||||
└── ai.bot (分散SNS連携・カード配布)
|
||||
↓
|
||||
[ai.verse] メタバース
|
||||
├── world system (惑星型3D世界)
|
||||
├── at system (atproto/分散SNS)
|
||||
├── yui system (唯一性担保)
|
||||
└── ai system (存在属性)
|
||||
## 開発環境セットアップ
|
||||
|
||||
### 必要なもの
|
||||
- Python 3.13
|
||||
- Node.js (Web開発用)
|
||||
- Docker (PostgreSQL用、オプション)
|
||||
- Xcode (iOS開発用)
|
||||
|
||||
### 初回セットアップ
|
||||
```bash
|
||||
# 1. プロジェクトディレクトリ
|
||||
cd /Users/syui/ai/gpt/card
|
||||
|
||||
# 2. 仮想環境構築
|
||||
./setup_venv.sh
|
||||
|
||||
# 3. データベース初期化
|
||||
cd api
|
||||
~/.config/syui/ai/card/venv/bin/python init_db.py
|
||||
|
||||
# 4. サーバー起動
|
||||
cd ..
|
||||
./start_server.sh
|
||||
```
|
||||
|
||||
## 名前規則
|
||||
## 開発時の作業分担提案
|
||||
|
||||
名前規則は他のprojectと全て共通しています。exampleを示しますので、このルールに従ってください。
|
||||
### ai.gptプロジェクトで起動 (MCP/バックエンド作業)
|
||||
**適している作業:**
|
||||
- MCPサーバー機能の追加・修正
|
||||
- データベーススキーマ変更
|
||||
- API エンドポイント追加
|
||||
- バックエンドロジック実装
|
||||
|
||||
ここでは`ai.os`の場合の名前規則の例を記述します。
|
||||
|
||||
name: ai.os
|
||||
|
||||
**[ "package", "code", "command" ]**: aios
|
||||
**[ "dir", "url" ]**: ai/os
|
||||
**[ "domain", "json" ]**: ai.os
|
||||
|
||||
```sh
|
||||
$ curl -sL https://git.syui.ai/ai/ai/raw/branch/main/ai.json|jq .ai.os
|
||||
{ "type": "os" }
|
||||
**起動方法:**
|
||||
```bash
|
||||
cd /Users/syui/ai/gpt
|
||||
# Claude Codeをここで起動
|
||||
# ai.card/api/ を編集対象にする
|
||||
```
|
||||
|
||||
```json
|
||||
{
|
||||
"ai": {
|
||||
"os":{}
|
||||
}
|
||||
}
|
||||
### ai.cardプロジェクトで起動 (フロントエンド作業)
|
||||
**適している作業:**
|
||||
- iOS アプリ開発 (Swift/SwiftUI)
|
||||
- Web フロントエンド開発 (React/TypeScript)
|
||||
- UI/UX デザイン実装
|
||||
- クライアント側ロジック
|
||||
|
||||
**起動方法:**
|
||||
```bash
|
||||
cd /Users/syui/ai/gpt/card
|
||||
# Claude Codeをここで起動
|
||||
# ios/ または web/ を編集対象にする
|
||||
```
|
||||
|
||||
他のprojectも同じ名前規則を採用します。`ai.gpt`ならpackageは`aigpt`です。
|
||||
|
||||
## config(設定ファイル, env, 環境依存)
|
||||
|
||||
`config`を置く場所は統一されており、各projectの名前規則の`dir`項目を使用します。例えば、aiosの場合は`~/.config/syui/ai/os/`以下となります。pythonなどを使用する場合、`python -m venv`などでこのpackage config dir配下に仮想環境を構築して実行するようにしてください。
|
||||
|
||||
domain形式を採用して、私は各projectを`git.syui.ai/ai`にhostしていますから、`~/.config/syui/ai`とします。
|
||||
|
||||
```sh
|
||||
[syui.ai]
|
||||
syui/ai
|
||||
## ディレクトリ構造
|
||||
```
|
||||
ai.card/
|
||||
├── api/ # バックエンド (Python/FastAPI)
|
||||
│ ├── app/
|
||||
│ │ ├── main.py # エントリポイント
|
||||
│ │ ├── mcp_server.py # MCPサーバー実装
|
||||
│ │ ├── models/ # データモデル
|
||||
│ │ ├── routes/ # APIルート
|
||||
│ │ └── services/ # ビジネスロジック
|
||||
│ └── requirements.txt
|
||||
├── ios/ # iOSアプリ (Swift)
|
||||
│ └── AiCard/
|
||||
├── web/ # Webフロントエンド (React)
|
||||
│ └── src/
|
||||
├── docs/ # ドキュメント
|
||||
├── setup_venv.sh # 環境構築スクリプト
|
||||
└── start_server.sh # サーバー起動スクリプト
|
||||
```
|
||||
|
||||
```sh
|
||||
# example
|
||||
~/.config/syui/ai
|
||||
├── card
|
||||
├── gpt
|
||||
├── os
|
||||
└── shell
|
||||
## 主要な技術スタック
|
||||
|
||||
### バックエンド
|
||||
- **言語**: Python 3.13
|
||||
- **フレームワーク**: FastAPI + fastapi-mcp
|
||||
- **データベース**: SQLite (開発) / PostgreSQL (本番予定)
|
||||
- **ORM**: SQLAlchemy 2.0
|
||||
|
||||
### フロントエンド
|
||||
- **iOS**: Swift 5.9 + SwiftUI
|
||||
- **Web**: React + TypeScript + Vite
|
||||
- **スタイリング**: CSS Modules
|
||||
|
||||
## 現在の課題と制約
|
||||
|
||||
### 依存関係の問題
|
||||
1. **atproto**: `SessionString` APIが変更されたため一部機能無効化
|
||||
2. **supabase**: httpxバージョン競合で無効化
|
||||
3. **PostgreSQL**: ネイティブ拡張のコンパイル問題でSQLite使用中
|
||||
|
||||
### 回避策
|
||||
- atproto機能はモック実装で代替
|
||||
- データベースはSQLiteで開発継続
|
||||
- 本番環境ではDockerでPostgreSQL使用予定
|
||||
|
||||
## API仕様
|
||||
|
||||
### MCP Tools (9個)
|
||||
1. **get_user_cards(did: str)** - ユーザーのカード一覧取得
|
||||
2. **draw_card(did: str, is_paid: bool)** - ガチャでカード取得
|
||||
3. **get_card_details(card_id: int)** - カード詳細情報
|
||||
4. **analyze_card_collection(did: str)** - コレクション分析
|
||||
5. **get_unique_registry()** - ユニークカード登録状況
|
||||
6. **sync_cards_atproto(did: str)** - atproto同期(無効化中)
|
||||
7. **get_gacha_stats()** - ガチャ統計情報
|
||||
|
||||
### REST API
|
||||
- `/api/v1/cards/*` - カード管理
|
||||
- `/api/v1/auth/*` - 認証(モック実装)
|
||||
- `/api/v1/sync/*` - 同期機能
|
||||
|
||||
## 今後の開発予定
|
||||
|
||||
### Phase 1: 基盤強化
|
||||
- [ ] PostgreSQL移行(Docker利用)
|
||||
- [ ] atproto最新版対応
|
||||
- [ ] テストコード追加
|
||||
|
||||
### Phase 2: クライアント実装
|
||||
- [ ] iOS アプリ基本機能
|
||||
- [ ] Web フロントエンド
|
||||
- [ ] リアルタイムガチャ演出
|
||||
|
||||
### Phase 3: 本格運用
|
||||
- [ ] Cloudflare デプロイ
|
||||
- [ ] ユーザーデータ主権実装
|
||||
- [ ] ai.verse連携
|
||||
|
||||
## 注意事項
|
||||
- サーバーは`--reload`モードで起動中(ファイル変更で自動再起動)
|
||||
- データベースは `~/.config/syui/ai/card/aicard.db`
|
||||
- 仮想環境は `~/.config/syui/ai/card/venv/`
|
||||
- エラーログはターミナルに出力される
|
||||
|
||||
## デバッグ用コマンド
|
||||
```bash
|
||||
# データベース確認
|
||||
sqlite3 ~/.config/syui/ai/card/aicard.db ".tables"
|
||||
|
||||
# API動作確認
|
||||
curl http://localhost:8000/health
|
||||
curl "http://localhost:8000/get_gacha_stats"
|
||||
|
||||
# ログ確認
|
||||
tail -f /var/log/aicard.log # 未実装
|
||||
```
|
||||
|
||||
## 各システム詳細
|
||||
|
||||
### ai.gpt - 自律的送信AI
|
||||
**目的**: 関係性に基づく自発的コミュニケーション
|
||||
|
||||
**中核概念**:
|
||||
- **人格**: 記憶(過去の発話)と関係性パラメータで構成
|
||||
- **唯一性**: atproto accountとの1:1紐付け、改変不可能
|
||||
- **自律送信**: 関係性が閾値を超えると送信機能が解禁
|
||||
|
||||
**技術構成**:
|
||||
- `MemoryManager`: 完全ログ→AI要約→コア判定→選択的忘却
|
||||
- `RelationshipTracker`: 時間減衰・日次制限付き関係性スコア
|
||||
- `TransmissionController`: 閾値判定・送信トリガー
|
||||
- `Persona`: AI運勢(1-10ランダム)による人格変動
|
||||
|
||||
**実装仕様**:
|
||||
```
|
||||
- 言語: Python (fastapi_mcp)
|
||||
- ストレージ: JSON/SQLite選択式
|
||||
- インターフェース: Python CLI (click/typer)
|
||||
- スケジューリング: cron-like自律処理
|
||||
```
|
||||
|
||||
### ai.card - カードゲームシステム
|
||||
**目的**: atproto基盤でのユーザーデータ主権カードゲーム
|
||||
|
||||
**現在の状況**:
|
||||
- ai.botの機能として実装済み
|
||||
- atproto accountでmentionすると1日1回カードを取得
|
||||
- ai.api (MCP server予定) でユーザー管理
|
||||
|
||||
**移行計画**:
|
||||
- **iOS移植**: Claudeが担当予定
|
||||
- **データ保存**: atproto collection recordに保存(ユーザーがデータを所有)
|
||||
- **不正防止**: OAuth 2.1 scope (実装待ち) + MCP serverで対応
|
||||
- **画像ファイル**: Cloudflare Pagesが最適
|
||||
|
||||
**yui system適用**:
|
||||
- カードの効果がアカウント固有
|
||||
- 改ざん防止によるゲームバランス維持
|
||||
- 将来的にai.verseとの統合で固有スキルと連動
|
||||
|
||||
### ai.ai - 心を読み取るAI
|
||||
**目的**: 個人特化型AI・深層理解システム
|
||||
|
||||
**ai.gptとの関係**:
|
||||
- ai.gpt → ai.ai: 自律送信AIから心理分析AIへの連携
|
||||
- 関係性パラメータの深層分析
|
||||
- ユーザーの思想コア部分の特定支援
|
||||
|
||||
### ai.verse - UEメタバース
|
||||
**目的**: 現実反映型3D世界
|
||||
|
||||
**yui system実装**:
|
||||
- キャラクター ↔ プレイヤー 1:1紐付け
|
||||
- unique skill: そのプレイヤーのみ使用可能
|
||||
- 他プレイヤーは同キャラでも同スキル使用不可
|
||||
|
||||
**統合要素**:
|
||||
- ai.card: ゲーム内アイテムとしてのカード
|
||||
- ai.gpt: NPCとしての自律AI人格
|
||||
- atproto: ゲーム内プロフィール連携
|
||||
|
||||
## データフロー設計
|
||||
|
||||
### 唯一性担保の実装
|
||||
```
|
||||
現実の個人 → atproto account (DID) → ゲーム内avatar → 固有スキル
|
||||
↑_______________________________| (現実の反映)
|
||||
```
|
||||
|
||||
### AI駆動変換システム
|
||||
```
|
||||
遊び・創作活動 → ai.gpt分析 → 業務成果変換 → 企業価値創出
|
||||
↑________________________| (Play-to-Work)
|
||||
```
|
||||
|
||||
### カードゲーム・データ主権フロー
|
||||
```
|
||||
ユーザー → ai.bot mention → カード生成 → atproto collection → ユーザー所有
|
||||
↑ ↓
|
||||
← iOS app表示 ← ai.card API ←
|
||||
```
|
||||
|
||||
## 技術スタック統合
|
||||
|
||||
### Core Infrastructure
|
||||
- **OS**: Rust-based ai.os (Arch Linux base)
|
||||
- **Container**: Docker image distribution
|
||||
- **Identity**: atproto selfhost server + DID管理
|
||||
- **AI**: fastapi_mcp server architecture
|
||||
- **CLI**: Python unified (click/typer) - Rustから移行
|
||||
|
||||
### Game Engine Integration
|
||||
- **Engine**: Unreal Engine (Blueprint)
|
||||
- **Data**: atproto → UE → atproto sync
|
||||
- **Avatar**: 分散SNS profile → 3D character
|
||||
- **Streaming**: game screen = broadcast screen
|
||||
|
||||
### Mobile/Device
|
||||
- **iOS**: ai.card移植 (Claude担当)
|
||||
- **Hardware**: ai.game device (future)
|
||||
- **Interface**: controller-first design
|
||||
|
||||
## 実装優先順位
|
||||
|
||||
### Phase 1: AI基盤強化 (現在進行)
|
||||
- [ ] ai.gpt memory system完全実装
|
||||
- 記憶の階層化(完全ログ→要約→コア→忘却)
|
||||
- 関係性パラメータの時間減衰システム
|
||||
- AI運勢による人格変動機能
|
||||
- [ ] ai.card iOS移植
|
||||
- atproto collection record連携
|
||||
- MCP server化(ai.api刷新)
|
||||
- [ ] fastapi_mcp統一基盤構築
|
||||
|
||||
### Phase 2: ゲーム統合
|
||||
- [ ] ai.verse yui system実装
|
||||
- unique skill機能
|
||||
- atproto連携強化
|
||||
- [ ] ai.gpt ↔ ai.ai連携機能
|
||||
- [ ] 分散SNS ↔ ゲーム同期
|
||||
|
||||
### Phase 3: メタバース浸透
|
||||
- [ ] VTuber配信機能統合
|
||||
- [ ] Play-to-Work変換システム
|
||||
- [ ] ai.game device prototype
|
||||
|
||||
## 将来的な連携構想
|
||||
|
||||
### システム間連携(現在は独立実装)
|
||||
```
|
||||
ai.gpt (自律送信) ←→ ai.ai (心理分析)
|
||||
ai.card (iOS,Web,API) ←→ ai.verse (UEゲーム世界)
|
||||
```
|
||||
|
||||
**共通基盤**: fastapi_mcp
|
||||
**共通思想**: yui system(現実の反映・唯一性担保)
|
||||
|
||||
### データ改ざん防止戦略
|
||||
- **短期**: MCP serverによる検証
|
||||
- **中期**: OAuth 2.1 scope実装待ち
|
||||
- **長期**: ブロックチェーン的整合性チェック
|
||||
|
||||
## AIコミュニケーション最適化
|
||||
|
||||
### プロジェクト要件定義テンプレート
|
||||
```markdown
|
||||
# [プロジェクト名] 要件定義
|
||||
|
||||
## 哲学的背景
|
||||
- 存在子理論との関連:
|
||||
- yui system適用範囲:
|
||||
- 現実反映の仕組み:
|
||||
|
||||
## 技術要件
|
||||
- 使用技術(fastapi_mcp統一):
|
||||
- atproto連携方法:
|
||||
- データ永続化方法:
|
||||
|
||||
## ユーザーストーリー
|
||||
1. ユーザーが...すると
|
||||
2. システムが...を実行し
|
||||
3. 結果として...が実現される
|
||||
|
||||
## 成功指標
|
||||
- 技術的:
|
||||
- 哲学的(唯一性担保):
|
||||
```
|
||||
|
||||
### Claude Code活用戦略
|
||||
1. **小さく始める**: ai.gptのMCP機能拡張から
|
||||
2. **段階的統合**: 各システムを個別に完成させてから統合
|
||||
3. **哲学的一貫性**: 各実装でyui systemとの整合性を確認
|
||||
4. **現実反映**: 実装がどう現実とゲームを繋ぐかを常に明記
|
||||
|
||||
## 開発上の留意点
|
||||
|
||||
### MCP Server設計指針
|
||||
- 各AI(gpt, card, ai, bot)は独立したMCPサーバー
|
||||
- fastapi_mcp基盤で統一
|
||||
- atproto DIDによる認証・認可
|
||||
|
||||
### 記憶・データ管理
|
||||
- **ai.gpt**: 関係性の不可逆性重視
|
||||
- **ai.card**: ユーザーデータ主権重視
|
||||
- **ai.verse**: ゲーム世界の整合性重視
|
||||
|
||||
### 唯一性担保実装
|
||||
- atproto accountとの1:1紐付け必須
|
||||
- 改変不可能性をハッシュ・署名で保証
|
||||
- 他システムでの再現不可能性を技術的に実現
|
||||
|
||||
## 継続的改善
|
||||
- 各プロジェクトでこの設計書を参照
|
||||
- 新機能追加時はyui systemとの整合性をチェック
|
||||
- 他システムへの影響を事前評価
|
||||
- Claude Code導入時の段階的移行計画
|
||||
|
||||
# footer
|
||||
|
||||
© syui
|
||||
## 参考リンク
|
||||
- [AI エコシステム統合設計書](/Users/syui/ai/gpt/CLAUDE.md)
|
||||
- [MCP統合作業報告](./docs/MCP_INTEGRATION_SUMMARY.md)
|
||||
- [API仕様書](http://localhost:8000/docs) ※サーバー起動時のみ
|
Reference in New Issue
Block a user