当前项目的“风控中心”只提供基于 OpenAI Moderations 的内容审核,异步观察依赖进程内队列,且没有 aicodex-api 已具备的持久任务队列、短期敏感载荷存储、Qwen3Guard 分类、同步 fail-closed 门禁和独立提示词事件工作台。直接替换或扩写现有内容审核会混淆两种风险模型,并可能改变关键词、Hash、邮件和自动封号等既有行为,因此需要以并列、默认关闭的独立能力引入。
本变更以 /Users/mt/code/mt-ai/aicodex/aicodex-api 当前磁盘实现为功能参考基线,把其中与目标项目实际协议入口相适配的提示词输入审计能力迁入 sub2api,同时保持现有 OpenAI 兼容接口、内容审核页面、数据库记录和错误语义不变。
{base_url}/v1/chat/completions 调用 Qwen3Guard,并严格解析 Safety 与 Categories。/admin/risk-control 页面和行为,新增 /admin/prompt-audit 页面。content_moderation_logs,不改变现有 Moderations 阈值、关键词、Hash、邮件、封号或清理策略。prompt-input-audit: 定义提示词快照、异步投递、持久任务队列、OpenAI 兼容 Qwen3Guard 扫描、脱敏事件、运行态、配置和事件管理 API。prompt-input-guard: 定义同步阻止模式、跨协议入口覆盖、fail-closed 错误语义、WebSocket 每轮门禁、配置快照和无计费/无上游副作用不变量。security-audit-console: 定义安全审计导航、独立提示词审计页面、节点探测、配置保存、运行态观测、事件筛选/详情/安全删除和响应式可访问体验。无。仓库当前没有已发布的 OpenSpec capability;现有内容审核行为在本变更中作为兼容基线,不修改其正式需求语义。
backend/internal/securityaudit/ 垂直模块;现有 Handler 仅增加协调器依赖和接入调用。/admin/prompt-audit/*,复用现有管理员鉴权和管理操作审计。prompt_audit_jobs、prompt_audit_events 和相应索引;配置存入现有 settings,API Key 加密保存;不修改现有内容审核表。frontend/src/features/prompt-audit/,少量修改路由、侧栏和 i18n;原 RiskControlView.vue 业务逻辑保持不变。yjb 分支包含未提交的同步阻止相关改动。开始编码前必须固定源 commit/tag 或保存可审计 diff,避免“完整迁移”范围漂移。source-baseline.md:源仓库状态、dirty 文件和实施前冻结门禁。source-feature-map.md:AICodex 功能到目标 Requirement、代码位置和证据的逐项映射。implementation-guide.md:按文件实施顺序、时序、状态机、API/路由矩阵和常见错误。verification.md:35 条 Requirement 的证据矩阵、协议测试、泄露门禁、灰度阈值和回滚手册。