← 返回 Skills 市场
ohano

Ai Course Agent

作者 ohano · GitHub ↗ · v0.2.1
cross-platform ⚠ suspicious
636
总下载
0
收藏
1
当前安装
3
版本数
在 OpenClaw 中安装
/install ai-course-agent
功能描述
Auto-generates AI education courses from natural language requests in Chinese. Detects patterns like "帮我生成6年级数学分数乘除法的课程" and calls Edustem API to create and...
使用说明 (SKILL.md)

AI Course Agent

OpenClaw Skill for auto-generating AI education courses. Detects natural language course generation requests and calls the Edustem API to create ready-to-use course content.

💳 Billing & Pricing

This skill uses SkillPay for usage-based billing:

  • Rate: 1 token per course generation
  • Pricing: 1 USDT = 1000 tokens
  • Minimum deposit: 8 USDT (8000 tokens = 8000 courses)
  • Payment: USDT cryptocurrency via SkillPay

When your balance runs out, the skill will return a payment link for top-up.

Quick Start

import { isCourseLessonRequest, processUserMessage } from 'ai-course-agent';

// When user sends a message:
const userId = req.user.sub; // Get user ID from your auth system

if (isCourseLessonRequest(userInput)) {
  const response = await processUserMessage(userInput, userId);
  
  // Success:
  // "✅ 成功为6年级数学《分数乘除法》生成课程!\
\
📚 课程链接: https://..."
  
  // Insufficient balance:
  // "❌ 余额不足 (当前: 0 tokens)\
\
💳 请充值后继续使用: https://skillpay.me/..."
}

Configuration

Set environment variables before use:

Edustem API (Required)

export EDUSTEM_USERNAME="[email protected]"
export EDUSTEM_PASSWORD="your-password"

SkillPay Billing

No configuration needed. SkillPay credentials are hardcoded in the skill and belong to the skill author. Payments are automatically deducted from your SkillPay balance.

Supported Input Patterns

帮我生成6年级数学分数乘除法的课程
帮我创建一个七年级语文从百草园到三味书屋的课程
帮我制作9年级英语日常会话的课程
生成8年级科学地球和宇宙的课程

Supports both Arabic (6年级) and Chinese (六年级) numerals for grade levels.

Supported Subjects

数学 · 语文 · 英语 · 科学 · 历史 · 地理 · 物理 · 化学 · 生物

Output Format

✅ 成功为6年级数学《分数乘除法》生成课程!

📚 课程链接: https://your-api-host/ai-lesson/{lesson_ref}

API Flow

  1. handleBilling(userId) — Charge user via SkillPay (1 token)
  2. login() — Authenticate and get JWT token
  3. createLessonPlan() — Create lesson plan with metadata
  4. acceptLessonPlan() — Confirm and trigger course generation
  5. Return course URL (or payment link if balance insufficient)

Exports

// Main integration functions
isCourseLessonRequest(message: string): boolean
processUserMessage(userInput: string, userId: string): Promise\x3Cstring>

// Core functions
generateCourse(request: CourseRequest, userId: string): Promise\x3CGeneratedCourseResponse>
parseCourseRequest(userInput: string): CourseRequest | null

// SkillPay Billing
handleBilling(userId: string): Promise\x3CBillingResult>
chargeUser(userId: string, amount?: number): Promise\x3CChargeResult>
getBalance(userId: string): Promise\x3Cnumber>
getPaymentLink(userId: string, amount?: number): Promise\x3Cstring>

// Edustem API (lower level)
login(username, password): Promise\x3Cstring>
createLessonPlan(token, payload): Promise\x3CCreateLessonPlanResponse>
acceptLessonPlan(token, lessonRef): Promise\x3CAcceptLessonPlanResponse>
generateLessonUrl(lessonRef): string

Tech Stack

TypeScript · Node.js · axios · form-data

安全使用建议
Key things to consider before installing: - The skill requires you to provide EDUSTEM_USERNAME and EDUSTEM_PASSWORD; those credentials will be sent to the API endpoint hardcoded in the skill (an ngrok domain: 6bb95bf119bf.ngrok-free.app). Ngrok endpoints are typically temporary tunnels to an individual's host — verify with the author or the official Edustem service before using real credentials. If in doubt, use a throwaway/test Edustem account only. - The SkillPay API key and skill ID are hardcoded in src/skillpay.ts. That means billing is set up to deduct tokens and route payments to the skill author's account; you cannot use your own SkillPay credentials without editing the code. The author has published their secret API key in the codebase — this is poor practice and could be abused or indicate sloppy secret handling. - The registry metadata and SKILL.md disagree about required environment variables — the SKILL.md and code do require EDUSTEM_USERNAME/EDUSTEM_PASSWORD despite the registry showing none. This inconsistency lowers trust. - Recommended actions: contact the author and ask for (a) an official Edustem API hostname (not an ngrok URL) or proof that the ngrok endpoint is legitimate, (b) removal of hardcoded SkillPay secrets and support for user-configurable billing, and (c) a public source repository (e.g., GitHub) with author identity and commit history. If you cannot verify those, do not use your real Edustem credentials or real payment info. Prefer installing only after the above concerns are remediated. - If you want to proceed for testing: create a disposable Edustem account with no real data and monitor network traffic; consider forking the skill and removing or replacing the hardcoded SkillPay credentials so payments do not go to the author.
功能分析
Type: OpenClaw Skill Name: ai-course-agent Version: 0.2.1 The skill bundle requires sensitive credentials (EDUSTEM_USERNAME and EDUSTEM_PASSWORD) and transmits them to an unverified ngrok endpoint (6bb95bf119bf.ngrok-free.app) in src/edustem-api.ts, which is a common pattern for credential harvesting. Furthermore, it implements a hardcoded, usage-based monetization scheme via 'SkillPay' (src/skillpay.ts) that requires users to deposit USDT to the author's account to use the skill. While the behavior is documented in the README.md, the use of temporary infrastructure (ngrok) to handle raw credentials and the forced cryptocurrency billing system present a significant security and financial risk.
能力评估
Purpose & Capability
The code implements course generation via an Edustem API and usage billing via SkillPay, which matches the description. However the registry metadata at the top claimed no required env vars while SKILL.md and the code require EDUSTEM_USERNAME and EDUSTEM_PASSWORD — an internal metadata mismatch. The Edustem API base URL is an ngrok domain (https://6bb95bf119bf.ngrok-free.app), not an obvious official Edustem host; that endpoint will receive users' Edustem credentials and lesson data. Hardcoded SkillPay API credentials in src/skillpay.ts make payments go to the skill author's account (documented in README), which is functionally related to billing but unusual and risky for users who may expect to configure their own billing credentials.
Instruction Scope
Runtime instructions and code read EDUSTEM_USERNAME and EDUSTEM_PASSWORD and POST them to the API_BASE_URL (the ngrok domain) during login(). The SKILL.md explicitly instructs users to set those env vars. The instructions also state SkillPay credentials are hardcoded and payments will be deducted and routed to the author's account. There are no broader surprises like reading arbitrary host files, but sending user credentials to a non-official ngrok endpoint and routing billing through an author-controlled API are significant scope/privilege concerns.
Install Mechanism
This is effectively instruction/code-only: there is no install spec that downloads arbitrary archives or runs remote installers. Dependencies are normal npm packages (axios, form-data). Nothing in the manifest downloads code from unknown URLs during install. Risk here comes from runtime network calls rather than install-time actions.
Credentials
Requesting EDUSTEM_USERNAME and EDUSTEM_PASSWORD is reasonable for a skill that must call an external Edustem API. However: (1) the registry metadata omitted these required env vars (incoherent), and (2) the skill contains a hardcoded SkillPay API key and skillId in src/skillpay.ts which are sensitive secrets that give the author control over billing operations; users cannot replace these without modifying code. The hardcoded key is unrelated to the user's Edustem account and concentrates financial control with the author.
Persistence & Privilege
always is false and the skill does not request permanent platform-level privileges. It does not modify other skills or global agent settings. Autonomous invocation is enabled by default but is not combined here with other privilege escalations.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install ai-course-agent
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /ai-course-agent 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v0.2.1
安全修复:硬编码 SkillPay 凭证,防止用户篡改收款账户。用户无需配置 API key。
v0.2.0
集成 SkillPay 计费系统
v0.1.0
Initial release: auto-generates AI education courses via Edustem API
元数据
Slug ai-course-agent
版本 0.2.1
许可证
累计安装 1
当前安装数 1
历史版本数 3
常见问题

Ai Course Agent 是什么?

Auto-generates AI education courses from natural language requests in Chinese. Detects patterns like "帮我生成6年级数学分数乘除法的课程" and calls Edustem API to create and... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 636 次。

如何安装 Ai Course Agent?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install ai-course-agent」即可一键安装,无需额外配置。

Ai Course Agent 是免费的吗?

是的,Ai Course Agent 完全免费(开源免费),可自由下载、安装和使用。

Ai Course Agent 支持哪些平台?

Ai Course Agent 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Ai Course Agent?

由 ohano(@ohano)开发并维护,当前版本 v0.2.1。

💬 留言讨论