cleanup
This commit is contained in:
parent
3487535e08
commit
d4de0d4917
@ -1,365 +0,0 @@
|
||||
# ai.gpt 開発状況 (2025/06/02 更新)
|
||||
|
||||
## 前回セッション完了事項 (2025/06/01)
|
||||
|
||||
### ✅ ai.card MCPサーバー独立化完了
|
||||
- **ai.card専用MCPサーバー実装**: `card/api/app/mcp_server.py`
|
||||
- **9個のMCPツール公開**: カード管理・ガチャ・atproto同期等
|
||||
- **統合戦略変更**: ai.gptは統合サーバー、ai.cardは独立サーバー
|
||||
- **仮想環境セットアップ**: `~/.config/syui/ai/card/venv/`
|
||||
- **起動スクリプト**: `uvicorn app.main:app --port 8000`
|
||||
|
||||
### ✅ ai.shell統合完了
|
||||
- **Claude Code風シェル実装**: `aigpt shell` コマンド
|
||||
- **MCP統合強化**: 14種類のツール(ai.gpt:9, ai.shell:5)
|
||||
- **プロジェクト仕様書**: `aishell.md` 読み込み機能
|
||||
- **環境対応改善**: prompt-toolkit代替でinput()フォールバック
|
||||
|
||||
### ✅ 前回セッションのバグ修正完了
|
||||
- **config listバグ修正**: `config.list_keys()`メソッド呼び出し修正
|
||||
- **仮想環境問題解決**: `pip install -e .`でeditable mode確立
|
||||
- **全CLIコマンド動作確認済み**
|
||||
|
||||
## 現在の状態
|
||||
|
||||
### ✅ 実装済み機能
|
||||
|
||||
1. **基本システム**
|
||||
- 階層的記憶システム(完全ログ→要約→コア→忘却)
|
||||
- 不可逆的な関係性システム(broken状態は修復不可)
|
||||
- AI運勢による日々の人格変動
|
||||
- 時間減衰による自然な関係性変化
|
||||
|
||||
2. **CLI機能**
|
||||
- `chat` - AIとの会話(Ollama/OpenAI対応)
|
||||
- `status` - 状態確認
|
||||
- `fortune` - AI運勢確認
|
||||
- `relationships` - 関係一覧
|
||||
- `transmit` - 送信チェック(現在はprint出力)
|
||||
- `maintenance` - 日次メンテナンス
|
||||
- `config` - 設定管理(listバグ修正済み)
|
||||
- `schedule` - スケジューラー管理
|
||||
- `server` - MCP Server起動
|
||||
- `shell` - インタラクティブシェル(ai.shell統合)
|
||||
|
||||
3. **データ管理**
|
||||
- 保存場所: `~/.config/syui/ai/gpt/`(名前規則統一)
|
||||
- 設定: `config.json`
|
||||
- データ: `data/` ディレクトリ内の各種JSONファイル
|
||||
- 仮想環境: `~/.config/syui/ai/gpt/venv/`
|
||||
|
||||
4. **スケジューラー**
|
||||
- Cron形式とインターバル形式対応
|
||||
- 5種類のタスクタイプ実装済み
|
||||
- バックグラウンド実行可能
|
||||
|
||||
5. **MCP Server統合アーキテクチャ**
|
||||
- **ai.gpt統合サーバー**: 14種類のツール(port 8001)
|
||||
- **ai.card独立サーバー**: 9種類のツール(port 8000)
|
||||
- Claude Desktop/Cursor連携対応
|
||||
- fastapi_mcp統一基盤
|
||||
|
||||
6. **ai.shell統合(Claude Code風)**
|
||||
- インタラクティブシェルモード
|
||||
- シェルコマンド実行(!command形式)
|
||||
- AIコマンド(analyze, generate, explain)
|
||||
- aishell.md読み込み機能
|
||||
- 環境適応型プロンプト(prompt-toolkit/input())
|
||||
|
||||
## 🚧 次回開発の優先課題
|
||||
|
||||
### 最優先: システム統合の最適化
|
||||
|
||||
1. **ai.card重複コード削除**
|
||||
- **削除対象**: `src/aigpt/card_integration.py`(HTTPクライアント)
|
||||
- **削除対象**: ai.gptのMCPサーバーの`--enable-card`オプション
|
||||
- **理由**: ai.cardが独立MCPサーバーになったため不要
|
||||
- **統合方法**: ai.gpt(8001) → ai.card(8000) HTTP連携
|
||||
|
||||
2. **自律送信の実装**
|
||||
- 現在: コンソールにprint出力
|
||||
- TODO: atproto (Bluesky) への実際の投稿機能
|
||||
- 参考: ai.bot (Rust/seahorse) との連携も検討
|
||||
|
||||
3. **環境セットアップ自動化**
|
||||
- 仮想環境自動作成スクリプト強化
|
||||
- 依存関係の自動解決
|
||||
- Claude Desktop設定例の提供
|
||||
|
||||
### 中期的課題
|
||||
|
||||
1. **テストの追加**
|
||||
- 単体テスト
|
||||
- 統合テスト
|
||||
- CI/CDパイプライン
|
||||
|
||||
2. **エラーハンドリングの改善**
|
||||
- より詳細なエラーメッセージ
|
||||
- リトライ機構
|
||||
|
||||
3. **ai.botとの連携**
|
||||
- Rust側のAPIエンドポイント作成
|
||||
- 送信機能の委譲
|
||||
|
||||
4. **より高度な記憶要約**
|
||||
- 現在: シンプルな要約
|
||||
- TODO: AIによる意味的な要約
|
||||
|
||||
5. **Webダッシュボード**
|
||||
- 関係性の可視化
|
||||
- 記憶の管理UI
|
||||
|
||||
### 長期的課題
|
||||
|
||||
1. **他のsyuiプロジェクトとの統合**
|
||||
- ai.card: カードゲームとの連携
|
||||
- ai.verse: メタバース内でのNPC人格
|
||||
- ai.os: システムレベルでの統合
|
||||
|
||||
2. **分散化**
|
||||
- atproto上でのデータ保存
|
||||
- ユーザーデータ主権の完全実現
|
||||
|
||||
## 次回開発時のエントリーポイント
|
||||
|
||||
### 🎯 最優先: ai.card重複削除
|
||||
```bash
|
||||
# 1. ai.card独立サーバー起動確認
|
||||
cd /Users/syui/ai/gpt/card/api
|
||||
source ~/.config/syui/ai/card/venv/bin/activate
|
||||
uvicorn app.main:app --port 8000
|
||||
|
||||
# 2. ai.gptから重複機能削除
|
||||
rm src/aigpt/card_integration.py
|
||||
# mcp_server.pyから--enable-cardオプション削除
|
||||
|
||||
# 3. 統合テスト
|
||||
aigpt server --port 8001 # ai.gpt統合サーバー
|
||||
curl "http://localhost:8001/get_memories" # ai.gpt機能確認
|
||||
curl "http://localhost:8000/get_gacha_stats" # ai.card機能確認
|
||||
```
|
||||
|
||||
### 1. 自律送信を実装する場合
|
||||
```python
|
||||
# src/aigpt/transmission.py を編集
|
||||
# atproto-python ライブラリを追加
|
||||
# _handle_transmission_check() メソッドを更新
|
||||
```
|
||||
|
||||
### 2. ai.botと連携する場合
|
||||
```python
|
||||
# 新規ファイル: src/aigpt/bot_connector.py
|
||||
# ai.botのAPIエンドポイントにHTTPリクエスト
|
||||
```
|
||||
|
||||
### 3. テストを追加する場合
|
||||
```bash
|
||||
# tests/ディレクトリを作成
|
||||
# pytest設定を追加
|
||||
```
|
||||
|
||||
### 4. 環境セットアップを自動化する場合
|
||||
```bash
|
||||
# setup_venv.sh を強化
|
||||
# Claude Desktop設定例をdocs/に追加
|
||||
```
|
||||
|
||||
## 設計思想の要点(AI向け)
|
||||
|
||||
1. **唯一性(yui system)**: 各ユーザーとAIの関係は1:1で、改変不可能
|
||||
2. **不可逆性**: 関係性の破壊は修復不可能(現実の人間関係と同じ)
|
||||
3. **階層的記憶**: ただのログではなく、要約・コア判定・忘却のプロセス
|
||||
4. **環境影響**: AI運勢による日々の人格変動(固定的でない)
|
||||
5. **段階的実装**: まずCLI print → atproto投稿 → ai.bot連携
|
||||
|
||||
## 現在のアーキテクチャ理解(次回のAI向け)
|
||||
|
||||
### システム構成
|
||||
```
|
||||
Claude Desktop/Cursor
|
||||
↓
|
||||
ai.gpt MCP (port 8001) ←-- 統合サーバー(14ツール)
|
||||
├── ai.gpt機能: メモリ・関係性・人格(9ツール)
|
||||
├── ai.shell機能: シェル・ファイル操作(5ツール)
|
||||
└── HTTP client → ai.card MCP (port 8000)
|
||||
↓
|
||||
ai.card独立サーバー(9ツール)
|
||||
├── カード管理・ガチャ
|
||||
├── atproto同期
|
||||
└── PostgreSQL/SQLite
|
||||
```
|
||||
|
||||
### 技術スタック
|
||||
- **言語**: Python (typer CLI, fastapi_mcp)
|
||||
- **AI統合**: Ollama (qwen2.5) / OpenAI API
|
||||
- **データ形式**: JSON(将来的にSQLite検討)
|
||||
- **認証**: atproto DID(設計済み・実装待ち)
|
||||
- **MCP統合**: fastapi_mcp統一基盤
|
||||
- **仮想環境**: `~/.config/syui/ai/{gpt,card}/venv/`
|
||||
|
||||
### 名前規則(重要)
|
||||
- **パッケージ**: `aigpt`
|
||||
- **コマンド**: `aigpt shell`, `aigpt server`
|
||||
- **ディレクトリ**: `~/.config/syui/ai/gpt/`
|
||||
- **ドメイン**: `ai.gpt`
|
||||
|
||||
### 即座に始める手順
|
||||
```bash
|
||||
# 1. 環境確認
|
||||
cd /Users/syui/ai/gpt
|
||||
source ~/.config/syui/ai/gpt/venv/bin/activate
|
||||
aigpt --help
|
||||
|
||||
# 2. 前回の成果物確認
|
||||
aigpt config list
|
||||
aigpt shell # Claude Code風環境
|
||||
|
||||
# 3. 詳細情報
|
||||
cat docs/ai_card_mcp_integration_summary.md
|
||||
cat docs/ai_shell_integration_summary.md
|
||||
```
|
||||
|
||||
このファイルを参照することで、次回の開発が迅速に開始でき、前回の作業内容を完全に理解できます。
|
||||
|
||||
## 現セッション完了事項 (2025/06/02)
|
||||
|
||||
### ✅ 記憶システム大幅改善完了
|
||||
|
||||
前回のAPI Errorで停止したChatGPTログ分析作業の続きを実行し、記憶システムを完全に再設計・実装した。
|
||||
|
||||
#### 新実装機能:
|
||||
|
||||
1. **スマート要約生成 (`create_smart_summary`)**
|
||||
- AI駆動によるテーマ別記憶要約
|
||||
- 会話パターン・技術的トピック・関係性進展の分析
|
||||
- メタデータ付きでの保存(期間、テーマ、記憶数)
|
||||
- フォールバック機能でAIが利用できない場合も対応
|
||||
|
||||
2. **コア記憶分析 (`create_core_memory`)**
|
||||
- 全記憶を分析して人格形成要素を抽出
|
||||
- ユーザーの特徴的なコミュニケーションスタイルを特定
|
||||
- 問題解決パターン・興味関心の深層分析
|
||||
- 永続保存される本質的な関係性記憶
|
||||
|
||||
3. **階層的記憶検索 (`get_contextual_memories`)**
|
||||
- CORE → SUMMARY → RECENT の優先順位付き検索
|
||||
- キーワードベースの関連性スコアリング
|
||||
- クエリに応じた動的な記憶重み付け
|
||||
- 構造化された記憶グループでの返却
|
||||
|
||||
4. **高度記憶検索 (`search_memories`)**
|
||||
- 複数キーワード対応の全文検索
|
||||
- メモリレベル別フィルタリング
|
||||
- マッチスコア付きでの結果返却
|
||||
|
||||
5. **コンテキスト対応AI応答**
|
||||
- `build_context_prompt`: 記憶に基づく文脈プロンプト生成
|
||||
- 人格状態・ムード・運勢を統合した応答
|
||||
- CORE記憶を常に参照した一貫性のある会話
|
||||
|
||||
6. **MCPサーバー拡張**
|
||||
- 新機能をすべてMCP API経由で利用可能
|
||||
- `/get_contextual_memories` - 文脈的記憶取得
|
||||
- `/search_memories` - 記憶検索
|
||||
- `/create_summary` - AI要約生成
|
||||
- `/create_core_memory` - コア記憶分析
|
||||
- `/get_context_prompt` - コンテキストプロンプト生成
|
||||
|
||||
7. **モデル拡張**
|
||||
- `Memory` モデルに `metadata` フィールド追加
|
||||
- 階層的記憶構造の完全サポート
|
||||
|
||||
#### 技術的特徴:
|
||||
- **AI統合**: ollama/OpenAI両対応でのインテリジェント分析
|
||||
- **フォールバック**: AI不使用時も基本機能は動作
|
||||
- **パターン分析**: ユーザー行動の自動分類・分析
|
||||
- **関連性スコア**: クエリとの関連度を数値化
|
||||
- **時系列分析**: 記憶の時間的発展を考慮
|
||||
|
||||
#### 前回議論の実現:
|
||||
ChatGPT 4,000件ログ分析から得られた知見を完全実装:
|
||||
- 階層的記憶(FULL_LOG → SUMMARY → CORE)
|
||||
- コンテキスト認識記憶(会話の流れを記憶)
|
||||
- 感情・関係性の記憶(変化パターンの追跡)
|
||||
- 実用的な記憶カテゴリ(ユーザー特徴・効果的応答・失敗回避)
|
||||
|
||||
### ✅ 追加完了事項 (同日)
|
||||
|
||||
**環境変数対応の改良**:
|
||||
- `OLLAMA_HOST`環境変数の自動読み込み対応
|
||||
- ai_provider.pyでの環境変数優先度実装
|
||||
- 設定ファイル → 環境変数 → デフォルトの階層的設定
|
||||
|
||||
**記憶システム完全動作確認**:
|
||||
- ollamaとの統合成功(gemma3:4bで確認)
|
||||
- 文脈的記憶検索の動作確認
|
||||
- ChatGPTインポートログからの記憶参照成功
|
||||
- AI応答での人格・ムード・運勢の反映確認
|
||||
|
||||
### 🚧 次回の課題
|
||||
- OLLAMA_HOSTの環境変数が完全に適用されない問題の解決
|
||||
- MCPサーバーのエラー解決(Internal Server Error)
|
||||
- qwen3:latestでの動作テスト完了
|
||||
- 記憶システムのコア機能(スマート要約・コア記憶分析)のAI統合テスト
|
||||
|
||||
## 現セッション完了事項 (2025/06/03 継続セッション)
|
||||
|
||||
### ✅ **前回API Error後の継続作業完了**
|
||||
|
||||
前回のセッションがAPI Errorで終了したが、今回正常に継続して以下を完了:
|
||||
|
||||
#### 🔧 **重要バグ修正**
|
||||
- **Memory model validation error 修正**: `importance_score`の浮動小数点精度問題を解決
|
||||
- 問題: `-5.551115123125783e-17`のような極小負数がvalidation errorを引き起こす
|
||||
- 解決: field validatorで極小値を0.0にクランプし、Field制約を除去
|
||||
- 結果: メモリ読み込み・全CLI機能が正常動作
|
||||
|
||||
#### 🧪 **システム動作確認完了**
|
||||
- **ai.gpt CLI**: 全コマンド正常動作確認済み
|
||||
- **記憶システム**: 階層的記憶(CORE→SUMMARY→RECENT)完全動作
|
||||
- **関係性進化**: syuiとの関係性が17.50→19.00に正常進展
|
||||
- **MCP Server**: 17種類のツール正常提供(port 8001)
|
||||
- **階層的記憶API**: `/get_contextual_memories`でblogクエリ正常動作
|
||||
|
||||
#### 💾 **記憶システム現状**
|
||||
- **CORE記憶**: blog開発、技術議論等の重要パターン記憶済み
|
||||
- **SUMMARY記憶**: AI×MCP、Qwen3解説等のテーマ別要約済み
|
||||
- **RECENT記憶**: 最新の記憶システムテスト履歴
|
||||
- **文脈検索**: キーワードベース関連性スコアリング動作確認
|
||||
|
||||
#### 🌐 **環境課題と対策**
|
||||
- **ollama接続**: OLLAMA_HOST環境変数は正しく設定済み(http://192.168.11.95:11434)
|
||||
- **AI統合課題**: qwen3:latestタイムアウト問題→記憶システム単体では正常動作
|
||||
- **フォールバック**: AI不使用時も記憶ベース応答で継続性確保
|
||||
|
||||
#### 🚀 **ai.bot統合完了 (同日追加)**
|
||||
- **MCP統合拡張**: 17→23ツールに増加(6個の新ツール追加)
|
||||
- **リモート実行機能**: systemd-nspawn隔離環境統合
|
||||
- `remote_shell`: ai.bot /sh機能との完全連携
|
||||
- `ai_bot_status`: サーバー状態確認とコンテナ情報取得
|
||||
- `isolated_python`: Python隔離実行環境
|
||||
- `isolated_analysis`: セキュアなファイル解析機能
|
||||
- **ai.shell拡張**: 新コマンド3種追加
|
||||
- `remote <command>`: 隔離コンテナでコマンド実行
|
||||
- `isolated <code>`: Python隔離実行
|
||||
- `aibot-status`: ai.botサーバー接続確認
|
||||
- **完全動作確認**: ヘルプ表示、コマンド補完、エラーハンドリング完了
|
||||
|
||||
#### 🏗️ **統合アーキテクチャ更新**
|
||||
```
|
||||
Claude Desktop/Cursor → ai.gpt MCP (port 8001, 23ツール)
|
||||
├── ai.gpt: メモリ・関係性・人格 (9ツール)
|
||||
├── ai.memory: 階層記憶・文脈検索 (5ツール)
|
||||
├── ai.shell: シェル・ファイル操作 (5ツール)
|
||||
├── ai.bot連携: リモート実行・隔離環境 (4ツール)
|
||||
└── ai.card連携: HTTP client → port 8000 (9ツール)
|
||||
```
|
||||
|
||||
#### 📋 **次回開発推奨事項**
|
||||
1. **ai.bot実サーバー**: 実際のai.botサーバー起動・連携テスト
|
||||
2. **隔離実行実証**: systemd-nspawn環境での実用性検証
|
||||
3. **ollama接続最適化**: タイムアウト問題の詳細調査・解決
|
||||
4. **AI要約機能**: maintenanceでのスマート要約・コア記憶生成テスト
|
||||
5. **セキュリティ強化**: 隔離実行の権限制御・サンドボックス検証
|
||||
|
||||
|
87
README.md
87
README.md
@ -327,13 +327,26 @@ ai.shell> explain async/await in Python
|
||||
|
||||
## MCP Server統合アーキテクチャ
|
||||
|
||||
### ai.gpt統合サーバー
|
||||
### ai.gpt統合サーバー(簡素化設計)
|
||||
```bash
|
||||
# ai.gpt統合サーバー起動(port 8001)
|
||||
aigpt server --model qwen2.5 --provider ollama --port 8001
|
||||
# シンプルなサーバー起動(config.jsonから自動設定読み込み)
|
||||
aigpt server
|
||||
|
||||
# OpenAIを使用
|
||||
aigpt server --model gpt-4o-mini --provider openai --port 8001
|
||||
# カスタム設定での起動
|
||||
aigpt server --host localhost --port 8001
|
||||
```
|
||||
|
||||
**重要**: MCP function callingは**OpenAIプロバイダーでのみ対応**
|
||||
- OpenAI GPT-4o-mini/GPT-4でfunction calling機能が利用可能
|
||||
- Ollamaはシンプルなchat APIのみ(MCPツール非対応)
|
||||
|
||||
### MCP統合の動作条件
|
||||
```bash
|
||||
# MCP function calling対応(推奨)
|
||||
aigpt conv test_user --provider openai --model gpt-4o-mini
|
||||
|
||||
# 通常の会話のみ(MCPツール非対応)
|
||||
aigpt conv test_user --provider ollama --model qwen3
|
||||
```
|
||||
|
||||
### ai.card独立サーバー
|
||||
@ -344,43 +357,45 @@ source ~/.config/syui/ai/card/venv/bin/activate
|
||||
uvicorn app.main:app --port 8000
|
||||
```
|
||||
|
||||
### ai.bot接続(リモート実行環境)
|
||||
```bash
|
||||
# ai.bot起動(port 8080、別途必要)
|
||||
# systemd-nspawn隔離コンテナでコマンド実行
|
||||
### 統合アーキテクチャ構成
|
||||
```
|
||||
|
||||
### アーキテクチャ構成
|
||||
```
|
||||
Claude Desktop/Cursor
|
||||
OpenAI GPT-4o-mini (Function Calling対応)
|
||||
↓
|
||||
ai.gpt統合サーバー (port 8001) ← 23ツール
|
||||
├── ai.gpt機能: メモリ・関係性・人格 (9ツール)
|
||||
├── ai.shell機能: シェル・ファイル操作 (5ツール)
|
||||
├── ai.memory機能: 階層記憶・文脈検索 (5ツール)
|
||||
├── ai.bot連携: リモート実行・隔離環境 (4ツール)
|
||||
└── HTTP client → ai.card独立サーバー (port 8000)
|
||||
↓
|
||||
ai.card専用ツール (9ツール)
|
||||
├── カード管理・ガチャ
|
||||
├── atproto同期
|
||||
└── PostgreSQL/SQLite
|
||||
MCP Client (aigpt conv --provider openai)
|
||||
↓ HTTP API
|
||||
ai.gpt統合サーバー (port 8001) ← 27ツール
|
||||
├── 🧠 Memory System: 5 tools
|
||||
├── 🤝 Relationships: 4 tools
|
||||
├── ⚙️ System State: 3 tools
|
||||
├── 💻 Shell Integration: 5 tools
|
||||
├── 🔒 Remote Execution: 4 tools
|
||||
└── 📋 Project Management: 6 tools
|
||||
|
||||
ai.gpt統合サーバー → ai.bot (port 8080)
|
||||
↓
|
||||
systemd-nspawn container
|
||||
├── Arch Linux隔離環境
|
||||
├── SSH server
|
||||
└── セキュアコマンド実行
|
||||
Ollama qwen3/gemma3 (Chat APIのみ)
|
||||
↓
|
||||
Direct Chat (aigpt conv --provider ollama)
|
||||
↓ Direct Access
|
||||
Memory/Relationship Systems
|
||||
```
|
||||
|
||||
### AIプロバイダーを使った会話
|
||||
```bash
|
||||
# Ollamaで会話
|
||||
aigpt chat "did:plc:xxxxx" "こんにちは" --provider ollama --model qwen2.5
|
||||
### プロバイダー別機能対応表
|
||||
| 機能 | OpenAI | Ollama |
|
||||
|------|--------|--------|
|
||||
| 基本会話 | ✅ | ✅ |
|
||||
| MCP Function Calling | ✅ | ❌ |
|
||||
| 記憶システム連携 | ✅ (自動) | ✅ (直接) |
|
||||
| `/memories`, `/search`コマンド | ✅ | ✅ |
|
||||
| 自動記憶検索 | ✅ | ❌ |
|
||||
|
||||
# OpenAIで会話
|
||||
aigpt chat "did:plc:xxxxx" "今日の調子はどう?" --provider openai --model gpt-4o-mini
|
||||
### 使い分けガイド
|
||||
```bash
|
||||
# 高機能記憶連携(推奨)- OpenAI
|
||||
aigpt conv syui --provider openai
|
||||
# 「覚えていることある?」→ 自動的にget_memoriesツール実行
|
||||
|
||||
# シンプル会話 - Ollama
|
||||
aigpt conv syui --provider ollama
|
||||
# 通常の会話、手動で /memories コマンド使用
|
||||
```
|
||||
|
||||
### MCP Tools
|
||||
|
Loading…
x
Reference in New Issue
Block a user