AIパーソナル・ラーニング
と実践的なガイダンス
ビーンバッグ・マースコード1

Serena: 意味検索とコード編集のためのフリーMCPツール

はじめに

Serenaは、Oraios AIチームによって開発され、GitHubでホストされているフリーでオープンソースのプログラミングツールです。Serenaは言語サーバープロトコル(LSP)を通じてセマンティック解析を可能にし、コード構造の迅速な理解を可能にします。また、Claude などの大規模な言語モデル (LLM) やその他の無料モデルと、追加サブスクリプション費用なしで統合できます。Serena はもともと、開発者を高価なツール依存から解放し、実用的で効率的なプログラミング サポートを提供するために設計されました。個人の開発者、小規模なチーム、そして大規模なプロジェクトにも適しています。

Serena:意味検索とコード編集のためのフリーMCPツール-1


 

機能一覧

  • 意味検索:コードの意味に基づいてシンボル、参照、定義を見つける。
  • コード編集:正確な操作でコードブロックの挿入、置換、削除をサポート。
  • コマンド実行:プロジェクト内でテストやスクリプトを実行し、結果を確認できます。
  • プロジェクト概要:ディレクトリ構造とファイル内容の概要を表示します。
  • 多言語サポート:Python、Java、TypeScriptを直接サポート。
  • メモリー保存:分析記録を保存し、後で使用することができます。
  • LLMインテグレーション:MCPまたはAgnoフレームワークを通して言語モデルと連携します。
  • オープンソースで無料:APIキーも支払いも必要ありません。

 

ヘルプの使用

Serenaのインストールと使用にはいくつかの手順がありますが、全体的に難しくはありません。以下は、インストール、設定、主要機能の操作方法についての詳細な説明である。

設置プロセス

  1. 環境のチェック
    SerenaにはPython 3.11が必要です。ターミナルを開き、次のようにタイプしてください:
python --version

3.11より低いバージョンを使っている場合は、Pythonのウェブサイトからダウンロードしてインストールしてください。

  1. ダウンロード・プロジェクト
    https://github.com/oraios/serena、"Code "をクリックし、HTTPSリンクをコピーする。ターミナルで実行する:
git clone https://github.com/oraios/serena.git

プロジェクトはローカルにダウンロードされる。

  1. 据付工具 uv
    Serena は依存関係を管理するために uv を使用します。uvのインストールはhttps://docs.astral.sh/uv/getting-started/installation/。Linux/macOSなどで実行してください:
curl -LsSf https://astral.sh/uv/install.sh | sh
  1. 依存関係のインストール
    プロジェクト・カタログにアクセスする:
cd serena

基本的な依存関係をインストールします:

uv pip install -e .

Agnoフレームワークを使用したい場合は、すべての依存関係をインストールしてください:

uv pip install --all-extras -e .
  1. 設定項目
    サンプル設定ファイルをコピーする:
cp myproject.demo.yml myproject.yml

コンパイラ myproject.ymlセッティング

  • project_rootあなたのコードパス。 /home/user/mycode.
  • language言語タイプ python.
  • ignored_dirsなどのフォルダは無視する。 .git.
    ファイルを保存する。

活性化法

Serena は、MCP サーバーと Agno フレームワークの 2 つの主要な使用方法をサポートしています。

MCPサーバー(クロードデスクトップ付き)

  1. クロードデスクトップのインストール
    ダウンロードは https://claude.ai/download (Windows版、macOS版)。
  2. MCPの設定
    クロードデスクトップを開き、「ファイル」→「設定」→「開発者」→「MCPサーバー」→「コンフィグを編集」を選択し、編集します。 claude_desktop_config.json加える:
{
"mcpServers": {
"serena": {
"command": "/path/to/uv",
"args": ["run", "--directory", "/path/to/serena", "serena-mcp-server", "/path/to/myproject.yml"]
}
}
}

そうしれいかん /path/to/uv 歌で応える /path/to/serena Windows ユーザーはダブル・バックスラッシュ (\) に注意。

  1. アクティベート
    保存してクロードデスクトップを再起動すると、インターフェイスに Serena ツール (小さなハンマーのアイコン) が表示されます。

アグノ・フレームワーク

  1. UIのインストール
    ダウンロード Agno UI:

    npx create-agent-ui@latest
    

    または手動クローニング:

    git clone https://github.com/agno-agi/agent-ui.git
    cd agent-ui
    pnpm install
    pnpm dev
    
  2. 設定環境
    Serenaディレクトリに .env.example というのも .env有料モデルを使用している場合は)APIキーを記入してください。
  3. アグノをスタートさせる。
    セレナのカタログに載っている:

    uv run python scripts/agno_agent.py
    

    クロードはデフォルトで使用され、スクリプトで別のモデルに変更することができる。

  4. UIへの接続
    ブラウザ(通常http://localhost:5173)でAgno UIを開き、Agnoエージェントに接続します。

コア機能の操作

意味検索

ある関数への参照を見つけようとしている:

  1. ClaudeまたはAgnoのインターフェイスに "Find "のようなリクエストを入力する。 my_function 引用の"
  2. セレーナ、電話して。 find_symbol関数の定義と参照場所を返す。

コードエディタ

新しいコードを挿入する:

  1. 支出 read_file 資料を見る
    read_file path/to/file.py
    
  2. 支出 insert_at_line 例えば、5行目にコードを追加する:
    insert_at_line path/to/file.py 5 'print("Test")'
    
  3. ファイルをチェックして変更を確認する。

コマンド実行

テストを実行する:

  1. インプット:
    execute_shell_command 'pytest tests/'
    
  2. セレナが実行し、結果を返す。何か問題があれば、修正を提案する。

注目の機能操作

プロジェクト概要

コードの構造を素早く理解する:

  1. インプット:
    get_dir_overview
    
  2. Serena はディレクトリ内のファイルとトップレベルのシンボルを返す。

自動化された分析と推奨

問題を分析する

  1. でテストを実行した後 think_about_collected_information::
    think_about_collected_information
    
  2. Serenaはログや出力に基づいて修正を提案する。

ほら

  • 経路問題相対パスエラーを避けるため、絶対パスを使用します。
  • 安全性アグノ・モードexecute_shell_command 確認の必要はない。
  • ログロギング・ウィンドウを有効にします。 myproject.yml 投資管理 show_logs: true)で簡単にデバッグできる。
  • バージョン管理コードの紛失を防ぐため、Gitで管理することをお勧めします。

以上の手順で、Serenaを簡単に使いこなし、プログラミングの効率を向上させることができる。

 

アプリケーションシナリオ

  1. 迅速なバグ修正
    テストが失敗すると、セレナはスクリプトを実行し、ログを分析し、緊急修正に適したコード変更を提案する。
  2. オープンソースプロジェクトについて学ぶ
    Serena を使用して見慣れないコードベースを分析し、構造の概要を生成して、コア ロジックをすばやく把握できます。
  3. プロトタイピング
    個々の開発者は、Serena を使用してコードを挿入し、テストを実行し、アイデアをすばやく検証します。

 

品質保証

  1. セレナは完全にフリーですか?
    はい、オープンソースでサブスクリプションは必要ありません。Claude Free Editionのような無料のLLMと組み合わせてお使いください。
  2. 対応言語は?
    Python、Java、TypeScriptを直接サポート。Ruby、Go、C#を間接的にサポート(手動設定が必要、完全にはテストされていません)。
  3. 大きなプロジェクトにはどのように対処していますか?
    SerenaはLSPで効率的にコードを解析します。推奨構成 ignored_dirs 余計なフォルダは無視する。
無断転載を禁じます:チーフAIシェアリングサークル " Serena: 意味検索とコード編集のためのフリーMCPツール
ja日本語