[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-81263":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":17,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":21,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":25,"readmeContent":26,"aiSummary":27,"trendingCount":16,"starSnapshotCount":16,"syncStatus":28,"lastSyncTime":29,"discoverSource":30},81263,"sample-multi-agent-orchestration-chat-on-agentcore","aws-samples\u002Fsample-multi-agent-orchestration-chat-on-agentcore","aws-samples","Build & Share AI agents with your team. Full AgentCore, Full Serverless, Full TypeScript Sample","",null,"TypeScript",99,4,50,3,0,5,49,2.1,"MIT No Attribution",false,"main",true,[],"2026-06-12 02:04:12","Language: [English](.\u002FREADME.md) \u002F [Japanese](.\u002FREADME-ja.md)\n\n# ☕ Multi-agent Orchestration Chat on AgentCore\n\nA multi-agent orchestration chat platform built on Amazon Bedrock AgentCore.\n\n## Overview\n\nThis is a multi-agent platform that enables teams to **create and customize** AI agents and share them across your organization. Built on Amazon Bedrock AgentCore, you can easily build agents tailored to your needs.\n\nPreset agents are also available for immediate use, covering various domains including software development, data analysis, and content creation.\n\n\u003Cdiv align=\"center\">\n  \u003Ctable>\n    \u003Ctr>\n      \u003Ctd width=\"50%\">\n        \u003Cimg src=\".\u002Fdocs\u002Fassets\u002Fagentchat.geeawa.net_chat.png\" alt=\"Chat Interface\" width=\"100%\">\n        \u003Cp align=\"center\">\u003Cb>Agent Chat\u003C\u002Fb>\u003Cbr\u002F>You can interact with specialized AI agents through a simple UI\u003C\u002Fp>\n      \u003C\u002Ftd>\n      \u003Ctd width=\"50%\">\n        \u003Cimg src=\".\u002Fdocs\u002Fassets\u002Fagentchat.geeawa.net_chat_share_agent.png\" alt=\"Agent Sharing\" width=\"100%\">\n        \u003Cp align=\"center\">\u003Cb>Share Agent\u003C\u002Fb>\u003Cbr\u002F>You can discover and share custom agents across your team\u003C\u002Fp>\n      \u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n      \u003Ctd width=\"50%\">\n        \u003Cimg src=\".\u002Fdocs\u002Fassets\u002Fagentchat.geeawa.net_event_integration.png\" alt=\"Event Integration\" width=\"100%\">\n        \u003Cp align=\"center\">\u003Cb>Event-Driven Automation\u003C\u002Fb>\u003Cbr\u002F>Trigger agents automatically via schedules and external events\u003C\u002Fp>\n      \u003C\u002Ftd>\n      \u003Ctd width=\"50%\">\n        \u003Cimg src=\".\u002Fdocs\u002Fassets\u002Fagentchat.geeawa.net_tools.png\" alt=\"Tools\" width=\"100%\">\n        \u003Cp align=\"center\">\u003Cb>Extensible Tools\u003C\u002Fb>\u003Cbr\u002F>Add and configure tools to extend agent capabilities\u003C\u002Fp>\n      \u003C\u002Ftd>\n    \u003C\u002Ftr>\n  \u003C\u002Ftable>\n\u003C\u002Fdiv>\n\n### Key Highlights\n\n- **Custom Agent Creation** - You can design and build agents freely according to your needs\n- **Organization-Wide Sharing** - You can discover and share agents across your team\n- **Preset Agents** - Ready-to-use agents including Software Developer, Data Analyst, Physicist, and more\n- **Extensible Tools** - Supports command execution, web search, image generation, and external service integration\n- **File Storage** - Includes built-in cloud storage for documents and resources\n- **Enterprise Ready** - Supports JWT authentication, session management, and AWS Cognito integration\n- **Memory and Context** - Recognizes persistent conversation history and context\n\n## Architecture\n\nThis application uses a fully serverless architecture built on Amazon Bedrock AgentCore. User requests flow from the React frontend through Cognito authentication to the AgentCore Runtime, which orchestrates AI agent execution with tool integration via the AgentCore Gateway.\n\n\u003Cbr>\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\".\u002Fdocs\u002Fmoca-architecture.drawio.png\" alt=\"Architecture Diagram\" width=\"100%\">\n\u003C\u002Fdiv>\n\n\u003Cbr>\n\n### Tech Stack\n\n| Layer | Services |\n|-------|----------|\n| Frontend | CloudFront + S3 (React SPA) |\n| Auth | Amazon Cognito (JWT) |\n| API | Lambda + API Gateway (Express.js) |\n| Agent | AgentCore Runtime + Gateway + Memory + CodeInterpreter + Browser|\n| Storage | DynamoDB + S3 |\n| Real-time | AppSync Events (WebSocket) |\n| Events | EventBridge Scheduler + Rules |\n\nThe backend API is responsible for agent management, session persistence, and file operations. AgentCore Runtime executes agents using the Strands Agents SDK (TypeScript), with short-term memory (session history) for conversational context and long-term memory (persistent memory) enabled. Real-time streaming is achieved via AppSync Events, allowing agents to be automatically executed by schedule triggers.\n\n## Deployment\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>Prerequisites\u003C\u002Fstrong>\u003C\u002Fsummary>\n\nThe following environment is required for deployment.\n\n- **Node.js 22.12.0+** - Version management with [n](https:\u002F\u002Fgithub.com\u002Ftj\u002Fn) is recommended. See `.node-version`.\n- **AWS CLI** - Must be configured with appropriate credentials.\n\n\u003C\u002Fdetails>\n\n### Deploy to AWS\n\n#### 1. Install dependencies\n\nFirst, install the dependencies.\n\n```bash\nnpm ci\n```\n\n#### 2. Configure Secrets (Optional)\n\nIf needed, store API keys and tokens in AWS Secrets Manager for your target environment.\n\n**Tavily API Key** (for web search tools)\n\n```bash\naws secretsmanager create-secret \\\n  --name \"agentcore\u002Fdefault\u002Ftavily-api-key\" \\\n  --secret-string \"tvly-your-api-key-here\" \\\n  --region ap-northeast-1\n```\n\nYou can get your API key from [Tavily](https:\u002F\u002Ftavily.com\u002F).\n\n**GitHub Token** (for GitHub CLI integration)\n\n```bash\naws secretsmanager create-secret \\\n  --name \"agentcore\u002Fdefault\u002Fgithub-token\" \\\n  --secret-string \"ghp_your-token-here\" \\\n  --region ap-northeast-1\n```\n\nYou can generate a token from [GitHub Settings](https:\u002F\u002Fgithub.com\u002Fsettings\u002Ftokens).\n\n**GitHub Webhook Secret** (for receiving GitHub webhook events)\n\n```bash\naws secretsmanager create-secret \\\n  --name \"agentcore\u002Fdefault\u002Fgithub-webhook-secret\" \\\n  --secret-string \"$(uuidgen)\" \\\n  --region ap-northeast-1\n```\n\nThis secret is used to verify HMAC-SHA256 signatures on incoming GitHub webhooks. See [GitHub Webhook Setup](docs\u002Fguides\u002Fdeployment-options.md#github-webhook-setup) for full configuration instructions.\n\nFor local development, you can also set these as environment variables in `packages\u002Fagent\u002F.env`.\n\n#### 3. Bootstrap CDK (first time only)\n\nFor the first deployment, run CDK bootstrap.\n\n```bash\nnpx -w packages\u002Fcdk cdk bootstrap\n```\n\n#### 4. Configure environment\n\nBefore deploying, edit `packages\u002Fcdk\u002Fconfig\u002Fenvironments.ts` and set a globally unique `cognitoDomainPrefix` for each environment you plan to deploy. This prefix becomes part of the Cognito managed-login URL (`https:\u002F\u002F{prefix}.auth.{region}.amazoncognito.com`) and must be unique across **all AWS accounts worldwide** — include an organization-specific identifier to avoid collisions.\n\n```typescript\n\u002F\u002F packages\u002Fcdk\u002Fconfig\u002Fenvironments.ts\ndefault: {\n  cognitoDomainPrefix: 'moca-\u003Cyour-unique-suffix>', \u002F\u002F ← replace with your own value\n  \u002F\u002F ...\n},\n```\n\nSee [Cognito Domain Prefix](docs\u002Fguides\u002Fdeployment-options.md#cognito-domain-prefix) for details.\n\n#### 5. Deploy the stack\n\nDeploy the stack with the following commands.\n\n```bash\nnpm run deploy\n```\n\n#### 6. Create a Cognito user\n\nSelf sign-up is disabled by default. After deployment, you need to create a user in the Cognito User Pool before you can log in.\n\nWe recommend creating users through the **AWS Management Console**.\n\n1. Open the [Amazon Cognito console](https:\u002F\u002Fconsole.aws.amazon.com\u002Fcognito\u002F).\n2. Select the User Pool that matches the `UserPoolId` in the CloudFormation stack outputs.\n3. Go to the **Users** tab and click **Create user**.\n4. Enter a username, email, and password. \n\nYou can then log in to the frontend URL (see the `WebAppFrontendUrl` stack output) with the created credentials.\n\n> If you want to enable self sign-up from the app, set `selfSignUpEnabled: true` in `packages\u002Fcdk\u002Fconfig\u002Fenvironments.ts` and optionally specify `allowedSignUpEmailDomains`.\n\n\u003Cdetails>\n\u003Csummary>Create a user via AWS CLI (optional)\u003C\u002Fsummary>\n\nSee the `CreateTestUserCommand` \u002F `SetUserPasswordCommand` CloudFormation stack outputs, or run the following commands directly:\n\n```bash\n# 1. Create the user (no email verification)\naws cognito-idp admin-create-user \\\n  --user-pool-id \u003CUserPoolId> \\\n  --username \u003Cyour-username> \\\n  --message-action SUPPRESS \\\n  --region \u003Cregion>\n\n# 2. Set a permanent password (skip forced change at first login)\naws cognito-idp admin-set-user-password \\\n  --user-pool-id \u003CUserPoolId> \\\n  --username \u003Cyour-username> \\\n  --password \u003CYourPassword123!> \\\n  --permanent \\\n  --region \u003Cregion>\n```\n\n\u003C\u002Fdetails>\n\n#### 7. Seed system agents (Optional)\n\nAfter deployment, seed the default system agents into DynamoDB. This is a one-time operation that populates the shared agents directory with the built-in agents.\n\n```bash\nnpm run seed-system-agents -- --env default\n```\n\nTo update system agents after changing `DEFAULT_AGENTS` definitions, use `--force` to replace existing ones:\n\n```bash\nnpm run seed-system-agents -- --env default --force\n```\n\nAfter deployment, you can find the Frontend URL in the CloudFormation stack outputs.\n\nFor advanced configuration options such as custom domains, environment-specific settings, and event rules, see the [Deployment Options](docs\u002Fguides\u002Fdeployment-options.md) documentation.\n\n\n## Cost\n\nThe following table provides a cost breakdown for deploying this system in the **ap-northeast-1 (Tokyo)** region for one month.\n\nHere we assume **100 chat sessions per month** using the default model (**Claude Sonnet 4.6**, ~5 turns\u002Fsession). The monthly cost is proportional to the number of sessions. (e.g. If you only run 50 sessions\u002Fmonth, multiply it with 50\u002F100.)\n\n| AWS service | Dimensions | Cost [USD\u002Fmonth] |\n|-------------|------------|------------------:|\n| Bedrock | Input: Sonnet 4.6, 100K tokens\u002Fsession | 30.00 |\n| Bedrock | Input (cache write): Sonnet 4.6, 10K tokens\u002Fsession | 3.75 |\n| Bedrock | Input (cache read): Sonnet 4.6, 80K tokens\u002Fsession | 2.40 |\n| Bedrock | Output: Sonnet 4.6, 15K tokens\u002Fsession | 22.50 |\n| AgentCore | Runtime Memory: 24 GB-Hours\u002Fsession | 22.68 |\n| AgentCore | Runtime vCPU: 0.08 vCPU-Hours\u002Fsession | 0.72 |\n| AgentCore | Short-Term Memory: 36 events\u002Fsession | 0.90 |\n| AgentCore | Long-Term Memory Storage: 2 memories\u002Fsession | 0.15 |\n| AgentCore | Long-Term Memory Retrieval: 1.3 queries\u002Fsession | 0.07 |\n| AgentCore | Gateway: 2 invocations\u002Fsession | 0.001 |\n| DynamoDB | Read: ~800 RRU\u002Fsession, Write: ~200 WRU\u002Fsession | 0.14 |\n| S3 | Storage: ~10 GB (user files) | 0.50 |\n| Cognito | 11 MAU (Essentials tier) | 0.40 |\n| AppSync | ~20 operations\u002Fsession | 0.12 |\n| API Gateway | ~10 requests\u002Fsession | 0.02 |\n| Lambda | ~30 invocations\u002Fsession, 128MB, 1s avg | \u003C 0.01 |\n| CloudFront | ~300 requests\u002Fday | \u003C 0.01 |\n| **TOTAL** | | **~84** |\n\nAdditionally, when the system is not in use (i.e., no active chat sessions), the ongoing costs are minimal (~$1\u002Fmonth for DynamoDB, S3, and Cognito base charges only). There are no upfront or fixed costs for compute.\n\n## Documentation\n\n### Technical Documentation\n- [Deployment Options](docs\u002Fguides\u002Fdeployment-options.md) - Environment configuration and customization\n- [Local Development Setup](docs\u002Fguides\u002Flocal-development-setup.md) - Explains environment setup automation\n\n## Contributing\n\nContributions are welcome. Please feel free to submit a Pull Request.\n\n---\n\n# Disclaimer\n\nThis application is **not designed for production use**. Please treat it as a proof-of-concept (PoC) for exploring AI agent use cases. It is not intended to support usage by more than a few hundred users.\n\nIn addition, please be mindful of the information you input into this system. Inputs are processed and stored across multiple AWS services (Amazon Bedrock, AgentCore, DynamoDB, S3, CloudWatch Logs, etc.), and it is the deployer's responsibility to handle that information appropriately.\n\n# Security\nNote: this asset represents a proof-of-value for the services included and is not intended as a production-ready solution. You must determine how the AWS Shared Responsibility applies to their specific use case and implement the needed controls to achieve their desired security outcomes. AWS offers a broad set of security tools and configurations to enable our customers. This repository is an experimental sample application and may be updated without considering backward compatibility. \n\nUltimately it is your responsibility as the developer of a full stack application to ensure all of its aspects are secure. We provide security best practices in repository documentation and provide a secure baseline but Amazon holds no responsibility for the security of applications built from this tool.\n","该项目是一个基于Amazon Bedrock AgentCore构建的多智能体编排聊天平台，支持团队创建、自定义并共享AI智能体。其核心功能包括自由设计和构建智能体、组织内智能体共享、预设多种领域（如软件开发、数据分析等）即用型智能体、扩展工具支持（例如命令执行、网络搜索、图像生成及外部服务集成）、内置云存储以及企业级安全特性（如JWT认证、会话管理和AWS Cognito集成）。该平台适用于需要在特定业务场景下快速部署定制化AI助手的企业或团队，特别是那些重视内部协作与知识分享的组织。采用全无服务器架构，前端使用React框架，后端则利用Lambda和API Gateway实现高效运行。",2,"2026-06-11 04:04:05","CREATED_QUERY"]