Skip to content

Commit 9779a9b

Browse files
Merge pull request #49 from aws-samples/toolSettingWithAgent
Agent Directory and Allows you to configure the Tool for each Agent
2 parents fcfd83f + ad40fa6 commit 9779a9b

File tree

82 files changed

+6925
-1379
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+6925
-1379
lines changed

.bedrock-engineer/agents/developer-for-bedrock-engineer.yaml

+252-234
Large diffs are not rendered by default.

README-ja.md

+36-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
Language: [English](./README.md) / [Japanese](./README-ja.md)
22

3+
> [!IMPORTANT]
4+
> v1.6.0 からエージェントごとにツールの設定が可能になりました。v1.6.0 以前のバージョンで作成していたエージェントのプロンプトはそのままご利用いただけますが、エージェントごとに利用できるツールを設定する必要がありますのでご注意ください。
5+
36
# 🧙 Bedrock Engineer
47

58
Bedrock Engineer は、[Amazon Bedrock](https://aws.amazon.com/bedrock/) を活用したソフトウェア開発タスクのための AI アシスタントです。大規模な言語モデルと実際のファイルシステム操作、Web検索機能などを含む自律的な AI エージェントがあなたの開発を支援します。
@@ -16,7 +19,7 @@ Bedrock Engineer はネイティブアプリです。アプリをダウンロー
1619

1720
MacOS:
1821

19-
[<img src="https://img.shields.io/badge/Download_FOR_MAC-Latest%20Release-blue?style=for-the-badge&logo=apple" alt="Download Latest Release" height="40">](https://github.com/aws-samples/bedrock-engineer/releases/latest/download/bedrock-engineer-1.5.1.dmg)
22+
[<img src="https://img.shields.io/badge/Download_FOR_MAC-Latest%20Release-blue?style=for-the-badge&logo=apple" alt="Download Latest Release" height="40">](https://github.com/aws-samples/bedrock-engineer/releases/latest/download/bedrock-engineer-1.6.0.dmg)
2023

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

@@ -107,7 +110,7 @@ npm run build:linux
107110

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

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

112115
![select-tools](./assets/select-tools.png)
113116

@@ -155,6 +158,37 @@ npm run build:linux
155158

156159
</details>
157160

161+
## Agent Directory
162+
163+
Agent Directoryは、優れたコントリビューターによって作成されたAIエージェントを発見してすぐに使用できるコンテンツハブです。様々なタスクや専門分野向けに設計された厳選済みのエージェントコレクションを提供しています。
164+
165+
![agent-directory](./assets/agent-directory.png)
166+
167+
### 機能
168+
169+
- **コレクションの閲覧** - コミュニティによって作成された専門的なエージェントの拡大するライブラリを探索
170+
- **検索とフィルタリング** - 検索機能またはタグによるフィルタリングを使用して、ニーズに合ったエージェントを素早く発見
171+
- **詳細情報の表示** - 各エージェントの作成者、システムプロンプト、対応ツール、使用シナリオなどの包括的な情報を確認
172+
- **ワンクリック追加** - ワンクリックで任意のエージェントを個人コレクションに追加し、すぐに使用開始
173+
- **エージェントの投稿** - コントリビューターになって、あなたのカスタムエージェントをコミュニティと共有
174+
175+
### Agent Directoryの使い方
176+
177+
1. **閲覧と検索** - 検索バーを使用して特定のエージェントを見つけるか、コレクション全体を閲覧
178+
2. **タグでフィルタリング** - タグをクリックしてカテゴリ、専門分野、機能によりエージェントをフィルタリング
179+
3. **詳細を表示** - 任意のエージェントを選択して、システムプロンプト全文、対応ツール、使用シナリオを確認
180+
4. **コレクションに追加** - 「マイエージェントに追加」をクリックして、個人コレクションにエージェントを追加
181+
182+
### エージェントの追加方法
183+
184+
コントリビューターになって、あなたのカスタムエージェントをコミュニティと共有しましょう:
185+
186+
1. カスタムエージェントを共有ファイルとしてエクスポート
187+
2. 作者としてGitHubユーザー名を追加(推奨)
188+
3. プルリクエストまたはGitHub Issueでエージェントを提出
189+
190+
Agent Directoryに貢献することで、Bedrock Engineerの機能を向上させる専門的なAIエージェントの貴重なリソース構築に協力できます。
191+
158192
## Website Generator
159193

160194
ウェブサイトを描画するソースコードを生成し、リアルタイムにプレビューします。現在は以下のライブラリに対応しています。また、追加で指示を与えることで対話的にコードを生成することができます。

README.md

+36-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
Language: [English](./README.md) / [Japanese](./README-ja.md)
22

3+
> [!IMPORTANT]
4+
> Starting with v1.6.0, it is now possible to set tools for each agent. Agent prompts created in versions prior to v1.6.0 can still be used, but please note that you will need to set the tools available to each agent.
5+
36
# 🧙 Bedrock Engineer
47

58
Bedrock Engineer is Autonomous software development agent apps using [Amazon Bedrock](https://aws.amazon.com/bedrock/), capable of customize to create/edit files, execute commands, search the web, use knowledge base, use multi-agents, generative images and more.
@@ -16,7 +19,7 @@ Bedrock Engineer is a native app, you can download the app or build the source c
1619

1720
MacOS:
1821

19-
[<img src="https://img.shields.io/badge/Download_FOR_MAC-Latest%20Release-blue?style=for-the-badge&logo=apple" alt="Download Latest Release" height="40">](https://github.com/aws-samples/bedrock-engineer/releases/latest/download/bedrock-engineer-1.5.1.dmg)
22+
[<img src="https://img.shields.io/badge/Download_FOR_MAC-Latest%20Release-blue?style=for-the-badge&logo=apple" alt="Download Latest Release" height="40">](https://github.com/aws-samples/bedrock-engineer/releases/latest/download/bedrock-engineer-1.6.0.dmg)
2023

2124
It is optimized for MacOS, but can also be built and used on Windows and Linux OS. If you have any problems, please report an issue.
2225

@@ -107,7 +110,7 @@ Enter the agent's name, description, and system prompt. The system prompt is a c
107110

108111
### Select Tools / Customize Tools
109112

110-
Click the Tools icon in the bottom left to select the tools available to the agent.
113+
Click the Tools icon in the bottom left to select the tools available to the agent. Tools can be configured separately for each agent.
111114

112115
![select-tools](./assets/select-tools.png)
113116

@@ -154,6 +157,37 @@ You can get up and running quickly with Amazon Bedrock Agents by using the [Agen
154157

155158
</details>
156159

160+
## Agent Directory
161+
162+
The Agent Directory is a content hub where you can discover and immediately use AI agents created by skilled contributors. It offers a curated collection of pre-configured agents designed for various tasks and specialties.
163+
164+
![agent-directory](./assets/agent-directory.png)
165+
166+
### Features
167+
168+
- **Browse the Collection** - Explore a growing library of specialized agents created by the community
169+
- **Search & Filter** - Quickly find agents using the search function or filter by tags to discover agents that match your needs
170+
- **Detailed Information** - View comprehensive information about each agent including author, system prompt, supported tools, and usage scenarios
171+
- **One-Click Addition** - Add any agent to your personal collection with a single click and start using it immediately
172+
- **Contribute Your Agents** - Share your custom agents with the community by becoming a contributor
173+
174+
### Using the Agent Directory
175+
176+
1. **Browse and Search** - Use the search bar to find specific agents or browse the entire collection
177+
2. **Filter by Tags** - Click on tags to filter agents by categories, specialties, or capabilities
178+
3. **View Details** - Select any agent to view its complete system prompt, supported tools, and usage scenarios
179+
4. **Add to Your Collection** - Click "Add to My Agents" to add the agent to your personal collection
180+
181+
### Contribute Your Agents
182+
183+
Become a contributor and share your custom agents with the community:
184+
185+
1. Export your custom agent as a shared file
186+
2. Add your GitHub username as the author
187+
3. Submit your agent via Pull Request or GitHub Issue
188+
189+
By contributing to the Agent Directory, you help build a valuable resource of specialized AI agents that enhance the capabilities of Bedrock Engineer for everyone.
190+
157191
## Website Generator
158192

159193
Generate and preview website source code in real-time. Currently supports the following libraries, and you can interactively generate code by providing additional instructions:

assets/agent-directory.png

920 KB
Loading

electron-builder.yml

+3
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ files:
1111
- '!{tsconfig.json,tsconfig.node.json,tsconfig.web.json}'
1212
asarUnpack:
1313
- resources/**
14+
extraResources:
15+
- from: "src/renderer/src/assets/directory-agents"
16+
to: "directory-agents"
1417
win:
1518
executableName: Bedrock Engineer
1619
nsis:

package-lock.json

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "bedrock-engineer",
3-
"version": "1.5.1",
3+
"version": "1.6.0",
44
"description": "Autonomous software development agent apps using Amazon Bedrock, capable of customize to create/edit files, execute commands, search the web, use knowledge base, use multi-agents, generative images and more.",
55
"main": "./out/main/index.js",
66
"homepage": "https://github.com/daisuke-awaji/bedrock-engineer",
@@ -50,6 +50,7 @@
5050
"flowbite-react": "0.10.1",
5151
"framer-motion": "11.3.29",
5252
"i18next": "23.15.0",
53+
"lodash": "^4.17.21",
5354
"lottie-react": "2.4.0",
5455
"mermaid": "11.1.1",
5556
"node-cache": "5.1.2",

src/main/api/command/commandService.ts

+5-2
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,10 @@ export class CommandService {
7979
private isCommandAllowed(commandToExecute: string): boolean {
8080
const executeParts = this.parseCommandPattern(commandToExecute)
8181

82-
return this.config.allowedCommands.some((allowedCmd) => {
82+
// allowedCommands が未定義の場合は空の配列として処理
83+
const allowedCommands = this.config.allowedCommands || []
84+
85+
return allowedCommands.some((allowedCmd) => {
8386
const allowedParts = this.parseCommandPattern(allowedCmd.pattern)
8487

8588
if (allowedParts.command !== executeParts.command) {
@@ -503,7 +506,7 @@ export class CommandService {
503506
}
504507

505508
getAllowedCommands(): CommandPatternConfig[] {
506-
return [...this.config.allowedCommands]
509+
return [...(this.config.allowedCommands || [])]
507510
}
508511

509512
updateConfig(newConfig: CommandConfig): void {

src/main/api/command/types.ts

+1-6
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ export interface CommandPatternConfig {
44
}
55

66
export interface CommandConfig {
7-
allowedCommands: CommandPatternConfig[]
7+
allowedCommands?: CommandPatternConfig[]
88
shell: string
99
}
1010

@@ -45,11 +45,6 @@ export interface CommandPattern {
4545
wildcard: boolean
4646
}
4747

48-
export interface CommandSettings {
49-
allowedCommands: CommandPatternConfig[]
50-
shell: string
51-
}
52-
5348
export interface ProcessOutput {
5449
stdout: string
5550
stderr: string

src/main/index.ts

+6-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import { join, resolve } from 'path'
33
import { electronApp, optimizer, is } from '@electron-toolkit/utils'
44
import icon from '../../build/icon.ico?asset'
55
import api from './api'
6-
import { handleFileOpen } from '../preload/file'
76
import Store from 'electron-store'
87
import getRandomPort from '../preload/lib/random-port'
98
import { store } from '../preload/store'
@@ -17,6 +16,7 @@ import {
1716
log,
1817
createCategoryLogger
1918
} from '../common/logger'
19+
import { handleFileOpen } from '../preload/file'
2020

2121
// No need to track project path anymore as we always read from disk
2222
Store.initRenderer()
@@ -264,6 +264,11 @@ app.whenReady().then(() => {
264264
})
265265
})
266266

267+
// Handler to get app path
268+
ipcMain.handle('get-app-path', () => {
269+
return app.getAppPath()
270+
})
271+
267272
// IPC test
268273
ipcMain.on('ping', () => console.log('pong'))
269274

0 commit comments

Comments
 (0)