editor-code-assistant/eca
Editor Code Assistant (ECA) - AI pair programming capabilities agnostic of editor
解決する課題
ECA は、標準化されたエディタ非依存の方法で大規模言語モデル(LLM)をさまざまなコードエディタに統合します。各エディタが独自に複雑な AI ロジックを実装する必要がなくなり、開発者は Emacs、VS Code、IntelliJ など異なるツール間で一貫した AI ペアプログラミング体験と単一の設定を享受できます。
仕組み
ECA は Clojure で書かれたサーバーで、Language Server Protocol(LSP)にヒントを得ています。エディタは eca server で ECA サーバーを起動し、stdin/stdout を通じて通信します。このサーバーはツール呼び出し、複数の LLM とのやり取り、テレメトリを管理するミドルレイヤーとして機能し、エディタは編集と変更計画の UI に集中できます。
対象ユーザー
複数のコードエディタを使用する開発者や、OpenAI、Anthropic、Copilot、ローカルの Ollama モデルなど幅広い LLM プロバイダーをサポートする一貫したオープンソース AI アシスタントを求めるユーザー向けに設計されています。
ハイライト
- エディタ非依存プロトコル:統一されたプロトコルにより、どのエディタでも AI 機能を簡単に統合可能。
- マルチモデルサポート:OpenAI、Anthropic、Copilot、Ollama 経由のローカルモデルなど、さまざまなプロバイダーに対応。
- エージェント機能:異なるモデル、ツール、振る舞いを持つ複数のエージェントやサブエージェントの設定をサポート。
- 包括的機能セット:チャット、コードリライト、コード補完を含む。
- コンテキスト認識:MCP リソースやプロンプトを含む詳細なコードコンテキストを LLM に提供可能。
- 可観測性:OpenTelemetry を統合し、ツールとサーバーの使用状況メトリクスをエクスポート。