20.1 状态就是你的会话存储
前面 §05 讲了,Agent 状态存 SQLite,天然就是会话存储。每个 name 一个会话。
20.2 只读连接
不想让客户端改状态,只让看?用只读连接。客户端连上只能读,不能 setState、不能调 @callable。
20.3 跨域鉴权
Agent 要接外部系统(比如你的后端)?cross-domain-authentication 让你安全地让 Agent 代表用户调外部 API,用令牌转发。
20.4 安全清单
| 风险 | 做法 | 标叔的提醒 |
|---|---|---|
| 状态被乱改 | 只读连接 | 展示页用只读 |
| 子 Agent 乱建 | onBeforeSubAgent 校验 |
严格注册表 |
| 密钥泄露 | wrangler secret |
别进 Git |
| MCP 未授权 | OAuth / token | 公开 server 加鉴权 |
核心建议
公开暴露的 Agent 和 MCP,默认当"会被攻击"来设计。最小权限,显式鉴权。
鉴权讲完。下一章讲工作流——多步、可恢复、可审批的管线。