Autopilot – AI를 위한 자체 호스팅 이메일 인프라입니다. AgentMail을 즉시 교체
hackernews
|
|
📦 오픈소스
#review
원문 출처: hackernews · Genesis Park에서 요약 및 분석
요약
Autopilot은 AI 에이전트를 위한 자체 호스팅 이메일 인프라로, AgentMail의 대체재로 사용 시 수신함과 도메인 제한 없이 무제한 활용이 가능합니다. PostgreSQL, AWS SES, S3 등 다양한 데이터베이스 및 전송 계층을 선택하여 구축할 수 있으며, 기존 AgentMail SDK와 호환되는 REST API를 제공해 쉽게 이전할 수 있습니다. 이를 통해 사용자는 데이터를 직접 소유하고 공급자 종속을 피하면서 비용 효율적인 이메일 환경을 구축할 수 있습니다.
본문
Self-hosted email infrastructure for AI agents. Drop in replacement for AgentMail. Unlimited inboxes. Your storage. Your transport. npm install @autopilot-mail/core # core SDK (required) Skills npx skills add autopilot-mail/autopilot Pick your stack: # Database npm install @autopilot-mail/postgres # PostgreSQL npm install @autopilot-mail/mongodb # MongoDB npm install @autopilot-mail/sqlite # SQLite npm install @autopilot-mail/d1 # Cloudflare D1 # Email transport npm install @autopilot-mail/ses # AWS SES npm install @autopilot-mail/smtp # SMTP (nodemailer) # File storage (attachments) npm install @autopilot-mail/s3 # AWS S3 npm install @autopilot-mail/r2 # Cloudflare R2 npm install @autopilot-mail/archil # Archil # Standalone server (REST API + CLI) npm install @autopilot-mail/server # npx autopilot import { AutopilotServer } from '@autopilot-mail/core'; import { PostgresStorageAdapter } from '@autopilot-mail/postgres'; import { SesTransport } from '@autopilot-mail/ses'; const server = new AutopilotServer({ storage: new PostgresStorageAdapter({ connectionString: process.env.DATABASE_URL! }), transport: new SesTransport({ region: 'us-east-1' }), defaultDomain: 'mail.myapp.com', }); await server.initialize(); // Create inbox const inbox = await server.inboxes.create({ username: 'support' }); // Send await server.inboxes.messages.send(inbox.inboxId, { to: '[email protected]', subject: 'Order shipped', text: 'Your order #1234 has shipped!', }); // Reply, forward, list threads — same API as agentmail const { threads } = await server.inboxes.threads.list(inbox.inboxId); Run as a standalone REST API with a TOML config: npx autopilot --config ./autopilot.toml curl http://localhost:3100/health curl -X POST http://localhost:3100/v0/inboxes \ -H "Authorization: Bearer your-key" \ -H "Content-Type: application/json" \ -d '{"username": "agent", "display_name": "My Agent"}' The REST API is wire-compatible with the official AgentMail SDK. Switch by changing the baseUrl : import { AgentMailClient } from "agentmail"; const client = new AgentMailClient({ - apiKey: "am_xxx", + baseUrl: "https://your-autopilot-server.com", + apiKey: "your-autopilot-key", }); // Everything else stays exactly the same const inbox = await client.inboxes.create({ username: "support" }); await client.inboxes.messages.send(inbox.inboxId, { to: "[email protected]", subject: "Hello", text: "Hi!" }); const { threads } = await client.threads.list(); | AgentMail $20/mo | Autopilot | | |---|---|---| | Inboxes | 10 | Unlimited | | Custom domains | 10 | Unlimited | | Emails/month | 10,000 | Unlimited (SES: $0.10/1k) | | Storage | 10 GB | Your DB | | Vendor lock-in | Yes | No | | Package | What | |---|---| @autopilot-mail/core | Server, types, in-memory adapters, email utils, webhooks | @autopilot-mail/postgres | PostgreSQL storage | @autopilot-mail/mongodb | MongoDB storage | @autopilot-mail/sqlite | SQLite storage | @autopilot-mail/d1 | Cloudflare D1 storage | @autopilot-mail/ses | AWS SES transport | @autopilot-mail/smtp | SMTP transport | @autopilot-mail/s3 | AWS S3 file storage | @autopilot-mail/r2 | Cloudflare R2 file storage | @autopilot-mail/archil | Archil file storage | @autopilot-mail/server | Standalone REST server + CLI | - Philosophy — why self-host, the cost math, own your data Getting started - Getting Started — first install to first email - Configuration — TOML config reference, env vars - Server SDK API — full method reference Adapters - Storage Adapters — Postgres, MongoDB, SQLite, D1, custom - Email Transports — SES, SMTP, custom - File Storage — S3, R2, Archil, local, custom Deployment - Standalone Server — REST API + CLI - Docker — Dockerfile, Docker Compose - Cloudflare — D1 + R2 + Workers Guides - Webhooks — inbound SES + outbound event dispatch - Testing — in-memory adapters, NoopTransport, assertions - Examples — runnable code samples - AWS Setup — SES, S3, SNS, DNS, Postgres - Cloudflare Setup — D1, R2, Workers, Email Routing - Migrate from AgentMail — data export, DNS cutover, SDK swap MIT
Genesis Park 편집팀이 AI를 활용하여 작성한 분석입니다. 원문은 출처 링크를 통해 확인할 수 있습니다.
공유