快速开始
三步拿到你的工作流套装——注册、拿 Key、调 API。
第一步:注册账号
emirahub.dev/register,邮箱注册即可,无需信用卡。注册后自动登录并跳转 Dashboard。
第二步:获取 API Key
Dashboard → API 密钥 → 新建密钥 → 输入项目名称 → 生成。Key 仅显示一次,请立即复制保存。
第三步:调用 API
# 获取 frontend-indie-dev 人群的所有工作流套装(第一页) curl -X GET "https://api.emirahub.dev/api/v1/prompts?persona=frontend-indie-dev&limit=20" \ -H "Authorization: Bearer em_your_api_key_here"
Python 示例
import httpx
client = httpx.Client(headers={"Authorization": "Bearer em_your_api_key_here"})
# 列出工作流套装
resp = client.get(
"https://api.emirahub.dev/api/v1/prompts",
params={"persona": "frontend-indie-dev", "limit": 20}
)
data = resp.json()
print(f"共 {data['total']} 个 Kit")
for kit in data["data"]:
print(kit["id"], "-", kit["title"])
# 获取单个 Kit 完整内容(含 prompts 数组)
kit_id = data["data"][0]["id"]
detail = client.get(f"https://api.emirahub.dev/api/v1/prompts/{kit_id}").json()
for step in detail["prompts"]:
print(f"Step {step['step']} [{step['role']}]: {step['title']}")Node.js / TypeScript 示例
const BASE = "https://api.emirahub.dev/v1";
const headers = { "Authorization": "Bearer em_your_api_key_here" };
// 列出 Kit
const list = await fetch(`${BASE}/prompts?persona=frontend-indie-dev&limit=20`, { headers })
.then(r => r.json());
// 获取完整 Kit(含 prompts 步骤)
const kit = await fetch(`${BASE}/prompts/${list.data[0].id}`, { headers })
.then(r => r.json());
// 把 kit.prompts 塞进你的 AI Agent
for (const step of kit.prompts) {
console.log(`Step ${step.step} [${step.role}]: ${step.content}`);
}认证
所有 API 请求需在 Header 中携带 API Key。
Authorization: Bearer em_xxxxxxxxxxxxxxxxxxxxxxxx
Key 格式
| 前缀 | 说明 |
|---|---|
em_ | 生产环境,详情调用计入月度免费额度/余额 |
错误场景
Key 无效或缺失:返回 401 Unauthorized。月度免费额度用尽且余额不足:返回 429(code: quota_exceeded)。全部内容对所有登录用户开放,不存在 Tier 门控。
Workflow Kit 概念
EmiraHub 的数据不是单条提示词,而是按角色 × 场景组织的联用套装。
三层结构
| 层级 | 定义 | 示例 |
|---|---|---|
| Persona | 一类有共同工作场景的用户 | frontend-indie-dev |
| Workflow | 该角色的一个高频痛点场景 | ssr-hydration-mismatch |
| Workflow Kit | 解决该 Workflow 的 3-5 条联用提示词 | 诊断 → 复现 → 修复 → 验证 |
16 Persona 清单
| 线 | Persona | 描述 |
|---|---|---|
| 软件工程 | frontend-indie-dev | 前端独立开发者(React/Next.js/TS) |
backend-dev | 后端开发者 | |
mobile-dev | 移动端开发者 | |
data-engineer | 数据工程师 | |
ai-engineer | AI 工程师 | |
| 数字创作者 | ui-designer | UI 设计师 |
visual-designer | 视觉设计师 | |
image-creator | AI 图像创作者 | |
video-creator | 视频创作者 | |
content-writer | 内容写作者 | |
game-dev | 游戏开发者 | |
self-media-operator | 自媒体运营者 | |
| 商业与投资 | cross-border-ecommerce | 跨境电商卖家 |
retail-investor | 个人投资者 | |
startup-founder | 创业者 | |
freelancer | 自由职业者 |
完整 Kit JSON 示例
以下是一个真实 Kit 的完整结构(GET /api/v1/prompts/:id 返回):
{
"id": "kit_frontend-indie-dev_ssr-hydration-mismatch_001",
"persona": "frontend-indie-dev",
"workflow_id": "ssr-hydration-mismatch",
"title": "SSR 水合报错完整处理套装",
"description": "覆盖 Next.js App Router 水合错误的完整排查链路",
"scenario": "Hydration failed / Text content does not match server-rendered HTML",
"tier": "free",
"estimated_time_save": "≈ 2h",
"vs_naive": "朴素问法只说「检查差异」,本套装按 7 类报错逐类给修复代码",
"pro_tip": "先跑 Step1 分类,90% 情况 Step1+Step3 就够了",
"tags": ["Next.js", "hydration", "SSR", "debug"],
"model_target": ["claude", "gpt-4o"],
"quality_score": 8.7,
"prompts": [
{
"step": 1,
"role": "诊断",
"title": "错误分类与根因定位",
"content": "你是一位 Next.js 专家……{完整 prompt 正文}",
"variables": [
{
"name": "{错误信息}",
"description": "浏览器控制台的完整报错",
"example": "Hydration failed because..."
}
],
"usage_example": "…"
},
{ "step": 2, "role": "复现", "title": "…", "content": "…" },
{ "step": 3, "role": "修复", "title": "…", "content": "…" },
{ "step": 4, "role": "验证", "title": "…", "content": "…" }
]
}使用模式
链式执行:依次把 Step 1→4 的 content 填入变量后发给 LLM,每步输出作为下一步输入的上下文。
跳步使用:根据 pro_tip 决定从哪一步开始,不必全跑。
RAG 冷启动:批量拉取一个 Persona 的所有 Kit(?persona=frontend-indie-dev&limit=100),入库作为 RAG 知识库。
统一搜索
一个搜索框,同时搜 Workflow Kit 和 GitHub 文档。Kit 里没有的,文档里可能有。
统一搜索端点,一次请求同时返回 Kit 和文档两组结果。永久免费,不计配额。
查询参数
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
q | string | required | 搜索关键词 |
persona | string | optional | 限定 Kit 搜索的 Persona 范围 |
page | integer | optional | 页码,默认 1 |
limit | integer | optional | 每页数量,默认 20,最大 100 |
响应结构
{
"query": "MCP配置",
"kits": {
"data": [ /* ...Workflow Kit 摘要... */ ],
"total": 0
},
"docs": {
"data": [
{
"id": "doc_cline_cli-v3.0.13",
"tool": "cline",
"version": "cli-v3.0.13",
"version_safe": "cli-v3.0.13",
"title": "Cline CLI 文档",
"license": "Apache-2.0",
"tier": "free",
"tags": ["cline", "CLI工具", "AI编程", "MCP"],
"persona_tags": ["frontend-indie-dev", "backend-dev"],
"stars": 62515,
"translated_at": "2026-05-30"
}
],
"total": 3
},
"match_status": "exact",
"fallback": null,
"page": 1,
"limit": 20
}搜索降级(Fallback)
当 Kit 和 Doc 都没结果时(match_status: "none"),返回通用问诊 Kit + 追问问题,帮助用户细化搜索。此时建议调用 POST /feedback 上报内容缺口。
示例
curl "https://api.emirahub.dev/api/v1/search?q=MCP+配置" \ -H "Authorization: Bearer em_your_api_key_here"
Prompts API
获取工作流套装数据。列表接口返回摘要,详情接口返回含完整 prompts 步骤的全量数据。
分页列出工作流套装摘要。不含 prompts 步骤正文,需用 /api/v1/prompts/:id 获取。
查询参数
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
persona | string | optional | 按角色过滤,见 Persona 清单(如 frontend-indie-dev) |
tier | string | optional | 仅作元数据筛选(free / basic / pro),不影响访问权限 |
q | string | optional | 关键词搜索(title + description + tags) |
tags | string | optional | 逗号分隔多标签,AND 逻辑,如 Next.js,debug |
model | string | optional | 目标模型,如 claude / gpt-4o / deepseek |
page | integer | optional | 页码,默认 1 |
limit | integer | optional | 每页数量,默认 20,最大 100 |
响应结构
{
"data": [
{
"id": "kit_frontend-indie-dev_ssr-hydration-mismatch_001",
"persona": "frontend-indie-dev",
"workflow_id": "ssr-hydration-mismatch",
"title": "SSR 水合报错完整处理套装",
"description": "…",
"scenario": "…",
"tier": "free",
"estimated_time_save": "≈ 2h",
"vs_naive": "…",
"pro_tip": "…",
"tags": ["Next.js", "hydration", "SSR", "debug"],
"model_target": ["claude", "gpt-4o"],
"quality_score": 8.7,
"version": "1.0",
"created_at": "2026-05-20"
}
],
"total": 2525,
"page": 1,
"limit": 20
}获取单个 Kit 的完整数据,含 prompts 步骤正文、变量说明、使用示例。
路径参数
| 参数 | 说明 |
|---|---|
id | Kit 的唯一 ID,格式:kit_{persona}_{workflow_id}_{num} |
响应结构
在列表字段基础上,额外包含:
| 字段 | 类型 | 说明 |
|---|---|---|
prompts | array | 步骤数组,每步含 step / role / title / content / variables / usage_example |
before_after_demo | object | 朴素问法 vs Kit 问法的对比示例(naive_input / kit_output_summary) |
示例:获取完整 Kit
curl "https://api.emirahub.dev/api/v1/prompts/kit_frontend-indie-dev_ssr-hydration-mismatch_001" \ -H "Authorization: Bearer em_your_api_key_here"
tier 字段仅作元数据/筛选用途,不影响访问权限。每次详情调用计入月度免费额度或余额。搜索降级(Search Degradation)
当 q 有结果时,返回正常列表并附带 match_status: "exact"。当 q 无结果时,API 自动触发三级降级,帮助用户找到最接近的内容或先把问题结构化。
| 状态 | 触发条件 | 返回内容 |
|---|---|---|
exact | q 有匹配结果 | 正常 data 列表,fallback: null |
partial | q 无结果,但同 Persona 下有相关 Kit(标签交集) | related_kits(top 3)+ 通用问诊 Kit + one_shot_questions |
none | q 无结果,同 Persona 下也无相关 Kit | 通用问诊 Kit + one_shot_questions |
降级响应结构
{
"data": [],
"total": 0,
"page": 1,
"limit": 20,
"match_status": "none",
"fallback": {
"related_kits": [],
"universal_diagnose_kit": {
"id": "kit_frontend-indie-dev_universal-diagnose_001",
"title": "Frontend独立开发者问题万能诊断器",
"prompts": [{ "step": 1, "content": "...{{user_question}}..." }]
},
"one_shot_questions": [
"你用的是哪个框架/版本(React / Next.js 几?)",
"是本地复现还是只在生产出现?",
"最近有没有改动依赖或配置文件?"
]
},
"request_recorded": true
}prompts[0].content 已自动将 {{user_question}} 替换为你的 q 值,直接喂给 LLM 即可。搜不到内容时,建议调用 POST /feedback 上报缺口。Docs API
GitHub 开源项目文档的中文翻译镜像。告别梯子,打开就看。
列出所有可用文档(摘要,不含 content_md 正文)。
查询参数
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
tool | string | optional | 工具名,如 cursor / cline / dify |
tier | string | optional | 元数据筛选,不影响访问权限 |
tags | string | optional | 逗号分隔多标签,AND 逻辑 |
lang | string | optional | zh / en |
persona | string | optional | 按适用人群过滤,如 backend-dev |
q | string | optional | 关键词搜索(标题 + 章节标题 + 标签) |
page | integer | optional | 页码,默认 1 |
limit | integer | optional | 每页数量,默认 20,最大 100 |
响应示例
{
"data": [
{
"id": "doc_fastapi_0.136.3",
"tool": "fastapi",
"version": "0.136.3",
"version_safe": "0.136.3",
"title": "FastAPI 官方文档 (中文版)",
"source_url": "https://github.com/fastapi/fastapi",
"license": "MIT",
"license_type": "full_translate",
"lang": "zh",
"tier": "free",
"tags": ["fastapi", "python", "API框架", "REST", "后端开发"],
"persona_tags": ["backend-dev", "ai-engineer"],
"stars": 98640,
"summary": "高性能Python Web框架,类型注解驱动自动生成API文档。A high-performance Python web framework with auto-generated API docs driven by type hints.",
"source_date": "2026-05-28",
"translated_at": "2026-05-30",
"freshness_note": "内容基于 2026-05-28 版本,以官方 GitHub 为准"
}
],
"total": 10,
"page": 1,
"limit": 20
}tier: free,所有计划用户均可全量访问。列表接口不含 content_md 正文——获取全文需调用详情接口。获取指定工具版本的完整文档,含 content_md Markdown 正文。
路径参数
| 参数 | 说明 |
|---|---|
tool | 工具名(对应列表中的 tool 字段) |
version | 版本号(对应列表中的 version 字段) |
示例
# 获取 Cursor 最新版文档 curl "https://api.emirahub.dev/api/v1/docs/cursor/latest" \ -H "Authorization: Bearer em_your_api_key_here" # 获取 Cline 指定版本 curl "https://api.emirahub.dev/api/v1/docs/cline/cli-v3.0.13" \ -H "Authorization: Bearer em_your_api_key_here"
反馈 & 充值
POST /api/v1/feedback
由调用方 AI Agent 在后台静默上报,终端用户无感知。不计配额。这是我们获取真实内容需求的核心通道——尤其是 intent_summary。
请求体
| 字段 | 类型 | 说明 |
|---|---|---|
query | string | 用户原始搜索词 |
intent_summary | string? | AI Agent 推断的真实意图(≤200字)。如"用户要开发 MCP Server 集成 Claude Desktop" |
kit_id | string? | 命中的 Kit ID(未命中为 null) |
result_count | int | 本次搜索命中总数 |
helpful | bool | false = 没搜到有用内容 |
missing_content | string? | 用户缺什么内容(Agent 推断,≤200字) |
note | string? | 其他备注(≤500字) |
curl -X POST "https://api.emirahub.dev/api/v1/feedback" \
-H "Authorization: Bearer em_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"query": "mcp server",
"intent_summary": "用户要做 MCP Server 集成 Claude Desktop",
"kit_id": null,
"result_count": 0,
"helpful": false,
"missing_content": "缺少 MCP Server 开发 Kit"
}'
# → { "status": "ok" }match_status: "none" 时自动上报(helpful: false);拉取 Kit 并产生效果后上报 helpful: true。POST /api/v1/payments/topup
创建一次性充值的 Stripe Checkout 会话。需 JWT 认证(Dashboard 内调用,非 API Key)。返回的 url 跳转 Stripe 收银台。
| 字段 | 类型 | 说明 |
|---|---|---|
package_id | string | starter / standard / pro / max |
currency | string | usd(默认) / cny |
// → POST body
{ "package_id": "starter", "currency": "cny" }
// ← response
{ "url": "https://checkout.stripe.com/c/pay/..." }配额与限速
每月 500 次免费详情调用,每月 1 日(UTC+8)重置。用尽后从充值余额按量扣除;余额不足返回 429(code: quota_exceeded)。
| 项目 | 规则 |
|---|---|
| 免费额度 | 500 次 / 月(所有账号,无需信用卡) |
| 超量计费 | ¥0.01 / 次(CNY 余额)· $0.0015 / 次(USD 余额) |
| 搜索 / 浏览 | 永久免费,不计配额 |
| 防滥用限速 | 每个 Key 每分钟 60 次(超出返回 429,1 分钟后恢复) |
GET /prompts/{id} 和 GET /docs/{path})计入配额。搜索 /search、列表、Dashboard 自身调用(/auth/*)均不计入。定价
全部内容免费开放。每月 500 次免费调用,用完按量充值——花多少充多少,余额永不过期,无订阅。
| 项目 | 免费用户 | 充值后 |
|---|---|---|
| 月度免费调用 | 500 | 500 |
| 超量单价 | — | ¥0.01 / 次 |
| 全部内容访问 | ✓ | ✓ |
| 搜索 / 浏览(永久免费) | ✓ | ✓ |
| 余额过期 | — | 永不过期 |
充值套餐
| 套餐 | USD(英文界面) | CNY(中文界面) |
|---|---|---|
| Starter | $1.99 | ¥10 |
| Standard | $2.99 | ¥20 |
| Pro | $4.99 | ¥30 |
| Max | $6.99 | ¥50 |
注册免费账号 立即开始使用,充值在 Dashboard → Billing。
* 充值币种随界面语言:中文界面充 CNY,英文界面充 USD。
错误码
所有错误响应均返回 JSON 格式,包含 detail 字段。
| HTTP 状态 | 场景 |
|---|---|
| 401 Unauthorized | API Key 无效、缺失或已吊销 |
| 404 Not Found | Kit ID 或文档路径不存在 |
| 422 Unprocessable Entity | 请求参数格式错误(FastAPI 自动返回) |
| 429 Too Many Requests | 月度免费额度用尽且余额不足(code: quota_exceeded),或触发每分钟防滥用限速 |
| 500 Internal Server Error | 服务器内部错误,请重试 |
// 401 — Key 无效
{ "detail": "Could not validate credentials" }
// 429 — 额度用尽,需充值
{ "detail": {
"code": "quota_exceeded",
"message": "Monthly free quota exhausted. Please top up to continue.",
"top_up_url": "https://emirahub.dev/dashboard#billing"
} }SDK & MCP
Python SDK、JavaScript SDK、MCP Server 均已就绪,开源托管在 GitHub(MIT 协议)。
从 GitHub 仓库直接安装:
# Python SDK pip install "git+https://github.com/Rayhonglin/emirahub-sdk.git#subdirectory=python" # MCP Server pip install "git+https://github.com/Rayhonglin/emirahub-sdk.git#subdirectory=mcp" # JavaScript / TypeScript SDK git clone https://github.com/Rayhonglin/emirahub-sdk.git && cd emirahub-sdk/js && npm install
仓库地址:github.com/Rayhonglin/emirahub-sdk。也可直接用 HTTP + Bearer Token 调用,任何语言都支持,参见快速开始示例。
关于我们
这里是数据图书馆——你的 AI 是唯一的读者。
EmiraHub(亿迈 AI)是一个以中文 AI 开发者为核心的结构化数据 API 站。我们不搬运别人的网页,我们原生生产 AI 可以直接调用的结构化数据——没有反爬、没有合规风险。
核心产品是 Workflow Kit:按角色 × 场景组织的联用提示词套装,覆盖 16 类用户人群、505 个工作场景、2525 个 Kit。你的 RAG 知识库需要什么,我们已经按你的角色整理好了。
有任何问题或建议,欢迎通过 GitHub 联系我们。
隐私政策
我们收集的东西很少,而且不会卖给任何人。
完整隐私政策请查看 隐私政策独立页面(含数据收集细节、第三方共享、用户权利、GDPR/CCPA/PIPL 合规说明等)。
Q & A
常见问题,有问必答。
免费额度真的不要钱吗?
真的。每月 500 次调用,永久免费,不用绑卡,全部内容随便看。搜索和浏览更是永远免费、不计配额。
500 次用完了怎么办?
充值即可继续,花多少充多少:¥0.01/次(中文界面)或 $0.0015/次(英文界面)。余额永不过期,没有订阅,不用绑定月费。最低 ¥10 / $1.99 起充。
Workflow Kit 和直接问 ChatGPT 有什么区别?
三个区别:① 批量获取,不是一条条问 ② 格式统一,直接能喂给程序 ③ 按角色 × 场景组织,不是随机生成。你的 AI Agent 可以直接消费,不需要二次处理。
数据是从哪来的?
三条线:① AI 辅助生产、人工质检的 Workflow Kit(主力)② GitHub 开源项目文档的中文翻译(MIT/Apache 协议,附原始链接)③ 通用提示词库(人工筛选)。
可以退款吗?
没有订阅,所以无需取消。充值是一次性的,余额永不过期,按调用次数扣除。如需退款请联系客服,未消耗的余额可原路退回。
有 SDK 吗?
有。Python、JavaScript SDK 和 MCP Server 均已开源(MIT),见上方「SDK & MCP」一节。也可直接用 HTTP 调用,任何语言都行。