Token导航 LogoToken导航

Agent Skill · 研究检索

exam-generator(考试生成器)

exam-generator 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

exam-generator 是研究检索类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为权限未标注;许可证为 MIT-0,第三方扫描已通过,按安装量在研究检索类的 73,675 个 Skill 里排第 10,233。

总安装 12,912周安装 549GitHub Stars 1下载 4,524核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
1.0.3

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:exam-generator(考试生成器)
来源仓库:https://github.com/tobewin/exam-generator
安装命令:
openclaw skills install exam-generator
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install exam-generator

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

exam-generator 用于查找、检索和筛选相关信息,适合快速定位内容。适用于基于关键词或任务场景的信息搜索与筛选需求。通过 clawhub 安装,需结合来源仓库和 README 核验具体用法。安装前建议确认权限范围、维护状态及是否触发联网或命令执行。为中国中小学试卷生成设计,支持多科目与题型配置。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install exam-generator;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    权限没有明确标注,第一次使用时只给一个无关紧要的任务,观察它到底读了哪些文件和网络。

常见问题

6 条

exam-generator 怎么安装?

在终端执行 openclaw skills install exam-generator。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

exam-generator 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

exam-generator 需要什么权限?

权限级别没有明确标注。第一次使用时建议只给无关紧要的任务,观察它实际读写了哪些内容。

exam-generator 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

exam-generator 用的人多吗?

公开数据是累计安装 12,912 次,近一周安装 549 次,下载 4,524 次,GitHub 1 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

exam-generator 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。
  • 需要许可证清楚、并且有第三方扫描结果的团队项目。

不太适合

  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
exam-generator

考试生成器 · 本页

12,9121权限未标注MIT-0通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

name
exam-generator
description
中国中小学试卷生成器。Use when teacher needs to create exam papers for Chinese primary/middle school. Supports all subjects, multiple question types, official curriculum standards, and accurate answers. Uses web search for latest knowledge. 试卷生成、出题、考试卷。
version
1.0.2
license
MIT-0
metadata
{"openclaw": {"emoji": "📝", "requires": {"bins": ["python3", "curl"], "env": []}}}

中国中小学试卷生成器

专业试卷生成工具,支持中国中小学各学科,遵循官方课程标准,确保试题准确性。

Features

  • 📚 全学科支持: 语文、数学、英语、物理、化学、生物、历史、地理、政治
  • 📊 多种题型: 选择题、填空题、判断题、简答题、计算题、作文题
  • 🎯 精准出题: 根据知识点和难度要求生成
  • 🌐 联网验证: 使用web search获取最新知识和标准答案
  • 📐 专业排版: 标准试卷格式,可直接打印
  • ✅ 答案准确: 交叉验证确保答案正确

支持的学科

学科年级题型
语文小学/初中选择、填空、阅读、作文
数学小学/初中选择、填空、计算、应用
英语小学/初中选择、填空、阅读、写作
物理初中选择、填空、实验、计算
化学初中选择、填空、实验、计算
生物初中选择、填空、简答
历史初中选择、填空、简答
地理初中选择、填空、读图
政治初中选择、填空、简答

Trigger Conditions

  • "生成一份试卷" / "Create an exam"
  • "出一套数学题" / "Generate math problems"
  • "帮我出英语试卷" / "Create English test"
  • "根据知识点出题" / "Generate questions for topics"
  • "exam-generator"

Step 1: 理解用户需求

请提供以下信息:

学科:语文/数学/英语/物理/化学...
年级:小学X年级/初中X年级
知识点:具体要考察的知识点
题型:选择题/填空题/简答题...
题量:各题型数量
难度:简单/中等/困难
时间:考试时长(分钟)

Step 2: 获取最新知识(联网验证)

使用web-search skill获取准确的知识点和标准答案:

Agent自动调用web-search skill搜索:
- 学科知识点
- 标准答案
- 官方课程标准

知识验证流程

生成试题
    ↓
搜索标准答案
    ↓
交叉验证
    ↓
标记置信度
    ↓
输出试题

Step 3: 生成试卷

Python代码示例

import os
from datetime import datetime

class ExamGenerator:
    def __init__(self, subject, grade, title='考试试卷'):
        self.subject = subject
        self.grade = grade
        self.title = title
        self.questions = []
        self.answers = []
    
    def add_choice_question(self, question, options, answer, score=2):
        """添加选择题"""
        self.questions.append({
            'type': 'choice',
            'question': question,
            'options': options,
            'score': score
        })
        self.answers.append({
            'type': 'choice',
            'answer': answer,
            'score': score
        })
    
    def add_fill_blank(self, question, answer, score=2):
        """添加填空题"""
        self.questions.append({
            'type': 'fill',
            'question': question,
            'score': score
        })
        self.answers.append({
            'type': 'fill',
            'answer': answer,
            'score': score
        })
    
    def add_true_false(self, question, answer, score=1):
        """添加判断题"""
        self.questions.append({
            'type': 'true_false',
            'question': question,
            'score': score
        })
        self.answers.append({
            'type': 'true_false',
            'answer': answer,
            'score': score
        })
    
    def add_short_answer(self, question, answer, score=10):
        """添加简答题"""
        self.questions.append({
            'type': 'short_answer',
            'question': question,
            'score': score
        })
        self.answers.append({
            'type': 'short_answer',
            'answer': answer,
            'score': score
        })
    
    def add_calculation(self, question, answer, score=15):
        """添加计算题"""
        self.questions.append({
            'type': 'calculation',
            'question': question,
            'score': score
        })
        self.answers.append({
            'type': 'calculation',
            'answer': answer,
            'score': score
        })
    
    def add_essay(self, question, requirements, score=30):
        """添加作文题"""
        self.questions.append({
            'type': 'essay',
            'question': question,
            'requirements': requirements,
            'score': score
        })
        self.answers.append({
            'type': 'essay',
            'answer': '见评分标准',
            'score': score
        })
    
    def generate_exam(self, lang='zh'):
        """生成试卷"""
        total_score = sum(q['score'] for q in self.questions)
        
        if lang == 'zh':
            return self._generate_chinese(total_score)
        else:
            return self._generate_english(total_score)
    
    def _generate_chinese(self, total_score):
        """生成中文试卷"""
        output = []
        output.append(f'┌{"─"*60}┐')
        output.append(f'│  {self.title}')
        output.append(f'│  {self.subject} · {self.grade}')
        output.append(f'│  考试时间:90分钟 · 满分:{total_score}分')
        output.append(f'└{"─"*60}┘')
        output.append('')
        output.append('姓名:__________ 班级:__________ 学号:__________')
        output.append('')
        
        choice_num = 1
        fill_num = 1
        tf_num = 1
        other_num = 1
        
        for q in self.questions:
            if q['type'] == 'choice':
                output.append(f'一、选择题(每题{q["score"]}分)')
                output.append('')
                output.append(f'{choice_num}. {q["question"]}')
                for i, opt in enumerate(q['options']):
                    output.append(f'   {chr(65+i)}. {opt}')
                output.append('')
                choice_num += 1
            
            elif q['type'] == 'fill':
                output.append(f'二、填空题(每空{q["score"]}分)')
                output.append('')
                output.append(f'{fill_num}. {q["question"]}')
                output.append('   答案:__________')
                output.append('')
                fill_num += 1
            
            elif q['type'] == 'true_false':
                output.append(f'三、判断题(每题{q["score"]}分)')
                output.append('')
                output.append(f'{tf_num}. {q["question"]} (  )')
                output.append('')
                tf_num += 1
            
            elif q['type'] == 'short_answer':
                output.append(f'四、简答题(每题{q["score"]}分)')
                output.append('')
                output.append(f'{other_num}. {q["question"]}')
                output.append('')
                output.append('')
                output.append('')
                other_num += 1
            
            elif q['type'] == 'calculation':
                output.append(f'五、计算题(每题{q["score"]}分)')
                output.append('')
                output.append(f'{other_num}. {q["question"]}')
                output.append('')
                output.append('')
                output.append('')
                other_num += 1
            
            elif q['type'] == 'essay':
                output.append(f'六、作文({q["score"]}分)')
                output.append('')
                output.append(f'{q["question"]}')
                output.append(f'要求:{q.get("requirements", "")}')
                output.append('')
                output.append('')
                output.append('')
        
        return '\
'.join(output)
    
    def generate_answer_sheet(self, lang='zh'):
        """生成答案"""
        output = []
        output.append(f'{"="*60}')
        output.append(f'{self.title} - 参考答案')
        output.append(f'{"="*60}')
        output.append('')
        
        for i, a in enumerate(self.answers, 1):
            output.append(f'{i}. {a["answer"]} ({a["score"]}分)')
        
        return '\
'.join(output)
    
    def save(self, output_dir):
        """保存试卷和答案(Word格式)"""
        from docx import Document
        from docx.shared import Pt, Cm
        from docx.enum.text import WD_ALIGN_PARAGRAPH
        
        os.makedirs(output_dir, exist_ok=True)
        
        # 生成试卷Word文档
        doc = Document()
        
        # 设置页面
        section = doc.sections[0]
        section.top_margin = Cm(2.54)
        section.bottom_margin = Cm(2.54)
        section.left_margin = Cm(2.54)
        section.right_margin = Cm(2.54)
        
        # 生成内容
        exam_text = self.generate_exam()
        for line in exam_text.split('\
'):
            if line.strip():
                if '═' in line or '─' in line:
                    doc.add_paragraph(line)
                elif line.startswith('一、') or line.startswith('二、') or line.startswith('三、'):
                    doc.add_heading(line, level=2)
                elif line.startswith('1.') or line.startswith('2.') or line.startswith('3.'):
                    doc.add_paragraph(line)
                else:
                    doc.add_paragraph(line)
        
        exam_path = os.path.join(output_dir, 'exam.docx')
        doc.save(exam_path)
        
        # 生成答案Word文档
        doc_answer = Document()
        answer_text = self.generate_answer_sheet()
        for line in answer_text.split('\
'):
            if line.strip():
                doc_answer.add_paragraph(line)
        
        answer_path = os.path.join(output_dir, 'answer.docx')
        doc_answer.save(answer_path)
        
        return exam_path, answer_path

# 使用示例
exam = ExamGenerator('数学', '初中一年级', '2026年春季期中考试')
exam.add_choice_question('下列哪个是质数?', ['4', '6', '7', '9'], 'C', 2)
exam.add_fill_blank('12的平方根是____', '±2√3', 2)
exam.add_true_false('0是最小的自然数', '×', 1)
exam.add_calculation('计算:2x + 5 = 13,求x的值', 'x = 4', 10)

exam.save('/path/to/output')

试卷格式标准

试卷结构

┌─────────────────────────────────────────────────────────┐
│  2026年春季期中考试                                      │
│  数学 · 初中一年级                                       │
│  考试时间:90分钟 · 满分:100分                          │
└─────────────────────────────────────────────────────────┘

姓名:__________ 班级:__________ 学号:__________

一、选择题(每题2分,共20分)

1. 下列哪个是质数?
   A. 4    B. 6    C. 7    D. 9

二、填空题(每题2分,共20分)

1. 12的平方根是__________

三、计算题(共60分)

1. 解方程:2x + 5 = 13(10分)

使用示例

生成数学试卷

User: "帮我出一套初中一年级数学试卷,5道选择题,5道填空题,2道计算题"

Agent:
1. 搜索初中数学知识点
2. 生成试题
3. 验证答案
4. 排版输出

生成语文试卷

User: "生成一份小学三年级语文试卷,包含阅读理解"

Agent:
1. 搜索小学语文课程标准
2. 选择合适的阅读材料
3. 生成题目
4. 输出试卷

试题准确性保证

验证流程

生成试题
    ↓
搜索标准答案
    ↓
多源交叉验证
    ↓
标记置信度
    ↓
输出试题+答案

置信度标记

  • ✅ 高置信度:多源验证一致
  • ⚠️ 中置信度:单源验证
  • ❌ 低置信度:需要人工确认

Notes

  • 使用web search获取最新知识
  • 答案经过交叉验证
  • 支持中英文输出
  • 可直接打印

平台分布

OpenClaw

93.74%
按下载量换算4,241

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

权限未标注

当前来源未能明确判断权限范围,默认进入异常复核队列。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills