Relay16 - Nostr Social Client with AI Integration について
Relay16 は、複数のリレーで投稿を閲覧・公開できる Nostr クライアントです。ソーシャル機能に AI による要約や文章支援を組み合わせていますが、DVMCP プロバイダー連携は開発中です。
主な機能
- 01複数の Nostr リレーへの接続
- 02ライブフィードの閲覧とノートの公開
- 03プロフィールとソーシャル操作の管理
- 04スレッドの要約と投稿の編集提案
- 05コンテンツ分析とハッシュタグ生成
- 06DVMCP ツールの検出と利用状況の追跡
活用シーン
- 01複数リレーの投稿をリアルタイムで確認
- 02ソーシャル投稿の下書きや推敲
- 03長い会話スレッドの要約
MCP 対応
AI ツールの検出と DVMCP プロバイダー接続の基盤を備えています。README ではプロバイダー連携は未完成とされ、MCP サーバーの管理機能は説明されていません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Relay16 - AI 統合型 Nostr ソーシャルクライアント
Relay16 は、DVMCP(Data Vending Machine Context Protocol)を通じて AI 搭載ツールを統合し、ソーシャルメディア体験を向上させる最新の Nostr ソーシャルクライアントです。
✅ ステータス:実行準備完了
アプリケーションのセットアップが完了し、開発を始められる状態です。主要な依存関係はすべてインストールされ、設定上の問題も解決されています。
機能
🌐 Nostr プロトコルのサポート
- 複数のリレーへの接続 - 複数の Nostr リレーに同時に接続します
- リアルタイムフィード - Nostr ネットワークからのライブ更新を表示します
- プロフィール管理 - Nostr のアイデンティティを作成・編集します
- ノートの公開 - リッチな書式設定でノートを作成・公開します
- ソーシャル機能 - ノートへの「いいね」、返信、リポストを行います
🤖 AI 搭載機能
- スレッドの要約 - 長い会話を AI で要約します
- 文章作成支援 - 投稿を改善するための AI による提案を受け取ります
- コンテンツ分析 - 感情分析とトピック抽出を行います
- ハッシュタグの自動生成 - 関連性の高いハッシュタグを AI で生成します
🔧 DVMCP の統合
- ツールの検出 - 利用可能な AI ツールを自動的に検出します
- プロバイダー管理 - 複数の DVMCP プロバイダーに接続します
- リクエストの追跡 - AI ツールの使用状況と結果を監視します
- 拡張可能なアーキテクチャ - 新しい AI サービスを簡単に統合できます
🎨 モダンな UI/UX
- レスポンシブデザイン - デスクトップとモバイルデバイスで動作します
- ダーク/ライトテーマ - テーマを自動で切り替えます
- スムーズなアニメーション - Framer Motion によるトランジションを採用しています
- コンポーネントライブラリ - HeroUI と shadcn/ui で構築されています
技術スタック
- フロントエンド:React 18 + TypeScript
- スタイリング:Tailwind CSS + HeroUI + shadcn/ui + tailwindcss-animate
- アニメーション:Framer Motion
- 状態管理:Zustand
- Nostr プロトコル:nostr-tools(SimplePool API)
- AI サービス:OpenRouter API
- ストレージ:Zustand の永続化機能を使用するローカルストレージ
- ビルドツール:Vite
はじめに
前提条件
- Node.js 18+
- npm または yarn
インストール
- リポジトリをクローンします:
git clone <repository-url>
cd relay16
- 依存関係をインストールします:
npm install
- 開発サーバーを起動します:
npm run dev
- ブラウザーを開き、
http://localhost:3000にアクセスします
最近適用された修正
設定
Nostr の設定
- 「設定」→「アイデンティティ」に移動します
- 新しい鍵を生成するか、既存の秘密鍵をインポートします
- 「設定」→「リレー」で Nostr リレーを追加します
AI サービスの設定
- OpenRouter から API キーを取得します
- 「設定」→「AI サービス」に移動します
- OpenRouter の API キーを入力します
プロジェクト構成
src/
├── components/ # Reusable UI components
│ ├── Layout.tsx # Main app layout
│ └── ui/ # shadcn/ui components
├── pages/ # Main application pages
│ ├── Feed.tsx # Social feed ✅
│ ├── Profile.tsx # User profiles (needs fixes)
│ ├── Compose.tsx # Note composition ✅
│ ├── Tools.tsx # AI tools interface (needs fixes)
│ └── Settings.tsx # App settings (needs fixes)
├── hooks/ # Custom React hooks
│ ├── useNostr.ts # Nostr protocol integration ✅
│ └── useDVMCP.ts # DVMCP tool integration ✅
├── stores/ # Zustand state stores
│ ├── nostr.ts # Nostr state management ✅
│ ├── dvmcp.ts # DVMCP state management ✅
│ └── ai.ts # AI services state ✅
├── services/ # External service integrations
│ └── ai.ts # OpenRouter AI service ✅
├── types/ # TypeScript type definitions
│ ├── nostr.ts # Nostr protocol types ✅
│ ├── dvmcp.ts # DVMCP types ✅
│ └── ai.ts # AI service types ✅
├── lib/ # Utility functions
│ └── utils.ts # Common utilities ✅
└── App.tsx # Main application component ✅
開発ステータス
✅ 完了・動作中
- 基本的なプロジェクトのセットアップと設定
- 依存関係の管理とビルドシステム
- TypeScript の基本的な型とインターフェース
- SimplePool を使用した Nostr プロトコルの統合
- AI サービス統合の基盤
- 基本的な UI コンポーネントとレイアウト
- フィードページと作成ページ
🔧 追加作業が必要
- プロフィールページ(不足しているフックメソッドがあります)
- ツールページ(DVMCP ストアのプロパティマッピング)
- 設定ページ(不足しているストアプロパティがあります)
- DVMCP プロバイダーの完全な統合
- 高度な Nostr 機能(DM、フォロー)
利用可能なスクリプト
npm run dev- 開発サーバーを起動します ✅npm run build- 本番用にビルドしますnpm run preview- 本番用ビルドをプレビューしますnpm run lint- ESLint を実行しますnpm run type-check- TypeScript の型チェックを実行します
今後の開発ステップ
- 不足しているストアプロパティの追加:プロフィール、ツール、設定ページのストアに不足しているプロパティを追加します
- 実際の DVMCP 統合の実装:モックデータを実際の DVMCP プロバイダー検出に置き換えます
- 高度な Nostr 機能の追加:DM、フォロー、高度なリレー管理を実装します
- UI/UX の強化:アニメーションをさらに洗練させ、レスポンシブデザインを改善します
貢献
- リポジトリをフォークします
- 機能ブランチを作成します:
git checkout -b feature/amazing-feature - 変更をコミットします:
git commit -m 'Add amazing feature' - ブランチにプッシュします:
git push origin feature/amazing-feature - プルリクエストを作成します
アーキテクチャの主な特徴
Nostr との連携
- nostr-tools の SimplePool を使用し、複数のリレーを効率的に管理します
- 暗号化処理のために Uint8Array へ変換し、適切にキーを管理します
- finalizeEvent を使用してイベントに署名し、公開します
状態管理
- 軽量で TypeScript に適したグローバル状態管理に Zustand を使用します
- ユーザーデータと設定を永続ストレージに保存します
- すべてのコンポーネントでリアクティブな更新を行います
AI サービス
- 複数の AI モデルにアクセスするため、OpenRouter API と連携します
- 分散型 AI ツールの検出を実現する DVMCP protocol の基盤を備えています
- 拡張しやすいモジュール式のサービスアーキテクチャを採用しています
トラブルシューティング
よくある問題
- ポート 3000 がすでに使用されています:
vite.config.tsでポートを変更するか、既存のプロセスを終了してください - モジュール解決エラー:
npm installですべての依存関係がインストールされていることを確認してください - TypeScript エラー:
npm run type-checkを実行して、型の問題を特定し、修正してください
依存関係
主要な依存関係はすべてインストールされ、設定されています:
- React エコシステム(React、React-DOM、React Router)
- UI ライブラリ(HeroUI、Tailwind CSS、Framer Motion)
- Nostr ツールと暗号化ライブラリ
- 開発ツール(Vite、TypeScript、ESLint)
ライセンス
このプロジェクトは MIT License のもとでライセンスされています。詳細は LICENSE ファイルをご覧ください。
謝辞
- Nostr Protocol - 分散型ソーシャルプロトコル
- OpenRouter - AI モデル API の集約
- HeroUI - React コンポーネントライブラリ
- shadcn/ui - コンポーネントコレクション
- Framer Motion - アニメーションライブラリ
Relay16 - 分散型の未来に向けて、ソーシャルメディアと AI をつなぎます。
🚀 開発を始める準備ができました!npm run dev を実行し、http://localhost:3000 にアクセスしてください
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。