已关闭
[Requirement|需求建议]: [RFC] ContentCheck 接入 CANNBot 网关并将自动选页上限调至 120 #20
AndyKong2020创建于  13 天前关闭于  4 天前
AndyKong2020成员
13 天前 创建

请先说明问题和使用场景,再描述建议方案。单纯申请补充某项技术知识时,请使用“Knowledge-Request|知识需求”。

Scope / 建议范围

评测、测试或 CI

Background / 背景与问题

现行 ContentCheck 在上游 e7c4942d2 使用 Anthropic 适配与 MODEL Secret,自动变更页超过 12 张即跳过。新测试网关是 OpenAI-compatible,要求 API key 和 x-api-vkey;继续沿用旧接线无法可靠完成内容检查。需要在 PR 上检查较大批次知识页,同时让维护者从 Job 日志看到逐页耗时与 token 计数。

Desired outcome / 期望结果

ContentCheck 在不改变公开 Summary/JSON 协议和非阻断性质的前提下,使用 CANNBot OpenAI-compatible 网关;实际模型 ID 由 content_check.toml 的 model_id 配置,凭据只由 Secrets 提供;自动选页 12→120,超过 120 仍跳过。成功页与批次日志记录 elapsed_s、input/output/reasoning/cache_read/cache_write 计数。

Proposal / 建议方案

复用现有 content_check.toml、单页 OpenCode runner、GitCode ContentCheck Job 和严格结果协议。新增 model_id,经仅供子进程使用的环境变量传入 OpenCode;BASE_URL 使用完整 /v1 地址,AUTH_TOKEN 映射为 apiKey,CANNBOT_VKEY 映射到 x-api-vkey。保留 3 并发、600 秒单页超时、2 次尝试和原公开产物。

A/B:A 为 e7c4942d2(上限 12),B 为候选分支(上限 120)。相同知识卡列表做 plan-only:12 页两者均选中;13/120 页 A 跳过、B 选中;121 页两者跳过。网关模型选择对照:opencann 测试 #122 从 MODEL Secret 取得未授权模型,1 页 HTTP 403;#123 从策略指定 glm-5.3-flash,同一 PR 的 1 页完成,elapsed_s=51.417,input=17868、output=256、reasoning=601、cache_read=17664、cache_write=0;整条流水线 5m14s 全绿。证据:https://gitcode.com/opencann/cannbot-knowledge/actions/runs/5b77167677d14b96a124c00a408583e2 。

Impact / 影响与兼容性

默认行为变化仅影响自动选页 13–120 张的 PR:由跳过改为最多 3 个 reviewer 并发检查,耗时和网关 token 消耗增加;120 页可能显著延长 ContentCheck,但仍不阻断其他 Job。无知识格式、检索、图谱或公开报告协议变化。现有配置入口可承载模型与上限,但原有默认上限无法完成本次批量检查目标。迁移时在目标仓配置 BASE_URL(完整 /v1)、AUTH_TOKEN 和 CANNBOT_VKEY;不再读取 MODEL Secret。回退时恢复旧 TOML 上限/模型与 workflow 映射。

回归:12 项定向测试、Skill 结构校验、Ruff、单页真实流水线均通过;最新上游上的 bash check.sh 仅因 test_missing_runtime_dependencies_are_installed_automatically 失败,该项在未改动的 e7c4942d2 基线可复现。检索脚本输出 MISS,但当前 check.sh 将其作为观测项。

Alternatives / 备选方案

保持 12 页上限会让 13–120 页的 PR 完全跳过语义检查;用显式 --pages 可绕过自动选页上限,但 CI 无法逐个指定页面。把模型 ID 留在 Secret 会重复出现未授权模型误配,按本次使用场景选择单一 TOML 配置入口。仍需维护者评估 120 页最坏耗时/成本和是否降低上限;本次只用 1 页实际调用验证网关,未声称 120 页时延已实测。

Checklists / 提交确认

likedislike
AAndyKong2020成员
13 天前 关联了pull request:ci: adapt ContentCheck to CANNBot gateway and log usage
AAndyKong2020成员
4 天前 issue状态由 进行中 改变为 已完成
AAndyKong2020成员
4 天前 关闭了 issue
CANN-robotCANN-robot成员
4 天前 添加了label:resolved