快速开始

三步拿到你的工作流套装——注册、拿 Key、调 API。

第一步:注册账号

emirahub.dev/register,邮箱注册即可,无需信用卡。注册后自动登录并跳转 Dashboard。

第二步:获取 API Key

Dashboard → API 密钥 → 新建密钥 → 输入项目名称 → 生成。Key 仅显示一次,请立即复制保存。

第三步:调用 API

bash
# 获取 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 示例

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 示例

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。

http header
Authorization: Bearer em_xxxxxxxxxxxxxxxxxxxxxxxx
API Key 仅在创建时显示一次,请立即复制保存。遗失需重新生成。

Key 格式

前缀说明
em_生产环境,详情调用计入月度免费额度/余额

错误场景

Key 无效或缺失:返回 401 Unauthorized。月度免费额度用尽且余额不足:返回 429code: 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-engineerAI 工程师
数字创作者ui-designerUI 设计师
visual-designer视觉设计师
image-creatorAI 图像创作者
video-creator视频创作者
content-writer内容写作者
game-dev游戏开发者
self-media-operator自媒体运营者
商业与投资cross-border-ecommerce跨境电商卖家
retail-investor个人投资者
startup-founder创业者
freelancer自由职业者
每个 Persona 均有至少一个免费工作流套装可直接体验。Persona 持续增加中。

完整 Kit JSON 示例

以下是一个真实 Kit 的完整结构(GET /api/v1/prompts/:id 返回):

json
{
  "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 知识库。

Prompts API

获取工作流套装数据。列表接口返回摘要,详情接口返回含完整 prompts 步骤的全量数据。

GET/api/v1/prompts

分页列出工作流套装摘要。不含 prompts 步骤正文,需用 /api/v1/prompts/:id 获取。

查询参数

参数类型必须说明
personastringoptional按角色过滤,见 Persona 清单(如 frontend-indie-dev
tierstringoptional仅作元数据筛选(free / basic / pro),不影响访问权限
qstringoptional关键词搜索(title + description + tags)
tagsstringoptional逗号分隔多标签,AND 逻辑,如 Next.js,debug
modelstringoptional目标模型,如 claude / gpt-4o / deepseek
pageintegeroptional页码,默认 1
limitintegeroptional每页数量,默认 20,最大 100

响应结构

json
{
  "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
}
GET/api/v1/prompts/:id

获取单个 Kit 的完整数据,含 prompts 步骤正文、变量说明、使用示例。

路径参数

参数说明
idKit 的唯一 ID,格式:kit_{persona}_{workflow_id}_{num}

响应结构

在列表字段基础上,额外包含:

字段类型说明
promptsarray步骤数组,每步含 step / role / title / content / variables / usage_example
before_after_demoobject朴素问法 vs Kit 问法的对比示例(naive_input / kit_output_summary

示例:获取完整 Kit

bash
curl "https://api.emirahub.dev/api/v1/prompts/kit_frontend-indie-dev_ssr-hydration-mismatch_001" \
  -H "Authorization: Bearer em_your_api_key_here"
所有 Kit 对所有登录用户完全开放,不存在 Tier 门控。响应中的 tier 字段仅作元数据/筛选用途,不影响访问权限。每次详情调用计入月度免费额度或余额。

搜索降级(Search Degradation)

q 有结果时,返回正常列表并附带 match_status: "exact"。当 q 无结果时,API 自动触发三级降级,帮助用户找到最接近的内容或先把问题结构化。

状态触发条件返回内容
exactq 有匹配结果正常 data 列表,fallback: null
partialq 无结果,但同 Persona 下有相关 Kit(标签交集)related_kits(top 3)+ 通用问诊 Kit + one_shot_questions
noneq 无结果,同 Persona 下也无相关 Kit通用问诊 Kit + one_shot_questions

降级响应结构

json
{
  "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
}
通用问诊 Kit 的 prompts[0].content 已自动将 {{user_question}} 替换为你的 q 值,直接喂给 LLM 即可。搜不到内容时,建议调用 POST /feedback 上报缺口。

Docs API

GitHub 开源项目文档的中文翻译镜像。告别梯子,打开就看。

GET/api/v1/docs

列出所有可用文档(摘要,不含 content_md 正文)。

查询参数

参数类型必须说明
toolstringoptional工具名,如 cursor / cline / dify
tierstringoptional元数据筛选,不影响访问权限
tagsstringoptional逗号分隔多标签,AND 逻辑
langstringoptionalzh / en
personastringoptional按适用人群过滤,如 backend-dev
qstringoptional关键词搜索(标题 + 章节标题 + 标签)
pageintegeroptional页码,默认 1
limitintegeroptional每页数量,默认 20,最大 100

响应示例

json
{
  "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
}
GitHub 文档全部为 tier: free,所有计划用户均可全量访问。列表接口不含 content_md 正文——获取全文需调用详情接口。
GET/api/v1/docs/:tool/:version

获取指定工具版本的完整文档,含 content_md Markdown 正文。

路径参数

参数说明
tool工具名(对应列表中的 tool 字段)
version版本号(对应列表中的 version 字段)

示例

bash
# 获取 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

请求体

字段类型说明
querystring用户原始搜索词
intent_summarystring?AI Agent 推断的真实意图(≤200字)。如"用户要开发 MCP Server 集成 Claude Desktop"
kit_idstring?命中的 Kit ID(未命中为 null)
result_countint本次搜索命中总数
helpfulboolfalse = 没搜到有用内容
missing_contentstring?用户缺什么内容(Agent 推断,≤200字)
notestring?其他备注(≤500字)
bash
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_idstringstarter / standard / pro / max
currencystringusd(默认) / cny
json — 请求 / 响应
// → POST body
{ "package_id": "starter", "currency": "cny" }

// ← response
{ "url": "https://checkout.stripe.com/c/pay/..." }

配额与限速

每月 500 次免费详情调用,每月 1 日(UTC+8)重置。用尽后从充值余额按量扣除;余额不足返回 429code: quota_exceeded)。

项目规则
免费额度500 次 / 月(所有账号,无需信用卡)
超量计费¥0.01 / 次(CNY 余额)· $0.0015 / 次(USD 余额)
搜索 / 浏览永久免费,不计配额
防滥用限速每个 Key 每分钟 60 次(超出返回 429,1 分钟后恢复)
详情调用GET /prompts/{id}GET /docs/{path})计入配额。搜索 /search、列表、Dashboard 自身调用(/auth/*)均不计入。

定价

全部内容免费开放。每月 500 次免费调用,用完按量充值——花多少充多少,余额永不过期,无订阅。

项目免费用户充值后
月度免费调用500500
超量单价¥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 UnauthorizedAPI Key 无效、缺失或已吊销
404 Not FoundKit ID 或文档路径不存在
422 Unprocessable Entity请求参数格式错误(FastAPI 自动返回)
429 Too Many Requests月度免费额度用尽且余额不足(code: quota_exceeded),或触发每分钟防滥用限速
500 Internal Server Error服务器内部错误,请重试
json — 错误响应示例
// 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 仓库直接安装:

bash
# 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 调用,任何语言都行。