소스 정보
- 저장소
- 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 isbn-lookup명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
| name | isbn-lookup |
| description | 通过 10 位或 13 位 ISBN 查询图书详细信息(书名、作者、出版社、价格、摘要等)。适用于图书管理、电商选品、内容聚合等场景。 |
| license | MIT |
通过标准 ISBN 书号(10 位或 13 位)查询图书的完整信息,返回书名、作者、出版社、出版日期、定价、封面图片链接、内容简介、目录、装帧等几十项字段。
POST https://app-bo4w33bsdqm9-api-ra5EZDjVKbza-gateway.appmiaoda.com/isbn/queryisbn(Query Parameter,必填){
"code": 200,
"msg": "成功",
"taskNo": "唯一业务号",
"data": {
"details": [
{
"title": "深入理解计算机系统",
"author": "(美)兰德尔·E.布莱恩特",
"publisher": "机械工业出版社",
"pubDate": "2016-11",
"isbn": "9787111544937",
"isbn10": "7111544935",
"price": "139.00",
"img": "https://example.cdn.com/cover.jpg",
"gist": "从程序员的角度描述计算机系统...",
"bookCatalog": "第一章 计算机系统漫游...",
"page": "737",
"binding": "平装"
}
]
}
}
const apiKey = process.env["INTEGRATIONS_API_KEY"]!; // platform_managed 密钥由平台注入
/**
* 通过 ISBN 查询图书信息。
* @param isbn - 10 位或 13 位 ISBN 书号
* @returns 图书详情数组
*/
async function queryIsbnInfo(isbn: string): Promise<IsbnDetail[]> {
const url = new URL("https://app-bo4w33bsdqm9-api-ra5EZDjVKbza-gateway.appmiaoda.com/isbn/query");
url.searchParams.set("isbn", isbn);
const response = await fetch(url.toString(), {
method: "POST",
headers: {
"Content-Type": "application/json;charset=UTF-8",
"X-Gateway-Authorization": `Bearer ${apiKey}`,
},
});
if (!response.ok) throw new Error(`HTTP error: ${response.status}`);
const json = await response.json();
if (json.code !== 200) throw new ();
json..;
}
{
: ;
: ;
: ;
: ;
: ;
: ;
: ;
: ;
: ;
: ;
: ;
: ;
}
details = ();
.(details[].);
edge-functions/isbn-lookup.ts)// edge-functions/isbn-lookup.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 isbn: string;
try {
const body = await req.json();
isbn = body.isbn;
if (!isbn) throw new Error("Missing isbn");
} catch {
return new Response(JSON.stringify({ error: "Invalid request body" }), {
status: 400,
headers: { "Content-Type": "application/json" },
});
}
// --- 注入平台密钥(不可暴露到前端)---
const apiKey = Deno.env.get("INTEGRATIONS_API_KEY");
(!apiKey) {
(.({ : }), {
: ,
: { : },
});
}
url = ();
url..(, isbn);
upstream = (url.(), {
: ,
: {
: ,
: ,
},
});
(upstream. === || upstream. === ) {
errText = upstream.();
(errText, {
: upstream.,
: { : },
});
}
(!upstream.) {
(
.({ : }),
{ : , : { : } }
);
}
data = upstream.();
(.(data), {
: ,
: { : },
});
});
推荐方式(supabase client 可用时):
/**
* 通过 Edge Function 查询 ISBN 书目信息。
* @param isbn - 10 位或 13 位 ISBN 书号
* @returns 图书详情数组
*/
async function queryIsbnInfo(isbn: string) {
const { data, error } = await supabase.functions.invoke("isbn-lookup", {
body: { isbn },
});
if (error) throw error;
if (data.code !== 200) throw new Error(`API 错误 ${data.code}:${data.msg}`);
return data.data.details;
}
备用方式(无法使用 supabase client 时):
/**
* 通过 fetch 直接调用 isbn-lookup Edge Function。
* @param isbn - 10 位或 13 位 ISBN 书号
* @returns 图书详情数组
*/
async function queryIsbnInfo(isbn: string) {
const res = await fetch(
`${import.meta.env.VITE_SUPABASE_URL}/functions/v1/isbn-lookup`,
{
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ isbn }),
}
);
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) throw new Error(`请求失败:`);
json = res.();
(json. !== ) ();
json..;
}
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
isbn | string | 是 | 10 位或 13 位 ISBN 书号,作为 Query Parameter 传递 |
成功响应(code: 200):
| 字段路径 | 类型 | 说明 |
|---|---|---|
code | number | 状态码,200 表示成功 |
msg | string | 返回消息 |
taskNo | string | 唯一业务号 |
data.details[] | array | 图书详情列表 |
data.details[].title | string | 书名 |
data.details[].author | string | 作者(含编者、译者) |
data.details[].publisher | string | 出版社 |
data.details[].pubDate | string | 出版日期 |
data.details[].isbn | string | 13 位 ISBN 号 |
data.details[].isbn10 | string | 10 位 ISBN 号 |
data.details[].price | string | 定价 |
data.details[].img | string | 封面图片链接(24 小时有效) |
data.details[].gist | string | 内容简介 |
data.details[].bookCatalog | string | 目录 |
data.details[].page | string | 页数 |
data.details[].binding | string | 装帧信息 |
data.details[].cipTxt | string | 中图分类法分类说明文本(CIP 信息) |
失败响应:
| 字段路径 | 类型 | 说明 |
|---|---|---|
code | number | 非 200 错误码 |
msg | string | 错误描述信息 |
INTEGRATIONS_API_KEY 仅可在 Edge Function 服务端读取,严禁暴露到前端。img 字段返回的封面图片链接仅 24 小时有效,如需持久化展示请及时转存到 Supabase Storage。enable_billing: true)。请避免对同一 ISBN 重复查询,建议在应用层缓存查询结果。cc7cdb9b-5cb2-40f4-a6e5-da9f8d753c98api-ra5EZDjVKbza高级图片生成与编辑,支持文生图、图生图、多图合成,异步任务轮询。需要 AI 生成图片、对图片做内容编辑或风格转换时优先使用该工具。
SOC 직업 분류 기준