cleanup update

This commit is contained in:
2025-07-29 03:29:46 +09:00
parent 45c65e03b3
commit 340c2ca682
36 changed files with 682 additions and 10174 deletions

267
README.md
View File

@@ -1,132 +1,177 @@
# ai.gpt
# aigpt - Claude Memory MCP Server
## プロジェクト概要
- **名前**: ai.gpt
- **パッケージ**: aigpt
- **言語**: Rust (完全移行済み)
- **タイプ**: 自律的送信AI + 統合MCP基盤
- **役割**: 記憶・関係性・開発支援の統合AIシステム
ChatGPTのメモリ機能を参考にした、Claude Desktop/Code用のシンプルなメモリストレージシステムです。
## 実装完了状況
## 機能
### 🧠 記憶システムMemoryManager
- **階層的記憶**: 完全ログ→AI要約→コア記憶→選択的忘却
- **文脈検索**: キーワード・意味的検索
- **記憶要約**: AI駆動自動要約機能
- **メモリのCRUD操作**: メモリの作成、更新、削除、検索
- **ChatGPT JSONインポート**: ChatGPTの会話履歴からメモリを抽出
- **stdio MCP実装**: Claude Desktop/Codeとの簡潔な連携
- **JSONファイル保存**: シンプルなファイルベースのデータ保存
### 🤝 関係性システムRelationshipTracker
- **不可逆性**: 現実の人間関係と同じ重み
- **時間減衰**: 自然な関係性変化
- **送信判定**: 関係性閾値による自発的コミュニケーション
## インストール
### 🎭 人格システムPersona
- **AI運勢**: 1-10ランダム値による日々の人格変動
- **統合管理**: 記憶・関係性・運勢の統合判断
- **継続性**: 長期記憶による人格継承
### 💻 ai.shell統合Claude Code機能
- **インタラクティブ環境**: `aigpt shell`
- **開発支援**: ファイル分析・コード生成・プロジェクト管理
- **継続開発**: プロジェクト文脈保持
## MCP Server統合17ツール
### 🧠 Memory System5ツール
- get_memories, get_contextual_memories, search_memories
- create_summary, create_core_memory
### 🤝 Relationships4ツール
- get_relationships, get_status
- chat_with_ai, check_transmissions
### 💻 Shell Integration5ツール
- execute_command, analyze_file, write_file
- list_files, run_scheduler
### ⚙️ System State3ツール
- get_scheduler_status, run_maintenance, get_transmission_history
### 🎴 ai.card連携3ツール
- get_user_cards, draw_card, get_draw_status
- **統合ServiceClient**: 統一されたHTTP通信基盤
### 📝 ai.log連携新機能
- **統合ServiceClient**: ai.logサービスとの統一インターフェース
- create_blog_post, build_blog, translate_document
## 開発環境・設定
### 環境構築
1. Rustをインストールまだの場合:
```bash
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
```
2. プロジェクトをビルド:
```bash
cd /Users/syui/ai/ai/gpt
cargo build --release
```
### 設定管理
- **メイン設定**: `/Users/syui/ai/ai/gpt/config.json.example`
- **データディレクトリ**: `~/.config/syui/ai/gpt/`
### 使用方法
3. バイナリをパスの通った場所にコピー(オプション):
```bash
# ai.shell起動
aigpt shell --model qwen2.5-coder:latest --provider ollama
# MCPサーバー起動
aigpt server --port 8001
# 記憶システム体験
aigpt chat syui "質問内容" --provider ollama --model qwen3:latest
# ドキュメント生成ai.wiki統合
aigpt docs --wiki
# トークン使用量・料金分析Claude Code連携
aigpt tokens report --days 7 # 美しい日別レポート要DuckDB
aigpt tokens cost --month today # セッション別料金分析
aigpt tokens summary --period week # 基本的な使用量サマリー
cp target/release/aigpt $HOME/.cargo/bin/
```
## 技術アーキテクチャ
4. Claude Code/Desktopに追加
### Rust実装の統合構成
```
ai.gpt (Rust製MCPサーバー:8001)
├── 🧠 Memory & Persona System (Rust)
├── 🤝 Relationship Management (Rust)
├── 📊 Scheduler & Transmission (Rust)
├── 💻 Shell Integration (Rust)
├── 🔗 ServiceClient (統一HTTP基盤)
│ ├── 🎴 ai.card (port 8000)
│ ├── 📝 ai.log (port 8002)
│ └── 🤖 ai.bot (port 8003)
└── 📚 ai.wiki Generator (Rust)
```sh
# Claude Codeの場合
claude mcp add aigpt $HOME/.cargo/bin/aigpt server
# または
claude mcp add aigpt $HOME/.cargo/bin/aigpt serve
```
### 最新機能 (2024.06.09)
- **MCP API共通化**: ServiceClient統一基盤
- **ai.wiki統合**: 自動ドキュメント生成
- **サービス設定統一**: 動的サービス登録
- **完全Rust移行**: Python依存完全排除
## 使用方法
### 今後の展開
- **自律送信**: atproto実装による真の自発的コミュニケーション
- **ai.ai連携**: 心理分析AIとの統合
- **分散SNS統合**: atproto完全対応
### ヘルプの表示
```bash
aigpt --help
```
## 革新的な特徴
### MCPサーバーとして起動
```bash
# MCPサーバー起動 (どちらでも可)
aigpt server
aigpt serve
```
### AI駆動記憶システム
- ChatGPT 4,000件ログから学習した効果的記憶構築
- 人間的な忘却・重要度判定
### ChatGPT会話のインポート
```bash
# ChatGPT conversations.jsonをインポート
aigpt import path/to/conversations.json
```
### 不可逆関係性
- 現実の人間関係と同じ重みを持つAI関係性
- 修復不可能な関係性破綻システム
## Claude Desktop/Codeへの設定
### 統合ServiceClient
- 複数AIサービスの統一インターフェース
- DRY原則に基づく共通化実現
- 設定ベースの柔軟なサービス管理
1. Claude Desktopの設定ファイルを開く:
- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`
- Linux: `~/.config/Claude/claude_desktop_config.json`
## アーカイブ情報
詳細な実装履歴・設計資料は `~/ai/ai/ai.wiki/gpt/` に移動済み
2. 以下の設定を追加:
```json
{
"mcpServers": {
"aigpt": {
"command": "/Users/syui/.cargo/bin/aigpt",
"args": ["server"]
}
}
}
```
## 提供するMCPツール一覧
1. **create_memory** - 新しいメモリを作成
2. **update_memory** - 既存のメモリを更新
3. **delete_memory** - メモリを削除
4. **search_memories** - メモリを検索
5. **list_conversations** - インポートされた会話を一覧表示
## ツールの使用例
Claude Desktop/Codeで以下のように使用します
### メモリの作成
```
MCPツールを使って「今日は良い天気です」というメモリーを作成してください
```
### メモリの検索
```
MCPツールを使って「天気」に関するメモリーを検索してください
```
### 会話一覧の表示
```
MCPツールを使ってインポートした会話の一覧を表示してください
```
## データ保存
- デフォルトパス: `~/.config/syui/ai/gpt/memory.json`
- JSONファイルでデータを保存
- 自動的にディレクトリとファイルを作成
### データ構造
```json
{
"memories": {
"uuid": {
"id": "uuid",
"content": "メモリーの内容",
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
}
},
"conversations": {
"conversation_id": {
"id": "conversation_id",
"title": "会話のタイトル",
"created_at": "2024-01-01T00:00:00Z",
"message_count": 10
}
}
}
```
## 開発
```bash
# 開発モードで実行
cargo run -- server
# ChatGPTインポートのテスト
cargo run -- import json/conversations.json
# テストの実行
cargo test
# フォーマット
cargo fmt
# Lintチェック
cargo clippy
```
## トラブルシューティング
### MCPサーバーが起動しない
```bash
# バイナリが存在するか確認
ls -la ~/.cargo/bin/aigpt
# 手動でテスト
echo '{"jsonrpc": "2.0", "method": "tools/list", "id": 1}' | aigpt server
```
### Claude Desktopでツールが見つからない
1. Claude Desktopを完全に再起動
2. 設定ファイルのパスが正しいか確認
3. ログファイルを確認: `~/Library/Logs/Claude/mcp-server-aigpt.log`
### インポートが失敗する
```bash
# JSONファイルの形式を確認
head -100 conversations.json | jq '.[0] | keys'
```
## ライセンス
MIT