Serena は、大規模言語モデル(LLM)を、コードベース上で直接動作するフル機能のプログラミングエージェントに変換できる、強力なプログラミングインテリジェントエージェントツールキットです。このプロジェクトは Oraios AI によって開発され、開発者コミュニティにオープンソースとして貢献されています。
これらの言語は、Serena の基盤で使用されている multilspy 言語サーバーライブラリによってサポートされています。
Serena は MCP サーバーを提供し、以下のクライアントと統合できます。
Agno(モデルに依存しないエージェントフレームワーク)を通じて、Serena はほぼすべての LLM をプログラミングエージェントに変換できます。以下をサポートします。
Serena のツール実装はフレームワーク固有のコードから分離されており、あらゆるエージェントフレームワークに簡単に適応できます。
Serena は、以下のプログラミングタスクに使用できます。
uv
をインストールします(インストール手順は公式ドキュメントを参照してください)/path/to/serena
にクローンしますserena_config.template.yml
を serena_config.yml
としてコピーし、設定を調整しますmyproject.template.yml
を myproject.yml
としてコピーし、プロジェクト固有の設定を調整しますserena_config.yml
の projects
リストに追加しますmyproject.yml
を作成しますclaude_desktop_config.json
に以下を追加します。{
"mcpServers": {
"serena": {
"command": "/abs/path/to/uv",
"args": ["run", "--directory", "/abs/path/to/serena", "serena-mcp-server", "--project-file", "/abs/path/to/myproject.yml"]
}
}
}
goose configure
を使用して拡張機能を追加します/abs/path/to/uv run --directory /abs/path/to/serena serena-mcp-server /optional/abs/path/to/project.yml
developer
拡張機能を無効にしますnpx create-agent-ui@latest
uv pip install --all-extras -r pyproject.toml -e .
.env.example
を .env
としてコピーし、API キーを入力しますuv run python scripts/agno_agent.py
cd agent-ui && pnpm dev
execute_shell_command
ツールは任意のコード実行を許可するため、慎重に使用する必要がありますread_only: true
)をサポートし、分析と提案のみを許可し、コードベースを変更しません利点:
短所:
利点:
類似点:
.serena/memories/
に保存されますgit config --global core.autocrlf true
を設定します以下は、Serena のすべてのツールの完全なリストです。
activate_project
: 名前でプロジェクトをアクティブ化しますcheck_onboarding_performed
: 入門ガイドが実行されたかどうかを確認しますcreate_text_file
: プロジェクトディレクトリにファイルを作成/上書きしますdelete_lines
: ファイルから行範囲を削除しますdelete_memory
: Serena のプロジェクト固有のメモリストレージから記憶を削除しますexecute_shell_command
: シェルコマンドを実行しますfind_referencing_code_snippets
: 指定された位置のシンボルを参照するコードスニペットを検索しますfind_referencing_symbols
: 指定された位置のシンボルを参照するシンボルを検索しますfind_symbol
: グローバル(またはローカル)シンボル検索を実行しますget_active_project
: 現在アクティブなプロジェクト名を取得しますget_symbols_overview
: ファイルまたはディレクトリ内のトップレベルシンボルの概要を取得しますinsert_after_symbol
: シンボル定義の終了後にコンテンツを挿入しますinsert_at_line
: ファイルの指定された行にコンテンツを挿入しますinsert_before_symbol
: シンボル定義の開始前にコンテンツを挿入しますlist_dir
: ディレクトリ内のファイルとディレクトリをリスト表示しますlist_memories
: メモリストレージ内の記憶をリスト表示しますonboarding
: 入門ガイドを実行しますprepare_for_new_conversation
: 新しい会話の準備をしますread_file
: プロジェクトディレクトリ内のファイルを読み取りますread_memory
: 指定された名前の記憶を読み取りますreplace_lines
: ファイル内の行範囲を新しいコンテンツで置き換えますreplace_symbol_body
: シンボルの完全な定義を置き換えますrestart_language_server
: 言語サーバーを再起動しますsearch_for_pattern
: プロジェクト内でパターンを検索しますsummarize_changes
: コードベースの変更の概要説明を提供しますthink_about_collected_information
: 収集された情報の完全性を考慮するための思考ツールthink_about_task_adherence
: エージェントが現在のタスクの正しい軌道に乗っているかどうかを判断するための思考ツールthink_about_whether_you_are_done
: タスクが本当に完了したかどうかを判断するための思考ツールwrite_memory
: 将来の参照のために、名前付きの記憶をメモリストレージに書き込みますSerena は、セマンティックコード理解と多様な統合方法を通じて、開発者に無料かつ強力な AI プログラミングアシスタントソリューションを提供する、機能豊富で完全にオープンソースのプログラミングインテリジェントエージェントツールキットです。 MCP サーバーを介して Claude Desktop と統合する場合でも、Agno フレームワークを介してさまざまな LLM を使用する場合でも、Serena はプログラミング効率とコード品質を大幅に向上させることができます。