{"ok":true,"base":"/api/open/v1","auth":{"type":"header","headers":{"X-API-ID":"as-…","X-API-SECRET":"ak-…"},"alt":"Authorization: Bearer <ID>:<SECRET>"},"scopes":[{"scope":"profile:read","name":"👤 基本信息（读）","desc":"读取你的姓名、班级、所在小组列表","risk":"read","rpm":60},{"scope":"community:read","name":"💬 我的社区（读）","desc":"读取你发布的朋友圈动态与收到的评论","risk":"read","rpm":60},{"scope":"community:write","name":"💬 我的社区（写）","desc":"以你的身份发布朋友圈、评论、点赞","risk":"write","rpm":30},{"scope":"group:read","name":"👥 我的小组（读）","desc":"读取你所在小组的空间动态（仅限你所在的小组）","risk":"read","rpm":60},{"scope":"group:write","name":"👥 我的小组（写）","desc":"在你所在的小组空间发布动态（成员身份校验，非成员 403）","risk":"write","rpm":30},{"scope":"homework:read","name":"📝 作业（读）","desc":"读取作业列表、你自己的提交记录、被分配的互评任务","risk":"read","rpm":60},{"scope":"homework:write","name":"📝 作业（写）","desc":"创建/更新你自己的作业提交（草稿或提交）","risk":"write","rpm":30},{"scope":"tower:read","name":"🛫 协作塔台（读）","desc":"读取你参与的项目与任务","risk":"read","rpm":60},{"scope":"tower:write","name":"🛫 协作塔台（写）","desc":"在你参与的项目里创建/更新任务（成员校验）","risk":"write","rpm":60},{"scope":"schedule:read","name":"📅 日程（读）","desc":"读取你的日程（按日期区间）","risk":"read","rpm":60},{"scope":"schedule:write","name":"📅 日程（写）","desc":"创建/删除你的日程","risk":"write","rpm":60},{"scope":"todo:read","name":"✅ 待办（读）","desc":"读取你的待办清单与事项","risk":"read","rpm":60},{"scope":"todo:write","name":"✅ 待办（写）","desc":"创建/勾选/删除你的待办事项","risk":"write","rpm":60},{"scope":"notes:read","name":"📓 我的笔记（读）","desc":"读取你的笔记分类与笔记内容（含 AI Agent 自留地）","risk":"read","rpm":60},{"scope":"notes:write","name":"📓 我的笔记（写）","desc":"创建/修改/删除你的笔记与分类；Agent 整理的笔记默认进入「🤖 AI Agent 自留地」并附 AI 思考","risk":"write","rpm":30},{"scope":"upload:write","name":"🖼 图片上传","desc":"上传图片到你的图床（朋友圈/笔记正文可引用返回的 URL；单张 ≤2MB）","risk":"write","rpm":30},{"scope":"review:read","name":"⚖️ 作业互评 · 含教师评价（读）","desc":"读取「我该评的全部任务」：学生匿名互评 + （若你是评价教师）教师实名评价；含评分指标与我已提交的评分","risk":"read","rpm":60},{"scope":"review:write","name":"⚖️ 作业互评 · 含教师评价（写）","desc":"提交评分：学生互评（匿名）或教师评价（实名，必须带评语）；记录自动标记为 AI Agent 操作","risk":"write","rpm":30},{"scope":"treach:read","name":"👨‍🏫 教师评价（读 · 兼容别名）","desc":"等同于 review:read 中的教师评价部分（保留兼容，建议直接用 review:read）","risk":"read","rpm":60},{"scope":"treach:write","name":"👨‍🏫 教师评价（写 · 兼容别名）","desc":"等同于 review:write 中的教师评价部分（保留兼容，建议直接用 review:write）","risk":"write","rpm":30},{"scope":"postcenter:read","name":"🌐 PostCenter（读）","desc":"读取你自己的静态网页托管站点列表、文件树与文件内容","risk":"read","rpm":60},{"scope":"postcenter:write","name":"🌐 PostCenter（写）","desc":"创建/更新你自己的静态网页托管站点：多文件推送（HTML/CSS/JS/图片/字体，相对目录）、发布/下线/删除","risk":"write","rpm":20},{"scope":"learning:read","name":"📊 学情数据（读·脱敏）","desc":"读取你自己的学习行为聚合统计。⚠️ 仅本人、仅脱敏聚合（无原始日志/无精确时间戳/无他人数据），限速最严","risk":"read","rpm":20},{"scope":"learning:teacher:read","name":"📊 学情数据（教师 · 全班/指定学生）","desc":"教师专用：按学生或全班读取学习行为埋点聚合、成长指数、SOLO 层次、认知网络（ENA）、课堂互动与作业证据。⚠️ 需要账号持有「学情数据（教师·全站）」平台权限，仅返回聚合口径（不含原始日志与作答原文）","risk":"read","rpm":20},{"scope":"perm:behavior","name":"🔑 🗺 用户行为地图","desc":"学习分析 · 数据埋点可视化（SRL 六视图）。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:members","name":"🔑 👥 成员管理","desc":"添加 / 更新 / 移除成员。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:chats","name":"🔑 📤 AI 对话记录导出","desc":"学习分析 · 按人导出 AI 对话记录。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:reads","name":"🔑 📚 阅读文献记录导出","desc":"学习分析 · 导出文献精读记录。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:dify","name":"🔑 🌐 全局统一 API 配置（Aidee）","desc":"智能体中心 · 全平台默认 Dify API 地址与密钥（Aidee 本体使用；未自定义的智能体自动沿用）。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:note_admin","name":"🔑 📓 智能笔记智能体","desc":"智能体中心 · 智能笔记（笔记提炼 / 总结 / 定时回顾）的 API 自定义（留空=全局）。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:aibots","name":"🔑 🧠 智能体中心 · 智能体管理","desc":"新建 / 编辑 / 删除智能体 · 使用场景 · 谁能使用 · API 自定义（留空=全局）。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:mp","name":"🔑 📢 公众号与通知","desc":"新建公众号 / 群发通知。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:refines","name":"🔑 ✨ 笔记精炼记录导出","desc":"学习分析 · 导出笔记 AI 精炼记录。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:launcher","name":"🔑 🧩 应用卡片与角色管理","desc":"角色管理 · 启动页 APP 卡片：图标 / 标题 / 描述 / URL / 排序。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:ticket","name":"🔑 🎫 工单客服","desc":"工单中心：受理 / 回复 / 转交工单 · 新增分类 · 写帮助文章。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:mail","name":"🔑 📧 邮件推送","desc":"SMTP 配置 · 公众号邮件 · 站点对外网址。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:dashboard","name":"🔑 📊 成果看板","desc":"成果看板 · 研究类别分布 / 选题词云 / 成果知识图谱。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:growth","name":"🔑 🌱 学习成长 · 增值评价导出","desc":"学习分析 · 全站/个人成长指数与基线对比导出。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:chain","name":"🔑 🧠 用户思维链","desc":"学习分析 · 认知过程后台研究视图（三列泳道）。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:growth_report","name":"🔑 📋 AI 学习分析报告","desc":"学习分析 · 学生报告聚合 + RT 三级分层。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:tm_report","name":"🔑 🕰 成果时光机 · AI 修改分析报告","desc":"学习分析 · 成果修改历程 AI 分析报告聚合。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:tm_all","name":"🔑 🕰 全员成果时光机","desc":"成果看板 · 查看全部学生成果的时光机版本历程（仅查看，不含 AI 分析/恢复）。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:tower_dash","name":"🔑 🛫 项目协作塔台看板","desc":"学习分析 · 全站协作项目执行率/延误率/任务量与全链路数据点看板。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:quota","name":"🔑 🎚 用户额度管理","desc":"设置每个用户的全局 AI 调用次数与邮件接收次数上限 · 查看动态建议 · 邮件发送日志。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:quota_review","name":"🔑 ✋ 额度申请审核","desc":"申请审核中心 · 审核 AI 调用/邮件接收提额与积分购买申请（与建组审核分权）。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:grp_review","name":"🔑 🛡️ 建组审核","desc":"申请审核中心 · 审核学习社区建组申请（与额度审核分权）。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:points","name":"🔑 💰 积分系统管理","desc":"积分规则（行为基础分/权重）· 积分商城定价 · 全站积分与消耗明细（订单号）调阅。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:mall","name":"🔑 🛍️ 积分商城管理","desc":"上架商品 / 定价 / 库存 / 额度直充商品设置 / 订单发货与快递单号。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:notice","name":"🔑 📢 启动页公告跑马灯","desc":"启动页顶栏下方滚动通知：维护（黄）/ 常规（蓝）/ 活动（绿）/ 紧急（红）四色分级，可排序与上下架。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:ena","name":"🔑 🕸 认知网络分析","desc":"学习分析 · 认知网络分析（ENA）：学习材料 / AI 对话两类认知网络 + 质心指标解读（积分策略研究视图）。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:learning_all","name":"🔑 📊 学情数据（教师·全站）","desc":"开放接口 · 允许教师用 API 密钥读取全班/指定学生的学情聚合（行为埋点分布、成长指数、SOLO 层次、认知网络 ENA、课堂互动与作业证据）。授权后该账号才可在 API 中心勾选 learning:teacher:read；仅聚合口径，不含原始日志与作答原文。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:sim_dash","name":"🔑 🧪 AI虚拟实训 · 教学看板","desc":"AI虚拟实训 · 查看全班学生的模拟实训记录：研究关系模拟 / 教学模式模拟的推演结论与落地建议。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:ci_manage","name":"🔑 🎓 课堂互动 · 发布与管理","desc":"课堂互动 · 创建互动包（投票/词云/讨论/考试+签到）/ 大屏发布 / 结束归档 / AI 自动建议开关。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:ci_dash","name":"🔑 🎓 课堂互动 · 数据看板","desc":"学习分析 · 课堂互动模块：按互动包/单次课记录学生签到、各活动参与轨迹与生成内容。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:ci_stu_screen","name":"🔑 🖥 课堂互动 · 学生个人大屏","desc":"课堂互动 · 学生个人学习大屏（参与互动包数 / 互动次数 / 发言字数 / 每次互动与总图谱 / 多次互动对比 / 时间热区 / AI 建议）。默认对所有学生开放，取消勾选即收回该生的查看权。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:ci_teacher_screen","name":"🔑 🖥 课堂互动 · 教师分析大屏","desc":"课堂互动 · 教师分析大屏（各包参与人数 / 每个互动与总图谱 / 逐生逐活动图谱 / 学生图谱进化 / 逐次与累计发言 ENA / 今日实时干预层级分布）。需显式授权。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:feed_stu_screen","name":"🔑 🔔 推送中心 · 学生信息大屏","desc":"全局信息推送中心 · 学生个人信息大屏（收到什么 / 五类学习价值分布 / 阅读率 / 时间热区 / 每类对学习的帮助与行动建议 / 近期明细）。默认对所有学生开放，取消勾选即收回该生的查看权。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:feed_teacher_screen","name":"🔑 🔔 推送中心 · 教师分析大屏","desc":"全局信息推送中心 · 教师分析大屏（逐生收件量/回看率/关注度评分 / 谁互动多 / 谁需要帮助 / 全类型与维度分布 / 班级对比 / 推送×课堂互动交叉）。需显式授权。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:hw_manage","name":"🔑 📝 作业 · 布置与流转","desc":"作业与提交 · 上传 Word 模板 / 布置作业与截止时间 / 归集 / 形式审查 / 分配匿名互评 / 发布互评结果。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:hw_metric","name":"🔑 📝 作业 · 评价指标配置","desc":"作业与提交 · 配置互评打分指标集（维度 / 分值 / 说明）。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:hw_dash","name":"🔑 📝 作业 · 互评数据看板","desc":"作业与提交 · 互评参与情况 / 各作业得分 / 全批次平均分等数据看板。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:hw_tm","name":"🔑 🕰 作业提交时光机 · 学习分析","desc":"学习分析 · 查看学生作业提交的全部版本历程、修改依据与 AI 修改建议/分析报告。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:hw_reviews","name":"🔑 📝 互评记录导出","desc":"学习分析 · 导出作业匿名互评的评审记录（评审人/各项得分/评语，按批次，CSV/Markdown/JSON）。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:tk_rate","name":"🔑 ⭐ 工单满意度查看","desc":"工单中心 · 查看学生提交的工单打分与评价评论（我的工单评价界面 / 客服工作台全局满意度 / 学习平台管理·满意度时效性看板）。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:pet_stats","name":"🔑 🐾 全站宠物领养情况","desc":"学习分析 · 查看全站用户宠物领养情况（领养人数/种类分布/健康状态/逐宠明细与最近到访，CSV/Markdown/JSON）。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:pet_meet","name":"🔑 🏛 宠物大会管理","desc":"发布与管理像素宠物学术会议/活动：标题、议程、起止时间，并可撤回大会。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:pet_cfg","name":"🔑 🐾 宠物数值设置","desc":"学习平台管理 · 配置宠物活力恢复速度 / 随机生活事件频率 / 串门顺零食每人每日上限（全站生效）。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:bead_admin","name":"🔑 🧩 拼豆作品管理","desc":"学习平台管理 · 预览全站创意工坊拼豆作品，可下架（撤出旅行目的地）或删除违规作品。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:trip_admin","name":"🔑 🇨🇳 国庆旅行管理","desc":"学习平台管理 · 查看全站国庆旅行路线/旅行团/统计，可下架或删除违规的中心路线（限时活动）。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:vocab","name":"🔑 平台权限 · vocab","desc":"以你在学习平台的该数据权限调用对应站内接口（经 API 网关代理）。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:compass_manage","name":"🔑 🧭 认知罗盘 · 题库与测评管理","desc":"认知罗盘 · 导入题库 / 布置自适应测评（CAT）/ 全员认知画像与 RTI 干预看板 / 测评记录导出 / 发起学生认知分析。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:compass_all","name":"🔑 🧭 认知罗盘 · 查看全站学生诊断","desc":"认知罗盘 · 查看任意学生的三维诊断（SOLO 所处层次 / AI 对话认知网络与时间切片 / 测评执行度与影响维度）、单次测评报告与群体对比（不含题库与测验的编辑权限）。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:staticweb_admin","name":"🔑 🌐 静态网页 · 托管管理","desc":"静态网页托管 · 查看全部团队/个人项目、调整团队与个人的托管数量配额、下架违规页面。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:res_manage","name":"🔑 📚 课程资源库 · 教师管理","desc":"课程资源库 · 上传/管理课程资源（文件/课件/视频）、设置学生访问权限、设置每人容量配额、生成「外卖柜」取件分享。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:interv_manage","name":"🔑 🧭 干预策略库 · 教师管理","desc":"学习分析 · 三级干预策略库：为不同学习状态的学生配置干预组合（课程资源 / Skill / 专属智能体），发送至学生「教师与 Aidee 信箱」。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30},{"scope":"perm:seg","name":"🔑 🀫 AI 语义分词","desc":"学习平台管理 · AI 语义分词中枢：开关传统词表 / 一键重新生成 / 定时自动重算 / 历史版本回滚（词云·知识图谱·思维链·泳道·SOLO·ENA·三认知网络·AI 报告全站适配）。经网关代理调用站内接口（仍校验你本人是否持有该权限）","risk":"write","rpm":30}],"endpoints":[{"method":"GET","path":"/me","name":"我的身份","desc":"当前密钥对应的姓名、班级、所在小组","scope":"profile:read"},{"method":"GET","path":"/community/posts","name":"我的朋友圈列表","desc":"读取我发布的学习社区动态（最新 20 条）","scope":"community:read"},{"method":"POST","path":"/community/posts","name":"发布朋友圈","desc":"以我的身份发布一条学习社区动态","scope":"community:write","params":[{"name":"content","in":"body","type":"string","required":true,"desc":"正文（≤5000 字，支持纯文本；话题用 #话题# 语法）"},{"name":"images","in":"body","type":"string[]","desc":"图片 URL 列表（可选）"}]},{"method":"POST","path":"/community/posts/{id}/comments","name":"评论动态","desc":"对某条动态发表评论","scope":"community:write","params":[{"name":"id","in":"path","type":"number","required":true,"desc":"动态 id"},{"name":"content","in":"body","type":"string","required":true,"desc":"评论内容"}]},{"method":"POST","path":"/community/posts/{id}/like","name":"点赞动态","desc":"给某条动态点赞（重复调用无效）","scope":"community:write","params":[{"name":"id","in":"path","type":"number","required":true,"desc":"动态 id"}]},{"method":"GET","path":"/groups","name":"我的小组","desc":"我所在的小组列表","scope":"group:read"},{"method":"GET","path":"/groups/{id}/posts","name":"小组动态列表","desc":"读取该小组空间的朋友圈动态（仅限我所在的小组）","scope":"group:read","params":[{"name":"id","in":"path","type":"number","required":true,"desc":"小组 id"}]},{"method":"POST","path":"/groups/{id}/posts","name":"发布小组动态","desc":"在我所在的小组空间发布动态（非成员返回 403）","scope":"group:write","params":[{"name":"id","in":"path","type":"number","required":true,"desc":"小组 id"},{"name":"content","in":"body","type":"string","required":true,"desc":"正文"}]},{"method":"GET","path":"/homework/assignments","name":"作业列表","desc":"当前发布给我的作业（含截止时间与提交状态）","scope":"homework:read"},{"method":"GET","path":"/homework/submissions","name":"我的提交记录","desc":"我自己的作业提交（含状态与文档版本号）","scope":"homework:read"},{"method":"POST","path":"/homework/submissions","name":"保存/提交作业","desc":"创建或更新我自己的作业正文（submit=true 提交，false 存草稿）","scope":"homework:write","params":[{"name":"asg_id","in":"body","type":"string","required":true,"desc":"作业 id"},{"name":"body_html","in":"body","type":"string","required":true,"desc":"正文 HTML（或纯文本）"},{"name":"submit","in":"body","type":"boolean","desc":"true=提交（默认 false 草稿）"}]},{"method":"GET","path":"/tower/projects","name":"我的项目","desc":"我参与的协作塔台项目（含成员与任务统计）","scope":"tower:read"},{"method":"GET","path":"/tower/projects/{pid}/tasks","name":"项目任务列表","desc":"某项目的任务树（仅限我参与的项目）","scope":"tower:read","params":[{"name":"pid","in":"path","type":"string","required":true,"desc":"项目 id"}]},{"method":"POST","path":"/tower/projects/{pid}/tasks","name":"创建任务","desc":"在我参与的项目里创建任务（我可指定负责人为项目成员）","scope":"tower:write","params":[{"name":"pid","in":"path","type":"string","required":true,"desc":"项目 id"},{"name":"title","in":"body","type":"string","required":true,"desc":"任务标题"},{"name":"assignee","in":"body","type":"string","desc":"负责人学号（默认我）"},{"name":"due_date","in":"body","type":"string","desc":"截止日期 YYYY-MM-DD"},{"name":"notes","in":"body","type":"string","desc":"备注"}]},{"method":"PATCH","path":"/tower/tasks/{tid}","name":"更新任务","desc":"更新任务状态/进度说明（我必须是项目成员）","scope":"tower:write","params":[{"name":"tid","in":"path","type":"string","required":true,"desc":"任务 id"},{"name":"done","in":"body","type":"boolean","desc":"是否完成"},{"name":"notes","in":"body","type":"string","desc":"追加说明"}]},{"method":"GET","path":"/schedule/events","name":"查询日程","desc":"按日期区间读取我的日程","scope":"schedule:read","params":[{"name":"from","in":"query","type":"string","required":true,"desc":"YYYY-MM-DD"},{"name":"to","in":"query","type":"string","required":true,"desc":"YYYY-MM-DD"}]},{"method":"POST","path":"/schedule/events","name":"创建日程","desc":"在我的日历创建日程或待办型日程","scope":"schedule:write","params":[{"name":"title","in":"body","type":"string","required":true,"desc":"标题"},{"name":"date","in":"body","type":"string","required":true,"desc":"日期 YYYY-MM-DD"},{"name":"start","in":"body","type":"string","desc":"开始 HH:MM"},{"name":"end","in":"body","type":"string","desc":"结束 HH:MM"},{"name":"notes","in":"body","type":"string","desc":"备注"}]},{"method":"DELETE","path":"/schedule/events/{id}","name":"删除日程","desc":"删除我的一条日程","scope":"schedule:write","params":[{"name":"id","in":"path","type":"string","required":true,"desc":"日程 id"}]},{"method":"GET","path":"/reminders","name":"待办列表","desc":"我的待办清单与全部事项","scope":"todo:read"},{"method":"POST","path":"/reminders/items","name":"创建待办","desc":"在我的清单创建一条待办","scope":"todo:write","params":[{"name":"title","in":"body","type":"string","required":true,"desc":"标题"},{"name":"due_date","in":"body","type":"string","desc":"截止 YYYY-MM-DD"},{"name":"notes","in":"body","type":"string","desc":"备注"}]},{"method":"POST","path":"/reminders/items/{id}/toggle","name":"勾选/取消待办","desc":"切换某条待办的完成状态","scope":"todo:write","params":[{"name":"id","in":"path","type":"string","required":true,"desc":"待办 id"}]},{"method":"DELETE","path":"/reminders/items/{id}","name":"删除待办","desc":"删除我的一条待办","scope":"todo:write","params":[{"name":"id","in":"path","type":"string","required":true,"desc":"待办 id"}]},{"method":"GET","path":"/postcenter/sites","name":"我的托管站点列表","desc":"读取我自己的 PostCenter 站点（slug/标题/文件数/占用/公开地址）","scope":"postcenter:read"},{"method":"GET","path":"/postcenter/sites/{slug}","name":"托管站点详情","desc":"某站点的元数据 + 完整文件树（仅限我自己的站点）","scope":"postcenter:read","params":[{"name":"slug","in":"path","type":"string","required":true,"desc":"站点标识"}]},{"method":"GET","path":"/postcenter/sites/{slug}/files/{path}","name":"读取托管文件","desc":"读取站点内某个文件（文本原样返回；二进制 base64 返回）","scope":"postcenter:read","params":[{"name":"slug","in":"path","type":"string","required":true,"desc":"站点标识"},{"name":"path","in":"path","type":"string","required":true,"desc":"相对路径，如 assets/app.js"}]},{"method":"POST","path":"/postcenter/sites","name":"发布网页托管（多文件）","desc":"创建或更新我自己的 PostCenter 站点：支持多文件与相对目录（HTML/CSS/JS/图片/字体，页面在 CSP 沙箱内运行）。html 单文件用法向后兼容","scope":"postcenter:write","params":[{"name":"slug","in":"body","type":"string","required":true,"desc":"站点标识（小写字母数字连字符，2~39 位）"},{"name":"title","in":"body","type":"string","required":true,"desc":"站点标题"},{"name":"html","in":"body","type":"string","desc":"单文件 HTML（写为 index.html；与 files 二选一）"},{"name":"files","in":"body","type":"string[]","desc":"多文件数组 [{path,content,encoding?}]，encoding=utf8（默认）|base64（图片/字体二进制）"},{"name":"descr","in":"body","type":"string","desc":"简介"},{"name":"published","in":"body","type":"boolean","desc":"默认 true 发布；false=存为草稿（公开页 403）"}]},{"method":"POST","path":"/postcenter/sites/{slug}/files","name":"追加/更新托管文件","desc":"向已有站点推送一批文件（相对目录，覆盖同名；不改动其他文件）","scope":"postcenter:write","params":[{"name":"slug","in":"path","type":"string","required":true,"desc":"站点标识"},{"name":"files","in":"body","type":"string[]","required":true,"desc":"多文件数组 [{path,content,encoding?}]"}]},{"method":"POST","path":"/postcenter/sites/{slug}/publish","name":"发布/下线托管站点","desc":"切换站点的公开访问状态","scope":"postcenter:write","params":[{"name":"slug","in":"path","type":"string","required":true,"desc":"站点标识"},{"name":"published","in":"body","type":"boolean","required":true,"desc":"true=发布 false=下线"}]},{"method":"DELETE","path":"/postcenter/sites/{slug}","name":"删除托管站点","desc":"删除我自己的托管站点（含全部文件，不可恢复）","scope":"postcenter:write","params":[{"name":"slug","in":"path","type":"string","required":true,"desc":"站点标识"}]},{"method":"GET","path":"/perm/{key}/{api-path}","name":"平台权限网关（遍历所有权限）","desc":"把你的平台数据权限开放给 Agent：perm:<key> scope + 本人有该权限时，网关以你的身份转发站内 /api/<api-path>。路径与方法白名单见 skill.md","scope":"perm:*","params":[{"name":"key","in":"path","type":"string","required":true,"desc":"平台权限键（PERM_KEYS 之一，如 compass_manage）"},{"name":"api-path","in":"path","type":"string","required":true,"desc":"站内 API 路径（不含 /api 前缀，如 compass/manage）"}]},{"method":"GET","path":"/homework/reviews","name":"我该评的全部任务（互评 + 教师评价）","desc":"统一入口：type=peer 学生匿名互评 / type=teacher 教师实名评价（后者仅在你被指派为评价教师时出现）；含评分指标、我已提交的评分与进度","scope":"review:read"},{"method":"GET","path":"/homework/reviews/{id}","name":"读取待评材料（互评/教师评价通用）","desc":"读取某份待评作业正文与评分指标（不含作者身份）；评价教师还会拿到匿名互评结果与自己的评价进度","scope":"review:read","params":[{"name":"id","in":"path","type":"string","required":true,"desc":"提交 id（来自 GET /homework/reviews）"}]},{"method":"POST","path":"/homework/reviews/{id}","name":"提交评分（互评 / 教师评价）","desc":"一个入口按你的真实身份分派：学生互评（匿名，scores）或教师评价（实名，scores 或 total + 必须 comment）；记录自动标记 AI Agent 操作","scope":"review:write","params":[{"name":"id","in":"path","type":"string","required":true,"desc":"提交 id"},{"name":"scores","in":"body","type":"string","required":true,"desc":"指标分映射 {指标名: 分数}"},{"name":"comment","in":"body","type":"string","desc":"评语（≤600 字）"}]},{"method":"GET","path":"/homework/teacher-reviews","name":"我的教师评价任务","desc":"读取分配给我的教师评价任务（待评 + 已完成；仅被指派教师可用）","scope":"treach:read"},{"method":"GET","path":"/homework/teacher-reviews/{id}","name":"读取教师评价材料","desc":"读取待评作业正文、匿名互评结果与评分指标（不暴露作者姓名）","scope":"treach:read","params":[{"name":"id","in":"path","type":"string","required":true,"desc":"提交 id（来自 GET /homework/teacher-reviews）"}]},{"method":"POST","path":"/homework/teacher-reviews/{id}","name":"提交教师评价","desc":"提交实名教师评价打分与评语（必须带评语；记录标记为 AI Agent 操作，网页端显示机器人标识）","scope":"treach:write","params":[{"name":"id","in":"path","type":"string","required":true,"desc":"提交 id"},{"name":"scores","in":"body","type":"string","desc":"逐项分映射 {指标名: 分数}（0~100，可替代 total）"},{"name":"total","in":"body","type":"number","desc":"总分 0~100（不传 scores 时使用）"},{"name":"comment","in":"body","type":"string","required":true,"desc":"评价意见（≤600 字）"}]},{"method":"POST","path":"/homework/attachments","name":"上传作业附件","desc":"上传附件到指定作业（base64；受作业附件白名单与大小限制），标记为 AI Agent 上传","scope":"homework:write","params":[{"name":"asg_id","in":"body","type":"string","required":true,"desc":"作业 id"},{"name":"name","in":"body","type":"string","required":true,"desc":"文件名（含扩展名）"},{"name":"data","in":"body","type":"string","required":true,"desc":"文件 base64"}]},{"method":"POST","path":"/upload/image","name":"上传图片","desc":"上传一张图片到我的图床，返回可引用的 URL（朋友圈 images / 笔记正文 <img> 均可用）。data=base64（可带 data:image/...;base64, 前缀），ext=png/jpg/jpeg/gif/webp","scope":"upload:write","params":[{"name":"data","in":"body","type":"string","required":true,"desc":"图片 base64（≤2MB）"},{"name":"ext","in":"body","type":"string","desc":"扩展名，默认 png"}]},{"method":"GET","path":"/notes","name":"笔记列表","desc":"读取我的笔记分类与笔记（标题+摘要；?folder=<分类id> 可筛选）","scope":"notes:read","params":[{"name":"folder","in":"query","type":"string","desc":"分类 id（可选）"}]},{"method":"GET","path":"/notes/{id}","name":"读取笔记","desc":"读取某篇笔记全文（含 AI 思考块）","scope":"notes:read","params":[{"name":"id","in":"path","type":"number","required":true,"desc":"笔记 id"}]},{"method":"POST","path":"/notes","name":"创建笔记","desc":"创建一篇笔记（Agent 整理的笔记默认进入「🤖 AI Agent 自留地」分类，并显示 AI Agent 标记）。正文支持 Markdown，图片用 upload/image 的 URL 以 <img> 或 ![]() 引用","scope":"notes:write","params":[{"name":"title","in":"body","type":"string","required":true,"desc":"标题（≤120 字）"},{"name":"content","in":"body","type":"string","desc":"正文 Markdown"},{"name":"ai_note","in":"body","type":"string","desc":"AI 思考（Agent 的整理思路/依据，会以「🤖 AI 思考」块展示）"},{"name":"folder","in":"body","type":"string","desc":"分类名或分类 id；缺省=AI Agent 自留地（不存在自动创建）"}]},{"method":"PATCH","path":"/notes/{id}","name":"更新笔记","desc":"更新我的一篇笔记（标题/正文/AI 思考/分类，均可选，只传要改的）","scope":"notes:write","params":[{"name":"id","in":"path","type":"number","required":true,"desc":"笔记 id"},{"name":"title","in":"body","type":"string","desc":"标题"},{"name":"content","in":"body","type":"string","desc":"正文"},{"name":"ai_note","in":"body","type":"string","desc":"AI 思考"},{"name":"folder","in":"body","type":"string","desc":"分类名或 id"}]},{"method":"DELETE","path":"/notes/{id}","name":"删除笔记","desc":"删除我的一篇笔记（可恢复：网页端回收站语义为软删除）","scope":"notes:write","params":[{"name":"id","in":"path","type":"number","required":true,"desc":"笔记 id"}]},{"method":"GET","path":"/notes/folders","name":"笔记分类列表","desc":"读取我的笔记分类（含每类笔记数）","scope":"notes:read"},{"method":"POST","path":"/notes/folders","name":"创建笔记分类","desc":"新建一个笔记分类","scope":"notes:write","params":[{"name":"name","in":"body","type":"string","required":true,"desc":"分类名（≤30 字）"}]},{"method":"PATCH","path":"/notes/folders/{id}","name":"重命名笔记分类","desc":"重命名我的一个分类","scope":"notes:write","params":[{"name":"id","in":"path","type":"number","required":true,"desc":"分类 id"},{"name":"name","in":"body","type":"string","required":true,"desc":"新名称"}]},{"method":"DELETE","path":"/notes/folders/{id}","name":"删除笔记分类","desc":"删除分类（其下笔记移回未分类）","scope":"notes:write","params":[{"name":"id","in":"path","type":"number","required":true,"desc":"分类 id"}]},{"method":"GET","path":"/learning/summary","name":"学情摘要（脱敏）","desc":"我自己的学习行为聚合：近 7/28 天三环计数、连续活跃天数、行为类型占比。⚠️ 无原始日志、无精确时间戳、无他人数据","scope":"learning:read"},{"method":"GET","path":"/learning/roster","name":"学情名册（教师）","desc":"读取全站名册（学号/姓名/班级）与班级列表，用于构造后续查询的筛选条件","scope":"learning:teacher:read"},{"method":"GET","path":"/learning/events","name":"学情埋点总览（教师）","desc":"行为埋点聚合：按类别（导航/资源/创作/社会/AI/监控）、SRL 阶段（预备/执行/反思）与事件码的分布，含逐生事件数/活跃天数/成长指数。⚠️ 仅聚合计数，不含原始日志与对象自由文本","scope":"learning:teacher:read","params":[{"name":"from","in":"query","type":"string","desc":"起始日期 YYYY-MM-DD（缺省=不限）"},{"name":"to","in":"query","type":"string","desc":"结束日期 YYYY-MM-DD（缺省=不限）"},{"name":"banji","in":"query","type":"string","desc":"班级名（与 students 二选一，缺省=全站非工作室学生）"},{"name":"students","in":"query","type":"string","desc":"学号，逗号分隔（最多 80 人）"}]},{"method":"GET","path":"/learning/student","name":"个人学情画像（教师）","desc":"逐个学生读取：成长指数与基线、SOLO 五阶段判定（含六源证据投票）、ENA 认知网络密度与趋势、课堂互动参与、作业证据。⚠️ 需传学号，仅返回聚合口径","scope":"learning:teacher:read","params":[{"name":"xh","in":"query","type":"string","required":true,"desc":"学生学号"},{"name":"from","in":"query","type":"string","desc":"起始日期 YYYY-MM-DD（作用于 ENA 与课堂互动）"},{"name":"to","in":"query","type":"string","desc":"结束日期 YYYY-MM-DD"}]},{"method":"GET","path":"/learning/solo","name":"SOLO 层次分布（教师）","desc":"批量判定并统计 SOLO 五阶段分布（前结构/单点/多点/关联/拓展抽象），逐生给出层次与置信度","scope":"learning:teacher:read","params":[{"name":"banji","in":"query","type":"string","desc":"班级名（缺省=全站非工作室学生）"},{"name":"students","in":"query","type":"string","desc":"学号，逗号分隔（最多 80 人）"}]},{"method":"GET","path":"/learning/three-dim","name":"三维认知诊断（教师）","desc":"SOLO × ENA × 测评三维认知诊断与三级干预分级（口径与「认知罗盘 · 全站学生诊断」一致）","scope":"learning:teacher:read","params":[{"name":"banji","in":"query","type":"string","desc":"班级名（缺省=全站非工作室学生）"},{"name":"students","in":"query","type":"string","desc":"学号，逗号分隔（最多 40 人）"}]},{"method":"GET","path":"/learning/rhythm","name":"学习时段画像（教师）","desc":"行为发生时刻的 24 小时 / 星期分布、四时段占比与深夜学习比例，逐生给出峰值时段（用于观察作息与负担）","scope":"learning:teacher:read","params":[{"name":"from","in":"query","type":"string","desc":"起始日期 YYYY-MM-DD（缺省=不限）"},{"name":"to","in":"query","type":"string","desc":"结束日期 YYYY-MM-DD（缺省=不限）"},{"name":"banji","in":"query","type":"string","desc":"班级名"},{"name":"students","in":"query","type":"string","desc":"学号，逗号分隔（最多 80 人）"}]}],"errors":{"401":"认证失败（检查 X-API-ID / X-API-SECRET）","403":"未授予该权限范围，或不是小组成员（hint.need_scope 告知所需 scope）","404":"资源不存在或不属于密钥主人","422":"参数缺失或不合法","429":"限速（hint 提示退避）"}}