Agent Skills
返回列表
OpenLearn 插件开发助手

OpenLearn 插件开发助手

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_37fa416d/openlearn-next-plugin-dev。

技能介绍

做 OpenLearnV2 插件时,最拖节奏的不是写业务代码,而是反复翻文档:API 签名、Action/Handler/Event 怎么写、Manifest 和 PluginContext 的约束、前端扩展槽位与 JSX 配置、CLI 脚手架和安全权限模型,散落在多份在线文档里,一次完整开发很容易吃掉上万 token,版本一更新还会拿到过期描述。

这个技能把「在线文档是权威来源,本地缓存加速读取」做成流程,而不是一句口号。它自带 references/ 下的三份本地快照:插件开发完全指南、架构总览、脚手架指南。每次开始前会先通过索引页探活,提取文档底部的「最后更新:YYYY-MM-DD」,再和 references/.cache-meta.json 里的 lastUpdated 比对:日期相同就直接读本地快照,日期更新才告知用户旧/新日期并重新拉取;首次使用则先用本地快照。缓存未命中或已过期时,再按目标拉取对应文档——查 API 与 Action 写法读插件开发完全指南,理架构与安全模型读架构总览,初始化项目和打包看脚手架指南,拉完更新 references/ 和 .cache-meta.json。

拿到最新文档后,技能会先和开发者逐项确认:插件用途、1-5 个核心功能、插件类型(server-only、full-stack、frontend-only)、UI 扩展点如 teacher.tab、teacher.dashboard.widget、student.view、classroom.tool、权限字符串、是否注册 Action 给 AI Agent 调用、数据库表与迁移、manifest.engines.openlearn 目标版本。确认后按类型选 assets/ 下模板,替换 {{pluginId}}、{{commandPrefix}}、{{toolId}} 等占位符,生成 package.json、tsconfig.json、src/index.ts、前端入口,再按规范补 TODO 处的业务逻辑。

编码阶段会盯住几个容易翻车的点:manifest.classroomTools 必须有对应 Handler;数据库用 ctx.db.ensureTable() 和 ctx.db.table(),不手拼表名;事件名用过去式,格式如 {commandPrefix}.action_done;Action 的 description 用中文,便于 AI Agent 理解工具用途;前端组件用 function 声明,jsx: "react" 经典模式,default export 为 { activate, deactivate };避免 Node.js 内置模块,用 crypto.randomUUID() 而不是 import { randomUUID } from 'crypto',用 VFS API 而不是 fs。生成后给出构建与检查项,包括扫描 dist/index.js 是否残留非法裸导入、确认产物不引用 react/jsx-runtime、核对 manifest.json、确认每个 classroomTools[].commandType 都有 handler;最后提示上传 dist/.zip、激活插件,并观察带 [Plugin:] 前缀的服务端日志。

适用边界也要说清楚:它更适合 OpenLearnV2 的插件开发与脚手架场景,不能替代对平台架构、安全审批和实际业务逻辑设计的判断。本地快照覆盖 API、三件套模式、前端指南、安全模型与 CLI 常见问题,但遇到文档版本不一致、用户提到新 SDK/CLI 版本、或缓存中找不到所需 API,仍需要在线拉取。按日常使用测算,纯在线方案约 100K token/月,缓存+探活约 14K token/月;文档更新后首次使用会多付一次全量拉取成本。

使用场景

  • 为 OpenLearnV2 课堂白板新增可拖拽投票卡片,需注册 classroomTools、匹配 teacherWidgetId,生成 full-stack 插件代码
  • 写一个 server-only 插件,注册 AI Action 让 Agent 调用自定义工具,并用 ctx.db.ensureTable 建表处理迁移
  • 在线文档更新后想确认 references/ 本地快照是否过期,避免按旧版 Manifest 或 API 写出不兼容的插件
  • 插件构建后 dist/index.js 报裸导入错误,需要按技能里的检查清单核对 manifest、handler 和 JSX 配置

适合人员

  • 正在给 OpenLearnV2 写插件、需要快速对齐 API 与 Action/Handler/Event 规范的后端或全栈工程师
  • 负责课堂白板二次开发的前端,想用模板生成 teacher.dashboard.widget 或 student.view 扩展
  • 维护已有 OpenLearnV2 插件的开发者,担心在线文档版本漂移导致代码与线上环境不一致
  • 需要把业务逻辑封装成 AI Agent 可调用的 Action,并处理权限字符串与数据库迁移的插件作者