基于AI Agent的童话编剧与绘本生成器(四)从“能生成”到“可调节、可分享、可管理”
一、为什么做这次更新
在之前版本中,故事生成已经可用,但在真实使用场景下,我们还缺少几块核心能力:
- 不同角色(管理员/家长/创作者)的权限边界不够清晰
- 内容分享缺少可控机制
- 家长端“控制中心”缺少承载
- 缺少审核与审计数据,难以做后续治理与复盘
- 前端页面与后端能力之间还没完全对齐
所以这次围绕“安全、可控、可运营”做了一次更新。
二、更新点一:角色与权限——从“统一访问”到“按角色能力开放”
我们引入了基于角色的访问控制,目前暂定的角色边界如下:
admin(管理员):拥有全量管理能力
editor(创作者):拥有创作相关能力
parent(家长):可进行家长配置与内容管理(目前已实现“禁止孩子分享”功能,后续会考虑增加“设置每日时长上限”等功能)

三、更新点二:分享与公开访问——打通可控外链能力
新增分享 token 持久化与公开访问路由
- 支持生成故事分享链接
- 支持按 token 访问公开故事
- 支持过期与无效 token 拦截
这使得“作品传播”能力可用,同时保留控制入口(如家长控制分享开关)。
使用效果如下:
1.用户点“分享”——前端调用后端接口:POST /api/v1/stories/{story_id}/share
2.后端生成 token:
- 用安全随机串生成 token(
secrets.token_urlsafe(24)) - 写入
share_tokens表:token + story_id + 过期时间 + revoked 标记 - 返回拼好的分享链接:
{public_base_url}/ui/share.html?token=...

3.其他人打开分享链接:
- 浏览器进入
share.html,从 URL 里取token - 页面再请求:
GET /api/v1/public/share/{token}
4.后端校验 token 并返回故事:
- 校验 token 是否存在、未撤销、未过期
- 通过 token 找到
story_id,再读取故事详情返回 - 无效/过期就返回 404(前端显示“分享无效或已过期”)

四、更新点三:审核与审计——为治理和复盘提供基础数据
我们新增了审核与审计链路,包括:
1.关键词拦截与安全检查

2.审核过程记录(覆盖输入与输出阶段,含关键词校验与启发式检查结果)
3.审计日志持久化(提供通用日志表与写入能力,可用于后续运营分析与风险复盘)
这部分能力虽然对普通用户不可见,但对系统长期稳定运营非常关键。
五、前端页面同步升级——流程终于对齐后端
前端静态页面同步更新,并新增:
- `library.html`(书库)(后续会继续美化界面)

- `share.html`(分享页)
同时升级创建、阅读、完成等页面,让用户侧流程和后端新接口保持一致。


更多推荐


所有评论(0)