ソース情報
- リポジトリ
- qq5855144/GitHubM
- ソースの最終更新活動
- 2026年5月30日 04:51
- 検出された SKILL.md の言語
- 中国語
- スター
- 24
- フォーク
- 5
インストール方法
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
ソースファイルを確認
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
メニュー
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
直接コマンドでは確認用 Prompt が省略されます。実行前にソースを確認してください。
npx skills add https://github.com/qq5855144/GitHubM --skill driving-exam-questionsコマンドは1行のまま表示されます。コピー前に横へスクロールして全体を確認してください。
ローカルで確認しますか?SkillsMP が現在取得できるファイルをダウンロードできます。
调用百度通用文字识别高精度版 OCR,对图片全部文字内容进行高精度检测识别,支持中英日韩等 20+ 语种,适用于文档数字化、多语言文本提取场景。
高级图片生成与编辑,支持文生图、图生图、多图合成,异步任务轮询。需要 AI 生成图片、对图片做内容编辑或风格转换时优先使用该工具。
图片生成与编辑(超级版),调用 GPT-Image-2 模型生成和编辑图片。需要 AI 画图、生成图片、编辑图片、多图融合、背景替换、风格转换、电商商品图合成、海报设计、插画创作时优先使用该工具。
SOC 職業分類に基づく
SKILL.md を表示中
| name | driving-exam-questions |
| description | 驾考题库查询,获取科目一/科目四题目(含选项、答案、解析),支持按车型、章节、分页、随机排序筛选。适合驾考备考辅助和题目练习场景。 |
| license | MIT |
查询驾驶员考试题库,覆盖科目一和科目四,支持按车型(A1/A2/A3/B1/B2/C1/C2/C3/D/E/F)、章节、排序方式进行筛选,提供分页功能。 每道题目包含完整题目文本、四个选项(判断题选项为空)、正确答案及答案解析,可选带题目图片。
POST https://app-bo4w33bsdqm9-api-o9wN0mk1DAPa-gateway.appmiaoda.com/driverexam/query响应示例:
{
"status": 0,
"msg": "ok",
"result": {
"total": "950",
"pagenum": "1",
"pagesize": "3",
"subject": "1",
"type": "C1",
"sort": "normal",
"list": [
{
"question": "未取得驾驶证的学员在道路上学习驾驶技能,下列哪种做法是正确的?",
"option1": "A、使用所学车型的教练车由教练员随车指导",
"option2": "B、使用所学车型的教练车单独驾驶学习",
"option3": "C、使用私家车由教练员随车指导",
"option4": "D、使用所学车型的教练车由非教练员的驾驶人随车指导",
"answer": "A",
"explain": "《公安部令第123号》规定:未取得驾驶证的学员在道路上学习驾驶技能,使用所学车型的教练车由教练员随车指导。",
"pic": "",
"type": "C1,C2,C3"
}
]
}
}
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
type | string | 是 | C1 | 题目类型,可选值:A1, A3, B1, A2, B2, C1, C2, C3, D, E, F |
subject | string | 否 | 1 | 科目类别:1 为科目一,4 为科目四 |
pagesize | string | 否 | 1 | 每页数量 |
pagenum | string | 否 | — | 当前页数 |
sort | string | 否 | normal | 排序方式:normal 正常排序,rand 随机排序 |
chapter | string | 否 | — | 章节:科目一为 1-4,科目四为 1-7 |
| 字段路径 | 类型 | 说明 |
|---|---|---|
status | integer | 状态码,0 表示成功 |
msg | string | 返回消息,成功时为 ok |
result.total | string | 符合条件的题目总数 |
result.pagenum | string | 当前页码 |
result.pagesize | string | 每页数量 |
result.subject | string | 科目类别 |
result.type | string | 题目类型 |
result.sort | string | 排序方式 |
result.list | array | 题目列表 |
result.list[].question | string | 题目内容 |
result.list[].option1 | string | 选项 A(判断题为空) |
result.list[].option2 | string | 选项 B(判断题为空) |
result.list[].option3 | string | 选项 C(判断题为空) |
result.list[].option4 | string | 选项 D(判断题为空) |
result.list[].answer | string | 正确答案(选择题为字母,判断题为"对"/"错") |
result.list[].explain | string | 答案解析 |
result.list[].pic | string | 题目图片 URL,无图片时为空字符串 |
result.list[].type | string | 适用车型,逗号分隔 |
const apiKey = process.env["INTEGRATIONS_API_KEY"]!; // platform_managed 密钥由平台注入
interface ExamQuestion {
question: string;
option1: string;
option2: string;
option3: string;
option4: string;
answer: string;
explain: string;
pic: string;
type: string;
}
interface ExamQueryResult {
total: string;
pagenum: string;
pagesize: string;
subject: string;
type: string;
sort: string;
list: ExamQuestion[];
}
/**
* 查询驾考题库,返回分页后的题目列表。
*
* @param type - 题目类型,必填,如 "C1"、"B2" 等
* @param subject - 科目类别,"1" 为科目一,"4" 为科目四,默认 "1"
* @param pagesize - 每页数量,默认 "1"
* @param pagenum - 当前页数,不传则取第一页
* @param sort - 排序方式,"normal" 或 "rand",默认 "normal"
* @param chapter - 章节,科目一为 1-4,科目四为 1-7
* 题目列表及分页信息
*/
(): <> {
params = ({ });
(subject) params.(, subject);
(pagesize) params.(, pagesize);
(pagenum) params.(, pagenum);
(sort) params.(, sort);
(chapter) params.(, chapter);
response = (
,
{
: ,
: {
: ,
: ,
},
},
);
(!response.) ();
json = response.();
(json. !== ) ();
json.;
}
result = (, , , , );
.();
( q result.) {
.();
.();
}
// edge-functions/driving-exam-questions.ts
import { serve } from "https://deno.land/std/http/server.ts";
serve(async (req: Request): Promise<Response> => {
if (req.method !== "POST") {
return new Response("Method Not Allowed", { status: 405 });
}
// --- 解析客户端请求 ---
let type: string;
let subject: string | undefined;
let pagesize: string | undefined;
let pagenum: string | undefined;
let sort: string | undefined;
let chapter: string | undefined;
try {
const body = await req.json();
type = body.type;
if (!type) throw new Error();
subject = body.;
pagesize = body.;
pagenum = body.;
sort = body.;
chapter = body.;
} {
(.({ : }), {
: ,
: { : },
});
}
apiKey = ..();
(!apiKey) {
(.({ : }), {
: ,
: { : },
});
}
params = ({ });
(subject) params.(, subject);
(pagesize) params.(, pagesize);
(pagenum) params.(, pagenum);
(sort) params.(, sort);
(chapter) params.(, chapter);
upstream = (
,
{
: ,
: {
: ,
: ,
},
},
);
(upstream. === || upstream. === ) {
errText = upstream.();
(errText, {
: upstream.,
: { : },
});
}
(!upstream.) {
(
.({ : }),
{ : , : { : } },
);
}
data = upstream.();
(.(data), {
: ,
: { : },
});
});
推荐方式(supabase client 可用时):
/**
* 通过 Edge Function 查询驾考题目。
*
* @param type - 题目类型,必填,如 "C1"
* @param options - 可选参数:subject、pagesize、pagenum、sort、chapter
* @returns 题目列表及分页信息
*/
async function fetchDrivingExamQuestions(
type: string,
options?: {
subject?: string;
pagesize?: string;
pagenum?: string;
sort?: string;
chapter?: string;
},
) {
const { data, error } = await supabase.functions.invoke("driving-exam-questions", {
body: { type, ...options },
});
if (error) throw error;
if (data.status !== 0) throw new Error(`API 错误 ${data.status}:${data.msg}`);
return data.result;
}
// 用法示例:获取 C1 科目一随机5道题
const result = await fetchDrivingExamQuestions("C1", { subject: "1", pagesize: "5", sort: "rand" });
备用方式(无法使用 supabase client 时):
async function fetchDrivingExamQuestions(
type: string,
options?: {
subject?: string;
pagesize?: string;
pagenum?: string;
sort?: string;
chapter?: string;
},
) {
const res = await fetch(
`${import.meta.env.VITE_SUPABASE_URL}/functions/v1/driving-exam-questions`,
{
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ type, ...options }),
},
);
if (res.status === 429) {
const err = await res.json();
throw new Error(`配额已用尽:${err.message ?? res.statusText}`);
}
if (res.status === 402) {
const err = await res.json();
throw new Error(`余额不足:${err.message ?? res.statusText}`);
}
if (!res.ok) ();
json = res.();
(json. !== ) ();
json.;
}
INTEGRATIONS_API_KEY 仅可在 Edge Function 服务端读取,严禁暴露到前端。pagesize 建议根据实际需求合理设置,避免过度拉取。option1~option4 均为空字符串,则该题为判断题,answer 值为 "对" 或 "错"。pic 字段在无配图题目时为空字符串,前端渲染前需做判空处理。