mcpField
E
enter-services

enter-services

github.com/pollinations云与 DevOps5.3k68 次安装今天更新
代码仓库

关于 enter-services

用于维护 Pollinations enter 和生成服务的仓库技能,面向工程师说明环境、暂存环境测试、部署流程和令牌管理安全要求。

主要功能

  1. 01说明生产与暂存环境架构
  2. 02指导暂存环境部署与测试
  3. 03解释 Worker 密钥和令牌轮换
  4. 04介绍生产部署安全要求

适用场景

  1. 01在暂存环境测试服务变更
  2. 02部署暂存环境 Worker
  3. 03检查环境配置和密钥

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/pollinations/pollinations --skill enter-services

安装后在 Claude Code 中输入/enter-services确认已加载。

附带文件.gitignoretoken-rotation.md

详细介绍

要求

使用此技能之前,请确保具备以下条件:

  • sops:brew install sops(用于解密机密)
  • Wrangler:npm install -g wrangler
  • Node.js:brew install node

必须在 pollinations 仓库根目录运行。


架构概览

环境网关(Cloudflare Worker)生成
生产环境enter.pollinations.aigen.pollinations.ai Worker
预发布环境staging.enter.pollinations.aistaging.gen.pollinations.ai Worker

原来的 enter-services / enter-services-staging EC2 主机 (text-pollinations.service、image-pollinations.service)已停用; 文本和图像生成现在都在 gen.pollinations.ai Worker 内运行。原先运行在 enter-services 上的 Discord 机器人现已迁移至 monitoring-agents EC2 主机——请参阅 apps/discord-bot-family/README.md 和 operations/infrastructure/gpu/GPU_INSTANCES.md。


部署 Cloudflare Worker(enter.pollinations.ai)

生产环境只能通过 GitHub Actions 部署(从 production 分支触发 Deploy / Cloudflare production),切勿在本地机器上运行 wrangler deploy --env production。请参阅 AGENTS.md 中的“Cloudflare 生产环境部署安全”。

预发布环境通过 Deploy / Cloudflare staging 工作流部署 (workflow_dispatch:选择分支和 service)。该工作流会先运行 migrate:staging,然后运行 deploy:staging。勾选 push_secrets,还可将 secrets/staging.vars.json 推送至 Workers;新增或更改的值必须先通过 Secret Mutation Safety 审批(见 AGENTS.md),才能合并。按服务执行时, 同样的 npm 脚本也可在本地运行:

cd enter.pollinations.ai
npm run deploy:staging   # staging only

运行 wrangler secret list --env staging,查看 Worker 当前的配置。详情: token-rotation.md。

在预发布环境测试

  • 测试令牌:enter.pollinations.ai/.testingtokens 中的 ENTER_API_TOKEN_STAGING。如果身份验证失败,在归咎于部署之前,先在 enter.pollinations.ai 中运行 npm run check-tokens;令牌可能会过期,即使文件没有变化。
  • 在预发布环境中,通过 owner/name 模型 ID 调用 Agent,与生产环境相同。
  • 低成本只读检查:wrangler d1 migrations list DB --remote --env staging、wrangler secret list --env staging 和 dispatch 命名空间列表。

Wrangler 配置

wrangler.toml 包含环境配置:

环境路由服务 URL
productionenter.pollinations.aigen.pollinations.ai
stagingstaging.enter.pollinations.aistaging.gen.pollinations.ai
locallocalhost:3000本地开发

令牌轮换

内部信任边界令牌(PLN_ENTER_TOKEN、PLN_GPU_TOKEN、Tinybird 令牌、SOPS 接收方):请参阅 token-rotation.md,了解清单、 轮换机制、部署路径和回滚方式。


OAuth 客户端说明

这些是构建针对 enter 的第三方 OAuth 客户端时记录的说明,均注明了日期。 依赖这些说明前,请先检查当前源码。

  • Open WebUI 0.11.x(2026-09): 仅在距离 expires_at 不足 5 分钟时刷新令牌, 不会因模型调用返回 401 而刷新。刷新失败会删除其 oauth_session 行,但用户仍保持登录状态,因此对用户而言,刷新失败和 API 密钥被撤销看起来没有区别(下次模型调用时返回 401)。若要实现自我恢复:设置较短的 expires_in,以触发刷新,并对每个仍有效的账户都从刷新端点返回 200。
  • apikey 表: 在 shared/db/better-auth.ts 中,所有者字段是 referenceId,而不是 userId。在类型检查较宽松的代码中,row.userId 可以通过编译,但运行时会在 createApiKey 中失败,并返回具有误导性的“Unauthorized or invalid session”。测试线上环境之前,请对新增且涉及此表的文件运行 tsc。

说明

  • 生产环境会在推送到 production 分支时部署
  • 预发布环境通过 Deploy / Cloudflare staging 工作流(手动触发)部署,也可以通过各服务的 npm run deploy:staging 部署
  • 合并到生产环境前,务必先在预发布环境进行测试
  • enter.pollinations.ai 处理身份验证和计费;生成请求由 gen.pollinations.ai Worker 提供服务

评论

支持 Markdown