MCPcopy Index your code
hub / github.com/aws-samples/bedrock-engineer

github.com/aws-samples/bedrock-engineer @v1.22.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.22.0 ↗ · + Follow
2,303 symbols 5,658 edges 537 files 467 documented · 20%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Language: English / Japanese

[!IMPORTANT]

🧙 Bedrock Engineer

Bedrock Engineer は、Amazon Bedrock を活用したソフトウェア開発タスクのための AI アシスタントです。大規模な言語モデルと実際のファイルシステム操作、Web検索機能などを含む自律的な AI エージェントがあなたの開発を支援します。

💻 デモ

https://github.com/user-attachments/assets/f6ed028d-f3c3-4e2c-afff-de2dd9444759

Deck

🍎 はじめに

Bedrock Engineer はネイティブアプリです。アプリをダウンロードするか、ソースコードをビルドして使用してください。

Download

MacOS:

Download Latest Release

Windows:

Download Latest Release

MacOS に最適化されていますが、Windows, Linux OS でもビルドして使用できます。不具合がある場合、issue に起票ください。

Tips for Installation

インストール

  1. 最新リリース(PKGファイル)をダウンロードします
  2. PKGファイルをダブルクリックしてインストールを開始します
  3. セキュリティ警告が表示された場合、以下の手順に従います
  4. アプリを起動し、AWS認証情報を設定します(プロキシ環境の場合はプロキシ設定も併せて設定してください)

macOS セキュリティ警告

PKGファイルを開く際に、以下のセキュリティ警告が表示される場合があります:

PKG セキュリティ警告

解決方法:

  1. 「完了」をクリックして警告ダイアログを閉じます
  2. システム環境設定 → プライバシーとセキュリティを開きます
  3. セキュリティセクションまでスクロールします
  4. 「お使いのMacを保護するために "bedrock-engineer-1.19.2.pkg" がブロックされました」を見つけます
  5. 「このまま開く」ボタンをクリックします

このセキュリティ警告は、アプリケーションがMac App Store経由で配布されていないために表示されます。

PKG Security Warning Privacy Setting

macOS コード署名(必須)

macOS のセキュリティ制限により、インストール後に以下のコマンドを実行してアプリケーションに署名する必要があります。

sudo codesign --force --deep --sign - "/Applications/Bedrock Engineer.app"

このアドホックコード署名は、システムの許可ダイヤログの適切な処理を含め、アプリケーションが macOS 上で正しく動作するために必要です。

設定ファイルの問題

アプリケーション起動時に設定ファイルエラーが発生する場合、以下の設定ファイルを確認ください。設定ファイルを削除してアプリケーションを再起動し直しても起動できない場合、issue に起票ください。

/Users/{{username}}/Library/Application Support/bedrock-engineer/config.json

ビルド

まず、npmモジュールをインストールします。

npm ci

次に、アプリケーションパッケージをビルドします。

npm run build:mac

または

npm run build:win

または

npm run build:linux

distディレクトリに保存されたアプリケーションを使用します。

エージェントチャット

開発ができる自律的な AI エージェントが、あなたの開発を支援します。これは Cline のような AI アシスタントに似た機能を提供していますが、VS Code のようなエディタに依存しない独自の UI を備えています。これにより、Bedrock Engineer のエージェントチャット機能では、よりリッチな図解と対話型の体験が可能になります。また、エージェントのカスタマイズ機能により、開発以外のユースケースにおいても、エージェントを活用することができます。

  • 💬 人間のような Amazon Nova, Claude, Meta llama モデルとの対話型チャットインターフェース。
  • 📁 ファイルシステム操作(フォルダ作成、ファイル作成、ファイル読み/書き)
  • 🔍 Tavily APIを使用したWeb検索機能
  • 🏗️ プロジェクト構造の作成と管理
  • 🧐 コード分析と改善提案
  • 📝 コードの生成と実行
  • 📊 データ分析と可視化
  • 💡 エージェントのカスタマイズと管理
  • 🛠️ ツールのカスタマイズと管理
  • 🔄 チャット履歴の管理
  • 🌐 多言語対応
  • 🛡️ ガードレール対応
  • 💡 軽量処理用モデルによるコスト最適化
agent-chat-diagram agent-chat-search
コード分析と図解 Tavily API を使用した Web 検索

エージェントを選択する

左上のメニューからエージェントを選択します。デフォルトでは汎用的なソフトウェア開発に特化した Software Developer, プログラミング学習を支援する Programming Mentor, サービスやプロダクトの構想段階を支援する Product Designer を搭載しています。

select-agents

エージェントをカスタマイズする

エージェントの設定をカスタマイズします。エージェントの名前と説明を入力し、システムプロンプトを入力します。システムプロンプトはエージェントの振る舞いを決定する重要な要素です。エージェントの目的や規制事項、役割、使用できるツールと使うタイミングを明確にしておくことで、より適切な回答を得ることができます。

custom-agents

ツールを選択する/カスタマイズする

左下の Tools アイコンをクリックして、エージェントが使用できるツールを選択します。ツールはエージェントごとに個別に設定できます。

select-tools

サポートしているツールは以下の通りです。

📂 ファイルシステム操作

ツール名 説明
createFolder プロジェクト構造内に新しいディレクトリを作成します。指定されたパスに新規フォルダを作成します。
writeToFile 既存のファイルに内容を書き込みます。ファイルが存在しない場合は作成され、既存の場合は内容が更新されます。
readFiles 複数のファイルの内容を一度に読み取ります。テキストファイルおよびExcelファイル(.xlsx, .xls)に対応しており、Excelファイルは自動的にCSV形式に変換されます。
listFiles ディレクトリ構造を階層形式で表示します。すべてのサブディレクトリとファイルを含む包括的なプロジェクト構造を取得できます。設定で指定された無視ファイルパターンに従います。
moveFile ファイルを別の場所に移動します。プロジェクト構造内でのファイル整理に使用します。
copyFile ファイルを別の場所に複製します。プロジェクト構造内でファイルの複製が必要な場合に使用します。

🌐 Web & 検索操作

ツール名 説明
tavilySearch Tavily APIを使用してウェブ検索を実行します。最新の情報や追加のコンテキストが必要な場合に使用します。APIキーが必要です。
fetchWebsite 指定されたURLからコンテンツを取得します。大きなコンテンツは自動的に管理可能なチャンクに分割されます。初回呼び出しでチャンク数の概要を取得し、必要に応じて特定のチャンクを取得できます。GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONSメソッドをサポートし、カスタムヘッダーやボディの設定が可能です。

🤖 Amazon Bedrock 統合機能

ツール名 説明
generateImage Amazon Bedrock で提供される LLM を使用して画像を生成します。デフォルトでstability.sd3-5-large-v1:0を使用し、Stability.aiモデルとAmazonモデルの両方をサポートします。Titanモデル用の特定のアスペクト比とサイズをサポートし、PNG、JPEG、WebP形式での出力が可能です。決定論的な生成のためのシード値の指定や、ネガティブプロンプトによる除外要素の指定も可能です。
recognizeImage Amazon Bedrockの画像認識機能を使用して画像を分析します。物体検出、テキスト検出、シーン理解、画像キャプション生成などの様々な分析タイプをサポートしています。ローカルファイルの画像を処理できます。コンテンツモデレーション、アクセシビリティ機能、自動タグ付け、ビジュアル検索アプリケーションなどに活用できる詳細な分析結果を提供します。
generateVideo Amazon Nova Reelを使用して動画を生成します。テキストプロンプトや画像から現実的で高品質な動画を作成します。TEXT_VIDEO(6秒)、MULTI_SHOT_AUTOMATED(12-120秒)、MULTI_SHOT_MANUALモードをサポートし、ジョブARNを即座に返してステータス追跡が可能です。S3設定が必要です。
checkVideoStatus 実行ARNを使用して動画生成ジョブのステータスを確認します。現在のステータス、完了時刻、完了時のS3の場所を返します。動画生成ジョブの進行状況を監視するために使用します。
downloadVideo 実行ARNを使用してS3から完成した動画をダウンロードします。ジョブステータスからS3の場所を自動的に取得し、指定されたローカルパスまたはプロジェクトディレクトリにダウンロードします。checkVideoStatusでステータスが「Completed」と表示された場合にのみ使用してください。
retrieve Amazon Bedrock Knowledge Baseを使用して情報を検索します。指定されたナレッジベースから関連情報を取得します。
invokeBedrockAgent 指定されたAmazon Bedrock Agentと対話します。エージェントIDとエイリアスIDを使用して対話を開始し、セッションIDを使用して会話を継続できます。Pythonコード分析やチャットなど、様々なユースケースに対応したファイル分析機能も提供します。
invokeFlow Amazon Bedrock Flowsを実行してカスタムデータ処理パイプラインを実現します。エージェント固有のフロー設定と複数の入力データ型(文字列、数値、真偽値、オブジェクト、配列)をサポートします。柔軟な入出力処理により、複雑なワークフローやカスタマイズされたデータ処理シーケンスの自動化を可能にします。データ変換、多段階処理、他のAWSサービスとの統合に最適です。

💻 システムコマンド & コード実行

ツール名 説明
executeCommand コマンドの実行やプロセスへの入力送信を管理します。2つの動作モードがあり、1)コマンドと作業ディレクトリを指定して新規プロセスを開始、2)既存のプロセスIDを指定して標準入力を送信できます。セキュリティ上の理由から、許可されたコマンドのみが実行可能で、設定で指定されたシェルを使用します。登録されていないコマンドは実行できません。データベースに接続するコマンド、APIを実行するコマンド、別の AI エージェントを呼び出すコマンドなどを登録することで、エージェントの能力を拡張することができます。
codeInterpreter セキュアなDocker環境でPythonコードを実行します。データサイエンス用ライブラリがプリインストールされた環境で、セキュリティのためインターネットアクセスなしでコードを実行できます。2つの環境をサポート:「basic」(numpy、pandas、matplotlib、requests)、「datascience」(scikit-learn、scipy、seabornなどを含む完全なMLスタック)。入力ファイルは/data/ディレクトリに読み取り専用でマウント可能です。生成されたファイルは自動的に検出・報告されます。データ分析、可視化、ML実験に最適です。
screenCapture 現在の画面をキャプチャしてPNG画像ファイルとして保存します。オプションでAIビジョンモデル(Claude/Nova)を使用してキャプチャした画像を分析し、テキスト内容の抽出、UI要素の識別、デバッグやドキュメント作成のための詳細な視覚的説明を提供します。プラットフォーム固有の権限が必要です(macOS:システム環境設定でScreen Recording権限が必要)。
cameraCapture HTML5 getUserMedia APIを使用してPCのカメラから画像をキャプチャし、画像ファイルとして保存します。異なる品質設定(低、中、高)と形式(JPG、PNG)をサポートします。オプションでAIを使用してキャプチャした画像を分析し、テキスト内容の抽出、オブジェクトの識別、分析やドキュメント作成のための詳細な視覚的説明を提供します。ブラウザ設定でカメラアクセス権限が必要です。

Tips for Integrate Bedrock Agents

APT (Agent Preparation Toolkit) を活用する

Agent Preparation Toolkit を使用することで、Amazon Bedrock Agents を使ってすぐに Agent を動かすことができます。

MCP (Model Context Protocol) クライアント統合

Model Context Protocol (MCP) クライアント統合により、Bedrock Engineerは外部のMCPサーバーに接続し、強力な外部ツールを動的にロードして使用することができるようになりました。この統合により、AIアシスタントがMCPサーバーが提供するツールにアクセスして利用できるようになり、その能力が拡張されます。

MCPサーバーの設定方法の詳細については、MCPサーバー設定ガイドを参照してください。

Background Agent

cron 式を使用して AI エージェントタスクを指定した間隔で自動実行します。Background Agent により、リアルタイム実行通知付きの継続的なワークフロー自動化が可能になります。

background-agent

主な機能

  • 🕒 スケジュール実行: cron式を使用したタスクの自動化(毎時、毎日、毎週など)
  • 🔄 セッション継続: タスク実行間での会話コンテキストの維持
  • 手動実行: 必要に応じて即座にタスクを実行
  • 📊 実行追跡: タスク履歴とパフォーマンスの監視
  • 🔔 リアルタイム通知: タスク結果の即座フィードバック

Agent Directory

Agent Directoryは、優れたコントリビューターによって作成されたAIエージェントを発見してすぐに使用できるコンテンツハブです。様々なタスクや専門分野向けに設計された厳選済みのエージェントコレクションを提供しています。

agent-directory

機能

  • コレクションの閲覧 - コミュニティによって作成された専門的なエージェントの拡大するライブラリを探索
  • 検索とフィルタリング - 検索機能またはタグによるフィルタリングを使用して、ニーズに合ったエージェントを素早く発見
  • 詳細情報の表示 - 各エージェントの作成者、システムプロンプト、対応ツール、使用シナリオなどの包括的な情報を確認
  • ワンクリック追加 - ワンクリックで任意のエージェントを個人コレクションに追加し、すぐに使用開始
  • エージェントの投稿 - コントリビューターになって、あなたのカスタムエージェントをコミュニティと共有

Agent Directoryの使い方

  1. 閲覧と検索 - 検索バーを使用して特定のエージェントを見つけるか、コレクション全体を閲覧
  2. タグでフィルタリング - タグをクリックしてカテゴリ、専門分野、機能によりエージェントをフィルタリング
  3. 詳細を表示 - 任意のエージェントを選択して、システムプロンプト全文、対応ツール、使用シナリオを確認
  4. コレクションに追加 - 「マイエージェントに追加」をクリックして、個人コレクションにエージェントを追加

組織共有

AWS S3ストレージを使用して、チームや組織内でエージェントを共有できます。この機能により以下が可能になります:

  • チームにおける共有 - 特定のチームや部門とカスタムエージェントを共有
  • 集中管理 - S3バケットを通じて組織固有のエージェントを管理

詳細なセットアップ手順については、組織共有ガイドを参照してください。

エージェントの追加方法

コントリビューターになって、あなたのカスタムエージェントをコミュニティと共有しましょう:

  1. カスタムエージェントを共有ファイルとしてエクスポート
  2. 作者としてGitHubユーザー名を追加(推奨)
  3. プルリクエストまたはGitHub Issueでエージェントを提出

Agent Directoryに貢献することで、Bedrock Engineerの機能を向上させる専門的なAIエージェントの貴重なリソース構築に協力できます。

プロキシ環境での使用

bedrock-engineer はプロキシ環境での使用に対応しています。

設定方法

  1. アプリを起動し、設定画面を開きます
  2. 「Proxy Settings」セクションを見つけます
  3. 「プロキシを有効にする」にチェックを入れます
  4. 以下の情報を入力します:
  5. プロキシホスト: プロキシサーバーのホスト名またはIPアドレス
  6. ポート: プロキシサーバーのポート番号(通常は8080)
  7. プロトコル: HTTPまたはHT

Extension points exported contracts — how you extend this code

ToolLogger (Interface)
(no doc) [2 implementers]
src/preload/tools/base/types.ts
OrganizationConfig (Interface)
(no doc)
src/types/agent-chat.ts
AppRoute (Interface)
(no doc)
src/renderer/src/routes.tsx
ProxyAgentOptions (Interface)
(no doc)
src/main/lib/proxy-utils.ts
PlaceholderValues (Interface)
(no doc)
src/common/utils/placeholderUtils.ts
RecognizeImageInput (Interface)
* Input type for RecognizeImageTool
src/preload/tools/handlers/bedrock/RecognizeImageTool.ts
IPCChannelDefinitions (Interface)
(no doc)
src/types/ipc.ts
IgnoreSettingsModalProps (Interface)
(no doc)
src/renderer/src/components/IgnoreSettingsModal.tsx

Core symbols most depended-on inside this repo

error
called by 511
src/preload/tools/base/types.ts
info
called by 259
src/preload/tools/base/types.ts
debug
called by 228
src/preload/tools/base/types.ts
useTranslation
called by 148
src/renderer/src/pages/SpeakPage/hooks/useTranslation.ts
warn
called by 130
src/preload/tools/base/types.ts
success
called by 34
src/renderer/src/services/ToastService.ts
useSettings
called by 32
src/renderer/src/contexts/SettingsContext.tsx
addEventListener
called by 25
src/renderer/src/pages/SpeakPage/lib/AudioPlayer.ts

Shape

Function 1,050
Method 644
Interface 433
Class 173
Enum 3

Languages

TypeScript100%

Modules by API surface

src/main/api/sonic/client.ts54 symbols
src/renderer/src/contexts/SettingsContext.tsx32 symbols
src/preload/tools/base/errors.ts31 symbols
src/main/api/bedrock/services/backgroundAgent/BackgroundAgentService.ts29 symbols
src/renderer/src/pages/SpeakPage/index.tsx28 symbols
src/main/api/bedrock/services/backgroundAgent/BackgroundChatSessionManager.ts28 symbols
src/main/api/bedrock/index.ts27 symbols
src/main/api/bedrock/services/backgroundAgent/BackgroundAgentScheduler.ts26 symbols
src/preload/tools/registry.ts25 symbols
src/preload/tools/handlers/interpreter/DockerExecutor.ts23 symbols
src/main/store/todoSession.ts22 symbols
src/main/store/chatSession.ts21 symbols

Datastores touched

mydbDatabase · 1 repos

For agents

$ claude mcp add bedrock-engineer \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact