部署检查
本页是宿主应用的上线清单,不是 Karkata 的自动部署器。当前仓库没有生产网关或 Docker 镜像;部署方需要实现并审计自己的 HTTP 服务。
启动前
- 使用 Node.js
>=20的运行环境,锁定依赖版本并执行构建与类型检查。 - 通过服务器密钥管理注入 Provider URL、Key 和模型;启动时拒绝空值、非 HTTPS 或不在 allowlist 的 URL。
- 确认用户认证、租户隔离、工具授权、请求体限制、并发限制和频率限制已启用。
- 关闭调试日志,不把环境变量、Header、提示词和完整响应写入日志。
反向代理和流式响应
- 对
/api只允许需要的 HTTP 方法和同源/明确 Origin。 - 代理必须透传
text/event-stream、及时 flush,并关闭会缓冲 SSE 的压缩或缓存配置。 - 客户端断开时取消上游 Fetch;设置连接、首字节和总时长超时。
- 健康检查只检查应用和配置状态,不调用真实模型,不泄露上游地址或凭据。
可观测性
记录 request id、模型白名单 ID、状态、耗时、重试次数、token 用量摘要和错误码。为上游失败、限流、工具失败和取消分别设置指标与告警;不要记录原始内容。
上线后
- 用无业务数据的测试账户验证非流式和 SSE 流式请求。
- 验证取消、超时、重试、Provider 401/429/5xx、工具拒绝和上下文超限。
- 检查浏览器网络面板没有长期 API Key,检查响应头、CORS/CSRF 和缓存策略。
- 设定额度、成本和异常流量告警,并准备密钥轮换和版本回滚方案。