管理后台与运维
管理后台只对 owner 开放,位于独立的 /admin 界面;主站侧边栏底部仅保留入口,后台拥有独立布局,集中查看工作区、权限、AI、规则、审计和系统状态。
后台六个页签
| 页签 | 可执行操作 | 安全边界 |
|---|---|---|
| 概览 | 查看成员、选题、灵感、母稿和审计事件计数 | 只读指标 |
| 成员与角色 | 添加已注册成员,调整 owner/editor/viewer | 变更写入审计日志 |
| AI 配置 | 查看 provider 是否配置及执行模式 | 不显示或接收 key、token、cookie |
| 内容规则 | 查看平台规范、审核分层和敏感词 sidecar 状态 | 规则唯一来源在 feature 模块 |
| 审计日志 | 查看关键操作、操作者、时间和 metadata | append-only,不允许页面修改 |
| 系统状态 | 查看 AI gateway、发布中心、审计链路并登记趋势指标来源 | 未知状态保持收紧;Connector 仅 owner 可配置 |
AI Provider 运行时配置
AI 配置页是只读状态面板,不是密钥表单。只有服务端运维环境完整设置 CONTENT_STUDIO_AI_PROVIDER=openai、CONTENT_STUDIO_OPENAI_MODEL 与 CONTENT_STUDIO_OPENAI_API_KEY 时才显示“已配置”;可选的第四项 CONTENT_STUDIO_OPENAI_BASE_URL 决定请求打到哪个兼容 Responses 协议的上游,不设置时固定为官方 https://api.openai.com/v1,设置时只允许 HTTPS、不得带账号信息、查询参数或 URL 片段,末尾斜杠会被去掉。页面只接收固定 provider 标签和 model 名称,永远不接收 key、Authorization header 或 endpoint;这一项同样只能由运维环境写入,管理员在浏览器里填不进去。缺少任一项、使用未知 provider、endpoint 不是合法 HTTPS 地址或仅存在通用 OPENAI_API_KEY 时,产品保持未配置并 fail-closed。修改运行时配置后需按部署流程重启服务,再由 owner 检查该页状态;状态显示“已配置”只证明 transport 已装配,不等于已完成授权环境的真实内容生成验收。
AI 路由状态
管理后台展示版本化任务能力契约与 provider 能力矩阵。当前路由按任务能力选择已配置 provider;H3 Video 仅在主进程通过 H3_API_KEY 注入后可用,未配置时视频生成保持不可用(fail-closed)。仅允许对可重试传输错误执行受控 fallback;内容安全拒绝、审核冲突和 revision 漂移不会静默换模型。管理员不能在浏览器输入密钥、endpoint 或任意 model。
登记趋势指标 Connector
owner 可在“系统状态”登记 metrics JSON 来源。填写稳定的 source ID、公开 HTTPS endpoint、启停状态和采集间隔;服务端会在同一 PostgreSQL transaction 中登记 source inventory、保存版本化配置并追加审计事件。已有配置再次保存时必须携带页面读取到的版本,若其他会话已修改则返回冲突并要求刷新。
- endpoint 不允许 HTTP、localhost、明显私网地址、账号信息、查询参数或 URL 片段;表单不接收 header、token、Cookie 或 API key。
- 保存成功后页面清空 endpoint 输入;配置列表只回显 source ID、类型、启停、间隔、版本和更新时间,不回显 endpoint。
- “已登记”只证明配置事实已经持久化,不证明采集已经执行。owner/editor 仍可在趋势页点击“立即采集并聚类”;浏览器始终不会得到 endpoint。桌面与 Web 配置不会暗中互相覆盖。
- 保存 1 分钟到 24 小时的间隔会由 Web 服务端建立 tenant/source scoped 计划。计划保存在 schema v12 的派生状态表,多进程用原子 claim 防重,重启恢复未来时间,过期最多补跑一次。趋势页的只读状态只返回 source ID 与 `nextRunAt`,不返回 endpoint、actor 或数据库字段;“计划”不等于“已执行”。页面不创建 timer;禁用 Connector 或清空间隔会停止并移除派生计划。
角色职责
owner 负责成员、审核批准、排期、dry-run、运维和审计;editor 负责灵感、趋势、选题、Brief、母稿、平台版本和素材草稿;viewer 只读查看。角色不是发布安全门的替代品,owner 也不能绕过 blocking 或未授权 live gate。
持久化、迁移与恢复
业务数据通过服务端 PostgreSQL/迁移和 Electron 本地持久化边界管理。趋势 Connector 配置从 schema v10 开始按 tenant 与 source ID 隔离;schema v11 增加 TrendSignal、稳定聚类、signal 关联和 append-only collection run;schema v12 增加每个 Connector 的可恢复调度状态。迁移必须在服务监听前完成;备份、恢复、回滚和 release artifact 校验属于运维动作,不能由浏览器直接执行。恢复后要重新检查健康端点、版本号、最近/下次采集状态、审计链和 dry-run 默认值。
故障排查
- 先查看页面错误和 `/api/health`,确认服务是否完成迁移。
- 再确认 SSOS 会话、workspace membership 和 capability 快照。
- 检查 provider/sidecar 是否不可用;不可用时保留 blocked,不手工放宽规则。
- 记录 request id、时间、角色和 revision,再从 FAQ 或支持渠道继续处理。
管理后台是运维控制面,不是产品介绍页。所有文案都对应可观察的状态或可审计的动作。