1
0

merge aigpt

This commit is contained in:
2025-06-02 18:24:43 +09:00
parent 6dbe630b9d
commit 6cd8014f80
16 changed files with 850 additions and 368 deletions

416
claude.md
View File

@ -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設計指針
- 各AIgpt, 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) ※サーバー起動時のみ