Files
gpt/README.md
Claude 4f8eb6268c Add gamification: Make memory scoring fun like psychological tests
Key insight from user: "It's all about presentation"
心理テストや占いがSNSで流行るのは「見せ方」の問題

## New Features

### 🎮 Game-Style Result Display
When creating memories with AI, users now get:
- Visual score display (COMMON → LEGENDARY)
- Personality type diagnosis (革新者、哲学者、実務家、etc.)
- Detailed breakdown bars (感情/関連性/新規性/実用性)
- XP rewards system
- Shareable text for SNS

Example output:
```
╔══════════════════════════════════════╗
║    🎲 メモリースコア判定          ║
╚══════════════════════════════════════╝
🟣 EPIC 85点
💡 【革新者】
💎 XP獲得: +850 XP
```

### 🏆 Ranking Display
- Top 10 memories with medals (🥇🥈🥉)
- Rarity-based color coding
- Game-style formatting

### 📅 Daily Challenge System
- Random daily quest
- Bonus XP rewards
- Encourages daily engagement

## Implementation

Added `src/game_formatter.rs`:
- MemoryRarity enum (5 levels with emoji)
- DiagnosisType enum (5 personality types)
- GameFormatter with rich text formatting
- format_memory_result() - Main game display
- format_shareable_text() - SNS sharing
- format_ranking() - Top 10 display
- format_daily_challenge() - Daily quest

MCP Tools Updated:
- create_memory_with_ai: Added game_mode parameter (default: true)
- list_memories_by_priority: Added ranking display
- daily_challenge: New tool for daily quests

## Why This Works

占い・心理テストと同じ心理:
1. ゲームをスタート(メモリ作成)
2. 分析中の演出
3. スコアが表示される(ドキドキ)
4. 結果診断(あなたは〇〇タイプ)
5. シェアしたくなる

"見せ方"でデータを楽しいゲームに変換!

Next: Phase 2 (Content Platform) + More gamification
2025-11-05 14:27:24 +00:00

11 KiB
Raw Blame History

aigpt - AI Memory System with Psychological Priority

AI記憶装置心理優先記憶システム。ChatGPTのメモリ機能を参考にしながら、AIによる解釈と心理判定を加えた新しいメモリストレージシステムです。

コンセプト

従来の「会話 → 保存 → 検索」ではなく、「会話 → AI解釈 → 保存 → 検索」を実現。 AIが記憶を解釈し、重要度を0.0-1.0のスコアで評価。優先度の高い記憶を保持し、低い記憶は自動的に削除されます。

機能

  • AI解釈付き記憶: 元のコンテンツとAI解釈後のコンテンツを保存
  • 心理判定スコア: 0.0-1.0のfloat値で重要度を評価
  • 優先順位管理: スコアに基づく自動ソートとフィルタリング
  • 容量制限: 最大100件設定可能、低スコアから自動削除
  • メモリのCRUD操作: メモリの作成、更新、削除、検索
  • ChatGPT JSONインポート: ChatGPTの会話履歴からメモリを抽出
  • stdio MCP実装: Claude Desktop/Codeとの簡潔な連携
  • JSONファイル保存: シンプルなファイルベースのデータ保存

インストール

  1. Rustをインストールまだの場合:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  1. プロジェクトをビルド:
cargo build --release
  1. バイナリをパスの通った場所にコピー(オプション):
cp target/release/aigpt $HOME/.cargo/bin/
  1. Claude Code/Desktopに追加
# Claude Codeの場合
claude mcp add aigpt $HOME/.cargo/bin/aigpt server

# または
claude mcp add aigpt $HOME/.cargo/bin/aigpt serve

使用方法

ヘルプの表示

aigpt --help

MCPサーバーとして起動

# MCPサーバー起動 (どちらでも可)
aigpt server
aigpt serve

ChatGPT会話のインポート

# 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. 以下の設定を追加:

{
  "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機能ツール重要

  1. create_memory_with_ai - AI解釈と心理判定付きでメモリを作成 🎮

    • 元のコンテンツをAIが解釈
    • 重要度を0.0-1.0のスコアで自動評価
    • ユーザーコンテキストを考慮可能
    • ゲーム風の診断結果を表示!(占い・心理テスト風)
  2. list_memories_by_priority - 優先順位順にメモリをリスト 🏆

    • 高スコアから順に表示
    • min_scoreで閾値フィルタリング可能
    • limit で件数制限可能
    • ランキング形式で表示!
  3. daily_challenge - 今日のデイリーチャレンジを取得 📅

    • 日替わりのお題を取得
    • ボーナスXPが獲得可能

ツールの使用例

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
💎 完了すると特別なバッジが獲得できます!

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

メモリの検索

MCPツールを使って「天気」に関するメモリーを検索してください

会話一覧の表示

MCPツールを使ってインポートした会話の一覧を表示してください

データ保存

  • デフォルトパス: ~/.config/syui/ai/gpt/memory.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)

開発

# 開発モードで実行
cargo run -- server

# ChatGPTインポートのテスト
cargo run -- import json/conversations.json

# テストの実行
cargo test

# フォーマット
cargo fmt

# Lintチェック
cargo clippy

トラブルシューティング

MCPサーバーが起動しない

# バイナリが存在するか確認
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

インポートが失敗する

# JSONファイルの形式を確認
head -100 conversations.json | jq '.[0] | keys'

ライセンス

MIT