SuperAPI AI 工具集

iblai-api-studio-problem

办公与效率

查看项目

更新于 10-15 22:16

技能介绍

用途:在 Open edX Studio 的单元(unit)中创建和编辑 problem(测评)组件。一个 problem 块包含该单元的全部题目,用户一次 Submit 后整块作为一个评分项。

主要能力:通过 Studio API 创建 problem 块并写入 OLX 题目数据与评分元数据;支持读取、复制、删除块;支持批量方式(在 outline 中以 problem_type 为 blank 写入)。每个单元两次调用即可完成。

使用方式:先完成鉴权预检 node .claude/skills/iblai-api-studio-auth/scripts/studio-login.mjs --check,否则先运行 /iblai-api-studio-auth。需要单元 locator、评分策略中的 graderType、已校验为合法 XML 的 OLX。创建用 POST /xblock/ 传 parent_locator 与 category=problem;写入用 POST /xblock/{problem} 传 data、metadata 和 "nullout": ["markdown"]。读取用 GET /xblock/{problem} 或 GET /api/contentstore/v1/container/vertical/{unit}/children。删除用 DELETE /xblock/{problem},属破坏性操作,需先与用户确认。

关键规则:一个单元只放一个 problem 块,多块会导致多个 Submit 按钮和多个评分项。metadata 支持 display_name、max_attempts、weight、showanswer、rerandomize 等;weight 设为题目数以每题一分。OLX 中每个问题一个 *response 元素,各带 label,可选 description;选择题加 choicehint,每题加 solution;除非选项顺序有意义,否则 shuffle="true";文本中的 <、>、& 需转义;发送前必须校验 XML,否则单元无法渲染。

适用场景:形成性检查(max_attempts 2–3、showanswer: finished、weight 等于题数、subsection 为 notgraded)或总结性测评(max_attempts: 1、showanswer: past_due 或 never、放在评分 subsection 中)。

限制:随机变体、自定义 Python 评分器和图片虽被 OLX 支持但不在本技能范围内;更多题型需参考 references/olx.md 与 Open edX 官方 Problem OLX 文档。