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:
70
docs/archive/CHANGELOG.md
Normal file
70
docs/archive/CHANGELOG.md
Normal 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
121
docs/archive/DESIGN.md
Normal 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
263
docs/archive/QUICKSTART.md
Normal 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
431
docs/archive/README.old.md
Normal 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
|
||||
125
docs/archive/README_CONFIG.md
Normal file
125
docs/archive/README_CONFIG.md
Normal 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
539
docs/archive/ROADMAP.md
Normal 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
274
docs/archive/STATUS.md
Normal 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.md(7フェーズ計画)
|
||||
- ✅ 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 で楽しめます!🚀
|
||||
566
docs/archive/TECHNICAL_REVIEW.md
Normal file
566
docs/archive/TECHNICAL_REVIEW.md
Normal 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
285
docs/archive/USAGE.md
Normal 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
95
docs/archive/claude.md
Normal 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
47
docs/archive/test-mcp.sh
Executable 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 "✅ テスト完了!"
|
||||
Reference in New Issue
Block a user