1
0
shell/docs/development-status.md
2025-06-02 00:32:00 +09:00

4.4 KiB
Raw Blame History

ai.shell 開発状況

プロジェクト概要

  • 目的: Claude Codeのようなローカル環境で動作するAIコーディングアシスタント
  • アーキテクチャ: Rust CLI + Python MCP Server + Ollama (Local LLM)
  • 作者: syui
  • リポジトリ: https://git.syui.ai/ai/shell

現在の実装状況

完了した機能

  1. 基本アーキテクチャ

    • Rust CLIクライアント
    • Python MCPサーバー
    • HTTP REST API通信
  2. 環境構築

    • ~/.config/syui/ai/shell/ にPython venv環境
    • セットアップスクリプト (make setup)
    • 起動スクリプト
  3. CLI機能

    • インタラクティブモード
    • ワンショット実行 (aishell exec "prompt")
    • ファイル分析 (aishell analyze file)
    • ヘルスチェック (aishell health)
  4. コマンド

    • /help - ヘルプ表示
    • /clear - 画面クリア
    • /model [name] - モデル切り替えUI実装済み、機能は未実装
    • /analyze <file> - ファイル分析
    • /create <type> <name> - プロジェクト作成
  5. MCP Server API

    • POST /execute - ツール実行
    • GET /health - ヘルスチェック
    • GET /tools - 利用可能ツール一覧

🚧 未実装・改善が必要な機能

高優先度

  1. 会話履歴の保持

    • 現在は単発のリクエストのみ
    • コンテキストを維持した連続的な会話
  2. ファイル操作の安全性

    • ファイル書き込み前の確認
    • バックアップ機能
    • undo/redo機能
  3. エラーハンドリング

    • Ollamaが起動していない場合の対処
    • ネットワークエラーの適切な処理

中優先度

  1. モデル切り替え機能

    • /model コマンドの実装
    • 設定ファイルへの保存
  2. Git統合

    • git diff の解析
    • コミットメッセージ生成
    • ブランチ情報の取得
  3. プロジェクトテンプレート

    • より多くの言語サポート
    • カスタムテンプレート

低優先度

  1. TUIモード

    • ratatuiを使用した分割画面
    • プログレスバー表示
  2. プラグインシステム

    • カスタムツールの追加
    • 外部コマンドの統合

技術的な詳細

ディレクトリ構造

/Users/syui/ai/shell/
├── src/
│   ├── main.rs          # CLIエントリーポイント
│   ├── lib.rs           # ライブラリルート
│   ├── mcp_client.rs    # MCPクライアント実装
│   ├── config.rs        # 設定管理
│   ├── prompt.rs        # プロンプト表示
│   └── commands.rs      # コマンドハンドラー
├── mcp_server.py        # MCPサーバー実装
├── requirements.txt     # Python依存関係
├── Cargo.toml          # Rust依存関係
└── scripts/
    ├── setup.sh        # セットアップスクリプト
    └── start.sh        # 起動スクリプト

~/.config/syui/ai/shell/ # ユーザー設定ディレクトリ
├── venv/               # Python仮想環境
├── config.toml         # ユーザー設定
├── mcp_server.py       # MCPサーバーコピー
└── bin/
    ├── aishell         # CLIラッパー
    └── mcp-server      # サーバーラッパー

主要な依存関係

  • Rust: clap, tokio, reqwest, colored, serde
  • Python: aiohttp, requests, toml
  • LLM: Ollama (qwen2.5-coder:7b)

次回の開発時の開始方法

# リポジトリに移動
cd /Users/syui/ai/shell

# 現在の状態を確認
git status

# サーバーを起動Terminal 1
make run-server

# CLIを起動Terminal 2
./target/debug/aishell

# または、セットアップ済みなら
aishell

重要な設計思想

  1. 分離された責務

    • Rust: 高速なCLI、ユーザーインターフェース
    • Python: AI/ML処理、MCPサーバー
    • Ollama: ローカルLLM実行
  2. プライバシー重視

    • 完全ローカル動作
    • 外部APIへの依存なし
  3. 拡張性

    • MCPプロトコルによる標準化
    • 新しいツールの追加が容易

参考リンク


最終更新: 2025-06-01