rociiu/talorys: Your private AI agent in your individual Cloudflare account. Chat, reminiscence, duties, notes and scheduled reminders, deployed with one command: npx create-talorys@newest. Free-tier pleasant, single-user, no telemetry. · GitHub


Your private AI agent. Your personal cloud.

Talorys is a free, open-source private AI assistant that runs totally inside
your individual Cloudflare account. It chats with you, remembers what issues,
manages duties, notes and tasks, and runs reminders and routines on a
schedule — with none server, database or account operated by the Talorys
builders.

One individual. One Cloudflare account. One command. One private AI agent.

npx create-talorys@newest

  • A non-public assistant — chat with streaming responses, Markdown and gear exercise indicators.
  • Memory — sturdy private info and preferences you’ll be able to view, edit and delete. Only essentially the most related recollections are despatched to the mannequin on every flip.
  • Tasks, notes and tasks — full CRUD within the UI, and from chat (“Add a job to assessment my challenge tomorrow”).
  • Automations — one-time and recurring reminders, each day job digests and non-obligatory AI routines, delivered to an in-app notification middle. They run on Durable Object alarms, so nothing has to remain on-line.
  • Single-user by design — no signup, no accounts, no groups. The installer units the proprietor password.
  • Works with out AI — duties, notes, recollections and reminders maintain working if Workers AI is unavailable or your free quota is used up.

Chat with device exercise Tasks
Tasks
Memory (darkish mode) Automations
Memory Automations

Mobile   Login

Browser ──HTTPS──▶ Cloudflare Pages (React app + /api Pages Function)
                         │  service binding (no public URL)
                         ▼
                   Private Worker (Hono router)
                         │  getAgentByName("personal-agent")
                         ▼
                   TalorysAgent — Cloudflare Agents SDK Durable Object
                     ├─ SQLite: conversations, recollections, duties, notes, tasks,
                     │          automations, periods, settings, utilization
                     ├─ Workers AI: @cf/zai-org/glm-4.7-flash (streaming + device calling)
                     └─ Alarms: reminders and recurring schedules
  • The browser solely ever talks to your *.pages.dev website. /api/* requests run a
    Pages Function that forwards them over a service binding to the agent Worker.
  • The agent Worker is deployed with workers_dev: false and preview_urls: false:
    it has no public URL.
  • Authentication and authorization occur within the Worker, not the frontend.
  • Chat responses stream as Server-Sent Events end-to-end.

More element: docs/architecture.md.

3. Cloudflare providers used

Service Used for Free plan
Cloudflare Pages Frontend + Pages Function Yes
Cloudflare Workers Private API Worker Yes
Durable Objects (SQLite) All knowledge, scheduling alarms Yes
Workers AI Chat mannequin (@cf/zai-org/glm-4.7-flash) Yes, each day allocation

Talorys does not provision R2, D1, KV, Vectorize, AI Search, Workflows or any
paid service.

npx create-talorys@newest

The installer:

  1. Checks Node.js (20.18+) and makes use of its bundled Wrangler CLI (any globally put in wrangler/cf is detected however not required).
  2. Verifies your Cloudflare login, or opens Cloudflare’s authorization web page in your browser.
  3. Lets you select an account (when you have a number of) and an agent title.
  4. Asks for an proprietor password (hidden enter, strength-checked). It is hashed domestically with PBKDF2-SHA256 and saved solely as a Cloudflare secret.
  5. Generates a 256-bit session secret and distinctive useful resource names (talorys--agent, talorys--web).
  6. Deploys the non-public Worker (creating its SQLite Durable Object), shops secrets and techniques, creates and deploys the Pages challenge with the service binding.
  7. Verifies the stay deployment (frontend, auth endpoint, unauthenticated rejection, storage well being) with out operating any AI inference.
  8. Prints the actual https://….pages.dev URL reported by Cloudflare.

It writes a talorys/ listing containing talorys.json (set up id,
account id, useful resource names, URL — no secrets and techniques) and the deployable artifacts.
Keep it for updates.

Interrupted? Run the identical command once more in the identical place. It reconciles
what already exists: no duplicate assets, no password re-prompt if the
password is already configured, and no knowledge is ever deleted.

Non-interactive installs: TALORYS_OWNER_PASSWORD=... npx create-talorys@newest --yes --account-id
(with CLOUDFLARE_API_TOKEN set if you’re not logged in).

Browser login makes use of Wrangler’s customary OAuth stream — no Global API Key. If you
use an API token as an alternative, it wants:

  • Account › Workers Scripts › Edit
  • Account › Cloudflare Pages › Edit
  • Account › Workers AI › Read
  • Account › Account Settings › Read
  • User › User Details › Read (non-obligatory; exhibits your electronic mail)

See docs/deployment.md.

Open the URL the installer prints, enter your proprietor password, and begin chatting.
Sign in from any variety of gadgets — they’re all the identical proprietor. Manage
periods beneath Settings → Security.

Forgot the password? From your talorys/ listing:

npx create-talorys@newest reset-password

This replaces the password secret and indicators out each gadget.

All knowledge is saved in a single SQLite-backed Durable Object (personal-agent)
in your Cloudflare account. Talorys has no telemetry, analytics, monitoring or
promoting code and sends nothing to its builders.

Cloudflare processes your knowledge to supply its providers — together with operating
Workers AI inference in your chat messages and the related recollections included
in every immediate. Review Cloudflare’s privateness coverage and Workers AI phrases.

Security mannequin and menace mitigations: docs/security.md.

7. What is free and what could price cash

Talorys is designed to suit the Cloudflare Workers Free plan and by no means allows
paid options by itself. It just isn’t “limitless free”, although:

  • Free plans have account-level quotas (requests, Durable Object utilization, a each day
    Workers AI Neuron allocation). Quotas are set by Cloudflare and might change.
  • When the AI allocation is exhausted, chat exhibits a transparent message and resumes
    after the each day reset. Everything else retains working, and your knowledge is untouched.
  • If your account is on a paid plan, utilization past included quantities is billed by
    Cloudflare beneath your plan.

Built-in guardrails (adjustable in Settings → AI): max output tokens, max
context tokens (older historical past is summarized), max device calls and reasoning
steps per request, max AI requests per day, and max scheduled AI runs per day.
Simple reminders and job digests by no means use AI. The Usage panel exhibits native
estimates and hyperlinks to the Cloudflare dashboard for precise Neuron utilization.

Requirements: Node.js 20.18+.

git clone https://github.com/rociiu/talorys.git
cd talorys
npm set up
npm run dev

npm run dev begins the agent Worker (wrangler dev, port 8787), the Pages
Function proxy with its service binding (wrangler pages dev, port 8788) and
the Vite UI (http://localhost:5173) in a single terminal. It creates
apps/agent/.dev.vars with a neighborhood password (talorys-dev-password, override
with TALORYS_DEV_PASSWORD) and makes use of the deterministic mock AI supplier, so no
Cloudflare login is required. State persists in .wrangler/state.

Other scripts: npm run construct, npm check, npm run check:e2e, npm run check:pack,
npm run typecheck, npm run lint. See docs/development.md.

Settings → Privacy → Download backup produces talorys-backup.json with
conversations, recollections, duties, notes, tasks, settings and automations
(by no means periods or credentials). Import validates the file and merges it in
one transaction; importing the identical backup twice is innocent.

From your talorys/ listing:

npx create-talorys@newest replace

This redeploys the newest Worker and frontend to the identical assets. The
Durable Object namespace isn’t recreated (migrations are append-only), the
proprietor password and periods are stored, and schema migrations run robotically
and transactionally on first request. Also out there: standing and physician.

Problem Fix
Installer stopped halfway Re-run the identical command; it resumes.
“didn’t cross its well being checks but” New pages.dev websites can take a couple of minutes. Re-run.
Permission errors Use an account the place you’ll be able to edit Workers and Pages, or a token with the permissions above.
Chat says the AI allocation is used up Wait for the each day reset; or allow Demo mode in Settings → AI.
Locked out after failed logins Wait quarter-hour, or reset the password with the CLI.

npx create-talorys@newest physician checks the whole lot robotically. More in
docs/troubleshooting.md.

apps/agent              Private Worker: Hono API, TalorysAgent, instruments, SQLite repositories
apps/net                React + Vite app, Pages Function (features/api/[[path]].ts)
packages/shared         Zod schemas, varieties, recurrence/DST logic, password hashing
packages/create-talorys The one-command installer (npm package deal)
assessments/e2e               Playwright UI assessments
assessments/smoke             Optional real-account deployment check
docs/                   Architecture, deployment, improvement, safety, troubleshooting

MIT



Source link