はじめに
Serenaは、Oraios AIチームによって開発され、GitHubでホストされているフリーでオープンソースのプログラミングツールです。Serenaは言語サーバープロトコル(LSP)を通じてセマンティック解析を可能にし、コード構造の迅速な理解を可能にします。また、Claude などの大規模な言語モデル (LLM) やその他の無料モデルと、追加サブスクリプション費用なしで統合できます。Serena はもともと、開発者を高価なツール依存から解放し、実用的で効率的なプログラミング サポートを提供するために設計されました。個人の開発者、小規模なチーム、そして大規模なプロジェクトにも適しています。
機能一覧
- 意味検索:コードの意味に基づいてシンボル、参照、定義を見つける。
- コード編集:正確な操作でコードブロックの挿入、置換、削除をサポート。
- コマンド実行:プロジェクト内でテストやスクリプトを実行し、結果を確認できます。
- プロジェクト概要:ディレクトリ構造とファイル内容の概要を表示します。
- 多言語サポート:Python、Java、TypeScriptを直接サポート。
- メモリー保存:分析記録を保存し、後で使用することができます。
- LLMインテグレーション:MCPまたはAgnoフレームワークを通して言語モデルと連携します。
- オープンソースで無料:APIキーも支払いも必要ありません。
ヘルプの使用
Serenaのインストールと使用にはいくつかの手順がありますが、全体的に難しくはありません。以下は、インストール、設定、主要機能の操作方法についての詳細な説明である。
設置プロセス
- 環境のチェック
SerenaにはPython 3.11が必要です。ターミナルを開き、次のようにタイプしてください:
python --version
3.11より低いバージョンを使っている場合は、Pythonのウェブサイトからダウンロードしてインストールしてください。
- ダウンロード・プロジェクト
https://github.com/oraios/serena、"Code "をクリックし、HTTPSリンクをコピーする。ターミナルで実行する:
git clone https://github.com/oraios/serena.git
プロジェクトはローカルにダウンロードされる。
- 据付工具 uv
Serena は依存関係を管理するために uv を使用します。uvのインストールはhttps://docs.astral.sh/uv/getting-started/installation/。Linux/macOSなどで実行してください:
curl -LsSf https://astral.sh/uv/install.sh | sh
- 依存関係のインストール
プロジェクト・カタログにアクセスする:
cd serena
基本的な依存関係をインストールします:
uv pip install -e .
Agnoフレームワークを使用したい場合は、すべての依存関係をインストールしてください:
uv pip install --all-extras -e .
- 設定項目
サンプル設定ファイルをコピーする:
cp myproject.demo.yml myproject.yml
コンパイラ myproject.yml
セッティング
project_root
あなたのコードパス。/home/user/mycode
.language
言語タイプpython
.ignored_dirs
などのフォルダは無視する。.git
.
ファイルを保存する。
活性化法
Serena は、MCP サーバーと Agno フレームワークの 2 つの主要な使用方法をサポートしています。
MCPサーバー(クロードデスクトップ付き)
- クロードデスクトップのインストール
ダウンロードは https://claude.ai/download (Windows版、macOS版)。 - 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 ユーザーはダブル・バックスラッシュ (\) に注意。
- アクティベート
保存してクロードデスクトップを再起動すると、インターフェイスに Serena ツール (小さなハンマーのアイコン) が表示されます。
アグノ・フレームワーク
- 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
- 設定環境
Serenaディレクトリに.env.example
というのも.env
有料モデルを使用している場合は)APIキーを記入してください。 - アグノをスタートさせる。
セレナのカタログに載っている:uv run python scripts/agno_agent.py
クロードはデフォルトで使用され、スクリプトで別のモデルに変更することができる。
- UIへの接続
ブラウザ(通常http://localhost:5173)でAgno UIを開き、Agnoエージェントに接続します。
コア機能の操作
意味検索
ある関数への参照を見つけようとしている:
- ClaudeまたはAgnoのインターフェイスに "Find "のようなリクエストを入力する。
my_function
引用の" - セレーナ、電話して。
find_symbol
関数の定義と参照場所を返す。
コードエディタ
新しいコードを挿入する:
- 支出
read_file
資料を見るread_file path/to/file.py
- 支出
insert_at_line
例えば、5行目にコードを追加する:insert_at_line path/to/file.py 5 'print("Test")'
- ファイルをチェックして変更を確認する。
コマンド実行
テストを実行する:
- インプット:
execute_shell_command 'pytest tests/'
- セレナが実行し、結果を返す。何か問題があれば、修正を提案する。
注目の機能操作
プロジェクト概要
コードの構造を素早く理解する:
- インプット:
get_dir_overview
- Serena はディレクトリ内のファイルとトップレベルのシンボルを返す。
自動化された分析と推奨
問題を分析する
- でテストを実行した後
think_about_collected_information
::think_about_collected_information
- Serenaはログや出力に基づいて修正を提案する。
ほら
- 経路問題相対パスエラーを避けるため、絶対パスを使用します。
- 安全性アグノ・モード
execute_shell_command
確認の必要はない。 - ログロギング・ウィンドウを有効にします。
myproject.yml
投資管理show_logs: true
)で簡単にデバッグできる。 - バージョン管理コードの紛失を防ぐため、Gitで管理することをお勧めします。
以上の手順で、Serenaを簡単に使いこなし、プログラミングの効率を向上させることができる。
アプリケーションシナリオ
- 迅速なバグ修正
テストが失敗すると、セレナはスクリプトを実行し、ログを分析し、緊急修正に適したコード変更を提案する。 - オープンソースプロジェクトについて学ぶ
Serena を使用して見慣れないコードベースを分析し、構造の概要を生成して、コア ロジックをすばやく把握できます。 - プロトタイピング
個々の開発者は、Serena を使用してコードを挿入し、テストを実行し、アイデアをすばやく検証します。
品質保証
- セレナは完全にフリーですか?
はい、オープンソースでサブスクリプションは必要ありません。Claude Free Editionのような無料のLLMと組み合わせてお使いください。 - 対応言語は?
Python、Java、TypeScriptを直接サポート。Ruby、Go、C#を間接的にサポート(手動設定が必要、完全にはテストされていません)。 - 大きなプロジェクトにはどのように対処していますか?
SerenaはLSPで効率的にコードを解析します。推奨構成ignored_dirs
余計なフォルダは無視する。