🚀 SSD - AI
モデルコンテキストプロトコル(MCP)に基づいたAI開発アシスタントで、自然言語キーワード認識を通じて36の専用ツールを提供し、開発者が直感的に複雑なタスクを実行できるよう支援します。
🚀 クイックスタート
SSD - AIは、モデルコンテキストプロトコル(MCP) 標準を実装したAI開発アシスタントです。自然言語キーワード認識を通じて36の専用ツールを提供し、開発者が複雑なタスクを直感的に実行できるよう支援します。
✨ 主な機能
1. メモリ管理システム
セッション間でコンテキストを維持するための10のツールです。
- インテリジェントストレージ:情報をカテゴリ別に分類し、優先度を管理します。
- コンテキスト圧縮:優先度に基づくコンテキスト圧縮システムです。
- セッション復元:以前の作業状態を完全に再現します。
- SQLiteベース:同時制御、インデックス、トランザクションをサポートします。
主要ツール:
save_memory - 情報を長期メモリに保存します。
recall_memory - 保存された情報を検索します。
auto_save_context - コンテキストを自動保存します。
restore_session_context - セッションを復元します。
prioritize_memory - メモリの優先度を管理します。
2. セマンティックコード分析
ASTベースのコード分析とナビゲーションツールです。
- シンボル検索:プロジェクト全体で関数、クラス、変数の位置を特定します。
- 参照追跡:特定のシンボルのすべての使用箇所を追跡します。
- 多言語対応:TypeScript、JavaScript、Pythonをサポートします。
- プロジェクトキャッシュ:LRUキャッシュを通じてパフォーマンスを最適化します。
主要ツール:
find_symbol - シンボルの定義を検索します。
find_references - シンボルの参照を検索します。
3. コード品質分析
包括的なコードメトリクスと品質評価を行います。
- 複雑度分析:循環的、認知的、ハルステッドのメトリクスを分析します。
- 結合度/凝集度:構造的な健全性を評価します。
- 品質スコア:A - Fのグレードシステムで評価します。
- 改善提案:実行可能なリファクタリングの提案を行います。
主要ツール:
analyze_complexity - 複雑度メトリクスを分析します。
validate_code_quality - コード品質を評価します。
check_coupling_cohesion - 結合度/凝集度を分析します。
suggest_improvements - 改善提案を行います。
apply_quality_rules - 品質ルールを適用します。
get_coding_guide - コーディングガイドを参照します。
4. プロジェクト計画ツール
体系的な要件分析とロードマップ生成を行います。
- PRD生成:自動的に製品要件文書を作成します。
- ユーザーストーリー:受け入れ基準を含むストーリーを作成します。
- MoSCoW分析:要件の優先順位を決定します。
- ロードマップ作成:段階的な開発スケジュールを計画します。
主要ツール:
generate_prd - 製品要件文書を生成します。
create_user_stories - ユーザーストーリーを作成します。
analyze_requirements - 要件を分析します。
feature_roadmap - 機能ロードマップを作成します。
5. 逐次思考ツール
構造化された問題解決と意思決定をサポートします。
- 問題分解:複雑な問題を段階的に分解します。
- 思考チェーン:逐次的な推論プロセスを生成します。
- 複数の視点:分析的、創造的、体系的、批判的思考をサポートします。
- 実行計画:タスクを実行可能な計画に変換します。
主要ツール:
create_thinking_chain - 思考チェーンを作成します。
analyze_problem - 問題を分析します。
step_by_step_analysis - 段階的な分析を行います。
break_down_problem - 問題を分解します。
think_aloud_process - 思考プロセスを表現します。
format_as_plan - 計画を整形します。
6. プロンプトエンジニアリング
プロンプトの品質向上と最適化を行います。
- 自動強化:曖昧な要求を具体的なものに変換します。
- 品質評価:明瞭性、具体性、文脈性をスコアリングします。
- 構造化:目標、背景、要件、品質基準を設定します。
主要ツール:
enhance_prompt - プロンプトを強化します。
analyze_prompt - プロンプトの品質を分析します。
7. ブラウザ自動化
Webベースのデバッグとテストを行います。
- コンソール監視:ブラウザのコンソールログをキャプチャします。
- ネットワーク分析:HTTPリクエスト/レスポンスを追跡します。
- クロスプラットフォーム:Chrome、Edge、Braveをサポートします。
主要ツール:
monitor_console_logs - コンソールログを監視します。
inspect_network_requests - ネットワークリクエストを分析します。
8. UIプレビュー
コーディング前のUIレイアウトを可視化します。
- ASCIIアート:6種類のレイアウトタイプをサポートします。
- レスポンシブプレビュー:デスクトップ/モバイルビューを提供します。
- 事前承認:コーディング前に構造を確認できます。
主要ツール:
preview_ui_ascii - ASCII形式でUIをプレビューします。
9. 時間ユーティリティ
様々な形式の時間を問い合わせます。
主要ツール:
get_current_time - 現在の時間を問い合わせます(ISO、UTC、タイムゾーンなど)。
10. タスクとページネーションのサポート
長時間実行される操作と大規模データ処理をサポートします。
- タスク:MCP 2025 - 11 - 25の実験的機能で、長時間実行されるタスクを管理します。
- ページネーション:カーソルベースのページネーションで大規模データセットを処理します。
- 非同期操作:複雑な分析タスクをバックグラウンドで実行します。
- ステータス追跡:タスクの進行状況をリアルタイムで監視します。
タスク対応ツール:
find_symbol, find_references(セマンティック分析)
analyze_complexity, check_coupling_cohesion, validate_code_quality, suggest_improvements(コード品質)
analyze_requirements, feature_roadmap, generate_prd(プロジェクト計画)
apply_reasoning_framework, enhance_prompt_gemini(推論とプロンプト)
📦 インストール
システム要件
- Node.js 18.0以上
- TypeScript 5.0以上
- MCP互換クライアント(Claude Desktop、Cursor、Windsurf)
- Python 3.x(Pythonコード分析用)
インストール方法
NPMパッケージ
npm install -g @ssdeanx/ssd-ai
npm install @ssdeanx/ssd-ai
Smitheryプラットフォーム
https://smithery.ai/server/@su-record/hi-ai
MCPクライアントの設定
Claude Desktopまたはその他のMCPクライアントの設定ファイルに追加します。
{
"mcpServers": {
"hi-ai": {
"command": "hi-ai",
"args": [],
"env": {}
}
}
}
📚 ドキュメント
バージョン1.6.0の更新内容 (2025-01-27)
タスクサポート(実験的MCP機能)
長時間実行タスクの管理
- MCP 2025 - 11 - 25のタスク仕様を実装しました。
- 複雑な分析タスクをバックグラウンドで実行します。
- タスクのステータスをリアルタイムで追跡および監視します。
- TTLベースの自動クリーンアップ(デフォルト5分、最大1時間)
タスクAPI
tasks/get - タスクのステータスを問い合わせます。
tasks/result - タスクの結果を問い合わせます(完了するまで待機)。
tasks/list - すべてのタスクをリスト表示します(ページネーション付き)。
tasks/cancel - 実行中のタスクをキャンセルします。
notifications/tasks/status - ステータスの変更通知
タスク対応ツール(11個のツール)
- セマンティック分析:
find_symbol, find_references
- コード品質:
analyze_complexity, check_coupling_cohesion, validate_code_quality, suggest_improvements
- プロジェクト計画:
analyze_requirements, feature_roadmap, generate_prd
- 推論/プロンプト:
apply_reasoning_framework, enhance_prompt_gemini
ページネーションサポート
カーソルベースのページネーション
- MCP仕様に準拠したカーソルベースの実装です。
- 大規模なリストを効率的に処理します。
- 不透明なカーソルによるセキュリティの強化
サポートされるリスト操作
tools/list - ツールリスト(デフォルト20件)
resources/list - リソースリスト
prompts/list - プロンプトリスト
tasks/list - タスクリスト
統合効果
- 非同期操作のサポート:複雑な分析をバックグラウンドで実行します。
- 大規模データ処理:ページネーションによるメモリ効率の向上
- リアルタイム監視:タスクの進行状況を追跡します。
- ユーザー体験の向上:長時間の操作中に他のタスクを実行できます。
ツールカタログ
全ツール一覧(36個のツール)
| カテゴリ |
数 |
ツールリスト |
| メモリ |
10 |
save_memory, recall_memory, list_memories, search_memories, delete_memory, update_memory, auto_save_context, restore_session_context, prioritize_memory, start_session |
| セマンティック |
2 |
find_symbol, find_references |
| 思考 |
6 |
create_thinking_chain, analyze_problem, step_by_step_analysis, break_down_problem, think_aloud_process, format_as_plan |
| 推論 |
1 |
apply_reasoning_framework |
| コード品質 |
6 |
analyze_complexity, validate_code_quality, check_coupling_cohesion, suggest_improvements, apply_quality_rules, get_coding_guide |
| 計画 |
4 |
generate_prd, create_user_stories, analyze_requirements, feature_roadmap |
| プロンプト |
2 |
enhance_prompt, analyze_prompt |
| ブラウザ |
2 |
monitor_console_logs, inspect_network_requests |
| UI |
1 |
preview_ui_ascii |
| 時間 |
1 |
get_current_time |
タスク対応ツール(11個のツール)
以下のツールは、タスクを通じて長時間実行される操作をサポートしています。
- セマンティック分析:
find_symbol, find_references
- コード品質:
analyze_complexity, check_coupling_cohesion, validate_code_quality, suggest_improvements
- プロジェクト計画:
analyze_requirements, feature_roadmap, generate_prd
- 推論/プロンプト:
apply_reasoning_framework, enhance_prompt_gemini
キーワードマッピング例
メモリツール
| ツール |
英語 |
韓国語 |
| save_memory |
remember, save this |
기억해, 저장해 |
| recall_memory |
recall, remind me |
떠올려, 기억나 |
| auto_save_context |
commit, checkpoint |
커밋, 저장 |
コード分析ツール
| ツール |
英語 |
韓国語 |
| find_symbol |
find function, where is |
함수 찾아, 클래스 어디 |
| analyze_complexity |
complexity, how complex |
복잡도, 복잡한지 |
| validate_code_quality |
quality, review |
품질, 리뷰 |
タスクツール
| ツール |
英語 |
韓国語 |
| tasks/get |
task status, progress |
작업 상태, 진행 상황 |
| tasks/result |
get result, wait for completion |
결과 가져와, 완료될 때까지 |
| tasks/cancel |
cancel task, stop |
작업 취소, 중지해 |
アーキテクチャ
システム構造
graph TB
subgraph "クライアント層"
A[Claude Desktop / Cursor / Windsurf]
end
subgraph "MCPサーバー"
B[Hi - AI v1.6.0]
end
subgraph "コアライブラリ"
C1[MemoryManager]
C2[ContextCompressor]
C3[ProjectCache]
C4[PythonParser]
C5[TaskManager]
end
subgraph "ツールカテゴリ"
D1[メモリツール x10]
D2[セマンティックツール x2]
D3[思考ツール x6]
D4[品質ツール x6]
D5[計画ツール x4]
D6[プロンプトツール x2]
D7[ブラウザツール x2]
D8[UIツール x1]
D9[時間ツール x1]
D10[タスクサポート]
end
subgraph "データ層"
E1[(SQLiteデータベース)]
E2[プロジェクトファイル]
E3[タスクストア]
end
A <--> B
B --> C1 & C2 & C3 & C4 & C5
B --> D1 & D2 & D3 & D4 & D5 & D6 & D7 & D8 & D9 & D10
C1 --> E1
C3 --> E2
C4 --> E2
C5 --> E3
D1 --> C1 & C2
D2 --> C3 & C4
D4 --> C4
D10 --> C5
コアコンポーネント
TaskManager
- 役割:長時間実行されるタスクのライフサイクル管理
- 機能:タスクの作成、ステータス追跡、結果の保存、TTL管理
- 状態:working, input_required, completed, failed, cancelled
- 通知:リアルタイムのステータス変更通知
ページネーションシステム
- 役割:大規模なリストデータを効率的に処理
- 方法:カーソルベースのページネーション
- セキュリティ:不透明なカーソルによりデータの露出を防止
データフロー
ユーザー入力(自然言語)
↓
キーワードマッチング(ツール選択)
↓
タスクサポートチェック
↓
通常実行またはタスク作成
↓
非同期実行(タスク)
↓
ステータスポーリングまたはリアルタイム通知
↓
結果返却
パフォーマンス
主要な最適化
プロジェクトキャッシュ
- LRUキャッシュを通じて繰り返しの分析のパフォーマンスを向上させます。
- 5分のTTLで最新の状態を維持します。
- メモリ制限によるリソース管理
メモリ操作
- SQLiteトランザクションによるバッチ操作の最適化
- 時間計算量の改善:O(n²) → O(n)
- インデックスによる高速な検索
タスクの最適化
- バックグラウンド実行によるUIの応答性の向上
- TTLベースの自動クリーンアップによるメモリリークの防止
- ステータスベースのポーリングによる効率的な監視
レスポンス形式
- 簡潔なレスポンス形式に切り替えます。
- コア情報に重点を置いた出力
v1.5.0のレスポンス例:
{
"action": "save_memory",
"key": "test-key",
"value": "test-value",
"category": "general",
"timestamp": "2025-01-16T12:34:56.789Z",
"status": "success",
"metadata": { ... }
}
v1.6.0のレスポンス例:
✓ Saved: test-key
Category: general
開発ガイド
環境設定
git clone https://github.com/ssdeanx/ssd-ai.git
cd ssd-ai
npm install
npm run build
npm run dev
テスト
npm test
npm run test:watch
npm run test:ui
npm run test:coverage
コードスタイル
- TypeScript:strictモード
- 型:
src/types/tool.tsを使用
- テスト:100%のカバレッジを維持
- コミット:Conventional Commits形式
新しいツールの追加
src/tools/category/ディレクトリにファイルを作成します。
ToolDefinitionインターフェースを実装します。
src/index.tsにツールを登録します。
tests/unit/ディレクトリにテストを書きます。
- READMEを更新します。
プルリクエスト
- 機能ブランチを作成します:
feature/tool-name
- テストを書き、合格させます。
- ビルドが成功することを確認します。
- プルリクエストを作成し、レビューを依頼します。
📄 ライセンス
MITライセンス - 自由に使用、変更、配布できます。
引用
このプロジェクトを研究または商用目的で使用する場合は、以下のように引用してください。
@software{hi-ai2024,
author = {ssdeanx},
title = {Hi - AI: Natural Language MCP Server for AI - Assisted Development},
year = {2024},
version = {1.6.0},
url = {https://github.com/su-record/hi-ai}
}