Talorys单Worker部署教程:不依赖Pages,一个Worker搞定前端与后端

原创2026-10-18 04:21:0936 阅读

Talorys单Worker部署教程:不依赖Pages,一个Worker搞定前端与后端

Talorys 是一个运行在你自己 Cloudflare 账号里的开源个人 AI Agent:聊天、记忆、任务、笔记和定时提醒全部自托管,数据存在你自己的 Durable Objects SQLite 中,无遥测、单用户、对免费套餐友好。默认安装方式会部署 Pages 前端 + 私有 Worker 后端 两个资源,而 Talorys 还支持一种单 Worker 部署模式:一个 Worker 同时托管 React 前端和 API 后端,不依赖 Cloudflare Pages,资源更少、配置更简单。本教程带你用 4 条命令完成这种单 Worker 部署。

为什么需要单 Worker 部署?

Talorys 提供两种部署形态:

维度 默认双资源部署 单 Worker 部署
前端 Cloudflare Pages(静态站点) Worker 静态资产(assets)
后端 私有 Worker(无公网 URL) 同一个 Worker
连接方式 Pages Function 通过 service binding 转发 /api/* /api/* 由 Worker 入口直接处理
资源数量 2 个(Pages + Worker) 1 个
适用场景 npx create-talorys@latest 一键安装 只部署单个 Worker 的工具(如 Appflare)

在单 Worker 模式下,wrangler.standalone.jsonc 通过 assets 配置把编译好的前端 apps/web/dist 作为静态资产挂到同一个 Worker 上,并用 run_worker_first: ["/api/*"] 让 API 请求优先走 Worker 代码,其余请求由静态资产兜底(single-page-application 模式,刷新前端路由也不会 404)。

请求链路也变短了:浏览器不再经过 Pages Function,所有请求都打到同一个 Worker——静态资源直接返回,/api/* 则交给 src/index.ts 中的入口转发给 personal-agent 这个 Durable Agent,由 TalorysAgent 就近执行 API(Hono 路由定义在 src/api/app.ts)。

Talorys 单 Worker 部署后的个人 AI Agent 登录页

部署前置条件

在开始之前,请确认以下几点:

  1. Node.js ≥ 22:单 Worker 模式需要本地构建前端;
  2. Cloudflare 账号:免费 Workers 套餐即可,且已用 wrangler login 完成登录(或准备好 CLOUDFLARE_API_TOKEN + CLOUDFLARE_ACCOUNT_ID);
  3. 一个强度足够的密码:至少 10 位、混合字母数字符号(或 16 位以上),且不含常见词——弱密码会被视为"未配置"。

💡 如果你不介意多一个 Pages 项目,直接运行 npx create-talorys@latest 就能一键装好并自动验证,本文只覆盖手动单 Worker 流程。

单Worker部署四步走

第 1 步:克隆仓库并安装依赖

git clone https://gitcode.com/gh_mirrors/ta/talorys.git
cd talorys
npm install

仓库结构速览:前端在 apps/web/,后端在 apps/agent/,共享类型与工具在 packages/shared/。

第 2 步:构建前端产物

npm run build -w @talorys/web

这一步把 React 应用打包进 apps/web/dist,也就是 Worker 要挂载的静态资产目录。

第 3 步:写入两个必填 Secrets

单 Worker 模式的 Worker 是公网可达的,安全完全依赖应用内认证,所以必须设置:

cd apps/agent
npx wrangler secret put OWNER_PASSWORD -c wrangler.standalone.jsonc
npx wrangler secret put SESSION_SECRET -c wrangler.standalone.jsonc
  • OWNER_PASSWORD:明文主人密码,用于登录(当 OWNER_PASSWORD_HASH 已存在时,后者优先生效)。建议至少 10 位混合字符;
  • SESSION_SECRET:会话密钥,至少 32 个随机字符,例如 openssl rand -hex 24 的输出。

第 4 步:部署

npx wrangler deploy -c wrangler.standalone.jsonc

部署完成后,Worker 的 workers.dev URL(或你绑定的自定义域名)就是唯一入口——前端和 API 都从这里出。该配置将 Worker 命名固定为 talorys,重复部署会覆盖账号中同名 Worker,想换个名字可以改配置里的 name 或加 --name 参数。

Talorys 单 Worker 部署完成的 AI 聊天界面,支持流式回复与工具调用

部署后验证:访问 /api/health

不打开任何 AI 推理,先确认部署是否健康。在浏览器访问 <你的URL>/api/health,期望看到类似:

{
  "ok": true,
  "version": "0.1.6",
  "storage": "ok",
  "configured": { "password": true, "session_secret": true },
  "ai_binding": true,
  "push": false
}

逐项检查:

  • configured.password: false → 密码太弱或 secret 没写进去,重新 secret put;
  • configured.session_secret: false → SESSION_SECRET 少于 32 字符;
  • storage: "error" → SQLite Durable Object 未就绪,稍后重试。

一切为 true/ok 后,打开页面输入 OWNER_PASSWORD 即可登录。登录后就能进入聊天(Chat)、记忆(Memory)、任务(Tasks)、笔记(Notes)和自动化(Automations)各页面。

Talorys 任务管理页面:今日、待办与已完成任务看板

可选增强:开启推送通知

Web Push 需要一对 VAPID 密钥,单 Worker 部署下同样以 secret 形式写入:

npx web-push generate-vapid-keys
npx wrangler secret put VAPID_PUBLIC_KEY -c wrangler.standalone.jsonc
npx wrangler secret put VAPID_PRIVATE_KEY -c wrangler.standalone.jsonc

配置后 /api/health 中 "push": false 会变为 true,提醒、任务日报和例行任务就能推送到你开启通知的手机/电脑(Settings → General 管理)。不配置也不影响其他功能,只是推送不可用。详细说明见 docs/deployment.md。

Talorys 自动化提醒页面:每日任务日报与周期提醒在 Cloudflare 账号内定时执行

单 Worker 模式 vs 双资源模式:怎么选?

  • 选单 Worker:你希望资源最少、URL 只有一个、或使用的部署工具(如 Appflare)只支持部署单个 Worker;
  • 选双资源:你希望用 npx create-talorys@latest 自动安装与 update/doctor/reset-password 全生命周期管理,且希望后端 Worker 无公网 URL(Pages 通过 service binding 私有转发 /api/*)。

两种模式的功能完全一致:聊天、记忆、语义召回(可选)、任务、推送、定时任务都在。

Talorys 记忆管理页面(深色模式):偏好、事实、目标与习惯分类展示

注意事项与常见坑

问题 说明
部署后访问 404 前端尚未构建,先执行第 2 步再部署;确认 apps/web/dist 存在
登录一直失败 检查 OWNER_PASSWORD 是否通过强度校验(/api/health 的 password 字段)
改 SESSION_SECRET 的后果 会登出所有设备,且 UI 中修改过的密码会回退到 OWNER_PASSWORD
同名覆盖 配置固定 name: "talorys",重复部署会替换账号中同名 Worker,注意不要用该名字跑别的项目
AI 额度用尽 聊天会提示"AI 分配已用尽",每日额度重置后自动恢复;任务、笔记、提醒等不依赖 AI 的功能不受影响
忘记主人密码 单 Worker 模式没有 reset-password 子命令兜底,直接重新 wrangler secret put OWNER_PASSWORD 即可

完整部署细节(幂等性、权限要求、真实账号冒烟测试)可阅读 docs/deployment.md;安全模型参考 docs/security.md;排障手册见 docs/troubleshooting.md。

小结

  • Talorys 单 Worker 部署 = 构建前端(npm run build -w @talorys/web)+ 两个 secret(OWNER_PASSWORD、SESSION_SECRET)+ 一条 wrangler deploy -c wrangler.standalone.jsonc;
  • Worker 的 assets 配置同时承担前端静态托管与 SPA 路由,run_worker_first: ["/api/*"] 保证 API 优先命中后端;
  • 用 /api/health 无推理验证部署,再按需补 VAPID 密钥开启推送;
  • 资源少、入口单一,适合追求极简部署的个人用户——一个 Worker,就是你的私有 AI Agent 全家桶。
登录后查看全文
talorys