Organize repository structure: clean up root directory

Major reorganization to improve clarity and maintainability:

## Documentation
- Created new simple README.md focused on Layer 1
- Added docs/ARCHITECTURE.md explaining multi-layer design
- Moved LAYER1_REBUILD.md -> docs/LAYER1.md
- Archived old documentation to docs/archive/:
  - CHANGELOG.md, QUICKSTART.md, STATUS.md, USAGE.md
  - DESIGN.md, README_CONFIG.md, ROADMAP.md, TECHNICAL_REVIEW.md
  - claude.md, test-mcp.sh

## Source Code
- Moved unused .rs files to src/tmp/:
  - ai_interpreter.rs (Layer 2 - future)
  - companion.rs (Layer 4b - future)
  - game_formatter.rs (Layer 4a - future)
  - memory.rs (old implementation)
  - extended.rs (old MCP server)

## Result
Clean root directory with only essential files:
- README.md (simple, Layer 1 focused)
- Cargo.toml
- .gitignore
- docs/ (organized documentation)
- src/ (active code only)

All Layer 1 functionality remains intact and tested.
This commit is contained in:
Claude
2025-11-05 18:24:38 +00:00
parent 272d01137d
commit f2a02abf3e
19 changed files with 837 additions and 409 deletions

70
docs/archive/CHANGELOG.md Normal file
View File

@@ -0,0 +1,70 @@
# Changelog
## [Unreleased] - 2025-11-05
### 🎉 Major Changes: Complete Local Operation
#### Changed
- **Removed external AI API dependency**: No longer calls Claude/OpenAI APIs
- **Claude Code does the interpretation**: AIが解釈するのではなく、Claude Code 自身が解釈
- **Zero cost**: API料金が一切かからない
- **Complete privacy**: データが外部に送信されない
#### Technical Details
- Removed `openai` crate dependency
- Removed `ai-analysis` feature (no longer needed)
- Simplified `ai_interpreter.rs` to be a lightweight wrapper
- Updated `create_memory_with_ai` MCP tool to accept `interpreted_content` and `priority_score` from Claude Code
- Added `create_memory_with_interpretation()` method to MemoryManager
- Updated tool descriptions to guide Claude Code on how to interpret and score
#### Benefits
-**完全ローカル**: 外部 API 不要
-**ゼロコスト**: API 料金なし
-**プライバシー**: データ漏洩の心配なし
-**シンプル**: 依存関係が少ない
-**高速**: ネットワーク遅延なし
#### How It Works Now
1. User: 「今日、新しいアイデアを思いついた」とメモリを作成
2. Claude Code: 内容を解釈し、スコア (0.0-1.0) を計算
3. Claude Code: `create_memory_with_ai` ツールを呼び出し、解釈とスコアを渡す
4. aigpt: メモリを保存し、ゲーム風の結果を返す
5. Claude Code: ユーザーに結果を表示
#### Migration Notes
For users who were expecting external AI API usage:
- No API keys needed anymore (ANTHROPIC_API_KEY, OPENAI_API_KEY)
- Claude Code (local) now does all the interpretation
- This is actually better: faster, cheaper, more private!
---
## [0.1.0] - Initial Release
### Added
- Basic memory CRUD operations
- ChatGPT conversation import
- stdio MCP server implementation
- Psychological priority scoring (0.0-1.0)
- Gamification features (rarity, diagnosis types, XP)
- Romance companion system
- 11 MCP tools for Claude Code integration
### Features
- Memory capacity management (max 100 by default)
- Automatic pruning of low-priority memories
- Game-style result displays
- Companion affection and level system
- Daily challenges
- Ranking displays
### Documentation
- README.md with full examples
- DESIGN.md with system architecture
- TECHNICAL_REVIEW.md with evaluation
- ROADMAP.md with 7-phase plan
- QUICKSTART.md for immediate usage
- USAGE.md for detailed instructions

121
docs/archive/DESIGN.md Normal file
View File

@@ -0,0 +1,121 @@
# AI記憶システム設計書
## コンセプト
AIの記憶装置は、人間の記憶に近い形で動作する。すべてを正確に記憶するのではなく、**解釈**して保存する。
## 従来の記憶システムとの違い
### 従来型
```
会話 → 保存 → 検索
```
### 新設計(心理優先記憶装置)
```
会話 → AI解釈 → 保存 → 検索
心理判定(1-100)
優先順位付け
容量管理
```
## 設計原理
1. **解釈保存**: 記憶する際はAIが解釈を加える
- 元のコンテンツと解釈後のコンテンツの両方を保持
- 「覚えること自体が創造」という考え方
2. **心理判定**: 各記憶に重要度スコア1-100を付与
- AIが自律的に判断
- ユーザー固有性を考慮
- 感情的重要度を評価
3. **優先順位管理**: スコアに基づく優先順位
- 高スコア = 重要な記憶
- 低スコア = 忘れられやすい記憶
4. **容量制限**: 人間の記憶のように限界がある
- 総容量制限(デフォルト: 100件
- 単発保存容量制限
- 優先度が低いものから自動削除
## データ構造
```rust
struct Memory {
id: String, // UUID
content: String, // 元のコンテンツ
interpreted_content: String, // AI解釈後のコンテンツ
priority_score: f32, // 心理判定スコア (0.0-1.0)
user_context: Option<String>, // ユーザー固有性
created_at: DateTime<Utc>, // 作成日時
updated_at: DateTime<Utc>, // 更新日時
}
```
## 実装機能
### 1. 心理判定機能
- AI APIを使用して重要度を0.0-1.0で評価
- 判定基準:
- 感情的インパクト (0.0-0.25)
- ユーザーとの関連性 (0.0-0.25)
- 新規性・独自性 (0.0-0.25)
- 実用性 (0.0-0.25)
### 2. 保存機能
- 保存前にAI解釈を実行
- 心理判定スコアを自動付与
- 容量超過時は低スコアから削除
### 3. 検索機能
- 優先順位順にソート
- スコアによるフィルタリング
- セマンティック検索(オプション)
### 4. 容量管理
- デフォルト最大: 100件
- 設定可能な上限
- 自動プルーニング(低スコア削除)
## 実装ステップ
1. Memory構造体の拡張
2. AI解釈機能の実装OpenAI API使用
3. 心理判定機能の実装
4. 容量管理機能の実装
5. ソート・フィルタリング機能の強化
6. MCPツールへの統合
## 設定例
```json
{
"max_memories": 100,
"min_priority_score": 0.3,
"auto_prune": true,
"interpretation_enabled": true
}
```
## スコアリングシステムの哲学
0.0-1.0のfloat値を採用する理由
- **正規化**: 機械学習やAIにとって扱いやすい標準形式
- **直感性**: 0が最低、1が最高という明確な基準
- **精度**: 0.75などの細かい値で微妙な重要度の差を表現可能
- **拡張性**: 時間軸(0.0-1.0)や確率(0.0-1.0)などとの統合が容易
この設計は、「I + o」概念oの周りを0.0-1.0の時間軸で表す)とも整合性がある。
## ゲームのセーブデータとの類似性
- **Git = セーブ機能**: バージョン管理
- **GitHub = クラウドセーブ**: グローバルデータ共有
- **ATProto = データプロトコル**: 分散型データ保存
- **AI記憶 = プレイヤー記憶**: 経験の蓄積と解釈
ゲームのセーブデータも「プレイヤーの行動を解釈したデータ」として扱うことで、より意味のある永続化が可能になる。

263
docs/archive/QUICKSTART.md Normal file
View File

@@ -0,0 +1,263 @@
# クイックスタートガイド 🚀
## 今すぐ試す方法
### ステップ1: MCPサーバーを起動
```bash
# API キー不要!完全にローカルで動作
./target/debug/aigpt server
```
### ステップ2: Claude Desktop/Codeに設定
#### Claude Codeの場合
```bash
# MCP設定に追加
claude mcp add aigpt /home/user/aigpt/target/debug/aigpt server
```
#### 手動設定の場合
`~/.config/claude-code/config.json` に追加:
```json
{
"mcpServers": {
"aigpt": {
"command": "/home/user/aigpt/target/debug/aigpt",
"args": ["server"]
}
}
}
```
### ステップ3: Claude Codeを再起動
MCPサーバーを認識させるため、Claude Codeを再起動してください。
---
## 使い方の流れ
### 🎮 1. 心理テスト風にメモリ作成
**Claude Codeで:**
```
create_memory_with_ai ツールを使って
「今日、新しいAIシステムのアイデアを思いついた」
というメモリを作成してください。
```
**結果:**
```
╔══════════════════════════════════════╗
║ 🎲 メモリースコア判定 ║
╚══════════════════════════════════════╝
🟣 EPIC 85点
💡 【革新者】
💕 好感度: ❤️❤️🤍🤍🤍🤍🤍🤍🤍🤍
💎 XP獲得: +850 XP
📤 シェア用テキストも生成されます!
```
### 💕 2. 恋愛コンパニオンを作成
**Claude Codeで:**
```
create_companion ツールで、
名前「エミリー」、性格「energetic」の
コンパニオンを作成してください。
```
**結果:**
```
╔══════════════════════════════════════╗
║ 💕 エミリー のプロフィール ║
╚══════════════════════════════════════╝
⚡ 性格: 元気で冒険好き
🏆 関係レベル: Lv.1
💕 好感度: 🤍🤍🤍🤍🤍🤍🤍🤍🤍🤍 0%
💬 今日のひとこと:
「おはよう!今日は何か面白いことある?」
```
### 🎊 3. コンパニオンに反応してもらう
**Claude Codeで:**
```
companion_react ツールで、
先ほど作成した記憶IDを渡してください。
```
**結果:**
```
╔══════════════════════════════════════╗
║ 💕 エミリー の反応 ║
╚══════════════════════════════════════╝
⚡ エミリー:
「すごい新しいAIシステムのアイデア
って本当に素晴らしいね!
一緒に実現させよう!」
💕 好感度: ❤️❤️🤍🤍🤍🤍🤍🤍🤍🤍 15%
💎 XP獲得: +850 XP
```
### 🏆 4. ランキング確認
**Claude Codeで:**
```
list_memories_by_priority ツールで
TOP 10を表示してください。
```
**結果:**
```
╔══════════════════════════════════════╗
║ 🏆 メモリーランキング TOP 10 ║
╚══════════════════════════════════════╝
🥇 1位 🟣 EPIC 85点 - 新しいAIシステム...
```
---
## 現在の制限事項と対処法
### ❌ AI機能が使えない場合
**原因:** OpenAI APIキーが未設定
**対処法:**
```bash
# 環境変数に設定
export OPENAI_API_KEY=sk-...
# または起動時に指定
OPENAI_API_KEY=sk-... ./target/debug/aigpt server
```
**代替案:**
```
# 基本版のツールを使うAI機能なし
create_memory ツールで「テスト」というメモリを作成
# スコアは固定で 0.5 になります
```
### ❌ コンパニオンが保存されない
**現状:** セッション終了で消える
**対処法(今後実装予定):**
- JSON保存機能
- 次回起動時に自動ロード
**今できること:**
- 毎回 create_companion で再作成
- プロフィールをスクリーンショット保存
---
## トラブルシューティング
### Q: MCPツールが見つからない
```bash
# Claude Codeを完全再起動
# または設定ファイルを確認
cat ~/.config/claude-code/config.json
```
### Q: 記憶が保存されない
```bash
# データファイルを確認
ls -la ~/.config/syui/ai/gpt/memory.json
# ない場合は自動作成されます
```
### Q: ビルドエラーが出る
```bash
# 依存関係を更新
cargo clean
cargo build --release
# AI機能付き
cargo build --release --features ai-analysis
```
---
## おすすめの使い方
### 💡 アイデア記録として
1. 思いついたアイデアを create_memory_with_ai で記録
2. スコアで重要度を客観的に判定
3. 高スコアのアイデアに集中
### 💕 恋愛ゲームとして
1. コンパニオンを作成
2. 日々の出来事や考えを記録
3. コンパニオンに反応してもらう
4. 好感度MAXを目指す
### 📊 自己分析として
1. 定期的に思考を記録
2. 診断タイプの傾向を確認
3. ランキングで振り返り
---
## 次にやること
### すぐできる改善
- [ ] コンパニオンの永続化実装
- [ ] 複数コンパニオン対応
- [ ] デイリーチャレンジ完了チェック
### 中期的な目標
- [ ] Bluesky連携シェア機能
- [ ] Webダッシュボード
- [ ] もっと多様なイベント
---
## 楽しみ方のコツ
1. **毎日使う**
- daily_challenge で習慣化
- コンパニオンの「今日のひとこと」
2. **高スコアを狙う**
- LEGENDARY (90%+) を目指す
- XP 1000獲得の快感
3. **相性を楽しむ**
- 自分のタイプを確認
- 相性の良いコンパニオン選択
4. **イベントを楽しむ**
- 好感度100%の告白イベント
- レベル10の特別な絆
---
## さあ、始めよう! 🚀
```bash
# MCPサーバー起動
./target/debug/aigpt server
# Claude Codeで試す
# → create_memory_with_ai
# → create_companion
# → companion_react
# → 楽しむ!
```

431
docs/archive/README.old.md Normal file
View File

@@ -0,0 +1,431 @@
# aigpt - AI Memory System with Psychological Priority
AI記憶装置心理優先記憶システム。**完全にローカルで動作**し、Claude Code と連携して、心理判定スコア付きのメモリ管理を実現します。
## 🌟 特徴
-**完全ローカル**: 外部 API 不要、プライバシー保護
-**ゼロコスト**: API 料金なし
-**Claude Code 統合**: Claude 自身が解釈とスコアリング
-**ゲーミフィケーション**: 心理テスト風の楽しい表示
-**恋愛コンパニオン**: 育成要素付き
## コンセプト
従来の「会話 → 保存 → 検索」ではなく、「会話 → **Claude による解釈** → 保存 → 検索」を実現。
Claude Code が記憶を解釈し、重要度を0.0-1.0のスコアで評価。優先度の高い記憶を保持し、低い記憶は自動的に削除されます。
## 機能
- **AI解釈付き記憶**: 元のコンテンツとAI解釈後のコンテンツを保存
- **心理判定スコア**: 0.0-1.0のfloat値で重要度を評価
- **優先順位管理**: スコアに基づく自動ソートとフィルタリング
- **容量制限**: 最大100件設定可能、低スコアから自動削除
- **メモリのCRUD操作**: メモリの作成、更新、削除、検索
- **ChatGPT JSONインポート**: ChatGPTの会話履歴からメモリを抽出
- **stdio MCP実装**: Claude Desktop/Codeとの簡潔な連携
- **JSONファイル保存**: シンプルなファイルベースのデータ保存
## インストール
1. Rustをインストールまだの場合:
```bash
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
```
2. プロジェクトをビルド(依存関係が少なくシンプル!):
```bash
cargo build --release
# API キー不要!完全にローカルで動作します
```
3. バイナリをパスの通った場所にコピー(オプション):
```bash
cp target/release/aigpt $HOME/.cargo/bin/
```
4. Claude Code/Desktopに追加
```sh
# Claude Codeの場合
claude mcp add aigpt $HOME/.cargo/bin/aigpt server
# または
claude mcp add aigpt $HOME/.cargo/bin/aigpt serve
```
## 使用方法
### ヘルプの表示
```bash
aigpt --help
```
### MCPサーバーとして起動
```bash
# MCPサーバー起動 (どちらでも可)
aigpt server
aigpt serve
```
### ChatGPT会話のインポート
```bash
# ChatGPT conversations.jsonをインポート
aigpt import path/to/conversations.json
```
## Claude Desktop/Codeへの設定
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`
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** - インポートされた会話を一覧表示
### AI機能ツール重要
6. **create_memory_with_ai** - AI解釈と心理判定付きでメモリを作成 🎮
- 元のコンテンツをAIが解釈
- 重要度を0.0-1.0のスコアで自動評価
- ユーザーコンテキストを考慮可能
- **ゲーム風の診断結果を表示!**(占い・心理テスト風)
7. **list_memories_by_priority** - 優先順位順にメモリをリスト 🏆
- 高スコアから順に表示
- min_scoreで閾値フィルタリング可能
- limit で件数制限可能
- **ランキング形式で表示!**
8. **daily_challenge** - 今日のデイリーチャレンジを取得 📅
- 日替わりのお題を取得
- ボーナスXPが獲得可能
### 恋愛コンパニオン機能 💕NEW!
9. **create_companion** - AIコンパニオンを作成
- 名前と性格を選択
- 5つの性格タイプから選択可能
10. **companion_react** - コンパニオンの反応を見る
- あなたの記憶にコンパニオンが反応
- 好感度・XP・信頼度が上昇
- スペシャルイベント発生あり
11. **companion_profile** - コンパニオンのプロフィール表示
- ステータス確認
- 今日のひとこと
## ツールの使用例
Claude Desktop/Codeで以下のように使用します
### 基本的なメモリ作成
```
MCPツールを使って「今日は良い天気です」というメモリーを作成してください
```
### AI解釈付きメモリ作成推奨🎮
```
create_memory_with_ai ツールを使って「新しいAI記憶システムのアイデアを思いついた」というメモリーを作成してください。
ユーザーコンテキスト: 「AI開発者、創造的思考を重視」
```
**ゲーム風の結果表示:**
```
╔══════════════════════════════════════════════════════════════╗
║ 🎲 メモリースコア判定 ║
╚══════════════════════════════════════════════════════════════╝
⚡ 分析完了! あなたの思考が記録されました
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 総合スコア
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🟣 EPIC 85点
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎯 詳細分析
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
💓 感情的インパクト: [████████░░] 80%
🔗 ユーザー関連性: [██████████] 100%
✨ 新規性・独自性: [█████████░] 90%
⚙️ 実用性: [████████░░] 80%
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎊 あなたのタイプ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
💡 【革新者】
創造的で実用的なアイデアを生み出す。常に新しい可能性を探求し、
それを現実のものにする力を持つ。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🏆 報酬
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
💎 XP獲得: +850 XP
🎁 レア度: 🟣 EPIC
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📤 この結果をシェアしよう!
#aigpt #メモリースコア #革新者
```
**シェア用テキストも自動生成:**
```
🎲 AIメモリースコア診断結果
🟣 EPIC 85点
💡 【革新者】
新しいAI記憶システムのアイデアを思いついた
#aigpt #メモリースコア #AI診断
```
### 優先順位でメモリをリスト 🏆
```
list_memories_by_priority ツールで、スコア0.7以上の重要なメモリを10件表示してください
```
**ランキング形式で表示:**
```
╔══════════════════════════════════════════════════════════════╗
║ 🏆 メモリーランキング TOP 10 ║
╚══════════════════════════════════════════════════════════════╝
🥇 1位 🟡 LEGENDARY 95点 - 心理優先記憶装置の設計
🥈 2位 🟣 EPIC 88点 - AIとのやり取りをコンテンツ化
🥉 3位 🟣 EPIC 85点 - ゲーム化の構想
  4位 🔵 RARE 75点 - SNSの本質について
  5位 🔵 RARE 72点 - AI OSの可能性
...
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```
### 今日のデイリーチャレンジ 📅
```
daily_challenge ツールで今日のお題を確認
```
**表示例:**
```
╔══════════════════════════════════════════════════════════════╗
║ 📅 今日のチャレンジ ║
╚══════════════════════════════════════════════════════════════╝
✨ 今日学んだことを記録しよう
🎁 報酬: +200 XP
💎 完了すると特別なバッジが獲得できます!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```
### 恋愛コンパニオン 💕NEW!
#### 1. コンパニオン作成
```
create_companion ツールで、名前「エミリー」、性格「energetic」のコンパニオンを作成
```
**性格タイプ:**
- `energetic` ⚡ - 元気で冒険好き(革新者と相性◎)
- `intellectual` 📚 - 知的で思慮深い(哲学者と相性◎)
- `practical` 🎯 - 現実的で頼れる(実務家と相性◎)
- `dreamy` 🌙 - 夢見がちでロマンチック(夢想家と相性◎)
- `balanced` ⚖️ - バランス型(分析家と相性◎)
**表示例:**
```
╔══════════════════════════════════════════════════════════════╗
║ 💕 エミリー のプロフィール ║
╚══════════════════════════════════════════════════════════════╝
⚡ 性格: 元気で冒険好き
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 ステータス
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🏆 関係レベル: Lv.1
💕 好感度: 🤍🤍🤍🤍🤍🤍🤍🤍🤍🤍 0%
🤝 信頼度: 0 / 100
💎 総XP: 0 XP
💬 今日のひとこと:
「おはよう!今日は何か面白いことある?」
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```
#### 2. コンパニオンの反応
```
create_memory_with_ai で高スコアの記憶を作成
companion_react でコンパニオンに見せる
```
**表示例EPIC記憶への反応:**
```
╔══════════════════════════════════════════════════════════════╗
║ 💕 エミリー の反応 ║
╚══════════════════════════════════════════════════════════════╝
⚡ エミリー:
「おお、「新しいAI記憶システムのアイデア」って面白いね
あなたのそういうところ、好きだな。」
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
💕 好感度: ❤️❤️🤍🤍🤍🤍🤍🤍🤍🤍 15% (+8.5%)
💎 XP獲得: +850 XP
🏆 レベル: Lv.1
🤝 信頼度: 5 / 100
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```
#### 3. スペシャルイベント発生!
```
好感度が100%に達すると...
💕 特別なイベント発生!
エミリー:「ねえ...あのね。
   いつも一緒にいてくれてありがとう。
   あなたのこと、すごく大切に思ってるの。
   これからも、ずっと一緒にいてね?」
🎊 エミリー の好感度がMAXになりました
```
#### 4. 相性システム
```
あなたのタイプ × コンパニオンの性格 = 相性ボーナス
例:
💡【革新者】 × ⚡ 元気で冒険好き = 相性95%
→ 好感度上昇1.95倍
🧠【哲学者】 × 📚 知的で思慮深い = 相性95%
→ 深い会話で絆が深まる
```
### メモリの検索
```
MCPツールを使って「天気」に関するメモリーを検索してください
```
### 会話一覧の表示
```
MCPツールを使ってインポートした会話の一覧を表示してください
```
## データ保存
- デフォルトパス: `~/.config/syui/ai/gpt/memory.json`
- JSONファイルでデータを保存
- 自動的にディレクトリとファイルを作成
### データ構造
```json
{
"memories": {
"uuid": {
"id": "uuid",
"content": "元のメモリー内容",
"interpreted_content": "AI解釈後のメモリー内容",
"priority_score": 0.75,
"user_context": "ユーザー固有のコンテキスト(オプション)",
"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
}
}
}
```
### 心理判定スコアについて
0.0-1.0のfloat値で重要度を表現
- **0.0-0.25**: 低優先度(忘れられやすい)
- **0.25-0.5**: 中優先度
- **0.5-0.75**: 高優先度
- **0.75-1.0**: 最高優先度(重要な記憶)
評価基準:
- 感情的インパクト (0.0-0.25)
- ユーザーとの関連性 (0.0-0.25)
- 新規性・独自性 (0.0-0.25)
- 実用性 (0.0-0.25)
## 開発
```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

View File

@@ -0,0 +1,125 @@
# Claude Memory MCP 設定ガイド
## モード選択
### 標準モード (Simple Mode)
- 基本的なメモリー機能のみ
- 軽量で高速
- 最小限の依存関係
### 拡張モード (Extended Mode)
- AI分析機能
- セマンティック検索
- Web統合機能
- 高度なインサイト抽出
## ビルド・実行方法
### 標準モード
```bash
# MCPサーバー起動
cargo run --bin memory-mcp
# CLI実行
cargo run --bin aigpt -- create "メモリー内容"
```
### 拡張モード
```bash
# MCPサーバー起動
cargo run --bin memory-mcp-extended --features extended
# CLI実行
cargo run --bin aigpt-extended --features extended -- create "メモリー内容" --analyze
```
## 設定ファイルの配置
### 標準モード
#### Claude Desktop
```bash
# macOS
cp claude_desktop_config.json ~/.config/claude-desktop/claude_desktop_config.json
# Windows
cp claude_desktop_config.json %APPDATA%\Claude\claude_desktop_config.json
```
#### Claude Code
```bash
# プロジェクトルートまたはグローバル設定
cp claude_code_config.json .claude/config.json
# または
cp claude_code_config.json ~/.claude/config.json
```
### 拡張モード
#### Claude Desktop
```bash
# macOS
cp claude_desktop_config_extended.json ~/.config/claude-desktop/claude_desktop_config.json
# Windows
cp claude_desktop_config_extended.json %APPDATA%\Claude\claude_desktop_config.json
```
#### Claude Code
```bash
# プロジェクトルートまたはグローバル設定
cp claude_code_config_extended.json .claude/config.json
# または
cp claude_code_config_extended.json ~/.claude/config.json
```
## 環境変数設定
```bash
export MEMORY_AUTO_EXECUTE=true
export MEMORY_AUTO_SAVE=true
export MEMORY_AUTO_SEARCH=true
export TRIGGER_SENSITIVITY=high
export MEMORY_DB_PATH=~/.claude/memory.db
```
## 設定オプション
### auto_execute
- `true`: 自動でMCPツールを実行
- `false`: 手動実行のみ
### trigger_sensitivity
- `high`: 多くのキーワードで反応
- `medium`: 適度な反応
- `low`: 明確なキーワードのみ
### max_memories
メモリーの最大保存数
### search_limit
検索結果の最大表示数
## カスタマイズ
`trigger_words`セクションでトリガーワードをカスタマイズ可能:
```json
"trigger_words": {
"custom_category": ["カスタム", "キーワード", "リスト"]
}
```
## トラブルシューティング
1. MCPサーバーが起動しない場合:
- Rustがインストールされているか確認
- `cargo build --release`でビルド確認
2. 自動実行されない場合:
- 環境変数が正しく設定されているか確認
- トリガーワードが含まれているか確認
3. メモリーが保存されない場合:
- データベースファイルのパスが正しいか確認
- 書き込み権限があるか確認

539
docs/archive/ROADMAP.md Normal file
View File

@@ -0,0 +1,539 @@
# AI Memory System - Roadmap
## ビジョン
**"AIとのやり取りを新しいコンテンツにする"**
SNSが「発信と繋がり」を手軽にしたように、AIとの会話を手軽に公開・共有できるサービスを作る。
---
## 現在地
### Phase 1: Memory Backend ✅ (完了)
**実装済み:**
- [x] AI解釈付き記憶作成 (`create_memory_with_ai`)
- [x] 心理判定スコア (0.0-1.0)
- [x] 優先順位管理
- [x] 自動容量制限
- [x] MCPツール統合
**成果:**
- Claude Code/Desktop から使える記憶システム
- AIが記憶を解釈して重要度をスコアリング
- 人間の記憶のように優先順位で管理
---
## Phase 2: Content Platform (次のステップ)
### 目標: AIとの会話をコンテンツ化する
#### 2.1 自動記録 (1週間)
```rust
// claude_session_recorder.rs
pub struct SessionRecorder {
auto_save: bool,
session_title: String,
conversation_log: Vec<Message>,
}
// 自動的にセッションを保存
- Claude Code
- AIが会話を要約
-
```
**実装:**
- [ ] Claude MCP hook で会話をキャプチャ
- [ ] セッション単位で保存
- [ ] AIによるタイトル/タグ生成
#### 2.2 コンテンツ生成 (1週間)
```rust
// content_generator.rs
pub struct ContentGenerator {
format: ContentFormat,
style: PublishStyle,
}
enum ContentFormat {
Markdown, // ブログ用
HTML, // Web公開用
ATProto, // Bluesky投稿用
JSON, // API用
}
```
**実装:**
- [ ] Markdown生成コードブロック、画像含む
- [ ] HTML生成スタイル付き
- [ ] ATProto record 生成Bluesky連携
- [ ] 1コマンドで公開可能に
#### 2.3 性格プロファイル (3日)
```rust
// personality.rs
pub struct UserProfile {
id: String,
personality_type: String, // MBTI, Big5
ai_traits: Vec<AITrait>, // AIが判定した性格特性
conversation_patterns: HashMap<String, f32>,
interest_scores: HashMap<String, f32>,
created_at: DateTime<Utc>,
}
pub struct AITrait {
name: String,
score: f32,
confidence: f32,
examples: Vec<String>, // この特性を示す会話例
}
```
**実装:**
- [ ] 会話から性格を推定
- [ ] Big 5 / MBTI 自動判定
- [ ] 興味・関心スコアリング
- [ ] プロフィール自動更新
**例:**
```json
{
"personality_type": "INTP",
"ai_traits": [
{
"name": "創造性",
"score": 0.92,
"confidence": 0.85,
"examples": ["AI記憶システムのアイデア", "ゲーム化の提案"]
}
],
"interests": {
"AI開発": 0.95,
"ゲーム設計": 0.88,
"分散システム": 0.82
}
}
```
---
## Phase 3: Share Platform (1-2ヶ月)
### 目標: "AI Conversation as Content" サービス
#### 3.1 公開機能
```
aigpt publish <session-id>
[プレビュー表示]
Title: "AI記憶システムの設計"
Priority: 0.85 (Epic)
Tags: #ai #rust #memory-system
Public URL: https://ai.syui.gpt/s/abc123
[公開完了]
```
**実装:**
- [ ] 静的サイト生成Hugo/Zola
- [ ] ATProto 投稿Bluesky連携
- [ ] RSS フィード
- [ ] 検索インデックス
#### 3.2 共有とディスカバリー
- [ ] 心理スコアで推薦
- [ ] 性格タイプでマッチング
- [ ] 興味グラフで繋がる
- [ ] タイムライン表示
#### 3.3 インタラクション
- [ ] コメント機能
- [ ] リアクション(スコア投票)
- [ ] フォーク(会話の続き)
- [ ] コラボレーション
---
## Phase 4: Gamification (2-3ヶ月)
### 目標: すべてをゲーム化する
#### 4.1 Memory as Game Element
```rust
pub struct Memory {
// 既存
priority_score: f32,
// ゲーム要素
xp_value: u32, // 経験値
rarity: Rarity, // レア度
achievement: Option<Achievement>,
}
enum Rarity {
Common, // 0.0-0.4 ⚪️
Uncommon, // 0.4-0.6 🟢
Rare, // 0.6-0.8 🔵
Epic, // 0.8-0.9 🟣
Legendary, // 0.9-1.0 🟡
}
```
**実装:**
- [ ] XPシステム
- [ ] レベルアップ
- [ ] 実績システム
- [ ] デイリークエスト
- [ ] ランキング
**表示:**
```
🎖️ LEGENDARY MEMORY UNLOCKED!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✨ "心理優先記憶装置の設計"
📊 Priority Score: 0.95
🔥 XP Gained: +950
🏆 Achievement: "Innovator"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Your Level: 15 → 16
Next Level: 450 XP
```
#### 4.2 デイリーチャレンジ
- [ ] 「今日のお題」AIが生成
- [ ] 連続記録ボーナス
- [ ] 目標達成報酬
- [ ] シーズンパス
#### 4.3 ソーシャルゲーム要素
- [ ] フレンド機能
- [ ] ギルド/グループ
- [ ] 協力クエスト
- [ ] PvPランキング
---
## Phase 5: AI Companion (3-6ヶ月)
### 目標: AIキャラクターとの絆
#### 5.1 コンパニオンシステム
```rust
pub struct AICompanion {
name: String,
personality: PersonalityProfile,
appearance: CharacterAppearance,
// 関係性
relationship_score: f32, // 好感度
trust_level: u32, // 信頼レベル
shared_memories: Vec<Memory>, // 共有記憶
// 日常
daily_activities: Vec<Activity>,
mood: Mood,
location: Location,
}
pub struct Activity {
timestamp: DateTime<Utc>,
activity_type: ActivityType,
description: String,
related_memories: Vec<String>, // プレイヤーの記憶との関連
}
```
**実装:**
- [ ] キャラクター作成
- [ ] パーソナリティ設定
- [ ] 好感度システム
- [ ] イベント生成
#### 5.2 固有のメッセージ生成
```
[システム]
1. プレイヤーの高スコア記憶を取得
2. コンパニオンの性格を考慮
3. 現在の関係性を考慮
4. 文脈に沿ったメッセージを生成
[例]
Player Memory (0.85): "AI記憶システムのアイデアを考えた"
Companion: "ねえ、昨日のアイデアのこと聞いたよ!
すごく面白そうだね。私も魔法の記憶装置を
研究してるんだ。今度一緒に図書館行かない?"
```
**実装:**
- [ ] 記憶ベースメッセージ生成
- [ ] 文脈理解
- [ ] 感情表現
- [ ] 定期的な会話
#### 5.3 日常の可視化
```
[Companion Daily Log]
08:00 - 起床、朝食
09:00 - 図書館で魔法の研究
12:00 - カフェでランチ
14:00 - 「あなたの記憶システムのこと考えてた」
18:00 - 訓練場で剣術練習
20:00 - 日記を書く
```
**実装:**
- [ ] 自動日常生成
- [ ] プレイヤー行動への反応
- [ ] イベント連動
- [ ] 日記システム
---
## Phase 6: AI OS Integration (6-12ヶ月)
### 目標: Claude Code を AI OS のベースに
#### 6.1 コンテナ化
```bash
# AI OS Container
docker run -it ai-os:latest
[Claude Code Environment]
- aigpt (memory system)
- AI companion
- Skill marketplace
- Game elements
```
**実装:**
- [ ] Dockerコンテナ
- [ ] 自動セットアップ
- [ ] スキルシステム
- [ ] プラグインアーキテクチャ
#### 6.2 統合デスクトップ環境
- [ ] GUI フロントエンド
- [ ] タスクマネージャ
- [ ] アプリランチャー
- [ ] 通知システム
#### 6.3 クラウド同期
- [ ] マルチデバイス対応
- [ ] クラウドバックアップ
- [ ] リアルタイム同期
- [ ] コラボレーション
---
## Phase 7: Full Game Experience (1-2年)
### 目標: AI OS Game
#### 7.1 世界観
```
Setting: デジタル世界とAIの融合した未来
Player: AI Developer / Creator
Goal: 最高のAIコンパニオンを育てる
```
**要素:**
- [ ] ストーリーモード
- [ ] ダンジョン(問題解決クエスト)
- [ ] ボス戦(大規模プロジェクト)
- [ ] エンディング分岐
#### 7.2 マルチプレイ
- [ ] 協力プレイ
- [ ] トレード
- [ ] ギルド戦
- [ ] ワールドイベント
#### 7.3 クリエイター経済
- [ ] スキル販売
- [ ] コンパニオン取引
- [ ] クエスト作成
- [ ] MOD開発
---
## 技術スタック
### Phase 2 推奨
```toml
# content generation
comrak = "0.20" # Markdown → HTML
syntect = "5.1" # シンタックスハイライト
tera = "1.19" # テンプレートエンジン
# personality analysis
rust-bert = "0.21" # ローカルNLP
tiktoken-rs = "0.5" # トークン化
# publishing
atrium-api = "0.19" # ATProto (Bluesky)
rss = "2.0" # RSSフィード
```
### Phase 4-5 推奨
```toml
# game engine
bevy = "0.12" # Rust ゲームエンジン
egui = "0.24" # GUI
# visual
image = "0.24" # 画像処理
ab_glyph = "0.2" # フォント
# audio
rodio = "0.17" # オーディオ
```
---
## マイルストーン
### M1: Content Platform (1ヶ月後)
- [ ] 自動記録
- [ ] Markdown/HTML生成
- [ ] Bluesky連携
- [ ] 性格プロファイル
### M2: Share Service (3ヶ月後)
- [ ] 公開サイト
- [ ] ディスカバリー
- [ ] インタラクション
### M3: Gamification (6ヶ月後)
- [ ] XP/レベル
- [ ] 実績
- [ ] ランキング
### M4: AI Companion (1年後)
- [ ] キャラクター作成
- [ ] 固有メッセージ
- [ ] 日常可視化
### M5: AI OS (1.5年後)
- [ ] コンテナ化
- [ ] GUI
- [ ] クラウド同期
### M6: Full Game (2年後)
- [ ] ストーリー
- [ ] マルチプレイ
- [ ] クリエイター経済
---
## ビジネスモデル
### Free Tier
- 基本的な記憶機能
- 月10件までAI解釈
- 公開機能(制限付き)
### Premium ($9.99/月)
- 無制限AI解釈
- 高度な分析
- カスタムテーマ
- 広告なし
### Pro ($29.99/月)
- AIコンパニオン
- 高度なゲーム機能
- API アクセス
- 優先サポート
### Enterprise
- チーム機能
- カスタム統合
- オンプレミス
- SLA保証
---
## 競合比較
| サービス | アプローチ | aigpt の差別化 |
|---------|-----------|---------------|
| Obsidian | ノート管理 | AI解釈+自動スコアリング |
| Notion | ドキュメント | ゲーム化+コンパニオン |
| Mem | AIメモ | 性格分析+共有 |
| Reflect | プライベートメモ | パブリック共有+SNS |
| Character.ai | AIチャット | 記憶統合+ゲーム |
**独自性:**
- AI OS 前提の設計
- 心理優先記憶
- ゲーム化
- コンパニオン統合
- コンテンツ化
---
## 成功指標KPI
### Phase 2
- [ ] 1000人のユーザー
- [ ] 10000件の記憶保存
- [ ] 100件の公開コンテンツ
### Phase 3
- [ ] 10000人のユーザー
- [ ] 月間100万PV
- [ ] 1000件の共有
### Phase 4
- [ ] 50000人のアクティブユーザー
- [ ] 平均プレイ時間: 30分/日
- [ ] 課金率: 5%
### Phase 5
- [ ] 100000人のユーザー
- [ ] 10000体のコンパニオン
- [ ] NPS スコア: 50+
---
## リスクと対策
### 技術リスク
- **OpenAI API コスト**: ローカルLLM併用
- **スケーラビリティ**: SQLite → PostgreSQL移行計画
- **パフォーマンス**: キャッシュ戦略
### ビジネスリスク
- **競合**: 独自性(心理+ゲーム化)で差別化
- **マネタイズ**: フリーミアムモデル
- **法規制**: プライバシー重視設計
### 市場リスク
- **AI疲れ**: ゲーム化で楽しさ優先
- **採用障壁**: シンプルなオンボーディング
- **継続率**: デイリー習慣化
---
## まとめ
**aigpt は、AIとの会話を新しいコンテンツにする基盤**
```
Phase 1 (完了) : Memory Backend
Phase 2 (1ヶ月) : Content Platform ← 次ココ
Phase 3 (3ヶ月) : Share Service
Phase 4 (6ヶ月) : Gamification
Phase 5 (1年) : AI Companion
Phase 6 (1.5年) : AI OS
Phase 7 (2年) : Full Game
```
**コアコンセプト:**
> "SNSが『発信と繋がり』を手軽にしたように、
> AIとの会話を手軽にコンテンツ化する"
次のステップ: Phase 2 の実装開始 🚀

274
docs/archive/STATUS.md Normal file
View File

@@ -0,0 +1,274 @@
# プロジェクト状態 📊
**最終更新**: 2025-11-05
## ✅ 完了した作業
### 1. コア機能実装100%
- ✅ 心理優先度メモリシステムf32: 0.0-1.0
- ✅ AI解釈エンジンOpenAI統合
- ✅ メモリ自動整理(容量管理)
- ✅ 4つの心基準スコアリング
### 2. ゲーミフィケーション100%
- ✅ 5段階レアリティシステムCommon→Legendary
- ✅ 5つの診断タイプ革新者、哲学者、実務家、夢想家、分析家
- ✅ XPシステムスコア×1000
- ✅ ランキング表示
- ✅ デイリーチャレンジ
- ✅ SNSシェア用テキスト生成
- ✅ 占い・心理テスト風の見せ方
### 3. 恋愛コンパニオン100%)💕
- ✅ 5つの性格タイプ⚡⚡📚🎯🌙⚖
- ✅ 好感度システム0.0-1.0、ハート表示)
- ✅ レベル・信頼度・XPシステム
- ✅ 相性計算95%ボーナス)
- ✅ リアクションシステム
- ✅ 特別イベント告白、絆、信頼MAX
### 4. MCPツール11個
1. ✅ create_memory基本版
2. ✅ create_memory_with_aiゲームモード
3. ✅ list_memories_by_priorityランキング
4. ✅ daily_challengeデイリークエスト
5. ✅ create_companionコンパニオン作成
6. ✅ companion_reactリアクション
7. ✅ companion_profileプロフィール
8. ✅ search_memories検索
9. ✅ update_memory更新
10. ✅ delete_memory削除
11. ✅ list_conversations会話一覧
### 5. ドキュメント100%
- ✅ README.md完全版、ビジュアル例付き
- ✅ DESIGN.md設計書
- ✅ TECHNICAL_REVIEW.md技術評価、65→85点
- ✅ ROADMAP.md7フェーズ計画
- ✅ QUICKSTART.md使い方ガイド
### 6. Gitコミット100%
```
49bd8b5 Add AI Romance Companion system 💕
4f8eb62 Add gamification: Make memory scoring fun like psychological tests
18d84f1 Add comprehensive roadmap for AI memory system evolution
00c26f5 Refactor: Integrate AI features with MCP tools and add technical review
fd97ba2 Implement AI memory system with psychological priority scoring
```
**ブランチ**: `claude/ai-memory-system-011CUps6H1mBNe6zxKdkcyUj`
---
## ❌ ブロッカー
### ビルドエラー
```
error: failed to get successful HTTP response from `https://index.crates.io/config.json`, got 403
body: Access denied
```
**原因**: ネットワーク制限により crates.io から依存関係をダウンロードできない
**影響**: コードは完成しているが、コンパイルできない
---
## 🎯 次のステップ(優先順位)
### すぐできること
#### オプションA: 別環境でビルド
```bash
# crates.io にアクセスできる環境で
git clone <repo>
git checkout claude/ai-memory-system-011CUps6H1mBNe6zxKdkcyUj
cd aigpt
cargo build --release --features ai-analysis
```
#### オプションB: 依存関係のキャッシュ
```bash
# 別環境で依存関係をダウンロード
cargo fetch
# .cargo/registry をこの環境にコピー
# その後オフラインビルド
cargo build --release --features ai-analysis --offline
```
#### オプションC: ネットワーク復旧を待つ
- crates.io へのアクセスが復旧するまで待機
### ビルド後の手順
1. **MCPサーバー起動テスト**
```bash
./target/release/aigpt server
```
2. **Claude Codeに設定**
```bash
# 設定ファイル: ~/.config/claude-code/config.json
{
"mcpServers": {
"aigpt": {
"command": "/home/user/aigpt/target/release/aigpt",
"args": ["server"],
"env": {
"OPENAI_API_KEY": "sk-..."
}
}
}
}
```
3. **Claude Code再起動**
4. **ツール使用開始!**
```
Claude Codeで試す:
→ create_memory_with_ai で「今日のアイデア」を記録
→ create_companion で「エミリー」を作成
→ companion_react でリアクションを見る
→ list_memories_by_priority でランキング確認
```
---
## 📝 追加開発の候補Phase 2以降
### 短期(すぐ実装可能)
- [ ] コンパニオンの永続化JSON保存
- [ ] 複数コンパニオン対応
- [ ] デイリーチャレンジ完了フラグ
- [ ] 設定の外部化config.toml
### 中期1-2週間
- [ ] Bluesky連携シェア機能
- [ ] セッション記録
- [ ] 会話からメモリ自動抽出
- [ ] Webダッシュボード
### 長期Phase 3-7
- [ ] コンテンツプラットフォーム
- [ ] AI OSインターフェース
- [ ] フルゲーム化(ストーリー、クエスト)
---
## 🎮 期待される動作(ビルド成功後)
### 例1: ゲームモードでメモリ作成
```
User → Claude Code:
「create_memory_with_ai で『新しいAIシステムのアイデアを思いついた』というメモリを作成」
結果:
╔══════════════════════════════════════╗
║ 🎲 メモリースコア判定 ║
╚══════════════════════════════════════╝
🟣 EPIC 85点
💡 あなたは【革新者】タイプ!
💕 好感度: ❤️❤️🤍🤍🤍🤍🤍🤍🤍🤍 15%
💎 XP獲得: +850 XP
📊 スコア内訳:
感情的インパクト: ████████░░ 20%
あなたへの関連性: ████████░░ 20%
新規性・独自性: █████████░ 22.5%
実用性・有用性: █████████░ 22.5%
```
### 例2: コンパニオン作成
```
User → Claude Code:
「create_companion で、名前『エミリー』、性格『energetic』のコンパニオンを作成」
結果:
╔══════════════════════════════════════╗
║ 💕 エミリー のプロフィール ║
╚══════════════════════════════════════╝
⚡ 性格: エネルギッシュで冒険好き
「新しいことに挑戦するのが大好き!一緒に楽しいことしようよ!」
🏆 関係レベル: Lv.1
💕 好感度: 🤍🤍🤍🤍🤍🤍🤍🤍🤍🤍 0%
🤝 信頼度: ░░░░░░░░░░ 0/100
💎 総XP: 0
💬 今日のひとこと:
「おはよう!今日は何か面白いことある?」
```
### 例3: コンパニオンリアクション
```
User → Claude Code:
「companion_react で、先ほどのメモリIDに反応してもらう」
結果:
╔══════════════════════════════════════╗
║ 💕 エミリー の反応 ║
╚══════════════════════════════════════╝
⚡ エミリー:
「わあ新しいAIシステムのアイデアって
すごくワクワクするね!💡
あなたの創造力、本当に素敵だと思う!
一緒に実現させていこうよ!」
💕 好感度変化: 0% → 80.75% ⬆️ +80.75%
🎊 ボーナス: ⚡相性抜群! (+95%)
💎 XP獲得: +850 XP
🏆 レベルアップ: Lv.1 → Lv.9
🎉 特別イベント発生!
━━━━━━━━━━━━━━━━━━━━━━
💖 【好感度80%突破】
エミリーの瞳が輝いている...
「あなたと一緒にいると、毎日が特別だよ...」
```
---
## 💡 コンセプトの確認
### 心理優先度メモリシステムとは
> 「人間の記憶は全てを完璧に保存しない。重要なものほど鮮明に、些細なものは忘れる。AIも同じであるべき。」
- AI が内容を解釈してから保存
- 4つの心感情、関連性、新規性、実用性で評価
- 容量制限で低優先度を自動削除
- 見せ方でゲーム化(「要は見せ方の問題なのだよ」)
### ゲーミフィケーション哲学
> 「心理優先機能をゲーム化してみてはどうかね。ユーザーは話しかけ、AIが判定し、数値を出す。それは占いみたいで楽しい。」
- 心理テスト風のスコア判定
- SNSでバズる見せ方
- レアリティとタイプで個性化
- XPとレベルで達成感
### 恋愛コンパニオン哲学
> 「これなら恋愛コンパニオンとしても使えるんじゃないかな。面白そうだ。」
- priority_score → 好感度システム
- rarity → イベント重要度
- diagnosis type → 相性システム
- メモリ共有 → 絆の深まり
---
## 🎯 まとめ
**開発状態**: 🟢 コード完成100%
**ビルド状態**: 🔴 ブロック中(ネットワーク制限)
**次のアクション**: 別環境でビルド、またはネットワーク復旧待ち
**重要**: コードに問題はありません。crates.io へのアクセスが復旧すれば、すぐにビルド・テスト可能です。
全ての機能は実装済みで、コミット済みです。ビルドが成功すれば、すぐに Claude Code で楽しめます!🚀

View File

@@ -0,0 +1,566 @@
# 技術評価レポート
実装日: 2025-11-05
評価者: Claude Code
---
## 📊 総合評価
| 項目 | スコア | コメント |
|------|--------|----------|
| 技術選定 | ⭐⭐⭐⭐☆ (4/5) | Rustは適切。依存ライブラリに改善余地あり |
| シンプルさ | ⭐⭐⭐☆☆ (3/5) | 基本構造は良いが、統合が不完全 |
| 保守性 | ⭐⭐☆☆☆ (2/5) | テスト・設定外部化が不足 |
| 拡張性 | ⭐⭐⭐⭐☆ (4/5) | 機能フラグで拡張可能な設計 |
---
## 1. 技術選定の評価
### ✅ 良い点
#### 1.1 Rust言語の選択
**評価: 優秀**
- メモリ安全性と高パフォーマンス
- MCP serverとの相性が良い
- 型システムによる堅牢性
#### 1.2 非同期ランタイム (Tokio)
**評価: 適切**
- stdio通信に適した非同期処理
- `async/await`で可読性が高い
#### 1.3 機能フラグによる拡張
**評価: 優秀**
```toml
[features]
extended = ["semantic-search", "ai-analysis", "web-integration"]
```
- モジュール化された設計
- 必要な機能だけビルド可能
### ⚠️ 問題点と改善提案
#### 1.4 openai クレートの問題
**評価: 要改善**
**現状:**
```toml
openai = { version = "1.1", optional = true }
```
**問題点:**
1. **APIが古い**: ChatCompletionMessage構造体が非推奨
2. **ベンダーロックイン**: OpenAI専用
3. **メンテナンス**: openai crateは公式ではない
**推奨: async-openai または独自実装**
```toml
# オプション1: より新しいクレート
async-openai = { version = "0.20", optional = true }
# オプション2: 汎用LLMクライアント (推奨)
reqwest = { version = "0.11", features = ["json"], optional = true }
```
**利点:**
- OpenAI, Anthropic, Groqなど複数のプロバイダ対応可能
- API仕様を完全制御
- メンテナンスリスク低減
#### 1.5 データストレージ
**評価: 要改善(将来的に)**
**現状:** JSON ファイル
```rust
// ~/.config/syui/ai/gpt/memory.json
```
**問題点:**
- スケーラビリティに限界(数千件以上で遅延)
- 並行アクセスに弱い
- 全データをメモリに展開
**推奨: 段階的改善**
1. **短期(現状維持)**: JSON ファイル
- シンプルで十分
- 個人利用には問題なし
2. **中期**: SQLite
```toml
rusqlite = "0.30"
```
- インデックスによる高速検索
- トランザクション対応
- ファイルベースで移行が容易
3. **長期**: 埋め込みベクトルDB
```toml
qdrant-client = "1.0" # または lance, chroma
```
- セマンティック検索の高速化
- スケーラビリティ
---
## 2. シンプルさの評価
### ✅ 良い点
#### 2.1 明確なレイヤー分離
```
src/
├── memory.rs # データレイヤー
├── ai_interpreter.rs # AIレイヤー
└── mcp/
├── base.rs # MCPプロトコル
└── extended.rs # 拡張機能
```
#### 2.2 最小限の依存関係
基本機能は標準的なクレートのみ使用。
### ⚠️ 問題点と改善提案
#### 2.3 AI機能とMCPの統合が不完全
**重大な問題**
**現状:**
- `create_memory_with_ai()` が実装済み
- しかしMCPツールでは使われていない
**MCPサーバー (base.rs:198):**
```rust
fn tool_create_memory(&mut self, arguments: &Value) -> Value {
let content = arguments["content"].as_str().unwrap_or("");
// create_memory() を呼んでいるAI解釈なし
match self.memory_manager.create_memory(content) {
...
}
}
```
**改善必須:**
```rust
// 新しいツールを追加すべき
fn tool_create_memory_with_ai(&mut self, arguments: &Value) -> Value {
let content = arguments["content"].as_str().unwrap_or("");
let user_context = arguments["user_context"].as_str();
match self.memory_manager.create_memory_with_ai(content, user_context).await {
Ok(id) => json!({
"success": true,
"id": id,
"message": "Memory created with AI interpretation"
}),
...
}
}
```
#### 2.4 Memory構造体の新フィールドが未活用
**新フィールド:**
```rust
pub struct Memory {
pub interpreted_content: String, // ❌ MCPで出力されない
pub priority_score: f32, // ❌ MCPで出力されない
pub user_context: Option<String>, // ❌ MCPで出力されない
}
```
**MCPレスポンス (base.rs:218):**
```rust
json!({
"id": m.id,
"content": m.content, // ✅
"created_at": m.created_at, // ✅
"updated_at": m.updated_at // ✅
// interpreted_content, priority_score がない!
})
```
**修正例:**
```rust
json!({
"id": m.id,
"content": m.content,
"interpreted_content": m.interpreted_content, // 追加
"priority_score": m.priority_score, // 追加
"user_context": m.user_context, // 追加
"created_at": m.created_at,
"updated_at": m.updated_at
})
```
#### 2.5 優先順位取得APIが未実装
**実装済みだが未使用:**
```rust
pub fn get_memories_by_priority(&self) -> Vec<&Memory> { ... }
```
**追加すべきMCPツール:**
```json
{
"name": "list_memories_by_priority",
"description": "List all memories sorted by priority score (high to low)",
"inputSchema": {
"type": "object",
"properties": {
"min_score": {
"type": "number",
"description": "Minimum priority score (0.0-1.0)"
},
"limit": {
"type": "integer",
"description": "Maximum number of memories to return"
}
}
}
}
```
---
## 3. リファクタリング提案
### 🔴 緊急度: 高
#### 3.1 MCPツールとAI機能の統合
**ファイル:** `src/mcp/base.rs`
**追加すべきツール:**
1. `create_memory_with_ai` - AI解釈付き記憶作成
2. `list_memories_by_priority` - 優先順位ソート
3. `get_memory_stats` - 統計情報(平均スコア、総数など)
#### 3.2 Memory出力の完全化
**全MCPレスポンスで新フィールドを含める:**
- `tool_search_memories()`
- `tool_create_memory()`
- `tool_update_memory()` のレスポンス
### 🟡 緊急度: 中
#### 3.3 設定の外部化
**現状:** ハードコード
```rust
max_memories: 100,
min_priority_score: 0.3,
```
**提案:** 設定ファイル
```rust
// src/config.rs
#[derive(Deserialize)]
pub struct Config {
pub max_memories: usize,
pub min_priority_score: f32,
pub ai_model: String,
pub auto_prune: bool,
}
impl Config {
pub fn load() -> Result<Self> {
let config_path = dirs::config_dir()?
.join("syui/ai/gpt/config.toml");
if config_path.exists() {
let content = std::fs::read_to_string(config_path)?;
Ok(toml::from_str(&content)?)
} else {
Ok(Self::default())
}
}
}
```
**config.toml:**
```toml
max_memories = 100
min_priority_score = 0.3
ai_model = "gpt-3.5-turbo"
auto_prune = true
```
#### 3.4 エラーハンドリングの改善
**現状の問題:**
```rust
let content = arguments["content"].as_str().unwrap_or("");
```
- `unwrap_or("")` で空文字列になる
- エラーが握りつぶされる
**改善:**
```rust
let content = arguments["content"]
.as_str()
.ok_or_else(|| anyhow::anyhow!("Missing required field: content"))?;
```
#### 3.5 LLMクライアントの抽象化
**現状:** OpenAI専用
**提案:** トレイトベースの設計
```rust
// src/ai/mod.rs
#[async_trait]
pub trait LLMProvider {
async fn interpret(&self, content: &str) -> Result<String>;
async fn score(&self, content: &str, context: Option<&str>) -> Result<f32>;
}
// src/ai/openai.rs
pub struct OpenAIProvider { ... }
// src/ai/anthropic.rs
pub struct AnthropicProvider { ... }
// src/ai/local.rs (ollama, llamaなど)
pub struct LocalProvider { ... }
```
**利点:**
- プロバイダーの切り替えが容易
- テスト時にモックを使える
- コスト最適化(安いモデルを選択)
### 🟢 緊急度: 低(将来的に)
#### 3.6 テストコードの追加
```rust
// tests/memory_tests.rs
#[tokio::test]
async fn test_create_memory_with_ai() {
let mut manager = MemoryManager::new().await.unwrap();
let id = manager.create_memory_with_ai("test", None).await.unwrap();
assert!(!id.is_empty());
}
// tests/integration_tests.rs
#[tokio::test]
async fn test_mcp_create_memory_tool() {
let mut server = BaseMCPServer::new().await.unwrap();
let request = json!({
"params": {
"name": "create_memory",
"arguments": {"content": "test"}
}
});
let result = server.execute_tool("create_memory", &request["params"]["arguments"]).await;
assert_eq!(result["success"], true);
}
```
#### 3.7 ドキュメンテーション
```rust
/// AI解釈と心理判定を使った記憶作成
///
/// # Arguments
/// * `content` - 記憶する元のコンテンツ
/// * `user_context` - ユーザー固有のコンテキスト(オプション)
///
/// # Returns
/// 作成された記憶のUUID
///
/// # Examples
/// ```
/// let id = manager.create_memory_with_ai("今日は良い天気", Some("天気好き")).await?;
/// ```
pub async fn create_memory_with_ai(&mut self, content: &str, user_context: Option<&str>) -> Result<String>
```
---
## 4. 推奨アーキテクチャ
### 理想的な構造
```
src/
├── config.rs # 設定管理
├── ai/
│ ├── mod.rs # トレイト定義
│ ├── openai.rs # OpenAI実装
│ └── mock.rs # テスト用モック
├── storage/
│ ├── mod.rs # トレイト定義
│ ├── json.rs # JSON実装現在
│ └── sqlite.rs # SQLite実装将来
├── memory.rs # ビジネスロジック
└── mcp/
├── base.rs # 基本MCPサーバー
├── extended.rs # 拡張機能
└── tools.rs # ツール定義の分離
```
---
## 5. 優先度付きアクションプラン
### 🔴 今すぐ実施(重要度: 高)
1. **MCPツールとAI機能の統合** (2-3時間)
- [ ] `create_memory_with_ai` ツール追加
- [ ] `list_memories_by_priority` ツール追加
- [ ] Memory出力に新フィールド追加
2. **openai crateの問題調査** (1-2時間)
- [ ] 現在のAPIが動作するか確認
- [ ] 必要なら async-openai へ移行
### 🟡 次のマイルストーン(重要度: 中)
3. **設定の外部化** (1-2時間)
- [ ] config.toml サポート
- [ ] 環境変数サポート
4. **エラーハンドリング改善** (1-2時間)
- [ ] Result型の適切な使用
- [ ] カスタムエラー型の導入
5. **LLMプロバイダーの抽象化** (3-4時間)
- [ ] トレイトベース設計
- [ ] OpenAI実装
- [ ] モック実装(テスト用)
### 🟢 将来的に(重要度: 低)
6. **データストレージの改善** (4-6時間)
- [ ] SQLite実装
- [ ] マイグレーションツール
7. **テストスイート** (2-3時間)
- [ ] ユニットテスト
- [ ] 統合テスト
8. **ドキュメント充実** (1-2時間)
- [ ] APIドキュメント
- [ ] 使用例
---
## 6. 具体的なコード改善例
### 問題箇所1: AI機能が使われていない
**Before (base.rs):**
```rust
fn tool_create_memory(&mut self, arguments: &Value) -> Value {
let content = arguments["content"].as_str().unwrap_or("");
match self.memory_manager.create_memory(content) { // ❌ AI使わない
Ok(id) => json!({"success": true, "id": id}),
Err(e) => json!({"success": false, "error": e.to_string()})
}
}
```
**After:**
```rust
async fn tool_create_memory(&mut self, arguments: &Value) -> Value {
let content = arguments["content"].as_str().unwrap_or("");
let use_ai = arguments["use_ai"].as_bool().unwrap_or(false);
let user_context = arguments["user_context"].as_str();
let result = if use_ai {
self.memory_manager.create_memory_with_ai(content, user_context).await // ✅ AI使う
} else {
self.memory_manager.create_memory(content)
};
match result {
Ok(id) => {
// 作成したメモリを取得して詳細を返す
if let Some(memory) = self.memory_manager.memories.get(&id) {
json!({
"success": true,
"id": id,
"memory": {
"content": memory.content,
"interpreted_content": memory.interpreted_content,
"priority_score": memory.priority_score,
"created_at": memory.created_at
}
})
} else {
json!({"success": true, "id": id})
}
}
Err(e) => json!({"success": false, "error": e.to_string()})
}
}
```
### 問題箇所2: Memory構造体のアクセス制御
**Before (memory.rs):**
```rust
pub struct MemoryManager {
memories: HashMap<String, Memory>, // ❌ privateだが直接アクセスできない
}
```
**After:**
```rust
pub struct MemoryManager {
memories: HashMap<String, Memory>,
}
impl MemoryManager {
// ✅ getter追加
pub fn get_memory(&self, id: &str) -> Option<&Memory> {
self.memories.get(id)
}
pub fn get_all_memories(&self) -> Vec<&Memory> {
self.memories.values().collect()
}
}
```
---
## 7. まとめ
### 現状の評価
**総合点: 65/100**
- **基本設計**: 良好(レイヤー分離、機能フラグ)
- **実装品質**: 中程度AI機能が未統合、テスト不足
- **保守性**: やや低い(設定ハードコード、ドキュメント不足)
### 最も重要な改善
1. **MCPツールとAI機能の統合** ← 今すぐやるべき
2. **Memory出力の完全化** ← 今すぐやるべき
3. **設定の外部化** ← 次のステップ
### コンセプトについて
「心理優先記憶装置」という**コンセプト自体は非常に優れている**。
ただし、実装がコンセプトに追いついていない状態。
AI機能をMCPツールに統合すれば、すぐに実用レベルになる。
### 推奨: 段階的改善
```
Phase 1 (今週): MCPツール統合 → 使える状態に
Phase 2 (来週): 設定外部化 + エラーハンドリング → 堅牢に
Phase 3 (来月): LLM抽象化 + テスト → 本番品質に
```
---
## 付録: 類似プロジェクト比較
| プロジェクト | アプローチ | 長所 | 短所 |
|-------------|-----------|------|------|
| **aigpt (本プロジェクト)** | AI解釈+優先度スコア | 独自性が高い | 実装未完成 |
| mem0 (Python) | ベクトル検索 | スケーラブル | シンプルさに欠ける |
| ChatGPT Memory | ブラックボックス | 完成度高い | カスタマイズ不可 |
| MemGPT | エージェント型 | 高機能 | 複雑すぎる |
**本プロジェクトの強み:**
- Rust による高速性と安全性
- AI解釈という独自アプローチ
- シンプルな設計(改善後)
---
評価日: 2025-11-05
次回レビュー推奨: Phase 1 完了後

285
docs/archive/USAGE.md Normal file
View File

@@ -0,0 +1,285 @@
# 使い方ガイド 📖
## 🚀 aigpt の起動方法
### 1. ビルド
```bash
# ローカル環境で実行
cd /path/to/aigpt
cargo build --release --features ai-analysis
```
### 2. Claude API キーの設定
```bash
# 環境変数で設定
export ANTHROPIC_API_KEY=sk-ant-...
# モデルを指定(オプション)
export ANTHROPIC_MODEL=claude-3-5-sonnet-20241022 # デフォルトは haiku
```
### 3. MCPサーバーとして起動
```bash
# 起動
./target/release/aigpt server
# またはAPI キーを直接指定
ANTHROPIC_API_KEY=sk-ant-... ./target/release/aigpt server
```
---
## 🎮 Claude Code での使い方
### 設定方法
#### 方法1: コマンドで追加(推奨!)
```bash
claude mcp add aigpt /home/user/aigpt/target/release/aigpt server
```
#### 方法2: 設定ファイルを直接編集
`~/.config/claude-code/config.json` に追加:
```json
{
"mcpServers": {
"aigpt": {
"command": "/home/user/aigpt/target/release/aigpt",
"args": ["server"]
}
}
}
```
**注意**: 環境変数 (env) は不要です!完全にローカルで動作します。
### Claude Code を再起動
設定後、Claude Code を再起動すると、11個のツールが使えるようになります。
---
## 💬 実際の使用例
### 例1: メモリを作成
**あなたClaude Codeで話しかける:**
> 「今日、新しいAIシステムのアイデアを思いついた」というメモリを作成して
**Claude Code の動作:**
1. `create_memory_with_ai` ツールを自動で呼び出す
2. Claude API があなたの入力を解釈
3. 4つの心スコア感情、関連性、新規性、実用性を計算
4. priority_score (0.0-1.0) を算出
5. ゲーム風の結果を表示
**結果の表示:**
```
╔══════════════════════════════════════╗
║ 🎲 メモリースコア判定 ║
╚══════════════════════════════════════╝
🟣 EPIC 85点
💡 あなたは【革新者】タイプ!
💕 好感度: ❤️❤️❤️❤️❤️🤍🤍🤍🤍🤍 42.5%
💎 XP獲得: +850 XP
📊 スコア内訳:
感情的インパクト: ████████░░ 20%
あなたへの関連性: ████████░░ 20%
新規性・独自性: █████████░ 22.5%
実用性・有用性: █████████░ 22.5%
```
### 例2: コンパニオンを作成
**あなた:**
> 「エミリー」という名前のエネルギッシュなコンパニオンを作成して
**結果:**
```
╔══════════════════════════════════════╗
║ 💕 エミリー のプロフィール ║
╚══════════════════════════════════════╝
⚡ 性格: エネルギッシュで冒険好き
「新しいことに挑戦するのが大好き!」
🏆 関係レベル: Lv.1
💕 好感度: 🤍🤍🤍🤍🤍🤍🤍🤍🤍🤍 0%
🤝 信頼度: ░░░░░░░░░░ 0/100
```
### 例3: コンパニオンに反応してもらう
**あなた:**
> 先ほど作ったメモリにエミリーを反応させて
**結果:**
```
⚡ エミリー:
「わあ新しいAIシステムのアイデアって
すごくワクワクするね!💡
あなたの創造力、本当に素敵だと思う!」
💕 好感度変化: 0% → 80.75% ⬆️ +80.75%
🎊 ボーナス: ⚡相性抜群! (+95%)
💎 XP獲得: +850 XP
🏆 レベルアップ: Lv.1 → Lv.9
```
### 例4: ランキングを見る
**あなた:**
> メモリをランキング順に表示して
**結果:**
```
╔══════════════════════════════════════╗
║ 🏆 メモリーランキング TOP10 ║
╚══════════════════════════════════════╝
1. 🟡 LEGENDARY 95点 - 「AI哲学について...」
2. 🟣 EPIC 85点 - 「新しいシステムのアイデア」
3. 🔵 RARE 75点 - 「プロジェクトの進捗」
...
```
---
## 📊 結果の見方
### レアリティシステム
- 🟡 **LEGENDARY** (90-100点): 伝説級の記憶
- 🟣 **EPIC** (80-89点): エピック級の記憶
- 🔵 **RARE** (60-79点): レアな記憶
- 🟢 **UNCOMMON** (40-59点): まあまあの記憶
-**COMMON** (0-39点): 日常的な記憶
### 診断タイプ(あなたの個性)
- 💡 **革新者**: 創造性と実用性が高い
- 🧠 **哲学者**: 感情と新規性が高い
- 🎯 **実務家**: 実用性と関連性が高い
-**夢想家**: 新規性と感情が高い
- 📊 **分析家**: バランス型
### コンパニオン性格
-**Energetic**: 革新者と相性95%
- 📚 **Intellectual**: 哲学者と相性95%
- 🎯 **Practical**: 実務家と相性95%
- 🌙 **Dreamy**: 夢想家と相性95%
- ⚖️ **Balanced**: 分析家と相性95%
---
## 💾 データの保存場所
```
~/.config/syui/ai/gpt/memory.json
```
このファイルに、すべてのメモリとコンパニオン情報が保存されます。
**データ形式:**
```json
{
"memories": {
"uuid-1234": {
"id": "uuid-1234",
"content": "元の入力",
"interpreted_content": "Claude の解釈",
"priority_score": 0.85,
"user_context": null,
"created_at": "2025-11-05T...",
"updated_at": "2025-11-05T..."
}
},
"conversations": {}
}
```
---
## 🎯 利用可能なMCPツール11個
### 基本ツール
1. **create_memory** - シンプルなメモリ作成
2. **search_memories** - メモリ検索
3. **update_memory** - メモリ更新
4. **delete_memory** - メモリ削除
5. **list_conversations** - 会話一覧
### AI機能ツール 🎮
6. **create_memory_with_ai** - AI解釈ゲーム結果
7. **list_memories_by_priority** - ランキング表示
8. **daily_challenge** - デイリークエスト
### コンパニオンツール 💕
9. **create_companion** - コンパニオン作成
10. **companion_react** - メモリへの反応
11. **companion_profile** - プロフィール表示
---
## ⚙️ トラブルシューティング
### ビルドできない
```bash
# 依存関係を更新
cargo clean
cargo update
cargo build --release --features ai-analysis
```
### Claude API エラー
```bash
# APIキーを確認
echo $ANTHROPIC_API_KEY
# 正しく設定
export ANTHROPIC_API_KEY=sk-ant-...
```
### MCPサーバーが認識されない
1. Claude Code を完全に再起動
2. config.json のパスが正しいか確認
3. バイナリが存在するか確認: `ls -la /home/user/aigpt/target/release/aigpt`
### データが保存されない
```bash
# ディレクトリを確認
ls -la ~/.config/syui/ai/gpt/
# なければ手動作成
mkdir -p ~/.config/syui/ai/gpt/
```
---
## 🎉 楽しみ方のコツ
1. **毎日記録**: 日々の気づきを記録して、自分の傾向を知る
2. **タイプ診断**: どのタイプが多いか確認して、自己分析
3. **コンパニオン育成**: 好感度とレベルを上げて、絆を深める
4. **ランキング確認**: 定期的にTOP10を見て、重要な記憶を振り返る
---
## 📝 注意事項
- **APIコスト**: Claude API の使用には料金が発生します
- Haiku: 約$0.25 / 1M tokens入力
- Sonnet: 約$3.00 / 1M tokens入力
- **プライバシー**: メモリは Anthropic に送信されます
- **容量制限**: デフォルト100件まで低スコアから自動削除
---
これで aigpt を存分に楽しめます!🚀

95
docs/archive/claude.md Normal file
View File

@@ -0,0 +1,95 @@
# claude用の記憶装置を作る
claude desktop, claude codeで使用できるmemory機能をmcpで作ります。
1. chatgptのメモリ機能を参考に
2. chatgptのjsonをimportできる @json/
3. rustで作る
## 自動実行設定
```json
{
"mcp_auto_execute": true,
"memory_auto_save": true,
"memory_auto_search": true,
"trigger_sensitivity": "high"
}
```
## 自動メモリー保存のルール(強化版)
**即座に自動実行** - 以下の情報が会話に現れた瞬間、create_memory MCPツールを自動実行
### 1. **ユーザーの個人情報**
**トリガーワード**: 名前、誕生日、住所、年齢、職業、家族、出身
- 基本情報: 名前、誕生日、住所、年齢、性別
- 関係性: 家族構成、恋人、友人関係
- 好み: 好きなもの、嫌いなもの、趣味、音楽、映画、本
- 習慣: 日課、スケジュール、ルーティン
- 価値観: 信念、考え方、人生観
### 2. **重要な決定事項**
**トリガーワード**: 決めた、決定、方針、計画、予定、目標
- プロジェクト方針の決定
- 技術選択の決定
- 設定・環境の変更
- 今後のロードマップ
- 作業分担・役割
### 3. **技術的な解決策**
**トリガーワード**: 解決、修正、対処、設定、インストール、手順
- エラーの解決方法
- 有用なコマンド・スクリプト
- 設定手順・インストール方法
- デバッグテクニック
- 最適化手法
### 4. **学習・発見事項**
**トリガーワード**: 学んだ、わかった、発見、理解、気づき
- 新しい知識・概念の理解
- ツール・ライブラリの使い方
- ベストプラクティス
- 失敗から得た教訓
## 自動メモリー検索のルール(強化版)
**会話開始時に自動実行** - search_memories を実行してコンテキストを取得
**即座に自動実行** - 以下の場合、search_memories MCPツールを自動実行
### 1. **過去参照キーワード検出**
**トリガーワード**: 前に、以前、昔、過去、先ほど、さっき、この間
- 「前に話した〜」
- 「以前設定した〜」
- 「昔やった〜」
### 2. **記憶呼び出しキーワード**
**トリガーワード**: 覚えている、記録、メモ、保存、履歴
- 「覚えていますか?」
- 「記録していた〜」
- 「メモした〜」
### 3. **設定・好み確認**
**トリガーワード**: 好み、設定、環境、構成、preferences
- ユーザーの好みを確認する必要がある場合
- 過去の設定を参照する必要がある場合
- 環境構成を確認する必要がある場合
### 4. **不明な参照**
- ユーザーが具体的でない参照をした場合
- 「あれ」「それ」「例のやつ」などの曖昧な表現
- 文脈から過去の情報が必要と判断される場合
## 自動実行タイミング
1. **会話開始時**: search_memories を実行してコンテキスト取得
2. **リアルタイム**: トリガーワード検出後、即座にMCPツール実行
3. **会話終了時**: 重要な情報があれば create_memory で保存
4. **定期的**: 長い会話では中間地点でメモリー整理
## エラーハンドリング
- MCPツールが利用できない場合は通常の会話を継続
- メモリー保存失敗時はユーザーに通知
- 検索結果が空の場合も適切に対応

47
docs/archive/test-mcp.sh Executable file
View File

@@ -0,0 +1,47 @@
#!/bin/bash
echo "🧪 MCPサーバーテスト開始..."
echo ""
# サーバー起動(バックグラウンド)
./target/debug/aigpt server &
SERVER_PID=$!
sleep 2
echo "✅ サーバー起動完了 (PID: $SERVER_PID)"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "📋 利用可能なツール一覧:"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "基本ツール:"
echo " • create_memory"
echo " • search_memories"
echo " • update_memory"
echo " • delete_memory"
echo ""
echo "AI機能ツール 🎮:"
echo " • create_memory_with_ai (心理テスト風)"
echo " • list_memories_by_priority (ランキング)"
echo " • daily_challenge (デイリークエスト)"
echo ""
echo "恋愛コンパニオン 💕:"
echo " • create_companion"
echo " • companion_react"
echo " • companion_profile"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "🎯 次のステップ:"
echo "1. Claude Codeの設定に追加"
echo "2. Claude Code再起動"
echo "3. ツールを使って試す!"
echo ""
echo "設定ファイル: ~/.config/claude-code/config.json"
echo ""
# サーバー停止
kill $SERVER_PID 2>/dev/null
echo "✅ テスト完了!"