bedrock-engineer
Electron桌面AI编程助手,基于Amazon Bedrock调用Claude/DeepSeek
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
Electron桌面AI编程助手,基于Amazon Bedrock调用Claude/DeepSeek
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下,你对着一款桌面应用说出「帮我重构这个模块,加上错误处理」,然后看着 AI 自动打开文件、编辑代码、运行测试——整个过程你只需要喝一口咖啡。这不是什么遥远的科幻,而是 Bedrock Engineer 正在做的事。
Bedrock Engineer 是 aws-samples 团队推出的开源桌面应用,它将亚马逊 Bedrock 上的大语言模型(支持 Claude、DeepSeek-R1 等多款顶级模型)封装成一个可以自主执行命令行操作的软件开发 Agent。简单来说,它是一个「会敲代码的 AI 助手」,不只回答问题,而是真的能动手干活:创建文件、编辑代码、执行终端命令、搜索网页、调用知识库。
软件开发领域经历了几轮工具革命:IDE 提升了编码效率,Git 解决了协作问题,CI/CD 自动化了部署流程。但代码编写本身——那个最耗时的环节——长期以来依然高度依赖人工。
2023 年以 GPT-4 为代表的 LLM 爆发,让人们看到了转机。早期的 LLM 编程助手(如 GitHub Copilot)以补全为核心,只能在你打字时给一点提示。而真正具有颠覆性的,是能够自主规划、执行多步骤任务的 Agent 系统——这类系统不只是响应单次 prompt,而是能像人类工程师一样「思考 → 行动 → 验证 → 修正」。
Bedrock Engineer 正是这一思路的产物。它不是又一个「代码补全插件」,而是一个完整的 AI 原生开发环境:内置 Agent 运行时、文件编辑器、终端模拟器、AWS 服务集成,甚至支持多 Agent 协作和自定义工具扩展。

图1:Bedrock Engineer Agent 聊天架构 —— 支持多轮对话、文件操作、命令执行和 AWS 服务调用。
Bedrock Engineer 的核心能力可以分为三层理解。
项目采用 Electron + electron-vite 架构,主进程(main)处理系统级操作,预加载脚本(preload)负责安全 IPC 桥接,渲染进程(renderer)则是 React 前端界面。这是一个典型的跨平台桌面应用技术栈,代码结构如下:
src/
├── main/ # Electron 主进程(系统交互层)
│ ├── api/ # Bedrock API 调用封装
│ ├── handlers/ # IPC 事件处理器
│ ├── lib/ # 核心业务逻辑
│ ├── mcp/ # Model Context Protocol 实现
│ └── services/ # AWS 服务集成(S3、Translate 等)
├── common/ # 主进程与渲染进程共享代码
│ ├── agents/ # Agent 行为定义
│ ├── models/ # Bedrock 模型调用封装
│ ├── mcp/ # MCP 协议实现
│ └── utils/ # 工具函数
├── preload/ # 安全 IPC 桥接
└── renderer/ # React 前端界面
主进程通过 @aws-sdk/client-bedrock-runtime 与 Bedrock 交互,将用户 prompt 转化为 LLM 调用,并将工具调用结果回传给模型进行下一轮推理。
Bedrock Engineer 内置了丰富的工具集,覆盖软件开发全流程:
值得注意的是,工具系统还支持 Model Context Protocol(MCP),这是一个开放协议,允许第三方为 LLM 扩展自定义工具。项目文档中详细说明了 MCP Server 的配置方法,使得任何符合 MCP 规范的外部服务都可以被接入 Agent 工具链。
.bedrock-engineer/agents/ 目录存放 Agent 配置文件,采用 YAML 格式定义 Agent 的角色、行为规则和工具权限。默认的 developer-for-bedrock-engineer.yaml 配置文件定义了开发 Agent 的人设、能力边界和调用约束。.bedrock-engineer/rules/ 目录存放系统级提示工程规则,可以在全局层面影响 Agent 的推理风格和输出格式。
这种配置化设计让非技术用户也能通过修改 YAML 文件来调整 Agent 行为,而无需触碰核心代码。
Bedrock 是亚马逊的完全托管式 LLM 服务,Bedrock Engineer 依赖以下核心 SDK:
@aws-sdk/client-bedrock-runtime:调用 Claude、DeepSeek-R1 等模型推理端点@aws-sdk/client-bedrock-agent-runtime:支持 Bedrock Agent(有状态会话管理)@aws-sdk/credential-providers:支持多种凭证来源(环境变量、SSO、ECS 任务角色等)项目还支持自定义模型导入和 Inference Profile(按区域自动路由),展现了 AWS 原生集成的深度。
作为桌面应用,Electron 的安全边界至关重要。Bedrock Engineer 使用 @electron-toolkit/preload 提供的安全 IPC 机制:渲染进程不能直接访问 Node.js API,所有系统级操作必须通过预定义的白名单 API 路由到主进程。这确保了即使 AI Agent 执行了恶意代码,也不会直接危害用户系统。
前端使用 React + Monaco Editor(代码编辑器)和 Sandpack(在线代码预览),配合 @codemirror/autocomplete 提供语法高亮和代码补全,让用户在查看 AI 生成代码时就能直接预览效果。Chart.js 用于可视化项目统计和工作流数据。
方式一:下载安装包(最简单)
macOS 用户可以直接下载 .pkg 安装包,Windows 用户下载 .exe 安装程序。安装后首次打开需要配置 AWS 凭证(Access Key + Secret Access Key)和所在区域。
macOS 安装后需运行代码签名命令解除安全限制:
sudo codesign --force --deep --sign - "/Applications/Bedrock Engineer.app"
方式二:源码构建(需要 Node.js 环境)
git clone https://github.com/aws-samples/bedrock-engineer.git
cd bedrock-engineer
npm install
npm run dev # 开发模式启动
npm run build # 打包
运行时需要配置 .env 文件,填入 AWS 凭证。项目默认使用 us-east-1 区域,但支持自定义其他区域。

图2:Step Functions 工作流生成器 —— AI 自动将业务逻辑可视化为 AWS Step Functions 状态机定义。
Bedrock Engineer 并非万能,以下几点需要特别注意:
安全风险:Agent 以当前用户权限运行命令,这意味着它有能力执行 rm -rf / 这类危险操作。虽然有 .bedrock-engineer/.ignore 文件提供路径黑名单机制,但防御深度取决于配置文件的质量。对于不熟悉的仓库,建议先在隔离环境中测试。
成本不可控:每次 Agent 调用都会向 Bedrock 发送 API 请求,按 token 计费。复杂的自动化任务可能产生大量请求,开发团队需要有成本意识。
AWS 强依赖:项目完全绑定 AWS 生态,不支持其他云服务商或本地 LLM 部署。对于有数据主权要求的企业,这可能是一个障碍。
Electron 性能:Electron 应用相对臃肿,内存占用较高。在低端机器上运行可能会有卡顿感。
Bedrock Engineer 的推出代表了 AI 代码工具的一个新方向:从 Copilot式的「建议模式」升级到 Agent 式的「执行模式」。
GitHub Copilot 主要解决「单点补全」问题,Agent 则解决「端到端任务自动化」。两者并非替代关系,而是互补——在实际开发中,Copilot 适合快速补全小块代码,而 Agent 更适合接手完整的 feature 开发、代码重构、测试编写等需要多步骤推理的工作。
从增长曲线看,Bedrock Engineer 在 GitHub 上已有 483 颗星(截至分析时),上线约 1.5 年,保持着活跃维护(最近一次 push 在分析前 24 小时内)。项目已被纳入 AWS Workshop Studio,说明 AWS 官方认可其作为 Bedrock 生态标杆应用的地位。
值得关注的是项目对 MCP 协议的支持。MCP 正在成为 AI Agent 工具扩展的事实标准,Anthropic、OpenAI 等厂商都在跟进。Bedrock Engineer 的 MCP 集成使其能够接入更广泛的工具生态,这是其长期竞争力的关键。
对于想要企业私有化部署的用户,需要注意当前没有 Docker 支持,需要将 Electron 应用打包到虚拟机或物理机中运行。但从另一个角度看,正是这种「桌面应用 + AWS 云服务」的架构,使得用户无需管理复杂的服务器基础设施,降低了上手门槛。