3bcc9ebb99a647ec573372b008b5d1d82a05cab5
- 拆分管理台入口为 App/feature/core 结构并更新样式/配置 - 规范 worker 路由/中间件/服务类型与 JSON 解析 - 同步工具链与知识库记录
new-api-lite
简易版 new-api:Cloudflare Workers + D1 后端,Vite 静态管理台。
目录结构
apps/workerCloudflare Worker (Hono)apps/admin管理台 (Vite)tests基础单元测试
本地开发
1) 安装依赖
bun install
2) Worker
bun run dev:worker
环境变量(apps/worker/wrangler.toml 或 wrangler secret put):
CORS_ORIGIN允许的管理台来源PROXY_RETRY_ROUNDS代理失败轮询次数(默认 2)PROXY_RETRY_DELAY_MS轮询间隔(毫秒,默认 200)
系统设置(管理台 → 系统设置):
- 日志保留天数(默认 30)
- 会话时长(小时,默认 12)
- 管理员密码(首次登录自动初始化,可在系统设置中修改)
3) Admin UI
bun run dev:admin
前端配置(apps/admin/.env 可选):
VITE_API_BASE管理 API 基址(默认同域)VITE_API_TARGET本地开发代理目标(默认 http://localhost:8787)
4) 常用脚本
bun run fix
用于自动修正 package.json 常见问题(等价于 bun pm pkg fix)。
New API 兼容接口
为了支持 all-api-hub 等插件同步渠道,Worker 提供 New API 风格的渠道管理接口:
- 路径前缀:
/api/channel - 认证方式:
Authorization: Bearer {管理员密码}(或管理台登录 token) - 可选请求头:
New-Api-User: 1
支持的常用接口:
GET /api/channel渠道列表GET /api/channel/渠道列表(兼容尾斜杠)GET /api/group渠道分组列表GET /api/channel/search渠道搜索POST /api/channel新增渠道(单条)PUT /api/channel更新渠道DELETE /api/channel/:id删除渠道GET /api/channel/test/:id渠道连通性测试GET /api/channel/fetch_models/:id拉取渠道模型GET /api/user/models用户可用模型列表
D1 数据库
在 apps/worker/migrations/0001_init.sql 定义表结构,使用 Wrangler 迁移:
bun run --filter new-api-lite-worker db:migrate
忘记管理员密码
管理员密码存储为哈希,可通过删除设置记录来重置,下一次登录会用输入的密码重新初始化:
bunx wrangler d1 execute DB --command "DELETE FROM settings WHERE key = 'admin_password_hash';"
生产部署
1) 准备 Cloudflare 资源
- 创建 D1 数据库并回填
apps/worker/wrangler.toml的database_id:
bunx wrangler d1 create new_api_lite
- 设置 Worker 变量与密钥(如 CORS_ORIGIN):
其他变量可继续放在 apps/worker/wrangler.toml 的 [vars] 中,CORS_ORIGIN 需指向管理台域名。
2) 执行生产迁移
bunx wrangler d1 migrations apply DB
3) 部署 Worker
bun run --filter new-api-lite-worker deploy
4) 构建并部署 Admin
bun run --filter new-api-lite-admin build
将 apps/admin/dist 发布到 Cloudflare Pages 或任意静态托管;如需指定 API 基址,请在构建前设置 VITE_API_BASE(例如 apps/admin/.env.production)。
Languages
TypeScript
91.4%
CSS
6.6%
JavaScript
1.9%
HTML
0.1%