update ai.shell

This commit is contained in:
2025-06-03 01:01:28 +09:00
parent b642588696
commit cba52b6171
17 changed files with 2670 additions and 294 deletions

564
README.md
View File

@ -1,21 +1,77 @@
# ai.gpt - 自律的送信AI
# ai.gpt - AI駆動記憶システム & 自律対話AI
存在子理論に基づく、関係性によって自発的にメッセージを送信するAIシステム。
🧠 **革新的記憶システム** × 🤖 **自律的人格AI** × 🔗 **atproto統合**
## 中核概念
ChatGPTの4,000件会話ログから学んだ「効果的な記憶構築」を完全実装した、真の記憶を持つAIシステム。
## 🎯 核心機能
### 📚 AI駆動階層記憶システム
- **CORE記憶**: 人格形成要素の永続的記憶AIが自動分析・抽出
- **SUMMARY記憶**: テーマ別スマート要約AI駆動パターン分析
- **記憶検索**: コンテキスト認識による関連性スコアリング
- **選択的忘却**: 重要度に基づく自然な記憶の減衰
### 🤝 進化する関係性システム
- **唯一性**: atproto DIDと1:1で紐付き、改変不可能な人格
- **不可逆性**: 関係性が壊れたら修復不可能(現実の人間関係と同じ)
- **記憶の階層**: 完全ログ→AI要約→コア判定→選択的忘却
- **時間減衰**: 自然な関係性の変化と送信閾値システム
- **AI運勢**: 1-10のランダム値による日々の人格変動
### 🧬 統合アーキテクチャ
- **fastapi-mcp統一基盤**: Claude Desktop/Cursor完全対応
- **23種類のMCPツール**: 記憶・関係性・AI統合・シェル操作・リモート実行
- **ai.shell統合**: Claude Code風インタラクティブ開発環境
- **ai.bot連携**: systemd-nspawn隔離実行環境統合
- **マルチAI対応**: ollama(qwen3/gemma3) + OpenAI統合
## 🚀 クイックスタート
### 1分で体験する記憶システム
```bash
# 1. セットアップ(自動)
cd /Users/syui/ai/gpt
./setup_venv.sh
# 2. ollama + qwen3で記憶テスト
aigpt chat syui "記憶システムのテストです" --provider ollama --model qwen3:latest
# 3. 記憶の確認
aigpt status syui
# 4. インタラクティブシェル体験
aigpt shell
```
### 記憶システム体験デモ
```bash
# ChatGPTログインポート既存データを使用
aigpt import-chatgpt ./json/chatgpt.json --user-id syui
# AI記憶分析
aigpt maintenance # スマート要約 + コア記憶生成
# 記憶に基づく対話
aigpt chat syui "前回の議論について覚えていますか?" --provider ollama --model qwen3:latest
# 記憶検索
# MCPサーバー経由でのコンテキスト記憶取得
aigpt server --port 8001 &
curl "http://localhost:8001/get_contextual_memories?query=ai&limit=5"
```
## インストール
```bash
# Python仮想環境を推奨
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# 仮想環境セットアップ(推奨
cd /Users/syui/ai/gpt
source ~/.config/syui/ai/gpt/venv/bin/activate
pip install -e .
# または自動セットアップ
./setup_venv.sh
```
## 設定
@ -36,6 +92,7 @@ aigpt config list
### データ保存場所
- 設定: `~/.config/syui/ai/gpt/config.json`
- データ: `~/.config/syui/ai/gpt/data/`
- 仮想環境: `~/.config/syui/ai/gpt/venv/`
## 使い方
@ -77,6 +134,16 @@ aigpt maintenance
aigpt relationships
```
### ChatGPTデータインポート
```bash
# ChatGPTの会話履歴をインポート
aigpt import-chatgpt ./json/chatgpt.json --user-id "your_user_id"
# インポート後の確認
aigpt status
aigpt relationships
```
## データ構造
デフォルトでは `~/.config/syui/ai/gpt/` に以下のファイルが保存されます:
@ -95,44 +162,132 @@ aigpt relationships
- 時間経過で自然減衰
- 大きなネガティブな相互作用で破壊される可能性
## ai.shell統合
インタラクティブシェルモードClaude Code風の体験
## 🖥️ ai.shell統合 - Claude Code風開発環境
### 🚀 **基本起動**
```bash
# デフォルトqwen2.5使用)
aigpt shell
# シェル内で使えるコマンド:
# help - コマンド一覧
# !<command> - シェルコマンド実行(例: !ls, !pwd
# analyze <file> - ファイルをAIで分析
# generate <desc> - コード生成
# explain <topic> - 概念の説明
# load - aishell.mdプロジェクトファイルを読み込み
# status - AI状態確認
# fortune - AI運勢確認
# clear - 画面クリア
# exit/quit - 終了
# qwen2.5-coder使用コード生成に最適
aigpt shell --model qwen2.5-coder:latest --provider ollama
# 通常のメッセージも送れます
ai.shell> こんにちは、今日は何をしましょうか?
# qwen3使用高度な対話
aigpt shell --model qwen3:latest --provider ollama
# OpenAI使用
aigpt shell --model gpt-4o-mini --provider openai
```
## MCP Server
### サーバー起動
### 📋 **利用可能コマンド**
```bash
# Ollamaを使用デフォルト
aigpt server --model qwen2.5 --provider ollama
# === プロジェクト管理 ===
load # aishell.md読み込みAIがプロジェクト理解
status # AI状態・関係性確認
fortune # AI運勢確認人格に影響
relationships # 全関係性一覧
# === AI開発支援 ===
analyze <file> # ファイル分析・コードレビュー
generate <description> # コード生成qwen2.5-coder推奨
explain <topic> # 概念・技術説明
# === シェル操作 ===
!<command> # シェルコマンド実行
!git status # git操作
!ls -la # ファイル確認
!mkdir project # ディレクトリ作成
!pytest tests/ # テスト実行
# === リモート実行ai.bot統合===
remote <command> # systemd-nspawn隔離コンテナでコマンド実行
isolated <code> # Python隔離実行環境
aibot-status # ai.botサーバー接続確認
# === インタラクティブ対話 ===
help # コマンド一覧
clear # 画面クリア
exit/quit # 終了
<任意のメッセージ> # 自由なAI対話
```
### 🎯 **コマンド使用例**
```bash
ai.shell> load
# → aishell.mdを読み込み、AIがプロジェクト目標を記憶
ai.shell> generate Python FastAPI CRUD for User model
# → 完全なCRUD API コードを生成
ai.shell> analyze src/main.py
# → コード品質・改善点を分析
ai.shell> !git log --oneline -5
# → 最近のコミット履歴を表示
ai.shell> remote ls -la /tmp
# → ai.bot隔離コンテナでディレクトリ確認
ai.shell> isolated print("Hello from isolated environment!")
# → Python隔離実行でHello World
ai.shell> aibot-status
# → ai.botサーバー接続状態とコンテナ情報確認
ai.shell> このAPIのセキュリティを改善してください
# → 記憶に基づく具体的なセキュリティ改善提案
ai.shell> explain async/await in Python
# → 非同期プログラミングの詳細説明
```
## MCP Server統合アーキテクチャ
### ai.gpt統合サーバー
```bash
# ai.gpt統合サーバー起動port 8001
aigpt server --model qwen2.5 --provider ollama --port 8001
# OpenAIを使用
aigpt server --model gpt-4o-mini --provider openai
aigpt server --model gpt-4o-mini --provider openai --port 8001
```
# カスタムポート
aigpt server --port 8080
### ai.card独立サーバー
```bash
# ai.card独立サーバー起動port 8000
cd card/api
source ~/.config/syui/ai/card/venv/bin/activate
uvicorn app.main:app --port 8000
```
# ai.card統合を有効化
aigpt server --enable-card
### ai.bot接続リモート実行環境
```bash
# ai.bot起動port 8080、別途必要
# systemd-nspawn隔離コンテナでコマンド実行
```
### アーキテクチャ構成
```
Claude Desktop/Cursor
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
ai.gpt統合サーバー → ai.bot (port 8080)
systemd-nspawn container
├── Arch Linux隔離環境
├── SSH server
└── セキュアコマンド実行
```
### AIプロバイダーを使った会話
@ -148,7 +303,7 @@ aigpt chat "did:plc:xxxxx" "今日の調子はどう?" --provider openai --mod
サーバーが起動すると、以下のツールがAIから利用可能になります
**ai.gpt ツール:**
**ai.gpt ツール (9個):**
- `get_memories` - アクティブな記憶を取得
- `get_relationship` - 特定ユーザーとの関係を取得
- `get_all_relationships` - すべての関係を取得
@ -159,19 +314,35 @@ aigpt chat "did:plc:xxxxx" "今日の調子はどう?" --provider openai --mod
- `summarize_memories` - 記憶を要約
- `run_maintenance` - メンテナンス実行
**ai.shell ツール:**
**ai.memory ツール (5個):**
- `get_contextual_memories` - 文脈的記憶検索
- `search_memories` - キーワード記憶検索
- `create_summary` - AI駆動記憶要約生成
- `create_core_memory` - コア記憶分析・抽出
- `get_context_prompt` - 記憶ベース文脈プロンプト
**ai.shell ツール (5個):**
- `execute_command` - シェルコマンド実行
- `analyze_file` - ファイルのAI分析
- `write_file` - ファイル書き込み
- `read_project_file` - プロジェクトファイル読み込み
- `list_files` - ファイル一覧
**ai.card ツール(--enable-card時:**
- `get_user_cards` - ユーザーのカード取得
- `draw_card` - カードを引く(ガチャ)
- `get_card_details` - カード詳細情報
- `sync_cards_atproto` - atproto同期
- `analyze_card_collection` - コレクション分析
**ai.bot連携ツール (4個):**
- `remote_shell` - 隔離コンテナでコマンド実行
- `ai_bot_status` - ai.botサーバー状態確認
- `isolated_python` - Python隔離実行
- `isolated_analysis` - ファイル解析(隔離環境)
### ai.card独立サーバーとの連携
ai.cardは独立したMCPサーバーとして動作
- **ポート**: 8000
- **9つのMCPツール**: カード管理・ガチャ・atproto同期等
- **データベース**: PostgreSQL/SQLite
- **起動**: `uvicorn app.main:app --port 8000`
ai.gptサーバーからHTTP経由で連携可能
## 環境変数
@ -247,9 +418,310 @@ aigpt schedule run
- `relationship_decay` - 関係性の時間減衰
- `memory_summary` - 記憶の要約作成
## 次のステップ
## 🚀 最新機能 (2025/06/02 大幅更新完了)
- atprotoへの実送信機能実装
- systemdサービス化
- Docker対応
- Webダッシュボード
### ✅ **革新的記憶システム完成**
#### 🧠 AI駆動記憶機能
- **スマート要約生成**: AIによるテーマ別記憶要約`create_smart_summary`
- **コア記憶分析**: 人格形成要素の自動抽出(`create_core_memory`
- **階層的記憶検索**: CORE→SUMMARY→RECENT優先度システム
- **コンテキスト認識**: クエリベース関連性スコアリング
- **文脈プロンプト**: 記憶に基づく一貫性のある対話生成
#### 🔗 完全統合アーキテクチャ
- **ChatGPTインポート**: 4,000件ログからの記憶構築実証
- **マルチAI対応**: ollama(qwen3:latest/gemma3:4b) + OpenAI完全統合
- **環境変数対応**: `OLLAMA_HOST`自動読み込み
- **MCP統合**: 23種類のツール記憶5種+関係性4種+AI3種+シェル5種+ai.bot4種+項目管理2種
#### 🧬 動作確認済み
- **記憶参照**: ChatGPTログからの文脈的記憶活用
- **人格統合**: ムード・運勢・記憶に基づく応答生成
- **関係性進化**: 記憶に基づく段階的信頼構築
- **AI協働**: qwen3との記憶システム完全連携
### 🎯 **新MCPツール**
```bash
# 新記憶システムツール
curl "http://localhost:8001/get_contextual_memories?query=programming&limit=5"
curl "http://localhost:8001/search_memories" -d '{"keywords":["memory","AI"]}'
curl "http://localhost:8001/create_summary" -d '{"user_id":"syui"}'
curl "http://localhost:8001/create_core_memory" -d '{}'
curl "http://localhost:8001/get_context_prompt" -d '{"user_id":"syui","message":"test"}'
```
### 🧪 **AIとの記憶テスト**
```bash
# qwen3での記憶システムテスト
aigpt chat syui "前回の会話を覚えていますか?" --provider ollama --model qwen3:latest
# 記憶に基づくスマート要約生成
aigpt maintenance # AI要約を自動実行
# コンテキスト検索テスト
aigpt chat syui "記憶システムについて" --provider ollama --model qwen3:latest
```
## 🔥 **NEW: Claude Code的継続開発機能** (2025/06/03 完成)
### 🚀 **プロジェクト管理システム完全実装**
ai.shellに真のClaude Code風継続開発機能を実装しました
#### 📊 **プロジェクト分析機能**
```bash
ai.shell> project-status
# ✓ プロジェクト構造自動分析
# Language: Python, Framework: FastAPI
# 1268クラス, 5656関数, 22 API endpoints, 129 async functions
# 57個のファイル変更を検出
ai.shell> suggest-next
# ✓ AI駆動開発提案
# 1. 継続的な単体テストと統合テスト実装
# 2. API エンドポイントのセキュリティ強化
# 3. データベース最適化とキャッシュ戦略
```
#### 🧠 **コンテキスト認識開発**
```bash
ai.shell> continuous
# ✓ 継続開発モード開始
# プロジェクト文脈読込: 21,986文字
# claude.md + aishell.md + pyproject.toml + 依存関係を解析
# AIがプロジェクト全体を理解した状態で開発支援
ai.shell> analyze src/aigpt/project_manager.py
# ✓ プロジェクト文脈を考慮したファイル分析
# - コード品質評価
# - プロジェクトとの整合性チェック
# - 改善提案と潜在的問題の指摘
ai.shell> generate Create a test function for ContinuousDeveloper
# ✓ プロジェクト文脈を考慮したコード生成
# FastAPI, Python, 既存パターンに合わせた実装を自動生成
```
#### 🛠️ **実装詳細**
- **ProjectState**: ファイル変更検出・プロジェクト状態追跡
- **ContinuousDeveloper**: AI駆動プロジェクト分析・提案・コード生成
- **プロジェクト文脈**: claude.md/aishell.md/pyproject.toml等を自動読込
- **言語検出**: Python/JavaScript/Rust等の自動判定
- **フレームワーク分析**: FastAPI/Django/React等の依存関係検出
- **コードパターン**: 既存の設計パターン学習・適用
#### ✅ **動作確認済み機能**
- ✓ プロジェクト構造分析 (Language: Python, Framework: FastAPI)
- ✓ ファイル変更検出 (57個の変更検出)
- ✓ プロジェクト文脈読込 (21,986文字)
- ✓ AI駆動提案機能 (具体的な次ステップ提案)
- ✓ 文脈認識ファイル分析 (コード品質・整合性評価)
- ✓ プロジェクト文脈考慮コード生成 (FastAPI準拠コード生成)
### 🎯 **Claude Code風ワークフロー**
```bash
# 1. プロジェクト理解
aigpt shell --model qwen2.5-coder:latest --provider ollama
ai.shell> load # プロジェクト仕様読み込み
ai.shell> project-status # 現在の構造分析
# 2. AI駆動開発
ai.shell> suggest-next # 次のタスク提案
ai.shell> continuous # 継続開発モード開始
# 3. 文脈認識開発
ai.shell> analyze <file> # プロジェクト文脈でファイル分析
ai.shell> generate <desc> # 文脈考慮コード生成
ai.shell> 具体的な開発相談 # 記憶+文脈で最適な提案
# 4. 継続的改善
# AIがプロジェクト全体を理解して一貫した開発支援
# 前回の議論・決定事項を記憶して適切な提案継続
```
### 💡 **従来のai.shellとの違い**
| 機能 | 従来 | 新実装 |
|------|------|--------|
| プロジェクト理解 | 単発 | 構造分析+文脈保持 |
| コード生成 | 汎用 | プロジェクト文脈考慮 |
| 開発提案 | なし | AI駆動次ステップ提案 |
| ファイル分析 | 単体 | 整合性+改善提案 |
| 変更追跡 | なし | 自動検出+影響分析 |
**真のClaude Code化完成** 記憶システム + プロジェクト文脈認識で、一貫した長期開発支援が可能になりました。
## 🛠️ ai.shell継続的開発 - 実践Example
### 🚀 **プロジェクト開発ワークフロー実例**
#### 📝 **Example 1: RESTful API開発**
```bash
# 1. ai.shellでプロジェクト開始qwen2.5-coder使用
aigpt shell --model qwen2.5-coder:latest --provider ollama
# 2. プロジェクト仕様を読み込んでAIに理解させる
ai.shell> load
# → aishell.mdを自動検索・読み込み、AIがプロジェクト目標を記憶
# 3. プロジェクト構造確認
ai.shell> !ls -la
ai.shell> !git status
# 4. ユーザー管理APIの設計を相談
ai.shell> RESTful APIでユーザー管理機能を作りたいです。設計について相談できますか
# 5. AIの提案を基にコード生成
ai.shell> generate Python FastAPI user management with CRUD operations
# 6. 生成されたコードをファイルに保存
ai.shell> !mkdir -p src/api
ai.shell> !touch src/api/users.py
# 7. 実装されたコードを分析・改善
ai.shell> analyze src/api/users.py
ai.shell> セキュリティ面での改善点を教えてください
# 8. テストコード生成
ai.shell> generate pytest test cases for the user management API
# 9. 隔離環境でテスト実行
ai.shell> remote python -m pytest tests/ -v
ai.shell> isolated import requests; print(requests.get("http://localhost:8000/health").status_code)
# 10. 段階的コミット
ai.shell> !git add .
ai.shell> !git commit -m "Add user management API with security improvements"
# 11. 継続的な改善相談
ai.shell> 次はデータベース設計について相談したいです
```
#### 🔄 **Example 2: 機能拡張と リファクタリング**
```bash
# ai.shell継続セッション記憶システムが前回の議論を覚えている
aigpt shell --model qwen2.5-coder:latest --provider ollama
# AIが前回のAPI開発を記憶して続きから開始
ai.shell> status
# Relationship Status: acquaintance (関係性が進展)
# Score: 25.00 / 100.0
# 前回の続きから自然に議論
ai.shell> 前回作ったユーザー管理APIに認証機能を追加したいです
# AIが前回のコードを考慮した提案
ai.shell> generate JWT authentication middleware for our FastAPI
# 既存コードとの整合性チェック
ai.shell> analyze src/api/users.py
ai.shell> この認証システムと既存のAPIの統合方法は
# 段階的実装
ai.shell> explain JWT token flow in our architecture
ai.shell> generate authentication decorator for protected endpoints
# リファクタリング提案
ai.shell> 現在のコード構造で改善できる点はありますか?
ai.shell> generate improved project structure for scalability
# データベース設計相談
ai.shell> explain SQLAlchemy models for user authentication
ai.shell> generate database migration scripts
# 隔離環境での安全なテスト
ai.shell> remote alembic upgrade head
ai.shell> isolated import sqlalchemy; print("DB connection test")
```
#### 🎯 **Example 3: バグ修正と最適化**
```bash
# 開発継続AIが開発履歴を完全記憶
aigpt shell --model qwen2.5-coder:latest --provider ollama
# 関係性が更に進展close_friend level
ai.shell> status
# Relationship Status: close_friend
# Score: 45.00 / 100.0
# バグレポートと分析
ai.shell> API のレスポンス時間が遅いです。パフォーマンス分析をお願いします
ai.shell> analyze src/api/users.py
# AIによる最適化提案
ai.shell> generate database query optimization for user lookup
ai.shell> explain async/await patterns for better performance
# テスト駆動改善
ai.shell> generate performance test cases
ai.shell> !pytest tests/ -v --benchmark
# キャッシュ戦略相談
ai.shell> Redis caching strategy for our user API?
ai.shell> generate caching layer implementation
# 本番デプロイ準備
ai.shell> explain Docker containerization for our API
ai.shell> generate Dockerfile and docker-compose.yml
ai.shell> generate production environment configurations
# 隔離環境でのデプロイテスト
ai.shell> remote docker build -t myapi .
ai.shell> isolated os.system("docker run --rm myapi python -c 'print(\"Container works!\")'")
ai.shell> aibot-status # デプロイ環境確認
```
### 🧠 **記憶システム活用のメリット**
#### 💡 **継続性のある開発体験**
- **文脈保持**: 前回の議論やコードを記憶して一貫した提案
- **関係性進化**: 協働を通じて信頼関係が構築され、より深い提案
- **段階的成長**: プロジェクトの発展を理解した適切なレベルの支援
#### 🔧 **実践的な使い方**
```bash
# 日々の開発ルーチン
aigpt shell --model qwen2.5-coder:latest --provider ollama
ai.shell> load # プロジェクト状況をAIに再確認
ai.shell> !git log --oneline -5 # 最近の変更を確認
ai.shell> 今日は何から始めましょうか? # AIが文脈を考慮した提案
# 長期プロジェクトでの活用
ai.shell> 先週議論したアーキテクチャの件、覚えていますか?
ai.shell> あのときの懸念点は解決されましたか?
ai.shell> 次のマイルストーンに向けて何が必要でしょうか?
# チーム開発での知識共有
ai.shell> 新しいメンバーに説明するための設計書を生成してください
ai.shell> このプロジェクトの技術的負債について分析してください
```
### 🚧 次のステップ
- **自律送信**: atproto実装記憶ベース判定
- **記憶可視化**: Webダッシュボード関係性グラフ
- **分散記憶**: atproto上でのユーザーデータ主権
- **AI協働**: 複数AIでの記憶共有プロトコル
## トラブルシューティング
### 環境セットアップ
```bash
# 仮想環境の確認
source ~/.config/syui/ai/gpt/venv/bin/activate
aigpt --help
# 設定の確認
aigpt config list
# データの確認
ls ~/.config/syui/ai/gpt/data/
```
### MCPサーバー動作確認
```bash
# ai.gpt統合サーバー (14ツール)
aigpt server --port 8001
curl http://localhost:8001/docs
# ai.card独立サーバー (9ツール)
cd card/api && uvicorn app.main:app --port 8000
curl http://localhost:8000/health
```