- 登录改为邮箱验证码:只发到绑定邮箱,不再使用
APP_PASSWORD。
- Session 只存 SHA-256;cookie 改为
__Host-cursor_chat_auth。
- 登录限流同时看来源和全局(5 次 / 40 次,锁 15 分钟)。
- GET 接口不再写库;助手消息只由服务端在 run 结束时写入。
- 加上 CSP、
frame-ancestors、Referrer-Policy;统一错误文案。
addMessageOnce 改为原子插入;消息表加索引;Agent 列表分页。
- 前端拆成 Login / Sidebar / Transcript / Composer;直播走 Markdown。
- 删除 5 秒可撤销;标题可改;失败可重试上一句;新对话用独立默认模型。
- PWA 网络优先缓存首页;去掉
maximum-scale=1。
- 可选
MCP_VAL_ALLOWLIST、LOGIN_EMAIL。
- 登录按来源限速:连续失败 5 次锁定 15 分钟,全局限 40 次。
- 不再把 val 自带的
valtown token 注入 Cloud Agent;侧栏说明 MCP 风险。
- 打开对话时若 Cursor 侧仍在跑会自动续流;FINISHED 由服务端写入助手回复。
- 发送中不能切会话;
loadMessages 忽略过期响应。
- kickoff 用
addMessageOnce;侧栏合并本地记录,远端列表放到 100 条。
- 同一会话 RUNNING 时禁止再发。Max 只在 API 明确支持时显示。
- Session cookie 改为随机 token + Secure,不再把密码哈希放进 cookie。
- 超时恢复只按 stamp / agentId 查找,不再回落到最近一条会话。
- 继续对话时把 model 传给 Cursor。
- 运行结束后由服务端写入助手回复;
/api/messages 只接受 user/assistant。
- 图标按请求尺寸生成;Service Worker 缓存首页;selftest 改为只读。