浏览器 ──HTTPS──▶ Cloudflare Pages(React 应用 + /api Pages Function)
│ service binding(无公开 URL)
▼
Private Worker(Hono 路由)
│ getAgentByName("personal-agent")
▼
TalorysAgent — Cloudflare Agents SDK Durable Object
├─ SQLite:对话、记忆、任务、笔记、项目、
│ 自动化、会话、设置、用量
├─ Workers AI:@cf/zai-org/glm-4.7-flash(流式输出 + 工具调用)
└─ Alarms:提醒与周期性计划任务
- 浏览器只会与你的 .pages.dev 站点通信。/api/ 请求由一个 Pages Function 处理,并通过 service binding 转发给 agent Worker。
- agent Worker 以 workers_dev: false 和 preview_urls: false 部署:它没有公开 URL。
- 认证与授权在 Worker 中完成,而不是在前端。
- 聊天响应以 Server-Sent Events 端到端流式传输。
更多细节:docs/architecture.md。
| 服务 | 用途 | 免费套餐 |
|---|---|---|
| Cloudflare Pages | 前端 + Pages Function | 是 |
| Cloudflare Workers | 私有 API Worker | 是 |
| Durable Objects (SQLite) | 所有数据、调度警报 | 是 |
| Workers AI | 聊天模型(@cf/zai-org/glm-4.7-flash) | 是,每日配额 |
Talorys 不会开通 R2、D1、KV、Vectorize、AI Search、Workflows 或任何付费服务。
它会在 talorys/ 目录中写入 talorys.json(安装 ID、账户 ID、资源名称、URL——不含机密信息)以及可部署产物。请保留该目录以便后续更新。
安装中断了? 在同一位置再次运行相同命令即可。它会核对已存在的资源:不会重复创建资源,若密码已配置则不会再次提示输入密码,且绝不会删除任何数据。
非交互式安装:TALORYS_OWNER_PASSWORD=... npx create-talorys@latest --yes --account-id <id>(如果你未登录,需设置 CLOUDFLARE_API_TOKEN)。
浏览器登录使用 Wrangler 的标准 OAuth 流程——无需 Global API Key。如果你改用 API token,则需要:
打开安装程序打印的 URL,输入所有者密码,即可开始聊天。你可以从任意数量的设备登录——它们都是同一位所有者。在 Settings → Security 下管理会话。
忘记密码了?在你的 talorys/ 目录下运行:
npx create-talorys@latest reset-password
这会替换密码密钥并登出所有设备。
所有数据都存储在你 Cloudflare 账户中一个由 SQLite 支持的单一 Durable Object(personal-agent)内。Talorys 没有遥测、分析、追踪或广告代码,也不会向其开发者发送任何数据。
Cloudflare 会处理你的数据以提供其服务——包括对你的聊天消息以及包含在每次提示中的相关记忆运行 Workers AI 推理。请查阅 Cloudflare 的隐私政策和 Workers AI 条款。
安全模型与威胁缓解措施:docs/security.md。
Talorys 旨在适配 Cloudflare Workers 免费套餐,绝不会自行启用付费功能。不过它并非"无限免费":
内置防护措施(可在 Settings → AI 中调整):最大输出 token 数、最大上下文 token 数(较旧的历史会被摘要)、每次请求的最大工具调用与推理步数、每日最大 AI 请求数,以及每日最大计划 AI 运行次数。简单的提醒和任务摘要从不使用 AI。Usage 面板显示本地估算值,并提供指向 Cloudflare 控制台的链接以查看精确的 Neuron 用量。
git clone https://github.com/rociiu/talorys.git
cd talorys
npm install
npm run dev
npm run dev 会在一个终端中启动 agent Worker(wrangler dev,端口 8787)、带有 service binding 的 Pages Function 代理(wrangler pages dev,端口 8788)以及 Vite UI(http://localhost:5173)。它会创建包含本地密码(talorys-dev-password,可通过 TALORYS_DEV_PASSWORD 覆盖)的 apps/agent/.dev.vars,并使用确定性的模拟 AI 提供程序,因此无需登录 Cloudflare。状态持久化在 .wrangler/state 中。