Talorys로 내 Cloudflare 계정에 무료 개인 AI 에이전트 배포하는 법
별도 서버나 비용 없이 Cloudflare 무료 티어만으로 채팅, 메모리, 작업 관리, 예약 알림까지 갖춘 개인 AI 비서를 1분 만에 띄웁니다. 이 글은 설치 명령 한 줄부터 최초 접속, 비밀번호 재설정, 리소스 정리까지 전 과정을 단계별로 안내합니다.
매달 구독료를 내거나 내 대화 데이터가 제3자 서버에 쌓이는 게 꺼려진다면, Cloudflare 무료 할당량 안에서 완결되는 Talorys가 대안이 됩니다. 단일 명령어로 Workers AI, Durable Objects, Pages까지 자동 프로비저닝해 주는 오픈소스 프로젝트라, 개발 지식이 얕아도 자기 계정 안에 온전히 소유되는 AI 에이전트를 오늘 바로 쓸 수 있습니다.
Talorys란 무엇인가요
Talorys는 Cloudflare 무료 티어 위에서 돌아가는 개인용 오픈소스 AI 에이전트예요. 별도 서버·데이터베이스·계정 없이 내 Cloudflare 계정에 npx create-talorys@latest 한 줄로 배포하고, 나만의 비서처럼 쓸 수 있어요.
- 채팅 — 스트리밍 응답, 마크다운, 도구 호출 표시
- 메모리 — 내 사실·취향을 영구 저장하고 매 턴 관련 것만 모델에 전달
- 태스크/노트/프로젝트 — UI와 채팅 모두에서 완전한 CRUD
- 리마인더/루틴 — 1회·반복 알림, 일일 태스크 요약, 선택적 AI 루틴 (Durable Object 알람 기반)
- 싱글 유저·무텔레메트리 — 회원가입·팀·분석 없음, 설치 시 오너 비밀번호만 설정
아키텍처 한눈에 보기
브라우저는 HTTPS로 Cloudflare Pages(React + Pages Function /api)만 호출해요. Pages Function은 서비스 바인딩(공개 URL 없음)으로 TalorysAgent Durable Object에 요청을 넘깁니다. 인증·인가도 워커 안에서 처리하고, 응답은 엔드투엔드 SSE(Server-Sent Events)로 스트리밍돼요.
Browser ──HTTPS──▶ Cloudflare Pages (React app + /api Pages Function)
│ service binding (no public URL)
│ getAgentByName("personal-agent")
TalorysAgent — Cloudflare Agents SDK Durable Object
├─ SQLite: conversations, memories, tasks, notes, projects,
│ automations, sessions, settings, usage
├─ Workers AI: @cf/zai-org/glm-4.7-flash (streaming + tool calling)
└─ Alarms: reminders and recurring schedules설치·배포 흐름
사전 확인
Node.js 22+ 설치, Wrangler CLI는 번들된 것 사용
로그인·계정 선택
브라우저 OAuth로 Cloudflare 로그인(글로벌 API 키 불필요), 계정이 여러 개면 하나 선택
에이전트 이름·비밀번호
에이전트 이름 입력, 오너 비밀번호는 숨김 입력·강도 검사 후 PBKDF2-SHA256 해시로 로컬에서만 생성해 Cloudflare Secret에 저장
자동 프로비저닝
256비트 세션 시크릿·고유 리소스 이름 생성 → 비공개 워커(SQLite Durable Object) 배포·시크릿 저장 → Pages 프로젝트 생성·서비스 바인딩 연결
배포 검증
프런트엔드·인증 엔드포인트·미인증 거부·스토리지 헬스 체크 자동 확인
완료
계정 ID·리소스 이름·URL 출력, 바로 접속해 비밀번호로 로그인 후 채팅 시작
이렇게 한 명령어·무료 티어·내 계정 완전 소유로 개인 AI 비서가 완성돼요. 다음 섹션에선 실제 배포 명령어와 옵션을 자세히 다뤄볼게요.
왜 Talorys를 쓰나요
Talorys는 내 계정·내 스토리지 안에서만 동작합니다. Cloudflare 계정에 연결된 R2·D1·KV 등으로 데이터를 저장하므로 외부 서버나 데이터베이스가 전혀 필요하지 않아요. 데이터 주권이 보장돼서 개인 정보가 제3자에게 넘어가지 않아요.
또한 Talorys는 스트리밍 응답, tool calling, 장기 메모리, 일정 알림을 기본으로 탑재하고 있습니다. 채팅 중에 가장 관련 있는 메모리만 모델에 전달하고, 알림은 Durable Object 알람으로 구현돼서 서버가 계속 켜져 있을 필요가 없어요. Workers AI 쿼터를 초과하거나 서비스가 중단돼도 메모리·작업·리마인더 기능은 로컬에서 유지됩니다.
npx create-talorys@latest설치 준비
Node.js(22+)와 Wrangler CLI가 설치된 환경을 준비하고 Cloudflare에 로그인합니다.
에이전트 배포
터미널에
npx create-talorys@latest를 입력하면 계정 선택·비밀번호 설정 후 자동으로 Worker와 Pages가 배포됩니다.사용 시작
배포된 URL에 접속해 채팅을 시작하면 스트리밍 응답·도구 호출·메모리·리마인더 기능을 바로 이용할 수 있습니다.
| 필요한 인프라 | Talorys 제공 |
|---|---|
| 서버·DB | 없음 |
| 스토리지 | 내 Cloudflare R2/D1 |
| AI 모델 | Workers AI 또는 로컬 fallback |
Workers AI가 안 될 때는?
Workers AI 쿼터가 초과되거나 서비스가 중단돼도 메모리·리마인더·작업 관리 기능은 Durable Object 알람과 로컬 로직으로 계속 동작합니다.
설치·배포 5단계 따라하기
설치를 시작하기 전에 Node.js 22 이상이 설치돼 있는지 확인해요. 터미널에 node -v를 입력하면 현재 버전을 확인할 수 있습니다. 버전이 낮다면 공식 사이트에서 최신 LTS 버전을 다운로드하세요.
1. Talorys 설치 명령 실행
터미널에
npx create-talorys@latest를 입력하고 엔터를 누릅니다.2. Cloudflare 로그인 및 계정 선택
명령어가 브라우저를 열어 Cloudflare OAuth 페이지로 이동합니다. 로그인 후 여러 계정이 있으면 원하는 계정을 선택합니다.
3. 에이전트 이름과 소유자 비밀번호 입력
에이전트 이름을 입력하고, 숨김 입력란에 비밀번호를 입력합니다. 비밀번호는 PBKDF2‑SHA256으로 로컬에서 해시되어 Cloudflare 비밀에만 저장됩니다.
4. 자동 리소스 생성
설치 프로그램이 R2, D1, KV 등 필요한 리소스를 생성하고, SQLite Durable Object와 Workers AI를 포함한 Worker를 배포합니다.
5. 배포 검증 완료
프론트엔드와 인증 엔드포인트, 저장소 상태를 자동으로 확인합니다. 모든 검증이 통과하면 URL이 출력되고, 바로 챗을 시작할 수 있어요.
npx create-talorys@latest설치 중 흔히 묻는 질문
비밀번호를 잊어버리면 npx create-talorys@latest reset-password 명령으로 재설정할 수 있습니다.
설치가 끝나면 Talorys는 Cloudflare Pages와 Workers AI를 이용해 브라우저와 실시간으로 소통합니다. 별도 서버가 없으니 무료 티어에서도 안심하고 사용할 수 있어요.
한눈에 보는 구조·리소스·비용
Talorys는 브라우저 → Cloudflare Pages(React + /api Pages Function) → Service Binding → Agent Worker(Durable Object) 순서로 요청이 흐릅니다. 브라우저는 오직 Pages Function과만 HTTPS로 통신하고, Pages Function은 공개 URL 없이 Service Binding으로 getAgentByName("personal-agent")를 호출해 Worker로 요청을 넘깁니다. Worker 내부에서는 SQLite(Durable Object 저장소), Workers AI(@cf/zai-org/glm-4.7-flash), Alarms(알림·반복 일정) 세 가지 핵심 기능이 한 Durable Object 안에서 함께 동작합니다. 인증·인가도 프런트가 아닌 Worker에서 처리하므로 프런트엔드 코드에 비밀 정보가 남지 않습니다.
생성되는 리소스 명명 규칙
설치 프로그램(npx create-talorys@latest)은 계정 ID와 에이전트 이름을 조합해 고유한 리소스 이름을 자동으로 만듭니다. Worker, Pages 프로젝트, Durable Object 네임스페이스, 비밀값(세션 시크릿·소유자 비밀번호 해시) 등이 모두 이 규칙을 따르므로 같은 계정에서 여러 에이전트를 띄워도 이름이 충돌하지 않습니다. 비밀번호는 PBKDF2-SHA256으로 로컬 해시된 뒤 Cloudflare Secret으로만 저장되며, 256비트 세션 시크릿도 자동 생성됩니다.
| 리소스 종류 | 명명 예시(agent-name = talorys) | 용도 |
|---|---|---|
| Worker (Durable Object) | talorys-agent | SQLite 저장소·AI 추론·Alarms 통합 |
| Pages 프로젝트 | talorys-frontend | React 앱 + /api Pages Function |
| Service Binding | talorys-agent (동일 이름) | Pages → Worker 비공개 연결 |
| Secret: TALORYS_SESSION_SECRET | 자동 생성 256-bit | 세션 서명·암호화 |
| Secret: TALORYS_OWNER_PASSWORD_HASH | PBKDF2-SHA256 해시 | 소유자 인증 |
무료 티어 내 예상 사용량·제한 사항 요약
| 항목 | 무료 티어 한도 | Talorys 영향 |
|---|---|---|
| Durable Object SQLite 저장소 | 계정당 1 GB | 대화·메모리·작업·알림 데이터 저장 |
| Pages 정적 에셋 대역폭 | 월 1 GB | React 앱 로딩 |
| R2 / D1 / KV / Vectorize | 각각 무료 한도 별도 | 설치 시 선택적으로 프로비저닝 가능(기본 미사용) |
운영 팁과 주의할 점
비밀번호 재설정
설치 시 만든 주인 비밀번호를 잊었거나 주기적으로 바꾸고 싶을 땐 아래 명령어를 실행하세요. 기존 해시된 비밀번호를 새 값으로 교체하고 Cloudflare Secret도 자동 갱신됩니다.
npx create-talorys@latest reset-password재배포·업데이트
코드를 고쳤거나 최신 버전을 반영하려면 같은 폴더에서 설치 명령어를 다시 실행하면 됩니다. 기존 리소스(Worker, Pages, D1, KV 등)를 중복 생성하지 않고 변경 사항만 조율(reconcile)합니다. 이미 설정된 비밀번호가 있으면 다시 묻지 않아요.
npx create-talorys@latestCI/CD 자동화
GitHub Actions 등에서 무인 배포하려면 --yes(모든 프롬프트 자동 동의)와 --account-id(대상 계정 지정)를 함께 쓰세요. 비밀번호는 환경 변수 TALORYS_OWNER_PASSWORD로 주입합니다. 브라우저 로그인 대신 API 토큰을 쓸 때는 아래 권한만 있으면 충분합니다.
TALORYS_OWNER_PASSWORD="$SECRET" npx create-talorys@latest --yes --account-id <ACCOUNT_ID>| 권한 범위 | 필요 권한 |
|---|---|
| Account › Workers Scripts | Edit |
| Account › Cloudflare Pages | Edit |
| Account › Account Settings | Read |
| User › User Details | Read (선택, 이메일 표시에만 사용) |
Workers AI 모델 변경·쿼터 모니터링
데이터 백업·마이그레이션 전략
모든 영구 데이터(대화, 메모리, 태스크, 노트, 프로젝트, 자동화, 세션, 설정, 사용량)는 Agent Durable Object의 내장 SQLite에 들어 있습니다. 백업·이전 시 다음 순서를 권장해요.
1. D1로 데이터 덤프
wrangler d1 export <DB_NAME> --remote --output=backup.sql 로 전체 SQL 덤프를 받으세요.
2. R2에 보관
덤프 파일을 R2 버킷에 업로드해 버전별로 보관하세요. 비용은 무료 티어 내에서도 거의 들지 않습니다.
3. 마이그레이션 시
새 계정·프로젝트에 동일 스키마의 D1을 만들고
wrangler d1 execute <DB_NAME> --remote --file=backup.sql로 복원한 뒤, Worker 바인딩만 새 D1으로 바꾸고 재배포하세요.
정리: 나만의 AI 비서, 오늘부터 시작하기
지금까지 Talorys를 내 Cloudflare 계정에 배포하고, 운영하는 전 과정을 살펴봤어요. 한 번 명령어(`npx create-talorys@latest`)로 끝나는 배포, 내 계정 안에서만 돌아가는 완전한 데이터 주권, 무료 티어에서도 넉넉한 리소스 구성까지 — 개인용 AI 비서를 시작하기에 이보다 더 간편한 환경은 드물어요.
핵심 명령어 치트키
| 목적 | 명령어 |
|---|---|
| 최초 설치·배포·업데이트 | npx create-talorys@latest |
| 비밀번호 재설정 | npx create-talorys@latest reset-password |
| 비대화형 자동 배포(CI/CD 등) | TALORYS_OWNER_PASSWORD="$SECRET" npx create-talorys@latest --yes --account-id <ACCOUNT_ID> |
공식 레포·문서·이슈
- GitHub 저장소: github.com/rociiu/talorys — 소스 코드, 릴리스 노트, 기여 가이드
- 이슈 트래커: 버그 리포트·기능 요청·질문 모두 여기로
- Cloudflare Agents SDK 문서: 에이전트·Durable Object·알람 구조 이해 시 참고
다음 단계 아이디어
커스텀 도구 추가
에이전트 워커(
src/agent/)에 새 도구 함수를 정의하고tools배열에 등록하면, 채팅 중에도 내가 만든 기능(예: 사내 API 호출, 스프레드시트 동기화)을 바로 쓸 수 있어요.벡터 검색 연동
Cloudflare Vectorize 또는 AI Search를 바인딩해 메모리·노트·태스크를 임베딩하면, 의미 기반 검색과 RAG 응답이 가능해져요. 무료 티어에도 Vectorize 인덱스 1개가 포함돼 있습니다.
멀티 유저 확장
현재는 단일 오너 전용이지만, Durable Object 네임스페이스를 계정 단위가 아닌 사용자 단위로 분리하고 인증 로직을 확장하면 팀·가족 공유 에이전트로 발전시킬 수 있어요.