开发与工程 autonomous-codingaws-bedrockgithub-actionsslack-integrationmcp-clientpull-request-automationsession-monitoringcost-analytics

Remote SWE Agents

在独立 AWS 环境中异步执行软件开发任务。

FollowAgents 评估 · FARS-2.1
谨慎使用
66/ 100 五分制 3.3 / 5
1 2 3 4 5 6
按维度查看评分与理由
1信任安全17 / 29 · 2.9/5

文档明确说明专用虚拟机隔离、默认最小化的工作节点 IAM 权限、GitHub App 细粒度权限、Slack 用户限制、VPC 出站过滤建议,以及 Slack、GitHub、API 密钥和消息历史的数据流。密钥存入 SSM,但示例使用 String 而非 SecureString,代理仍可访问配置的令牌;PAT 建议的 repo、workflow、read:org 范围较宽。系统会自主克隆仓库、提交代码、创建 PR,并可通过 MCP 扩展外部能力;虽然这些效果有说明,但未展示任务级确认、写操作审批或强制出站策略。生产部署使用 --require-approval never,不过工作流需手动触发。提供 CDK destroy 回收路径和删除失败处理提示,但未描述代码变更撤销、会话级恢复或备份机制。CI 使用 npm ci 和固定主版本的 GitHub Actions,但未见依赖审计、漏洞扫描、更新策略或供应链控制。示例 PR和架构组件有归属线索,许可证版权清楚;发布者身份本身仍按未知处理。

2可靠稳定8 / 14 · 2.9/5

README 的架构、部署要求和 monorepo 脚本与 CI 工作流整体一致;CI 分组件执行构建、格式检查、单元测试、CDK 快照和 Docker 启动检查,代码还包含具体回归测试。扣分原因是所给证据只覆盖部分组件和少数行为,不能证明所有声明与实现一致。依赖安装使用 npm ci,并明确要求 Node.js、npm、AWS CLI 和 Docker,但云服务、区域、模型及 MCP 的可用性依赖外部环境,缺少降级或重试说明。故障信息仅零散覆盖部署耗时、销毁竞态和部分配置注意事项,未展示统一、可操作的运行时错误处理。

3适用触发14 / 18 · 3.9/5

受众和场景描述充分,覆盖个人、团队、组织、Web、Slack、REST API、GitHub Actions、多仓库、图像、多语言及 MCP 使用。配置支持现有 VPC、跨区域模型、额外 IAM 策略、两种 GitHub 认证方式和可选集成。边界方面明确单租户、Cognito 用户等权、API 密钥持有者均可访问、GitHub App 仅支持单一组织,并说明无 GitHub 配置时的限制;但自主代理和 MCP 的工具边界没有系统列举。触发入口和提示最佳实践较清楚,但未见歧义处理、权限感知路由或防止误触发的完整规范。环境适配集中于 AWS、Node 22 和 Docker,缺少其他云、本地运行或兼容性矩阵。

4规范维护12 / 18 · 3.3/5

README 信息架构成熟,安装、可选集成、访问控制、架构、安全、成本和清理均有清晰章节,快速部署步骤具体,故信息架构和安装说明获高分。命名在环境变量、SSM 路径和工作区间总体一致,但 TARGET_ENV 的使用及需修改源码配置增加稳定性风险。示例、截图、真实 PR、提示和工作流引用丰富,但没有独立 FAQ 或完整 API 示例。已记录单租户、单组织 GitHub App、共享 Slack 风险、等权 Web 用户和销毁等待等限制,但缺少集中式限制清单。MIT-0 元数据、README 和完整 LICENSE 一致,许可证获满分。未提供版本发布、标签策略或变更日志。维护责任仅能从版权、安全报告链接和仓库语境部分推断;所给材料没有明确维护者、支持期限或更新承诺,且发布者注册身份未知。

5有效结果10 / 13 · 3.8/5

产品输出包括可监控的会话、实时进度、代码提交和 PR、图像交互、API 与成本分析,公开 PR 示例使结果形态较具体;但没有静态证据说明输出质量门槛、人工复核流程或合并保护,因此输出可用性未满分。专用云端异步开发环境、多个入口、每任务隔离和 MCP 扩展相较手工远程操作具有明显增量价值。成本表给出 100 次会话的服务级假设和约 115 美元月成本,并说明空闲成本与线性缩放,但模型用量假设较高且可能随区域和价格变化,也未量化部署、运维、安全控制及失败任务成本。

6证据核验5 / 8 · 3.1/5

主要声明可追溯到 README 中的架构、配置、成本表、示例 PR,以及 CI、测试和许可证文件;但若干营销性表述,如完全自主、可靠、维护成本极低,没有逐项实现映射。README 的 Node 版本、工作区、构建测试、CDK 和权限说明得到 package.json、CI 与测试代码的部分交叉佐证;安全默认值、完整数据路径及全部功能未由所给实现文件覆盖。文档能区分部分事实、建议和限制,例如使用推荐措辞及条件性成本假设,但仍将能力与效果性结论并列呈现,未系统标注测量结果、推断和未经验证的主张。

证据充分度: 评估于 2026年9月11日 审查版本 73609e95dcf3
使用前请注意
  • 代理可自主修改代码、推送提交和创建 PR;在授予 GitHub 写权限前,应配置分支保护、专用身份和人工合并审查。
  • SSM 示例使用 String 保存 GitHub 与 Slack 密钥;应评估改用 SecureString、密钥轮换、日志脱敏和最小范围令牌。
  • 共享 Slack 工作区若未设置 SLACK_ADMIN_USER_ID_LIST,任何成员都可能调用代理并接触 GitHub 内容。
  • REST API 采用持有 API 密钥即可访问的模型,且 Cognito 用户目前权限相同;不应将该部署视为多租户隔离系统。
  • 代理和 MCP 工具可能产生未预期的外连;文档仅建议而未证明强制实施出站过滤。
  • 额外托管策略可显著扩大工作节点权限,生产部署工作流又禁用 CDK 审批;上线前应独立审查合成模板和权限差异。
  • 成本数字是特定区域和用量假设下的示例,不是预算上限。
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

Remote SWE Agents 是部署在 AWS 上的自托管、完全开源的软件开发代理实现。用户可通过 Next.js Web 界面、Slack、REST API 或 GitHub Actions创建和监控开发会话。系统使用 Lambda、API Gateway、AppSync Events 和 DynamoDB处理消息与状态,并为每个工作单元配置独立的 EC2 实例和 EBS 卷。代理在隔离环境中处理代码任务,可访问 GitHub 仓库、创建提交和拉取请求,并能收发图片及使用 MCP 服务器。基础模型由 Amazon Bedrock 提供;部署采用按使用量计费的单租户边界,GitHub 与 Slack 集成需要另行配置。

用户从 Web 界面、Slack、REST API 或 GitHub Actions提交任务;Slack 请求经 API Gateway 进入 Slack Bolt Lambda,再发布到 AppSync Events,消息历史和任务状态保存在 DynamoDB。Worker Manager 在新线程或会话出现时配置由 EC2 实例和 EBS 卷组成的 Worker Unit,内部 SWE 代理订阅事件并在独立文件系统中执行开发工作。处理进度和结果通过事件链路返回,Slack 场景中会作为线程回复显示。配置 GitHub PAT 或 GitHub App 后,代理能够克隆获准访问的仓库、处理 Issue 驱动的任务、推送自主生成的提交并创建拉取请求;GitHub Action 还可由 Issue 评论、分派和 PR 审查事件触发会话。代理可通过 packages/worker/mcp.json 调用 MCP 服务器,Web 界面则提供会话管理、实时监控、图片上传、设置与成本分析。

  1. 希望把耗时编码任务移出本地电脑的开发者,可在独立 AWS 工作环境中启动异步会话并通过 Web 界面跟踪进度。
  2. 维护 GitHub 项目的团队,可从 Issue、评论、任务分派或 PR 审查事件触发代理,并让其生成提交和拉取请求。
  3. 日常协作集中在 Slack 的工程团队,可在受控用户范围内从线程分配任务并接收实时进度。
  4. 需要把编码代理嵌入内部工具或 CI/CD 流程的平台团队,可使用部署后提供的 REST API 和 API 密钥。
  5. 需要让开发代理访问额外工程工具的 AWS 团队,可在 packages/worker/mcp.json 中配置 MCP 服务器。
  6. 管理多个 OSS 分叉仓库的维护者,可向代理提供仓库和任务信息,执行单仓库或跨仓库修改。

这个 Agent 有哪些优点和局限?

优点
  • 每个 Worker Unit 使用独立 EC2 实例和 EBS 卷,使代理文件系统与用户设备及其他工作单元隔离。
  • 同一部署同时提供 Web、Slack、REST API 和 GitHub Actions入口,并支持实时会话监控和成本分析。
  • GitHub 集成既支持个人 PAT,也支持权限更细、且不绑定个人账户的 GitHub App。
  • 能够通过 packages/worker/mcp.json 扩展 MCP 服务器,并把配置应用于新代理。
  • 无会话运行时持续成本接近零,基础设施按使用量扩展。
局限
  • 核心部署绑定 AWS 服务与 Amazon Bedrock,需要 AWS IAM、CDK、Docker及多个云服务的配置和运维知识。
  • 系统明确采用单租户部署;Web 用户拥有相同权限,能够配置系统、创建会话、签发 API 密钥和查看成本。
  • GitHub App 当前只能用于单个组织下的仓库,跨组织场景需要改用其他方案或额外部署。
  • 代理持有 GitHub 和 Slack 凭据并可能发起非预期出站访问,需要最小权限、专用账号及 VPC 出站过滤等控制。
  • 示例估算在每月 100 个会话、指定 token 用量和 Sonnet 3.7 定价假设下约为 115 美元,模型调用是主要成本。
  • 启用 GitHub 和 Slack 都需要创建外部凭据、写入 SSM、修改 CDK 配置并重新部署。

如何安装或部署这个 Agent?

前提条件:Node.js 22 或更高版本、npm 9 或更高版本、AWS CLI、具有适当权限的 AWS IAM profile,以及 Docker。执行:

git clone https://github.com/aws-samples/remote-swe-agents.git
cd remote-swe-agents
cd cdk
cp .env.local.example .env.local
npm ci
npx cdk bootstrap
npx cdk deploy --all

可在 cdk/.env.local 中设置 [email protected],以便部署时创建 Cognito 初始用户并通过邮件发送临时密码;否则需在 Cognito 控制台手动创建用户。部署通常约需 10 分钟,完成后从 CDK 输出中的 WebappUrl 打开系统。GitHub 操作并非基础部署默认可用:还需配置 PAT 或 GitHub App,并再次运行 cd cdk && npx cdk deploy --all。

如何使用这个 Agent?

首次可用流程是打开 CDK 输出的 WebappUrl,使用 Cognito 用户登录,创建新的代理会话,并在指令中至少写明目标 GitHub 仓库、要解决的功能或缺陷,以及优先检查的文件路径或关键词。也可直接提供包含这些信息的 GitHub Issue URL,使系统推断仓库并将新 PR 关联到该 Issue。若要操作 GitHub,可选择 PAT 或 GitHub App:PAT 需要 repo、workflow、read:org scopes,并存入 /remote-swe/$TARGET_ENV/github/personal-access-token;团队或组织使用时可配置具备 Actions、Issues、Pull requests、Contents 读写权限的 GitHub App。Slack 使用需要创建应用、保存 bot token 和 signing secret 到 SSM、在 CDK props 中加入 slack 配置并重新部署;共享工作区建议设置 SLACK_ADMIN_USER_ID_LIST。REST API 可用于创建和管理会话,但调用者必须先从已部署的 Web 界面生成 API 密钥;GitHub Actions 工作流还需保存 API base URL 和 key 为仓库 secrets。

这个 Agent 与同类方案有什么区别?

项目将自身定位为 Devin、OpenAI Codex 和 Google Jules 等云端异步编码代理的自托管 AWS 替代方案。其明确差异是基础设施、工作环境和访问控制由采用者在自己的 AWS 部署中管理;材料未提供功能覆盖、质量、速度或成本方面的直接基准测试。

常见问题

闲置和实际使用时的成本如何?
没有消息或代理会话时,文档称持续成本接近 0 美元。示例按 us-east-1、每月 100 个会话、每个会话一小时 t3.large 及给定 Bedrock token 用量估算约 115 美元/月,实际费用随会话和模型用量变化。
基础部署完成后,代理是否立即能访问 GitHub?
不能。Web 和 API 可先运行,但克隆仓库、推送提交或创建 PR 前必须配置 GitHub PAT 或 GitHub App,然后重新部署。
它适合多个互相隔离的团队共享一个实例吗?
不适合直接作为多租户系统使用。项目设计为每个租户单独部署;同一部署中的 Cognito 用户当前具有相同权限。
代理需要哪些高风险权限?
默认 Worker IAM 权限仅包括日志、自终止和 S3 只读等最小策略,但 GitHub 与 Slack 凭据会暴露给代理。额外 IAM policy、GitHub scopes、Slack scopes 和网络出口都应限制到必要范围。
删除部署时有什么注意事项?
可运行 npx cdk destroy --force。由于 cdk deploy 会异步启动 EC2 Image Builder pipeline,部署后至少等待 30 分钟再销毁;若删除失败,再等待约 30 分钟后重试。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents