プロジェクト

全般

プロフィール

バグ #407

未完了

チケット#400実装: React+TypeScript新content配列対応インポート機能

Redmine Admin さんが5日前に追加. 5日前に更新.

ステータス:
進行中
優先度:
急いで
担当者:
-
開始日:
2025-06-09
期日:
進捗率:

0%

予定工数:

説明

🎯 作業目標

search.call2arm.com でClaude新content配列形式に完全対応したインポート機能を実装する

📋 技術仕様

  • 技術スタック: React + TypeScript + TailwindCSS + Node.js (統一)
  • 対象ファイル: conversations_part_01.json (3.0MB)
  • 新対応形式: content配列 (type: text/code/artifact/image/file)
  • メタデータ: タイムスタンプ・引用情報・添付ファイル情報

🔧 実装手順

Phase 1: Node.js APIサーバー実装

1.1 プロジェクト構造作成

cd /root/claude-search-system
mkdir -p node-api/src/{routes,services,types,utils}

1.2 ContentProcessor実装

  • ファイル: /node-api/src/services/contentProcessor.ts
  • 機能: content配列解析、メタデータ抽出、エラーハンドリング
  • 対応: text, code, artifact, image, file の各タイプ

1.3 APIエンドポイント実装

  • エンドポイント: /api/v2/import/conversations/import-new-format
  • 機能: 新形式対応インポート、ファイル分析、バッチ処理

Phase 2: React Frontend強化

2.1 API関数拡張

  • ファイル: /react-app/src/utils/api.ts
  • 追加: importConversationsNewFormat(), validateFileFormat()

2.2 ImportPage強化

  • ファイル: /react-app/src/pages/ImportPage.tsx
  • 機能: 自動形式検出、分析結果表示、最適インポート提案

Phase 3: 統合テスト

3.1 インポートテスト実行

curl -X POST "https://search.call2arm.com/api/v2/import/conversations/import-new-format" \
  -F "file=@conversations_part_01.json" -F "project_id=1"

3.2 動作確認

  • データベース保存確認
  • WebUI表示確認
  • 検索機能確認

📊 成功指標

  • Node.js APIサーバー正常起動
  • content配列完全解析動作
  • conversations_part_01.json インポート成功
  • 新データのWebUI表示確認
  • 検索機能での新データ検索確認

📚 参考資料

  • 実装手順書: Artifact "react-typescript-implementation-guide"
  • Python版設計: Artifact "ticket-400-implementation-guide"
  • 現在の環境: /root/claude-search-system/react-app/ (React構築済み)

⚠️ 注意事項

  • 既存のPython FastAPI環境と並行稼働
  • 段階的実装でサービス停止を回避
  • 大容量ファイル(500MB)対応必須

🎯 最終目標

VPS-ROOT環境技術スタック統一 + Claude最新形式完全対応

他の形式にエクスポート: Atom PDF