管理后台¶
管理员账号需匹配服务器配置的 GitHub 或 Gitea 管理员名单,使用对应账号
登录后的 人类浏览器会话 访问 /zh/admin。用户 PAT(包括管理员
自己的 PAT)、系统 PAT 和 worker secret 都不能代替管理员会话。
功能面板¶
- 数据库内省
浏览 PostgreSQL 注册表的全部表结构(表、列、索引、约束), 只读,基于
pg_catalog内省。- MinerU 调度
查看调度器状态(是否在运行、今日已转换数、下次运行时间), 并可手动触发一轮转换。
- 下载失败列表(Acquisition Failures)
列出自动下载失败的论文(含 DOI/arXiv 链接、失败阶段、尝试次数、 最近错误详情)。每行提供:
DOI 链接:点击直达出版社页面人工下载;
上传 PDF:选择本地文件后自动配对 DOI 提交,走贡献通道 (OpenAlex 元数据校验 + resolve-or-mint + 资产登记)。
- 用户管理
列出全部用户,管理员可切换
disabled``(禁用登录)和 ``is_admin标志。- 用量与套餐
查看每用户 agentic 搜索用量(次数 / LLM tokens / 折算 cost), 编辑套餐限额、为单个用户指定套餐或自定义上限。
- 插件管理
查看插件列表与实时健康状态,读写插件配置(如 qatlas-search 的 backend key、agent LLM 端点)。
- 资产浏览(Asset Browser)
搜索有资产的论文(标题 / DOI / arXiv ID),展开查看每篇论文 的 PDF 与 Markdown(object key / size / sha256),支持:
在线预览(PDF 内嵌 viewer / Markdown 文本)
代理流式下载
生成预签名 S3 URL(浏览器直连,默认 1h 有效)
复制 S3 object key
批量 ZIP 下载(最多 20 篇)
下载工作节点(Outbound workers)¶
入口为 /zh/admin/downloader-workers``(英文为
``/en/admin/downloader-workers)。qatlasd 本地优先下载;需要远程获取时,
由 管理员批准的多个 worker 主动连接服务器 领取任务,每台使用自己的
合法网络出口和浏览器。主服务器不拨入 worker,不需发布 worker / CDP
端口。不同论文并行,单篇按尝试次数与截止时间预算顺序故障转移,
不是同时广播到所有节点。完整流程见 搜索。
注册与审批¶
先确认服务器已启用
downloader.remote.enabled,并配置 PostgreSQL 与对象存储;不能同时保留非空 LEGACYdownloader.proxy.url。在节点页创建一次性 enrollment token(默认 15 分钟有效),安全交给 节点运维人员。凭据只供首次注册,不是长期 worker 密钥。
worker 配置实际服务器 HTTPS origin 与 enrollment token,挂载自己的 独立持久化数据卷。它在发注册请求前先保存随机 ID 和独立 secret; 服务器只存 secret 的哈希。不要将身份 / 数据卷复制给并行节点。
注册后状态为
pending,只能查询自身状态,不能领取任务或上传。 核实节点身份及授权网络后,在页面确认 approve。正常重连复用持久化身份,无需重新批准;注册响应丢失可用同身份重试, 不能用已消费 enrollment token 注册另一台机器。每个新节点使用新 token。
节点页每 10 秒刷新,显示节点状态、最近心跳、运行中 / 容量、浏览器状态、 空闲磁盘、暂存用量、最近任务及错误。健康信息来自最近上报,不是主服务器 对节点的实时连通性测试。待批准节点显示不健康不意味着应重建数据卷。 快照中节点与任务各最多 500 条,不是分页审计历史。
排空、恢复与撤销¶
drain:approved → draining;停止新任务分配,仍允许已有任务续租、 上传和查收据。计划停机应先排空并等待归档完成。
enable:draining → approved,恢复领取任务。
reject:拒绝待审批身份;revoke:撤销已注册节点访问权, 阻断后续认证与执行租约,不能代替平滑排空。已在主服务器暂存的结果 仍可完成归档恢复。
rejected / revoked 为终态,不能重新 enable;重新接入需要新 enrollment 与新身份。处理旧卷前保留未确认 PDF 以供调查,不要因撤销就删除它们。
管理员验收¶
通过 Web 界面 的 Robust Downloader 页面或 API 参考 的
POST /api/downloader/fetch 提交获授权的样本,结合节点页确认心跳、
并发容量和有界故障转移。查看 GET /api/downloader/remote-jobs 的
持久化 queued → running → staged → done 进度;某些阶段可能在两次
轮询间完成。本地优先命中的样本不一定产生远程任务。
GET /api/downloader/jobs 还合并最多 512 条持久化待执行请求,包含
等待本地槽位的请求;重启可能清除本地详细轨迹,但不会以此清除已持久化队列。
done 的边界是 PDF 归档:上传经校验后写入对象存储并完成 registry
资产登记,才创建持久化收据。worker 核对 task / attempt / SHA-256 / size
后删除已确认副本;HTTP 成功或 staged 不能作为删除依据。未确认结果会重试,
但受保留期限限制(worker 默认 ready 后 24 小时)。MinerU / 索引由后续
持久化 outbox 处理,不阻塞 done;Markdown 就绪需另行检查。
qatlasd downloader probe``(包括 LEGACY ``--proxy)**不测试新 fleet**。
API 端点¶
对应的 API 端点只接受管理员浏览器会话,PAT 一律 403;whoami 允许
任意已登录用户会话查询自身管理员标志。worker 机器认证不能用于这些操作。
下载节点管理端点如下(详细协议与错误状态见 API 参考):
方法 |
端点 |
成功状态 |
说明(均需管理员会话) |
|---|---|---|---|
GET |
|
200 |
节点与远程任务快照,不返回 worker 密钥 |
POST |
|
201 |
创建一次性 |
POST |
|
200 |
|
未登录返回 401,非管理员 / PAT 返回 403,fleet 关闭返回 503;不存在节点 返回 404,未知 action 返回 400,状态变化 / 操作错误需刷新后检查(部分 非法状态转换当前返回 500,不能假定均为 409)。
其他管理端点:
方法 |
端点 |
说明 |
|---|---|---|
GET |
|
当前登录身份与是否为管理员 |
GET |
|
数据库表结构内省(只读) |
GET |
|
原始行浏览(分页) |
GET |
|
MinerU 调度器快照 |
POST |
|
手动触发一轮转换(已在运行时返回冲突) |
GET |
|
下载失败论文列表 |
GET / PATCH |
|
用户列表 / 角色管理 |
GET |
|
每用户 agentic 用量 |
GET / PUT |
|
套餐与配额管理 |
GET / PUT |
|
插件配置读写 |
GET |
|
资产清单(object key / size / sha256) |
GET |
|
代理流式下载 |
GET |
|
代理流式预览 |
GET |
|
预签名 URL( |
GET |
|
按标题 / DOI / arXiv 搜索有资产的论文 |
GET |
|
批量 ZIP 下载(最多 20 篇) |
完整 API 参考见 API 参考。