cloud: fill gaps (memory/KB/cost/models endpoints, WAL concurrency, OAuth scaffold, push subscriptions)

This commit is contained in:
host committed 2026-10-26 01:32:57 +08:00
1 parent b74d99e959
commit 076ba01c74
11 files changed
+2831 -28

No files matched your search

+31
View File
@@ -234,6 +234,37 @@ CI 过了才合。
fallback 列表 + 成本报告。依赖 3A 的任务记录,不依赖
3B/3C,可以和 3C 并行。
## 补齐进度(2026-10-26 第二轮,上一轮留下的未完成项)
已做完(不要再列为未完成):
- 记忆 / 知识库 / 成本 / 模型已接成 server.py 正式端点,
全部走 X-API-Key + 项目 RBAC(除 /health、/webhooks/*、
/oauth/* pre-auth 外),单测覆盖 401/403/404 与跨项目隔离。
- SQLite 并发:连接统一走 cloud/db.py(WAL + busy_timeout
5000ms + 写锁有限重试 3 次指数退避),多线程并发写单测已覆盖;
但单机上限仍在,高并发要换 Postgres,见下“仍留”。
- OAuth 接线脚手架:cloud/oauth.py(state 10 分钟过期一次性、
授权 URL 生成、回调验 state + 换 token,token 换取可注入 fake
客户端,secret 只走环境变量),端点 GET /oauth/{provider}/login
与 POST /oauth/{provider}/callback 已接;真实应用注册与绑定仍缺。
- 推送订阅与分发:cloud/push.py + 端点(订阅增删查、分发按
偏好过滤、只发状态变化事件),webhook/slack 走可注入 sender,
webpush/apns/fcm 只做接口 + 缺凭证明确报错;真实凭证仍缺。
仍留(需要外部条件,不是代码能假装解决的):
- 常驻主机 / 托管服务(VM 回收问题没变)。
- GitHub 远端 + PAT(真实 PR 仍缺这两样)。
- Slack App(真实签名密钥、斜杠命令、事件订阅)。
- 云容器账号(CloudExecutor 仍是占位,Docker 未接通挂载 /
网络隔离 / 资源限额)。
- 模型 key 供给方式(定时/worker 进程手里没有中转站 key,
上次 real-nightly-tests 就卡在这里)。
- OAuth 真实应用注册、回调公网地址、已有账号绑定流程。
- 推送真实证书(VAPID / APNs / FCM)与真实发送端。
- worker 执行、云端执行、真实通知与真实模型回合的接通;
memory/KB/成本/模型路由的 HTTP 端点已接,但 worker 回写
completed/merged 与成本记录仍需接线。
## 需要用户定的事(现在就可以定,不用等代码)
1. 控制面跑在哪:常驻机器(自己的 Mac/服务器)还是